Commit Graph

1789 Commits (a6e3467d58e0a0fc8ab8784eecd6412ddd75f6b7)

Author SHA1 Message Date
Jonathan G Rennison 86324e0fda Debug: Add mode to sprite dump window to show unoptimised 2 years ago
Jonathan G Rennison 74681f70d9 VarAction2: Replace inverted OR of bools with AND where this makes sense 2 years ago
Jonathan G Rennison e41a5d2f63 VarAction2: Add flags to skip adjust if value is 0 or LSB set 2 years ago
Jonathan G Rennison 236cbc4e83 VarAction2: Optimise SAR same as SHR on unsigned inputs 2 years ago
Jonathan G Rennison 9d04ebcc90 VarAction2: Remove operations which always do nothing when applied to 0 2 years ago
Jonathan G Rennison 26dd84f931 VarAction2: Optimise OR followed by XOR of same constant 2 years ago
Jonathan G Rennison 3aa0ccb97b VarAction2: Optimise OR which always produces 1 2 years ago
Jonathan G Rennison 4b7288902d VarAction2: Consider industry tile vars 0x60 to 0x62 to be expensive 2 years ago
Jonathan G Rennison 3a5902ff77 VarAction2: Reduce cost of RecursiveDisallowDSEForProcedure
Fix disallowing DSE also disallowing store simplification
2 years ago
Jonathan G Rennison c342b4219b NewGRF: Use per-GRF text ID map in GetGRFStringID 2 years ago
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
2 years ago
Jonathan G Rennison f05b5163f7 Fix narrowing converison warning 2 years ago
Jonathan G Rennison bbc1e28b24 VarAction2: Re-use allocated callback result sprite groups 2 years ago
Jonathan G Rennison e5ef888e80 VarAction2: Add variable/constant copy store simplifification 2 years ago
Jonathan G Rennison a93b3948b5 VarAction2: Don't change variable masks when disabling procedure DSE 2 years ago
Jonathan G Rennison 3d42e36f89 VarAction2: Avoid pessimising DSE when a procedure returns a callback result 2 years ago
Jonathan G Rennison 9e414a1eab VarAction2: Move optimiser flags to a separate setting 2 years ago
Jonathan G Rennison 6ff8066d34 VarAction2: Ensure that a temp store var can't reference a clobbered var 2 years ago
Jonathan G Rennison fe6ab0f19f VarAction2: Don't track var copies through temporary storage for stations
Except for copies of other temporary storage vars
2 years ago
Jonathan G Rennison db7f29b07c VarAction2: Deduplicate loads from expensive uncached variables
Currently only some vehicle variables
2 years ago
Jonathan G Rennison 6a17f00a27 VarAction2: Ensure dead store elimination doesn't break variable 0x7B 2 years ago
Jonathan G Rennison 813146a78f VarAction2: Track value inferences through temp storage in more cases 2 years ago
Jonathan G Rennison ccef3646db VarAction2: Set value inferences for operations with eq/neq adjust types 2 years ago
Jonathan G Rennison 04a9c73ec2 VarAction2: Combine RST, UMIN sequence to load with neq 0 adjust 2 years ago
Jonathan G Rennison 9116ca6bb0 VarAction2: Track copies of variables through temporary storage 2 years ago
Jonathan G Rennison 263a87f5da VarAction2: Add adjust types for combined (in)equality with constant 2 years ago
Jonathan G Rennison 1e52e51ce1 VarAction2: Add bounds checks to previous adjust accesses 2 years ago
Jonathan G Rennison c2fde53495 VarAction2: Remove redundant variable loads 2 years ago
Jonathan G Rennison 30f74c5b74 Sprite group: Add getter function for sprite groups 2 years ago
Jonathan G Rennison d8f9641dc9 VarAction2: Remove redundant UMIN operation on already boolean values 2 years ago
Jonathan G Rennison 3c9201ebd5 VarAction2: Fix dead store elimination through randomised sprite groups 2 years ago
Jonathan G Rennison e0581db2a1 VarAction2: Remove dead stores and redundant adjusts in more cases 2 years ago
Jonathan G Rennison d71e38446e Improve performance of string lookup in AddGRFString 2 years ago
Jonathan G Rennison 994dc683a2 VarAction2: Fix calculated result groups being incorrectly pruned 2 years ago
Jonathan G Rennison b102e912b3 VarAction2: Allow temp store dead store elmination with industries 2 years ago
Jonathan G Rennison 4687a8c2a4 VarAction2: Prune group ranges for constant values
Add chicken bit to control pruning
2 years ago
Jonathan G Rennison c894d5a86d VarAction2: Add temp store dead store elimination 2 years ago
Niels Martin Hansen 5587e439a9 Fix: Industry layouts with zero regular tiles should be invalid 2 years ago
Jonathan G Rennison a8eb52f061 VarAction2: Simplify handling of first adjustment 2 years ago
Jonathan G Rennison a5f5be2dff VarAction2: Detect ops on previous constants which become loads 2 years ago
Jonathan G Rennison 1fec7d6ddb VarAction2: Detect and replace reversed commutative op via temp storage 2 years ago
Jonathan G Rennison 762cfb3df7 VarAction2: Track temp store loads with respect to stores 2 years ago
Jonathan G Rennison 6953150898 VarAction2: Move optimisation pass to separate function
Simplify logic slightly
2 years ago
Jonathan G Rennison 145536e1fd VarAction2: Detect and replace reverse subtract via temp storage 2 years ago
Jonathan G Rennison dd2e1fe956 Add chicken bit to disable varact2 optimisation 2 years ago
Jonathan G Rennison f0a0b2e200 VarAction2: Flatten constant operations on constants in more cases 2 years ago
Jonathan G Rennison 2360b3e93e VarAction2: Detect and replace scaled reads of train/RV/ship current speed 2 years ago
Jonathan G Rennison 13cdef2a2d VarAction2: Remove redundant and with 1 when value is already bool 2 years ago
Jonathan G Rennison 2f09eff404 VarAction2: Convert boolean, invert sequence to ternary 2 years ago
Jonathan G Rennison 90a2aa57fc VarAction2: Detect and replace signed relational comparisons 2 years ago
Jonathan G Rennison e732042785 VarAction2: Remove redundant constant loads 2 years ago
Jonathan G Rennison 74e1a40f7c VarAction2: Remove trivially resolvable deterministic sprite groups 2 years ago
Jonathan G Rennison 3b5eede3fc VarAction2: Detect and replace operations which always produce 0 2 years ago
Jonathan G Rennison a21ae12c90 VarAction2: Remove redundant temp store loads after stores 2 years ago
Jonathan G Rennison db5be4f92e VarAction2: Remove constant parameter redirection via variable 7B 2 years ago
Jonathan G Rennison da629e4cfa VarAction2: Replace divs of powers of 2 with shifts where possible 2 years ago
Jonathan G Rennison fad5973161 VarAction2: Reduce shift right and mask ops into adjust shift/mask 2 years ago
Jonathan G Rennison 012d73ef34 VarAction2: Detect equality comparisons
Remove redundant equality with 0 comparison before ternary
2 years ago
Jonathan G Rennison 7283825638 VarAction2: Detect and replace ternary operator pattern 2 years ago
Jonathan G Rennison e3df522111 VarAction2: Delete provably zero adjustment operations 2 years ago
Jonathan G Rennison a54416afbc Add GRF variable to use extra station names even when default names remain 2 years ago
Jonathan G Rennison 34af4844d1 Merge branch 'master' into jgrpp 3 years ago
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.
3 years ago
Jonathan G Rennison cb573a1523 Add road stop property to set cost multipliers 3 years ago
Jonathan G Rennison 5a2cc24190 Fix initialisation of new road stop specs 3 years ago
Jonathan G Rennison 2cbbae16da Add roadstop GRF properties to set bridge heights and disallowed pillars 3 years ago
Jonathan G Rennison 23c472d2a0 Add support for road stop animation, availability callback
Add animation, callback mask, general flags properties
Add animation frame variables
3 years ago
Jonathan G Rennison 67d967befb Add road stop support for Action 3 cargo type groups 3 years ago
Jonathan G Rennison a69eba31fe Implement NewGRF road stop root sprite group selection 3 years ago
Jonathan G Rennison 1084bb8566 Initial support for NewGRF road stops (bus and lorry stops) 3 years ago
Jonathan G Rennison a3c003546b Implement extended NewGRF variable parameter support 3 years ago
Jonathan G Rennison d4f11eca42 Add NewGRF object properties to set viewport map mode/smallmap tile type 3 years ago
Jonathan G Rennison a03453da49 Add properties to set lighthouse and transmitter generation amounts 3 years ago
Jonathan G Rennison eeef6c485a Initial implementation of NewGRF feature ID mapping 3 years ago
Jonathan G Rennison ef3916928c Initial abstraction around NewGRF feature ID bytes 3 years ago
Jonathan G Rennison bb848331b6 Fix narrowing conversion warning 3 years ago
Jonathan G Rennison 33dc6c9688 Add NewGRF VarAction2 variable remapping infrastructure 3 years ago
Jonathan G Rennison 1a4b0d6ecf Prevent NewGRFs from using Action A to replace internal sprites 3 years ago
Jonathan G Rennison b807f0d50e Fix setting of object spec ctrl flags from GRF properties 3 years ago
Jonathan G Rennison 24fb390e9f Add NewGRF object property for flood-resistance
Does not imply being able to be built on water
3 years ago
Jonathan G Rennison d9116106ca Add NewGRF object property for new edge foundation mode 3 years ago
Jonathan G Rennison ff714b7648 Add setting to disable "big GUI" NewGRFs 3 years ago
Jonathan G Rennison 924ffb013f Add NewGRF object property/flag to use land as object ground sprite
This handles variable ground densities, snow/desert, etc.
3 years ago
Jonathan G Rennison 906fde15c7 Move NewGRF extension feature/property lists to separate file 3 years ago
Jonathan G Rennison 0691b25e17 Merge branch 'master' into jgrpp
# Conflicts:
#	src/saveload/afterload.cpp
3 years ago
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.
3 years ago
Jonathan G Rennison 3d4261a33a Merge branch 'master' into jgrpp
# Conflicts:
#	src/order_cmd.cpp
#	src/table/settings/news_display_settings.ini
3 years ago
Michael Lutz 95c8467670 Fix 65cbde4b: Writing to uninitialized string when loading a currency NewGRF. 3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Jonathan G Rennison 544da99102 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/cargopacket.h
#	src/lang/korean.txt
#	src/linkgraph/linkgraph.h
#	src/linkgraph/linkgraphjob.h
#	src/linkgraph/linkgraphschedule.h
#	src/network/network_admin.h
#	src/network/network_func.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/order_base.h
#	src/rail_cmd.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/depot_sl.cpp
#	src/saveload/economy_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/map_sl.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/signs_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/subsidy_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/script/api/script_object.cpp
#	src/settings.cpp
#	src/string.cpp
#	src/string_func.h
#	src/table/CMakeLists.txt
#	src/table/settings/settings.ini
#	src/viewport_sprite_sorter_sse4.cpp
3 years ago
Jonathan G Rennison 4042480806 Merge branch 'jgrpp' into jgrpp-beta
# Conflicts:
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/table/company_settings.ini
#	src/table/currency_settings.ini
#	src/table/gameopt_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/table/win32_settings.ini
#	src/table/window_settings.ini
3 years ago
PeterN f5561ac212 Fix #9562: Handle case of invalid action2 with zero results. (#9564)
(cherry picked from commit 7e70ead396)
3 years ago
Jonathan G Rennison fd605e3cf3 Merge branch 'master' into jgrpp-beta
# Conflicts:
#	.github/workflows/commit-checker.yml
#	src/company_cmd.cpp
#	src/console_cmds.cpp
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/swedish.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/mcf.cpp
#	src/network/core/tcp.cpp
#	src/network/core/tcp.h
#	src/network/core/tcp_game.h
#	src/network/core/udp.h
#	src/network/network.cpp
#	src/network/network_admin.cpp
#	src/network/network_admin.h
#	src/network/network_chat_gui.cpp
#	src/network/network_client.cpp
#	src/network/network_client.h
#	src/network/network_func.h
#	src/network/network_internal.h
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf.cpp
#	src/newgrf_station.cpp
#	src/order_gui.cpp
#	src/rail_cmd.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/currency_settings.ini
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/table/settings.ini
#	src/terraform_cmd.cpp
#	src/timetable_gui.cpp
#	src/train_cmd.cpp
#	src/tree_cmd.cpp
#	src/water_cmd.cpp
3 years ago
PeterN 7e70ead396
Fix #9562: Handle case of invalid action2 with zero results. (#9564) 3 years ago
Charles Pigott 16dca0d7bc Codechange: Object non-zero dimension check was not logically correct 3 years ago