don't cast between long and pointers for win64
[pcsx_rearmed.git] / plugins / dfsound / freeze.c
index a400cf7..51e9fd7 100644 (file)
@@ -187,8 +187,8 @@ static void load_channel(SPUCHAN *d, const SPUCHAN_orig *s, int ch)
  d->sinc = s->sinc;\r
  d->sinc_inv = 0;\r
  memcpy(spu.SB + ch * SB_SIZE, s->SB, sizeof(spu.SB[0]) * SB_SIZE);\r
- d->pCurr = (void *)((long)s->iCurr & 0x7fff0);\r
- d->pLoop = (void *)((long)s->iLoop & 0x7fff0);\r
+ d->pCurr = (void *)((uintptr_t)s->iCurr & 0x7fff0);\r
+ d->pLoop = (void *)((uintptr_t)s->iLoop & 0x7fff0);\r
  d->bReverb = s->bReverb;\r
  d->iLeftVolume = s->iLeftVolume;\r
  d->iRightVolume = s->iRightVolume;\r
@@ -258,7 +258,7 @@ long CALLBACK SPUfreeze(uint32_t ulFreezeMode, SPUFreeze_t * pF,
    pFO=(SPUOSSFreeze_t *)(pF+1);                       // store special stuff\r
 \r
    pFO->spuIrq = spu.regArea[(H_SPUirqAddr - 0x0c00) / 2];\r
-   if(spu.pSpuIrq) pFO->pSpuIrq  = (unsigned long)spu.pSpuIrq-(unsigned long)spu.spuMemC;\r
+   if(spu.pSpuIrq) pFO->pSpuIrq = spu.pSpuIrq - spu.spuMemC;\r
 \r
    pFO->spuAddr=spu.spuAddr;\r
    if(pFO->spuAddr==0) pFO->spuAddr=0xbaadf00d;\r
@@ -340,8 +340,8 @@ void LoadStateV5(SPUFreeze_t * pF)
   {\r
    load_channel(&spu.s_chan[i],&pFO->s_chan[i],i);\r
 \r
-   spu.s_chan[i].pCurr+=(unsigned long)spu.spuMemC;\r
-   spu.s_chan[i].pLoop+=(unsigned long)spu.spuMemC;\r
+   spu.s_chan[i].pCurr+=(uintptr_t)spu.spuMemC;\r
+   spu.s_chan[i].pLoop+=(uintptr_t)spu.spuMemC;\r
   }\r
 }\r
 \r