X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfsound%2Ffreeze.c;h=36b8995923829ee677865cdd7b3e1fbe57d3406a;hb=refs%2Fremotes%2Fgithub%2Fmaster;hp=32c07dbde67d28702ef86f91b76a01d534886148;hpb=20ed712f92d53fa7d51a4b805af997f5770077ae;p=pcsx_rearmed.git diff --git a/plugins/dfsound/freeze.c b/plugins/dfsound/freeze.c index 32c07dbd..36b89959 100644 --- a/plugins/dfsound/freeze.c +++ b/plugins/dfsound/freeze.c @@ -107,7 +107,7 @@ typedef struct ADSRInfoEx_orig ADSRX; // next ADSR settings (will be moved to active on sample start) } SPUCHAN_orig; -typedef struct +typedef struct SPUFreeze { char szSPUName[8]; uint32_t ulFreezeVersion; @@ -236,8 +236,8 @@ static void load_register(unsigned long reg, unsigned int cycles) // SPUFREEZE: called by main emu on savestate load/save //////////////////////////////////////////////////////////////////////// -long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF, - uint32_t cycles) +long CALLBACK SPUfreeze(unsigned int ulFreezeMode, SPUFreeze_t * pF, + unsigned int cycles) { SPUOSSFreeze_t * pFO = NULL; int i; @@ -303,6 +303,13 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF, pFO->xa_left = xa_left; pFO->cdda_left = cdda_left; pFO->cycles_played = spu.cycles_played; + pFO->cycles_dma_end = spu.cycles_dma_end; + pFO->decode_dirty_ch = spu.decode_dirty_ch; + pFO->dwNoiseVal = spu.dwNoiseVal; + pFO->dwNoiseCount = spu.dwNoiseCount; + pFO->XARepeat = spu.XARepeat; + pFO->XALastVal = spu.XALastVal; + pFO->last_keyon_cycles = spu.last_keyon_cycles; for(i=0;ixa_left && pF->xaS.nsamples) { // start xa again FeedXA(&pF->xaS); spu.XAPlay = spu.XAFeed - pFO->xa_left;