69 lines
1.3 KiB
C
69 lines
1.3 KiB
C
#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 <raylib.h>
|
|
#include <rlgl.h>
|
|
#include <raymath.h>
|
|
#include <rcamera.h>
|
|
// #define RLIGHTS_IMPLEMENTATION
|
|
// // #include <rlights.h>
|
|
|
|
// 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
|