1 // jssuper.cxx -- manage access to multiple joysticks
2 //
3 // Written by Tony Peden, started May 2001
4 //
5 // Copyright (C) 2001  Tony Peden (apeden@earthlink.net)
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License as
9 // published by the Free Software Foundation; either version 2 of the
10 // License, or (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 // General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20 
21 
22 #include "jssuper.h"
23 
24 
jsSuper(void)25 jsSuper::jsSuper(void) {
26   int i;
27 
28   activeJoysticks=0;
29   currentJoystick=0;
30   first=-1;
31   last=0;
32   for ( i = 0; i < MAX_JOYSTICKS; i++ )
33       js[i] = new jsJoystick( i );
34 
35   for ( i = 0; i < MAX_JOYSTICKS; i++ )
36   {
37     active[i] = ! ( js[i]->notWorking () );
38     if ( active[i] ) {
39          activeJoysticks++;
40          if(first < 0) {
41             first=i;
42          }
43          last=i;
44     }
45   }
46 
47 }
48 
49 
nextJoystick(void)50 int jsSuper::nextJoystick(void) {
51   // int i;
52   if(!activeJoysticks) return 0;
53   if(currentJoystick == last ) return 0;
54   currentJoystick++;
55   while(!active[currentJoystick]){ currentJoystick++; };
56   return 1;
57 }
58 
prevJoystick(void)59 int jsSuper::prevJoystick(void) {
60   // int i;
61   if(!activeJoysticks) return 0;
62   if(currentJoystick == first ) return 0;
63   currentJoystick--;
64   while(!active[currentJoystick]){ currentJoystick--; };
65   return 1;
66 }
67 
68 
69 
70 
~jsSuper(void)71 jsSuper::~jsSuper(void) {
72   int i;
73   for ( i = 0; i < MAX_JOYSTICKS; i++ )
74       delete js[i];
75 }
76 
77 
78 
79 
80 
81