cdrom: change pause timing again
[pcsx_rearmed.git] / include / psemu_plugin_defs.h
index 0805f4a..4e69b16 100644 (file)
@@ -5,6 +5,10 @@
 extern "C" {
 #endif
 
+// this can't be __stdcall like it was in PSEmu API as too many functions are mixed up
+#undef CALLBACK
+#define CALLBACK
+
 // header version
 #define _PPDK_HEADER_VERSION           3
 
@@ -137,7 +141,7 @@ typedef struct
   long PADquery(void);
 
   unsigned char PADstartPoll(int);
-  unsigned char PADpoll(unsigned char);
+  unsigned char PADpoll(unsigned char, int *);
 
 */
 
@@ -153,6 +157,8 @@ typedef struct
 
 
 
+// No controller
+#define PSE_PAD_TYPE_NONE                      0
 // MOUSE SCPH-1030
 #define PSE_PAD_TYPE_MOUSE                     1
 // NEGCON - 16 button analog controller SLPH-00001
@@ -191,9 +197,15 @@ typedef struct
 
 typedef struct
 {
-       // controler type - fill it withe predefined values above
+       // controller type - fill it withe predefined values above
        unsigned char controllerType;
 
+       unsigned char padding;
+       unsigned short saveSize;
+
+       int portMultitap;
+       int requestPadIndex;
+
        // status of buttons - every controller fills this field
        unsigned short buttonStatus;
 
@@ -205,12 +217,28 @@ typedef struct
        // values are in range -128 - 127
        unsigned char moveX, moveY;
 
-    uint8_t Vib[2];
-
-    volatile uint8_t VibF[2];
-
-    unsigned char reserved[87];
-
+       // Lightgun values
+       int absoluteX, absoluteY;
+
+       unsigned char Vib[2];
+       unsigned char VibF[2];
+       
+       struct {
+               unsigned char configMode;
+               unsigned char padMode; // 0 : digital 1: analog
+               unsigned char cmd4dConfig[6];
+               unsigned int  lastUseFrame;
+               unsigned int  unused;
+               unsigned char configModeUsed;
+               unsigned char autoAnalogTried;
+               unsigned char userToggled;
+               unsigned char padding;
+       } ds;
+       unsigned char multitapLongModeEnabled;
+       unsigned char padding2;
+       unsigned char txData[34];
+
+       unsigned char reserved[22];
 } PadDataS;
 
 /*         NET PlugIn v2       */