glx22 
							
						 
					 
					
						
						
							
						
						7bcc7e11ff 
					 
					
						
						
							
							Codechange: Use a common sub-class for NewGRFMapping chunks  
						
						
						
						
					 
					
						2021-07-06 22:29:08 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						6e627f35ac 
					 
					
						
						
							
							Cleanup: Remove now unneeded ChunkHandler members  
						
						
						
						
					 
					
						2021-07-06 22:29:08 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						2c941cd8b3 
					 
					
						
						
							
							Codechange: Use ChunkHandlers sub-classes  
						
						
						
						
					 
					
						2021-07-06 22:29:08 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						c1a9fe6fbd 
					 
					
						
						
							
							Codechange: Use static array of references to ChunkHandler  
						
						
						
						
					 
					
						2021-07-06 22:29:08 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						cdb3dd0493 
					 
					
						
						
							
							Add: store headers for most savegame chunks  
						
						... 
						
						
						
						When a header is added, the chunk changes from CH_ARRAY type to
CH_TABLE type. 
						
						
					 
					
						2021-07-02 22:21:58 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						7dd5fd6ed4 
					 
					
						
						
							
							Feature: framework to make savegames self-descriptive  
						
						... 
						
						
						
						We won't be able to make it fully self-descriptive (looking at you
MAP-chunks), but anything else can. With this framework, we can
add headers for each chunk explaining how each chunk looks like
in detail.
They also will all be tables, making it a lot easier to read in
external tooling, and opening the way to consider a database
(like SQLite) to use as savegame format.
Lastly, with the headers in the savegame, you can freely add
fields without needing a savegame version bump; older versions
of OpenTTD will simply ignore the new field. This also means
we can remove all the SLE_CONDNULL, as they are irrelevant.
The next few commits will start using this framework. 
						
						
					 
					
						2021-07-02 22:21:58 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						88edfd4ef1 
					 
					
						
						
							
							Change: rework several CH_RIFF chunks to use CH_ARRAY instead  
						
						... 
						
						
						
						This adds two byte extra to those chunks, and might feel a bit
