truebrain 
							
						 
					 
					
						
						
							
						
						a3dd7506d3 
					 
					
						
						
							
							(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.  
						
						... 
						
						
						
						NoAI is an API (a framework) to build your own AIs in. See:
   http://wiki.openttd.org/wiki/index.php/AI:Main_Page 
 With many thanks to:
  - glx and Rubidium for their syncing, feedback and hard work
  - Yexo for his feedback, patches, and AIs which tested the system very deep
  - Morloth for his feedback and patches
  - TJIP for hosting a challenge which kept NoAI on track
  - All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks 
						
						
					 
					
						2009-01-12 17:11:45 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						ec97e1fd0d 
					 
					
						
						
							
							(svn r15026) -Codechange: use SpriteTypeByte instead of SpriteType in the SpriteCache struct in order to make it smaller  
						
						
						
						
					 
					
						2009-01-12 16:53:11 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						9294f96168 
					 
					
						
						
							
							(svn r15026) -Codechange: use SpriteTypeByte instead of SpriteType in the SpriteCache struct in order to make it smaller  
						
						
						
						
					 
					
						2009-01-12 16:53:11 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						f84b1e6970 
					 
					
						
						
							
							(svn r14998) -Codechange: warn once about misuse of each sprite, not once about misuse of any sprite  
						
						
						
						
					 
					
						2009-01-11 23:49:51 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						1287fddd8f 
					 
					
						
						
							
							(svn r14998) -Codechange: warn once about misuse of each sprite, not once about misuse of any sprite  
						
						
						
						
					 
					
						2009-01-11 23:49:51 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						b181bb9d25 
					 
					
						
						
							
							(svn r14997) -Fix [FS#2524](r14223): when handling invalid sprites, entry in spritecache data could lose its parent  
						
						
						
						
					 
					
						2009-01-11 22:28:30 +00:00 
						 
				 
			
				
					
						
							
							
								smatz 
							
						 
					 
					
						
						
							
						
						720eedf7c5 
					 
					
						
						
							
							(svn r14997) -Fix [FS#2524](r14223): when handling invalid sprites, entry in spritecache data could lose its parent  
						
						
						
						
					 
					
						2009-01-11 22:28:30 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						28ea38ae55 
					 
					
						
						
							
							(svn r14949) -Cleanup: pointer coding style  
						
						
						
						
					 
					
						2009-01-10 00:31:47 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						11da45ee55 
					 
					
						
						
							
							(svn r14949) -Cleanup: pointer coding style  
						
						
						
						
					 
					
						2009-01-10 00:31:47 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						2fec4d8e3c 
					 
					
						
						
							
							(svn r14610) -Fix [FS#2415]: possible stack corruption when reading corrupted sprites.  
						
						... 
						
						
						
						-Change: harden the sprite reading routine against corrupt sprites. 
						
						
					 
					
						2008-11-23 13:42:05 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						2277a1ff9c 
					 
					
						
						
							
							(svn r14610) -Fix [FS#2415]: possible stack corruption when reading corrupted sprites.  
						
						... 
						
						
						
						-Change: harden the sprite reading routine against corrupt sprites. 
						
						
					 
					
						2008-11-23 13:42:05 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						b5e467978b 
					 
					
						
						
							
							(svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus)  
						
						
						
						
					 
					
						2008-10-14 18:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						272b2ef0e9 
					 
					
						
						
							
							(svn r14464) -Codechange: replace (uint)-1 with UINT_MAX (PhilSophus)  
						
						
						
						
					 
					
						2008-10-14 18:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						9ca1972e01 
					 
					
						
						
							
							(svn r14229) -Feature: allow overriding the palette of the base GRFs. This way you can play with NewGRFs made for the Windows palette with the DOS palettes base GRFs (and vice versa). Note that for this to work correctly ALL NewGRFs must use the same palette; mix and match is not yet supported.  
						
						
						
						
					 
					
						2008-09-02 18:45:15 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						fc216aeeb8 
					 
					
						
						
							
							(svn r14229) -Feature: allow overriding the palette of the base GRFs. This way you can play with NewGRFs made for the Windows palette with the DOS palettes base GRFs (and vice versa). Note that for this to work correctly ALL NewGRFs must use the same palette; mix and match is not yet supported.  
						
						
						
						
					 
					
						2008-09-02 18:45:15 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						c358955127 
					 
					
						
						
							
							(svn r14223) -Codechange: make GetSprite aware of the 4 different types of sprites: fonts, recolour, mapgen and normal sprites.  
						
						
						
						
					 
					
						2008-09-02 15:20:38 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						c8e8911ef6 
					 
					
						
						
							
							(svn r14223) -Codechange: make GetSprite aware of the 4 different types of sprites: fonts, recolour, mapgen and normal sprites.  
						
						
						
						
					 
					
						2008-09-02 15:20:38 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						242cbd0074 
					 
					
						
						
							
							(svn r14214) -Codechange: move another TTD graphics bug into the GRF; height problem of sprite  #142 .  
						
						
						
						
					 
					
						2008-08-31 23:12:57 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						886c8ec79f 
					 
					
						
						
							
							(svn r14214) -Codechange: move another TTD graphics bug into the GRF; height problem of sprite  #142 .  
						
						
						
						
					 
					
						2008-08-31 23:12:57 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						a20b833516 
					 
					
						
						
							
							(svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too.  
						
						
						
						
					 
					
						2008-08-31 10:50:05 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						ea1f180a55 
					 
					
						
						
							
							(svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too.  
						
						
						
						
					 
					
						2008-08-31 10:50:05 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						17998f7f98 
					 
					
						
						
							
							(svn r14193) -Fix (r14191): don't put an unsigned 0x80 in a signed int8 as that's not what you want.  
						
						
						
						
					 
					
						2008-08-30 12:14:56 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						0b88f0cf54 
					 
					
						
						
							
							(svn r14193) -Fix (r14191): don't put an unsigned 0x80 in a signed int8 as that's not what you want.  
						
						
						
						
					 
					
						2008-08-30 12:14:56 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						951ea4ae6d 
					 
					
						
						
							
							(svn r14191) -Codechange: unify the code to skip sprite payload (i.e. not the header).  
						
						... 
						
						
						
						-Fix: sprite payload skipping wouldn't skip enough bytes in a very small subset of compressed sprites. 
						
						
					 
					
						2008-08-30 09:46:52 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						d3d34d2aac 
					 
					
						
						
							
							(svn r14191) -Codechange: unify the code to skip sprite payload (i.e. not the header).  
						
						... 
						
						
						
						-Fix: sprite payload skipping wouldn't skip enough bytes in a very small subset of compressed sprites. 
						
						
					 
					
						2008-08-30 09:46:52 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						42265315e2 
					 
					
						
						
							
							(svn r13869) -Fix [FS#2153] (r13674): in some cases the sprite cache could be filled with unremovable items.  
						
						
						
						
					 
					
						2008-07-29 21:45:30 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						ef6e366c08 
					 
					
						
						
							
							(svn r13869) -Fix [FS#2153] (r13674): in some cases the sprite cache could be filled with unremovable items.  
						
						
						
						
					 
					
						2008-07-29 21:45:30 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						bb3292943a 
					 
					
						
						
							
							(svn r13692) -Fix (r13674): loading PNG sprites could very quickly fill the sprite cache.  
						
						
						
						
					 
					
						2008-07-12 14:03:36 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						56379fff51 
					 
					
						
						
							
							(svn r13692) -Fix (r13674): loading PNG sprites could very quickly fill the sprite cache.  
						
						
						
						
					 
					
						2008-07-12 14:03:36 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						0570ba8461 
					 
					
						
						
							
							(svn r13674) -Fix [FS#2127]: crash when drawing a non-real sprite. The drawing of the non-real sprite is caused when two NewGRFs replace the same sprite and the first replaces it with a real sprite (and thus assumes it remains a real sprite) and the second replaces it with a non-real sprite. OpenTTD already looked at whether the sprite to load should be seen as a real or non-real sprite, but it failed to replace non-real sprites with a substitute real sprite when getting the sprite from the cache.  
						
						
						
						
					 
					
						2008-07-04 14:45:51 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						173f0f4cd5 
					 
					
						
						
							
							(svn r13674) -Fix [FS#2127]: crash when drawing a non-real sprite. The drawing of the non-real sprite is caused when two NewGRFs replace the same sprite and the first replaces it with a real sprite (and thus assumes it remains a real sprite) and the second replaces it with a non-real sprite. OpenTTD already looked at whether the sprite to load should be seen as a real or non-real sprite, but it failed to replace non-real sprites with a substitute real sprite when getting the sprite from the cache.  
						
						
						
						
					 
					
						2008-07-04 14:45:51 +00:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						b60a1326bf 
					 
					
						
						
							
							(svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror().  
						
						
						
						
					 
					
						2008-06-05 20:54:52 +00:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						ee256e770a 
					 
					
						
						
							
							(svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror().  
						
						
						
						
					 
					
						2008-06-05 20:54:52 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						33e18c236d 
					 
					
						
						
							
							(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.  
						
						
						
						
					 
					
						2008-05-27 21:41:00 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						5c5ee7eb57 
					 
					
						
						
							
							(svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings.  
						
						
						
						
					 
					
						2008-05-27 21:41:00 +00:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						a28ea38653 
					 
					
						
						
							
							(svn r13008) -Fix [FS#1997]: silence some MSVC x64 warnings  
						
						
						
						
					 
					
						2008-05-08 13:20:54 +00:00 
						 
				 
			
				
					
						
							
							
								glx 
							
						 
					 
					
						
						
							
						
						e48a351f8e 
					 
					
						
						
							
							(svn r13008) -Fix [FS#1997]: silence some MSVC x64 warnings  
						
						
						
						
					 
					
						2008-05-08 13:20:54 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						1ce0b03bf0 
					 
					
						
						
							
							(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.  
						
						
						
						
					 
					
						2008-05-06 15:11:33 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						d03994098b 
					 
					
						
						
							
							(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.  
						
						
						
						
					 
					
						2008-05-06 15:11:33 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						bda732047b 
					 
					
						
						
							
							(svn r12436) -Cleanup: minor coding style  
						
						
						
						
					 
					
						2008-03-26 19:18:30 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						f9e7b70f91 
					 
					
						
						
							
							(svn r12436) -Cleanup: minor coding style  
						
						
						
						
					 
					
						2008-03-26 19:18:30 +00:00 
						 
				 
			
				
					
						
							
							
								belugas 
							
						 
					 
					
						
						
							
						
						6c93216641 
					 
					
						
						
							
							(svn r12140) -Codechange: A bit of code style fixes(Geektoo).  
						
						
						
						
					 
					
						2008-02-14 15:13:36 +00:00 
						 
				 
			
				
					
						
							
							
								belugas 
							
						 
					 
					
						
						
							
						
						739b118c6b 
					 
					
						
						
							
							(svn r12140) -Codechange: A bit of code style fixes(Geektoo).  
						
						
						
						
					 
					
						2008-02-14 15:13:36 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						7c310600ba 
					 
					
						
						
							
							(svn r12005) -Fix [FS#1717]: possible reading from an invalid pointer. Patch by PhilSophus.  
						
						
						
						
					 
					
						2008-01-29 00:29:28 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						c9a9103566 
					 
					
						
						
							
							(svn r12005) -Fix [FS#1717]: possible reading from an invalid pointer. Patch by PhilSophus.  
						
						
						
						
					 
					
						2008-01-29 00:29:28 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						af2429f8e0 
					 
					
						
						
							
							(svn r12002) -Cleanup (r11981): Remove obsolete code to skip sprites from indexed GRFs.  
						
						
						
						
					 
					
						2008-01-28 17:51:45 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						1a9b741e43 
					 
					
						
						
							
							(svn r12002) -Cleanup (r11981): Remove obsolete code to skip sprites from indexed GRFs.  
						
						
						
						
					 
					
						2008-01-28 17:51:45 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						78156065cf 
					 
					
						
						
							
							(svn r11940) -Codechange: Store short filename once per open file instead of once per sprite cache entry. Not all file types need this, but most of the time no sprite cache entry needed it either.  
						
						
						
						
					 
					
						2008-01-22 07:27:06 +00:00 
						 
				 
			
				
					
						
							
							
								peter1138 
							
						 
					 
					
						
						
							
						
						ffec79bbcf 
					 
					
						
						
							
							(svn r11940) -Codechange: Store short filename once per open file instead of once per sprite cache entry. Not all file types need this, but most of the time no sprite cache entry needed it either.  
						
						
						
						
					 
					
						2008-01-22 07:27:06 +00:00 
						 
				 
			
				
					
						
							
							
								rubidium 
							
						 
					 
					
						
						
							
						
						a83b91dbc5 
					 
					
						
						
							
							(svn r11939) -Codechange: some type fixes and very initial steps into supporting NDS by default. Based on work by Dominik.  
						
						
						
						
					 
					
						2008-01-21 23:55:57 +00:00