From d6de868108258facf99620d1f3232e933a347e64 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 16 Jun 2013 20:00:27 -0700 Subject: [PATCH] Correctly savestate the atrac ids. --- Core/HLE/sceAtrac.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index 45d0be37ec..a8734bcc58 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -304,7 +304,16 @@ void __AtracInit() { void __AtracDoState(PointerWrap &p) { p.Do(atracInited); - p.DoArray(atracIDs, PSP_NUM_ATRAC_IDS); + for (int i = 0; i < PSP_NUM_ATRAC_IDS; ++i) { + bool valid = atracIDs[i] != NULL; + p.Do(valid); + if (valid) { + p.Do(atracIDs[i]); + } else { + delete atracIDs[i]; + atracIDs[i] = NULL; + } + } p.DoArray(atracIDTypes, PSP_NUM_ATRAC_IDS); p.DoMarker("sceAtrac");