rnd-20000718-1-src
[rocksndiamonds.git] / src / joystick.h
1 /***********************************************************
2 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
3 *----------------------------------------------------------*
4 *  (c) 1995-98 Artsoft Entertainment                       *
5 *              Holger Schemel                              *
6 *              Oststrasse 11a                              *
7 *              33604 Bielefeld                             *
8 *              phone: ++49 +521 290471                     *
9 *              email: aeglos@valinor.owl.de                *
10 *----------------------------------------------------------*
11 *  joystick.h                                              *
12 ***********************************************************/
13
14 #ifndef JOYSTICK_H
15 #define JOYSTICK_H
16
17 #include "main.h"
18
19 /* values for the joystick */
20 #define JOYSTICK_OFF            0
21 #define JOYSTICK_AVAILABLE      1
22 #ifdef __FreeBSD__
23 #include <machine/joystick.h>
24 #define DEV_JOYSTICK_0          "/dev/joy0"
25 #define DEV_JOYSTICK_1          "/dev/joy1"
26 #define DEV_JOYSTICK_2          "/dev/joy2"
27 #define DEV_JOYSTICK_3          "/dev/joy3"
28 #else
29 #define DEV_JOYSTICK_0          "/dev/js0"
30 #define DEV_JOYSTICK_1          "/dev/js1"
31 #define DEV_JOYSTICK_2          "/dev/js2"
32 #define DEV_JOYSTICK_3          "/dev/js3"
33 #endif
34
35 /* get these values from the program 'js' from the joystick package, */
36 /* set JOYSTICK_PERCENT to a threshold appropriate for your joystick */
37 #define JOYSTICK_XLEFT          30
38 #define JOYSTICK_XMIDDLE        530
39 #define JOYSTICK_XRIGHT         1250
40 #define JOYSTICK_YUPPER         40
41 #define JOYSTICK_YMIDDLE        680
42 #define JOYSTICK_YLOWER         1440
43
44 #define JOYSTICK_PERCENT        25
45
46 #define JOY_LEFT                MV_LEFT
47 #define JOY_RIGHT               MV_RIGHT
48 #define JOY_UP                  MV_UP
49 #define JOY_DOWN                MV_DOWN
50 #define JOY_BUTTON_1            (1<<4)
51 #define JOY_BUTTON_2            (1<<5)
52 #define JOY_BUTTON              (JOY_BUTTON_1 | JOY_BUTTON_2)
53
54 #define JOY_BUTTON_NOT_PRESSED  0
55 #define JOY_BUTTON_PRESSED      1
56 #define JOY_BUTTON_NEW_PRESSED  2
57 #define JOY_BUTTON_NEW_RELEASED 3
58
59 #ifdef NO_JOYSTICK
60 #define JOYSTICK_STATUS         JOYSTICK_OFF
61 #else
62 #define JOYSTICK_STATUS         JOYSTICK_AVAILABLE
63 #endif
64
65
66 void CheckJoystickData(void);
67 int Joystick(int);
68 int JoystickButton(int);
69 int AnyJoystick(void);
70 int AnyJoystickButton(void);
71
72 #endif