Jonathan G Rennison
|
ece0a43146
|
Merge branch 'master' into jgrpp
# Conflicts:
# src/newgrf_station.cpp
|
2 years ago |
frosch
|
e2c46fda3f
|
Fix: [NewGRF] Ensure that stations always have an even number of sprite layouts.
The drawing code has a special fallbacks for zero layouts, but fails hard for one layout.
(odd numbers >= 3 are weird, but do not fail as badly as 1)
|
2 years ago |
Jonathan G Rennison
|
173f867e1a
|
VarAction2: Save calculated_result in shadow group struct
|
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
|
9c18835bd0
|
Move ProcessDeterministicSpriteGroupRanges into newgrf.cpp
|
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 |
Jonathan G Rennison
|
3d59c961a6
|
VarAction2: Avoid group variable tracking coupling through shared procs
Output dependencies on a procedure shouldn't propagate into input
dependencies on unrelated call sites in different groups
|
2 years ago |
Jonathan G Rennison
|
00e32162a1
|
VarAction2: Allow DSE to remove procedure calls
|
2 years ago |
Jonathan G Rennison
|
30ecdfe140
|
VarAction2: Allow jumping over constant stores to special registers
Insert suitable store(s) after the end block
|
2 years ago |
Jonathan G Rennison
|
3a8bd7a589
|
VarAction2: Allow jumps to skip over procedure calls if possible
|
2 years ago |
Jonathan G Rennison
|
e143ab06d8
|
VarAction2: Track which temp stores may be overwritten by procedures
Instead of treating procedures as an unpredictable store
|
2 years ago |
Jonathan G Rennison
|
06cc71b6c5
|
VarAction2: Mark suitable AND ops as jump insertion candidates
|
2 years ago |
Jonathan G Rennison
|
0bddf96f7f
|
VarAction2: Set variable for ABS op to avoid unused read from var 0
|
2 years ago |
Jonathan G Rennison
|
7af568f0f0
|
VarAction2: Handle case where expensive vars are only conditionally read
Within a JZ_LV and in prior DSGAF_SKIP_ON_ZERO op
|
2 years ago |
Jonathan G Rennison
|
9a4c31b0da
|
VarAction2: Add last_value variants of JZ/JNZ ops
|
2 years ago |
Jonathan G Rennison
|
cbc6199542
|
VarAction2: Add a JNZ op analogous to JZ for OR ops
|
2 years ago |
Jonathan G Rennison
|
5ec802a3d4
|
VarAction2: Allow substituting perm store loads through temp store
|
2 years ago |
Jonathan G Rennison
|
ed737e1a8f
|
VarAction2: Do not remove redundant adjusts when this would break var 1C
|
2 years ago |
Jonathan G Rennison
|
b9c22a0b9e
|
VarAction2: Do not prune groups when this would break var 1C
|
2 years ago |
Jonathan G Rennison
|
ae746a1af4
|
VarAction2: Fix tracking of whether a sprite group needs var 1C
|
2 years ago |
Jonathan G Rennison
|
c19bd4473f
|
Add signal style flag to require realistic braking
|
2 years ago |
Jonathan G Rennison
|
78ae295dfe
|
Add combined normal and shunt aspect signal style flag
|
2 years ago |
Jonathan G Rennison
|
759b00262e
|
VarAction2: Allow more than one JZ to end on the same end block adjust
|
2 years ago |
Jonathan G Rennison
|
9775f468e8
|
VarAction2: Fix jump insertion moving the end marker for another jump
|
2 years ago |
Jonathan G Rennison
|
89f66236ff
|
VarAction2: Fix SHR/SAR mixup in check for merge with prior RST
|
2 years ago |
Jonathan G Rennison
|
a311f12615
|
Add signals_style_lookahead_single_signal_only signal style property
|
2 years ago |
Jonathan G Rennison
|
fcae909839
|
Add signal style flag for drawing on the opposite side
|
2 years ago |
Jonathan G Rennison
|
229613b06a
|
VarAction2: Resolve jumps in advance to avoid needing to track nesting
|
2 years ago |
Jonathan G Rennison
|
387e646439
|
VarAction2: Add group flag for whether to run jump insert pass
|
2 years ago |
Jonathan G Rennison
|
3714fad790
|
VarAction2: Fix jump insertion using mul with bool as last value
|
2 years ago |
Jonathan G Rennison
|
4af3022c45
|
VarAction2: Fix last variable read annotations being incorrect
This is because DSE variable substitutions/etc were applied afterwards
This broke jump insertion
|
2 years ago |
Jonathan G Rennison
|
191f710c40
|
Add custom signal style properties to set electric/semaphore enabled types
|
2 years ago |
Jonathan G Rennison
|
175c5d4d50
|
Add signal style flag to limit lookahead extra aspect
|
2 years ago |
Jonathan G Rennison
|
bdd73a19a1
|
Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
|
2 years ago |
Jonathan G Rennison
|
7ae06124ae
|
Add signal style flag for no aspect increase behaviour (banner repeater)
|
2 years ago |
Jonathan G Rennison
|
6e4c4b35e7
|
Initial implementation of NewGRF custom signal styles
|
2 years ago |
Jonathan G Rennison
|
4acccc232a
|
Fix #9925: Industry tile layout validation for layouts of only one tile
|
2 years ago |
Jonathan G Rennison
|
098bb74ed2
|
Fix industry tile layout validation when the layout has only one tile
See: https://github.com/OpenTTD/OpenTTD/issues/9925
|
2 years ago |
Jonathan G Rennison
|
13fcde9ea0
|
VarAction2: Add a JZ operation, use for ternary style mul masking
|
2 years ago |
Jonathan G Rennison
|
8687b82dd8
|
VarAction2: Mark various object variables as expensive
|
2 years ago |
Jonathan G Rennison
|
c0b1f867a3
|
VarAction2: Prefer tracking store content as clone of another store
|
2 years ago |
Jonathan G Rennison
|
315f12f1e4
|
Fix spelling error in comment
|
2 years ago |
Jonathan G Rennison
|
7bb0de247d
|
Add GRF feature: New Landscape
Custom graphics using actions 1/2/3.
Currently only for rock tiles
|
2 years ago |
Jonathan G Rennison
|
5a02a13885
|
VarAction2: Add abs() detection to bool/mul adjust combining
|
2 years ago |
Jonathan G Rennison
|
e554d7fdfb
|
VarAction2: Generalise bool/mul adjust combining
|
2 years ago |
Jonathan G Rennison
|
3e56837ae6
|
Fix bec2bf7e: Fix (anti-)commutative store/load re-arrangements
|
2 years ago |
Jonathan G Rennison
|
34cd547325
|
Debug: Show if action 2s have been modified by action 6 in debug window
|
2 years ago |
Jonathan G Rennison
|
6214d0d20d
|
VarAction2: Add an ABS opcode
|
2 years ago |
Jonathan G Rennison
|
7f1b3a965f
|
VarAction2: Allow tracking stores as (inverted) clones of previous store
|
2 years ago |
Jonathan G Rennison
|
bec2bf7e85
|
VarAction2: Initial temp store versioning in 1st pass
|
2 years ago |