diff --git a/deps/libakgl b/deps/libakgl index 8f61339..6314ad7 160000 --- a/deps/libakgl +++ b/deps/libakgl @@ -1 +1 @@ -Subproject commit 8f613397d6013578f9a1e9421edb952e1a3aa034 +Subproject commit 6314ad7f26595b2d2c2af77fc2237166a926d7f8 diff --git a/src/akgltest.c b/src/akgltest.c index 007e049..23fccc1 100644 --- a/src/akgltest.c +++ b/src/akgltest.c @@ -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_init()); 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, akgltest_load_assets()); @@ -377,8 +377,9 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_mapmenu(void) akgl_Actor *menupointer = NULL; PREPARE_ERROR(e); ATTEMPT { - SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); - SDL_RenderClear(renderer); + CATCH(e, renderer.frame_start(&renderer)) + SDL_SetRenderDrawColor(renderer.sdl_renderer, 0, 0, 0, 255); + SDL_RenderClear(renderer.sdl_renderer); PASS(e, akgl_text_rendertextat( SDL_GetPointerProperty( AKGL_REGISTRY_FONT, @@ -417,12 +418,12 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_mapmenu(void) menupointer->visible = true; CATCH(e, menupointer->updatefunc(menupointer)); CATCH(e, menupointer->movementlogicfunc(menupointer, 0)); - CATCH(e, menupointer->renderfunc(menupointer, renderer)); + CATCH(e, menupointer->renderfunc(menupointer)); + CATCH(e, renderer.frame_end(&renderer)) } CLEANUP { - SDL_RenderPresent(renderer); } PROCESS(e) { } FINISH(e, true); - + SUCCEED_RETURN(e); } @@ -433,23 +434,18 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_waitforinput(void) akgl_game_updateFPS(); - ATTEMPT { - PASS(errctx, akgl_text_rendertextat( - SDL_GetPointerProperty( - AKGL_REGISTRY_FONT, - "C64Pro", - NULL), - "PRESS ANY KEY OR JOYSTICK BUTTON", - (SDL_Color){255, 255, 255, 255}, - 0, - 40, - 120) - ); - } CLEANUP { - SDL_RenderPresent(renderer); - } PROCESS(errctx) { - } HANDLE_DEFAULT(errctx) { - } FINISH(errctx, true); + PASS(errctx, akgl_text_rendertextat( + SDL_GetPointerProperty( + AKGL_REGISTRY_FONT, + "C64Pro", + NULL), + "PRESS ANY KEY OR JOYSTICK BUTTON", + (SDL_Color){255, 255, 255, 255}, + 0, + 40, + 120) + ); + PASS(errctx, renderer.frame_end(&renderer)); SUCCEED_RETURN(errctx); } @@ -471,7 +467,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_running(void) for ( i = 0; i < AKGL_TILEMAP_MAX_LAYERS; 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); } ATTEMPT { @@ -489,7 +485,7 @@ akerr_ErrorContext AKERR_NOIGNORE *akgltest_iterate_running(void) 10) ); } CLEANUP { - SDL_RenderPresent(renderer); + SDL_RenderPresent(renderer.sdl_renderer); } PROCESS(errctx) { } HANDLE_DEFAULT(errctx) { } FINISH(errctx, true);