Commit Graph

57062 Commits

Author SHA1 Message Date
Jonathan G Rennison
48b6b1844a
Change: Limit total script ops that can be consumed by a list valuate (#11670) 2024-01-02 19:02:12 +01:00
Jonathan G Rennison
8751bd2ba7 Add some [[maybe_unused]] tags for when asserts are disabled 2024-01-02 15:11:03 +00:00
Jonathan G Rennison
9ea49d6680 Only compile OrderList::DebugCheckSanity when WITH_ASSERT defined 2024-01-02 14:50:33 +00:00
Jonathan G Rennison
be4f8b91c6 Change: Limit total script ops that can be consumed by a list valuate
(cherry picked from commit 1d0b40b2b2f2998d96221b18ae65a4d1524c61a7)
2024-01-02 14:50:33 +00:00
Jonathan G Rennison
42c8f50551 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows.yml
#	.gitignore
#	COMPILING.md
#	src/company_gui.cpp
#	src/date_gui.cpp
#	src/engine.cpp
#	src/engine_func.h
#	src/fileio.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/newgrf_debug_gui.cpp
#	src/newgrf_gui.cpp
#	src/order_gui.cpp
#	src/osk_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/script/api/script_event_types.hpp
#	src/sl/oldloader_sl.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/toolbar_gui.cpp
#	src/town_gui.cpp
#	src/transparency_gui.cpp
#	src/vehicle_gui.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_func.h
#	src/widgets/dropdown_type.h
#	src/widgets/group_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
#	src/window_gui.h
#	src/window_type.h
2024-01-02 14:44:33 +00:00
Jonathan G Rennison
502a52edd5
Fix: Spurious cancellations of HTTP content downloads (#11668) 2024-01-01 19:13:29 +00:00
Jonathan G Rennison
3611770138 Do not assert when STRINGN has insufficient parameters, output placeholder 2024-01-01 18:40:24 +00:00
translators
3e4dee6d0c Update: Translations from eints
english (us): 11 changes by 2TallTyler
korean: 29 changes by telk5093
2024-01-01 18:38:47 +00:00
Jonathan G Rennison
88324a253e
Fix #11644: Off by one error/buffer over-read in StrMakeValid (#11645)
* Fix #11644: Off by one error in StrMakeValid UTF-8 decode overrun detection

* Fix #11644: Off by one error in StrMakeValid buffer last character

* Fix: Unnecessary string duplication at StrMakeValid call sites
2024-01-01 13:26:31 -05:00
Jonathan G Rennison
f3ec6abbbb Fix road stops/waypoints not using road type custom one-way sprites 2024-01-01 17:52:03 +00:00
Loïc Guilloux
a672813bb0
Add: [Script] Optional filter parameter to ScriptVehicleList constructor (#11663) 2024-01-01 01:07:47 +01:00
Loïc Guilloux
f56a2d0f82
Fix: Missing invalidations on gui.ai_developer_tools change (#11664) 2024-01-01 00:43:10 +01:00
Jonathan G Rennison
3e2060f155
Fix #11337: Station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT (#11656) 2023-12-31 18:31:01 -05:00
translators
13348b7790 Update: Translations from eints
galician: 13 changes by Xocko12
catalan: 47 changes by J0anJosep
latvian: 14 changes by lexuslatvia
french: 11 changes by ottdfevr
portuguese: 52 changes by azulcosta
2023-12-31 18:38:20 +00:00
Peter Nelson
934545a674
Fix: Calculation of initial engine age was inaccurate. (#11660)
Engine age in months was calculated as the difference in days / 32, instead of the actually difference in months. This would result in engines being artificially younger if a game was started at a later date.
2023-12-31 15:47:32 +00:00
Peter Nelson
7124b4eef1 Codechange: Use std::unique_ptr for all NWidgets. 2023-12-31 15:33:56 +00:00
Peter Nelson
9a3934ae23 Codechange: Use vector/unique_ptr inside widget containers.
This replaces a C-style double-linked-list which required all widgets
to have next/prev pointers, and removes the need for manual pointer management.
2023-12-31 15:33:56 +00:00
Jonathan G Rennison
5eb426be78 Version: Committing version data for tag: jgrpp-0.56.2 2023-12-30 23:12:29 +00:00
Jonathan G Rennison
e7ef53a434 Fix include path in network/core/http.h 2023-12-30 23:11:53 +00:00
Jonathan G Rennison
4358b495b2 Increase maximum length of sign text 2023-12-30 22:47:21 +00:00
Jonathan G Rennison
ebbf3425d5 Debug: Add debug windows for routing restriction programs 2023-12-30 22:25:44 +00:00
Peter Nelson
628092f133 Codechange: Use GetParentWidget to find widget's NWidgetMatrix container. 2023-12-30 22:02:37 +00:00
Peter Nelson
c2c65d66ba Codechange: Add GetParentWidget() to widgets.
This allows to get parent widgets in the nested tree from bottom-up.
2023-12-30 22:02:37 +00:00
Jonathan G Rennison
f5146e624f Network: Prevent content protocol timeout from killing HTTP downloads
See: https://github.com/OpenTTD/OpenTTD/issues/11636
2023-12-30 20:43:36 +00:00
Jonathan G Rennison
f8085683fb Change HTTPCallback::OnReceiveData to use UniqueBuffer
See: https://github.com/OpenTTD/OpenTTD/issues/11636
2023-12-30 20:43:36 +00:00
Jonathan G Rennison
f457f306ce Add std::unique_ptr<T[]> wrapper (UniqueBuffer) which also stores the size 2023-12-30 20:43:36 +00:00
Patric Stout
6e7c92e3af Fix: race-conditions in GUI updates when downloading HTTP files
(cherry picked from commit 56c6df4702015fda7cc7a05b67bfe90b3ede1ad0)

See: https://github.com/OpenTTD/OpenTTD/issues/11636
See: https://github.com/OpenTTD/OpenTTD/pull/11639
2023-12-30 19:00:21 +00:00
Peter Nelson
8ff0bef862
Codechange: Make widget index const to prevent changes. (#11658)
This guards against future widget index manipulation.
2023-12-30 18:55:16 +00:00
translators
fd782ada05 Update: Translations from eints
russian: 11 changes by lexuslatvia
finnish: 12 changes by hpiirai
latvian: 217 changes by lexuslatvia
2023-12-30 18:38:27 +00:00
Peter Nelson
6215e9bf77
Fix #11655: Crash due to NWidgetMatrix modifying widget->index. (#11657)
NWidgetMatrix modifies its child widget's index to indicate which element
is to be drawn, which now causes issues with code that does not know about
stuffing extra data into the index.

Instead, let NWidgetMatrix store the currently processing element, and
retrieve this information from the matrix widget while child widgets are
being drawn.

This means only widgets that are children of NWidgetMatrix need to know
anything about their extra data.
2023-12-30 18:24:26 +00:00
Charles Pigott
1e60734660
Fix: Compilation with DEBUG_DUMP_COMMANDS enabled (#11607) 2023-12-30 17:46:32 +00:00
Patric Stout
49db7bbe08 Change: add vcpkg.json to instruct vcpkg what dependencies we require
This works on all OSes, making it far simpler for any developer
to jump in. Just install vcpkg, run "vcpkg install" in our root,
and you have all the dependencies.
2023-12-30 18:40:04 +01:00
Patric Stout
0c064b5119 Change: [CI] use vcpkg built-in caching mechanism 2023-12-30 18:40:04 +01:00
Patric Stout
5d86588a45 Change: [CI] pkg-config is installed by default on latest runner 2023-12-30 18:40:04 +01:00
Patric Stout
086bd00f5d Fix: [CI] upgrade curl to a modern version to avoid patching other tools 2023-12-30 18:40:04 +01:00
Patric Stout
3fec8ece5a Change: [CI] always use "latest" image for our runners 2023-12-30 18:40:04 +01:00
Jonathan G Rennison
673a0dc5de Fix station blocked/pylon/wire bits with CBID_STATION_TILE_LAYOUT 2023-12-30 17:20:34 +00:00
Jonathan G Rennison
f3614c419d Fix savegames with incorrect signal always reserve through bits
See: #620
2023-12-30 15:16:25 +00:00
Jonathan G Rennison
8256bb8359 Tracerestrict: Fix share/unshare actions setting always reserve through bit incorrectly
See: #620
2023-12-30 14:53:17 +00:00
Jonathan G Rennison
00a0853550 Debug: Show if signal is always reserve through 2023-12-30 14:01:14 +00:00
Jonathan G Rennison
099a7bdd3a Debug: Add drop-down items to go between road/rail/signal features 2023-12-30 14:01:14 +00:00
Jonathan G Rennison
dac4d9a221 Debug: Allow debug feature helpers to provide drop down options
In non sprite dump mode
2023-12-30 14:01:14 +00:00
Patric Stout
d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries (#11651) 2023-12-30 14:40:09 +01:00
Peter Nelson
f3b4d2a384
Fix #11649: Ignore disabling a widget that does not exist. (#11652)
Orders window has different widget layouts depending on vehicle type
which don't all have the same widgets, and therefore it tries to disable
widgets that might not exist.

Restore the old behaviour of ignoring such requests, instead of crashing.
2023-12-30 13:29:31 +00:00
Peter Nelson
268e512fb8 Codechange: Set storage type of widget enums to WidgetID. 2023-12-30 00:23:57 +00:00
Peter Nelson
a0dfb76e34 Codechange: Replace mishmash of types for widget index with WidgetID.
Indices were stored as int, but often passed around as uint/uint8_t and casts.

Now they should all use WidgetID.
2023-12-30 00:23:57 +00:00
Peter Nelson
fd84f73323
Fix #11643: Empty area at top of survey preview. (#11647)
Empty area at the top of some textfile windows due to calling
SetDisplayedPlane() after calling FinishInitNested(), and/or changing
the displayed plane and not calling ReInit() after.

This was previously hidden by CheckForMissingGlyphs() reinitialising
all windows anyway.
2023-12-30 00:19:27 +00:00
Jonathan G Rennison
e62c912c10 Fix off-by-one/buffer over-read error in StrMakeValid
See: https://github.com/OpenTTD/OpenTTD/issues/11644
2023-12-30 00:11:36 +00:00
Jonathan G Rennison
74a2cd5123 Fix thread safety issues in GetLogPrefix 2023-12-30 00:11:36 +00:00
Jonathan G Rennison
3683fdce6a Bump OpenTTD content version to 13.4 2023-12-29 20:33:57 +00:00