improved virtual buttons for touch devices (Android)
[rocksndiamonds.git] / src / libgame / joystick.h
index b1fca495273fe601e76ed63becc45959c53ea780..c7f65febe498c88f1c052b11abb82c5861a195f7 100644 (file)
@@ -1,26 +1,22 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1995-2002 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* joystick.h                                               *
-***********************************************************/
+// ============================================================================
+// Artsoft Retro-Game Library
+// ----------------------------------------------------------------------------
+// (c) 1995-2014 by Artsoft Entertainment
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 http://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// joystick.h
+// ============================================================================
 
 #ifndef JOYSTICK_H
 #define JOYSTICK_H
 
 #include "system.h"
 
-/* values for the joystick */
 #define JOYSTICK_NOT_AVAILABLE 0
 #define        JOYSTICK_AVAILABLE      (1 << 0)
 #define        JOYSTICK_ACTIVE         (1 << 1)
-
 #define JOYSTICK_ACTIVATED     (JOYSTICK_AVAILABLE | JOYSTICK_ACTIVE)
 
 #if defined(PLATFORM_FREEBSD)
@@ -38,7 +34,7 @@
 /* get these values from the program 'js' from the joystick package, */
 /* set JOYSTICK_PERCENT to a threshold appropriate for your joystick */
 
-#ifdef TARGET_SDL
+#if defined(TARGET_SDL)
 #define JOYSTICK_XLEFT         -32767
 #define JOYSTICK_XMIDDLE       0
 #define JOYSTICK_XRIGHT                32767
 #define JOYSTICK_YMIDDLE       0
 #define JOYSTICK_YLOWER                32767
 #else
-#define JOYSTICK_XLEFT         30
-#define JOYSTICK_XMIDDLE       530
-#define JOYSTICK_XRIGHT                1250
-#define JOYSTICK_YUPPER                40
-#define JOYSTICK_YMIDDLE       680
-#define JOYSTICK_YLOWER                1440
+#define JOYSTICK_XLEFT         1
+#define JOYSTICK_XMIDDLE       128
+#define JOYSTICK_XRIGHT                255
+#define JOYSTICK_YUPPER                1
+#define JOYSTICK_YMIDDLE       128
+#define JOYSTICK_YLOWER                255
 #endif
 
 #define JOYSTICK_PERCENT       25
 
+#define JOY_NO_ACTION          0
 #define JOY_LEFT               MV_LEFT
 #define JOY_RIGHT              MV_RIGHT
 #define JOY_UP                 MV_UP
 #define JOY_DOWN               MV_DOWN
-#define JOY_BUTTON_1           (1 << 4)
-#define JOY_BUTTON_2           (1 << 5)
-#define JOY_BUTTON             (JOY_BUTTON_1 | JOY_BUTTON_2)
+#define JOY_BUTTON_1           KEY_BUTTON_1
+#define JOY_BUTTON_2           KEY_BUTTON_2
+#define JOY_BUTTON_SNAP                KEY_BUTTON_SNAP
+#define JOY_BUTTON_DROP                KEY_BUTTON_DROP
+#define JOY_MOTION             KEY_MOTION
+#define JOY_BUTTON             KEY_BUTTON
+#define JOY_ACTION             KEY_ACTION
 
 #define JOY_BUTTON_NOT_PRESSED 0
 #define JOY_BUTTON_PRESSED     1
 #define JOY_BUTTON_NEW_PRESSED 2
 #define JOY_BUTTON_NEW_RELEASED        3
 
-#ifdef NO_JOYSTICK
-#define JOYSTICK_STATUS                JOYSTICK_NOT_AVAILABLE
-#else
-#define JOYSTICK_STATUS                JOYSTICK_AVAILABLE
-#endif
-
-
 char *getJoyNameFromJoySymbol(int);
 int getJoySymbolFromJoyName(char *);
 int getJoystickNrFromDeviceName(char *);
 char *getDeviceNameFromJoystickNr(int);
 
-#if defined(TARGET_SDL)
-SDL_Joystick *Get_SDL_Joystick(int);
-boolean Open_SDL_Joystick(int);
-void Close_SDL_Joystick(int);
-boolean Check_SDL_JoystickOpened(int);
-void HandleJoystickEvent(Event *);
-int Get_SDL_Joystick_Axis(int, int);
-#endif
-
 void CheckJoystickData(void);
 int Joystick(int);
 int JoystickButton(int);
 int AnyJoystick(void);
 int AnyJoystickButton(void);
 
-void DeactivateJoystickForCalibration();
-void ActivateJoystickIfAvailable();
+void DeactivateJoystick();
+void ActivateJoystick();
 
 #endif /* JOYSTICK_H */