summaryrefslogtreecommitdiff
path: root/types.h
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-10-12 15:25:23 +0500
committerpryazha <pryadeiniv@mail.ru>2025-10-12 15:25:23 +0500
commit818f818f583881156eb279c71b1359bf2c4f3580 (patch)
tree874e8d2fdc5334bc70925aa87923791f7662ddb8 /types.h
parent3cf987880e384140bf996c37f820ddeea38bc60e (diff)
change identation, maybe will change back, add own gl functions loading, and glx example
Diffstat (limited to 'types.h')
-rw-r--r--types.h231
1 files changed, 0 insertions, 231 deletions
diff --git a/types.h b/types.h
deleted file mode 100644
index 6fd5799..0000000
--- a/types.h
+++ /dev/null
@@ -1,231 +0,0 @@
-#define WINDOW_DEPTH_TEST 0x1
-#define WINDOW_MULTISAMPLE 0x10
-
-typedef struct {
- i32 width;
- i32 height;
- const char *name;
- u32 flags;
-} prge_window_t;
-
-typedef enum {
- key_state_release = 0,
- key_state_press = 1
-} key_state_enum;
-
-typedef struct {
- key_state_enum last;
- key_state_enum state;
-} prge_key_t;
-
-typedef struct {
- v2 pos;
- v2 last;
- v2 offset;
- i32 first;
- i32 capture;
- prge_key_t left;
- prge_key_t right;
-} mouse_t;
-
-typedef struct {
- mouse_t mouse;
-
- prge_key_t move_right;
- prge_key_t move_forward;
- prge_key_t move_left;
- prge_key_t move_backward;
- prge_key_t move_up;
- prge_key_t move_down;
-
- prge_key_t jump;
- prge_key_t action_right;
- prge_key_t action_up;
- prge_key_t action_left;
- prge_key_t action_down;
- prge_key_t exit;
-
- f32 dt;
-} input_t;
-
-typedef enum {
- texture_type_r = 1,
- texture_type_rgb = 3,
- texture_type_rgba = 4
-} texture_type_enum;
-
-typedef struct {
- u32 id;
- const char *name;
- texture_type_enum type;
- i32 width;
- i32 height;
- u8 *data;
-} texture_t;
-
-#define SHADER_POSITION_LOCATION 0
-#define SHADER_NORMAL_LOCATION 1
-#define SHADER_TEXCOORDS_LOCATION 2
-
-#define SHADER_PROJECTION_MATRIX "projection"
-#define SHADER_VIEW_MATRIX "view"
-#define SHADER_MODEL_MATRIX "model"
-
-#define MAX_SHADER_LOG 512
-
-typedef struct {
- u32 id;
- char log[MAX_SHADER_LOG];
-} shader_t;
-
-typedef struct {
- v3 position;
- v3 normal;
- v2 texcoords;
-} vertex_t;
-
-#define DEFAULT_TRANSFORM (transform_t){V3_ZERO, V3_ZERO, V3_ONE}
-
-typedef struct {
- v3 position;
- v3 rotation;
- v3 scale;
-} transform_t;
-
-#define MAX_TEXTURE_PER_MESH 2
-
-typedef struct {
- transform_t transform;
-
- i32 nvertices;
- vertex_t *vertices;
-
- i32 nindices;
- u32 *indices;
-
- i32 ntextures;
- texture_t textures[MAX_TEXTURE_PER_MESH];
-
- u32 vao;
- u32 vbo;
- u32 ebo;
-} mesh_t;
-
-typedef struct {
- transform_t transform;
- i32 nmeshes;
- mesh_t *meshes;
-} model_t;
-
-#define BBOX_UNIT (bbox_t){{-0.5f, -0.5f, -0.5f}, {0.5f, 0.5f, 0.5f}}
-#define BBOX_ZERO (bbox_t){V3_ZERO, V3_ZERO}
-
-typedef struct {
- v3 start;
- v3 end;
-} bbox_t;
-
-#define ENTITY_COLLIDE (1)
-#define ENTITY_MOVE (1 << 1)
-#define ENTITY_ALPHA (1 << 2)
-
-typedef struct {
- u32 flags;
-
- model_t model;
-
- v3 position;
- v3 velocity;
- bbox_t bbox;
-} entity_t;
-
-#define MAX_ENTITIES 4
-
-typedef struct enode_t {
- i32 id;
- entity_t entity;
- struct enode_t *next;
- struct enode_t *prev;
-} enode_t;
-
-typedef struct {
- i32 count;
- enode_t nodes[MAX_ENTITIES];
- struct enode_t *first;
- struct enode_t *last;
-} elist_t;
-
-#define DEFAULT_CAMERA (camera_t){v3_ZERO, 90.0f, 0.1f, 1000.0f, V3_ZERO}
-
-typedef struct {
- v3 position;
-
- f32 fov;
-
- f32 near;
- f32 far;
-
- v3 angles;
-} camera_t;
-
-typedef struct {
- i32 channels;
- i32 freq;
- i32 bps;
-
- i32 size;
- unsigned char *data;
-
- const char *name;
-} sound_t;
-
-typedef struct sound_queue_node_t {
- sound_t *sound;
- struct sound_queue_node_t *next;
- struct sound_queue_node_t *prev;
-} sound_queue_node_t;
-
-typedef struct {
- i32 count;
- struct sound_queue_node_t *first;
- struct sound_queue_node_t *last;
-} sound_queue_t;
-
-#define ARENA_SIZE megabytes(64)
-#define FRAME_ARENA_SIZE megabytes(16)
-
-#define MAX_SOUNDS_LOADED 8
-#define MAX_SOUNDS_PLAYING 4
-
-typedef struct {
- i32 should_close;
-
- arena_t arena;
- arena_t frame_arena;
-
- input_t input;
-
- /* TODO(pryazha): Probably a bad idea to have only one window 🙃*/
- prge_window_t window;
-
- sound_t sounds[MAX_SOUNDS_LOADED];
- sound_queue_node_t sound_queue_nodes[MAX_SOUNDS_PLAYING];
- sound_queue_t sound_queue;
-
- elist_t entities;
-
- const char *dir;
-} prge_context_t;
-
-typedef enum {ui_list, ui_stack} ui_layout_enum;
-
-typedef struct {
- prge_window_t window;
- input_t input;
- shader_t shader;
- rect_t rect;
- ui_layout_enum layout;
- v2 last;
- arena_t *arena;
- f32 padding;
-} ui_t;