diff --git a/Core/Debugger/SymbolMap.h b/Core/Debugger/SymbolMap.h index 3095e494fd..d7f45fcb21 100644 --- a/Core/Debugger/SymbolMap.h +++ b/Core/Debugger/SymbolMap.h @@ -24,6 +24,13 @@ #include "Common/CommonTypes.h" #include "Common/File/Path.h" +// Next plans for the symbol map +// +// Symbol maps should auto-load and auto-save. They should be per module with section offsets, and the ID +// should be the module name plus the hash of the code and data sections. This way +// symbols will not misapply to the wrong modules. +// We already have some support for module-specific symbols, but it's just not set up right, as far as I can tell. + enum SymbolType { ST_NONE = 0, ST_FUNCTION = 1, diff --git a/UI/PauseScreen.cpp b/UI/PauseScreen.cpp index e6c827374d..9ecd5fdca6 100644 --- a/UI/PauseScreen.cpp +++ b/UI/PauseScreen.cpp @@ -593,7 +593,7 @@ void GamePauseScreen::CreateViews() { } bool achievementsAllowSavestates = !Achievements::HardcoreModeActive() || g_Config.bAchievementsSaveStateInHardcoreMode; - bool showSavestateControls = achievementsAllowSavestates; + bool showSavestateControls = achievementsAllowSavestates && PSP_CoreParameter().fileType != IdentifiedFileType::PPSSPP_GE_DUMP; if (IsNetworkConnected() && !g_Config.bAllowSavestateWhileConnected) { showSavestateControls = false; } @@ -629,6 +629,19 @@ void GamePauseScreen::CreateViews() { if (!achievementsAllowSavestates) { saveDataScrollItems->Add(new NoticeView(NoticeLevel::INFO, ac->T("Save states not available in Hardcore Mode"), "")); } + + if (PSP_CoreParameter().fileType == IdentifiedFileType::PPSSPP_GE_DUMP) { + // Show some metadata about the frame dump. + std::vector info{}; + std::string id = g_paramSFO.GetDiscID(); + saveDataScrollItems->Add(new TextView(id, new UI::LinearLayoutParams(Margins(10, 0)))); + if (g_gameDB.GetGameInfos(id, &info)) { + // All we have is the game ID, let's dig out some info if possible. + for (const auto &iter : info) { + saveDataScrollItems->Add(new TextView(iter.title, new UI::LinearLayoutParams(Margins(10, 0)))); + } + } + } } LinearLayout *middleColumn = nullptr;