cdrom: simplify getStatus
[pcsx_rearmed.git] / libpcsxcore / plugins.h
index b7af7c3..269ef18 100644 (file)
@@ -76,6 +76,7 @@ typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *);
 typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *);\r
 typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *);\r
 typedef void (CALLBACK* GPUvBlank)(int, int);\r
+typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *);\r
 \r
 // GPU function pointers\r
 extern GPUupdateLace    GPU_updateLace;\r
@@ -100,6 +101,7 @@ extern GPUfreeze        GPU_freeze;
 extern GPUgetScreenPic  GPU_getScreenPic;\r
 extern GPUshowScreenPic GPU_showScreenPic;\r
 extern GPUvBlank        GPU_vBlank;\r
+extern GPUgetScreenInfo GPU_getScreenInfo;\r
 \r
 // CD-ROM Functions\r
 typedef long (CALLBACK* CDRinit)(void);\r
@@ -118,9 +120,9 @@ typedef long (CALLBACK* CDRplay)(unsigned char *);
 typedef long (CALLBACK* CDRstop)(void);\r
 typedef long (CALLBACK* CDRsetfilename)(char *);\r
 struct CdrStat {\r
-       uint32_t Type;\r
-       uint32_t Status;\r
-       unsigned char Time[3];\r
+       uint32_t Type; // DATA, CDDA\r
+       uint32_t Status; // same as cdr.StatP\r
+       unsigned char Time_[3]; // unused\r
 };\r
 typedef long (CALLBACK* CDRgetStatus)(struct CdrStat *);\r
 typedef char* (CALLBACK* CDRgetDriveLetter)(void);\r
@@ -159,16 +161,18 @@ extern CDRsetfilename        CDR_setfilename;
 extern CDRreadCDDA           CDR_readCDDA;\r
 extern CDRgetTE              CDR_getTE;\r
 \r
+long CALLBACK CDR__getStatus(struct CdrStat *stat);\r
+\r
 // SPU Functions\r
 typedef long (CALLBACK* SPUinit)(void);                                \r
 typedef long (CALLBACK* SPUshutdown)(void);    \r
 typedef long (CALLBACK* SPUclose)(void);                       \r
 typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int);\r
-typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long);\r
+typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long, unsigned int);\r
 typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int, unsigned int);\r
 typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int, unsigned int);\r
 typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *, unsigned int, int);\r
-typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void));\r
+typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(int));\r
 typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after));\r
 typedef struct {\r
        unsigned char PluginName[8];\r
@@ -182,7 +186,7 @@ typedef struct {
        unsigned char SPUPorts[0x200];\r
        unsigned char SPURam[0x80000];\r
        xa_decode_t xa;\r
-       unsigned char *SPUInfo;\r
+       unsigned char *unused;\r
 } SPUFreeze_t;\r
 typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t);\r
 typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t);\r
@@ -379,6 +383,8 @@ const char *GetIsoFile(void);
 boolean UsingIso(void);\r
 void SetCdOpenCaseTime(s64 time);\r
 \r
+int padFreeze(void *f, int Mode);\r
+\r
 extern void pl_gun_byte2(int port, unsigned char byte);\r
 extern void plat_trigger_vibrate(int pad, int low, int high);\r
 extern void plat_get_psx_resolution(int *xres, int *yres);\r