Commit Graph

1862 Commits

Author SHA1 Message Date
Jonathan G Rennison
c2fde53495 VarAction2: Remove redundant variable loads 2022-06-03 12:51:58 +01:00
Jonathan G Rennison
30f74c5b74 Sprite group: Add getter function for sprite groups 2022-06-01 23:47:03 +01:00
Jonathan G Rennison
d8f9641dc9 VarAction2: Remove redundant UMIN operation on already boolean values 2022-06-01 23:01:50 +01:00
Jonathan G Rennison
3c9201ebd5 VarAction2: Fix dead store elimination through randomised sprite groups 2022-06-01 22:36:04 +01:00
Jonathan G Rennison
e0581db2a1 VarAction2: Remove dead stores and redundant adjusts in more cases 2022-05-31 03:26:45 +01:00
Jonathan G Rennison
d71e38446e Improve performance of string lookup in AddGRFString 2022-05-30 23:51:44 +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
b102e912b3 VarAction2: Allow temp store dead store elmination with industries 2022-05-29 23:48:46 +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
Niels Martin Hansen
5587e439a9 Fix: Industry layouts with zero regular tiles should be invalid 2022-05-29 16:34:30 +02: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
6953150898 VarAction2: Move optimisation pass to separate function
Simplify logic slightly
2022-05-29 01:25:01 +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
dd2e1fe956 Add chicken bit to disable varact2 optimisation 2022-05-27 00:39: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
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
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
a54416afbc Add GRF variable to use extra station names even when default names remain 2022-04-18 20:06:21 +01:00
Jonathan G Rennison
34af4844d1 Merge branch 'master' into jgrpp 2022-04-02 14:16:32 +01:00
Michael Lutz
08a5478a93 Add: [NewGRF] Map seed as global variable.
This is useful to provide a feature-agnostic, stable random value that differs between games.
One of the possible uses is to e.g. use it to create pseudo-random regions for towns or industries.
2022-03-13 14:20:23 +01:00
Jonathan G Rennison
cb573a1523 Add road stop property to set cost multipliers 2022-02-24 21:13:46 +00:00
Jonathan G Rennison
5a2cc24190 Fix initialisation of new road stop specs 2022-02-24 00:02:47 +00:00
Jonathan G Rennison
2cbbae16da Add roadstop GRF properties to set bridge heights and disallowed pillars 2022-02-15 18:21:32 +00:00
Jonathan G Rennison
23c472d2a0 Add support for road stop animation, availability callback
Add animation, callback mask, general flags properties
Add animation frame variables
2022-02-15 00:22:18 +00:00
Jonathan G Rennison
67d967befb Add road stop support for Action 3 cargo type groups 2022-02-14 19:54:51 +00:00
Jonathan G Rennison
a69eba31fe Implement NewGRF road stop root sprite group selection 2022-02-14 00:31:14 +00:00
Jonathan G Rennison
1084bb8566 Initial support for NewGRF road stops (bus and lorry stops) 2022-02-14 00:31:14 +00:00
Jonathan G Rennison
a3c003546b Implement extended NewGRF variable parameter support 2022-02-13 22:57:30 +00:00
Jonathan G Rennison
d4f11eca42 Add NewGRF object properties to set viewport map mode/smallmap tile type 2022-02-07 01:16:45 +00:00
Jonathan G Rennison
a03453da49 Add properties to set lighthouse and transmitter generation amounts 2022-01-28 23:35:31 +00:00
Jonathan G Rennison
eeef6c485a Initial implementation of NewGRF feature ID mapping 2022-01-28 22:39:46 +00:00
Jonathan G Rennison
ef3916928c Initial abstraction around NewGRF feature ID bytes 2022-01-27 21:09:45 +00:00
Jonathan G Rennison
bb848331b6 Fix narrowing conversion warning 2022-01-24 21:57:44 +00:00
Jonathan G Rennison
33dc6c9688 Add NewGRF VarAction2 variable remapping infrastructure 2022-01-24 02:01:09 +00:00