Commit Graph

55701 Commits

Author SHA1 Message Date
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
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
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
Jonathan G Rennison
0e94dca563 Fix GetLinkGraphJobDesc for null saveload conv settings 2023-06-04 21:38:08 +01: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
Jonathan G Rennison
f9c9f53882 Fix town 0 not being included in public roads network
See: #530
2023-06-04 19:01:19 +01:00
Jonathan G Rennison
3effb8931c Add: [Script] GSAsyncMode to set async mode of gamescript commands (#10913)
In asynchronous mode, don't wait for result of executed command,
just fire-and-forget, and return estimated cost/result
2023-06-04 11:15:35 +02:00
Patric Stout
5821194ad1 Add: [Linux] change default scroll mode to non-mouse-lock (#10920)
Wayland doesn't support mouse warping, X11 only for native
systems (so not for remote desktop, WSLg, etc), and emscripten
neither without complications. All these cannot offer a
mouse-lock.
2023-06-04 00:10:21 +00:00
Patric Stout
0d840b4570 Codechange: remove queue_wrap / last_position from mouse movement
No backend uses it anymore, so also no longer any need to support
it.
2023-06-04 00:40:56 +02:00
Patric Stout
e83f244750 Codechange: simplify UpdateCursorPositionRelative
The function is only called with fix_at=true, so don't support
the other cases.
2023-06-04 00:40:56 +02:00
Patric Stout
a969a78f81 Fix: [SDL] unify the way X11 and Wayland handle mouse events
Basically, we drop RelativeMode completely, and use the same trick
as used by the Windows driver: read all motion events till the last
one, and use that as value.
2023-06-04 00:40:56 +02:00
PeterN
8a2d550904 Codechange: Use std::reverse instead of custom implementation. (#10918) 2023-06-03 23:25:01 +01:00
Jonathan G Rennison
a2c0e6aa18 Fix #10831: Level crossing parts left barred after crossing tile removal (#10874) 2023-06-03 23:04:24 +02:00
Jonathan G Rennison
7119550aa7 Documentation: Adjust low level changes document 2023-06-03 21:39:04 +01:00
Jonathan G Rennison
dc32b0533c Viewport: Fix fixed vehicle route overlays not being marked dirty on remove 2023-06-03 20:29:55 +01:00
Patric Stout
cd751a598a Fix: Wayland crash on startup due to Pango also using FontConfig (#10916)
Basically, we haven't been a good neighbour. Turns out you shouldn't
actually call FcFini when you are done, as some library might still
want to use FontConfig. And they use a shared instance for their
administration.

The idea is that you call FcInit once, and use FcConfigReference
after that to get an instance, you can release. This entry is
ref-counted, and things happen automatically based on that.

At least, I think.
2023-06-03 19:09:02 +00:00
Patric Stout
21adfa7567 Fix: track "memory installed" for surveys less precisely (#10910)
It turns out, for Windows and Linux having the exact memory allows
for easy tracing of an individual. That is exactly against the idea
of the survey. And honestly, we don't need this precision.
2023-06-03 19:07:56 +00:00
Jonathan G Rennison
0a8a9abe28 Window: Cache which window classes are currently present 2023-06-03 19:53:47 +01:00
translators
7d6aff3a34 Update: Translations from eints
french: 16 changes by ottdfevr
2023-06-03 18:42:31 +00:00
Jonathan G Rennison
9fa6fb7438 Pay company loan interest before accumulating quarterly statistics
See: #524
2023-06-03 19:27:22 +01:00
Jonathan G Rennison
3a47b421b0 Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/core/overflowsafe_type.hpp
#	src/economy.cpp
#	src/engine_base.h
#	src/ground_vehicle.cpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/newgrf_commons.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_industries.cpp
#	src/newgrf_object.cpp
#	src/newgrf_roadstop.cpp
#	src/newgrf_station.cpp
#	src/rail_gui.cpp
#	src/road_cmd.h
#	src/road_gui.cpp
#	src/saveload/afterload.cpp
#	src/script/api/script_log.cpp
#	src/script/api/script_log.hpp
#	src/settings_gui.cpp
#	src/settingsgen/settingsgen.cpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/station_gui.cpp
#	src/strgen/strgen.cpp
#	src/string_func.h
#	src/string_type.h
#	src/table/settings/network_private_settings.ini
#	src/tests/math_func.cpp
#	src/textfile_gui.cpp
#	src/timetable_gui.cpp
#	src/town_cmd.cpp
#	src/vehicle.cpp
#	src/waypoint_cmd.cpp
#	src/waypoint_cmd.h
#	src/widgets/dropdown.cpp
2023-06-03 19:16:57 +01:00
Rubidium
d68b5c9162 Codechange: replace buffer + strecpy with std::string for getting clipboard contents 2023-06-03 20:14:33 +02:00
Rubidium
35f7f7e8dc Codechange: use std::string for executing the console aliases 2023-06-03 18:15:55 +02:00
Peter Nelson
2e62682f73 Codechange: Close dropdowns by class instead of id. 2023-06-03 14:17:05 +01:00
Peter Nelson
2511649938 Codechange: Use window parent association for dropdowns.
This replaces the separate window class and number properties, and
allows the window system to close dropdowns automatically.
2023-06-03 14:17:05 +01:00
Peter Nelson
dec7ff6b0c Fix: Make dropdowns self-close when losing focus. 2023-06-03 14:17:05 +01:00
PeterN
a5a3a07005 Fix: GRF Parameters not displayed due to scope issue. (#10911)
Move params so it is still in scope when the text is actually drawn.
2023-06-03 11:07:59 +00:00
Jonathan G Rennison
69c118a2cb Documentation: Update info on road stop and object extended byte format 2023-06-03 11:07:13 +01:00
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
2023-06-03 11:07:01 +01:00
Jonathan G Rennison
fc80a93672 Fix object town variables when no town is present 2023-06-02 22:19:54 +01:00
Jonathan G Rennison
3d4133cadb Debug: Fix debug window parent scope button with missing town 2023-06-02 22:18:40 +01:00
Rubidium
513ede7669 Codechange: use C++ strings/paths to resolve links in tars 2023-06-02 21:06:24 +02:00
Jonathan G Rennison
5615cee503 Show town count in town directory window 2023-06-02 18:47:58 +01:00
Jonathan G Rennison
819b9fcdd9 Include 'perfect' mode in tree placer setting helptext 2023-06-02 18:41:52 +01:00
Rubidium
0ab7bc7a2b Codechange: use fmt::format to create type prefixed driver names 2023-06-02 18:05:41 +02:00
Rubidium
37a3fc4df3 Codechange: replace strstr with more appropriate function 2023-06-02 17:11:08 +02:00
Rubidium
53f83c31b0 Codechange: use std::string to return the debug level information 2023-06-02 17:07:18 +02:00
Rubidium
6eb51666bc Codechange: use C++ file APIs for writing language files 2023-06-02 11:57:23 +02:00
Rubidium
10e12154f5 Fix: false positive warning in fmt library (backport ef55d4f of upstream fmt) 2023-06-02 11:57:23 +02:00
Rubidium
fa0d865edd Change: set macOS deployment target to 10.15 2023-06-02 11:57:23 +02:00
Rubidium
802d6cb509 Fix: memory leak when parsing (strgen) commands by moving to C++ containers 2023-06-02 11:57:23 +02:00
Rubidium
4f94655cc2 Codechange: use vector/unorder_map over custom implementation 2023-06-02 11:57:23 +02:00
Rubidium
234a143ee5 Codechange: use std::string for LangString over C-style strings 2023-06-02 11:57:23 +02:00
Rubidium
f372373e6f Codechange: use std::string/vector for language cases over manual management 2023-06-02 11:57:23 +02:00