Peter Nelson 
							
						 
					 
					
						
						
							
						
						76516d7f70 
					 
					
						
						
							
							Codechange: Use IsValidCargoID/IsValidCargoType.  
						
						... 
						
						
						
						IsValidCargoType() is used only for unmapped IDs. 
						
						
					 
					
						2023-05-22 20:43:40 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						3323402aaa 
					 
					
						
						
							
							Codechange: rename smallvec_type to container_func and use only when needed  
						
						
						
						
					 
					
						2023-05-20 16:53:10 +02:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						6b87fe6540 
					 
					
						
						
							
							Codechange: Use std::array for GRF(File|Config) parameters.  
						
						... 
						
						
						
						This simplifies comparison, copying and assignment operations. 
						
						
					 
					
						2023-05-19 16:53:56 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						c23aae96a2 
					 
					
						
						
							
							Codechange: Use std::array instead of C array for automatic deep-copies.  
						
						
						
						
					 
					
						2023-05-19 16:53:56 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						f14479d27d 
					 
					
						
						
							
							Codechange: Use std::optional for GRF Parameter list.  
						
						
						
						
					 
					
						2023-05-18 20:48:37 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						c38df2d589 
					 
					
						
						
							
							Codechange: Use std::map instead of custom SmallMap.  
						
						
						
						
					 
					
						2023-05-18 12:18:30 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						83f2ad500e 
					 
					
						
						
							
							Codechange: stdarg.h include not needed as cstdarg is included.  
						
						
						
						
					 
					
						2023-05-17 10:14:41 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						56085be9bd 
					 
					
						
						
							
							Codechange: Move includes for common STL headers to stdafx.  
						
						
						
						
					 
					
						2023-05-17 10:14:41 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						0b72297d57 
					 
					
						
						
							
							Feature: Increase number of stations/roadstops per NewGRF.  
						
						
						
						
					 
					
						2023-05-05 07:08:40 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						bc7dfd7b46 
					 
					
						
						
							
							Add: Station property 1C/1D to set name/classname.  
						
						... 
						
						
						
						These are an alternative to the original "generic" C4xx/C5xx method,
