Commit Graph

45 Commits (d793da4034f0d93927b2a0d8b4dd9825d3c6c33b)

Author SHA1 Message Date
Jonathan G Rennison f532970014 VarAction2: Add extra DSG flag for early exit when executing CBs
For when some branches of a non CB switch DSG contain CB switches,
but some don't and so would end up on the graphics chain, as there is
no further CB switch to exit at
7 months ago
Jonathan G Rennison ca23e31986 Add railtype variable for adjacent crossing information 7 months ago
Jonathan G Rennison c49651ae7b VarAction2: Use reserve and shrink_to_fit for DSG adjusts vector 11 months ago
Jonathan G Rennison bc00753996 NewGRF stations: Remove extended version of varuiable 68 1 year ago
Jonathan G Rennison bdb9a72aa4 NewGRF: Add/extend station variables for station info of nearby tiles
In preparation for support of more than 255 stations per GRF
1 year ago
Jonathan G Rennison 1dbbbed9e5 NewGRF: Only extend value of road stops variable 68 if feature tested for 1 year ago
Jonathan G Rennison e02585f68e Add railtype and signals variables for signal vertical clearance 1 year ago
Jonathan G Rennison 57c5cc32d0 VarAction2: Improve handling of feature changes with parent scopes 1 year ago
Jonathan G Rennison b1ba2bef4b VarAction2: Use const for prev_inference flags 1 year ago
Jonathan G Rennison 439c1208d7 VarAction2: Optimise unknown reads from 0x11 as constant 0 1 year ago
Jonathan G Rennison c592b38067 VarAction2: Combine object slope ^ foundation_change_tile_slope sequence 1 year ago
Jonathan G Rennison d793a70dfe VarAction2: Fix reg tracking through previously handled procedures
See: #479
1 year ago
Jonathan G Rennison 87f8e56534 VarAction2: Fix applying station layout reg bits to multiple sprite groups
See: #479
1 year ago
Jonathan G Rennison ca11c66cb8 VarAction2: Allow DSE with rail stations 2 years ago
Jonathan G Rennison 381b2b536d VarAction2: Implement register tracking for rail station adv tile layouts 2 years ago
Jonathan G Rennison 4b51a3eda8 VarAction2: Mark applicable rail station variables as expensive 2 years ago
Jonathan G Rennison 546ad0b43c VarAction2: Mark applicable road stops variables as expensive 2 years ago
Jonathan G Rennison 0e5a09974a VarAction2: Fix detection of callback handlers which don't inspect var C 2 years ago
Jonathan G Rennison 5a419e4bdd VarAction2: Detect callback switches which include other adjusts 2 years ago
Jonathan G Rennison bcb917d8c2 VarAction2: Avoid CB quick exit dropping CBID_RANDOM_TRIGGER callbacks 2 years ago
Jonathan G Rennison 51b39b68b7 VarAction2: Fix technical undefined behaviour advancing iterator
Fixes error when using debug mode containers
2 years ago
Jonathan G Rennison f41624d7b2 VarAction2: Fix parent/child type of sprite register analysis 2 years ago
Jonathan G Rennison 419c356f30 VarAction2: Remove mul and div operations with constant 1 2 years ago
Jonathan G Rennison 311b4ebe9d VarAction2: Avoid marking a duplicate store as a clone of itself 2 years ago
Jonathan G Rennison 9e95b3d807 VarAction2: Limit iteration count when substituting variable loads 2 years ago
Jonathan G Rennison c2ede2af54 VarAction2: Allow inlining trivial procedures 2 years ago
Jonathan G Rennison 77f25a48a9 Only show/use appropriate parent or child registers in tile layout group
Do not use both
2 years ago
Jonathan G Rennison 6c80944c38 VarAction2: Fix variable propagation when a group had only pending bits 2 years ago
Jonathan G Rennison f381e45d5b VarAction2: Fix DSE for non-leaf procedure groups 2 years ago
Jonathan G Rennison 2a41854f6b VarAction2: Infer ternary add result is bool if both branches are bool 2 years ago
Jonathan G Rennison 8c94ba0dc8 VarAction2: Infer that multiplying two bools results in bool 2 years ago
Jonathan G Rennison 602ac717aa Initial support for DSE and jumping over procedures with child groups 2 years ago
Jonathan G Rennison 916441d943 VarAction2: Avoid turning skip on zero/LSB set sequences into jumps 2 years ago
Jonathan G Rennison 4fd8634ff9 VarAction2: Remove trivially redundant special stores 2 years ago
Jonathan G Rennison d9aa2d6138 VarAction2: Extend group cast to bool range elision
Handle opposite arrangement of range and default group
2 years ago
Jonathan G Rennison df6b9d355f VarAction2: Simplify store, load with bool/invert, ternary sequence in DSE 2 years ago
Jonathan G Rennison 14de8c7f34 VarAction2: Add quick exit case to last-level callback groups if possible 2 years ago
Jonathan G Rennison 35063b2176 VarAction2: Ensure group pruning can't break var 1C via random groups 2 years ago
Jonathan G Rennison 3676b0912d VarAction2: Fix inference handling when pruning ops prior to RST 2 years ago
Jonathan G Rennison c60e3fed99 VarAction2: Do not re-assign error group
When pruning ranges of group with constant result
2 years ago
Jonathan G Rennison e335c86e77 VarAction2: Elide group ranges as cast to bool when result is already bool 2 years ago
Jonathan G Rennison b04d1295cd VarAction2: Infer that unsigned mod 2 results in 0 or 1 2 years ago
Jonathan G Rennison 9c18835bd0 Move ProcessDeterministicSpriteGroupRanges into newgrf.cpp 2 years ago
Jonathan G Rennison c58b94c376 VarAction2: DSE: Allow setting skip on zero flag on skippable procedures 2 years ago
Jonathan G Rennison 4601a1bfc6 Move NewGRF optimiser functions into a separate file
Create a new header for shared definitions with newgrf.cpp
2 years ago