Jonathan G Rennison
b80e2dff19
Fix crash which could occur when adding/updating text effects
...
When DParam 0 or 1 contained a leftover string
See: #612
2023-11-20 19:25:23 +00:00
Jonathan G Rennison
c929f7075e
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/SourceList.cmake
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/depot_base.h
# src/elrail.cpp
# src/network/core/udp.cpp
# src/network/network_admin.cpp
# src/network/network_chat_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_engine.cpp
# src/newgrf_railtype.cpp
# src/newgrf_railtype.h
# src/newgrf_storage.h
# src/os/unix/crashlog_unix.cpp
# src/rail.h
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_cmd.cpp
# src/road_map.h
# src/saveload/labelmaps_sl.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/sl/oldloader_sl.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/table/settings/world_settings.ini
# src/tests/test_script_admin.cpp
# src/textfile_gui.cpp
# src/toolbar_gui.cpp
# src/train_cmd.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle_gui.cpp
# src/widget.cpp
# src/window.cpp
# src/window_gui.h
# src/window_type.h
2023-11-19 13:00:21 +00:00
Jonathan G Rennison
c76dc937e3
Fix tooltip string parameters, change function signatures to match upstream
2023-11-17 17:26:57 +00:00
Jonathan G Rennison
3436e0a781
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/error.h
# src/error_gui.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/misc_gui.cpp
# src/newgrf_gui.cpp
# src/news_gui.cpp
# src/rail_cmd.cpp
# src/saveload/gamelog_sl.cpp
# src/script/api/script_text.cpp
# src/script/script_instance.cpp
# src/statusbar_gui.cpp
# src/strings.cpp
# src/strings_func.h
# src/strings_internal.h
# src/table/settings/gui_settings.ini
# src/table/settings/linkgraph_settings.ini
# src/textbuf_gui.h
2023-11-09 01:55:23 +00:00
Jonathan G Rennison
b93503bb21
Avoid window iterations when no windows of desired class present
2023-09-18 19:05:55 +01:00
Jonathan G Rennison
f5d1b1d8f8
Change window close/deallocation to match upstream
2023-09-17 13:10:21 +01:00
Jonathan G Rennison
a18f3274b4
Rename close window functions to match upstream
2023-09-15 21:17:25 +01:00
Jonathan G Rennison
c8817d7f4e
Merge branch 'master' into jgrpp
...
# Conflicts:
# os/macosx/notarize.sh
# src/3rdparty/CMakeLists.txt
# src/3rdparty/squirrel/squirrel/sqcompiler.cpp
# src/3rdparty/squirrel/squirrel/sqdebug.cpp
# src/3rdparty/squirrel/squirrel/sqvm.cpp
# src/console_cmds.cpp
# src/core/span_type.hpp
# src/crashlog.cpp
# src/currency.h
# src/date_gui.cpp
# src/driver.cpp
# src/fios.cpp
# src/genworld_gui.cpp
# src/hotkeys.cpp
# src/misc_gui.cpp
# src/music/os2_m.cpp
# src/network/core/os_abstraction.h
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_config.h
# src/newgrf_text.cpp
# src/openttd.cpp
# src/os/macosx/font_osx.cpp
# src/os/macosx/misc_osx.cpp
# src/os/os2/CMakeLists.txt
# src/os/os2/os2.cpp
# src/os/unix/CMakeLists.txt
# src/os/windows/font_win32.cpp
# src/os/windows/win32_main.cpp
# src/saveload/saveload.cpp
# src/script/api/script_text.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/stdafx.h
# src/strings.cpp
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_cmd.cpp
# src/video/dedicated_v.cpp
# src/video/video_driver.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/waypoint_gui.cpp
# src/widgets/dropdown_type.h
# src/window.cpp
# src/window_gui.h
2023-09-12 20:06:47 +01:00
Jonathan G Rennison
1b61dfabe3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_gui.cpp
# src/core/math_func.hpp
# src/highscore.cpp
# src/tests/math_func.cpp
2023-09-12 18:25:49 +01:00
Tyler Trahan
77173a6a10
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
2023-09-10 08:40:25 -04:00
Tyler Trahan
fca2b37726
Codechange: Move Ticks into their own class
2023-09-10 08:40:25 -04:00
Peter Nelson
e8015e497d
Codechange: Use begin/end of nwidget parts of begin/length.
...
This simplifies processing nwidget parts as, unlike the remaining length, the pointer to the end of the list never changes. This is the same principle as we use(d) for tracking end instead of length for C-style strings.
And this removes 160~ instances of the lengthof() macro.
2023-09-04 10:20:45 +01:00
Patric Stout
07730584d7
Codechange: make explicit when a TileIndex is cast to its basetype ( #11190 )
...
This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't.
2023-08-15 18:12:05 +02:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
glx22
46b504a700
Fix: ini_key issues reported by the script
2023-07-14 14:32:46 +02:00
merni-ns
fc9afb2d32
Fix #11115 : Focus the abandon game/exit game windows ( #11125 )
2023-07-14 13:57:45 +02:00
Rubidium
af9b9327af
Codechange: do not keep local variable for temporary string parameters
2023-07-03 18:08:03 +02:00
Rubidium
f4a3032985
Codechange: move tooltip and query window over to the new StringParameterBackup type
2023-07-02 22:31:01 +02:00
Jonathan G Rennison
ead18b2af2
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/3rdparty/md5/md5.h
# src/3rdparty/squirrel/squirrel/squtils.h
# src/animated_tile.cpp
# src/console_func.h
# src/core/CMakeLists.txt
# src/core/container_func.hpp
# src/core/smallstack_type.hpp
# src/crashlog.cpp
# src/crashlog.h
# src/debug.h
# src/economy.cpp
# src/gamelog.cpp
# src/industry_gui.cpp
# src/lang/catalan.txt
# src/misc_gui.cpp
# src/network/network_content.h
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/newgrf_gui.cpp
# src/os/unix/font_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/rail_cmd.cpp
# src/saveload/animated_tile_sl.cpp
# src/script/api/script_tilelist.cpp
# src/settings.cpp
# src/settingsgen/settingsgen.cpp
# src/sl/oldloader_sl.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/strgen/strgen_base.cpp
# src/table/settings/gui_settings.ini
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_cmd.cpp
# src/vehicle_gui_base.h
# src/viewport_sprite_sorter.h
2023-07-02 12:02:36 +01:00
Rubidium
836541b41c
Codechange: use SetDParam and CopyOutDParam for tooltips
2023-06-17 10:01:19 +02:00
PeterN
f51f117b00
Change: Add window description flag to disallow interactive window closing. ( #11008 )
...
This replaces/simplifies testing for a closebox to allow closing a window with right-click, and testing for specific window classes when closing all windows by hotkey.
This allows right-click closing of dropdowns and the high-score window.
2023-06-14 17:24:14 +01:00
Rubidium
82851a9bef
Codechange: do not mess with global string params to get pointer to first element
2023-06-13 23:53:13 +02:00
Rubidium
82b434b589
Codechange: rename function to better describe what it is doing
2023-06-12 09:12:11 +02:00
Rubidium
f86500df92
Codechange: remove need for SetDParamX
2023-06-12 09:12:11 +02:00
Rubidium
6c6f365d2f
Codechange: remove offset parameter for copying DParams in and out
2023-06-11 17:03:31 +02:00
Rubidium
d42ef3a0ef
Codechange: inject the query window caption into the widget
2023-06-11 17:03:31 +02:00
PeterN
ed3759eef7
Fix: Land info window maximum width was not scaled. ( #10894 )
...
(cherry picked from commit 1ff0dc11d8
)
2023-06-10 16:42:22 +01:00
Jonathan G Rennison
02549c5224
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/cargomonitor.cpp
# src/core/CMakeLists.txt
# src/economy.cpp
# src/landscape.cpp
# src/linkgraph/flowmapper.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraphschedule.cpp
# src/misc_gui.cpp
# src/newgrf_generic.cpp
# src/newgrf_storage.cpp
# src/rail_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/station_sl.cpp
# src/script/script_gui.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/string_func.h
# src/terraform_cmd.cpp
2023-06-08 00:01:38 +01:00
Rubidium
a4bf45729a
Change: move string validation (and assignment) to textbuf
2023-06-04 21:43:07 +02:00
Patric Stout
caa0474d30
Fix: crash with tooltip on low resolution screens ( #10933 )
2023-06-04 16:28:58 +00: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
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
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
2023-05-31 23:21:38 +01:00
PeterN
1ff0dc11d8
Fix: Land info window maximum width was not scaled. ( #10894 )
2023-05-31 08:54:39 +00:00
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
2023-05-30 00:49:24 +01:00
Peter Nelson
f177ce7c9a
Codechange: Base CargoArray off std::array.
...
This avoids needing to define array accessors and allows use of
default value initialization.
2023-05-23 19:07:36 +01:00
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.
2023-05-22 14:42:18 +02:00
Jonathan G Rennison
b26d91770f
Allow using ShowQuery with std::string texts
2023-05-14 12:46:07 +01:00
Rubidium
6d1586dd49
Codechange: use std::string instead of char* for original editor strings
2023-05-10 23:15:09 +02:00
Patric Stout
60399e17bd
Codechange: C++-ify the Layouter and related functions
...
They all now access a std::string_view, instead of a "const char *"
or std::string (in some cases).
Additionally, GetCharAtPosition and friends now return an index
instead of a "const char *", as it makes for a more clear interface.
2023-05-08 19:21:42 +02:00
Peter Nelson
61407840c6
Codechange: Remove STR_BLACK_RAW_STRING.
2023-05-05 07:07:54 +01:00
Peter Nelson
0880616851
Codechange: Remove various STRING strings.
2023-05-05 07:07:54 +01:00
Peter Nelson
5e185d5328
Codechange: Draw tooltip text in black.
2023-05-05 07:07:54 +01:00
PeterN
003bab3c8a
Change: Size space for editbox clear button by interface scale. ( #10749 )
2023-04-30 23:11:00 +01:00
Rubidium
7b539fa7c9
Fix: fmt's {:#04X} yields '0X00', not '0x0000'
...
Technically the 0X vs 0x is not a big problem, just not pretty. However, the
length also including the 0x results in unexpected behaviour, so it probably
better to not use it.
2023-04-20 21:39:57 +02:00
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
2023-04-15 13:58:55 +02:00
Jonathan G Rennison
82803b98e0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/game/game_gui.cpp
# src/graph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/newgrf.cpp
# src/order_gui.cpp
# src/saveload/engine_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_text.cpp
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/strings.cpp
# src/table/settings/economy_settings.ini
# src/table/settings/locale_settings.ini
# src/timetable_gui.cpp
2023-04-10 15:11:53 +01:00
PeterN
f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. ( #10594 )
...
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
2023-04-08 12:26:13 -04:00
Jonathan G Rennison
3d1b0af8f6
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/newgrf_debug_gui.cpp
# src/object_cmd.cpp
# src/object_gui.cpp
2023-04-03 00:43:58 +01:00
PeterN
73474b08fe
Fix: Clicking on editbox clear button didn't take account of padding. ( #10583 )
2023-03-31 16:07:15 +01:00