Commit Graph

1261 Commits

Author SHA1 Message Date
Patric Stout
75f21065c9 Codechange: refactor DecodeHexText to a generic purpose ConvertHexToBytes (#11866)
DecodeHexText() does more than just decoding hex. ConvertHexToBytes()
now only does pure hex decoding. This required a bit of refactoring
for the code using DecodeHexText().
2024-01-22 19:42:47 +01:00
Rubidium
2d77cf9c80 Codechange: replace StrStartsWith/StrEndsWith with starts_with and ends_with 2024-01-17 19:48:22 +01:00
Jonathan G Rennison
3ab31f5518 Add settings for town/industry cargo production scaling modes 2024-01-16 19:12:10 +00:00
Jonathan G Rennison
1e0bb019a7 Change cargo scaling settings to be linear instead of logarithmic 2024-01-16 18:02:34 +00:00
Jonathan G Rennison
0df59defc4 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/release-linux.yml
#	.github/workflows/release.yml
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/script/api/script_rail.cpp
#	src/settings_gui.cpp
#	src/signal_type.h
#	src/video/sdl2_v.cpp
2024-01-16 01:15:58 +00:00
Jonathan G Rennison
55683c4350 Fix enabling map edge mode setting when void edge tiles were not flat 2024-01-13 13:33:01 +00:00
Jonathan G Rennison
78e08d5711 Add setting text/warnings about why YAPF is recommended for trains 2024-01-12 17:19:12 +00:00
Jonathan G Rennison
2ec4b2a8ca Return end of string pointer in SettingDesc formatters 2024-01-10 23:20:47 +00:00
Jonathan G Rennison
914b92b21f Merge branch 'master' into jgrpp
Bump savegame for water regions for ship pathfinder
Use ring_buffer for ShipPathCache
2024-01-09 18:36:47 +00:00
Jonathan G Rennison
14db9b2854 Fix loading of pre-selected AIs from config file 2024-01-09 17:48:44 +00:00
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
a573d065e1 Add missing IsDefaultValue to SettingDesc, from upstream 2024-01-05 22:35:20 +00:00
Jonathan G Rennison
f6a1f64efb Adjust chunnel water distance limits and associated texts 2024-01-04 02:34:08 +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
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
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
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
2267badd28 Remove "Show cargo type filter in vehicle lists" setting 2023-12-17 00:37:17 +00:00
Peter Nelson
54d45a6047 Codechange: Don't keep autosave_interval in std::chrono::minutes.
This variable is saved as a setting which requires the variable type to be known, but std::chrono::minutes may vary depending on system type.

Instead, keep as uint32_t and convert to std::chrono::minutes only when setting the timer.
2023-12-09 08:13:03 +00:00
Jonathan G Rennison
48cc6a686b Change settings for using default signal graphics and signal recolouring 2023-12-08 21:53:52 +00:00
Jonathan G Rennison
291daa9220 INI load: Fix cfg fallback name load with missing groups 2023-11-30 21:10:44 +00:00
Jonathan G Rennison
88670a230f Merge branch 'master' into jgrpp
# Conflicts:
#	src/articulated_vehicles.cpp
#	src/articulated_vehicles.h
#	src/base_media_base.h
#	src/base_media_func.h
#	src/build_vehicle_gui.cpp
#	src/dock_gui.cpp
#	src/main_gui.cpp
#	src/music_gui.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content.cpp
#	src/newgrf.cpp
#	src/newgrf_roadstop.cpp
#	src/os/windows/string_uniscribe.h
#	src/os/windows/win32.cpp
#	src/rail_gui.cpp
#	src/road.cpp
#	src/road_gui.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.cpp
#	src/strings.cpp
#	src/terraform_gui.cpp
#	src/tests/test_script_admin.cpp
#	src/tests/test_window_desc.cpp
#	src/timer/timer_game_calendar.h
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/viewport.cpp
#	src/widget_type.h
#	src/window.cpp
#	src/window_gui.h
2023-11-29 20:42:29 +00:00
Jonathan G Rennison
b03064e55b Fix IniLoadSettings 2023-11-25 16:32:21 +00:00
Jonathan G Rennison
2a31095118 Merge branch 'master' into jgrpp
# Conflicts:
#	regression/regression/result.txt
#	src/aircraft_cmd.cpp
#	src/airport_gui.cpp
#	src/articulated_vehicles.cpp
#	src/console_cmds.cpp
#	src/date_gui.cpp
#	src/engine.cpp
#	src/genworld_gui.cpp
#	src/gfx_layout_fallback.cpp
#	src/group_gui.cpp
#	src/hotkeys.cpp
#	src/network/core/tcp_connect.cpp
#	src/network/core/tcp_listen.h
#	src/newgrf.cpp
#	src/newgrf.h
#	src/newgrf_engine.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_station.cpp
#	src/openttd.cpp
#	src/order_gui.cpp
#	src/os/macosx/osx_main.cpp
#	src/pathfinder/yapf/yapf_node_rail.hpp
#	src/rail_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/station_sl.cpp
#	src/script/api/script_industrytype.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_table.cpp
#	src/settingsgen/settingsgen.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/strings.cpp
#	src/timer/timer_game_calendar.cpp
#	src/timer/timer_game_calendar.h
#	src/timer/timer_manager.h
#	src/timer/timer_window.cpp
#	src/timetable_cmd.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/vehicle_cmd.h
#	src/vehicle_gui.cpp
#	src/viewport.cpp
#	src/widgets/dropdown.cpp
#	src/window_func.h
#	src/window_gui.h
2023-11-25 13:30:06 +00:00
Jonathan G Rennison
6e671ed6e2 Split save/load settings into separate INI files
Matching upstream for all settings
2023-11-18 20:00:55 +00:00
Jonathan G Rennison
ccfdf626ad Replace SF_ENABLE_TABLE_PATS flag and SC_PATCH with SF_PATCH 2023-11-18 14:52:30 +00:00
Jonathan G Rennison
581ed5b98f Use compatibility table for loading non-table OPTS, PATS chunks 2023-11-18 12:22:06 +00:00
Jonathan G Rennison
d948abd040 Remove PATX chunk, move to PATS 2023-11-18 00:21:35 +00:00
Jonathan G Rennison
3e299aa488 Use upstream table chunk format for PATS 2023-11-18 00:01:46 +00:00
Jonathan G Rennison
498c4161b8 Don't use a static vector for sorted PATX settings 2023-11-17 23:08:29 +00:00
Jonathan G Rennison
4187b8cc62 Rename gameopt_settings to old_gameopt_settings
To match upstream
2023-11-17 19:53:24 +00:00
Jonathan G Rennison
b280dfb965 Split GUI settings into separate INI files
Matching upstream for non-save settings
2023-11-14 18:08:15 +00:00
Patric Stout
19bbcb180d Change: base autosaves intervals on real time (instead of game time) (#10655)
There are two fundamental issues with autosave:
- When fast-forwarding, it saves way too often
- When paused, it never saves

Both makes no sense. Autosaves are meant to prevent you from
accidentally losing your work. The emphasis on "your" work.

To solve both issues, the autosave now works on real time. You
can select every 10 / 30 / 60 / 120 minutes, which are similar to
what the setting was in game-months.

When you pause, autosaving will stop. Unless you make any change
to the game; then it will continue to make autosaves, even so
the game is paused. Unpausing / pausing resets this mechanism.

(cherry picked from commit f5fad88723)
2023-11-13 18:33:20 +00:00
Jonathan G Rennison
ec6cdce0c3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_gui.cpp
#	src/openttd.cpp
#	src/settings_type.h
#	src/table/settings/gui_settings.ini
2023-11-12 14:15:19 +00:00
Jonathan G Rennison
4bfa8b7b7b Merge branch 'master' into jgrpp
# Conflicts:
#	src/openttd.cpp
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/table/settings/gameopt_settings.ini
#	src/table/settings/gui_settings.ini
2023-11-12 13:43:40 +00:00
Peter Nelson
1071acb483 Codechange: Redundant use of char * and c_str(). (#11454) 2023-11-10 00:17:36 +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
Rubidium
c6411168d8 Cleanup: missing spaces before continuation * in some comments 2023-11-01 22:56:11 +01:00
frosch
de3f29d7b2 Add: store base graphics parameters in openttd.cfg. 2023-10-31 01:41:50 +01:00
frosch
0b7ecf6102 Codechange: use the shortname as unique id to identify the base graphics in openttd.cfg. 2023-10-31 01:41:50 +01:00
frosch
97df27e41f Codechange: Store base graphics settings in a separate section in openttd.cfg. 2023-10-31 01:41:50 +01:00
Peter Nelson
69e20e79ab Codechange: Add const versions of GetItem/GetGroup, and sprinkle liberally.
Non-const version of GetItem is not needed.
2023-10-20 18:37:27 +01:00
Peter Nelson
233aac567b Codechange: Use std::list instead of C-linked list for ini files.
This removes self-management of memory with new/delete and allows simpler iteration.
2023-10-20 18:37:27 +01:00
Peter Nelson
8bd06807e4 Codechange: Pass initializer list instead of null-terminated list of group types. 2023-10-20 18:37:27 +01:00
Peter Nelson
1fecbeff76 Codechange: Remove create parameter from IniLoadFile::GetGroup.
GetGroup now only returns nullptr if the group does not exist.
Use GetOrCreateGroup to create a group.

This avoids creating groups while reading ini files.
2023-10-20 18:37:27 +01:00
Peter Nelson
c47a0e1578 Codechange: Correct scope of IniItem for for-loop. 2023-10-20 18:37:27 +01:00
Peter Nelson
6ce7195ef1 Codechange: Split GetGroup into GetGroup/GetOrCreateGroup.
This follows the pattern used for GetItem/GetOrCreateItem, and allows use
of references where we know the group must exist.
2023-10-20 18:37:27 +01:00
Peter Nelson
54b1a067eb Codechange: Test for nullptr instead of treating pointer as boolean. 2023-10-20 18:37:27 +01:00
Peter Nelson
d3c5ae2648 Codechange: Add CreateGroup/CreateItem methods for ini files.
This abstracts the internals a bit.
2023-10-20 18:37:27 +01:00
frosch
b6c8f301be Codechange: Silence warnings about intentionally unused parameters. 2023-09-19 22:49:59 +02:00