#include "asset.h" #include "config.h" #include "maths.h" #include "memory.h" #include "plat.h" #include "rect.h" #include "render.h" int entrypoint(int argc, const char** argv, Arena* m) { Heap h; App* a; FPS f; Renderer r; Rect rect = { 0, 0, 32, 32 }; Rect rect2 = { 0, 0, 8, 8 }; int x = 0, y = 0; (void)argc; (void)argv; init_maths(); init_heap( &h, arena_alloc(m, app_memory_size), app_memory_size ); a = new_app(&h, game_name); init_audio(); init_fps(&f, default_mpf); while (a->o) { fps_begin(&f); while (f.now >= f.next && a->o) { app_begin(a); ren_begin(&r, a->fb, viewport_w, viewport_h); ren_clear(&r); if (a->btn_states[btn_left] & btn_state_pressed) x--; if (a->btn_states[btn_right] & btn_state_pressed) x++; if (a->btn_states[btn_up] & btn_state_pressed) y--; if (a->btn_states[btn_down] & btn_state_pressed) y++; if (a->btn_states[btn_shoot] & btn_state_just_pressed) play_sound(30); ren_text(&r, 30, 60, "Hello"); ren_map(&r, 10, 5, &rect, get_bitmap(asset_id_hello_img)); ren_map(&r, x, y, &rect2, get_bitmap(asset_id_guy_img)); ren_end(&r); app_end(a); fps_update(&f); } fps_end(&f); } deinit_audio(); deinit_app(a); return error_none; }