Commit Graph

53000 Commits

Author SHA1 Message Date
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
Jonathan G Rennison
4660169b1f Do not emit screenshots for desync and inconsistency events 2022-06-03 10:43:52 +01:00
Jonathan G Rennison
99ee4b13ce Realistic braking: Cache train overall z position
Refresh cache at a variable rate depending on train length and
weight distribution
2022-06-03 00:41:41 +01:00
Jonathan G Rennison
c238bd5012 Debug: Add temp store highlighting to sprite group dump window
Add tooltip
2022-06-02 20:07:18 +01:00
Jonathan G Rennison
6d4da8afd4 Add setting to ignore object introduction dates 2022-06-02 14:06:21 +01:00
Jonathan G Rennison
6fce46304a Add setting to disable object expiry after a given year 2022-06-02 13:29:03 +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
ce98daedce Util: Add a y-combinator template class 2022-06-01 22:34:06 +01:00
Jonathan G Rennison
564d7e5029 Debug: Allow clicking to highlight group in sprite group dump window 2022-06-01 21:31:05 +01:00
Jonathan G Rennison
6d877b5e70 Reduce redundant calls to get current max speed for trains and RVs
Between ShowVisualEffect() and UpdateSpeed()
2022-06-01 20:05:45 +01:00
Jonathan G Rennison
af270a63ad Industry: Apply anim tile masking when loading prior version saves 2022-06-01 01:21:58 +01:00
Jonathan G Rennison
42e20d3d99 Industry: Determine which tiles in industry layouts are not animated
Do not set these as animated tiles for new industries
2022-06-01 01:13:46 +01:00
Jonathan G Rennison
220390ed3e Crashlog: Support gdb read when /dev/null is missing 2022-05-31 22:58:16 +01:00
Jonathan G Rennison
d83f0d0cda Crashlog: Use a temp file instead of a pipe to read from gdb/lldb 2022-05-31 22:01:52 +01:00
Jonathan G Rennison
4a0fa0cc75 Crashlog: Do not try to read from other executables if /dev/null is missing 2022-05-31 21:38:02 +01:00
Jonathan G Rennison
9d0e3e22b7 Fix being able to add/remove/modify tunnel/bridge signals when occupied 2022-05-31 21:18:30 +01:00
Jonathan G Rennison
304f88dc40 VarAction2: Fix callback result detection in AnalyseEngineCallbacks 2022-05-31 17:41:35 +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
541294e845 Debug: Add misc debug bit for animated tile zoning overlay 2022-05-31 01:32:48 +01:00
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