#ifndef GAME_H #define GAME_H #include "tomcat/renderer/camera.h" #include "player.h" #include "tomcat/terrain.h" #include "tomcat/math/vector.h" #include "tomcat/math/matrix4x4.h" #include "tomcat/input.h" #include "tomcat/util/util.h" #include "tomcat/util/util_time.h" #include "tomcat/renderer/renderer_types.h" #include "tomcat/renderer/window.h" typedef enum { MENU, RUNNING, EXIT }GameState; #define NUM_ENTITIES 1 #define WINDOW_WIDTH 1024 #define WINDOW_HEIGHT 768 #define WINDOW_ASPECT_RATIO (float)WINDOW_WIDTH / (float)WINDOW_HEIGHT typedef struct _Game { GameState gameState; Shader *shaderProgram, *terrainProgram, *skyboxProgram, *particlesProgram; Entity ents[NUM_ENTITIES]; Texture *normalMap[2]; Texture *defaultNormalMap; Terrain *terrain; Skybox sky; Player player; Camera *camera; Window *window; ParticleSystem *s; } Game; extern void LoadResources(Game *game); extern void Draw(Game *game); extern void ProcessInput(Game *game); extern void CleanUp(Game *game); #endif // GAME_H