Просмотр исходного кода

Fixes break in gamepad and forms.

seanpaultaylor 12 лет назад
Родитель
Сommit
2798ea8637

+ 1 - 1
gameplay/src/Form.cpp

@@ -732,7 +732,7 @@ bool Form::gamepadEventInternal(Gamepad::GamepadEvent evt, Gamepad* gamepad, uns
 
 
         if (form->isEnabled() && form->isVisible())
         if (form->isEnabled() && form->isVisible())
         {
         {
-            eventConsumed |= form->gamepadEvent(evt, gamepad, analogIndex);
+            eventConsumed |= form->gamepadEventInternal(evt, gamepad, analogIndex);
         }
         }
     }
     }
 
 

+ 1 - 0
gameplay/src/Form.h

@@ -9,6 +9,7 @@
 #include "Touch.h"
 #include "Touch.h"
 #include "Keyboard.h"
 #include "Keyboard.h"
 #include "Mouse.h"
 #include "Mouse.h"
+#include "Gamepad.h"
 
 
 namespace gameplay
 namespace gameplay
 {
 {

+ 1 - 1
gameplay/src/Gamepad.cpp

@@ -384,7 +384,7 @@ void Gamepad::setButtons(unsigned int buttons)
     if (buttons != _buttons)
     if (buttons != _buttons)
     {
     {
         _buttons = buttons;
         _buttons = buttons;
-        Form::gamepadEventInternal(BUTTONS_EVENT, this, 0);
+        Form::gamepadEventInternal(BUTTON_EVENT, this, 0);
     }
     }
 }
 }
 
 

+ 8 - 20
gameplay/src/Gamepad.h

@@ -30,7 +30,7 @@ public:
     {
     {
         CONNECTED_EVENT,
         CONNECTED_EVENT,
         DISCONNECTED_EVENT,
         DISCONNECTED_EVENT,
-        BUTTONS_EVENT,
+        BUTTON_EVENT,
         JOYSTICK_EVENT,
         JOYSTICK_EVENT,
         TRIGGER_EVENT
         TRIGGER_EVENT
     };
     };
@@ -168,7 +168,6 @@ public:
      */
      */
     void draw();
     void draw();
 
 
-
 private:
 private:
 
 
     /**
     /**
@@ -192,20 +191,23 @@ private:
      */
      */
     Gamepad(GamepadHandle handle, 
     Gamepad(GamepadHandle handle, 
             unsigned int buttonCount, unsigned int joystickCount, unsigned int triggerCount,
             unsigned int buttonCount, unsigned int joystickCount, unsigned int triggerCount,
-            unsigned int vendorId, unsigned int productId, 
-            const char* vendorString, const char* productString);
+            unsigned int vendorId, unsigned int productId, const char* vendorString, const char* productString);
 
 
     /**
     /**
      * Copy constructor.
      * Copy constructor.
      */
      */
     Gamepad(const Gamepad& copy);
     Gamepad(const Gamepad& copy);
 
 
+    /** 
+     * Destructor.
+     */
+    virtual ~Gamepad();
+
     static void updateInternal(float elapsedTime);
     static void updateInternal(float elapsedTime);
 
 
     static Gamepad* add(GamepadHandle handle, 
     static Gamepad* add(GamepadHandle handle, 
                         unsigned int buttonCount, unsigned int joystickCount, unsigned int triggerCount,
                         unsigned int buttonCount, unsigned int joystickCount, unsigned int triggerCount,
-                        unsigned int vendorId, unsigned int productId, 
-                        const char* vendorString, const char* productString);
+                        unsigned int vendorId, unsigned int productId, const char* vendorString, const char* productString);
 
 
     static Gamepad* add(const char* formPath);
     static Gamepad* add(const char* formPath);
 
 
@@ -221,22 +223,12 @@ private:
 
 
     static ButtonMapping getButtonMappingFromString(const char* string);
     static ButtonMapping getButtonMappingFromString(const char* string);
 
 
-    // The following setters are used by platforms when polling or handling gamepad events at the platform layer.
-    // They trigger gamepad state-changed events on forms as necessary.
     void setButtons(unsigned int buttons);
     void setButtons(unsigned int buttons);
 
 
     void setJoystickValue(unsigned int index, float x, float y);
     void setJoystickValue(unsigned int index, float x, float y);
 
 
     void setTriggerValue(unsigned int index, float value);
     void setTriggerValue(unsigned int index, float value);
-
-    /** 
-     * Destructor.
-     */
-    virtual ~Gamepad();
     
     
-    /** 
-     * Binds the Joystick and Button Control object's from the specified container.
-     */
     void bindGamepadControls(Container* container);
     void bindGamepadControls(Container* container);
 
 
     GamepadHandle _handle;        // The handle of the Gamepad.
     GamepadHandle _handle;        // The handle of the Gamepad.
@@ -247,13 +239,9 @@ private:
     unsigned int _productId;
     unsigned int _productId;
     std::string _vendorString;
     std::string _vendorString;
     std::string _productString;
     std::string _productString;
-    
-    // Data needed for virtual gamepads.
     Form* _form;
     Form* _form;
     Joystick* _uiJoysticks[2];
     Joystick* _uiJoysticks[2];
     Button* _uiButtons[20];
     Button* _uiButtons[20];
