#include "../../../include/asset_mgr.hpp" #include "../../../include/shared.hpp" #include "include/GTE_Sprite.hpp" #include #include namespace GTETest { using namespace JabyEngine; using namespace GTETest; static auto doener_fish = GTE_Sprite::create(Make::POLY_FT4( Make::AreaI16(Make::PositionI16(0, 0), Assets::Main::DoenerFishInfo.size), Assets::Main::DoenerFishInfo.tim.get_page_offset_clut4(), Make::TPage(Assets::Main::DoenerFishInfo.tim.get_texture_position(), GPU::SemiTransparency::B_add_F, GPU::TextureColorMode::clut4), Make::PageClut(Assets::Main::DoenerFishInfo.tim.get_clut_position()), GPU::Color24::Grey() )); static auto rotation = 0_DEG; static void setup() { Shared::back_menu.reset(); GTE::set_geom_offset(0, 0); GTE::set_geom_screen(512); } static bool update_or_exit() { Periphery::query_controller(); if(Shared::back_menu.update(Make::PositionI16(0, GPU::Display::Height - 32))) { return true; } auto matrix = GTE::MATRIX::rotation(0, rotation, rotation); matrix.trans[0] = (Assets::Main::DoenerFishInfo.size.width/2); matrix.trans[1] = (Assets::Main::DoenerFishInfo.size.height/2); doener_fish.apply(matrix); rotation += 5_DEG; return false; } static void render() { doener_fish.render(); Shared::back_menu.render(); } void main() { setup(); while(true) { if(update_or_exit()) { break; } GPU::swap_buffers_vsync(1); render(); } } }