X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=entity.h;h=e437d3d77810f059bfc8dd22f5a488ed464df4a9;hb=49f76c732d2c4ba2f7f772656831f1855521417c;hp=490737d5322737ab15cc839270bf38e236b1f65c;hpb=4b8aac300ee193cfa12011dfe0238cfe7d7ffce7;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/entity.h b/entity.h index 490737d..e437d3d 100644 --- a/entity.h +++ b/entity.h @@ -17,6 +17,7 @@ typedef struct volume_trigger volume_trigger; typedef struct ent_volume ent_volume; typedef struct ent_audio ent_audio; typedef struct ent_index ent_index; +typedef struct ent_marker ent_marker; enum entity_alias{ k_ent_gate = 1, @@ -25,7 +26,8 @@ enum entity_alias{ k_ent_route = 4, k_ent_water = 5, k_ent_volume = 6, - k_ent_audio = 7 + k_ent_audio = 7, + k_ent_marker = 8 }; struct ent_index{ @@ -176,10 +178,41 @@ struct ent_audio{ clip_start, clip_count; float volume, crossfade; - u32 channel_behaviour, + u32 behaviour, group, probability_curve, max_channels; }; +struct ent_marker{ + mdl_transform transform; + u32 pstr_alias; +}; + +enum channel_behaviour{ + k_channel_behaviour_unlimited = 0, + k_channel_behaviour_discard_if_full = 1, + k_channel_behaviour_crossfade_if_full = 2 +}; + +enum probability_curve{ + k_probability_curve_constant = 0, + k_probability_curve_wildlife_day = 1, + k_probability_curve_wildlife_night = 2 +}; + +VG_STATIC ent_marker *ent_find_marker( mdl_context *mdl, + mdl_array_ptr *arr, const char *alias ) +{ + for( u32 i=0; ipstr_alias ), alias ) ){ + return marker; + } + } + + return NULL; +} + #endif /* ENTITY_H */