MEM_DEBUG :: false; #if MEM_DEBUG { #import "Basic"()(MEMORY_DEBUGGER=true); } else { #import "Basic"; } #import "Math"; #import "Input"; #import "Hash_Table"; #import "Hash"; #import "Simple_Package_Reader"; Jaison :: #import "Jaison"; stbi :: #import "stb_image"; #load "trile.jai"; #load "rendering/rendering.jai"; #load "input/hotkeys.jai"; #load "ui/ui.jai"; #load "editor/editor.jai"; #load "time.jai"; #load "events.jai"; #load "load.jai"; #load "ray.jai"; #load "world.jai"; #if USE_SAMPLE_GAME { #load "../sample_game/game.jai"; } else { #load "../game/game.jai"; } last_frame_time : float64; delta\ _time : float64; V_MAJOR :: 0; V_MINOR :: 6; state: struct { pass_action_clear : sg_pass_action; pass_action_clear_gbuf : sg_pass_action; pass_action : sg_pass_action; dpi_scale : float; fons : *FONScontext; font_default : Ui_Font; }; Window_Info :: struct { width : s32; height : s32; title : *u8; }; get_window_info :: () -> Window_Info { return Window_Info.{ 1920, 1080, "trueno!" }; } round_pow2 :: (v: float) -> s32 { vi := (cast(u32) v) - 1; for i : 0..4 { vi |= (vi >> (1< (s32, s32) { return sapp_width(), sapp_height(); }