Jonathan G Rennison
8832ab8e5d
Add StringBuilder class from upstream
2024-01-05 14:45:55 +00:00
Jonathan G Rennison
7f6b1d6b94
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/company_func.h
# src/core/overflowsafe_type.hpp
# src/engine.cpp
# src/music/midifile.cpp
# src/network/network_command.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_roadstop.h
# src/newgrf_spritegroup.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/pathfinder/yapf/yapf_common.hpp
# src/road_gui.cpp
# src/saveload/engine_sl.cpp
# src/script/api/script_depotlist.cpp
# src/script/api/script_roadtypelist.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/strings.cpp
# src/table/settings/game_settings.ini
2024-01-05 13:37:52 +00:00
Peter Nelson
623df6b94f
Codechange: Get count of road vehicles by summing company group statistics data in small UFO handler. ( #11690 )
...
This avoids needing to iterate the complete vehicle pool. Company group statistics are maintained elsewhere already.
The vehicle pool is still iterated later to find the nth random road vehicle.
2024-01-05 13:13:55 +00:00
Peter Nelson
91ea8e3fa6
Codechange: Use locals for company/deity mode during script loops. ( #11686 )
2024-01-05 08:32:43 +00:00
Peter Nelson
06050f7bb3
Fix: Pass townnameparts as parameter when testing townname based companyname. ( #11685 )
...
Length of returned string could vary and pass/fail the length check with a different
string than the final selection.
2024-01-04 23:10:54 +00:00
Peter Nelson
7482f71692
Change: Don't handle 'missing' string parameters as 0. ( #11673 )
...
If not enough parameters are supplied for a string, then a value of 0 was used, which could result in incorrect information being displayed.
Instead, throw an exception and include an error in the string.
2024-01-04 20:50:58 +00:00
translators
c44faf4eea
Update: Translations from eints
...
english (us): 2 changes by 2TallTyler
chinese (simplified): 39 changes by WenSimEHRP
polish: 29 changes by pAter-exe
2024-01-04 18:39:48 +00:00
Jonathan G Rennison
5db9266f4b
Change: Allow STRING/STRINGN to use all remaining parameters in game script mode
2024-01-04 17:45:33 +00:00
Jonathan G Rennison
e2a79f0f32
Codechange: No longer advance parent offset in StringParameters parent mode
...
Add method to manually advance offset
2024-01-04 17:45:33 +00:00
EmperorJake
6522351a1f
Feature: Setting to disable the loading speed penalty for trains longer than the station
2024-01-04 16:59:11 +01:00
Rubidium
e3f49ee7a0
Codechange: coding style fixes
2024-01-04 16:23:54 +01:00
Jonathan G Rennison
0075364c89
Fix: curl_global_cleanup called before libcurl HTTP thread exited
2024-01-04 13:41:24 +01:00
Jonathan G Rennison
51ef416b49
Fix: libcurl HTTP thread race at uninit preventing thread exit
2024-01-04 13:41:24 +01:00
Jonathan G Rennison
f6a1f64efb
Adjust chunnel water distance limits and associated texts
2024-01-04 02:34:08 +00:00
Jonathan G Rennison
7bd074f273
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/vehicle.cpp
2024-01-04 01:27:15 +00:00
George Abraham
4fcd94a1cb
Update: replace the cedilla characters with comma ones for Romanian ( #11665 )
...
This is specifically for s-cedilla and t-cedilla to their comma variants.
These variants, especially in smaller font sizes, look almost identical but
they are different. Currently the translation uses a mix of the cedilla and
comma variants, where the cedilla ones are often in the older strings.
Replace reinnoi with innoi, as it is the correct form.
2024-01-03 20:56:07 +01:00
translators
799455abf7
Update: Translations from eints
...
latvian: 2 changes by lexuslatvia
portuguese (brazilian): 1 change by pasantoro
2024-01-03 18:39:18 +00:00
Peter Nelson
3864902683
Codechange: Use vehicle viewport hash to find clicked vehicle. ( #11675 )
...
This avoids having to iterate all vehicles, which can be an performance improvement when there are many vehicles.
2024-01-03 18:36:34 +00:00
Patric Stout
aef49e9933
Fix: race-conditions in GUI updates when downloading HTTP files ( #11639 )
2024-01-02 22:05:25 +01:00
Jonathan G Rennison
ea85bbda97
Fix duplicate order not always preserving colour
2024-01-02 19:38:14 +00:00
Jonathan G Rennison
38e2605c14
Add order stop location to manage order dropdown
2024-01-02 19:35:07 +00:00
Jonathan G Rennison
ae4f57240c
Use DropDownListCheckedItem for order colour selection
...
Fix divider in manage order dropdown
2024-01-02 19:20:13 +00:00
translators
344bdafb53
Update: Translations from eints
...
latvian: 8 changes by lexuslatvia
polish: 1 change by pAter-exe
2024-01-02 18:40:54 +00:00
Krys Clarke
1cdafcd7ac
Fix: Missing word in conditional order comparator ( #11632 )
2024-01-02 18:29:25 +00:00
Peter Nelson
ae3352582a
Fix: Autorenew failed message consumes arguments. ( #11669 )
2024-01-02 18:08:04 +00:00
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
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
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
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
Jonathan G Rennison
201ddf4c08
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/widget.cpp
2023-12-29 18:47:01 +00:00
Peter Nelson
b86182ab84
Codechange: Use std::map to provide indexed widget access.
...
This removes the need to determine the biggest widget index and replaces C-style memory handling.
2023-12-29 18:45:43 +00:00
Peter Nelson
a12f426d69
Codechange: Rename nested array to widget lookup.
...
This changes from naming storage-type to naming functionality.
* `FillNestedArray` is renamed to `FillWidgetLookup`.
* `Window::nested_array` is renamed to `Window::widget_lookup`.
* `array` parameter renamed as well.
2023-12-29 18:45:43 +00:00
translators
a8e587632a
Update: Translations from eints
...
danish: 3 changes by bscargo
dutch: 10 changes by Afoklala
2023-12-29 18:38:59 +00:00
Jonathan G Rennison
b49f8c6bfc
Avoid O(N^2) in group livery propagation
2023-12-29 15:34:34 +00:00
Jonathan G Rennison
ffff696b4e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/cheat_gui.cpp
# src/console_cmds.cpp
# src/crashlog.cpp
# src/date_gui.cpp
# src/engine.cpp
# src/group_cmd.cpp
# src/landscape.cpp
# src/network/network_gui.cpp
# src/newgrf.cpp
# src/saveload/afterload.cpp
# src/script/api/script_date.cpp
# src/sl/oldloader_sl.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/strings.cpp
# src/subsidy_gui.cpp
# src/survey.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_game_calendar.h
2023-12-29 14:46:53 +00:00
Peter Nelson
feb94d233d
Codechange: Remove deferred nested_array initialization path. ( #11640 )
...
Having two ways (`FillNestedArray` and `SetupSmallestSize`) to initialize
`Window::nested_array` introduces confusion.
Instead, make `FillNestedArray` the canonical way, always call it, and remove
init_array from `SetupSmallestSize`.
2023-12-29 14:27:04 +00:00
Patric Stout
11ba951250
Fix: race-condition when creating new HTTP requests from different threads ( #11638 )
2023-12-29 12:45:23 +01:00
Jonathan G Rennison
0776d7e992
Disallow converting far end of tunnel/bridge road/tram when owned by other
...
When adding road across or converting road/tram type
2023-12-29 01:31:17 +00:00
Jonathan G Rennison
decfab153a
Settings: Fix duplication of PLYX save field table
2023-12-29 00:57:10 +00:00
Jonathan G Rennison
ec6d2b68de
Fix infrastructure totals when connecting road/tram of different owners
...
across dual road/tram bridge with custom bridge heads
2023-12-29 00:42:29 +00:00
Jonathan G Rennison
2810c4fe65
Simplify infrastructure updates in tunnel/bridge road/tram conversion
2023-12-28 23:55:31 +00:00
Peter Nelson
5d2ed80c95
Fix: Changing group parent did not properly update partially-default liveries.
2023-12-28 23:16:19 +00:00
Peter Nelson
bfb4254226
Fix: Changing default livery did not propagate to group liveries.
...
#11614 attempted to address this but did not handle 2CC properly, and changes to the default livery were not handled.
2023-12-28 23:16:19 +00:00
Jonathan G Rennison
3b18877b87
Fix #11629 : AirportGetNearestTown for rotated airports ( #11631 )
...
Add rotation parameter to AirportGetNearestTown
Add wrapper for existing stations
Remove unnecessary iterator cloning
2023-12-28 21:43:05 +00:00
Peter Nelson
33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. ( #11637 )
2023-12-28 21:34:08 +00:00
Peter Nelson
bd3b28551e
Codechange: Replace reliability magic numbers with constants.
...
These are derived as a percentage of UINT16_MAX.
2023-12-28 21:26:24 +00:00
Peter Nelson
7b2c143df0
Fix: Prevent underflow if engine base life is less than 8 years.
2023-12-28 21:26:24 +00:00
translators
ead5ad119c
Update: Translations from eints
...
english (au): 11 changes by krysclarke
danish: 9 changes by bscargo
portuguese (brazilian): 10 changes by pasantoro
2023-12-28 18:38:31 +00:00
Jonathan G Rennison
6a94f2f3e7
Fix 35d2842d
: Fix script handling of airport rotations
...
Adjust types/signature
2023-12-28 17:03:08 +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
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
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
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
Jonathan G Rennison
2857ea88e9
stdafx: Add missing EMPTY_BASES define
2023-12-18 19:14:52 +00:00
translators
9b7a5bc876
Update: Translations from eints
...
vietnamese: 1 change by KhoiCanDev
danish: 4 changes by bscargo
2023-12-18 18:39:11 +00:00
Jonathan G Rennison
80eae8c468
Fix missing header reference in src/core/CMakeLists.txt
2023-12-18 17:35:56 +00:00
Peter Nelson
b19a6c3b81
Fix: Window width/height was doubly-scaled with automatic DPI switch. ( #11598 )
2023-12-18 13:05:06 +00:00
Jonathan G Rennison
8ac13f58cb
Saveload: Default savegame time units to days when loading vanilla saves
2023-12-17 23:08:34 +00:00
Jonathan G Rennison
4fac6b295c
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release-linux.yml
# src/base_consist.h
# src/blitter/32bpp_optimized.cpp
# src/blitter/32bpp_optimized.hpp
# src/blitter/32bpp_sse2.hpp
# src/blitter/8bpp_optimized.hpp
# src/gfx_func.h
# src/industry_cmd.cpp
# src/industrytype.h
# src/linkgraph/linkgraphjob.cpp
# src/mixer.cpp
# src/newgrf_callbacks.h
# src/openttd.cpp
# src/os/macosx/macos.mm
# src/os/windows/win32.cpp
# src/pathfinder/npf/npf.cpp
# src/road_cmd.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/sound.cpp
# src/spritecache.cpp
# src/spriteloader/spriteloader.hpp
# src/station_map.h
# src/timetable_cmd.cpp
# src/timetable_cmd.h
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/vehicle_cmd.cpp
# src/vehicle_gui_base.h
# src/video/opengl.cpp
# src/video/opengl.h
# src/viewport.cpp
2023-12-17 23:00:46 +00:00
Jonathan G Rennison
e9599fd4be
Scheduled dispatch: Remove scheduled_dispatch_start_full_date_fract
...
Use DateTicksScaled
2023-12-17 23:00:45 +00:00
Jonathan G Rennison
c76a5ed638
Timetable: Remove timetable_start_subticks, use DateTicksScaled
2023-12-17 23:00:44 +00:00
Jonathan G Rennison
fa29a3d606
Saveload: Increase compile-time checks for saveload arrays/primitive types
2023-12-17 23:00:44 +00:00
SamuXarick
c05ffb22bd
Fix #10452 : Don't let AyStar max_search_nodes unattended when initializing ( #11544 )
...
Add a constant with the default value of 10000 and have the pathfinding settings refer to it.
Add a preventative method to AyStar when it's initializing, to limit the number of max_search_nodes if left unattended.
2023-12-17 22:50:53 +01:00
translators
8ab3838387
Update: Translations from eints
...
vietnamese: 20 changes by KhoiCanDev
italian: 5 changes by Rivarossi
2023-12-17 18:37:38 +00:00
Jonathan G Rennison
f399fc040f
VarAction2: Don't set skip CB flag if NGOF_NO_OPT_VARACT2_CB_QUICK_EXIT set
2023-12-17 16:38:31 +00:00
Jonathan G Rennison
5062b35b7d
VarAction2: Handle deterministic/CB groups under real sprite groups in optimiser
...
See: #618
2023-12-17 14:47:02 +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
5f08bde936
Saveload: Remove runtime IsVariableSizeRight check
2023-12-17 13:38:22 +00:00
Jonathan G Rennison
3996161737
Saveload: Use static_assert to check size and general types of variables
2023-12-17 13:35:10 +00:00
Jonathan G Rennison
a993b3e961
Settings: Adjust types some to fix saveload size mismatches
2023-12-17 13:33:21 +00:00
Jonathan G Rennison
2e06374f6f
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/gfx_func.h
# src/group_gui.cpp
# src/industry_gui.cpp
# src/misc_gui.cpp
# src/news_gui.cpp
# src/settings_gui.cpp
# src/ship_gui.cpp
# src/smallmap_gui.cpp
# src/station_gui.cpp
# src/subsidy_gui.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/widget.cpp
# src/widgets/dropdown.cpp
# src/window.cpp
2023-12-17 01:16:48 +00:00
Jonathan G Rennison
2267badd28
Remove "Show cargo type filter in vehicle lists" setting
2023-12-17 00:37:17 +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
Peter Nelson
661e0cd82d
Fix: Make compact picker windows expand to fill if necessary. ( #11591 )
2023-12-16 23:08:42 +00:00
translators
651343d69e
Update: Translations from eints
...
english (au): 17 changes by krysclarke
english (us): 17 changes by 2TallTyler
italian: 30 changes by Rivarossi
russian: 17 changes by Ln-Wolf
french: 36 changes by ottdfevr
portuguese (brazilian): 30 changes by pasantoro
2023-12-16 18:36:51 +00:00
translators
0e6038f0e5
Update: Translations from eints
...
english (us): 19 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
turkish: 26 changes by BeratSJ
dutch: 19 changes by Afoklala
2023-12-15 18:38:09 +00:00
Tyler Trahan
8816c9dd26
Change: Improve and standardize wording of World Generation helptexts
2023-12-15 09:57:44 -05:00
Tyler Trahan
1343d7e25a
Change: Don't mention TerraGenesis in setting helptexts
...
We no longer show the land generator in the World Generation GUI, so this is less important to explain in tooltips.
2023-12-15 09:57:44 -05:00
Tyler Trahan
1e8aa9ce22
Add: Use more tooltips in World Generation GUI
2023-12-15 09:57:44 -05:00
Peter Nelson
302e8852c1
Fix: Crash if squirrel compatibility scripts cannot be parsed. ( #11589 )
2023-12-15 01:25:36 +00:00
Loïc Guilloux
7726f8f245
Fix: [Script] Properly store the previous AsyncMode state ( #11587 )
2023-12-14 21:29:44 +00:00
Peter Nelson
bbf3028f89
Fix #11585 : Crash when cleaning AI/GS with nested AsyncMode.
...
Do not throw sanity check when in_shutdown is true. This is also applied to
ExecMode and TestMode as they follow the same pattern.
2023-12-14 20:54:31 +00:00
Peter Nelson
47dd04d16c
Fix: Don't crash when saving a crashlog save with no main window open.
2023-12-14 20:54:31 +00:00
Peter Nelson
da2d21f5b0
Fix: Left-over printf-style format passed to fmt. ( #11584 )
2023-12-14 19:35:35 +00:00
Jonathan G Rennison
e9612338ff
Fix condition for extending train reverse distance due to overspeed
2023-12-14 19:27:52 +00:00
translators
63c006a174
Update: Translations from eints
...
korean: 20 changes by telk5093
danish: 13 changes by bscargo
portuguese (brazilian): 18 changes by pasantoro
2023-12-14 18:38:27 +00:00
Jonathan G Rennison
97b86b7147
Codechange: Use MakeParameters with GetNextParameter in FormatString ( #11583 )
...
Instead of StringParameters subspan, to avoid GSs being able to
cause subspan boundary assertion failures
2023-12-14 10:41:31 -05:00
Peter Nelson
12bb750128
Codechange: Cargo filters no longer take an index. ( #11582 )
...
Update naming of functions to reflect that parameter is now a cargoid.
2023-12-14 01:48:45 +00:00
Jonathan G Rennison
164e218736
String: Use MakeParameters with GetNextParameter
...
Instead of StringParameters subspan, to avoid GSs being able to
cause subspan boundary assertion failures
2023-12-14 01:07:26 +00:00
Jonathan G Rennison
7cf6600b47
String: Fix incorrect use of strecat to append error messages
2023-12-14 01:04:40 +00:00
Jonathan G Rennison
7a5ac8dd04
MInGW: Work around include ordering issue with regex, shared_mutex, condition_variable
2023-12-13 23:11:20 +00:00
Jonathan G Rennison
ea3b991f72
MinGW: Remove direct mingw-std-threads includes
2023-12-13 23:11:20 +00:00
Jonathan G Rennison
ba7d2c92d2
MinGW: Update mingw-std-threads
...
Remove requirement for MinGW-specific includes
2023-12-13 23:11:20 +00:00
Peter Nelson
916676998f
Fix #11500 : Rename Textfile GUI's LinkType to HyperlinkType. ( #11502 )
...
This disambiguates it with LinkType in league tables.
(cherry picked from commit e3622da408
)
2023-12-13 20:05:18 +00:00
Jonathan G Rennison
34668bff87
Test: Add upstream tests
2023-12-13 20:05:18 +00:00
Peter Nelson
d6515d6c98
Fix 0a8bcdd
: Scaling non-sprite fonts does not depend on _font_zoom changing. ( #11579 )
2023-12-13 19:51:44 +00:00
Jonathan G Rennison
24c8a8f887
Spritecache: Move SpriteCache, SpriteDataBuffer to internal header
2023-12-13 19:24:37 +00:00