Transition to rendering backend layer

This commit is contained in:
2026-05-24 22:03:12 -04:00
parent 17dea2546a
commit f7e61cf59b
2 changed files with 22 additions and 26 deletions

2
deps/libakgl vendored

View File

@@ -215,7 +215,7 @@ SDL_AppResult SDL_AppInit(void **appstate, int argc, char *argv[])
//CATCH(errctx, akgl_game_load("assets/savegame.bin")); //CATCH(errctx, akgl_game_load("assets/savegame.bin"));
CATCH(errctx, akgl_game_init()); CATCH(errctx, akgl_game_init());
CATCH(errctx, akgl_registry_load_properties("assets/properties.json")); CATCH(errctx, akgl_registry_load_properties("assets/properties.json"));
CATCH(errctx, akgl_game_init_screen()); CATCH(errctx, akgl_render_init2d(&renderer));
CATCH(errctx, akgl_controller_list_keyboards()); CATCH(errctx, akgl_controller_list_keyboards());
CATCH(errctx, akgltest_load_assets()); CATCH(errctx, akgltest_load_assets());
@@ -377,8 +377,9 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_mapmenu(void)
akgl_Actor *menupointer = NULL; akgl_Actor *menupointer = NULL;
PREPARE_ERROR(e); PREPARE_ERROR(e);
ATTEMPT { ATTEMPT {
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); CATCH(e, renderer.frame_start(&renderer))
SDL_RenderClear(renderer); SDL_SetRenderDrawColor(renderer.sdl_renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer.sdl_renderer);
PASS(e, akgl_text_rendertextat( PASS(e, akgl_text_rendertextat(
SDL_GetPointerProperty( SDL_GetPointerProperty(
AKGL_REGISTRY_FONT, AKGL_REGISTRY_FONT,
@@ -417,12 +418,12 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_mapmenu(void)
menupointer->visible = true; menupointer->visible = true;
CATCH(e, menupointer->updatefunc(menupointer)); CATCH(e, menupointer->updatefunc(menupointer));
CATCH(e, menupointer->movementlogicfunc(menupointer, 0)); CATCH(e, menupointer->movementlogicfunc(menupointer, 0));
CATCH(e, menupointer->renderfunc(menupointer, renderer)); CATCH(e, menupointer->renderfunc(menupointer));
CATCH(e, renderer.frame_end(&renderer))
} CLEANUP { } CLEANUP {
SDL_RenderPresent(renderer);
} PROCESS(e) { } PROCESS(e) {
} FINISH(e, true); } FINISH(e, true);
SUCCEED_RETURN(e); SUCCEED_RETURN(e);
} }
@@ -433,23 +434,18 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_waitforinput(void)
akgl_game_updateFPS(); akgl_game_updateFPS();
ATTEMPT { PASS(errctx, akgl_text_rendertextat(
PASS(errctx, akgl_text_rendertextat( SDL_GetPointerProperty(
SDL_GetPointerProperty( AKGL_REGISTRY_FONT,
AKGL_REGISTRY_FONT, "C64Pro",
"C64Pro", NULL),
NULL), "PRESS ANY KEY OR JOYSTICK BUTTON",
"PRESS ANY KEY OR JOYSTICK BUTTON", (SDL_Color){255, 255, 255, 255},
(SDL_Color){255, 255, 255, 255}, 0,
0, 40,
40, 120)
120) );
); PASS(errctx, renderer.frame_end(&renderer));
} CLEANUP {
SDL_RenderPresent(renderer);
} PROCESS(errctx) {
} HANDLE_DEFAULT(errctx) {
} FINISH(errctx, true);
SUCCEED_RETURN(errctx); SUCCEED_RETURN(errctx);
} }
@@ -471,7 +467,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_running(void)
for ( i = 0; i < AKGL_TILEMAP_MAX_LAYERS; i++ ) { for ( i = 0; i < AKGL_TILEMAP_MAX_LAYERS; i++ ) {
opflags.layerid = i; opflags.layerid = i;
PASS(errctx, akgl_tilemap_draw(renderer, (akgl_Tilemap *)&gamemap, &camera, i)); PASS(errctx, akgl_tilemap_draw((akgl_Tilemap *)&gamemap, &camera, i));
SDL_EnumerateProperties(AKGL_REGISTRY_ACTOR, &akgl_registry_iterate_actor, (void *)&opflags); SDL_EnumerateProperties(AKGL_REGISTRY_ACTOR, &akgl_registry_iterate_actor, (void *)&opflags);
} }
ATTEMPT { ATTEMPT {
@@ -489,7 +485,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_running(void)
10) 10)
); );
} CLEANUP { } CLEANUP {
SDL_RenderPresent(renderer); SDL_RenderPresent(renderer.sdl_renderer);
} PROCESS(errctx) { } PROCESS(errctx) {
} HANDLE_DEFAULT(errctx) { } HANDLE_DEFAULT(errctx) {
} FINISH(errctx, true); } FINISH(errctx, true);