private static void LoadObjectModel( Model model, ISource source, Matrix44 transform ) { // Load the skin file for the current part IDictionary< string, ITexture2d > textureTable = LoadSkin( source, DefaultSkinFile( source, ModelPart.Weapon ) ); // Load the MD3 associated with the current part ModelMesh partMesh = LoadMd3( source, model, ModelPart.Weapon, transform, source, textureTable ); model.SetPartMesh( ModelPart.Weapon, partMesh ); model.SetRootMesh( partMesh ); }
private static void LoadNestedModel( Model model, ISource source, Matrix44 transform ) { // Run through all the parts for ( int partIndex = 0; partIndex < ( int )ModelPart.NumParts; ++partIndex ) { ModelPart curPart = ( ModelPart )partIndex; if ( curPart == ModelPart.Weapon ) { // The weapon does not have a related mesh, so just ignore... continue; } // Load the skin file for the current part IDictionary< string, ITexture2d > surfaceTextureTable = LoadSkin( source, DefaultSkinFile( source, curPart ) ); // Load the MD3 associated with the current part ModelMesh partMesh = LoadMd3( source, model, curPart, transform, MeshFile( source, curPart ), surfaceTextureTable ); model.SetPartMesh( curPart, partMesh ); } model.SetRootMesh( model.GetPartMesh( ModelPart.Lower ) ); NestMesh( model, ModelPart.Lower, ModelPart.Upper, "tag_torso" ); NestMesh( model, ModelPart.Upper, ModelPart.Head, "tag_head" ); NestMesh( model, ModelPart.Upper, ModelPart.Weapon, "tag_weapon" ); }