Commit Graph

61 Commits

Author SHA1 Message Date
Jonathan G Rennison
74686b9c63 Add an AsTicksT template cast with clamping to DateTicksScaledDelta
Implement AsTicks in terms of AsTicksT
2024-01-27 16:28:45 +00:00
Jonathan G Rennison
16b840d86e Increase DateTicks to 64 bits, fix overflow after year 79455 2024-01-09 00:13:28 +00:00
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
1100e83192 Date/time: Ensure clock-face conversions correct for negative TickMinutes 2024-01-06 17:37:09 +00:00
Jonathan G Rennison
03e0ec8276 Strong typedef: Use strong typedefs for date, date tick, minutes types
Add delta types
Adjust/add type conversion functions
Add various utility methods on types
Remove the various minute macros
Fix some minute conversion inconsistencies
2023-12-19 02:39:54 +00:00
Jonathan G Rennison
88670a230f Merge branch 'master' into jgrpp
# Conflicts:
#	src/articulated_vehicles.cpp
#	src/articulated_vehicles.h
#	src/base_media_base.h
#	src/base_media_func.h
#	src/build_vehicle_gui.cpp
#	src/dock_gui.cpp
#	src/main_gui.cpp
#	src/music_gui.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content.cpp
#	src/newgrf.cpp
#	src/newgrf_roadstop.cpp
#	src/os/windows/string_uniscribe.h
#	src/os/windows/win32.cpp
#	src/rail_gui.cpp
#	src/road.cpp
#	src/road_gui.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.cpp
#	src/strings.cpp
#	src/terraform_gui.cpp
#	src/tests/test_script_admin.cpp
#	src/tests/test_window_desc.cpp
#	src/timer/timer_game_calendar.h
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/viewport.cpp
#	src/widget_type.h
#	src/window.cpp
#	src/window_gui.h
2023-11-29 20:42:29 +00:00
Tyler Trahan
701a61c9af Codechange: Delete date_type.h 2023-09-10 08:40:25 -04:00
Tyler Trahan
77173a6a10 Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes 2023-09-10 08:40:25 -04:00
Tyler Trahan
fca2b37726 Codechange: Move Ticks into their own class 2023-09-10 08:40:25 -04:00
Patric Stout
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed (#10761) 2023-08-12 18:14:21 +00:00
Tyler Trahan
6190f48df0
Codechange: Add a DateToYear function instead of dividing each time (#11173) 2023-08-11 08:19:54 -04:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Patric Stout
97138acc8a
Codechange: make date-related variables constexpr (#11129)
This hints the compiler even more to result math-related questions
compile-time.
2023-07-12 13:15:24 +00:00
Jonathan G Rennison
37b8b59c85 Merge branch 'master' into jgrpp
# Conflicts:
#	src/date_type.h
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/saveload/saveload.h
#	src/table/settings/linkgraph_settings.ini
2023-05-22 19:50:45 +01:00
Jonathan G Rennison
5dd99fb046 Add setting for milliseconds per game tick mode 2023-05-22 18:40:46 +01:00
Tyler Trahan
98d809c33b
Codechange: Don't use macros for DAYS_TILL and friends (#10746) 2023-05-07 05:25:24 -04:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar (#10753) 2023-05-04 13:14:12 +00:00
Tyler Trahan
930f0a16d8 Codechange: Define Date/Year/Month/Day within TimerGameCalendar class 2023-04-26 07:14:03 -04:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer (#10706) 2023-04-24 15:56:01 +00:00
Tyler Trahan
646a7e625b
Change: Use seconds for Linkgraph update settings (#10610) 2023-04-14 22:49:12 +02:00
Tyler Trahan
8e04cba0c3
Change: Make tick length 27 milliseconds (#10607)
This makes a month last about 60 seconds, allowing the use of real-time units in game.

Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
2023-04-14 14:50:19 +01:00
Tyler Trahan
fb0549ea59 Feature: Configurable subsidy duration
(cherry picked from commit d09210e1c6)
2021-10-08 18:13:02 +01:00
Tyler Trahan
d09210e1c6 Feature: Configurable subsidy duration 2021-06-10 23:26:16 +02:00
Jonathan G Rennison
f5e9805b10 Store time display settings both in savegame and client, add setting 2020-06-23 21:05:21 +01:00
Jonathan G Rennison
7960db35f2 Merge branch 'master' into jgrpp
# Conflicts:
#	config.lib
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs141.vcxproj
#	projects/openttd_vs141.vcxproj.filters
#	projects/openttd_vs142.vcxproj
#	projects/openttd_vs142.vcxproj.filters
#	src/aircraft_cmd.cpp
#	src/base_station_base.h
#	src/core/pool_type.hpp
#	src/disaster_vehicle.cpp
#	src/economy.cpp
#	src/engine.cpp
#	src/group.h
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/network_command.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/road_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
2020-01-06 18:45:51 +00:00
Niels Martin Hansen
2fd871e2af Feature: Configurable game ending year
Functionally reverts 683b65ee1
2019-12-28 12:27:39 +01:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
ee169c4455 Fix numerical/signed overflow when using high day lengths
Bug reported at day length = 125
2017-08-20 20:41:13 +01:00
Jonathan G Rennison
375b069f82 Replace day length scaled tick macros with global variables.
This is to avoid needing to expensively re-calculate them all the time.
Instead update them by incrementing.
2016-09-10 01:03:48 +01:00
Jonathan G Rennison
26fa77c5ee Run animations at the normal rate regardless of day length factor. 2016-03-02 18:36:53 +00:00
Jonathan G Rennison
29809f2001 Time in minutes is no longer scaled by day length.
Time in minutes now based on the existing date ticks * the day length,
plus the tick skip counter, instead of just the date ticks.
Change the format of the {DATE_WALLCLOCK_*} string params
to use date ticks scaled by the day length, as above.
Update status bar clock.
2015-08-30 18:54:59 +01:00
patch-import
79138de1b9 Import departure boards patch 2015-08-01 19:48:19 +01:00
rubidium
0d9a8b07ec (svn r25260) -Codechange: occasionally clear dead links and compress link graphs (fonsinchen) 2013-05-19 14:26:14 +00:00
rubidium
be4f85766c (svn r25260) -Codechange: occasionally clear dead links and compress link graphs (fonsinchen) 2013-05-19 14:26:14 +00:00
planetmaker
122c4622f5 (svn r22548) -Codechange: Name also the magic number for the lumber mill's tree cutting action (FeyFre) 2011-06-09 16:35:09 +00:00
planetmaker
e5a88a1077 (svn r22548) -Codechange: Name also the magic number for the lumber mill's tree cutting action (FeyFre) 2011-06-09 16:35:09 +00:00
frosch
62b6d0eb0e (svn r22482) -Codechange: Add some contants for the number of ticks between certain cyclical tasks. 2011-05-21 11:26:37 +00:00
frosch
474b4799e8 (svn r22482) -Codechange: Add some contants for the number of ticks between certain cyclical tasks. 2011-05-21 11:26:37 +00:00
rubidium
f09a74a996 (svn r19812) -Codechange: give some unnamed enums a name or, in case they consisted of unrelated values use static const (u)int 2010-05-13 09:44:44 +00:00
rubidium
398418b8fa (svn r19812) -Codechange: give some unnamed enums a name or, in case they consisted of unrelated values use static const (u)int 2010-05-13 09:44:44 +00:00
rubidium
b15fb68503 (svn r18585) -Codechange: replace some magic numbers by constants 2009-12-21 16:13:30 +00:00
rubidium
abb601f682 (svn r18585) -Codechange: replace some magic numbers by constants 2009-12-21 16:13:30 +00:00
rubidium
bd9c679873 (svn r18292) -Codechange: add a command to set the start date of a timetable. Based on work by PhilSophus. 2009-11-25 23:37:15 +00:00
rubidium
a951c505bf (svn r18292) -Codechange: add a command to set the start date of a timetable. Based on work by PhilSophus. 2009-11-25 23:37:15 +00:00
rubidium
371a220960 (svn r18291) -Codechange: rework the calculation of the 'days till year' macro a bit so it can be properly reused and add a MAX_DAY 2009-11-25 23:28:04 +00:00
rubidium
1a8c203d6e (svn r18291) -Codechange: rework the calculation of the 'days till year' macro a bit so it can be properly reused and add a MAX_DAY 2009-11-25 23:28:04 +00:00
rubidium
2e506b04aa (svn r18204) -Codechange: introduce a type for Ticks and use it; furthermore document some related variables/functions 2009-11-21 12:43:09 +00:00
rubidium
37056b564c (svn r18204) -Codechange: introduce a type for Ticks and use it; furthermore document some related variables/functions 2009-11-21 12:43:09 +00:00
rubidium
99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00