Commit Graph

57140 Commits

Author SHA1 Message Date
Peter Nelson
b505805bfe 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.

(cherry picked from commit f454ec8d63)
2023-06-05 20:34:54 +01:00
Rubidium
dd94b087c4 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.

(cherry picked from commit 4a6fdc8293)
2023-06-05 20:31:41 +01:00
Jonathan G Rennison
d481d382cb Fix missing include in company_base.h 2023-06-05 20:14:52 +01:00
Jonathan G Rennison
7cce9f934d Fix strncasecmp related compilation errors on MSVC 2023-06-05 20:08:09 +01:00
Jonathan G Rennison
ffb4548f1b Fix std::optional related compilation errors on some platforms 2023-06-05 20:04:13 +01:00
Jonathan G Rennison
3d382fe531 Debug: Fix compilation error when using RANDOM_DEBUG 2023-06-05 20:02:34 +01:00
Jonathan G Rennison
b84d1bcee4 Cheats window: Fix inflation factor arrow buttons
See: #533, #534
2023-06-05 19:51:35 +01:00
translators
433ec6b5bd Update: Translations from eints
korean: 2 changes by telk5093
russian: 2 changes by Ln-Wolf
finnish: 2 changes by hpiirai
turkish: 2 changes by EndChapter
french: 2 changes by glx22
portuguese: 2 changes by azulcosta
2023-06-05 18:42:37 +00:00
Jonathan G Rennison
61e9c3084f Add picker tool to main toolbar help menu
See: #498

Supports:
* Rail types
* Road/tram types
* Objects
* Rail stations/waypoints
* Road stops/waypoints

