#ifndef GAME_H # define GAME_H #include "../engine/allocator/allocator.h" #include "../engine/thread/thread.h" #include "../engine/render/render.h" #include "../engine/audio/audio.h" #include #include #include #include // #define RLIGHTS_IMPLEMENTATION // // #include // Deferred mode passes typedef enum { DEFERRED_POSITION, DEFERRED_NORMAL, DEFERRED_ALBEDO, DEFERRED_ZBUFFER, DEFERRED_SHADING } deferred_mode_enum; typedef enum { SHADER_GBUFFER, SHADER_DEFERRED, SHADER_SKYBOX, SHADER_VOXEL, SHADER_SOBEL, SHADER_PBR } shader_type_enum; typedef enum { TEXTURE_GUI_BUTTON, } texture_name_enum; // typedef enum { // , // } music_name_enum; typedef enum { SOUND_DUMMY1, SOUND_ITEM_FOUND, SOUND_DUMMY2, SOUND_MENU_CLICK1, SOUND_MENU_CLICK2, SOUND_MENU_CLICK3 } sound_name_enum; #define MAX_SHADER 6 Shader *game_shader_load(void); void game_shader_unload(Shader *shader); void scene_render(const Model skybox, Camera3D *camera, const gbuffer_t gbuffer, const Shader shader[MAX_SHADER], int deferred_mode); void game_loading_screen(void); /* game menu */ void game_menu_start_init(void); int game_menu_start_update(); void game_menu_start_render(Texture2D *texture, Font font); void game_menu_start_clear(void); #endif