typedef struct ent_region ent_region;
typedef struct ent_list ent_list;
typedef struct ent_glider ent_glider;
+typedef struct ent_npc ent_npc;
enum entity_alias{
k_ent_none = 0,
k_ent_prop = 23,
k_ent_list = 24,
k_ent_region = 25,
- k_ent_glider = 26
+ k_ent_glider = 26,
+ k_ent_npc = 27
};
static inline u32 mdl_entity_id_type( u32 entity_id )
};
struct volume_trigger{
- u32 event, event_leave;
+ i32 event, event_leave;
};
enum ent_volume_flag {
flags,
id_next,
filter,filter2,
- id_win,
- win_event;
+ id_win;
+ i32 win_event;
f32 time_limit;
};
mdl_transform transform;
u32 pstr_alias,
flags,
- target,
- target_event,
- reset,
- reset_event,
- first,
+ target;
+ i32 target_event;
+ u32 reset;
+ i32 reset_event;
+ u32 first,
camera,
status;
};
struct ent_relay {
u32 targets[4][2];
- u32 targets_events[4];
+ i32 targets_events[4];
};
struct ent_cubemap {
typedef struct ent_call ent_call;
struct ent_call{
- u32 id, function;
+ u32 id;
+ i32 function;
void *data;
};
f32 cooldown;
};
+struct ent_npc
+{
+ mdl_transform transform;
+ u32 id, context, camera;
+};
+
#include "world.h"
void entity_call( world_instance *world, ent_call *call );