#include "asset.h" #include "config.h" #include "maths.h" #include "memory.h" #include "plat.h" #include "rect.h" #include "render.h" #include "world.h" int entrypoint(int argc, const char** argv, Arena* m) { Heap h; App* a; FPS f; Renderer r; World* world; (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); world = arena_alloc(m, sizeof world); init_world(world); generate_floor(&world->map, 0); inst_enemy(world, enemy_demon, 100 << fbits, 100 << fbits); inst_enemy(world, enemy_demon, 200 << fbits, 100 << fbits); while (a->o) { fps_begin(&f); while (f.now >= f.next && a->o) { app_begin(a); update_world(world, a); ren_begin(&r, a->fb, viewport_w, viewport_h); ren_clear(&r); ren_world(world, &r); ren_end(&r); app_end(a); fps_update(&f); } fps_end(&f); } deinit_audio(); deinit_app(a); return error_none; }