Jonathan G Rennison
853ed272be
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/blitter/32bpp_optimized.cpp
# src/blitter/32bpp_simple.cpp
# src/blitter/32bpp_sse2.cpp
# src/blitter/8bpp_optimized.cpp
# src/blitter/8bpp_simple.cpp
# src/blitter/null.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/crashlog.cpp
# src/dropdown.cpp
# src/dropdown_type.h
# src/genworld_gui.cpp
# src/gfx.cpp
# src/main_gui.cpp
# src/newgrf_debug_gui.cpp
# src/news_gui.cpp
# src/news_type.h
# src/openttd.cpp
# src/order_gui.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/signs.cpp
# src/smallmap_gui.cpp
# src/spritecache.cpp
# src/spriteloader/grf.cpp
# src/texteff.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/video/opengl.cpp
# src/viewport.cpp
# src/waypoint_cmd.cpp
# src/zoom_type.h
2024-05-30 17:54:01 +01:00
Jonathan G Rennison
18a42664fc
Merge branch 'master' into jgrpp
...
Remove 'byte' typedef
2024-05-07 17:21:50 +01:00
Peter Nelson
7572cfd103
Codechange: Redefine ZOOM_LVL so that ZOOM_LVL_NORMAL is 1x zoom.
...
This matches expectations of what normal zoom means.
2024-04-04 22:27:03 +01:00
Peter Nelson
3c94e81665
Codechange: Use ZOOM_LVL_MIN to refer to first zoom level.
...
Many uses of ZOOM_LVL_NORMAL actually just want the first zoom level slot, so use ZOOM_LVL_MIN to make this clearer.
2024-04-04 22:27:03 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Jonathan G Rennison
af867a4b33
Fix crash downscaling sprites from 2x for max sprite resolution setting
2024-03-12 21:49:24 +00:00
Jonathan G Rennison
fdd666f66a
Merge tag '14.0-beta1' into jgrpp
...
# Conflicts:
# src/3rdparty/squirrel/squirrel/sqcompiler.cpp
# src/aircraft.h
# src/animated_tile.h
# src/base_consist.h
# src/cargotype.h
# src/company_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/engine_gui.cpp
# src/industry_gui.cpp
# src/lang/english.txt
# src/music/extmidi.cpp
# src/network/core/network_game_info.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_industries.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/order_gui.cpp
# src/order_type.h
# src/os/macosx/misc_osx.cpp
# src/os/windows/crashlog_win.cpp
# src/rail_gui.cpp
# src/rail_gui.h
# src/roadveh.h
# src/roadveh_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/saveload_error.hpp
# src/script/api/script_town.cpp
# src/settingsgen/settingsgen.cpp
# src/ship.h
# src/ship_cmd.cpp
# src/smallmap_gui.cpp
# src/spritecache.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/strgen/strgen.h
# src/table/settings/script_settings.ini
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_cmd.h
# src/town_gui.cpp
# src/train.h
# src/train_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_cmd.cpp
# src/vehicle_gui.cpp
# src/vehiclelist.cpp
# src/waypoint_base.h
# src/widget.cpp
2024-02-18 22:22:29 +00:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
Jonathan G Rennison
606d7cd814
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/build_vehicle_gui.cpp
# src/direction_type.h
# src/gfx_type.h
# src/group_gui.cpp
# src/misc_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/signs_gui.cpp
# src/slope_func.h
# src/smallmap_gui.cpp
# src/terraform_gui.cpp
# src/toolbar_gui.cpp
# src/town_gui.cpp
# src/town_type.h
# src/vehicle_type.h
# src/widget_type.h
2024-01-21 23:03:08 +00:00
Rubidium
6b21368bc2
Codechange: replace FIND_FIRST_BIT/FindFirstBit2x64 with FindFirstBit
2024-01-19 21:10:39 +01:00
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
b72366419b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.cpp
# src/blitter/8bpp_optimized.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/gfxinit.cpp
# src/network/core/os_abstraction.cpp
# src/spritecache.cpp
2023-12-28 16:56:54 +00:00
Peter Nelson
fdf6cbf848
Change: Scale sprites to requested highest resolution level. ( #11600 )
...
Sprites from graphics sets which only provide high resolution sprites are now scaled up from scaled down versions.
2023-12-25 20:08:13 +00:00
Jonathan G Rennison
d5a7a67b8c
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# src/ai/ai_gui.cpp
# src/blitter/32bpp_optimized.cpp
# src/blitter/32bpp_simple.cpp
# src/blitter/32bpp_sse2.cpp
# src/blitter/8bpp_optimized.cpp
# src/blitter/8bpp_simple.cpp
# src/blitter/null.cpp
# src/blitter/null.hpp
# src/company_gui.cpp
# src/game/game_gui.cpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/graph_gui.cpp
# src/industry_gui.cpp
# src/linkgraph/linkgraphjob.cpp
# src/network/network_gui.cpp
# src/newgrf_debug_gui.cpp
# src/openttd.cpp
# src/pathfinder/npf/aystar.h
# src/road_gui.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/script/api/script_log.cpp
# src/script/api/script_town.cpp
# src/script/script_gui.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/sortlist_type.h
# src/spritecache.cpp
# src/spriteloader/grf.cpp
# src/spriteloader/grf.hpp
# src/spriteloader/spriteloader.hpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_gui.cpp
# src/strings.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/video/opengl.cpp
# src/video/opengl.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
# src/window_gui.h
2023-12-23 13:26:55 +00:00
Peter Nelson
b85ecf9ac2
Codechange: Replace pointer to Sprite array with reference to SpriteCollection. ( #11580 )
...
Add `SpriteLoader::SpriteCollection` type which is an array of `SpriteLoad::Sprite`.
This removes the ambiguity of what `SpriteLoader::Sprite *` is pointing to,
and cleans up mismatches using both dereference -> and array access [] for the
same object.
2023-12-20 20:38:21 +00:00
Jonathan G Rennison
5ae74ecf8e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/articulated_vehicles.cpp
# src/articulated_vehicles.h
# src/autoreplace_cmd.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/core/format.hpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/group_gui.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/misc/endian_buffer.hpp
# src/music/music_driver.hpp
# src/newgrf_gui.cpp
# src/rail_cmd.cpp
# src/road_gui.cpp
# src/settings_type.h
# src/strgen/strgen.cpp
# src/strings.cpp
# src/timetable_cmd.cpp
# src/town.h
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/widget.cpp
# src/widgets/dropdown.cpp
# src/widgets/road_widget.h
2023-12-17 00:37:16 +00:00
Jonathan G Rennison
24c8a8f887
Spritecache: Move SpriteCache, SpriteDataBuffer to internal header
2023-12-13 19:24:37 +00:00
rubidium42
cb8612ba79
Remove: ZOOM_LVL_COUNT
...
This is the only enumeration with a COUNT and END. The logic of the COUNT
implied that BEGIN could be non-zero, but all but two uses of zoom level
assume that BEGIN is zero, making the separate count only confusing.
2023-11-29 21:12:28 -04:00
Jonathan G Rennison
2a31095118
Merge branch 'master' into jgrpp
...
# Conflicts:
# regression/regression/result.txt
# src/aircraft_cmd.cpp
# src/airport_gui.cpp
# src/articulated_vehicles.cpp
# src/console_cmds.cpp
# src/date_gui.cpp
# src/engine.cpp
# src/genworld_gui.cpp
# src/gfx_layout_fallback.cpp
# src/group_gui.cpp
# src/hotkeys.cpp
# src/network/core/tcp_connect.cpp
# src/network/core/tcp_listen.h
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_engine.cpp
# src/newgrf_gui.cpp
# src/newgrf_station.cpp
# src/openttd.cpp
# src/order_gui.cpp
# src/os/macosx/osx_main.cpp
# src/pathfinder/yapf/yapf_node_rail.hpp
# src/rail_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/station_sl.cpp
# src/script/api/script_industrytype.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_table.cpp
# src/settingsgen/settingsgen.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/strings.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_game_calendar.h
# src/timer/timer_manager.h
# src/timer/timer_window.cpp
# src/timetable_cmd.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/vehicle_cmd.h
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_func.h
# src/window_gui.h
2023-11-25 13:30:06 +00:00
Jonathan G Rennison
154df0bb7d
Fix some unused variable warnings when asserts are disabled
2023-11-20 23:59:08 +00:00
Peter Nelson
d4008850e3
Codechange: Ensure function opening {
is on new line.
2023-11-09 20:15:38 +00:00
Peter Nelson
1c94fb0389
Add: Mock sprite cache intialization.
...
This fills up the sprite cache with SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT zero-size sprites, to
allow GetSpriteSize() calls to continue from unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
05436d9c2f
Add: Expose minimal parts of SpriteCache internals.
...
These parts are needed to be able to mock the SpriteCache for unit-tests.
2023-11-05 19:24:59 +00:00
Peter Nelson
fd6f1e844a
Codechange: Avoid emplace_back(new()) into a unique_ptr. ( #11384 )
...
This could theoretically leave an unmanaged pointer in certain circumstances, and directly using
make_unique shows intent.
2023-10-20 18:40:48 +01:00
Jonathan G Rennison
ed75592979
Fix crash attempting to remove sprite zoom level from empty entry
2023-09-22 16:56:19 +01:00
Jonathan G Rennison
ed1b842ad3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console.cpp
# src/console_func.h
# src/network/network_server.cpp
# src/os/unix/unix.cpp
# src/spritecache.cpp
# src/viewport.cpp
2023-09-15 20:44:22 +01:00
Jonathan G Rennison
14dc6586bc
Sprite cache: Avoid resizing to fully zoomed if not needed
2023-08-23 02:20:53 +01:00
Jonathan G Rennison
3a8217fc99
Sprite cache: Move LRU to struct Sprite
...
Prune from sprite cache by individual sprite structs instead of IDs
2023-08-23 01:30:57 +01:00
Jonathan G Rennison
8077274ed1
Sprite cache: Clamp recolour sprite allocation to max size
2023-08-23 01:02:15 +01:00
Jonathan G Rennison
627fd3d4fa
Add console command to dump sprite cache stats
2023-08-23 00:26:59 +01:00
Jonathan G Rennison
7e5a87dd46
Blitter: Null blitter always requires no zoom levels
2023-08-22 23:10:52 +01:00
Jonathan G Rennison
46f5fb9f25
Sprite cache: Allow caching only required subset of sprite zoom levels
...
Enable for blitters based on 32bpp_optimized or SSE
2023-08-22 22:16:04 +01:00
Jonathan G Rennison
785216db73
Sprite: Don't allocate sprite encode space for map-mode zoom levels
2023-08-21 23:19:26 +01:00
Jonathan G Rennison
d6f01988e3
Sprite cache: List total candidates in cache eviction debug message
2023-08-21 21:56:07 +01: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
Johannes E. Krause
5b0cfc7ea5
Add: show fallback sprites with debuglevel sprite=4
2023-06-27 15:12:27 +02:00
Jonathan G Rennison
fd4d4d341d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/animated_tile.cpp
# src/cargopacket.h
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/date.cpp
# src/disaster_vehicle.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/engine.cpp
# src/error_gui.cpp
# src/fontcache/spritefontcache.cpp
# src/game/game_gui.cpp
# src/game/game_text.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/highscore_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/english_AU.txt
# src/lang/english_US.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/italian.txt
# src/lang/portuguese.txt
# src/lang/russian.txt
# src/lang/turkish.txt
# src/lang/vietnamese.txt
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_generic.cpp
# src/news_gui.cpp
# src/openttd.cpp
# src/os/unix/unix.cpp
# src/os/windows/font_win32.cpp
# src/os/windows/win32.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/misc_sl.cpp
# src/saveload/oldloader_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spritecache.cpp
# src/spritecache.h
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen_base.cpp
# src/subsidy.cpp
# src/table/settings/difficulty_settings.ini
# src/texteff.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/townname.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/widgets/dropdown.cpp
# src/window.cpp
2023-05-26 19:36:48 +01:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Jonathan G Rennison
de5b114a83
Fix #10660 : Sprite Font scale affected by viewport zoom level limits. ( #10668 )
...
(cherry picked from commit db573c8742
)
# Conflicts:
# src/fontcache/spritefontcache.cpp
# src/gfx.cpp
# src/spritecache.cpp
2023-04-18 00:01:51 +01:00
PeterN
db573c8742
Fix #10660 : Sprite Font scale affected by viewport zoom level limits. ( #10668 )
2023-04-17 00:14:03 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
Jonathan G Rennison
2ea1766677
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/commit-checker.yml
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/order_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/league_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_object.hpp
# src/script/squirrel_helper.hpp
# src/settings_table.cpp
# src/station_cmd.cpp
# src/table/settings.h.preamble
# src/tree_cmd.cpp
# src/tree_map.h
# src/vehicle.cpp
# src/waypoint_cmd.cpp
2023-03-04 16:45:05 +00:00
Rubidium
a409e4b026
Add: documention to large functions that have too little documentation according to CodeQL
2023-02-25 23:57:36 +01:00
Rubidium
fbd0f5ad7d
Fix: inconsistent allocation error handling
...
Mix-and-matching std::bad_alloc exception handling with nullptr checks
2023-01-06 19:34:35 +01:00
Jonathan G Rennison
760cbcbb8b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/cheat_gui.cpp
# src/gfx.cpp
# src/linkgraph/linkgraph.cpp
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
2023-01-03 11:40:02 +00:00
Patric Stout
1fb101eabb
Codechange: address CodeQL issue "Multiplication result converted to larger type" ( #10306 )
...
Most are very unlikely to ever be triggered in our codebase; two
stand out: linkgraph and money cheat. Those, potentially, could
wrap earlier than expected.
2023-01-02 20:30:02 +00:00
Jonathan G Rennison
6d4474b84e
Merge tag '13.0-beta2' into jgrpp
...
# Conflicts:
# src/cheat_gui.cpp
# src/company_gui.cpp
# src/console_gui.cpp
# src/depot_gui.cpp
# src/error_gui.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/misc_gui.cpp
# src/network/network_content_gui.h
# src/newgrf_debug_gui.cpp
# src/order_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/station_gui.cpp
# src/subsidy_gui.cpp
# src/table/settings/gui_settings.ini
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/water_cmd.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
2022-12-04 20:43:11 +00:00
Peter Nelson
9666e46739
Feature: Variable GUI scale.
...
GUI scale is now variable from 100% to 500%, and no longer restricted to
powers-of-2.
2022-11-12 18:28:39 +00:00
Jonathan G Rennison
73e5c57e6b
Fix 5e413c9d
: Last sprite offset in GRF file was not recorded ( #10062 )
...
A line was missed when preparing PR #9988 , as this had been added
in a commit prior to the one which the PR was immediately based on
2022-09-29 11:56:42 +02:00