which can only assign strings to IDs up to 256. 
						
						
					 
					
						2023-05-05 07:08:40 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						d6f35a9fd6 
					 
					
						
						
							
							Change: Add placeholders for unimplemented NewGRF station properties.  
						
						
						
						
					 
					
						2023-05-05 07:08:40 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						e5c9a3e527 
					 
					
						
						
							
							Change: Read Action 3 IDs as extended-bytes for all features.  
						
						... 
						
						
						
						This can be done because previous the value 0xFF (which indicates an
extended byte) was reserved for this purpose. Other features which may
not have mentioned reserving 0xFF do not allow this many IDs anyway.
This makes Action 3 consistent across all features. The allowable limits
for each feature do not change. 
						
						
					 
					
						2023-05-05 07:08:40 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						10baecd81f 
					 
					
						
						
							
							Change: Make Action 3 debug messages more consistent.  
						
						
						
						
					 
					
						2023-05-05 07:08:40 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						3901ef9760 
					 
					
						
						
							
							Codechange: use std::string for the GRF filenames  
						
						
						
						
					 
					
						2023-05-04 23:23:32 +02:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						f78aa1e720 
					 
					
						
						
							
							Codechange: use std::unique_ptr to manager GRFErrors in GRFConfig  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Tyler Trahan 
							
						 
					 
					
						
						
							
						
						930f0a16d8 
					 
					
						
						
							
							Codechange: Define Date/Year/Month/Day within TimerGameCalendar class  
						
						
						
						
					 
					
						2023-04-26 07:14:03 -04:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						20d2558f1b 
					 
					
						
						
							
							Fix: Clear church/stadium flags when copying house substitute specs.  
						
						
						
						
					 
					
						2023-04-26 06:46:07 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						64782cf005 
					 
					
						
						
							
							Fix   #10627 : Houses subsitute specs should only be copied on first definition.  
						
						... 
						
						
						
						Before #10627 , substitue specs were always copied despite redefinition. 
						
						
					 
					
						2023-04-26 06:46:07 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						7535eb65e2 
					 
					
						
						
							
							Codechange: Use vector instead of mallloc/free for Action 6 data. ( #10713 )  
						
						
						
						
					 
					
						2023-04-26 06:45:11 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						f74e26ca7e 
					 
					
						
						
							
							Codechange: replace error/usererror printf variant with fmt variant and rename  
						
						
						
						
					 
					
						2023-04-25 17:55:09 +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 
							
						 
					 
					
						
						
							
						
						7b539fa7c9 
					 
					
						
						
							
							Fix: fmt's {:#04X} yields '0X00', not '0x0000'  
						
						... 
						
						
						
						Technically the 0X vs 0x is not a big problem, just not pretty. However, the
length also including the 0x results in unexpected behaviour, so it probably
better to not use it. 
						
						
					 
					
						2023-04-20 21:39:57 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						27b4b5d0a0 
					 
					
						
						
							
							Codechange: Make GRF temporary engine data a vector. ( #10685 )  
						
						... 
						
						
						
						This replaces manual C-style realloc/memset/free. 
						
						
					 
					
						2023-04-20 19:38:48 +00:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						7088f5b7c7 
					 
					
						
						
							
							Codechange: use string/fmt instead of printf for grfmsg  
						
						
						
						
					 
					
						2023-04-18 23:21:08 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						d949cfab24 
					 
					
						
						
							
							Codechange: Use std:: features for NewGRF town names ( #10631 )  
						
						... 
						
						
						
						This removes manual memory (de-)allocation and list counting. 
						
						
					 
					
						2023-04-16 21:24:54 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						7b0797d1cd 
					 
					
						
						
							
							Codechange: Use unique ptrs for NewGRF specs.  
						
						
						
						
					 
					
						2023-04-16 15:09:10 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						ef6b307465 
					 
					
						
						
							
							Change: Use std::vector for NewGRF spec tables.  
						
						... 
						
						
						
						Pointer space is allocated only for the number of IDs used, instead of
the max number of IDs for each feature. 
						
						
					 
					
						2023-04-16 15:09:10 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						15e6fc4eeb 
					 
					
						
						
							
							Codechange: Use iterator when mapping sprite groups.  
						
						
						
						
					 
					
						2023-04-16 15:09:10 +01:00 
						 
				 
			
				
					
						
							
							
								Charles Pigott 
							
						 
					 
					
						
						
							
						
						b282664242 
					 
					
						
						
							
							Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives  
						
						
						
						
					 
					
						2023-04-15 16:57:00 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						246ba6f00a 
					 
					
						
						
							
							Fix  8361cf5a73: Missing bounds check for house specs. ( #10625 )  
						
						
						
						
					 
					
						2023-04-10 15:00:34 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						08977828cc 
					 
					
						
						
							
							Fix: Check ID for name  is within bounds.  
						
						
						
						
					 
					
						2023-04-07 22:09:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						cd6c04a663 
					 
					
						
						
							
							Fix: Check station ID is within bounds when copying layouts.  
						
						
						
						
					 
					
						2023-04-07 22:09:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						8361cf5a73 
					 
					
						
						
							
							Fix: Check sprite group mapping ID is within bounds of feature.  
						
						
						
						
					 
					
						2023-04-07 22:09:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						96f4eb3681 
					 
					
						
						
							
							Codechange: Check NewGRF feature is defined before processing any sprite group mapping.  
						
						... 
						
						
						
						Previously this was checked after loading ids, or repeatedly checked for
each item. 
						
						
					 
					
						2023-04-07 22:09:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						04215afe3f 
					 
					
						
						
							
							Codechange: Replace roadstop spec limit magic number with constant.  
						
						
						
						
					 
					
						2023-04-07 22:09:28 +01:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						93197f58b7 
					 
					
						
						
							
							Codechange: Bind objectspecs to classes once all finalised.  
						
						
						
						
					 
					
						2023-04-02 22:42:38 +01:00 
						 
				 
			
				
					
						
							
							
								Joan Josep 
							
						 
					 
					
						
						
							
						
						d80f193e74 
					 
					
						
						
							
							Fix: Improve grfmessage for ShipVehicleChangeInfo. ( #10558 )  
						
						
						
						
					 
					
						2023-03-08 20:59:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jonathan G Rennison 
							
						 
					 
					
						
						
							
						
						5d0ad5625b 
					 
					
						
						
							
							Fix : [NewGRF] Object and road stop ignore property handlers ( #10525 )  
						
						... 
						
						
						
						* Fix: IgnoreObjectProperty did not handle object property 0x18
* Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15 
						
						
					 
					
						2023-03-01 01:19:39 +01:00 
						 
				 
			
				
					
						
							
							
								Jonathan G Rennison 
							
						 
					 
					
						
						
							
						
						4c1406a4b5 
					 
					
						
						
							
							Add: NewGRF road stops  
						
						
						
						
					 
					
						2023-02-26 21:28:30 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						2d73076056 
					 
					
						
						
							
							Add: [NewGRF] Second vehicle property for additional callback flags.  
						
						
						
						
					 
					
						2023-01-30 22:00:56 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						f5394ed2ef 
					 
					
						
						
							
							Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.  
						
						... 
						
						
						
						This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us. 
						
						
					 
					
						2023-01-30 22:00:56 +01:00 
						 
				 
			
				
					
						
							
							
								rubidium42 
							
						 
					 
					
						
						
							
						
						6ba55e663e 
					 
					
						
						
							
							Codechange: do not hide variables with other variables  
						
						
						
						
					 
					
						2023-01-29 07:21:34 +01:00 
						 
				 
			
				
					
						
							
							
								Rubidium 
							
						 
					 
					
						
						
							
						
						fe2bcd2a58 
					 
					
						
						
							
							Codechange: migrate size related functions to Map structure  
						
						
						
						
					 
					
						2023-01-21 17:11:40 +01:00 
						 
				 
			
				
					
						
							
							
								Francis Herne 
							
						 
					 
					
						
						
							
						
						01be423237 
					 
					
						
						
							
							Fix   #10362 : NewGRF bridges without speed limits.  
						
						... 
						
						
						
						For bridges, a max speed of 0xFFFF (i.e. no effective limit)
 is no longer displayed as a limit in the UI.
A max speed of 0 is also considered unlimited, for similarity to the
 roadtype and railtype interface. 
						
						
					 
					
						2023-01-19 22:24:33 +01:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						2355882ec1 
					 
					
						
						
							
							Codechange: Remove object enabled flag and shuffle members. ( #10358 )  
						
						... 
						
						
						
						`enabled` flag is replaced with IsEnabled() which checks if views is
non-zero.
ObjectSpec is shuffled to reduce its memory footprint. 
						
						
					 
					
						2023-01-15 10:58:03 +00:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						6a0d1c7c19 
					 
					
						
						
							
							Fix: Link variants to parents when finalising engines. ( #10346 )  
						
						... 
						
						
						
						This ensures that definition-order of engines within the NewGRF does not matter. 
						
						
					 
					
						2023-01-13 19:22:31 +00:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						1b1aa682a6 
					 
					
						
						
							
							Fix: Don't assume engclass 2 should be elrail. ( #10315 )  
						
						... 
						
						
						
						When disabling/enabling elrail, there is an assumption that `engclass` of 2
means the engine will run on elrail. While this holds for default engines,
NewGRFs can do other things.
To resolve this we store the intended railtype so that toggling elrail will
restore to the correct type. 
						
						
					 
					
						2023-01-06 00:44:57 +00:00 
						 
				 
			
				
					
						
							
							
								Francis Herne 
							
						 
					 
					
						
						
							
						
						6caed5f15e 
					 
					
						
						
							
							Add: Slope-aware and roadtype-specific one-way sprites. ( #10282 )  
						
						
						
						
					 
					
						2022-12-26 15:06:21 -05:00