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

53 lines
905 B
C

/*
Game World data structures.
*/
#ifndef CD_WORLD_H
#define CD_WORLD_H
enum Entity_Type{
ET_Null,
ET_Player,
ET_Obstacle,
ET_Obstacle_Spawner,
ET_Count
};
struct Entity{
u32 type;
f32 x; // position in coordinates relative to player
f32 speed; // speed in absolute coordinates
i32 lane; // lane in absolute coordinates
f32 lane_lerp; // [-1, 1] motion to a new lane
f32 lane_lerp_dir; // -1, 0, 1 indicates current lane motion
f32 spawn_clock;
f32 second_per_spawn;
u32 seed;
u16 entity_id;
u16 hash_slot;
};
struct Entity_Hash{
u16 entity_id;
u16 entity_index;
};
struct World{
Entity_Hash hash_slots[1031];
Entity entities[512];
u16 count;
u16 kill_list[512];
u16 kill_count;
Random_Series entity_seed_generator;
u16 next_id;
};
#endif