#include <SDL.h>
#include <time.h>
#include "gpu.h"
-//#include "gui.h"
#include "jaguar.h"
#include "log.h"
#include "settings.h"
-#include "video.h"
-
-#define BUTTON_U 0
-#define BUTTON_D 1
-#define BUTTON_L 2
-#define BUTTON_R 3
-#define BUTTON_s 4
-#define BUTTON_7 5
-#define BUTTON_4 6
-#define BUTTON_1 7
-#define BUTTON_0 8
-#define BUTTON_8 9
-#define BUTTON_5 10
-#define BUTTON_2 11
-#define BUTTON_d 12
-#define BUTTON_9 13
-#define BUTTON_6 14
-#define BUTTON_3 15
-
-#define BUTTON_A 16
-#define BUTTON_B 17
-#define BUTTON_C 18
-#define BUTTON_OPTION 19
-#define BUTTON_PAUSE 20
// Global vars
static uint8 joystick_ram[4];
-static uint8 joypad_0_buttons[21];
-static uint8 joypad_1_buttons[21];
+uint8 joypad_0_buttons[21];
+uint8 joypad_1_buttons[21];
bool keyBuffer[21];
+SDL_Joystick * joystick1;
+
//extern bool finished;
////extern bool showGUI;
bool GUIKeyHeld = false;
void JoystickExec(void)
{
- uint8 * keystate = SDL_GetKeyState(NULL);
+// uint8 * keystate = SDL_GetKeyState(NULL);
- memset(joypad_0_buttons, 0, 21);
- memset(joypad_1_buttons, 0, 21);
+// memset(joypad_0_buttons, 0, 21);
+// memset(joypad_1_buttons, 0, 21);
gpu_start_log = 0; // Only log while key down!
effect_start = 0;
effect_start2 = effect_start3 = effect_start4 = effect_start5 = effect_start6 = 0;
blit_start_log = 0;
iLeft = iRight = false;
+#if 0
if ((keystate[SDLK_LALT] || keystate[SDLK_RALT]) & keystate[SDLK_RETURN])
ToggleFullscreen();
joypad_0_buttons[BUTTON_B] = 0x01;
if (keystate[vjs.p1KeyBindings[6]])
joypad_0_buttons[BUTTON_A] = 0x01;
+//I may yet move these to O and P...
+ if (keystate[vjs.p1KeyBindings[7]])
+ joypad_0_buttons[BUTTON_OPTION] = 0x01;
+ if (keystate[vjs.p1KeyBindings[8]])
+ joypad_0_buttons[BUTTON_PAUSE] = 0x01;
+
+ if (keystate[vjs.p1KeyBindings[9]])
+ joypad_0_buttons[BUTTON_0] = 0x01;
+ if (keystate[vjs.p1KeyBindings[10]])
+ joypad_0_buttons[BUTTON_1] = 0x01;
+ if (keystate[vjs.p1KeyBindings[11]])
+ joypad_0_buttons[BUTTON_2] = 0x01;
+ if (keystate[vjs.p1KeyBindings[12]])
+ joypad_0_buttons[BUTTON_3] = 0x01;
+ if (keystate[vjs.p1KeyBindings[13]])
+ joypad_0_buttons[BUTTON_4] = 0x01;
+ if (keystate[vjs.p1KeyBindings[14]])
+ joypad_0_buttons[BUTTON_5] = 0x01;
+ if (keystate[vjs.p1KeyBindings[15]])
+ joypad_0_buttons[BUTTON_6] = 0x01;
+ if (keystate[vjs.p1KeyBindings[16]])
+ joypad_0_buttons[BUTTON_7] = 0x01;
+ if (keystate[vjs.p1KeyBindings[17]])
+ joypad_0_buttons[BUTTON_8] = 0x01;
+ if (keystate[vjs.p1KeyBindings[18]])
+ joypad_0_buttons[BUTTON_9] = 0x01;
+ if (keystate[vjs.p1KeyBindings[19]])
+ joypad_0_buttons[BUTTON_s] = 0x01;
+ if (keystate[vjs.p1KeyBindings[20]])
+ joypad_0_buttons[BUTTON_d] = 0x01;
#else
if (keyBuffer[0])
joypad_0_buttons[BUTTON_U] = 0x01;
joypad_0_buttons[BUTTON_B] = 0x01;
if (keyBuffer[6])
joypad_0_buttons[BUTTON_A] = 0x01;
-#endif
//I may yet move these to O and P...
- if (keystate[vjs.p1KeyBindings[7]])
+ if (keyBuffer[7])
joypad_0_buttons[BUTTON_OPTION] = 0x01;
- if (keystate[vjs.p1KeyBindings[8]])
+ if (keyBuffer[8])
joypad_0_buttons[BUTTON_PAUSE] = 0x01;
- if (keystate[vjs.p1KeyBindings[9]])
+ if (keyBuffer[9])
joypad_0_buttons[BUTTON_0] = 0x01;
- if (keystate[vjs.p1KeyBindings[10]])
+ if (keyBuffer[10])
joypad_0_buttons[BUTTON_1] = 0x01;
- if (keystate[vjs.p1KeyBindings[11]])
+ if (keyBuffer[11])
joypad_0_buttons[BUTTON_2] = 0x01;
- if (keystate[vjs.p1KeyBindings[12]])
+ if (keyBuffer[12])
joypad_0_buttons[BUTTON_3] = 0x01;
- if (keystate[vjs.p1KeyBindings[13]])
+ if (keyBuffer[13])
joypad_0_buttons[BUTTON_4] = 0x01;
- if (keystate[vjs.p1KeyBindings[14]])
+ if (keyBuffer[14])
joypad_0_buttons[BUTTON_5] = 0x01;
- if (keystate[vjs.p1KeyBindings[15]])
+ if (keyBuffer[15])
joypad_0_buttons[BUTTON_6] = 0x01;
- if (keystate[vjs.p1KeyBindings[16]])
+ if (keyBuffer[16])
joypad_0_buttons[BUTTON_7] = 0x01;
- if (keystate[vjs.p1KeyBindings[17]])
+ if (keyBuffer[17])
joypad_0_buttons[BUTTON_8] = 0x01;
- if (keystate[vjs.p1KeyBindings[18]])
+ if (keyBuffer[18])
joypad_0_buttons[BUTTON_9] = 0x01;
- if (keystate[vjs.p1KeyBindings[19]])
+ if (keyBuffer[19])
joypad_0_buttons[BUTTON_s] = 0x01;
- if (keystate[vjs.p1KeyBindings[20]])
+ if (keyBuffer[20])
joypad_0_buttons[BUTTON_d] = 0x01;
+#endif
#warning "!!! FIX !!! (debounceRunKey)"
// extern bool debounceRunKey;
}
else
bssHeld = false;
+#endif
+ // We need to ensure that illegal combinations are not possible.
+ // So, we do a simple minded way here...
+ // It would be better to check to see which one was pressed last
+ // and discard that one, but for now...
+//This didn't work... Was still able to do bad combination.
+//It's because the GUI is changing this *after* we fix it here.
+#if 0
+ if (joypad_0_buttons[BUTTON_R] && joypad_0_buttons[BUTTON_L])
+ joypad_0_buttons[BUTTON_L] = 0;
+
+ if (joypad_0_buttons[BUTTON_U] && joypad_0_buttons[BUTTON_D])
+ joypad_0_buttons[BUTTON_D] = 0;
+#endif
// Joystick support [nwagenaar]