Loïc Guilloux 
							
						 
					 
					
						
						
							
						
						3ffa176870 
					 
					
						
						
							
							Change: [Script] Store randomizers in savegame ( #12063 )  
						
						
						
						
					 
					
						2024-02-12 01:22:57 +01:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						b2b4cceb49 
					 
					
						
						
							
							Fix   #11997 : Adjust economy date by 1920 when loading TTD/TTO savegames ( #12007 )  
						
						
						
						
					 
					
						2024-02-05 18:09:29 -05:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						f6dd5053a3 
					 
					
						
						
							
							Feature: Order flag to unbunch vehicles at depot ( #11945 )  
						
						
						
						
					 
					
						2024-02-03 08:04:24 -05:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						849fd5ae03 
					 
					
						
						
							
							Change: [Script] replace easy/medium/hard values with default value ( #11959 )  
						
						
						
						
					 
					
						2024-02-03 09:15:03 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						b1718478c8 
					 
					
						
						
							
							Codechange: Replace old non-standard attributes with C++17/20 standard attributes.  
						
						
						
						
					 
					
						2024-02-02 22:29:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						60dcf3b5e2 
					 
					
						
						
							
							Codechange: Rename TownEffect to TownAcceptanceEffect.  
						
						... 
						
						
						
						This makes it clearer that TownEffect only affects acceptance behaviour. 
						
						
					 
					
						2024-02-02 20:37:49 +00:00 
						 
				 
			
				
					
						
							
							
								Loïc Guilloux 
							
						 
					 
					
						
						
							
						
						ab1407fc43 
					 
					
						
						
							
							Fix: [Script] Apply random deviation only at script start ( #11944 )  
						
						
						
						
					 
					
						2024-02-01 10:48:40 +01:00 
						 
				 
			
				
					
						
							
							
								dP 
							
						 
					 
					
						
						
							
						
						897b59c158 
					 
					
						
						
							
							Add: [GS] Allow to set max loan for each company separately ( #11224 )  
						
						
						
						
					 
					
						2024-01-30 19:15:19 +01:00 
						 
				 
			
				
					
						
							
							
								Koen Bussemaker 
							
						 
					 
					
						
						
							
						
						5a55c4a934 
					 
					
						
						
							
							Feature: [NewGRF] Allow higher max speeds for ships  
						
						
						
						
					 
					
						2024-01-28 14:54:51 +01:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						fd9e72a7e7 
					 
					
						
						
							
							Feature: Use real-time "wallclock" timekeeping units ( #11341 )  
						
						
						
						
					 
					
						2024-01-23 11:36:09 -05:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						735abfe111 
					 
					
						
						
							
							Codechange: Split dates and timers into Economy and Calendar time ( #10700 )  
						
						
						
						
					 
					
						2024-01-22 09:04:34 -05:00 
						 
				 
			
				
					
						
							
							
								Kuhnovic 
							
						 
					 
					
						
						
							
						
						b38d3c2208 
					 
					
						
						
							
							Change: simplified water region evaluation, removed savegame data ( #11750 )  
						
						
						
						
					 
					
						2024-01-21 20:56:50 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						c0ab436077 
					 
					
						
						
							
							Codechange: Store Colours in Colours type. ( #11625 )  
						
						... 
						
						
						
						This reduces casts, some magic numbers, and introduces a bit of type-safety. 
						
						
					 
					
						2024-01-21 13:23:04 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						400ae65ff2 
					 
					
						
						
							
							Codechange: Redefine some cargo-related values in terms of CargoID instead of CargoType.  
						
						... 
						
						
						
						Values used as special filter types are now defined as offsets from NUM_CARGO instead of confusingly reusing CARGO_NO_REFIT/CARGO_AUTO_REFIT types. 
						
						
					 
					
						2024-01-09 18:56:05 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						952d111b94 
					 
					
						
						
							
							Codechange: Split CT_INVALID into CT_INVALID and INVALID_CARGO.  
						
						... 
						
						
						
						INVALID_CARGO is a CargoID and should be used for most purposes in game.
CT_INVALID is a CargoType used for defining default properties. 
						
						
					 
					
						2024-01-09 18:56:05 +00:00 
						 
				 
			
				
					
						
							
							
								Kuhnovic 
							
						 
					 
					
						
						
							
						
						f1e999ec59 
					 
					
						
						
							
							Feature: Region-based pathfinder for ships ( #10543 )  
						
						
						
						
					 
					
						2024-01-08 20:29:05 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						e3f49ee7a0 
					 
					
						
						
							
							Codechange: coding style fixes  
						
						
						
						
					 
					
						2024-01-04 16:23:54 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						bfb4254226 
					 
					
						
						
							
							Fix: Changing default livery did not propagate to group liveries.  
						
						... 
						
						
						
						#11614  attempted to address this but did not handle 2CC properly, and changes to the default livery were not handled. 
					
						2023-12-28 23:16:19 +00:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						1f41e773d6 
					 
					
						
						
							
							Codechange: Use consistent name for bay road stops  
						
						... 
						
						
						
						As of #10494 , this is how we describe original dead-end road stops. 
						
						
					 
					
						2023-11-28 14:24:33 -05:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						ab535c0a86 
					 
					
						
						
							
							Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )  
						
						... 
						
						
						
						This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit. 
						
						
					 
					
						2023-11-06 20:29:35 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						9602de474d 
					 
					
						
						
							
							Codechange: Use iterators and/or range-for on cargo related loops.  
						
						
						
						
					 
					
						2023-10-19 17:03:25 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						b5dc9328f2 
					 
					
						
						
							
							Change: Store station blocked/wires/pylons flags in map. ( #11337 )  
						
						... 
						
						
						
						This stores three flags in unused map bits, and avoids having to look up
station graphics and custom station specs to determine blocked/wires/pylons
status.
This potentially affects rail pathfinding performance.
Savegame version is not bumped, as the flags can just be updated every
time. 
						
						
					 
					
						2023-09-30 12:30:25 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						acd7d3c913 
					 
					
						
						
							
							Codechange: Rename *Railtype* to *RailType* for consistency. ( #11287 )  
						
						
						
						
					 
					
						2023-09-11 08:55:12 +00: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 
							
						 
					 
					
						
						
							
						
						07730584d7 
					 
					
						
						
							
							Codechange: make explicit when a TileIndex is cast to its basetype ( #11190 )  
						
						... 
						
						
						
						This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't. 
						
						
					 
					
						2023-08-15 18:12:05 +02:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						9a602ff304 
					 
					
						
						
							
							Fix   #10334 : Store separate newgrf-safe version of date_of_last_service. ( #11124 )  
						
						... 
						
						
						
						This value is not changed when the date cheat is used, which caused issues with changing properties based on service date.
Co-authored-by: Peter Nelson <peter1138@openttd.org > 
						
						
					 
					
						2023-08-06 12:57:10 -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 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						584faaf064 
					 
					
						
						
							
							Change: Reorganise industry accept/produce arrays. ( #10853 )  
						
						... 
						
						
						
						Use a array of struct for each cargo instead of an array for each statistic.
This makes iterating for acceptance and production much simpler.
pct_transported is now calculated when needed. 
						
						
					 
					
						2023-05-25 21:25:46 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						76516d7f70 
					 
					
						
						
							
							Codechange: Use IsValidCargoID/IsValidCargoType.  
						
						... 
						
						
						
						IsValidCargoType() is used only for unmapped IDs. 
						
						
					 
					
						2023-05-22 20:43:40 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						acec34a0fe 
					 
					
						
						
							
							Cleanup: remove MD5SumToString in lieu of FormatArrayAsHex  
						
						
						
						
					 
					
						2023-05-19 11:24:44 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						7634553d22 
					 
					
						
						
							
							Feature: opt-in survey when exiting a game  
						
						... 
						
						
						
						On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.
When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU
All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game. 
						
						
					 
					
						2023-05-14 23:22:02 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						72c7536325 
					 
					
						
						
							
							Codechange: Use a dedicated variable for disaster vehicle action state. ( #10798 )  
						
						
						
						
					 
					
						2023-05-12 21:41:36 +02:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						e6740046ee 
					 
					
						
						
							
							Codechange: Use range-for iteration.  
						
						
						
						
					 
					
						2023-05-11 07:58:55 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						cef3a2570d 
					 
					
						
						
							
							Codechange: Use standard iterator-erase-loop pattern.  
						
						
						
						
					 
					
						2023-05-11 07:58:55 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						fb856e16c1 
					 
					
						
						
							
							Codechange: replace some min/clamp constructs to ClampTo  
						
						
						
						
					 
					
						2023-05-06 21:26:13 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						a312a6c1b2 
					 
					
						
						
							
							Codechange: make md5sumToString std::string compatible  
						
						
						
						
					 
					
						2023-05-04 23:23:32 +02:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						6501f84b4a 
					 
					
						
						
							
							Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )  
						
						
						
						
					 
					
						2023-05-04 13:14:12 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						00bf42353a 
					 
					
						
						
							
							Codechange: Place gamelog into its own class, along with internal data.  
						
						... 
						
						
						
						Data is now stored in vectors to avoid manual memory management and
passing lengths around. 
						
						
					 
					
						2023-05-02 19:47:55 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						36a0818bc5 
					 
					
						
						
							
							Remove: buying/selling/owning company shares ( #10709 )  
						
						
						
						
					 
					
						2023-04-29 10:16:49 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						33c4fbff8f 
					 
					
						
						
							
							Codechange: use fmt::format_to instead of seprintf to fill load crash message  
						
						
						
						
					 
					
						2023-04-28 19:53:03 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						31ad990831 
					 
					
						
						
							
							Codechange: move tick-counter into TimerGameTick ( #10712 )  
						
						
						
						
					 
					
						2023-04-24 16:55:40 +00:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						7aa2b9ab0a 
					 
					
						
						
							
							Codechange: move all date-related variables inside the timer ( #10706 )  
						
						
						
						
					 
					
						2023-04-24 15:56:01 +00:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						f5f6306af3 
					 
					
						
						
							
							Codechange: use string/fmt instead of printf for ShowInfo(F)  
						
						
						
						
					 
					
						2023-04-24 17:51:54 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						e97bf271dc 
					 
					
						
						
							
							Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )  
						
						... 
						
						
						
						This avoids a (soft) namespace conflict between the four ST_* enums. 
						
						
					 
					
						2023-04-16 20:00:55 +01:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						ed83c4b0da 
					 
					
						
						
							
							Change: replace per-AI "start_date" with a global "competitors_interval" ( #10653 )  
						
						... 
						
						
						
						The per-AI "start_date" is a lot of custom code, and was rarely
used in the way it was meant.
While at it, also ported this part over to the new timer system. 
						
						
					 
					
						2023-04-16 20:14:22 +02:00 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						646a7e625b 
					 
					
						
						
							
							Change: Use seconds for Linkgraph update settings ( #10610 )  
						
						
						
						
					 
					
						2023-04-14 22:49:12 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						9d2a0f3d0b 
					 
					
						
						
							
							Change: make GetPartialZ consistent, meaning Z of adjacent slopes continue  
						
						... 
						
						
						
						Previously, on a straight line of a one corner up slope with the adjacent
steep sloop the Z would increase one step every two sub pixels, except for one
case where one sub pixel is skipped. Similarly, a steep slope with two
adjacent one corner up slopes, would have a bump in the height line along the
diagonal whenever it enters/leaves the steep slope tile. 
						
						
					 
					
						2023-04-09 19:00:26 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						e8af8daa68 
					 
					
						
						
							
							Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states  
						
						... 
						
						
						
						Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take. 
						
						
					 
					
						2023-04-09 19:00:26 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						f1144de509 
					 
					
						
						
							
							Feature: Separate rail/road and sea/air velocity units, and add knots. ( #10594 )  
						
						... 
						
						
						
						This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit. 
						
						
					 
					
						2023-04-08 12:26:13 -04:00