Commit Graph

1829 Commits

Author SHA1 Message Date
Jonathan G Rennison
58d841486e Merge branch 'master' into jgrpp
# Conflicts:
#	src/os/windows/font_win32.cpp
#	src/script/api/script_object.hpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2022-12-27 01:00:40 +00:00
PeterN
7b5edba76c Change: Support flipping shorter engines without NewGRF support. (#10262)
* Change: Support flipping shorter engines without NewGRF support.
* Cleanup: Remove write-only prop27_set temporary flag.
2022-12-23 21:02:14 +00:00
Jonathan G Rennison
3877bb31ef Changing day length or date no longer changes time in minutes
Add offset variables for scaled date ticks.
Adjust offset when changing day length or date, such that scaled
date ticks remain the same.
Store _scaled_tick_counter and scaled date ticks offset in the savagame.
2022-12-16 19:15:46 +00:00
Jonathan G Rennison
9038c849ab VarAction2: Use scaled tick counter for NewGRF variable 0x0A 2022-12-15 18:39:47 +00:00
Jonathan G Rennison
12b20376b3 Add new landscape flag to enable drawing rocks covered by snow 2022-12-12 23:06:07 +00:00
Jonathan G Rennison
41fb98db09 Add NewGRF global flag to allow rocky tiles in tropic desert zones 2022-12-12 22:12:20 +00:00
Jonathan G Rennison
2af2c56d19 Allow various settings to be changed in multiplayer
If the corresponding TTDPatch flag bit has not been observed by a NewGRF
2022-11-10 22:34:14 +00:00
Jonathan G Rennison
6459e62fff Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/map_type.h
#	src/network/network_command.cpp
#	src/object_cmd.cpp
#	src/rail_cmd.cpp
#	src/road_cmd.cpp
#	src/road_func.h
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/settings_gui.cpp
#	src/string.cpp
#	src/table/road_land.h
#	src/table/settings/game_settings.ini
#	src/table/settings/world_settings.ini
#	src/tbtr_template_gui_main.h
#	src/train_cmd.cpp
2022-11-05 19:24:44 +00:00
PeterN
f24286a1ae Fix: Ensure 31-bit shifts are unsigned. (#10128)
Shifting a signed 32-bit integer by 31 bits is undefined behaviour.
A few more than necessary are switched to unsigned for consistentency.
2022-11-04 07:15:59 +00:00
Jonathan G Rennison
ba3bc73676 VarAction2: Fix memory leak of inlinable adjust groups 2022-11-03 20:23:31 +00:00
Jonathan G Rennison
0a9c44d1a2 Merge branch 'master' into jgrpp
# Conflicts:
#	src/airport_gui.cpp
#	src/blitter/32bpp_anim_sse4.cpp
#	src/console_cmds.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/newgrf_object.h
#	src/road_gui.cpp
#	src/widgets/road_widget.h
#	src/window.cpp
2022-10-16 20:14:13 +01:00
Michael Lutz
bd357656ba Codechange: [NewGRF] Replace magic number for default object size by a constant. 2022-10-16 18:28:08 +02:00
frosch
f4e2a462fe Cleanup: Remove unused flag sprites. 2022-10-16 14:56:52 +02:00
Jonathan G Rennison
0818ce4ae7 Merge branch 'master' into jgrpp (SLV_U64_TICK_COUNTER)
# Conflicts:
#	src/date.cpp
#	src/date_func.h
#	src/newgrf.cpp
#	src/newgrf_animation_base.h
#	src/saveload/gamelog_sl.cpp
#	src/saveload/misc_sl.cpp
#	src/saveload/saveload.h
#	src/stdafx.h
2022-10-03 19:58:31 +01:00
Jonathan G Rennison
c2ede2af54 VarAction2: Allow inlining trivial procedures 2022-10-01 22:32:00 +01:00
dP
548f0496a9 Change: Make _tick_counter 64bit to avoid wrapping (#10035) 2022-09-21 12:42:29 +02:00
Jonathan G Rennison
3d8187261a Debug: Include values when logging GRF base cost changes 2022-09-19 19:35:53 +01:00
Jonathan G Rennison
ece0a43146 Merge branch 'master' into jgrpp
# Conflicts:
#	src/newgrf_station.cpp
2022-09-14 19:43:12 +01:00
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)
2022-09-11 21:26:06 +02:00
Jonathan G Rennison
173f867e1a VarAction2: Save calculated_result in shadow group struct 2022-08-22 00:13:23 +01:00
Jonathan G Rennison
14de8c7f34 VarAction2: Add quick exit case to last-level callback groups if possible 2022-08-22 00:13:23 +01:00
Jonathan G Rennison
9c18835bd0 Move ProcessDeterministicSpriteGroupRanges into newgrf.cpp 2022-08-14 21:48:24 +01:00
Jonathan G Rennison
4601a1bfc6 Move NewGRF optimiser functions into a separate file
Create a new header for shared definitions with newgrf.cpp
2022-08-10 19:06:59 +01:00
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
2022-08-10 18:30:09 +01:00
Jonathan G Rennison
00e32162a1 VarAction2: Allow DSE to remove procedure calls 2022-08-10 00:04:32 +01:00
Jonathan G Rennison
30ecdfe140 VarAction2: Allow jumping over constant stores to special registers
Insert suitable store(s) after the end block
2022-08-09 22:53:50 +01:00
Jonathan G Rennison
3a8bd7a589 VarAction2: Allow jumps to skip over procedure calls if possible 2022-08-09 22:10:45 +01:00
Jonathan G Rennison
e143ab06d8 VarAction2: Track which temp stores may be overwritten by procedures
Instead of treating procedures as an unpredictable store
2022-08-09 18:37:00 +01:00
Jonathan G Rennison
06cc71b6c5 VarAction2: Mark suitable AND ops as jump insertion candidates 2022-08-09 18:34:01 +01:00
Jonathan G Rennison
0bddf96f7f VarAction2: Set variable for ABS op to avoid unused read from var 0 2022-08-01 18:27:21 +01:00
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
2022-07-31 00:16:40 +01:00
Jonathan G Rennison
9a4c31b0da VarAction2: Add last_value variants of JZ/JNZ ops 2022-07-30 23:32:23 +01:00
Jonathan G Rennison
cbc6199542 VarAction2: Add a JNZ op analogous to JZ for OR ops 2022-07-30 22:40:41 +01:00
Jonathan G Rennison
5ec802a3d4 VarAction2: Allow substituting perm store loads through temp store 2022-07-30 21:17:00 +01:00
Jonathan G Rennison
ed737e1a8f VarAction2: Do not remove redundant adjusts when this would break var 1C 2022-07-14 23:57:23 +01:00
Jonathan G Rennison
b9c22a0b9e VarAction2: Do not prune groups when this would break var 1C 2022-07-14 23:47:48 +01:00
Jonathan G Rennison
ae746a1af4 VarAction2: Fix tracking of whether a sprite group needs var 1C 2022-07-14 23:38:52 +01:00
Jonathan G Rennison
c19bd4473f Add signal style flag to require realistic braking 2022-06-30 21:20:43 +01:00
Jonathan G Rennison
78ae295dfe Add combined normal and shunt aspect signal style flag 2022-06-27 18:51:26 +01:00
Jonathan G Rennison
759b00262e VarAction2: Allow more than one JZ to end on the same end block adjust 2022-06-26 23:30:14 +01:00
Jonathan G Rennison
9775f468e8 VarAction2: Fix jump insertion moving the end marker for another jump 2022-06-26 22:53:07 +01:00
Jonathan G Rennison
89f66236ff VarAction2: Fix SHR/SAR mixup in check for merge with prior RST 2022-06-25 20:51:09 +01:00
Jonathan G Rennison
a311f12615 Add signals_style_lookahead_single_signal_only signal style property 2022-06-25 01:29:08 +01:00
Jonathan G Rennison
fcae909839 Add signal style flag for drawing on the opposite side 2022-06-22 23:45:44 +01:00
Jonathan G Rennison
229613b06a VarAction2: Resolve jumps in advance to avoid needing to track nesting 2022-06-22 02:09:13 +01:00
Jonathan G Rennison
387e646439 VarAction2: Add group flag for whether to run jump insert pass 2022-06-20 18:46:31 +01:00
Jonathan G Rennison
3714fad790 VarAction2: Fix jump insertion using mul with bool as last value 2022-06-20 18:41:09 +01:00
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
2022-06-20 18:23:52 +01:00
Jonathan G Rennison
191f710c40 Add custom signal style properties to set electric/semaphore enabled types 2022-06-19 17:43:46 +01:00
Jonathan G Rennison
175c5d4d50 Add signal style flag to limit lookahead extra aspect 2022-06-19 12:46:56 +01:00