diff options
| author | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-01-27 19:08:34 +0000 |
|---|---|---|
| committer | SND\edgbla_cp <SND\edgbla_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2014-01-27 19:08:34 +0000 |
| commit | 0849a1f756e4ddd52cbfcd96bb2364c30adc4b94 (patch) | |
| tree | 663a5a78a5896ee7cbea28aa04848d954481c431 | |
| parent | dff057c107c51804881bf076d35cda6642fed517 (diff) | |
| download | pcsxr-0849a1f756e4ddd52cbfcd96bb2364c30adc4b94.tar.gz | |
misc.c fix;
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@88505 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rwxr-xr-x | libpcsxcore/misc.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index cabd8d12..92bb12c5 100755 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -499,8 +499,8 @@ int Load(const char *ExePath) { } // STATES -static const u8 PCSXR_HEADER_SZ = 10U; -static const u32 SZ_GPUPIC = 128 * 96 * 3; +#define PCSXR_HEADER_SZ (10) +#define SZ_GPUPIC (128 * 96 * 3) static const char PcsxrHeader[32] = "STv4 PCSXR v" PACKAGE_VERSION; // Savestate Versioning! @@ -633,7 +633,7 @@ void CleanupMemSaveStates() {} #endif int SaveStateGz(gzFile f, long* gzsize) { - GPUFreeze_t gpufP; + GPUFreeze_t *gpufP; SPUFreeze_t *spufP; int Size; unsigned char pMemGpuPic[SZ_GPUPIC], pMemSpuT[16]; @@ -656,9 +656,11 @@ int SaveStateGz(gzFile f, long* gzsize) { gzwrite(f, (void *)&psxRegs, sizeof(psxRegs)); // gpu - gpufP.ulFreezeVersion = 1; - GPU_freeze(1, &gpufP); - gzwrite(f, &gpufP, sizeof(GPUFreeze_t)); + gpufP = (GPUFreeze_t *)malloc(sizeof(GPUFreeze_t)); + gpufP->ulFreezeVersion = 1; + GPU_freeze(1, gpufP); + gzwrite(f, gpufP, sizeof(GPUFreeze_t)); + free(gpufP); // spu spufP = (SPUFreeze_t *)pMemSpuT; // only first 3 elements (up to Size) @@ -684,7 +686,7 @@ int SaveStateGz(gzFile f, long* gzsize) { } int LoadStateGz(gzFile f) { - GPUFreeze_t gpufP; + GPUFreeze_t *gpufP; SPUFreeze_t *spufP; int Size; char header[sizeof(PcsxrHeader)]; @@ -715,8 +717,10 @@ int LoadStateGz(gzFile f) { psxBiosFreeze(0); // gpu - gzread(f, &gpufP, sizeof(GPUFreeze_t)); - GPU_freeze(0, &gpufP); + gpufP = (GPUFreeze_t *)malloc(sizeof(GPUFreeze_t)); + gzread(f, gpufP, sizeof(GPUFreeze_t)); + GPU_freeze(0, gpufP); + free(gpufP); // spu gzread(f, &Size, 4); |