Add unset hotkey
2023-06-05 19:37:33 +01:00
PeterN
64d6ad50f9 Codechange: Split GetItem with GetOrCreateItem. (#10952)
`IniGroup::GetItem()` returns nullptr if the item does not exist, but does not if the create parameter is set to true. Resolve CodeQL warnings with `GetOrCreateItem()` which returns a reference to the item instead.
2023-06-05 18:29:52 +00:00
Jonathan G Rennison
665a4ca55b Add Window method to change window class
Use in BuildRoadStationWindow
2023-06-05 19:20:46 +01:00
Jonathan G Rennison
6215e326fd Add constants for toolbar help menu items 2023-06-05 19:20:46 +01:00
Patric Stout
3b1407d240 Feature: allow to do a hostile takeover of an AI company (in singleplayer) (#10914)
With the removal of the share-system, you could no longer make an
AI disappear in a single player game. At least, not without going
into the console.
2023-06-05 19:32:22 +02:00
PeterN
f814c86389 Codechange: Reorganise hotkey initialisation. (#10951)
Hotkeys are now initialized inline, and use std::vector instead of
separate static C-arrays and std::string instead of char *. The list end
marker is no longer required.
2023-06-05 18:12:30 +01:00
rubidium42
921f5afc4d Codechange: Apply suggestions from code review 2023-06-05 17:07:39 +02:00
Rubidium
2dd2b698d2 Codechange: convert C-style GetTownName API to std::string returning API 2023-06-05 17:07:39 +02:00
Rubidium
14915526ad Cleanup: remove stre-style GetString 2023-06-05 11:23:31 +02:00
Patric Stout
772729cc7d Fix: when syncing width of GUI items, take padding into account (#10915) 2023-06-05 10:27:04 +02:00
Rubidium
15c75e6f45 Codechange: use std::array and std::string for high scores 2023-06-04 23:49:43 +02:00
Rubidium
c158089eff Codechange: use C++ style methods to combine a Utf8Encoded character and a formatted string 2023-06-04 23:32:02 +02:00
PeterN
6ae6b65edb Cleanup: Remove doubled statements. (#10944) 2023-06-04 21:54:44 +01:00
Jonathan G Rennison
0e94dca563 Fix GetLinkGraphJobDesc for null saveload conv settings 2023-06-04 21:38:08 +01:00
Rubidium
a4bf45729a Change: move string validation (and assignment) to textbuf 2023-06-04 21:43:07 +02:00
Rubidium
4e39a58c59 Codechange: let town name generation use StringBuilder 2023-06-04 21:42:59 +02:00
translators
6a5ab4a9fb Update: Translations from eints
french: 3 changes by glx22
2023-06-04 18:57:10 +00:00
Rubidium
820fe8c621 Codechange: use std::string and concatenation when combining multiple formatted strings 2023-06-04 20:47:41 +02:00
Patric Stout
07add7a96e Fix: [Win32] position window in center of workspace of primary display (#10942) 2023-06-04 18:38:16 +00:00
Jonathan G Rennison
ec9766e691 Fix ai_developer_tools not being read before scanning for scripts
See: #528
2023-06-04 19:33:54 +01:00
PeterN
83a318edcf Fix dec7ff6b0c: Dropdowns would close if their tooltip appeared. (#10939)
Solution is to not focus any tooltips, so that the dropdown doesn't lose focus. Tooltips don't accept any input so this does not change their behaviour.
2023-06-04 18:15:24 +00:00
Jonathan G Rennison
f9c9f53882 Fix town 0 not being included in public roads network
See: #530
2023-06-04 19:01:19 +01:00
rubidium42
bfcb027cb9 Fix 2dffa7d: fmt::format_to copies the iterator, so some text does not remain during formatting (#10940) 2023-06-04 19:55:47 +02:00
Rubidium
6a519f5d89 Cleanup: strecat has no uses anymore 2023-06-04 19:45:42 +02:00
Bernard Teo
2c667b1773 Doc: Fix spelling error in ScriptTileList::RemoveRectangle (#10937) 2023-06-04 17:45:18 +00:00
Patric Stout
caa0474d30 Fix: crash with tooltip on low resolution screens (#10933) 2023-06-04 16:28:58 +00:00
Rubidium
36aaa9d683 Codechange: let GetStringWithArgs use StringBuilder 2023-06-04 18:00:23 +02:00
Jonathan G Rennison
ec7f9f63f6 Feature: Add coverage button to waypoint window 2023-06-04 16:54:48 +01:00
Jonathan G Rennison
d7bf6b2c07 Feature: Highlight waypoint tiles when adjacent or distant joining 2023-06-04 16:54:48 +01:00
Jonathan G Rennison
84b53213af Codechange: Refactor viewport catchment overlay change handling 2023-06-04 16:54:48 +01:00
Patric Stout
0f3dd9c796 Fix: crash when window can't be placed on low resolution screens. (#10932)
Co-authored-by: Jonathan G Rennison <j.g.rennison@gmail.com>
2023-06-04 15:39:57 +00:00
Patric Stout
c43a23cea8 Fix: crash when not even a single row fits for dropdowns on low resolution screens (#10934) 2023-06-04 15:07:18 +00:00
PeterN
ee2d0745e9 Fix #10502: Refit engine before attaching free wagons. (#10926)
Caused by incorrect order of operations when buying a train engine with refit and attaching free wagons.
2023-06-04 15:57:36 +01:00
Rubidium
87ccff16b5 Codechange: use std::string for the screenshot name/path 2023-06-04 16:53:10 +02:00
Patric Stout
0e56a73fb8 Fix: disable hardware acceleration when GPU driver crashed the game last attempt (#10928) 2023-06-04 14:40:17 +00:00
Rubidium
556b44713e Codechange: use std::string for midi filenames 2023-06-04 15:57:05 +02:00
Rubidium
84037d4a57 Codechange: use std::string for parameters in the dbg_helpers 2023-06-04 15:56:53 +02:00
Rubidium
2dffa7d0c6 Codechange: let FormatString use StringBuilder 2023-06-04 15:06:52 +02:00
Rubidium
993f90b6a0 Codechange: let GenerateDefaultSaveName return std::string 2023-06-04 14:11:13 +02:00
PeterN
ac1d042550 Remove: obsolete NewGRF text unprinting. (#10884)
Co-authored-by: Rubidium <rubidium@openttd.org>
2023-06-04 13:14:56 +02:00
Patric Stout
6b1c38e303 Fix 3effb893: mention GSAsyncMode in changelog (#10924) 2023-06-04 11:10:22 +00:00
Rubidium
c384d829fe Codechange: let number formatting use StringBuilder 2023-06-04 12:24:37 +02:00