Commit Graph

57084 Commits

Author SHA1 Message Date
Jonathan G Rennison
ea1ba56ec4 Window: Add window "token" type, unique for each window instance
Not recycled even for windows with same class/ID
Token may outlive window, unlike pointer
2023-12-28 02:28:10 +00:00
Jonathan G Rennison
117deb0c62 Debug: Move sprite dump more details from misc_debug to a dropdown
Use goto sprite slot as dropdown button
2023-12-28 00:29:02 +00: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
8c4d36a498 Debug: Rename dumper struct to label_dumper 2023-12-27 23:23:33 +00:00
Richard Wheeler
5cf9c46b29
Feature: Toyland-specific river graphics (#11523)
Replaces the old solution of reusing temperate sprites for toyland.
2023-12-27 17:44:21 -05:00
translators
ce6a65d7b5 Update: Translations from eints
english (au): 2 changes by krysclarke
chinese (simplified): 37 changes by WenSimEHRP
romanian: 28 changes by bnegrut
russian: 13 changes by Ln-Wolf
finnish: 36 changes by hpiirai
danish: 16 changes by bscargo
dutch: 17 changes by Afoklala
2023-12-27 18:38:01 +00:00
Jonathan G Rennison
2b914c7a2f Fix: Memory leak in WindowDescTestsFixture 2023-12-26 23:48:59 +01:00
Jonathan G Rennison
35d2842de0 Fix AirportGetNearestTown for rotated airports
See: https://github.com/OpenTTD/OpenTTD/issues/11629
2023-12-26 22:27:13 +00:00
Jonathan G Rennison
43936575e6 Test: Avoid leaking widget tree in WindowDescTestsFixture 2023-12-26 21:53:07 +00:00
Jonathan G Rennison
0a6639bd4b Avoid unnecessary airport/town noise recalculations during map generation 2023-12-26 20:04:21 +00:00
Jonathan G Rennison
ae1729fa50 Network: Include town noise levels in network game saves
Don't recalculate on load for network clients
2023-12-26 20:04:21 +00:00
Jonathan G Rennison
2e9cb16254 Saveload: Simplify list handling in SlRefList
Use reserve on load if suitable
2023-12-26 18:18:00 +00:00
Rubidium
e0c670cbe8 Codechange: replace NULL with nullptr 2023-12-26 07:18:52 +01:00
Rubidium
2072e532f7 Codechange: replace NULL with nullptr 2023-12-26 07:18:52 +01:00
Peter Nelson
a2a7ecf88e
Fix 9ce1626b: Some blitters have bp->remap aliased to remap for performance. (#11626)
While this probably doesn't make a huge difference for the custom transparent remap code path, the alias is there so use it.
2023-12-25 20:59:37 +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
SamuXarick
947e77267a
Doc 0ca4b4e: Script debug window numbers are now ascending (#11623) 2023-12-25 18:42:29 +01:00
Loïc Guilloux
6c5a4aa2cb
Fix 2d3af14: Don't draw script log over panel borders (#11621) 2023-12-25 18:42:13 +01:00
Peter Nelson
9ce1626bb4 Change: Support custom transparency remaps with 32bpp blitters.
This closes a 15 year old TODO...
2023-12-25 11:22:52 +00:00
Peter Nelson
0bc22dd310 Add: 32bpp-to-8bpp palette index lookup.
Lookups are calculated on demand and caches in a 256KB in-memory table.
2023-12-25 11:22:52 +00:00
Peter Nelson
daec0e2ca4 Codechange: Split palette handling to separate file. 2023-12-25 11:22:52 +00:00
Peter Nelson
4ecc107d30 Codechange: Perform simpler comparison first when checking for palette updates.
This avoids unnecessarily comparing contents of an array.
2023-12-25 11:22:52 +00:00
Jonathan G Rennison
60378323ea Fix AyStar::Init overriding max search nodes
See: c05ffb22bd
2023-12-25 10:16:42 +00:00
Jonathan G Rennison
96570dc869 Add array include to spriteloader.hpp 2023-12-24 10:11:18 +00:00
Loïc Guilloux
af8b8c2cfc
Fix 4a2038e301: fully restore script break filter on reopen (#11622) 2023-12-24 00:08:18 +00:00
Jonathan G Rennison
f57088b261 VarAction2: Cache current town industry counts/distances for var 67/68 2023-12-23 21:06:54 +00:00
Jonathan G Rennison
48f66306e5 VarAction2: Move IndustryLocationDistanceCache inside IndustriesScopeResolver
Use in all cases, not just CBID_INDUSTRY_LOCATION
2023-12-23 20:27:53 +00:00
Jonathan G Rennison
39917e8ab2 VarAction2: Inline procedure calls in more cases
Increase max procedure size limit
Allow all global variables
Allow industry variables: 67, 68
2023-12-23 16:49:31 +00:00
Peter Nelson
c0cdf3460e Change: Rename Standard Livery to Default Livery. 2023-12-23 13:45:35 +00:00
Peter Nelson
3436b5f090 Change: Show a message in livery window if vehicle type has no groups. 2023-12-23 13:45:35 +00:00
Peter Nelson
513c7e7b53 Change: Add distinct tooltips for vehicle group colour schemes. 2023-12-23 13:45:35 +00:00
Peter Nelson
eda0dd24fe Change: Remove hardcoded minimum sizes and allow resize.
This stops the window being needlessly large.
2023-12-23 13:45:35 +00:00
Peter Nelson
0949eddd55 Change: Move colour selection dropdowns to bottom of window.
This stops them looking similar to how filter controls are used elsewhere,
and matches action dropdowns on other windows.
2023-12-23 13:45:35 +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
5cb7a16edc
Fix #11618: Don't try to display unavailable zoom levels in sprite aligner. (#11619) 2023-12-23 13:17:33 +00:00
Jonathan G Rennison
378a545dd4 Add setting for map edge behaviour, and how to display area outside map 2023-12-22 17:32:44 +00:00
Darragh
acfe367507
Fix #11442: "default" colour in group colour window is not updated when changing master colour (#11614)
Updated SelectCompanyLiveryWindow.DrawWidget method to check if a group's livery.in_use 0 bit is set, rendering the company's default colour if it has not been.
2023-12-22 17:56:09 +01:00
Peter Nelson
fd0aa3dd19
Fix #11515: Zoom level could wrap around when changing interface scale. (#11615)
This happened due to converting the new value to unsigned before clamping instead of after.
2023-12-22 15:23:42 +00:00
Peter Nelson
c1afbc9415
Fix: Update widget dimensions before updating viewport signs. (#11611)
Viewport signs used fullbevel WidgetDimensions before it was updated for the new interface scale.
2023-12-20 22:10:05 +00:00
Loïc Guilloux
2d3af14181
Add: Horizontal scroll for script debug log (#11597) 2023-12-20 22:50:03 +01:00
Peter Nelson
0ca4b4e146 Change: Allow opening multiple script debug windows by holding Ctrl. 2023-12-20 20:39:07 +00:00
Peter Nelson
4a2038e301 Codechange: Make script debug window filter state per-window. 2023-12-20 20:39:07 +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
Peter Nelson
7466c3c39e Fix: Draw unavailable mask over picker sprite instead of behind it.
This makes these disabled picker buttons consistent with other disabled buttons.
2023-12-20 09:29:28 +00:00
Peter Nelson
712a4bb40b Fix: Prevent picker preview sprites from overflowing button bevel. 2023-12-20 09:29:28 +00:00
Peter Nelson
313ee13e5f Codechange: Add Rect version of FillDrawPixelInfo().
This simplifies most callers as they longer have to split out a rect.
2023-12-20 09:29:28 +00:00
Tyler Trahan
111b4e6060
Doc: Fix broken links in COMPILING and CONTRIBUTING guides (#11608) 2023-12-20 03:15:15 +01:00
Jonathan G Rennison
540cec2af5 Add setting to allow auto-fill signal dragging to skip over stations/waypoints 2023-12-19 22:25:05 +00:00
Jonathan G Rennison
55bac952a4 Fix DEBUG_DUMP_COMMANDS
Fix strong typedef issues
Fix command format parsing to handle aux data and escaped text
2023-12-19 18:59:54 +00:00