/** * Copyright (c) 2024 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "frame.h" #include "game/game.h" #include "display/draw/drawshape.h" #include "display/draw/drawtext.h" #include "display/draw/drawstateoverworld.h" #include "display/draw/drawstatemainmenu.h" #include "display/draw/drawbattle.h" char_t FRAME_BUFFER[FRAME_HEIGHT * FRAME_WIDTH]; uint8_t FRAME_COLOR[FRAME_HEIGHT * FRAME_WIDTH]; void frameInit() { drawClear(' ', COLOR_BLACK); } void frameUpdate() { switch(GAME.state) { case GAME_STATE_PAUSED: const char_t *str = "PAUSED"; size_t len = strlen(str); drawText( str, -1, (FRAME_WIDTH - len) / 2, (FRAME_HEIGHT - 1) / 2, COLOR_WHITE ); break; case GAME_STATE_OVERWORLD: drawStateOverworld(); break; case GAME_STATE_MAIN_MENU: drawStateMainMenu(); break; case GAME_STATE_BATTLE: drawBattle(); break; default: printf("Rendering unknown game state: %d\n", GAME.state); break; } }