X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=model.h;h=9bdc2bca58b32c8563cb14dbe6a6be77fd867e9e;hb=f7db507815e2822d971031c30f25e02b45e9c914;hp=ea34a6ddf974f5769f1482a2672e4d0975d21581;hpb=1f0e3292c021e8263716e5f4544a1efcedf3f03d;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/model.h b/model.h index ea34a6d..9bdc2bc 100644 --- a/model.h +++ b/model.h @@ -29,19 +29,19 @@ typedef struct mdl_context mdl_context; enum classtype { - k_classtype_none = 0, - k_classtype_gate = 1, - k_classtype_spawn = 3, - k_classtype_water = 4, - k_classtype_route_node = 8, - k_classtype_route = 9, - k_classtype_bone = 10, - k_classtype_skeleton = 11, - k_classtype_skin = 12, - k_classtype_audio = 14, - k_classtype_trigger = 100, - k_classtype_logic_achievement = 101, - k_classtype_logic_relay = 102 + k_classtype_none = 0, + k_classtype_gate = 1, + k_classtype_spawn = 3, + k_classtype_water = 4, + k_classtype_route_node = 8, + k_classtype_route = 9, + k_classtype_bone = 10, + k_classtype_skeleton = 11, + k_classtype_skin = 12, + k_classtype_audio = 14, + k_classtype_trigger = 100, + k_classtype_logic_achievement = 101, + k_classtype_logic_relay = 102 }; enum mdl_shader @@ -53,6 +53,21 @@ enum mdl_shader k_shader_water = 4 }; +enum mdl_surface_prop +{ + k_surface_prop_concrete = 0, + k_surface_prop_wood = 1, + k_surface_prop_grass = 2 +}; + +enum material_flag +{ + k_material_flag_skate_surface = 0x1, + k_material_flag_collision = 0x2, + k_material_flag_grow_grass = 0x4, + k_material_flag_grind_surface = 0x8 +}; + #pragma pack(push,1) struct mdl_vert @@ -87,7 +102,8 @@ struct mdl_material { u32 pstr_name, shader, - flags; + flags, + surface_prop; v4f colour, colour1; @@ -659,5 +675,13 @@ VG_STATIC void mdl_link_materials( mdl_context *root, mdl_context *child ) } } +VG_STATIC void mdl_invert_uv_coordinates( mdl_context *mdl ) +{ + for( int i=0; iinfo.vertex_count; i++ ) + { + mdl_vert *vert = &mdl->vertex_buffer[i]; + vert->uv[1] = 1.0f-vert->uv[1]; + } +} #endif