X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=model.h;h=7c4e0d9cbade5266c18b85d45a2b3f09fe8d8e8a;hb=791f807111a1f740f745c67db642aa7a8bee56e8;hp=be0666af89e530fdfc9003b786c485ee87b702f2;hpb=a6708cef5099c83ff14816442de0954934f10276;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/model.h b/model.h index be0666a..7c4e0d9 100644 --- a/model.h +++ b/model.h @@ -41,7 +41,9 @@ enum classtype k_classtype_audio = 14, k_classtype_trigger = 100, k_classtype_logic_achievement = 101, - k_classtype_logic_relay = 102 + k_classtype_logic_relay = 102, + k_classtype_world_light = 200, + k_classtype_nonlocal_gate = 300 }; enum mdl_shader @@ -68,16 +70,38 @@ enum material_flag k_material_flag_grind_surface = 0x8 }; +enum bone_flag +{ + k_bone_flag_deform = 0x1, + k_bone_flag_ik = 0x2, + k_bone_flag_collider_box = 0x4, + k_bone_flag_collider_capsule = 0x8, + k_bone_flag_collider_reserved0 = 0x10, + k_bone_flag_collider_reserved1 = 0x20, + k_bone_flag_collider_reserved2 = 0x40, + k_bone_flag_collider_reserved3 = 0x80, + k_bone_flag_collider_any = k_bone_flag_collider_box | + k_bone_flag_collider_capsule | + k_bone_flag_collider_reserved0 | + k_bone_flag_collider_reserved1 | + k_bone_flag_collider_reserved2 | + k_bone_flag_collider_reserved3, + k_bone_flag_cone_constraint = 0x100, + k_bone_flag_force_u32 = 0xffffffff +}; + #pragma pack(push,1) +/* 48 byte */ struct mdl_vert { - v3f co, - norm; - v2f uv; - u8 colour[4]; - u16 weights[4]; - u8 groups[4]; + v3f co, /* 3*32 */ + norm; /* 3*32 */ + v2f uv; /* 2*32 */ + + u8 colour[4]; /* 4*8 */ + u16 weights[4];/* 4*16 */ + u8 groups[4]; /* 4*8 */ }; struct mdl_submesh @@ -200,14 +224,14 @@ struct classtype_route struct classtype_bone { - u32 deform, + u32 flags, ik_target, - ik_pole, - collider, - use_limits; + ik_pole; - v3f angle_limits[2]; boxf hitbox; + + v3f conevx, conevy, coneva; + float conet; }; struct classtype_skeleton @@ -247,6 +271,21 @@ struct classtype_audio float volume; }; +struct classtype_world_light +{ + enum light_type + { + k_light_type_point, + k_light_type_spot, + k_light_type_point_nighttime_only, + k_light_type_spot_nighttime_only + } + type; + + v4f colour; /* RGB, Energy */ + float angle; +}; + #pragma pack(pop)