projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change list_size to ARRAY_LEN
[carveJwlIkooP6JGAAIwe30JlM.git]
/
entity.h
diff --git
a/entity.h
b/entity.h
index 105f4496c78b2469d95e2b10c5959f52e6fe5e18..6d503f9b9f334728bbd895033939fcbcfadb3c57 100644
(file)
--- a/
entity.h
+++ b/
entity.h
@@
-1,7
+1,7
@@
#pragma once
#include "vg/vg_audio.h"
#pragma once
#include "vg/vg_audio.h"
-#include "vg/vg_imgui.h"
+#include "vg/vg_
ui/
imgui.h"
#include "model.h"
typedef struct ent_spawn ent_spawn;
#include "model.h"
typedef struct ent_spawn ent_spawn;
@@
-69,6
+69,15
@@
enum entity_alias{
k_ent_npc = 27
};
k_ent_npc = 27
};
+typedef struct ent_call ent_call;
+typedef enum entity_call_result entity_call_result;
+enum entity_call_result
+{
+ k_entity_call_result_OK,
+ k_entity_call_result_unhandled,
+ k_entity_call_result_invalid
+};
+
static inline u32 mdl_entity_id_type( u32 entity_id )
{
return (entity_id & 0x0fff0000) >> 16;
static inline u32 mdl_entity_id_type( u32 entity_id )
{
return (entity_id & 0x0fff0000) >> 16;
@@
-243,7
+252,7
@@
struct volume_particles{
};
struct volume_trigger{
};
struct volume_trigger{
-
u
32 event, event_leave;
+
i
32 event, event_leave;
};
enum ent_volume_flag {
};
enum ent_volume_flag {
@@
-494,8
+503,8
@@
struct ent_objective{
flags,
id_next,
filter,filter2,
flags,
id_next,
filter,filter2,
- id_win
,
-
win_event;
+ id_win
;
+
i32
win_event;
f32 time_limit;
};
f32 time_limit;
};
@@
-507,18
+516,18
@@
struct ent_challenge{
mdl_transform transform;
u32 pstr_alias,
flags,
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];
camera,
status;
};
struct ent_relay {
u32 targets[4][2];
-
u
32 targets_events[4];
+
i
32 targets_events[4];
};
struct ent_cubemap {
};
struct ent_cubemap {
@@
-527,12
+536,6
@@
struct ent_cubemap {
framebuffer_id, renderbuffer_id, placeholder[2];
};
framebuffer_id, renderbuffer_id, placeholder[2];
};
-typedef struct ent_call ent_call;
-struct ent_call{
- u32 id, function;
- void *data;
-};
-
struct ent_miniworld {
mdl_transform transform;
u32 pstr_world;
struct ent_miniworld {
mdl_transform transform;
u32 pstr_world;
@@
-562,8
+565,18
@@
struct ent_glider {
struct ent_npc
{
mdl_transform transform;
struct ent_npc
{
mdl_transform transform;
- u32 id, context;
+ u32 id, context
, camera
;
};
#include "world.h"
};
#include "world.h"
+
+struct ent_call{
+ u32 id;
+ i32 function;
+ void *data;
+};
+
+typedef enum entity_call_result
+ (*fn_entity_call_handler)( world_instance *, ent_call *);
+
void entity_call( world_instance *world, ent_call *call );
void entity_call( world_instance *world, ent_call *call );