From 41dd05ea4349c2c917e2ac7b60fd8e7a3b8bf630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Janiszewski?= Date: Tue, 23 Sep 2025 15:40:46 +0200 Subject: [PATCH] Include crashing scenario in breakpad upload (#25204) Fixes missing park for #25202 --- src/openrct2/scenario/ScenarioRepository.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/openrct2/scenario/ScenarioRepository.cpp b/src/openrct2/scenario/ScenarioRepository.cpp index 713bcfc684..590362d0e6 100644 --- a/src/openrct2/scenario/ScenarioRepository.cpp +++ b/src/openrct2/scenario/ScenarioRepository.cpp @@ -24,6 +24,7 @@ #include "../core/Path.hpp" #include "../core/String.hpp" #include "../localisation/LocalisationService.h" +#include "../platform/Crash.h" #include "../platform/Platform.h" #include "../rct12/CSStringConverter.h" #include "../rct12/RCT12.h" @@ -203,6 +204,21 @@ private: static bool GetScenarioInfo(const std::string& path, uint64_t timestamp, ScenarioIndexEntry* entry) { LOG_VERBOSE("GetScenarioInfo(%s, %d, ...)", path.c_str(), timestamp); + + struct CrashAdditionalFileRegistration + { + CrashAdditionalFileRegistration(const std::string& path) + { + // Register the file for crash upload if it asserts while loading. + CrashRegisterAdditionalFile("load_park", path); + } + ~CrashAdditionalFileRegistration() + { + // Deregister park file in case it was processed without hitting an assert. + CrashUnregisterAdditionalFile("load_park"); + } + } crash_additional_file_registration(path); + try { auto& objRepository = OpenRCT2::GetContext()->GetObjectRepository();