diff --git a/trunk/desmume/src/GPU.h b/trunk/desmume/src/GPU.h index 12b0924c2..c86e83bab 100644 --- a/trunk/desmume/src/GPU.h +++ b/trunk/desmume/src/GPU.h @@ -122,9 +122,10 @@ extern Screen SubScreen; void ScreenInit(void); void ScreenDeInit(void); -static INLINE void GPU_ligne(GPU * gpu, u16 * buffer, u16 l) +static INLINE void GPU_ligne(Screen * screen, u16 l) { - u16 * dst = buffer + l*256; + GPU * gpu = screen->gpu; + u16 * dst = GPU_screen + (screen->offset + l) * 256; u16 spr[256]; u8 sprPrio[256]; u8 bgprio; diff --git a/trunk/desmume/src/NDSSystem.h b/trunk/desmume/src/NDSSystem.h index d51bea17b..bdeeb0e63 100644 --- a/trunk/desmume/src/NDSSystem.h +++ b/trunk/desmume/src/NDSSystem.h @@ -292,8 +292,8 @@ void NDS_releasTouch(void); { if(nds.VCount<192) { - GPU_ligne(MainScreen.gpu, GPU_screen + (MainScreen.offset * 256), nds.VCount); - GPU_ligne(SubScreen.gpu, GPU_screen + (SubScreen.offset * 256), nds.VCount); + GPU_ligne(&MainScreen, nds.VCount); + GPU_ligne(&SubScreen, nds.VCount); ((u16 *)ARM9Mem.ARM9_REG)[0x0004>>1] |= 2; ((u16 *)MMU.ARM7_REG)[0x0004>>1] |= 2; NDS_ARM9HBlankInt();