#ifndef STATE_TITLESCREEN_H #define STATE_TITLESCREEN_H #include #include #include #include #include #define CGLM_FORCE_DEPTH_ZERO_TO_ONE 1 #include #include struct assimp_mesh { usize vertices_len; usize indices_len; usize normals_len; f32* vertices; u32* indices; f32* normals; }; struct object_physics { vec3 pos; vec3 vel; vec3 acc; }; struct entity_info { struct object_physics p; // i16 health // .. etc }; typedef struct mainstate_state { /* Resources */ Shader shaders[10]; struct assimp_mesh meshes[2]; RenderBatch terrain; RenderObject objects[10]; u32 world[WORLD_SIZE * CHUNK_SIZE]; i_ctx input_ctx; binding_t input_bindings[14]; vec3 cam_dir; f32 cam_dir_dt; vec3 cam_pos; vec3 cam_speed; vec3 cam_acc; Camera c; f64 fov; Resources resources; f64 height; struct entity_info player; } mainstate_state; #endif