silly at first. But in later changes we will prefix CH_ARRAY with
a table header, and then this change shines.
Without this, we could still add headers to these chunks, but any
external reader wouldn't know if the CH_RIFF has them or not. This
way is much more practical, as they are now more like any other
chunk. 
						
						
					 
					
						2021-06-15 19:36:15 +02:00 
						 
				 
			
				
					
						
							
							
								glx22 
							
						 
					 
					
						
						
							
						
						c27afdf3f6 
					 
					
						
						
							
							Codechange: Remove FOR_ALL_CHUNK_HANDLERS  
						
						... 
						
						
						
						Co-Authored-By: Patric Stout <truebrain@openttd.org > 
						
						
					 
					
						2021-06-06 19:35:06 +02:00 
						 
				 
			
				
					
						
							
							
								Patric Stout 
							
						 
					 
					
						
						
							
						
						9fff00ba20 
					 
					
						
						
							
							Codechange: C++-ify lists for SaveLoad ( #9323 )  
						
						... 
						
						
						
						Basically, this changes "SaveLoad *" to either:
1) "SaveLoadTable" if a list of SaveLoads was meant
2) "SaveLoad &" if a single entry was meant
As added bonus, this removes SL_END / SLE_END / SLEG_END. This
also adds core/span.hpp, a "std::span"-lite. 
						
						
					 
					
						2021-05-31 22:26:44 +02:00 
						 
				 
			
				
					
						
							
							
								dP 
							
						 
					 
					
						
						
							
						
						bab7de6cf2 
					 
					
						
						
							
							Feature: Allow GameScripts to add additional text to Industry view window  
						
						
						
						
					 
					
						2021-01-22 09:50:53 +00:00 
						 
				 
			
				
					
						
							
							
								Pavel Stupnikov 
							
						 
					 
					
						
						
							
						
						9a45a0f535 
					 
					
						
						
							
							Feature: Set exclusive access to industry from GS ( #8115 )  
						
						
						
						
					 
					
						2020-12-22 14:29:48 +01:00 
						 
				 
			
				
					
						
							
							
								Niels Martin Hansen 
							
						 
					 
					
						
						
							
						
						b7751c483e 
					 
					
						
						
							
							Feature: Influence industry production changes from GS ( #7912 )  
						
						
						
						
					 
					
						2020-12-22 14:21:31 +01:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						00c2a98cf3 
					 
					
						
						
							
							Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops  
						
						
						
						
					 
					
						2019-12-21 20:13:03 +01:00 
						 
				 
			
				
					
						
							
							
								S. D. Cloudt 
							
						 
					 
					
						
						
							
						
						13cc8a0cee 
					 
					
						
						
							
							Cleanup: Removed SVN  headers  
						
						
						
						
					 
					
						2019-11-10 17:59:20 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						4f052fc2a4 
					 
					
						
						
							
							Cleanup: Fix alignment after NULL -> nullptr change.  
						
						
						
						
					 
					
						2019-04-13 20:35:10 +01:00 
						 
				 
			
				
					
						
							
							
								Henry Wilson 
							
						 
					 
					
						
						
							
						
						7c8e7c6b6e 
					 
					
						
						
							
							Codechange: Use null pointer literal instead of the NULL macro  
						
						
						
						
					 
					
						2019-04-10 23:22:20 +02:00 
						 
				 
			
				
					
						
							
							
								PeterN 
							
						 
					 
					
						
						
							
						
						dd20ccee88 
					 
					
						
						
							
							Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. ( #7234 )  
						
						... 
						
						
						
						This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.
"Company stations can serve industries with attached neutral stations"
When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.
When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry. 
						
						
					 
					
						2019-03-08 18:30:44 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						e21ade375e 
					 
					
						
						
							
							Codechange: Change from numeric to descriptive SLV enum labels for last entries.  
						
						
						
						
					 
					
						2019-02-02 21:39:06 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						9de12521ec 
					 
					
						
						
							
							Codechange: Convert saveload numbers to enum values.  
						
						... 
						
						
						
						(This was mostly achieved with a few in-place regexes) 
						
						
					 
					
						2019-02-02 21:39:06 +00:00 
						 
				 
			
				
					
						
							
							
								Peter Nelson 
							
						 
					 
					
						
						
							
						
						ea4ea62816 
					 
					
						
						
							
							Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared.  
						
						
						
						
					 
					
						2019-02-02 21:39:06 +00:00 
						 
				 
			
				
					
						
							
							
								Niels Martin Hansen 
							
						 
					 
					
						
						
							
						
						e66cec8f86 
					 
					
						
						
							
							Add: NewGRF support for 16-in-16-out industries  
						
						
						
						
					 
					
						2018-11-03 21:43:54 +01:00 
						 
				 
			
				
					
						
							
							
								Niels Martin Hansen 
							
						 
					 
					
						
						
							
						
						8859381d30 
					 
					
						
						
							
							Add: Industries can produce and accept up to 16 different cargoes  
						
						
						
						
					 
					
						2018-11-03 21:43:54 +01:00 
						 
				 
			
				
					
						
							
							
								Michael Lutz 
							
						 
					 
					
						
						
							
						
						4b0b4e0643 
					 
					
						
						
							
							Feature: [NewGRF] Increase size of persistent storage to 256.  
						
						
						
						
					 
					
						2018-09-02 21:31:15 +02:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						135ad9c6c9 
					 
					
						
						
							
							(svn r27929) -Cleanup: Remove unused Industry::random_triggers  
						
						
						
						
					 
					
						2017-10-25 15:38:19 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						a97e7bae65 
					 
					
						
						
							
							(svn r27291) -Fix (r27278) [FS#6303]: Some savegame data was discarded again during loading.  
						
						
						
						
					 
					
						2015-05-21 18:59:11 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						3f55e5364e 
					 
					
						
						
							
							(svn r27278) -Fix: Handle savegames with an unexpected amount of industry-builder or NewGRF entity-mapping more gracefully.  
						
						
						
						
					 
					
						2015-05-09 10:04:50 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						0463dbdc9e 
					 
					
						
						
							
							(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values  
						
						
						
						
					 
					
						2014-04-23 20:13:33 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						49852e3dac 
					 
					
						
						
							
							(svn r26175) -Add: Log in desync output when persistent storage is discarded.  
						
						
						
						
					 
					
						2013-12-23 18:09:29 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						6d6be50ae0 
					 
					
						
						
							
							(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files  
						
						
						
						
					 
					
						2012-01-03 21:32:51 +00:00 
						 
				 
			
				
					
						
							
							
								terkhen 
							
						 
					 
					
						
						
							
						
						00e5c1df18 
					 
					
						
						
							
							(svn r22567) -Codechange: Store persistent storages inside a pool.  
						
						
						
						
					 
					
						2011-06-12 20:47:45 +00:00 
						 
				 
			
				
					
						
							
							
								alberth 
							
						 
					 
					
						
						
							
						
						4d419b9f3e 
					 
					
						
						
							
							(svn r21170) -Codechange: Store industry management data in the save game (some of it is used in the very near future).  
						
						
						
						
					 
					
						2010-11-13 15:13:14 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						d6004d17d4 
					 
					
						
						
							
							(svn r20449) -Codechange: unduplicate saving/loading of NewGRF ID + local id -> OpenTTD spec mappings  
						
						
						
						
					 
					
						2010-08-11 18:57:48 +00:00 
						 
				 
			
				
					
						
							
							
								yexo 
							
						 
					 
					
						
						
							
						
						dff871b40d 
					 
					
						
						
							
							(svn r20311) -Codechange: don't reserve extra space in the savegame that is never used  
						
						
						
						
					 
					
						2010-08-02 18:24:09 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						62ac138154 
					 
					
						
						
							
							(svn r19973) -Codechange: Add another procedure to chunk handlers for checking savegames (empty for now).  
						
						
						
						
					 
					
						2010-06-13 14:11:59 +00:00 
						 
				 
			
				
					
						
							
							
								frosch 
							
						 
					 
					
						
						
							
						
						116a5f56a4 
					 
					
						
						
							
							(svn r19481) -Codechange: Turn _industry_counts into a static member of Industry.  
						
						
						
						
					 
					
						2010-03-20 14:30:16 +00:00 
						 
				 
			
				
					
						
							
							
								terkhen 
							
						 
					 
					
						
						
							
						
						4eb6e3f060 
					 
					
						
						
							
							(svn r19392) -Codechange: Increase the maximum size of a TileArea.  
						
						
						
						
					 
					
						2010-03-12 19:38:00 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						82fc28f77f 
					 
					
						
						
							
							(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header  
						
						
						
						
					 
					
						2010-01-15 16:41:15 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						87466a4ed0 
					 
					
						
						
							
							(svn r18717) -Codechange: use TileArea in industry instead of three separate variables. Also make use of TileArea functions for determining the 'width' and 'height' of an industry.  
						
						
						
						
					 
					
						2010-01-04 18:21:07 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						d6cded5380 
					 
					
						
						
							
							(svn r17693) -Cleanup: remove some unneeded includes  
						
						
						
						
					 
					
						2009-10-04 17:16:41 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						7fbc33dae1 
					 
					
						
						
							
							(svn r17248) -Fix: add GPL license notice where appropriate  
						
						
						
						
					 
					
						2009-08-21 20:21:05 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						7a24fba918 
					 
					
						
						
							
							(svn r16944) -Codechange: remove needlessly complex way of getting the offset of items within a struct that are within a struct  
						
						
						
						
					 
					
						2009-07-24 19:09:48 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						570af0ce44 
					 
					
						
						
							
							(svn r16338) -Codechange: split loading of references to two phases  
						
						... 
						
						
						
						In the first phase, indexes are stored. In the second phase, indexes are checked for validity and converted to pointers 
						
						
					 
					
						2009-05-17 16:28:29 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						c0a8d09ca7 
					 
					
						
						
							
							(svn r15428) -Codechange: consistently use colour instead of having both color and colour.  
						
						
						
						
					 
					
						2009-02-09 02:57:15 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						7368c740a6 
					 
					
						
						
							
							(svn r14828) -Codechange: move most of save/load-specific code to separate files  
						
						
						
						
					 
					
						2009-01-04 15:32:25 +00:00