Jonathan G Rennison
7dd820fe22
Crash/desync logs: Include non-default settings section
2024-01-10 23:20:47 +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
0460b820f3
Use std::string for LanguageMetadata::file
2024-01-05 22:35:20 +00:00
Jonathan G Rennison
f034714559
Use StringBuilder for GetString/GetStringWithArgs, as per upstream
...
Update dependent code as required
2024-01-05 21:12:54 +00:00
Jonathan G Rennison
ffff696b4e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/cheat_gui.cpp
# src/console_cmds.cpp
# src/crashlog.cpp
# src/date_gui.cpp
# src/engine.cpp
# src/group_cmd.cpp
# src/landscape.cpp
# src/network/network_gui.cpp
# src/newgrf.cpp
# src/saveload/afterload.cpp
# src/script/api/script_date.cpp
# src/sl/oldloader_sl.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/strings.cpp
# src/subsidy_gui.cpp
# src/survey.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_game_calendar.h
2023-12-29 14:46:53 +00:00
Peter Nelson
33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. ( #11637 )
2023-12-28 21:34:08 +00:00
Jonathan G Rennison
fc1c47cbd2
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/crashlog.h
# src/date_type.h
# src/depot_type.h
# src/landscape.cpp
# src/openttd.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/pathfinder/npf/npf.cpp
# src/road_cmd.cpp
# src/script/api/script_infrastructure.cpp
# src/stdafx.h
# src/table/settings/gui_settings.ini
# src/table/settings/pathfinding_settings.ini
# src/tests/CMakeLists.txt
2023-11-13 19:08:22 +00:00
Patric Stout
37e2f99c09
Change: store crash logs in JSON format ( #11232 )
2023-09-14 20:13:27 +02: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
66ddbf94b0
Crash log: Show type of last sync record if applicable
2023-08-28 20:36:14 +01:00
Jonathan G Rennison
e92ee922cf
Crash log: Only show scope info for the game thread
2023-08-28 20:12:57 +01:00
Jonathan G Rennison
cdf1ff8d5a
Network: Extend post-desync frame sync history
...
Record sync state at various points throughout each frame
2023-08-28 19:58:17 +01:00
Jonathan G Rennison
8e755bf0c2
Network: Remove NETWORK_SEND_DOUBLE_SEED define
2023-08-28 13:18:36 +01:00
Patric Stout
de5e338a76
Change: mention in MacOS / Windows crashlog popup when files couldn't be generated ( #11239 )
...
For example, if the crash.sav couldn't be created, and the TryExcept
detected an issue, write out that the file is not available in
the popup.
2023-08-27 22:49:12 +00:00
Patric Stout
b00e483b0f
Change: recover when possible from crashes during a crash ( #11238 )
2023-08-27 21:54:05 +02:00
Patric Stout
352ac264a5
Remove: [Win32] module-list from crash.log ( #11219 )
...
Only Windows implemented this, and it opens the files to read them
to get a CRC. Doing this in a crash-handler is strange at best.
Lastly, nobody has actually ever used this information to come to
some sort of conclusion. The module-list is used in combination
with the crash.dmp, but this information is already embedded in
there.
2023-08-20 17:09:21 +00:00
Patric Stout
f120d2beb8
Add: use breakpad to create crash.dmp on MacOS / Linux too ( #11202 )
...
Normally only the Windows platform could create a crash.dmp, making
analysing crash-reports from MacOS / Linux rather tricky.
2023-08-20 17:16:08 +02:00
Patric Stout
a5aebeb1b5
Remove: [Win32] register values in crash.log ( #11212 )
2023-08-20 16:59:22 +02:00
Jonathan G Rennison
644d2632f8
Move command log functions to their own header, fix missing include
...
See: #586
2023-08-11 20:00:13 +01:00
Jonathan G Rennison
731a79b224
Fix truncation of dump_command_log console command output
2023-08-04 22:20:36 +01:00
Jonathan G Rennison
ee5272dc4e
Crashlog: Fix font logging
2023-07-04 19:01:52 +01:00
Jonathan G Rennison
1e5bc2c12b
Merge branch 'master' into jgrpp
2023-07-04 00:26:00 +01: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
Jonathan G Rennison
d09b504bc5
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# .github/workflows/release-source.yml
# .github/workflows/release.yml
# CMakeLists.txt
# COMPILING.md
# src/ai/ai_core.cpp
# src/ai/ai_gui.cpp
# src/bridge_gui.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/core/CMakeLists.txt
# src/core/smallmap_type.hpp
# src/disaster_vehicle.h
# src/effectvehicle_base.h
# src/fontcache.cpp
# src/game/game_core.cpp
# src/game/game_gui.cpp
# src/gamelog.cpp
# src/gamelog_internal.h
# src/group_gui.cpp
# src/linkgraph/linkgraph.h
# src/misc.cpp
# src/network/core/config.h
# src/network/core/udp.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content_gui.cpp
# src/network/network_gui.cpp
# src/newgrf.cpp
# src/newgrf_gui.cpp
# src/newgrf_profiling.cpp
# src/newgrf_profiling.h
# src/object_gui.cpp
# src/openttd.cpp
# src/openttd.h
# src/order_gui.cpp
# src/os/windows/font_win32.cpp
# src/rail_gui.cpp
# src/road.cpp
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/script/api/script_controller.cpp
# src/script/api/script_roadtypelist.cpp
# src/script/script_config.cpp
# src/script/script_config.hpp
# src/script/script_instance.cpp
# src/script/script_scanner.cpp
# src/script/squirrel.cpp
# src/script/squirrel_helper.hpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_type.h
# src/table/settings/network_private_settings.ini
# src/timetable_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/window_gui.h
2023-07-01 02:42:51 +01:00
Jonathan G Rennison
861c033caf
Crash log: Include game mode in config info
2023-06-18 20:00:46 +01:00
Jonathan G Rennison
a6b625eea3
Fix #10993 : Crash log when font caches not initialised ( #11024 )
...
See also: #10836
2023-06-17 17:56:27 +01:00
Owen Rudge
1a3d1bca59
Remove: OS/2 port
2023-06-16 14:29:14 +01:00
Jonathan G Rennison
8c507d6611
Crash log: Suppress messages from internal faults
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
b26a3fa41e
Crash log: Write out crash log incrementally on Windows, MacOS
2023-06-13 00:57:05 +01:00
Jonathan G Rennison
da07c8ce51
Crash log: Move GDB/LLDB logging to its own section
2023-06-12 18:38:27 +01:00
Jonathan G Rennison
dd57fc6ecf
Unix crash log: Generalise crash log fault handling to all sections
2023-06-12 18:34:37 +01:00
Jonathan G Rennison
aa8b60da15
Crashlog: Fix crash log when font caches not initialised
2023-06-11 16:48:01 +01:00
Rubidium
13cdf5fffa
Codechange: use std::filesystem::path for the language file's path
2023-06-08 23:20:28 +02:00
Jonathan G Rennison
ac2f9a21e8
Move upstream saveload to src/saveload/, move jgrpp saveload to src/sl/
...
Leave afterload in src/saveload/
2023-06-08 00:01:40 +01:00
Rubidium
87ccff16b5
Codechange: use std::string for the screenshot name/path
2023-06-04 16:53:10 +02: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
Rubidium
30b9e02dd9
Codechange: replace crashlog filenames with std::string in Crashlog
2023-05-25 05:42:10 +02:00
Rubidium
19304bd3d5
Codechange: replace seprintf with fmt::format for filling the crash log data
2023-05-25 05:42:10 +02:00
Rubidium
a19a43a4f7
Codechange: use fmt::format and time conversions over "custom" implementation
2023-05-22 15:36:09 +02:00
Rubidium
c518293135
Codechange: replace printf with fmt::print
2023-05-21 15:12:02 +02:00
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.
2023-05-21 12:57:32 +02:00
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.
2023-05-14 23:22:02 +02:00
Rubidium
ab51175db2
Codechange: use std::string for script config
2023-05-14 22:54:10 +02:00
Rubidium
51c6b8c1e4
Codechange: use fmt::format_to for gamelog message creation over seprintf
2023-05-04 23:23:32 +02:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Peter Nelson
00bf42353a
Codechange: Place gamelog into its own class, along with internal data.
...
Data is now stored in vectors to avoid manual memory management and
passing lengths around.
2023-05-02 19:47:55 +01:00
Patric Stout
81d4fa6999
Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
...
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
2023-05-01 22:17:56 +02:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Jonathan G Rennison
29411ce975
Fix missing newlines in desync/inconsistency report headers
2023-04-11 19:26:23 +01:00