-
-    // Current gamepad state.
     unsigned int _buttons;
     unsigned int _buttons;
     Vector2 _joysticks[2];
     Vector2 _joysticks[2];
     float _triggers[2];
     float _triggers[2];

+ 1 - 0
gameplay/src/Platform.cpp

@@ -3,6 +3,7 @@
 #include "Platform.h"
 #include "Platform.h"
 #include "Game.h"
 #include "Game.h"
 #include "ScriptController.h"
 #include "ScriptController.h"
+#include "Form.h"
 
 
 namespace gameplay
 namespace gameplay
 {
 {

+ 5 - 5
gameplay/src/lua/lua_GamepadGamepadEvent.cpp

@@ -8,7 +8,7 @@ static const char* enumStringEmpty = "";
 
 
 static const char* luaEnumString_GamepadGamepadEvent_CONNECTED_EVENT = "CONNECTED_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_CONNECTED_EVENT = "CONNECTED_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT = "DISCONNECTED_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT = "DISCONNECTED_EVENT";
-static const char* luaEnumString_GamepadGamepadEvent_BUTTONS_EVENT = "BUTTONS_EVENT";
+static const char* luaEnumString_GamepadGamepadEvent_BUTTON_EVENT = "BUTTON_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT = "JOYSTICK_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT = "JOYSTICK_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_TRIGGER_EVENT = "TRIGGER_EVENT";
 static const char* luaEnumString_GamepadGamepadEvent_TRIGGER_EVENT = "TRIGGER_EVENT";
 
 
@@ -18,8 +18,8 @@ Gamepad::GamepadEvent lua_enumFromString_GamepadGamepadEvent(const char* s)
         return Gamepad::CONNECTED_EVENT;
         return Gamepad::CONNECTED_EVENT;
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT) == 0)
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT) == 0)
         return Gamepad::DISCONNECTED_EVENT;
         return Gamepad::DISCONNECTED_EVENT;
-    if (strcmp(s, luaEnumString_GamepadGamepadEvent_BUTTONS_EVENT) == 0)
-        return Gamepad::BUTTONS_EVENT;
+    if (strcmp(s, luaEnumString_GamepadGamepadEvent_BUTTON_EVENT) == 0)
+        return Gamepad::BUTTON_EVENT;
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT) == 0)
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT) == 0)
         return Gamepad::JOYSTICK_EVENT;
         return Gamepad::JOYSTICK_EVENT;
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_TRIGGER_EVENT) == 0)
     if (strcmp(s, luaEnumString_GamepadGamepadEvent_TRIGGER_EVENT) == 0)
@@ -34,8 +34,8 @@ const char* lua_stringFromEnum_GamepadGamepadEvent(Gamepad::GamepadEvent e)
         return luaEnumString_GamepadGamepadEvent_CONNECTED_EVENT;
         return luaEnumString_GamepadGamepadEvent_CONNECTED_EVENT;
     if (e == Gamepad::DISCONNECTED_EVENT)
     if (e == Gamepad::DISCONNECTED_EVENT)
         return luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT;
         return luaEnumString_GamepadGamepadEvent_DISCONNECTED_EVENT;
-    if (e == Gamepad::BUTTONS_EVENT)
-        return luaEnumString_GamepadGamepadEvent_BUTTONS_EVENT;
+    if (e == Gamepad::BUTTON_EVENT)
+        return luaEnumString_GamepadGamepadEvent_BUTTON_EVENT;
     if (e == Gamepad::JOYSTICK_EVENT)
     if (e == Gamepad::JOYSTICK_EVENT)
         return luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT;
         return luaEnumString_GamepadGamepadEvent_JOYSTICK_EVENT;
     if (e == Gamepad::TRIGGER_EVENT)
     if (e == Gamepad::TRIGGER_EVENT)

+ 1 - 1
gameplay/src/lua/lua_Global.cpp

@@ -377,7 +377,7 @@ void luaRegister_lua_Global()
         scopePath.push_back("Gamepad");
         scopePath.push_back("Gamepad");
         gameplay::ScriptUtil::registerConstantString("CONNECTED_EVENT", "CONNECTED_EVENT", scopePath);
         gameplay::ScriptUtil::registerConstantString("CONNECTED_EVENT", "CONNECTED_EVENT", scopePath);
         gameplay::ScriptUtil::registerConstantString("DISCONNECTED_EVENT", "DISCONNECTED_EVENT", scopePath);
         gameplay::ScriptUtil::registerConstantString("DISCONNECTED_EVENT", "DISCONNECTED_EVENT", scopePath);
-        ScriptUtil::registerConstantString("BUTTONS_EVENT", "BUTTONS_EVENT", scopePath);
+        ScriptUtil::registerConstantString("BUTTON_EVENT", "BUTTON_EVENT", scopePath);
         ScriptUtil::registerConstantString("JOYSTICK_EVENT", "JOYSTICK_EVENT", scopePath);
         ScriptUtil::registerConstantString("JOYSTICK_EVENT", "JOYSTICK_EVENT", scopePath);
         ScriptUtil::registerConstantString("TRIGGER_EVENT", "TRIGGER_EVENT", scopePath);
         ScriptUtil::registerConstantString("TRIGGER_EVENT", "TRIGGER_EVENT", scopePath);
     }
     }