GeckoCode: Save installation state to savestates

Because of the way this works, randomly overwriting the handler
when loading a savestate will break things because of the
self-modifying nature of the handler.
This commit is contained in:
EmptyChaos
2016-09-30 16:19:47 +00:00
parent b3547870ee
commit 09372a55da
4 changed files with 39 additions and 16 deletions

View File

@ -23,6 +23,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/CoreTiming.h"
#include "Core/GeckoCode.h"
#include "Core/HW/HW.h"
#include "Core/HW/Wiimote.h"
#include "Core/Host.h"
@ -70,7 +71,7 @@ static Common::Event g_compressAndDumpStateSyncEvent;
static std::thread g_save_thread;
// Don't forget to increase this after doing changes on the savestate system
static const u32 STATE_VERSION = 60; // Last changed in PR 4242
static const u32 STATE_VERSION = 61; // Last changed in PR 4216
// Maps savestate versions to Dolphin versions.
// Versions after 42 don't need to be added to this list,
@ -174,6 +175,8 @@ static std::string DoState(PointerWrap& p)
p.DoMarker("HW");
Movie::DoState(p);
p.DoMarker("Movie");
Gecko::DoState(p);
p.DoMarker("Gecko");
#if defined(HAVE_LIBAV) || defined(_WIN32)
AVIDump::DoState();