Transition to using the default config map, and pushing custom controls with SDL3G_controller_pushmaP

This commit is contained in:
2026-05-06 12:03:25 -04:00
parent 32eeaf9769
commit a118434393

View File

@@ -64,7 +64,7 @@ akerr_ErrorContext AKERR_NOIGNORE *user_breakpoint(actor *obj, SDL_Event *event)
SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
{
SDL3GControlMap *controlmap;
SDL3GControl control;
actor *actorptr = NULL;
*appstate = (void *)&game.state;
PREPARE_ERROR(errctx);
@@ -104,48 +104,22 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
strcpy((char *)&dirnamebuf, "assets/tilemap.tmj");
CATCH(errctx, tilemap_load((char *)&dirnamebuf, (tilemap *)&gamemap));
// set up the control map
controlmap = &GAME_ControlMaps[0];
controlmap->kbid = 0;
controlmap->target = SDL_GetPointerProperty(REGISTRY_ACTOR, "player", NULL);
// Move down
controlmap->controls[0].key = SDLK_DOWN;
controlmap->controls[0].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[0].event_off = SDL_EVENT_KEY_UP;
controlmap->controls[0].handler_on = &SDL3GActor_cmhf_down_on;
controlmap->controls[0].handler_off = &SDL3GActor_cmhf_down_off;
// Move up
controlmap->controls[1].key = SDLK_UP;
controlmap->controls[1].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[1].event_off = SDL_EVENT_KEY_UP;
controlmap->controls[1].handler_on = &SDL3GActor_cmhf_up_on;
controlmap->controls[1].handler_off = &SDL3GActor_cmhf_up_off;
CATCH(errctx, SDL3G_controller_default(0, "player", 0, 0));
// Move left
controlmap->controls[2].key = SDLK_LEFT;
controlmap->controls[2].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[2].event_off = SDL_EVENT_KEY_UP;
controlmap->controls[2].handler_on = &SDL3GActor_cmhf_left_on;
controlmap->controls[2].handler_off = &SDL3GActor_cmhf_left_off;
// Move right
controlmap->controls[3].key = SDLK_RIGHT;
controlmap->controls[3].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[3].event_off = SDL_EVENT_KEY_UP;
controlmap->controls[3].handler_on = &SDL3GActor_cmhf_right_on;
controlmap->controls[3].handler_off = &SDL3GActor_cmhf_right_off;
// set custom control maps */
memset((void *)&control, 0x00, sizeof(SDL3GControl));
// Breakpoint
controlmap->controls[4].key = SDLK_ESCAPE;
controlmap->controls[4].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[4].handler_on = &user_breakpoint;
control.key = SDLK_ESCAPE;
control.event_on = SDL_EVENT_KEY_DOWN;
control.handler_on = &user_breakpoint;
CATCH(errctx, SDL3G_controller_pushmap(0, &control));
// Toggle the music
controlmap->controls[5].key = SDLK_M;
controlmap->controls[5].event_on = SDL_EVENT_KEY_DOWN;
controlmap->controls[5].handler_on = &music_toggle;
control.key = SDLK_M;
control.event_on = SDL_EVENT_KEY_DOWN;
control.handler_on = &music_toggle;
CATCH(errctx, SDL3G_controller_pushmap(0, &control));
CATCH(errctx, text_loadFont("C64Pro", "assets/C64_Pro-STYLE.ttf", 18));