X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=model.h;h=4a310695f27784dda33164f7b7f494bcde36b87b;hb=0136a935c00e3ea1f231fd88b38b44982fd409ac;hp=be0666af89e530fdfc9003b786c485ee87b702f2;hpb=a6708cef5099c83ff14816442de0954934f10276;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/model.h b/model.h index be0666a..4a31069 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 @@ -57,7 +59,8 @@ enum mdl_surface_prop { k_surface_prop_concrete = 0, k_surface_prop_wood = 1, - k_surface_prop_grass = 2 + k_surface_prop_grass = 2, + k_surface_prop_tiles = 3 }; enum material_flag @@ -68,16 +71,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 +225,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 +272,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, range; +}; + #pragma pack(pop)