From 80c67e2d483cbb2ea4355ec588757915644dd181 Mon Sep 17 00:00:00 2001 From: Gauvain 'GovanifY' Roussel-Tarbouriech Date: Fri, 14 May 2021 17:15:41 +0200 Subject: [PATCH] pad: separate full and per-pad sstate --- pcsx2/PAD/Linux/PAD.cpp | 10 +++++----- pcsx2/PAD/Linux/state_management.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pcsx2/PAD/Linux/PAD.cpp b/pcsx2/PAD/Linux/PAD.cpp index 6c4aa651e1..430a279526 100644 --- a/pcsx2/PAD/Linux/PAD.cpp +++ b/pcsx2/PAD/Linux/PAD.cpp @@ -159,15 +159,15 @@ s32 PADfreeze(int mode, freezeData* data) if (mode == FREEZE_SIZE) { - data->size = sizeof(PadFreezeData); + data->size = sizeof(PadFullFreezeData); } else if (mode == FREEZE_LOAD) { - PadFreezeData* pdata = (PadFreezeData*)(data->data); + PadFullFreezeData* pdata = (PadFullFreezeData*)(data->data); Pad::stop_vibrate_all(); - if (data->size != sizeof(PadFreezeData) || pdata->version != PAD_SAVE_STATE_VERSION || + if (data->size != sizeof(PadFullFreezeData) || pdata->version != PAD_SAVE_STATE_VERSION || strncmp(pdata->format, "LinPad", sizeof(pdata->format))) return 0; @@ -199,10 +199,10 @@ s32 PADfreeze(int mode, freezeData* data) } else if (mode == FREEZE_SAVE) { - if (data->size != sizeof(PadFreezeData)) + if (data->size != sizeof(PadFullFreezeData)) return 0; - PadFreezeData* pdata = (PadFreezeData*)(data->data); + PadFullFreezeData* pdata = (PadFullFreezeData*)(data->data); // Tales of the Abyss - pad fix // - PCSX2 only saves port0 (save #1), then port1 (save #2) diff --git a/pcsx2/PAD/Linux/state_management.h b/pcsx2/PAD/Linux/state_management.h index 1db589fad0..efc8ee3373 100644 --- a/pcsx2/PAD/Linux/state_management.h +++ b/pcsx2/PAD/Linux/state_management.h @@ -95,7 +95,7 @@ public: }; // Full state to manage save state -struct PadFreezeData +struct PadFullFreezeData { char format[8]; u32 version;