Files
ld58/code/game/core.h

44 lines
836 B
C
Raw Normal View History

#if !defined(LD_GAME_CORE_H_)
#define LD_GAME_CORE_H_
2025-10-05 15:21:23 +01:00
#include "world.h"
typedef struct G_Camera G_Camera;
struct G_Camera {
V3f x, y, z;
V3f p;
F32 fov;
F32 nearp, farp;
Mat4x4FInv proj;
};
typedef struct G_State G_State;
struct G_State {
M_Arena *arena;
D_Context draw;
G_Camera camera;
2025-10-05 15:21:23 +01:00
World *world;
};
function void G_ImagesLoad(G_State *game);
function void G_PipelinesLoad(G_State *game);
function void G_AudioLoad(G_State *game);
function void G_CalculateCamera(G_Camera *camera, F32 aspect);
// Assumes 'calculate' has been called
function V3f G_CameraUnprojectAt(G_Camera *camera, V2f clip, F32 z);
function V3f G_CameraUnproject(G_Camera *camera, V2f clip);
function R3f G_CameraBounds(G_Camera *camera);
#include "aabb.h"
#include "player.h"
#include "nav.h"
#include "npc.h"
#endif // LD_GAME_CORE_H_