public void AddDungeon(WorldModelRoot model, WorldModelHandler.WorldModelDefinition def) { var verts = new List <Vector3>(); var tris = new List <Triangle <uint> >(); WorldModelHandler.InsertModelGeometry(verts, tris, def, model); AddData(verts, tris); }
public static Matrix GetWmoDoodadTransformation(DoodadInstance inst, WorldModelHandler.WorldModelDefinition root) { var rootTransformation = GetTransformation(root); var translation = Matrix.Translation(inst.Position); var scale = Matrix.Scaling(new Vector3(inst.Scale)); var rotation = Matrix.RotationY(MathHelper.Pi); var quatRotation = Matrix.RotationQuaternion(new Quaternion(-inst.QuatY, inst.QuatZ, -inst.QuatX, inst.QuatW)); return(scale * rotation * quatRotation * translation * rootTransformation); }
private void ReadGlobalModel() { var fileChunk = Data.GetChunkByName("MWMO"); var defChunk = Data.GetChunkByName("MODF"); if (fileChunk == null || defChunk == null) { return; } IsGlobalModel = true; ModelDefinition = WorldModelHandler.WorldModelDefinition.Read(defChunk.GetStream()); ModelFile = fileChunk.GetStream().ReadCString(); }
private void ReadGlobalModel() { var fileChunk = Data.GetChunkByName("MWMO"); var defChunk = Data.GetChunkByName("MODF"); // this is null always if (fileChunk == null || defChunk == null) // so this, returns... { return; } IsGlobalModel = true; // IsGLobalModel needs to be true... butwhen i do step by step ModelDefinition = WorldModelHandler.WorldModelDefinition.Read(defChunk.GetStream()); ModelFile = fileChunk.GetStream().ReadCString(); }
public WmoDrawer(Microsoft.Xna.Framework.Game game, string path, WorldModelHandler.WorldModelDefinition def) : base(game) { _path = path; _def = def; }