6 typedef struct ent_spawn ent_spawn
;
7 typedef struct ent_light ent_light
;
8 typedef struct ent_gate ent_gate
;
9 typedef struct ent_route_node ent_route_node
;
10 typedef struct ent_path_index ent_path_index
;
11 typedef struct ent_checkpoint ent_checkpoint
;
12 typedef struct ent_route ent_route
;
13 typedef struct ent_water ent_water
;
14 typedef struct ent_audio_clip ent_audio_clip
;
15 typedef struct volume_particles volume_particles
;
16 typedef struct volume_trigger volume_trigger
;
17 typedef struct ent_volume ent_volume
;
18 typedef struct ent_audio ent_audio
;
19 typedef struct ent_index ent_index
;
37 k_ent_function_trigger
,
38 k_ent_function_particle_spawn
42 mdl_transform transform
;
47 k_light_type_point
= 0,
52 mdl_transform transform
;
65 k_gate_type_unlinked
= 0,
66 k_gate_type_teleport
= 1,
67 k_gate_type_nonlocal
= 2
74 /* TODO: World index */
82 m4x3f to_world
, transport
;
88 u8 ref_count
, ref_total
;
93 u16 routes
[4]; /* routes that pass through this gate */
96 struct ent_route_node
{
98 u8 ref_count
, ref_total
;
101 struct ent_path_index
{
105 struct ent_checkpoint
{
114 mdl_transform transform
;
115 u32 official_track_id
;
119 u16 checkpoints_start
,
125 u32 active_checkpoint
;
127 m4x3f board_transform
;
133 mdl_transform transform
;
135 u32 reserved0
, reserved1
;
138 struct ent_audio_clip
{
147 struct volume_particles
{
151 struct volume_trigger
{
156 k_volume_subtype_trigger
,
157 k_volume_subtype_particle
161 mdl_transform transform
;
162 m4x3f to_world
, to_local
;
168 volume_trigger trigger
;
169 volume_particles particles
;
174 mdl_transform transform
;
178 float volume
, crossfade
;
185 enum channel_behaviour
{
186 k_channel_behaviour_unlimited
= 0,
187 k_channel_behaviour_discard_if_full
= 1,
188 k_channel_behaviour_crossfade_if_full
= 2
191 enum probability_curve
{
192 k_probability_curve_constant
= 0,
193 k_probability_curve_wildlife_day
= 1,
194 k_probability_curve_wildlife_night
= 2
197 #endif /* ENTITY_H */