2025-10-04 17:24:30 +01:00
|
|
|
#if !defined(LD_GAME_CORE_H_)
|
|
|
|
|
#define LD_GAME_CORE_H_
|
2025-10-05 15:21:23 +01:00
|
|
|
#include "world.h"
|
2025-10-04 17:24:30 +01:00
|
|
|
|
2025-10-05 02:40:59 +01:00
|
|
|
typedef struct G_Camera G_Camera;
|
|
|
|
|
struct G_Camera {
|
|
|
|
|
V3f x, y, z;
|
|
|
|
|
V3f p;
|
|
|
|
|
|
|
|
|
|
F32 fov;
|
|
|
|
|
F32 nearp, farp;
|
|
|
|
|
|
|
|
|
|
Mat4x4FInv proj;
|
|
|
|
|
};
|
|
|
|
|
|
2025-10-04 21:42:04 +01:00
|
|
|
typedef struct G_State G_State;
|
|
|
|
|
struct G_State {
|
|
|
|
|
M_Arena *arena;
|
|
|
|
|
|
2025-10-05 14:27:05 +01:00
|
|
|
D_Context draw;
|
2025-10-05 02:40:59 +01:00
|
|
|
G_Camera camera;
|
2025-10-05 15:21:23 +01:00
|
|
|
|
|
|
|
|
World *world;
|
2025-10-04 17:24:30 +01:00
|
|
|
};
|
|
|
|
|
|
2025-10-04 21:42:04 +01:00
|
|
|
function void G_ImagesLoad(G_State *game);
|
|
|
|
|
function void G_PipelinesLoad(G_State *game);
|
2025-10-04 17:24:30 +01:00
|
|
|
|
2025-10-05 02:40:59 +01:00
|
|
|
function void G_CalulateCamera(G_Camera *camera, F32 aspect);
|
|
|
|
|
|
2025-10-04 21:58:14 +01:00
|
|
|
#include "aabb.h"
|
|
|
|
|
#include "player.h"
|
|
|
|
|
#include "nav.h"
|
|
|
|
|
#include "npc.h"
|
|
|
|
|
|
2025-10-04 17:24:30 +01:00
|
|
|
#endif // LD_GAME_CORE_H_
|