projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gameserver optimisations
[carveJwlIkooP6JGAAIwe30JlM.git]
/
entity.h
diff --git
a/entity.h
b/entity.h
index ce9424ab1f9ed46de28a4f76dbdc3f8aa9369c01..c3b6694b23c3a3ef329306ea1e0c2799ca2ca5d8 100644
(file)
--- a/
entity.h
+++ b/
entity.h
@@
-30,6
+30,8
@@
typedef struct ent_objective ent_objective;
typedef struct ent_challenge ent_challenge;
typedef struct ent_relay ent_relay;
typedef struct ent_cubemap ent_cubemap;
typedef struct ent_challenge ent_challenge;
typedef struct ent_relay ent_relay;
typedef struct ent_cubemap ent_cubemap;
+typedef struct ent_miniworld ent_miniworld;
+typedef struct ent_prop ent_prop;
enum entity_alias{
k_ent_none = 0,
enum entity_alias{
k_ent_none = 0,
@@
-53,11
+55,12
@@
enum entity_alias{
k_ent_objective = 18,
k_ent_challenge = 19,
k_ent_relay = 20,
k_ent_objective = 18,
k_ent_challenge = 19,
k_ent_relay = 20,
- k_ent_cubemap = 21
+ k_ent_cubemap = 21,
+ k_ent_miniworld = 22
};
static u32 mdl_entity_id_type( u32 entity_id ){
};
static u32 mdl_entity_id_type( u32 entity_id ){
- return (entity_id & 0x
f
fff0000) >> 16;
+ return (entity_id & 0x
0
fff0000) >> 16;
}
static u32 mdl_entity_id_id( u32 entity_id ){
}
static u32 mdl_entity_id_id( u32 entity_id ){
@@
-70,7
+73,8
@@
static u32 mdl_entity_id( u32 type, u32 index ){
enum entity_function{
k_ent_function_trigger,
enum entity_function{
k_ent_function_trigger,
- k_ent_function_particle_spawn
+ k_ent_function_particle_spawn,
+ k_ent_function_trigger_leave
};
struct ent_spawn{
};
struct ent_spawn{
@@
-161,11
+165,11
@@
struct ent_checkpoint{
};
struct ent_route{
};
struct ent_route{
-
union{
mdl_transform transform;
u32 official_track_id;
union{
mdl_transform transform;
u32 official_track_id;
- };
+ }
+ anon;
u32 pstr_name;
u16 checkpoints_start,
u32 pstr_name;
u16 checkpoints_start,
@@
-177,10
+181,12
@@
struct ent_route{
u16 active_checkpoint,
valid_checkpoints;
u16 active_checkpoint,
valid_checkpoints;
- f
loat
factive;
+ f
32
factive;
m4x3f board_transform;
mdl_submesh sm;
m4x3f board_transform;
mdl_submesh sm;
- double timing_base;
+ f64 timing_base;
+
+ u32 id_camera; /* v103+ */
};
struct ent_water{
};
struct ent_water{
@@
-203,7
+209,7
@@
struct volume_particles{
};
struct volume_trigger{
};
struct volume_trigger{
- u32 event,
blank
;
+ u32 event,
event_leave
;
};
enum ent_volume_flag {
};
enum ent_volume_flag {
@@
-299,9
+305,16
@@
enum ent_menuitem_type{
k_ent_menuitem_type_toggle = 3,
k_ent_menuitem_type_slider = 4,
k_ent_menuitem_type_page = 5,
k_ent_menuitem_type_toggle = 3,
k_ent_menuitem_type_slider = 4,
k_ent_menuitem_type_page = 5,
+ k_ent_menuitem_type_binding = 6,
+ k_ent_menuitem_type_visual_nocol = 7,
k_ent_menuitem_type_disabled = 90
};
k_ent_menuitem_type_disabled = 90
};
+enum ent_menuitem_stack_behaviour{
+ k_ent_menuitem_stack_append = 0,
+ k_ent_menuitem_stack_replace = 1
+};
+
typedef struct ent_menuitem ent_menuitem;
struct ent_menuitem{
u32 type, groups,
typedef struct ent_menuitem ent_menuitem;
struct ent_menuitem{
u32 type, groups,
@@
-332,7
+345,8
@@
struct ent_menuitem{
slider;
struct{
slider;
struct{
- u32 pstr;
+ u32 pstr,
+ stack_behaviour;
}
button;
}
button;
@@
-349,15
+363,22
@@
struct ent_menuitem{
id_viewpoint; /* ent_camera */
}
page;
id_viewpoint; /* ent_camera */
}
page;
+
+ struct{
+ u32 pstr_bind,
+ font_variant;
+ }
+ binding;
};
};
struct ent_worldinfo{
u32 pstr_name, pstr_author, pstr_desc;
f32 timezone;
};
};
struct ent_worldinfo{
u32 pstr_name, pstr_author, pstr_desc;
f32 timezone;
+ u32 pstr_skybox;
};
};
-
VG_STATIC
ent_marker *ent_find_marker( mdl_context *mdl,
+
static
ent_marker *ent_find_marker( mdl_context *mdl,
mdl_array_ptr *arr, const char *alias )
{
for( u32 i=0; i<mdl_arrcount(arr); i++ ){
mdl_array_ptr *arr, const char *alias )
{
for( u32 i=0; i<mdl_arrcount(arr); i++ ){
@@
-480,7
+501,19
@@
struct ent_call{
void *data;
};
void *data;
};
+struct ent_miniworld {
+ mdl_transform transform;
+ u32 pstr_world;
+ u32 camera;
+ u32 proxy;
+};
+
+struct ent_prop {
+ mdl_transform transform;
+ u32 submesh_start, submesh_count, flags;
+};
+
#include "world.h"
#include "world.h"
-
VG_STATIC
void entity_call( world_instance *world, ent_call *call );
+
static
void entity_call( world_instance *world, ent_call *call );
#endif /* ENTITY_H */
#endif /* ENTITY_H */