Commit Graph

52973 Commits

Author SHA1 Message Date
Jonathan G Rennison
8eb86fa6c7 GRF: Use access mask when evaluating get nearby tile information variable 2022-05-31 01:32:18 +01:00
Jonathan G Rennison
7207c9330c Tile loop: Add snow line check fast path for tiles well above snow line 2022-05-30 23:53:04 +01:00
Jonathan G Rennison
d71e38446e Improve performance of string lookup in AddGRFString 2022-05-30 23:51:44 +01:00
Jonathan G Rennison
9a131a90ca Debug: Fix crash when inspecting train with realistic braking disabled
When realistic braking is otherwise enabled
2022-05-30 17:28:15 +01:00
Jonathan G Rennison
994dc683a2 VarAction2: Fix calculated result groups being incorrectly pruned 2022-05-30 17:24:26 +01:00
Jonathan G Rennison
d6015194c1 Allow ctrl-clicking other company trains on own track to start/stop
See: #392
2022-05-30 00:58:57 +01:00
Jonathan G Rennison
74eaa77538 Debug: Add sprite dump button to industry/station tile debug windows 2022-05-30 00:26:52 +01:00
Jonathan G Rennison
b102e912b3 VarAction2: Allow temp store dead store elmination with industries 2022-05-29 23:48:46 +01:00
Jonathan G Rennison
b74873a2fb Debug: Show industry production sprite group registers/values 2022-05-29 23:36:04 +01:00
Jonathan G Rennison
4687a8c2a4 VarAction2: Prune group ranges for constant values
Add chicken bit to control pruning
2022-05-29 22:40:35 +01:00
Jonathan G Rennison
c894d5a86d VarAction2: Add temp store dead store elimination 2022-05-29 22:40:35 +01:00
Jonathan G Rennison
d9358efc3d VarAction2: Handle zero adjusts simple case in callback analyser 2022-05-29 22:40:35 +01:00
Jonathan G Rennison
c38d0d0458 Debug: Show tile layout sprite group register flags/values 2022-05-29 20:50:53 +01:00
Jonathan G Rennison
4a8b2df108 Util: Add a non-dynamic arena allocator based on DynUniformArenaAllocator 2022-05-29 19:56:49 +01:00
Jonathan G Rennison
a8eb52f061 VarAction2: Simplify handling of first adjustment 2022-05-29 13:33:47 +01:00
Jonathan G Rennison
a5f5be2dff VarAction2: Detect ops on previous constants which become loads 2022-05-29 12:57:23 +01:00
Jonathan G Rennison
1fec7d6ddb VarAction2: Detect and replace reversed commutative op via temp storage 2022-05-29 12:08:49 +01:00
Jonathan G Rennison
762cfb3df7 VarAction2: Track temp store loads with respect to stores 2022-05-29 03:30:38 +01:00
Jonathan G Rennison
862d955320 Debug: Include var 7E procedures in sprite dump output 2022-05-29 03:25:14 +01:00
Jonathan G Rennison
6953150898 VarAction2: Move optimisation pass to separate function
Simplify logic slightly
2022-05-29 01:25:01 +01:00
Jonathan G Rennison
57c0ce1270 Fix public roads when traversing level crossings and other non-normal road 2022-05-29 00:18:31 +01:00
Jonathan G Rennison
145536e1fd VarAction2: Detect and replace reverse subtract via temp storage 2022-05-27 03:14:07 +01:00
Jonathan G Rennison
381aa04660 Debug: Add sprite dump button to industry debug window 2022-05-27 02:53:35 +01:00
Jonathan G Rennison
dd2e1fe956 Add chicken bit to disable varact2 optimisation 2022-05-27 00:39:57 +01:00
Jonathan G Rennison
72e2ee882e Fix 1a38cbde7: Ship viewport hash not updated on rotation 2022-05-26 23:26:57 +01:00
Jonathan G Rennison
f0a0b2e200 VarAction2: Flatten constant operations on constants in more cases 2022-05-26 22:31:02 +01:00
Jonathan G Rennison
2360b3e93e VarAction2: Detect and replace scaled reads of train/RV/ship current speed 2022-05-26 21:31:20 +01:00
Jonathan G Rennison
730b84e262 Fix load check of a savegame with realistic braking enabled triggering signal checks on current game 2022-05-26 01:13:46 +01:00
Jonathan G Rennison
13cdef2a2d VarAction2: Remove redundant and with 1 when value is already bool 2022-05-26 00:36:19 +01:00
Jonathan G Rennison
2f09eff404 VarAction2: Convert boolean, invert sequence to ternary 2022-05-26 00:12:54 +01:00
Jonathan G Rennison
90a2aa57fc VarAction2: Detect and replace signed relational comparisons 2022-05-25 23:58:44 +01:00
Jonathan G Rennison
e732042785 VarAction2: Remove redundant constant loads 2022-05-25 22:50:10 +01:00
Jonathan G Rennison
74e1a40f7c VarAction2: Remove trivially resolvable deterministic sprite groups 2022-05-25 20:29:18 +01:00
Jonathan G Rennison
3b5eede3fc VarAction2: Detect and replace operations which always produce 0 2022-05-25 20:04:36 +01:00
Jonathan G Rennison
a21ae12c90 VarAction2: Remove redundant temp store loads after stores 2022-05-25 19:17:15 +01:00
Jonathan G Rennison
db5be4f92e VarAction2: Remove constant parameter redirection via variable 7B 2022-05-25 04:12:44 +01:00
Jonathan G Rennison
08b83352bf Fix truncation of variable mapping A2VM->VPRM params wider than 8 bits
And remapped variables via variable 7B
2022-05-25 04:02:12 +01:00
Jonathan G Rennison
da629e4cfa VarAction2: Replace divs of powers of 2 with shifts where possible 2022-05-25 03:49:29 +01:00
Jonathan G Rennison
fad5973161 VarAction2: Reduce shift right and mask ops into adjust shift/mask 2022-05-25 02:53:35 +01:00
Jonathan G Rennison
012d73ef34 VarAction2: Detect equality comparisons
Remove redundant equality with 0 comparison before ternary
2022-05-25 02:23:25 +01:00
Jonathan G Rennison
7283825638 VarAction2: Detect and replace ternary operator pattern 2022-05-25 01:52:22 +01:00
Jonathan G Rennison
e3df522111 VarAction2: Delete provably zero adjustment operations 2022-05-24 23:40:29 +01:00
Jonathan G Rennison
502980ba61 Support railtype-dependant GRF train speed limits with realistic braking
See: #389
2022-05-24 21:50:38 +01:00
Jonathan G Rennison
aeac77e012 Fix engine callbacks not being analysed in newly generated games 2022-05-24 20:19:04 +01:00
Jonathan G Rennison
1a38cbde74 Fix ships not always updating in viewport map mode
Adjust sprite_seq_bounds to plausible value matching current rotation
to fix viewport update region missing vehicle tile
2022-05-23 19:17:42 +01:00
Jonathan G Rennison
cf3ea7b6af Debug: Include x_offs/y_offs in vehicle debug window 2022-05-23 19:16:19 +01:00
Jonathan G Rennison
0ac96a0da3 Show vehicle inspect window when ctrl-shift clicking in group list window 2022-05-23 19:15:57 +01:00
Jonathan G Rennison
6107aa9e5c Render an overlay of the measurement tool area in viewport map mode
See: #388
2022-05-19 00:18:07 +01:00
Jonathan G Rennison
981104e308 Add a functor fill mode to GfxFillPolygon 2022-05-19 00:12:17 +01:00
Jonathan G Rennison
9fddfdeccf Fix viewport map scrolling box blend over vehicles on animated blitters 2022-05-19 00:10:02 +01:00