Commit Graph

199 Commits

Author SHA1 Message Date
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
55d78a23be Merge branch 'master' into jgrpp
# Conflicts:
#	src/3rdparty/squirrel/include/squirrel.h
#	src/blitter/32bpp_sse_func.hpp
#	src/bridge_map.h
#	src/clear_map.h
#	src/company_manager_face.h
#	src/console_func.h
#	src/core/bitmath_func.hpp
#	src/core/endian_func.hpp
#	src/core/random_func.hpp
#	src/depot_map.h
#	src/elrail_func.h
#	src/fontcache.h
#	src/industry_map.h
#	src/map_func.h
#	src/newgrf_spritegroup.h
#	src/object_map.h
#	src/rail.h
#	src/rail_map.h
#	src/road_func.h
#	src/road_map.h
#	src/saveload/saveload.h
#	src/saveload/saveload_error.hpp
#	src/settings_gui.cpp
#	src/sl/oldloader.h
#	src/sprite.h
#	src/spritecache.h
#	src/station_func.h
#	src/station_map.h
#	src/story_base.h
#	src/strings_func.h
#	src/tile_cmd.h
#	src/tile_map.h
#	src/tile_type.h
#	src/town.h
#	src/town_map.h
#	src/tree_map.h
#	src/tunnel_map.h
#	src/tunnelbridge_map.h
#	src/vehicle_func.h
#	src/viewport_func.h
#	src/void_map.h
#	src/water.h
#	src/water_map.h
#	src/widget_type.h
2024-01-07 15:00:16 +00:00
Rubidium
3a676a5af0 Codechange: replace static inline with static for non-class functions 2024-01-06 13:37:33 +01:00
Jonathan G Rennison
e680cffb6d Debug: Add more details flag inside SpriteGroupDumper 2023-12-27 23:52:36 +00:00
Jonathan G Rennison
5b6c0c1f2e Debug: Change interfaces using SpriteGroupDumper
Pass SpriteGroupDumper ref instead of print function
Make use_shadows non-static
2023-12-27 23:46:45 +00:00
Jonathan G Rennison
d793da4034 VarAction2: Fix callback analysis through real sprite groups
See: #618
2023-12-17 13:57:24 +00:00
Jonathan G Rennison
f532970014 VarAction2: Add extra DSG flag for early exit when executing CBs
For when some branches of a non CB switch DSG contain CB switches,
but some don't and so would end up on the graphics chain, as there is
no further CB switch to exit at
2023-12-07 17:53:13 +00:00
Jonathan G Rennison
0d4d4a9cac Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/3rdparty/squirrel/squirrel/sqclosure.h
#	src/3rdparty/squirrel/squirrel/sqobject.h
#	src/3rdparty/squirrel/squirrel/sqvm.h
#	src/aircraft.h
#	src/airport_gui.cpp
#	src/blitter/32bpp_sse_func.hpp
#	src/blitter/null.hpp
#	src/bridge_gui.cpp
#	src/build_vehicle_gui.cpp
#	src/cargotype.h
#	src/cheat_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/company_gui.cpp
#	src/console_gui.cpp
#	src/date_gui.cpp
#	src/depot_gui.cpp
#	src/dock_gui.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/fileio.cpp
#	src/fios.cpp
#	src/fios_gui.cpp
#	src/fontcache/spritefontcache.h
#	src/framerate_gui.cpp
#	src/game/game_text.cpp
#	src/gamelog.cpp
#	src/genworld_gui.cpp
#	src/gfx_layout_fallback.cpp
#	src/group_gui.cpp
#	src/highscore_gui.cpp
#	src/hotkeys.cpp
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/landscape.cpp
#	src/main_gui.cpp
#	src/misc_cmd.cpp
#	src/misc_gui.cpp
#	src/network/core/tcp_game.cpp
#	src/network/core/udp.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content_gui.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf_airport.cpp
#	src/newgrf_airport.h
#	src/newgrf_airporttiles.cpp
#	src/newgrf_airporttiles.h
#	src/newgrf_animation_base.h
#	src/newgrf_canal.cpp
#	src/newgrf_commons.h
#	src/newgrf_config.cpp
#	src/newgrf_debug_gui.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_engine.h
#	src/newgrf_generic.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_house.cpp
#	src/newgrf_house.h
#	src/newgrf_industries.cpp
#	src/newgrf_industries.h
#	src/newgrf_industrytiles.cpp
#	src/newgrf_industrytiles.h
#	src/newgrf_object.cpp
#	src/newgrf_object.h
#	src/newgrf_railtype.cpp
#	src/newgrf_railtype.h
#	src/newgrf_roadstop.cpp
#	src/newgrf_roadstop.h
#	src/newgrf_roadtype.cpp
#	src/newgrf_roadtype.h
#	src/newgrf_spritegroup.cpp
#	src/newgrf_spritegroup.h
#	src/newgrf_station.cpp
#	src/newgrf_station.h
#	src/newgrf_town.cpp
#	src/newgrf_town.h
#	src/news_gui.cpp
#	src/object_gui.cpp
#	src/order_gui.cpp
#	src/os/macosx/crashlog_osx.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/os/windows/win32_main.cpp
#	src/pathfinder/npf/npf.cpp
#	src/pathfinder/npf/queue.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/roadveh.h
#	src/saveload/saveload.cpp
#	src/screenshot.cpp
#	src/script/api/script_text.hpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_table.cpp
#	src/signs_cmd.cpp
#	src/signs_gui.cpp
#	src/smallmap_gui.cpp
#	src/smallmap_gui.h
#	src/spriteloader/grf.hpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/station_map.h
#	src/statusbar_gui.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/table/newgrf_debug_data.h
#	src/terraform_gui.cpp
#	src/timer/timer_game_calendar.cpp
#	src/timer/timer_window.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/transparency_gui.cpp
#	src/vehicle_gui.cpp
#	src/water_cmd.cpp
#	src/waypoint_cmd.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/rail_widget.h
#	src/widgets/terraform_widget.h
#	src/window.cpp
#	src/window_gui.h
2023-11-20 22:27:05 +00:00
Peter Nelson
49dae08a3b Codechange: Add missing override specifiers. 2023-09-25 21:27:45 +01:00
frosch
b6c8f301be Codechange: Silence warnings about intentionally unused parameters. 2023-09-19 22:49:59 +02:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Jonathan G Rennison
d75c489466 Add various missing includes 2023-07-03 23:44:54 +01:00
Jonathan G Rennison
d09b504bc5 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-source.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	COMPILING.md
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/bridge_gui.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/core/CMakeLists.txt
#	src/core/smallmap_type.hpp
#	src/disaster_vehicle.h
#	src/effectvehicle_base.h
#	src/fontcache.cpp
#	src/game/game_core.cpp
#	src/game/game_gui.cpp
#	src/gamelog.cpp
#	src/gamelog_internal.h
#	src/group_gui.cpp
#	src/linkgraph/linkgraph.h
#	src/misc.cpp
#	src/network/core/config.h
#	src/network/core/udp.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content_gui.cpp
#	src/network/network_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_profiling.cpp
#	src/newgrf_profiling.h
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/openttd.h
#	src/order_gui.cpp
#	src/os/windows/font_win32.cpp
#	src/rail_gui.cpp
#	src/road.cpp
#	src/road_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.h
#	src/script/api/script_controller.cpp
#	src/script/api/script_roadtypelist.cpp
#	src/script/script_config.cpp
#	src/script/script_config.hpp
#	src/script/script_instance.cpp
#	src/script/script_scanner.cpp
#	src/script/squirrel.cpp
#	src/script/squirrel_helper.hpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings/network_private_settings.ini
#	src/timetable_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/window_gui.h
2023-07-01 02:42:51 +01:00
Patric Stout
199e41c762 Codechange: use default dtor instead of empty (#10826) 2023-05-14 23:31:03 +02:00
Jonathan G Rennison
5718730d68 VarAction2: Add support for more varaction2 types
Add CB failure and deterministic relative types
2023-03-15 19:44:26 +00:00
Jonathan G Rennison
57c5cc32d0 VarAction2: Improve handling of feature changes with parent scopes 2023-03-11 16:08:36 +00:00
Jonathan G Rennison
0e5a09974a VarAction2: Fix detection of callback handlers which don't inspect var C 2022-11-26 19:42:37 +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
7e6f7ebba6 VarAction2: Remove umax operations with constant 0 2022-10-08 22:14:54 +01:00
Jonathan G Rennison
419c356f30 VarAction2: Remove mul and div operations with constant 1 2022-10-08 22:14:39 +01:00
Jonathan G Rennison
c2ede2af54 VarAction2: Allow inlining trivial procedures 2022-10-01 22:32:00 +01:00
Jonathan G Rennison
602ac717aa Initial support for DSE and jumping over procedures with child groups 2022-08-25 00:22:41 +01: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
e584ef7bba Move NewGRF analysis to separate files 2022-08-14 22:08:31 +01:00
Jonathan G Rennison
9ed5b6e65c Debug: Change sprite group indentation handling 2022-08-09 21:53:43 +01:00
Jonathan G Rennison
41f2e92f5c VarAction2: Add a NOOP operator 2022-08-09 21:36:03 +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
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
13fcde9ea0 VarAction2: Add a JZ operation, use for ternary style mul masking 2022-06-14 02:23:23 +01:00
Jonathan G Rennison
34cd547325 Debug: Show if action 2s have been modified by action 6 in debug window 2022-06-11 02:34:08 +01:00
Jonathan G Rennison
6214d0d20d VarAction2: Add an ABS opcode 2022-06-11 02:33:09 +01:00
Jonathan G Rennison
8aac0ed639 VarAction2: Shrink size of RandomizedSpriteGroupCompareMode 2022-06-10 20:07:21 +01:00
Jonathan G Rennison
3bddd55921 VarAction2: Add sprite group flag for if var 1C seen before proc 2022-06-10 20:06:24 +01:00
Jonathan G Rennison
0409bd88e8 VarAction2: Simplify tracking of sprite group feature 2022-06-08 20:22:53 +01:00
Jonathan G Rennison
caebff85f5 VarAction2: Add helper functions for constant comparison adjust types 2022-06-08 19:40:36 +01:00
Jonathan G Rennison
249a20e47a VarAction2: Add helper functions for relational comparison ops 2022-06-08 19:22:00 +01:00
Jonathan G Rennison
31e96ff5e7 VarAction2: Add helper functions for anti-commutative ops 2022-06-08 19:15:56 +01:00
Jonathan G Rennison
45798fa533 Debug: Add scroll to sprite number to debug window 2022-06-08 01:57:10 +01:00
Jonathan G Rennison
6e398f9cec VarAction2: DSE now takes into account DSE results from child groups 2022-06-07 23:53:32 +01:00
Jonathan G Rennison
65407210a6 VarAction2: Allow DSGA_OP_STO_NC to be used with DSGA_TYPE_EQ/NEQ 2022-06-07 22:21:51 +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
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
9d04ebcc90 VarAction2: Remove operations which always do nothing when applied to 0 2022-06-06 22:20:16 +01:00
Jonathan G Rennison
dc8465dc68 VarAction2: Shrink enum fields of DeterministicSpriteGroupAdjust 2022-06-06 21:38:12 +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