Commit Graph

56770 Commits

Author SHA1 Message Date
Jonathan G Rennison
507fd1839c Change minimum value for auto_timetable_separation_rate setting 2023-12-28 13:38:29 +00:00
Jonathan G Rennison
6edde70b04 Scheduled dispatch: Add company setting to set default schedule duration 2023-12-28 13:31:19 +00:00
Jonathan G Rennison
821a7c73ef Lang: Add default-translation tag for "Default" texts 2023-12-28 13:24:46 +00:00
Jonathan G Rennison
4cc2653035 Debug: Add options to mark sprite groups, clear highlight/markings
Adjust tooltip strings
2023-12-28 02:56:46 +00:00
Jonathan G Rennison
88cf1f4fc5 Window: Use window token to hold reference to dropdown window's parent 2023-12-28 02:28:10 +00:00
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
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
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
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
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
Jonathan G Rennison
bf7dfc595f Command: Fix desync debug command exec/fail log messages
Include full aux data, do not truncate, escape command text
2023-12-19 18:50:43 +00:00
Jonathan G Rennison
9fa30f1604 String: Do not truncate output in stdstr_vfmt 2023-12-19 18:45:32 +00:00
Jonathan G Rennison
4689113553 Debug: De-duplicate formatting of hex dates for desync/random logging 2023-12-19 17:55:57 +00:00
Finn Willard
3a42340db3 Add: Hotkey to focus industry directory filter box
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Finn Willard
7d3ae4a058 Add: Hotkey to focus town directory filter box
Co-authored-by: Tyler Trahan <tyler@tylertrahan.com>
2023-12-19 11:23:37 -05:00
Tyler Trahan
e8d2ebb016
Fix: Add missing includes to timers from script implementation files (#11604) 2023-12-19 14:09:46 +00:00
Jonathan G Rennison
61d65c9861 Use std::array for industry/industry spec input/output arrays 2023-12-19 02:39:54 +00:00
Jonathan G Rennison
03e0ec8276 Strong typedef: Use strong typedefs for date, date tick, minutes types
Add delta types
Adjust/add type conversion functions
Add various utility methods on types
Remove the various minute macros
Fix some minute conversion inconsistencies
2023-12-19 02:39:54 +00:00
Jonathan G Rennison
1e7b56e13a Strong typedef: Add missing ClampTo, IsInsideMM specialisations 2023-12-19 02:23:23 +00:00
Jonathan G Rennison
1d23ae5fdd Strong typedef: Add edit_base() method to return a base reference 2023-12-19 02:23:23 +00:00
Jonathan G Rennison
8d0506412c Strong typedef: Add mixin for integer with "delta" behaviour
Subtracting returns a separate delta type
e.g. for absolute times to durations
2023-12-19 02:23:23 +00:00
Jonathan G Rennison
25d9d24f94 Strong typedef: Add mixin for scalable integer 2023-12-18 23:08:24 +00:00
SamuXarick
fddcaef74a Codechange: Use town zone constants instead of magic numbers 2023-12-18 22:12:43 +01:00
Jonathan G Rennison
a6baa29f0c Core: Add missing strong_typedef_type.hpp 2023-12-18 19:15:15 +00:00