#ifndef plat_h #define plat_h #include "error.h" #include "memory.h" #include "render.h" #ifdef assert #undef assert #endif #define assert(expr) \ imp_assert( \ expr, \ #expr, \ __FILE__, \ __LINE__ \ ) int imp_assert( int val, const char* expr, const char* file, int line ); void print(const char* fmt, ...); void print_err(const char* fmt, ...); void print_war(const char* fmt, ...); void pbreak(Error code); typedef struct { int mpf; int fps; unsigned long pt, ct; unsigned long now, next; } FPS; void init_fps(FPS* f, int mpf); void fps_begin(FPS* f); void fps_end(FPS* f); void fps_update(FPS* f); typedef struct { int w, h, s, o, mpf; int fps; int mx, my; Error err; Colour* fb; Heap* heap; } App; App* new_app(Heap* mem, int w, int h, const char* n); void deinit_app(App* a); void app_begin(App* a); void app_end(App* a); #endif