4coder-non-source/test_data/lots_of_files/cd.h

96 lines
1.4 KiB
C

/*
* Main game interface to platform layer.
*/
// TOP
#ifndef CD_H
#define CD_H
struct Memory{
void *logical;
u32 logical_size;
void *transient;
u32 transient_size;
#ifdef DEVELOPER
void *developer;
u32 developer_size;
#endif
};
struct Key_State{
b8 down, prev_down;
};
struct Input_State{
f32 dt;
i32 mx, my;
Key_State left_button;
Key_State right_button;
Key_State *letter;
Key_State letter_[26];
Key_State number[10];
Key_State up;
Key_State down;
Key_State left;
Key_State right;
Key_State esc;
};
#ifdef DEVELOPER
#include "4tech_keycodes.h"
struct Key_Events{
char events[32];
i32 count;
};
struct Dev_File_Drop{
char name[1024];
};
struct Dev_Input_State{
Input_State input;
Key_State *fkeys;
Key_State fkeys_[12];
u32 drop_count;
Dev_File_Drop drops[128];
f32 drop_x, drop_y;
Key_Events keys;
};
#endif
struct Render_Target;
#define App_Step_Sig(n) void n( \
System_API *system, \
Memory memory, \
Render_Target *main_target, \
Render_Target *dev_target, \
struct Asset_Bank *bank, \
Input_State *input, \
Dev_Input_State *dev_input, \
i32 loop_mode)
typedef App_Step_Sig(App_Step_Function);
struct App_Functions{
App_Step_Function *step;
};
#endif
// BOTTOM