Commit Graph

111 Commits

Author SHA1 Message Date
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
peter1138 fc5f67123a Fix e66cec8f86: Permit loading of industry production callback with invalid cargo type.
It is only an error if the invalid result is actually used. This will be silently ignored at the moment.
It is still an error if a duplicate cargo type is returned.
2019-03-15 17:43:10 +00:00
Niels Martin Hansen e66cec8f86 Add: NewGRF support for 16-in-16-out industries 2018-11-03 21:43:54 +01:00
frosch 55a503e6f2 (svn r27989) -Fix (r27985): VA2 optimisation failed in various special cases:
- nvar=0 is meant to return the calculated result.
  - Missing references resolve to NULL and got identified with the default result.
  - Missing 'break' broke overlapping cases.
  - Splitting into non-overlapping cases could result in more than 256 cases.
2018-03-11 15:08:51 +00:00
frosch 07d841d0ef (svn r27985) -Codechange: Convert VA2 switches into ones with non-overlapping ranges, sort them and resolve them using binary search. Speedup sprite resolving by about 7 percent. 2018-03-11 13:21:27 +00:00
frosch d9d669dcf8 (svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent. 2018-03-11 13:19:41 +00:00
frosch 82ae414e8d (svn r27928) -Fix: [NewGRF] While executing random triggers, var 5F should include the new triggers.
-Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shard triggers. This also includes multiple RA2 in the same A123 chain.
-Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry.
2017-10-25 15:38:14 +00:00
frosch 6b61c4608f (svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor. 2014-03-03 20:02:31 +00:00
frosch b935cb8415 (svn r26387) -Cleanup (r26173): No need to manually clear registers before resolving. 2014-03-03 19:32:53 +00:00
frosch 3eea1befa7 (svn r26172) -Codechange: Make SpriteGroup::Resolve aware of nested calls. 2013-12-23 18:08:16 +00:00
frosch db894b0b3f (svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL. 2013-11-24 14:41:19 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
frosch b65ece1ea9 (svn r24695) -Fix/Cleanup: Remove remaining (incorrect) usages of ResolverObject::scope and count. 2012-11-11 12:57:27 +00:00
alberth 33ff55a8f1 (svn r24693) -Doc: Add some doxymentation into the newgrf code. 2012-11-10 20:46:39 +00:00
alberth 4c9bea2a71 (svn r24692) -Cleanup: Cleanup final parts of the old resolver code. 2012-11-10 20:45:59 +00:00
alberth 69e07c3e00 (svn r24691) -Codechange: Add resolver classes for vehicles. 2012-11-10 20:45:04 +00:00
alberth e087503fd6 (svn r24690) -Codechange: Add resolver classes for industry tiles. 2012-11-10 20:44:38 +00:00
alberth 348ef7f12c (svn r24688) -Codechange: Add resolver classes for generics. 2012-11-10 20:43:40 +00:00
alberth c83db1395b (svn r24687) -Codechange: Add resolver classes for airports. 2012-11-10 20:42:50 +00:00
alberth 82e6001451 (svn r24685) -Codechange: Add resolver classes for rail types. 2012-11-10 20:41:45 +00:00
alberth c417efc962 (svn r24684) -Codechange: Add resolver classes for stations. 2012-11-10 20:41:08 +00:00
alberth a9b8b22daf (svn r24683) -Codechange: Add resolver classes for objects. 2012-11-10 20:40:46 +00:00
alberth d7b62da87b (svn r24682) -Codechange: Add resolver classes for houses. 2012-11-10 20:40:05 +00:00
alberth 0885a2370a (svn r24681) -Codechange: Add resolver classes for cargoes. 2012-11-10 20:39:39 +00:00
alberth 35cee8315a (svn r24680) -Codechange: Add resolver classes for canals. 2012-11-10 20:39:11 +00:00
alberth b985c4c0f8 (svn r24679) -Codechange: Add resolver classes for towns. 2012-11-10 20:38:46 +00:00
alberth 438495b433 (svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes. 2012-11-10 20:37:31 +00:00
rubidium e40eb8177a (svn r23735) -Codechange: remove ~50 includes from headers that weren't needed 2012-01-03 20:26:05 +00:00
frosch 1ad7239247 (svn r23138) -Feature: [NewGRF] Allow passing 32bit parameters to 60+x variables (using var 7B). Currently most useful for vehicle var 60. 2011-11-08 17:23:30 +00:00
frosch e08a227b53 (svn r23136) -Change: [NewGRF v8] Deprecate old-style callback results 0xFF??. 2011-11-08 17:22:19 +00:00
michi_cc e094d7db62 (svn r23072) -Feature: [NewGRF] House callback 0x148. 2011-10-31 22:31:40 +00:00
frosch 7f228d6909 (svn r22924) -Codechange: Enhance NewGRFSpriteLayout for drawing construction stages in spritelayouts with inconsistent number of sprites per spriteset. 2011-09-11 15:10:09 +00:00
frosch de27360549 (svn r22923) -Codechange: Move application of the construction stage into TileLayoutSpriteGroup::ProcessRegisters(). 2011-09-11 15:09:13 +00:00
frosch d10168f211 (svn r22731) -Fix: [NewGRF] The construction stage sprites were incorrectly selected in cases other than 1 or 4 sprites per set. 2011-08-08 21:26:58 +00:00
frosch f0b723ebaa (svn r22723) -Fix: Do not restrict AdvVarAct2 to 255 operations. 2011-08-06 13:17:18 +00:00
michi_cc d579af11e8 (svn r22659) -Add: [NewGRF] Support for the land slope check callback for stations. 2011-07-11 16:32:35 +00:00
frosch 8930337aae (svn r22635) -Fix: Correctly reseed random bits of industries and industry tiles. 2011-07-04 20:37:20 +00:00
frosch 8b18292a2e (svn r22634) -Codechange: Deduplicate some code. Note that zeroing 'count' is intentionally removed, it is only used together with 'scope'. 2011-07-04 20:31:57 +00:00
terkhen 0749c65d74 (svn r22564) -Codechange: Rename Get and Store persistent storage functions to GetValue and StoreValue. 2011-06-12 20:40:21 +00:00
terkhen dc6218aa49 (svn r22563) -Codechange: Use a function for storing values inside the persistent storage. 2011-06-12 20:38:46 +00:00
terkhen f1cde00372 (svn r22561) -Codechange: Remove constness from Object in ResolverObject. 2011-06-12 20:36:33 +00:00
terkhen 76cd19f846 (svn r22560) -Codechange: Remove constness from House in ResolverObject. 2011-06-12 20:35:37 +00:00
terkhen e8df5563db (svn r22559) -Codechange: Remove constness from Station in ResolverObject. 2011-06-12 20:34:37 +00:00
terkhen c98a8308cc (svn r22558) -Codechange: Remove constness from BaseStation in ResolverObject. 2011-06-12 20:34:03 +00:00
frosch a241a4ce97 (svn r22518) -Feature: [NewGRF] Advanced sprite layouts with register modifiers. 2011-05-29 16:56:22 +00:00
frosch e55f849a29 (svn r22457) -Codechange: Make the NewGRFSpriteLayout a direct member of TileLayoutSpriteGroup instead of allocating it separately. 2011-05-14 17:33:26 +00:00
frosch 7415b9cca2 (svn r22456) -Codechange: Derive NewGRFSpriteLayout from DrawTileSprites for spritelayouts allocated on the heap, and make use of constructors and destructors. 2011-05-14 17:25:45 +00:00
frosch 930d0c9702 (svn r22452) -Fix (r18708): Zero register 0x100 as specified before resolving custom station foundations. 2011-05-14 12:36:31 +00:00
smatz 756cc6cf65 (svn r22116) -Codechange: use PoolBase::Clean() at more places 2011-02-19 23:05:47 +00:00
rubidium 5d0da9492e (svn r21454) -Codechange: add support for object variable 48 2010-12-10 21:32:52 +00:00