Commit Graph

42279 Commits (d7ef1416a7ded2ab8c991eefc2f9638909248c32)

Author SHA1 Message Date
Jonathan G Rennison 36fadb5424 Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_station_base.h
#	src/newgrf.cpp
#	src/newgrf_class.h
#	src/newgrf_class_func.h
#	src/newgrf_commons.cpp
#	src/newgrf_commons.h
#	src/newgrf_roadstop.cpp
#	src/newgrf_roadstop.h
#	src/newgrf_station.cpp
#	src/saveload/newgrf_sl.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
1 year ago
Jonathan G Rennison fc80a93672 Fix object town variables when no town is present 1 year ago
Jonathan G Rennison 3d4133cadb Debug: Fix debug window parent scope button with missing town 1 year ago
Jonathan G Rennison 5615cee503 Show town count in town directory window 1 year ago
Jonathan G Rennison 819b9fcdd9 Include 'perfect' mode in tree placer setting helptext 1 year ago
Jonathan G Rennison 58c0aac15f Fix re-opening GRF/script settings windows not closing drop down windows
Causing assertion failure on drop down item selection

See: #527
1 year ago
Jonathan G Rennison e3bd8966fc Debug: Allow setting parameters for extended vars in debug window
Reafctor handling of set parameters
1 year ago
Jonathan G Rennison a10c5a62c9 Factor out function to get value with broadest digits 1 year ago
Jonathan G Rennison 18a79a35d0 Fix truncation of GetDebugString output string
See: #525
1 year ago
Jonathan G Rennison f7964cb3aa Add function to get name of extended variable ID
Add table for internal variable IDs which aren't mappable externally
1 year ago
Jonathan G Rennison bdb9a72aa4 NewGRF: Add/extend station variables for station info of nearby tiles
In preparation for support of more than 255 stations per GRF
1 year ago
Jonathan G Rennison 1dbbbed9e5 NewGRF: Only extend value of road stops variable 68 if feature tested for 1 year ago
Jonathan G Rennison 2450705aa0 Use btree map for tracerestrict GUI drop down list mapping 1 year ago
Jonathan G Rennison ec6f9478ee Improve efficiency of station docking tiles check in CheckCaches 1 year ago
Jonathan G Rennison 24ffc5233c Remove CapacitiesMap typedef 1 year ago
Jonathan G Rennison 326d0c329c Remove some unnecessary colour strings 1 year ago
Jonathan G Rennison 40a9f19c20 Implement text filtering in dual pane train build window 1 year ago
Jonathan G Rennison 2ed248a61d Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	src/aircraft_cmd.cpp
#	src/airport_gui.cpp
#	src/articulated_vehicles.cpp
#	src/build_vehicle_gui.cpp
#	src/company_gui.cpp
#	src/genworld_gui.cpp
#	src/gfx_layout.cpp
#	src/misc_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_config.h
#	src/newgrf_engine.cpp
#	src/news_gui.cpp
#	src/order_gui.cpp
#	src/roadveh_cmd.cpp
#	src/saveload/saveload.h
#	src/saveload/vehicle_sl.cpp
#	src/ship_cmd.cpp
#	src/statusbar_gui.cpp
#	src/table/settings/network_private_settings.ini
#	src/table/settings/network_settings.ini
#	src/toolbar_gui.cpp
#	src/train_cmd.cpp
#	src/vehicle_gui.cpp
1 year ago
PeterN 1ff0dc11d8
Fix: Land info window maximum width was not scaled. (#10894) 1 year ago
Jonathan G Rennison 6880cf24a0 Fix crash in template replacement failure news if autorenew succeeds 1 year ago
Jonathan G Rennison 13183d3f13 Add command result flag for whether SetResultData was called
Use for tracerestrict validation result fail offset
1 year ago
Patric Stout 0302e6f168
Codechange: initialize all values of ICURun on construction (#10892) 1 year ago
translators c8b70e4877 Update: Translations from eints
ukrainian: 53 changes by alextov
portuguese (brazilian): 1 change by ericandradex
1 year ago
Jonathan G Rennison 5dcbd9271b Hide min_years_for_shares setting when shares are disabled 1 year ago
Jonathan G Rennison bac8f032da Re-add company shares 1 year ago
Jonathan G Rennison 6297abdb3b Remove str_fmt and str_vfmt 1 year ago
Jonathan G Rennison 94c422499f Use last pointer in std::string returning GetString 1 year ago
Jonathan G Rennison 7aef72b946 Add static_assert for length of _command_proc_table 1 year ago
Jonathan G Rennison 02fe4af934 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-windows.yml
#	src/company_base.h
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/console_cmds.cpp
#	src/economy.cpp
#	src/economy_cmd.h
#	src/fios.h
#	src/goal.cpp
#	src/group_gui.cpp
#	src/network/core/config.h
#	src/network/network_admin.cpp
#	src/newgrf_config.cpp
#	src/os/windows/win32.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload_error.hpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/stdafx.h
#	src/story.cpp
#	src/story_base.h
#	src/string.cpp
#	src/table/settings/economy_settings.ini
#	src/tests/CMakeLists.txt
#	src/tests/math_func.cpp
1 year ago
Jonathan G Rennison 3ec66e5fb5 Fix not being able to reload GS in script debug window
See: #523
1 year ago
translators e1203c3a48 Update: Translations from eints
esperanto: 51 changes by legoscia
1 year ago
PeterN d086f288cd
Codechange: Remove duplicated includes. (#10888)
These are now included by stdafx.h so don't need to be included again.
1 year ago
PeterN 702194cfef
Change: Cargo flow legend only shows defined cargo. (#10872)
This removes the large mostly-empty grid of cargo buttons when not using a complex industry set.
1 year ago
Jonathan G Rennison bf1e66b2f3 Add missing <functional> header to src/timer/timer.h 1 year ago
translators c9c6721a47 Update: Translations from eints
esperanto: 44 changes by legoscia
1 year ago
Jonathan G Rennison 6091d7470c Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-macos.yml
#	src/company_gui.cpp
#	src/linkgraph/linkgraph.cpp
#	src/newgrf_debug_gui.cpp
#	src/strgen/strgen_base.cpp
#	src/timetable_gui.cpp
1 year ago
Peter Nelson bae1897826 Change: Include font style in font name for Freetype. 1 year ago
Peter Nelson 9976293c1e Codechange: Return fontcache font name as std::string. 1 year ago
translators 90fdf17e39 Update: Translations from eints
esperanto: 28 changes by legoscia
1 year ago
Loïc Guilloux c880157518
Fix: Check max member count in squirrel classes (#10883)
Manual cherry-pick from 23a0620658
1 year ago
Jonathan G Rennison b02817f262 Merge branch 'master' into jgrpp
# Conflicts:
#	src/newgrf.cpp
1 year ago
Jonathan G Rennison ef03d44fb3 Use std::unique_ptr for GRFLineToSpriteOverride 1 year ago
Jonathan G Rennison f00e0e195f cpp-btree: Add support for uncopyable/move-only map/multimap value types 1 year ago
PeterN 8ea9c1a133
Fix #10880: Crash in object window due to incorrect parameter order. (#10881) 1 year ago
Jonathan G Rennison b381a30d2d Merge branch 'master' into jgrpp
# Conflicts:
#	src/base_media_func.h
#	src/cargopacket.h
#	src/gfxinit.cpp
#	src/industry_cmd.cpp
#	src/window_gui.h
1 year ago
PeterN 876871157f
Fix: Ask FontConfig for the face index when opening fonts. (#10878)
This allows selection of the correct face in truetype fonts containing
multiple faces.
1 year ago
Jonathan G Rennison 42b3c5fe25 Fix highlight of adjacent rail/road waypoints when only one waypoint type 1 year ago
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
1 year ago
PeterN 101e4e54a1
Fix d9a04ba446: Ensure MD5Hash is initialized. (#10876)
Not all instances need to be initialized as often they are copied or
written to, but doing all ensures no surprises.

Move the ^= operator to MD5Hash while we're at it.
1 year ago
Jonathan G Rennison ba11467c02 Fix: Rail waypoint selection window not closed
When rail toolbar or rail waypoint build windows closed
1 year ago
Jonathan G Rennison 7615c831aa Avoid unnecessary checks when removing adjacent level crossing tile 1 year ago
Jonathan G Rennison 0b9b080aa6 Fix closing build waypoint window not closing waypoint selection window 1 year ago
Jonathan G Rennison a419674157 Add coverage button to waypoint window 1 year ago
Jonathan G Rennison df5ca1d7fb Highlight waypoint tiles when adjacent or distant joining 1 year ago
PeterN 584faaf064
Change: Reorganise industry accept/produce arrays. (#10853)
Use a array of struct for each cargo instead of an array for each statistic.
This makes iterating for acceptance and production much simpler.
pct_transported is now calculated when needed.
1 year ago
Jonathan G Rennison 65159f4b22 Refactor viewport catchment overlay change handling 1 year ago
Jonathan G Rennison 23ab1cb3d0 Show ctrl-click function of shared orders button in tooltip 1 year ago
Jonathan G Rennison 9f24895480 Fix case of Ctrl+Click in English tooltip texts 1 year ago
Jonathan G Rennison 0fd62de4f2 Re-organise interface settings in settings window
Fix enable_single_veh_shared_order_gui not being listed
1 year ago
Jonathan G Rennison f053082478 Viewport map: Use transport colour for road bridge/tunnels and aqueducts
In route mode
1 year ago
Loïc Guilloux db3b086a52
Fix #10867, 8b93e45: Squirrel compile error exception type changed (#10869) 1 year ago
Rubidium b133328737 Codechange: use std::string over strecat to create the RV capacity string 1 year ago
Rubidium 4fdde00e25 Codechange: use std::string to create the GRF parameter list 1 year ago
Rubidium fbab94eabb Codechange: use std::string to create error message about external files 1 year ago
Rubidium 30b9e02dd9 Codechange: replace crashlog filenames with std::string in Crashlog 1 year ago
Rubidium 19304bd3d5 Codechange: replace seprintf with fmt::format for filling the crash log data 1 year ago
Rubidium f4b0ac2bd4 Codechange: use std::string for formatting settings 1 year ago
Jonathan G Rennison b5ee8e9e42 Add unset hotkey to toggle showing slopes in viewport map mode
See: #522
1 year ago
Jonathan G Rennison d29cec53e0 Viewport map: Show bridges and tunnels in rail type colour in routes mode
See: #522
1 year ago
Jonathan G Rennison 9cb992ab14 Viewport map: Adjust vertical alignment of tunnels 1 year ago
translators 1412ea48ed Update: Translations from eints
esperanto: 268 changes by legoscia
1 year ago
Peter Nelson 09408e8e46 Codechange: Add IsCargoAccepted/Produced() helpers. 1 year ago
Peter Nelson 633f19419d Codechange: Make more use of GetCargoAccepted/ProducedIndex(). 1 year ago
Jonathan G Rennison 5428b6dd9b GS: Documentation/comment fixes for ScriptAsyncMode 1 year ago
Jonathan G Rennison cd9930542d GS: Add GSAsyncMode(bool) class to set async mode of script DoCommands
In asynchronous mode, don't wait for result of executed command,
just fire-and-forget, and return estimated cost/result
1 year ago
Jonathan G Rennison 72dcdfafbd Add setting for server sent commands per frame limit
Use higher of this and existing commands per frame limit setting
for server-originating commands, e.g. GS
1 year ago
Jonathan G Rennison a25e674f06 Add "command" debug category to log commands 1 year ago
Rubidium 29b20718ba Codechange: use Tthis instead of StrongTypedef, so ==/= does not compare/assign different strong typedefs 1 year ago
translators 9f0e406a51 Update: Translations from eints
esperanto: 18 changes by legoscia
1 year ago
Peter Nelson 8931e90302 Cleanup: No need to cound actual cargo to get scroll count. 1 year ago
Peter Nelson f177ce7c9a Codechange: Base CargoArray off std::array.
This avoids needing to define array accessors and allows use of
default value initialization.
1 year ago
Peter Nelson 74e42e39a8 Codechange: Use CargoArray::GetCount() 1 year ago
Peter Nelson 76516d7f70 Codechange: Use IsValidCargoID/IsValidCargoType.
IsValidCargoType() is used only for unmapped IDs.
1 year ago
Peter Nelson c4ca6a0f74 Codechange: Rename IsCargo..Valid to IsValidCargo..
This better fits our naming pattern for this type of function.
1 year ago
Jonathan G Rennison 8bb23e07ba Merge PR #520 into jgrpp 1 year ago
Jonathan G Rennison e8748c310c Merge PR #519 into jgrpp 1 year ago
Jonathan G Rennison a99418cb69 Revert "Codechange: Explicitly move a few variables to avoid a copy constructor (fixes warning from clang)"
This reverts commit 6378a78817.

Fixes: #521
1 year ago
translators e9b376d484 Update: Translations from eints
catalan: 14 changes by J0anJosep
portuguese: 20 changes by azulcosta
portuguese (brazilian): 15 changes by ericandradex

(cherry picked from commit 27b40da06a)
1 year ago
Jonathan G Rennison 37b8b59c85 Merge branch 'master' into jgrpp
# Conflicts:
#	src/date_type.h
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphschedule.cpp
#	src/saveload/saveload.h
#	src/table/settings/linkgraph_settings.ini
1 year ago
translators e2827d0e9c Update: Translations from eints
galician: 41 changes by pvillaverde
esperanto: 95 changes by legoscia
portuguese (brazilian): 18 changes by ericandradex
1 year ago
Jonathan G Rennison 9a4512f789 Remove linkgraph duration not day length scaled setting
Now always enabled
1 year ago
Jonathan G Rennison 5dd99fb046 Add setting for milliseconds per game tick mode 1 year ago
Jonathan G Rennison 5e8266ac7d Fix value of payment algorithm setting when loading new vanilla saves 1 year ago
Jonathan G Rennison 8ba1010fb4 Merge branch 'master' into jgrpp 1 year ago
Rubidium a19a43a4f7 Codechange: use fmt::format and time conversions over "custom" implementation 1 year ago
TELK 6ec28479ea Update: Korean translation for 0.53.3 1 year ago
Rubidium eb635b85bb Fix: work around GCC compiler bug #105120 in fmt
The fmt code pushes a pragma option, and later pops is. The intrinsics code
interacts with it via the __OPTIMIZE__ macro. This has been set by the pragma
option push, but not unset/reset to the original with the pop.
Since the pragma is only used for the GCC compiler (not Clang, not MSVC, not
ICC) and in debug mode, just remove the whole pragma handling for it.
1 year ago
Rubidium 187fa3f214 Codechange: update to fmt 10.0.0 and add formatting support for chrono and std types 1 year ago
Rubidium 6f2f38b3ed Codechange: fmt (and std::format) do explicitly not support enums out-of-the-box
That it works for the version we have packaged it pure coincidence, as that is
one of the few versions that due to a bug allow it. So add the appropriate
template specialisations to support it out-of-the-box within OpenTTD.
1 year ago
pvillaverde 49da6b2070 🌐 Update Galician Translations up to 0.53.3 1 year ago
PeterN bc45c3f66c
Change: Remember waypoint filter string. (#10857) 1 year ago
Rubidium 63d9bb93b8 Codechange: migrate from C-style GetString to C++-style GetString 1 year ago
Rubidium 1a179cb297 Codechange: use GetString + StrMakeValid to pass string without colours/font sizes to Debug 1 year ago
Rubidium 00695c29de Codechange: simplify news string drawing by using StrMakeValid to replaces newlines with spaces 1 year ago
translators 9610705f46 Update: Translations from eints
esperanto: 52 changes by legoscia
1 year ago
axet 60540f7df6 Change: Allow dedicated server to use threaded saves. (#10787)
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
1 year ago
Rubidium 2efd88d513 Cleanup: version of strgen/settingsgen was always $Revision$, so remove it 1 year ago
Rubidium 2dbd974d4c Codechange: prevent using (f)printf/(f)puts over fmt::print 1 year ago
Rubidium 411379f587 Codechange: replace puts with fmt::print 1 year ago
Rubidium 275ebf4509 Codechange: replace fprintf(<FILE*> with fmt::print(<FILE*> 1 year ago
Rubidium c518293135 Codechange: replace printf with fmt::print 1 year ago
Tyler Trahan d57046e7ec
Change: Use "Via-Destination-Source" as default station cargodist display (#10851) 1 year ago
Jonathan G Rennison 2677c60f11 Don't show different version warning in save window when no file selected 1 year ago
Jonathan G Rennison 3cbd1a5a76 Add conditional order test for whether slot is empty/not empty 1 year ago
Patric Stout 0850193a38
Fix: survey result on crash only worked on Linux (#10855)
Every OS-specific crashlog handler has their own MakeCrashLog
in some form. In result, only Linux was calling the generic one.
1 year ago
translators 98dffc3157 Update: Translations from eints
catalan: 12 changes by J0anJosep
esperanto: 678 changes by legoscia
1 year ago
Rubidium 3323402aaa Codechange: rename smallvec_type to container_func and use only when needed 1 year ago
Rubidium 80d8c01814 Codechange: replace std::vector + duplicate preventing include with std::set 1 year ago
Rubidium 07860e67e2 Codechange: use fmt::format_to to format the help message 1 year ago
Loïc Guilloux 8d2a0a7da4
Fix #10846: [Squirrel] Ensure sqvector size does not overflow (#10848) 1 year ago
Jonathan G Rennison 7cad92988f Avoid unnecessary scroll bar resets in refit window
When vehicle consist is changed
1 year ago
PeterN 0cbbfd3eae
Codechange: Use display list instead of exclude list for file window. (#10845)
This simplifies retrieving the correct data for each row when data is
filtered. The background FileList is left intact so that savegame data
does not have to be rescanned when the filter is changed, and sorting
still remains the task of the background FileList.
1 year ago
translators cdb184f53b Update: Translations from eints
catalan: 14 changes by J0anJosep
dutch: 14 changes by Afoklala
1 year ago
Peter Nelson 6b87fe6540 Codechange: Use std::array for GRF(File|Config) parameters.
This simplifies comparison, copying and assignment operations.
1 year ago
Peter Nelson c23aae96a2 Codechange: Use std::array instead of C array for automatic deep-copies. 1 year ago
Rubidium acec34a0fe Cleanup: remove MD5SumToString in lieu of FormatArrayAsHex 1 year ago
Rubidium d9a04ba446 Codechange: make the MD5 hash/digest/checksum variables a std::array 1 year ago
Jonathan G Rennison d3eb7242ea Fix removal of order backups when upgrading airports 1 year ago
Peter Nelson 7934418133 Codechange: Remove comment alignment from GRFConfig. 1 year ago
Peter Nelson f14479d27d Codechange: Use std::optional for GRF Parameter list. 1 year ago
Peter Nelson c51a7f629e Codechange: GRFParameterInfo no longer needs deep-copy constructor. 1 year ago
translators fd26658558 Update: Translations from eints
russian: 2 changes by Ln-Wolf
1 year ago
Peter Nelson 91e140c722 Codechange: Use unique_ptr for fios company properties.
This is the data used to show company names in the saveload window.
1 year ago
Peter Nelson bf8f24f9a8 Codechange: Use unique_ptr for text layout font mapping.
This must stay a pointer as the value passed to other structures.
1 year ago
Peter Nelson c38df2d589 Codechange: Use std::map instead of custom SmallMap. 1 year ago
Peter Nelson 72018badff Codechange: Swap SocketList map key/value around.
This map is used store socket and address together, and, other than
checking that the address does not already have a socket, the data layout
does not seem particularly important.

However, as address is the key, technically it should not be modified,
and address may self-modify itself during comparisons.
1 year ago
Peter Nelson f454ec8d63 Fix: Don't rely on static initialization to set up sprite font caches.
The order of static initialization is undefined, so this can cause initalization
before relevant caches are initializations.
1 year ago
Jonathan G Rennison 4ca0b43975 Fix train z pos after reversing at wrong-way signalled bridge wormhole
Could cause train disconnection or wrong wagon spacing
1 year ago
translators 418888ac23 Update: Translations from eints
romanian: 11 changes by bnegrut
turkish: 14 changes by densxd
1 year ago
Peter Nelson 83f2ad500e Codechange: stdarg.h include not needed as cstdarg is included. 1 year ago
Peter Nelson 56085be9bd Codechange: Move includes for common STL headers to stdafx. 1 year ago
Jonathan G Rennison 29495b4e3d Tracerestrict: Fix default state of copy/share button planes 1 year ago
Jonathan G Rennison 731f2fb46e Tracerestrict: Add button to share program onto other signals 1 year ago
Jonathan G Rennison 9f89f1fb42 Tracerestrict: Do not change copy button selection plane when active 1 year ago
translators a5cf362886 Update: Translations from eints
english (au): 14 changes by krysclarke
english (us): 14 changes by 2TallTyler
vietnamese: 14 changes by KhoiCanDev
korean: 19 changes by telk5093
italian: 14 changes by Rivarossi
russian: 14 changes by Ln-Wolf
finnish: 14 changes by hpiirai
danish: 22 changes by bscargo
portuguese: 14 changes by azulcosta
polish: 14 changes by pAter-exe
1 year ago
Rubidium e9c03f0dad Cleanup: remnants of C-style strings in saveload 1 year ago
Rubidium 52a7c69974 Codechange: rework Gamelog changes from union to classes 1 year ago
Jonathan G Rennison cd0cc13724 Suppress calls to AdjustGUIZoom during startup phase
See: #518
1 year ago
translators 389b66bd16 Update: Translations from eints 1 year ago
Jonathan G Rennison 9e1066049f Reduce strength of station rating source station penalty on truncation 1 year ago
PeterN 40f567d464
Fix #10811: Crash getting row from non-resizable widget. (#10833)
GetScrolled*FromWidget took line height from the widget's resize_y value,
however not all widgets are resizable, resulting in a division-by-zero.

Allow passing line height explicitly in cases where a widget is not
resizable.
1 year ago
PeterN e4fd9d41d3
Codechange: Use std::any_of() (#10830)
When the result of std::find_if is compared only with end()
then '!= end()' is replaced with any_of().

Just... there's only one.
1 year ago
Jonathan G Rennison 90abfff45c Fix adjacent level crossings left barred after removing middle of crossing
See: #517
1 year ago
Patric Stout 199e41c762
Codechange: use default dtor instead of empty (#10826) 1 year ago
Patric Stout 7634553d22 Feature: opt-in survey when exiting a game
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.

When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU

All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
1 year ago
Rubidium 62fda0f505 Codechange: remove manual allocation/free for SQ_instance 1 year ago
Rubidium f9b5bc7ee6 Cleanup: the need for SQAutoFreePointers has gone 1 year ago
Rubidium d9e93edc8b Codechange: replace 'const char *' script API parameters with std::string 1 year ago
Rubidium b1b578f988 Cleanup: stredup-ing string variant for calling scripts 1 year ago
Rubidium ab51175db2 Codechange: use std::string for script config 1 year ago
Rubidium bbcb55ebc9 Codechange: use std::string as script API return type 1 year ago
Rubidium b24a6bb8f3 Codechange: use std::string for script log calls 1 year ago
Rubidium 77177f7e8b Add: support for std::string parameters in the script API 1 year ago
Rubidium 98972a0748 Codechange: use C++ strings for constructing script file paths 1 year ago
Rubidium 20ff0bccd7 Codechange: use std::string to store script GUI's break string 1 year ago
Rubidium 48825e1a8e Codechange: rewrite script string-to-settings conversion to C++ 1 year ago
Rubidium 552d2f71a2 Codechange: use std::string for script library category 1 year ago
Rubidium e035705239 Codechange: introduce and use std::string variant of sq_throwerror 1 year ago
Rubidium 3453c03a17 Codechange: use fmt::format to create dummy scripts 1 year ago
Rubidium 9f2fc860ad Codechange: use std::optional<std::string> for changing the script over char * 1 year ago
Rubidium 0fd9eb0faa Codechange: use std::string for script info/library finding 1 year ago
Rubidium a30f7c83bd Codechange: use std::string for script names to load 1 year ago
Rubidium 9b0123ab66 Codechange: use std::string for script API versions 1 year ago
Rubidium 3d8d99ba11 Add: method to call script functions with std::string 1 year ago
Rubidium 4a6fdc8293 Fix: multiplication result converted to larger type
Technically unlikely to happen, though uint16 * uint16 get promoted to int and
then stored as uint64; similarly uint * uint16 remains uint and gets stored as
uint64. In both cases the value can get truncated before the change to uint64.
1 year ago
PeterN 4894da67da
Codechange: Pass bridge type instead of display row to BuildBridge. (#10828) 1 year ago
translators a8daf91eea Update: Translations from eints
vietnamese: 4 changes by KhoiCanDev
hungarian: 74 changes by PstasDev
turkish: 4 changes by densxd
1 year ago
Jonathan G Rennison f06160b882 Script: Remove command delay for non-network GS when game paused due to GS 1 year ago
Jonathan G Rennison 7bc6c4b59c Script: Boost gamescript op limit when game is paused due to game script 1 year ago
Jonathan G Rennison 1b6d1086d0 Script: Add ScriptInstance field for script type 1 year ago
Patric Stout 8493719cf4
Fix: padding miscalculated for the network-relay and bootstrap-question GUI (#10827) 1 year ago
PeterN 9eb0cca93a
Fix #10823, Fix #10811: Order list has end marker row. (#10825) 1 year ago
Jonathan G Rennison 4ed0c23644 Add text to warning dialog when overwriting a non-extended version save 1 year ago
Jonathan G Rennison b26d91770f Allow using ShowQuery with std::string texts 1 year ago
Jonathan G Rennison b8f2d96250 Fix showing overwriting different save file warning when file name changed 1 year ago
Jonathan G Rennison 3573571229 Allow changing tree placement algorithm setting in game 1 year ago
PeterN 64930c343a
Codechange: Pass reference instead of pointer to GUI*Lists. (#10822)
Pointer-avoidance.
1 year ago
PeterN 23ce42ad91
Codechange: Use std::move for bridge list. (#10821)
This follows the pattern for dropdown lists, and avoids new/delete and pointers.
1 year ago
PeterN 385b25df63
Fix #10819, Fix #10811: GetVehicleFromDepotWndPt used widget- instead of window-relative positions. (#10820)
Pass window-relative positions instead, and adjust for relative positions where needed within the function itself. This simplifies calling code.
1 year ago
PeterN 07473bfd2e
Fix: Don't use a loop to test if classid is valid. (#10818)
Additionally the Object class test was broken.
1 year ago
Patric Stout 1fe7bbba8a
Codechange: rework NewGRFProfiler to use ticks instead of calendar-days (#10815)
We are planning to allow things like freezing the calendar, which
makes this variable a bit problemetic. So instead, suggest to the
user how many ticks there are in a calendar day, and let them figure
out how many ticks they want.

Additionally, use a TimeoutTimer for this, instead of an end-date
variable which is checked in an IntervalTimer.
1 year ago
Rubidium a372c59483 Codechange: replace C-style (stredup) chat completion with std::string_view 1 year ago
translators e1b653137f Update: Translations from eints
finnish: 4 changes by hpiirai
1 year ago
Peter Nelson a92755de81 Codechange: Use iterator erase pattern. 1 year ago
Peter Nelson 4a64064c57 Codechange: Make NEW_STATION an actual item in join station list.
Add NEW_STATION to the nearby station list to indicate that a new
station should be built. This removes special-casing for a non-existant
list item and keeps the list count and scrollbar count the same.
1 year ago
Patric Stout d54660184a
Fix: NewGRF Profile didn't stop if there were no events yet (#10816)
This meant you could have the following situation:
- You start a profile on a GRF with no events, for N days.
- The days pass, the profile should stop. It doesn't.
- The profile will never stop, even if the GRF start generating events.
- There is no real way to discover this, so .. byebye memory? :)
1 year ago
Jonathan G Rennison 1bee438aff Re-add vertical spacer in slots window right panel
See: #515
1 year ago
Jonathan G Rennison d5c651dc0b Fix width of left panel in slots window when using UI scaling
See: #515
1 year ago
Jonathan G Rennison a6ba3de7e9 Fix slots window not being horizontally resizable
See: #515
1 year ago
Jonathan G Rennison c4fc71339a Update orders window when renaming/removing dispatch schedule 1 year ago
Jonathan G Rennison 2abdd27d02 Fix crash when selecting conditional orders in order window 1 year ago
Peter Nelson 531d1ae8bc Codechange: Use GetScrolled(Row/Item)FromWidget in more places.
In many instances the clicked row position is 'manually' calculated
instead of using the GetScrolledRowFromWidget helper function, with
variations on checks. Replace with the two helpers where possible.
1 year ago
Peter Nelson 941dbadf9e Codechange: Add and use GetScrolledItemFromWidget to get a list item.
This function returns an iterator, either to the selected item or the
container's end.

This makes handling the result more robust as indices are not used.
1 year ago
Rubidium 86e5dfce3d Codechange: use std::string instead of strecat to build hotkey strings 1 year ago
Michael Lutz 72c7536325
Codechange: Use a dedicated variable for disaster vehicle action state. (#10798) 1 year ago
Peter Nelson 1a93618bd1 Fix: Road type is not available before its introduction date. 1 year ago
Peter Nelson 726d05b22b Fix: Don't list unavailable road types for game scripts. 1 year ago
Peter Nelson 5059e23ed5 Revert 8fa61533: "Fix 30ae072: when a road type is hidden, towns may not build them even when that flag is set"
This reverts commit 8fa61533f0.
1 year ago
Henry Wilson 3a03a12a9c Feature: Show the number of industries already built in the Fund New Industry window. 1 year ago
translators a934a584a5 Update: Translations from eints
italian: 4 changes by Rivarossi
catalan: 4 changes by J0anJosep
dutch: 9 changes by Afoklala
1 year ago
PeterN da7f431812
Cleanup: widget pos_x/y are already int. (#10809)
Remove old casts left over from when pos_x/y were unsigned.
1 year ago
Jonathan G Rennison e74e08bf47 Fix manual tree planting in artic climate in perfect tree placement mode 1 year ago
PeterN 7e3646cf46
Codechange: Remove redundant char buffer. (#10808) 1 year ago
translators ca31976da0 Update: Translations from eints
english (au): 4 changes by krysclarke
english (us): 4 changes by 2TallTyler
russian: 4 changes by Ln-Wolf
portuguese: 4 changes by azulcosta
polish: 8 changes by pAter-exe
1 year ago
PeterN 61516627ad
Add: NewGRF string code "9A 21" to display force from textstack. (#10782) 1 year ago
Peter Nelson 59811ec780 Codechange: Use find_if when finding things. 1 year ago
Peter Nelson e6740046ee Codechange: Use range-for iteration. 1 year ago
Peter Nelson cef3a2570d Codechange: Use standard iterator-erase-loop pattern. 1 year ago
Peter Nelson a8c0d16371 Cleanup: Use std::advance instead of for-loop. 1 year ago
Peter Nelson 68782f951b Cleanup: Vector supports random access. 1 year ago
Rubidium 6d1586dd49 Codechange: use std::string instead of char* for original editor strings 1 year ago
Jonathan G Rennison 54221de0f5 Allow entering decimal day/minute timetable values 1 year ago
Jonathan G Rennison d9eb839af9 Use separate CharSetFilter types for signed and unsigned decimal 1 year ago
translators 7e1123c731 Update: Translations from eints
portuguese (brazilian): 30 changes by ericandradex
1 year ago
Jonathan G Rennison 4c18a193e7 Simplify timetable long duration hours and minutes suffix string 1 year ago
Jonathan G Rennison 7941eb5187 Simplify timetable leftover ticks string 1 year ago
Jonathan G Rennison e7f7cd06bd Simplify timetable time/duration string management 1 year ago
Patric Stout 922d7aa773
Update: help out translators and do the COMMA -> DECIMAL for them (#10802) 1 year ago
Michael Lutz 7e906c7c59 Change: Preserve orders and related settings where possible when moving engines around in a train. 1 year ago
Michael Lutz 07449be876 Codechange: A vehicle that is not a front engine can't be removed from a vehicle group, so just remove a pointless function call. 1 year ago
Rubidium 1ae7eb1594 Codechange: use std::map over SmallMap and std::string of stredup(char*) 1 year ago
Rubidium 12085d088c Cleanup: remove obsolete string_compare_type 1 year ago
Rubidium bc389a86c9 Codechange: use std::string as std::map key, instead of stredup string 1 year ago
Rubidium 72082aa7d3 Codechange: use std::string for getting a script's name 1 year ago
Rubidium f1fb6c95fe Add: case insensitive string comparator 1 year ago
Rubidium 6e3d3c0e7c Codechange: introduce std::string variant of sq_pushstring 1 year ago
Peter Nelson f5158c8b79 Feature: Add search filter and name text to build waypoint window. 1 year ago
Peter Nelson dc50ff807c Change: Remove incorrect minimal size. 1 year ago
Peter Nelson b54d7f15ac Change: Reduce size of waypoint matrix to 3 x 2. 1 year ago
Peter Nelson 0513a6ccb0 Change: Use separate names for default stations/roadstops. 1 year ago
Peter Nelson 93d49fa8b3 Fix: Make scrollwheel work on panel behind waypoint matrix. 1 year ago
Peter Nelson bf9caa425b Change: Units-system can convert from N to kN, don't preconvert.
This allows force to passed as is and avoid premature rounding.

The AI function "GetMaxTractiveEffort" still needs to return kN to avoid breaking the API.
1 year ago
Peter Nelson e2f583a34f Change: Standardise unit conversions and allow decimal places.
Previously the decimal_places member was mostly ignored except for
specific conversions. {DECIMAL} with 0 is the same as {COMMA} so there
is no downside to allowing any conversion to have decimals.
1 year ago
Peter Nelson 3c2f87ce1f Change: Perform unit convert with a double-precision constant.
Unit conversion is only performed for display purposes, this does not
affect lock-step mechanics.

This replaces the old multiply and shift algorithm which relies on
choosing a multipler and shift combination that gets close. Some of these
multiply/shift combinations were quite inaccurate. We can just
use (close-to) real-world numbers instead.
1 year ago
Patric Stout febe394806
Codechange: replace C-style strings with C++-style strings in textfile (#10772) 1 year ago
Jonathan G Rennison 8e2319ad68 Scheduled dispatch: Add button to adjust departure slots 1 year ago
translators 90529ea48b Update: Translations from eints
catalan: 30 changes by J0anJosep
french: 25 changes by glx22
polish: 5 changes by pAter-exe
1 year ago
PeterN 6998fbf71d
Fix: WWT_TEXT with SetTextStyle did not work. (#10797)
FontSize was passed to incorrect parameter of DrawString function.
1 year ago
Peter Nelson d68c4bbd2f Change: Use iterator when drawing industry cargo window. 1 year ago
Peter Nelson cccf4953f7 Fix: Incorrect padding on industry cargo window. 1 year ago