mirror of
https://gitlab.com/drummyfish/anarch.git
synced 2025-01-30 23:00:16 -05:00
Use wheel
This commit is contained in:
parent
1e06f59586
commit
56858fa41b
@ -36,6 +36,8 @@
|
|||||||
#define SFG_BACKGROUND_BLUR 1
|
#define SFG_BACKGROUND_BLUR 1
|
||||||
|
|
||||||
const uint8_t *sdlKeyboardState;
|
const uint8_t *sdlKeyboardState;
|
||||||
|
uint8_t sdlMouseButtonState = 0;
|
||||||
|
int8_t sdlMouseWheelState = 0;
|
||||||
|
|
||||||
uint16_t screen[SFG_SCREEN_RESOLUTION_X * SFG_SCREEN_RESOLUTION_Y]; // RGB565 format
|
uint16_t screen[SFG_SCREEN_RESOLUTION_X * SFG_SCREEN_RESOLUTION_Y]; // RGB565 format
|
||||||
|
|
||||||
@ -108,7 +110,7 @@ int8_t SFG_keyPressed(uint8_t key)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_B:
|
case SFG_KEY_B:
|
||||||
return sdlKeyboardState[SDL_SCANCODE_H] || SDL_GetMouseState(0,0);
|
return sdlKeyboardState[SDL_SCANCODE_H] || (sdlMouseButtonState & SDL_BUTTON_LMASK);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_C:
|
case SFG_KEY_C:
|
||||||
@ -134,15 +136,27 @@ int8_t SFG_keyPressed(uint8_t key)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_TOGGLE_FREELOOK:
|
case SFG_KEY_TOGGLE_FREELOOK:
|
||||||
return sdlKeyboardState[SDL_SCANCODE_T];
|
return sdlMouseButtonState & SDL_BUTTON_RMASK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_NEXT_WEAPON:
|
case SFG_KEY_NEXT_WEAPON:
|
||||||
return sdlKeyboardState[SDL_SCANCODE_M];
|
if (sdlMouseWheelState > 0)
|
||||||
|
{
|
||||||
|
sdlMouseWheelState--;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_PREVIOUS_WEAPON:
|
case SFG_KEY_PREVIOUS_WEAPON:
|
||||||
return sdlKeyboardState[SDL_SCANCODE_N];
|
if (sdlMouseWheelState < 0)
|
||||||
|
{
|
||||||
|
sdlMouseWheelState++;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SFG_KEY_MENU:
|
case SFG_KEY_MENU:
|
||||||
@ -157,7 +171,20 @@ int running;
|
|||||||
|
|
||||||
void mainLoopIteration()
|
void mainLoopIteration()
|
||||||
{
|
{
|
||||||
SDL_PumpEvents(); // updates the keyboard state
|
SDL_Event event;
|
||||||
|
|
||||||
|
while (SDL_PollEvent(&event)) // also automatically updates sdlKeyboardState
|
||||||
|
{
|
||||||
|
if(event.type == SDL_MOUSEWHEEL)
|
||||||
|
{
|
||||||
|
if (event.wheel.y > 0) // scroll up
|
||||||
|
sdlMouseWheelState++;
|
||||||
|
else if (event.wheel.y < 0) // scroll down
|
||||||
|
sdlMouseWheelState--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sdlMouseButtonState = SDL_GetMouseState(NULL,NULL);
|
||||||
|
|
||||||
if (sdlKeyboardState[SDL_SCANCODE_ESCAPE])
|
if (sdlKeyboardState[SDL_SCANCODE_ESCAPE])
|
||||||
running = 0;
|
running = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user