Skip to content

Commit 6c872b8

Browse files
committed
Add gamepad support, initial commit.
1 parent 2bc1b78 commit 6c872b8

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/core.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,6 +538,7 @@ bool handle_events(SDL_Renderer* renderer, SDL_Event* event)
538538
{
539539
return false;
540540
}
541+
case SDL_EVENT_GAMEPAD_BUTTON_DOWN:
541542
case SDL_EVENT_KEY_DOWN:
542543
{
543544
if (state == STATE_MENU)
@@ -570,6 +571,20 @@ bool handle_events(SDL_Renderer* renderer, SDL_Event* event)
570571
case SDLK_HASH: // Show FPS on the N-Gage.
571572
render_cartridge(renderer);
572573
}
574+
switch (event->button.button)
575+
{
576+
case SDL_BUTTON_LEFT:
577+
select_prev_cartridge(renderer);
578+
render_cartridge(renderer);
579+
return true;
580+
case SDL_BUTTON_RIGHT:
581+
select_next_cartridge(renderer);
582+
render_cartridge(renderer);
583+
return true;
584+
case SDL_BUTTON_X1:
585+
run_cartridge(renderer);
586+
return true;
587+
}
573588
}
574589
else if (state == STATE_EMULATOR)
575590
{
@@ -586,6 +601,15 @@ bool handle_events(SDL_Renderer* renderer, SDL_Event* event)
586601
state = STATE_MENU;
587602
return true;
588603
}
604+
switch (event->button.button)
605+
{
606+
case SDL_BUTTON_X2:
607+
destroy_vm();
608+
init_vm(renderer);
609+
reset_memory();
610+
state = STATE_MENU;
611+
return true;
612+
}
589613
}
590614
break;
591615
}

0 commit comments

Comments
 (0)