Fix GTE directly referencing psxRegs
authorPaul Cercueil <paul@crapouillou.net>
Sun, 20 Feb 2022 00:15:43 +0000 (00:15 +0000)
committerPaul Cercueil <paul@crapouillou.net>
Sun, 20 Feb 2022 00:17:24 +0000 (00:17 +0000)
It should reference the 'regs' function argument instead.

This makes it possible to use the latest Lightrec code with its new API,
which has internal CP2 registers, without having to copy the registers
back and forth between the internal ones and the psxRegs ones.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
libpcsxcore/gte.c

index 5164a89..4459600 100644 (file)
 //  sign-extended by bug in original hardware, according to Nocash docs
 //  GTE section 'Screen Offset and Distance'. The emulator does this
 //  sign extension when it is loaded to GTE by CTC2.
-//#define gteH   (psxRegs.CP2C.p[26].sw.l)
-#define gteH   (psxRegs.CP2C.p[26].w.l)
+//#define gteH   (regs->CP2C.p[26].sw.l)
+#define gteH   (regs->CP2C.p[26].w.l)
 #define gteDQA (regs->CP2C.p[27].sw.l)
 #define gteDQB (((s32 *)regs->CP2C.r)[28])
 #define gteZSF3 (regs->CP2C.p[29].sw.l)