input changes part3
[pcsx_rearmed.git] / include / psemu_plugin_defs.h
index 0805f4a..d005d08 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,12 @@ typedef struct
 
 typedef struct
 {
-       // controler type - fill it withe predefined values above
+       // controller type - fill it withe predefined values above
        unsigned char controllerType;
 
+       int portMultitap;
+       int requestPadIndex;
+
        // status of buttons - every controller fills this field
        unsigned short buttonStatus;
 
@@ -205,11 +214,21 @@ 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];
+       unsigned char Vib[2];
+       unsigned char VibF[2];
+       
+       //configuration mode Request 0x43
+       int configMode;
+
+       unsigned char txData[34];
+
+       unsigned char multitapLongModeEnabled;
+       unsigned char PadMode; // 0 : digital 1: analog
+       unsigned char cmd4dConfig[6];
+       unsigned char reserved[46];
+       
+       //Lightgun values 
+       int absoluteX,absoluteY;
 
 } PadDataS;