Commit Graph

53064 Commits

Author SHA1 Message Date
Jonathan G Rennison
f54530b1b2 VarAction2: Add checks for vars 7B, 7C when getting previous single load 2022-06-07 19:53:42 +01:00
Jonathan G Rennison
a8c0e47dd8 VarAction2: If DSE results in a redundant load, remove it 2022-06-07 19:25:08 +01:00
Jonathan G Rennison
86324e0fda Debug: Add mode to sprite dump window to show unoptimised 2022-06-07 18:54:42 +01:00
Jonathan G Rennison
22e10462dc Debug: Redraw debug window content if line change moves scroll position 2022-06-07 18:32:46 +01:00
Jonathan G Rennison
a818157c57 Debug: Add button to duplicate debug window 2022-06-07 17:23:10 +01:00
Jonathan G Rennison
74681f70d9 VarAction2: Replace inverted OR of bools with AND where this makes sense 2022-06-06 23:13:09 +01:00
Jonathan G Rennison
e41a5d2f63 VarAction2: Add flags to skip adjust if value is 0 or LSB set 2022-06-06 23:04:45 +01:00
Jonathan G Rennison
236cbc4e83 VarAction2: Optimise SAR same as SHR on unsigned inputs 2022-06-06 22:47:53 +01:00
Jonathan G Rennison
9d04ebcc90 VarAction2: Remove operations which always do nothing when applied to 0 2022-06-06 22:20:16 +01:00
Jonathan G Rennison
26dd84f931 VarAction2: Optimise OR followed by XOR of same constant 2022-06-06 22:17:14 +01:00
Jonathan G Rennison
3aa0ccb97b VarAction2: Optimise OR which always produces 1 2022-06-06 22:17:14 +01:00
Jonathan G Rennison
9b0a7ac85e Debug: Don't unnecessarily show numeric value of adjust operator 2022-06-06 22:06:52 +01:00
Jonathan G Rennison
dc8465dc68 VarAction2: Shrink enum fields of DeterministicSpriteGroupAdjust 2022-06-06 21:38:12 +01:00
Jonathan G Rennison
2663cc3fdc VarAction2: Adjust masking in GetNearbyTileInformation 2022-06-06 21:10:54 +01:00
Jonathan G Rennison
4b7288902d VarAction2: Consider industry tile vars 0x60 to 0x62 to be expensive 2022-06-06 21:10:40 +01:00
Jonathan G Rennison
3a5902ff77 VarAction2: Reduce cost of RecursiveDisallowDSEForProcedure
Fix disallowing DSE also disallowing store simplification
2022-06-06 20:09:48 +01:00
Jonathan G Rennison
894c8d8b5e NewGRF: Shrink various flags/enum fields 2022-06-06 20:01:25 +01:00
Jonathan G Rennison
c342b4219b NewGRF: Use per-GRF text ID map in GetGRFStringID 2022-06-06 19:34:22 +01:00
Jonathan G Rennison
7a61b5d820 VarAction2: Cache refit capacity callback results which depend only on cargo 2022-06-06 18:34:30 +01:00
Jonathan G Rennison
fcd9137a9f Change OTTD_PRINTFHEX... defines to uppercase 2022-06-06 17:54:58 +01:00
Jonathan G Rennison
a9ca89d0f8 VarAction2: Move cb_result_found to a flags var in AnalyseCallbackOperation 2022-06-06 17:44:47 +01:00
Jonathan G Rennison
f5f48e89dc Debug: Show all sprite groups for vehicles in debug window 2022-06-06 02:07:21 +01:00
Jonathan G Rennison
6825ea5e79 Debug: Show name of root sprite group shown in vehicle debug window 2022-06-06 01:33:27 +01:00
Jonathan G Rennison
c3bc05f7b9 VarAction2: Add access to variable 1A to inline/fast path switch 2022-06-06 01:27:53 +01:00
Jonathan G Rennison
3ea1e27fdd Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/spanish_MX.txt
#	src/lang/traditional_chinese.txt
#	src/script/api/script_airport.cpp
#	src/script/api/script_rail.cpp
2022-06-06 01:05:00 +01:00
Jonathan G Rennison
b2d8f3ce43 Add setting to disable water animation depending on zoom level 2022-06-06 00:18:08 +01:00
Jonathan G Rennison
5055167c44 Add support for enum client settings 2022-06-06 00:18:08 +01:00
Jonathan G Rennison
cdbc758dba Documentation: Fix spelling error and redundant text 2022-06-06 00:18:08 +01:00
Jonathan G Rennison
1518e4621b Fix unused function warning in crash logger on Emscripten 2022-06-05 16:10:15 +01:00
Jonathan G Rennison
f05b5163f7 Fix narrowing converison warning 2022-06-05 16:09:50 +01:00
Jonathan G Rennison
13bb4fc47b Documentation: Update low level changes document 2022-06-05 15:54:22 +01:00
Jonathan G Rennison
cf640cc0cf Debug: Add sprite group collapsing to sprite group dump window 2022-06-04 21:08:35 +01:00
Jonathan G Rennison
bbc1e28b24 VarAction2: Re-use allocated callback result sprite groups 2022-06-04 20:31:09 +01:00
Jonathan G Rennison
9c86f90bdd Industry cargoes window: Allow linking only inputs or outputs to smallmap 2022-06-04 19:42:28 +01:00
Jonathan G Rennison
e49d0b3f29 Add console command to set NewGRF optimiser flags 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
e5ef888e80 VarAction2: Add variable/constant copy store simplifification 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
a93b3948b5 VarAction2: Don't change variable masks when disabling procedure DSE 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
3d42e36f89 VarAction2: Avoid pessimising DSE when a procedure returns a callback result 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
9e414a1eab VarAction2: Move optimiser flags to a separate setting 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
6ff8066d34 VarAction2: Ensure that a temp store var can't reference a clobbered var 2022-06-04 02:12:23 +01:00
Jonathan G Rennison
fe6ab0f19f VarAction2: Don't track var copies through temporary storage for stations
Except for copies of other temporary storage vars
2022-06-03 23:28:43 +01:00
Jonathan G Rennison
db7f29b07c VarAction2: Deduplicate loads from expensive uncached variables
Currently only some vehicle variables
2022-06-03 20:14:30 +01:00
Jonathan G Rennison
6a17f00a27 VarAction2: Ensure dead store elimination doesn't break variable 0x7B 2022-06-03 19:13:07 +01:00
Jonathan G Rennison
813146a78f VarAction2: Track value inferences through temp storage in more cases 2022-06-03 16:04:57 +01:00
Jonathan G Rennison
ccef3646db VarAction2: Set value inferences for operations with eq/neq adjust types 2022-06-03 16:04:44 +01:00
Jonathan G Rennison
04a9c73ec2 VarAction2: Combine RST, UMIN sequence to load with neq 0 adjust 2022-06-03 15:34:50 +01:00
Jonathan G Rennison
9116ca6bb0 VarAction2: Track copies of variables through temporary storage 2022-06-03 15:23:33 +01:00
Jonathan G Rennison
263a87f5da VarAction2: Add adjust types for combined (in)equality with constant 2022-06-03 14:17:15 +01:00
Jonathan G Rennison
1e52e51ce1 VarAction2: Add bounds checks to previous adjust accesses 2022-06-03 14:00:00 +01:00
Jonathan G Rennison
c2fde53495 VarAction2: Remove redundant variable loads 2022-06-03 12:51:58 +01:00