gpulib: trust game's centering based on a database
[pcsx_rearmed.git] / frontend / plugin.c
index 2f8dcc2..88d756e 100644 (file)
@@ -55,7 +55,7 @@ extern unsigned short CALLBACK SPUreadRegister(unsigned long, unsigned int);
 extern void CALLBACK SPUwriteDMAMem(unsigned short *, int, unsigned int);
 extern void CALLBACK SPUreadDMAMem(unsigned short *, int, unsigned int);
 extern void CALLBACK SPUplayADPCMchannel(void *, unsigned int, int);
-extern void CALLBACK SPUregisterCallback(void (*cb)(void));
+extern void CALLBACK SPUregisterCallback(void (*cb)(int));
 extern void CALLBACK SPUregisterScheduleCb(void (*cb)(unsigned int));
 extern long CALLBACK SPUfreeze(unsigned int, void *, unsigned int);
 extern void CALLBACK SPUasync(unsigned int, unsigned int);
@@ -76,7 +76,7 @@ static long CALLBACK PADreadPort1(PadDataS *pad) {
 
        pad->portMultitap = multitap1;
 
-       if (in_type[pad_index] == PSE_PAD_TYPE_ANALOGJOY || in_type[pad_index] == PSE_PAD_TYPE_ANALOGPAD || in_type[pad_index] == PSE_PAD_TYPE_NEGCON || in_type[pad_index] == PSE_PAD_TYPE_GUNCON)
+       if (in_type[pad_index] == PSE_PAD_TYPE_ANALOGJOY || in_type[pad_index] == PSE_PAD_TYPE_ANALOGPAD || in_type[pad_index] == PSE_PAD_TYPE_NEGCON || in_type[pad_index] == PSE_PAD_TYPE_GUNCON || in_type[pad_index] == PSE_PAD_TYPE_GUN)
        {
                pad->leftJoyX = in_analog_left[pad_index][0];
                pad->leftJoyY = in_analog_left[pad_index][1];
@@ -104,7 +104,7 @@ static long CALLBACK PADreadPort2(PadDataS *pad) {
 
        pad->portMultitap = multitap2;
 
-       if (in_type[pad_index] == PSE_PAD_TYPE_ANALOGJOY || in_type[pad_index] == PSE_PAD_TYPE_ANALOGPAD || in_type[pad_index] == PSE_PAD_TYPE_NEGCON || in_type[pad_index] == PSE_PAD_TYPE_GUNCON)
+       if (in_type[pad_index] == PSE_PAD_TYPE_ANALOGJOY || in_type[pad_index] == PSE_PAD_TYPE_ANALOGPAD || in_type[pad_index] == PSE_PAD_TYPE_NEGCON || in_type[pad_index] == PSE_PAD_TYPE_GUNCON || in_type[pad_index] == PSE_PAD_TYPE_GUN)
        {
                pad->leftJoyX = in_analog_left[pad_index][0];
                pad->leftJoyY = in_analog_left[pad_index][1];
@@ -135,7 +135,7 @@ extern void GPUwriteDataMem(uint32_t *, int);
 extern uint32_t GPUreadStatus(void);
 extern uint32_t GPUreadData(void);
 extern void GPUreadDataMem(uint32_t *, int);
-extern long GPUdmaChain(uint32_t *,uint32_t);
+extern long GPUdmaChain(uint32_t *, uint32_t, uint32_t *);
 extern void GPUupdateLace(void);
 extern long GPUfreeze(uint32_t, void *);
 extern void GPUvBlank(int, int);
@@ -264,6 +264,9 @@ void plugin_call_rearmed_cbs(void)
        extern void *hGPUDriver;
        void (*rearmed_set_cbs)(const struct rearmed_cbs *cbs);
 
+       pl_rearmed_cbs.screen_centering_type_default =
+               Config.hacks.gpu_centering ? C_INGAME : C_AUTO;
+
        rearmed_set_cbs = SysLoadSym(hGPUDriver, "GPUrearmedCallbacks");
        if (rearmed_set_cbs != NULL)
                rearmed_set_cbs(&pl_rearmed_cbs);