Commit Graph

108 Commits

Author SHA1 Message Date
frosch
a537fd5d0e (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
30f73d907a (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
29dca1be3b (svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent. 2018-03-11 13:19:41 +00:00
frosch
ffdcbb8f21 (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
ce92faf682 (svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor. 2014-03-03 20:02:31 +00:00
frosch
b0680afaa5 (svn r26387) -Cleanup (r26173): No need to manually clear registers before resolving. 2014-03-03 19:32:53 +00:00
frosch
badbd2f894 (svn r26172) -Codechange: Make SpriteGroup::Resolve aware of nested calls. 2013-12-23 18:08:16 +00:00
frosch
6c63c98d7f (svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL. 2013-11-24 14:41:19 +00:00
planetmaker
f00d9976f9 (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
frosch
f5131bd588 (svn r24695) -Fix/Cleanup: Remove remaining (incorrect) usages of ResolverObject::scope and count. 2012-11-11 12:57:27 +00:00
alberth
6c1ff5f772 (svn r24693) -Doc: Add some doxymentation into the newgrf code. 2012-11-10 20:46:39 +00:00
alberth
8a297ca5f1 (svn r24692) -Cleanup: Cleanup final parts of the old resolver code. 2012-11-10 20:45:59 +00:00
alberth
7b18c31f37 (svn r24691) -Codechange: Add resolver classes for vehicles. 2012-11-10 20:45:04 +00:00
alberth
c70c67d5b0 (svn r24690) -Codechange: Add resolver classes for industry tiles. 2012-11-10 20:44:38 +00:00
alberth
189758f2ef (svn r24688) -Codechange: Add resolver classes for generics. 2012-11-10 20:43:40 +00:00
alberth
44a364565d (svn r24687) -Codechange: Add resolver classes for airports. 2012-11-10 20:42:50 +00:00
alberth
a2fe66cc02 (svn r24685) -Codechange: Add resolver classes for rail types. 2012-11-10 20:41:45 +00:00
alberth
87122038fc (svn r24684) -Codechange: Add resolver classes for stations. 2012-11-10 20:41:08 +00:00
alberth
687d34e844 (svn r24683) -Codechange: Add resolver classes for objects. 2012-11-10 20:40:46 +00:00
alberth
2609cce514 (svn r24682) -Codechange: Add resolver classes for houses. 2012-11-10 20:40:05 +00:00
alberth
4b20318b5d (svn r24681) -Codechange: Add resolver classes for cargoes. 2012-11-10 20:39:39 +00:00
alberth
bc123873cf (svn r24680) -Codechange: Add resolver classes for canals. 2012-11-10 20:39:11 +00:00
alberth
818332f3e8 (svn r24679) -Codechange: Add resolver classes for towns. 2012-11-10 20:38:46 +00:00
alberth
6a619b40d5 (svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes. 2012-11-10 20:37:31 +00:00
rubidium
0cfe86cead (svn r23735) -Codechange: remove ~50 includes from headers that weren't needed 2012-01-03 20:26:05 +00:00
frosch
46e77ee24f (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
6eb0ebf7df (svn r23136) -Change: [NewGRF v8] Deprecate old-style callback results 0xFF??. 2011-11-08 17:22:19 +00:00
michi_cc
f0ffa534de (svn r23072) -Feature: [NewGRF] House callback 0x148. 2011-10-31 22:31:40 +00:00
frosch
bf664cd68d (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
bd696a6288 (svn r22923) -Codechange: Move application of the construction stage into TileLayoutSpriteGroup::ProcessRegisters(). 2011-09-11 15:09:13 +00:00
frosch
7a7b16336f (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
1e0ac7f232 (svn r22723) -Fix: Do not restrict AdvVarAct2 to 255 operations. 2011-08-06 13:17:18 +00:00
michi_cc
5a85a32413 (svn r22659) -Add: [NewGRF] Support for the land slope check callback for stations. 2011-07-11 16:32:35 +00:00
frosch
0f8065fef4 (svn r22635) -Fix: Correctly reseed random bits of industries and industry tiles. 2011-07-04 20:37:20 +00:00
frosch
e2a5d69cb7 (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
3d96adb03f (svn r22564) -Codechange: Rename Get and Store persistent storage functions to GetValue and StoreValue. 2011-06-12 20:40:21 +00:00
terkhen
ac4f4447e0 (svn r22563) -Codechange: Use a function for storing values inside the persistent storage. 2011-06-12 20:38:46 +00:00
terkhen
58e70e26f2 (svn r22561) -Codechange: Remove constness from Object in ResolverObject. 2011-06-12 20:36:33 +00:00
terkhen
92c429e3ee (svn r22560) -Codechange: Remove constness from House in ResolverObject. 2011-06-12 20:35:37 +00:00
terkhen
431fba8852 (svn r22559) -Codechange: Remove constness from Station in ResolverObject. 2011-06-12 20:34:37 +00:00
terkhen
faa77c9bc4 (svn r22558) -Codechange: Remove constness from BaseStation in ResolverObject. 2011-06-12 20:34:03 +00:00
frosch
becf6c823f (svn r22518) -Feature: [NewGRF] Advanced sprite layouts with register modifiers. 2011-05-29 16:56:22 +00:00
frosch
5ca3ac41f0 (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
90337d88dd (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
7130afef14 (svn r22452) -Fix (r18708): Zero register 0x100 as specified before resolving custom station foundations. 2011-05-14 12:36:31 +00:00
smatz
c85e1c3089 (svn r22116) -Codechange: use PoolBase::Clean() at more places 2011-02-19 23:05:47 +00:00
rubidium
e590fe22ac (svn r21454) -Codechange: add support for object variable 48 2010-12-10 21:32:52 +00:00
rubidium
e014667eae (svn r20660) -Codechange: implement (most) of action2 support for objects 2010-08-28 18:49:39 +00:00
rubidium
360d6daf34 (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
rubidium
3a6c4c2f85 (svn r20624) -Codechange: some constifying for NewGRF house 2010-08-26 16:48:32 +00:00