Commit Graph

1695 Commits

Author SHA1 Message Date
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
Jonathan G Rennison
1a4b0d6ecf Prevent NewGRFs from using Action A to replace internal sprites 2022-01-17 18:23:15 +00:00
Jonathan G Rennison
b807f0d50e Fix setting of object spec ctrl flags from GRF properties 2021-12-08 03:35:56 +00:00
Jonathan G Rennison
24fb390e9f Add NewGRF object property for flood-resistance
Does not imply being able to be built on water
2021-12-05 21:46:09 +00:00
Jonathan G Rennison
d9116106ca Add NewGRF object property for new edge foundation mode 2021-12-05 21:33:56 +00:00
Jonathan G Rennison
ff714b7648 Add setting to disable "big GUI" NewGRFs 2021-12-05 13:40:56 +00:00
Jonathan G Rennison
924ffb013f Add NewGRF object property/flag to use land as object ground sprite
This handles variable ground densities, snow/desert, etc.
2021-12-05 11:54:13 +00:00
Jonathan G Rennison
906fde15c7 Move NewGRF extension feature/property lists to separate file 2021-12-03 21:01:56 +00:00
Jonathan G Rennison
0691b25e17 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/afterload.cpp
2021-11-20 13:15:32 +00:00
Jonathan G Rennison
fc58ed9987 Codechange: Remove CargoSpec::multipliertowngrowth which is unused (#9701)
This is set by cargo property 19.
This property is only implemented in TTDPatch.
2021-11-16 22:48:21 +00:00
Jonathan G Rennison
3d4261a33a Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
#	src/table/settings/news_display_settings.ini
2021-11-08 00:44:18 +00:00
Michael Lutz
95c8467670 Fix 65cbde4b: Writing to uninitialized string when loading a currency NewGRF. 2021-11-06 19:15:29 +01:00
Jonathan G Rennison
9e946d4c5d Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/command.cpp
#	src/console_cmds.cpp
#	src/group_gui.cpp
#	src/lang/catalan.txt
#	src/lang/czech.txt
#	src/lang/danish.txt
#	src/lang/greek.txt
#	src/lang/hungarian.txt
#	src/lang/irish.txt
#	src/lang/japanese.txt
#	src/lang/luxembourgish.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/romanian.txt
#	src/lang/russian.txt
#	src/lang/serbian.txt
#	src/lang/simplified_chinese.txt
#	src/lang/slovak.txt
#	src/lang/spanish_MX.txt
#	src/lang/swedish.txt
#	src/lang/tamil.txt
#	src/lang/traditional_chinese.txt
#	src/lang/turkish.txt
#	src/lang/ukrainian.txt
#	src/lang/vietnamese.txt
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/saveload/afterload.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/saveload.h
#	src/script/script_instance.cpp
#	src/toolbar_gui.cpp
#	src/toolbar_gui.h
#	src/vehicle_gui.cpp
#	src/widgets/rail_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
2021-11-03 00:45:12 +00:00
Jonathan G Rennison
3ef1a0943b Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/chuvash.txt
#	src/lang/czech.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/german.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/russian.txt
#	src/tree_gui.cpp
#	src/vehicle.cpp
2021-11-02 21:11:11 +00:00
Jonathan G Rennison
faf32200cf Merge tag '12.0-beta1' into jgrpp-beta
# Conflicts:
#	CMakeLists.txt
#	bin/ai/CMakeLists.txt
#	bin/game/CMakeLists.txt
#	src/build_vehicle_gui.cpp
#	src/console_cmds.cpp
#	src/core/overflowsafe_type.hpp
#	src/fios.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/polish.txt
#	src/network/core/game_info.cpp
#	src/network/core/game_info.h
#	src/network/core/tcp_game.cpp
#	src/network/core/tcp_game.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_coordinator.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf_engine.cpp
#	src/openttd.cpp
#	src/rev.cpp.in
#	src/settings_type.h
#	src/train.h
#	src/train_cmd.cpp
2021-11-02 17:51:38 +00:00
Jonathan G Rennison
f764fcfb1f Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/console_cmds.cpp
#	src/debug.cpp
#	src/lang/vietnamese.txt
#	src/network/core/address.cpp
#	src/network/core/address.h
#	src/network/core/config.h
#	src/network/core/os_abstraction.cpp
#	src/network/core/os_abstraction.h
#	src/network/core/tcp_listen.h
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/network/network_gamelist.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf.cpp
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/settings_table.cpp
#	src/settings_type.h
#	src/table/settings/network_settings.ini
2021-11-02 00:51:54 +00:00
Jonathan G Rennison
f54d69a60a Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/economy.cpp
#	src/elrail.cpp
#	src/graph_gui.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/core/game_info.cpp
#	src/newgrf_station.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/strings_func.h
#	src/table/settings/network_settings.ini
#	src/table/settings/settings.ini
2021-11-01 21:18:24 +00:00
Jonathan G Rennison
da282c3ecc Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/ci-build.yml
#	CMakeLists.txt
#	src/lang/finnish.txt
#	src/lang/french.txt
#	src/lang/korean.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/spanish.txt
#	src/misc_gui.cpp
#	src/newgrf.cpp
2021-10-28 23:51:24 +01:00