public static void LoadMsbRegionsDS3andBB(string mapName, MSB64.MSBVersion version) { var cylinder = new DbgPrimWireCylinder( location: Transform.Default, range: 1.0f, height: 1, numSegments: 12, color: Color.Cyan); var sphere = new DbgPrimWireSphere(Transform.Default, 1f, 12, 12, Color.Red); var circle = new DbgPrimWireSphere(Transform.Default, 1f, 12, 12, Color.Fuchsia); var point = new DbgPrimWireSphere(Transform.Default, 0.25f, 4, 4, Color.Lime); var box = new DbgPrimWireBox(Transform.Default, Vector3.One, Color.Yellow); var msb = MSB64.Read(GetInterrootPath($@"map\MapStudio\{mapName}.msb.dcx"), version); foreach (var msbBox in msb.Regions.Boxes) { var newBox = box.Instantiate(msbBox.Name, new Transform(msbBox.Position.X, msbBox.Position.Y, msbBox.Position.Z, MathHelper.ToRadians(msbBox.Rotation.X), MathHelper.ToRadians(msbBox.Rotation.Y), MathHelper.ToRadians(msbBox.Rotation.Z), msbBox.Length, msbBox.Height, msbBox.Width)); DBG.AddPrimitive(newBox); } foreach (var msbSphere in msb.Regions.Spheres) { var newSphere = sphere.Instantiate(msbSphere.Name, new Transform(msbSphere.Position.X, msbSphere.Position.Y, msbSphere.Position.Z, MathHelper.ToRadians(msbSphere.Rotation.X), MathHelper.ToRadians(msbSphere.Rotation.Y), MathHelper.ToRadians(msbSphere.Rotation.Z), msbSphere.Radius, msbSphere.Radius, msbSphere.Radius)); DBG.AddPrimitive(newSphere); } foreach (var msbCylinder in msb.Regions.Cylinders) { var newCylinder = cylinder.Instantiate(msbCylinder.Name, new Transform(msbCylinder.Position.X, msbCylinder.Position.Y, msbCylinder.Position.Z, MathHelper.ToRadians(msbCylinder.Rotation.X), MathHelper.ToRadians(msbCylinder.Rotation.Y), MathHelper.ToRadians(msbCylinder.Rotation.Z), msbCylinder.Radius, msbCylinder.Height, msbCylinder.Radius)); DBG.AddPrimitive(newCylinder); } foreach (var msbPoint in msb.Regions.Points) { var newPoint = point.Instantiate(msbPoint.Name, new Transform(msbPoint.Position.X, msbPoint.Position.Y, msbPoint.Position.Z, MathHelper.ToRadians(msbPoint.Rotation.X), MathHelper.ToRadians(msbPoint.Rotation.Y), MathHelper.ToRadians(msbPoint.Rotation.Z))); } // I think circles are probably just beta spheres kek foreach (var msbCircle in msb.Regions.Circles) { var newCircle = circle.Instantiate(msbCircle.Name, new Transform(msbCircle.Position.X, msbCircle.Position.Y, msbCircle.Position.Z, MathHelper.ToRadians(msbCircle.Rotation.X), MathHelper.ToRadians(msbCircle.Rotation.Y), MathHelper.ToRadians(msbCircle.Rotation.Z), msbCircle.Radius, msbCircle.Radius, msbCircle.Radius)); DBG.AddPrimitive(newCircle); } }
public static void LoadMsbRegionsDS1(string mapName) { var cylinder = new DbgPrimWireCylinder( location: Transform.Default, range: 1.0f, height: 1, numSegments: 12, color: Color.Cyan); var sphere = new DbgPrimWireSphere(Transform.Default, 1f, 12, 12, Color.Red); var point = new DbgPrimWireSphere(Transform.Default, 0.25f, 4, 4, Color.Lime); var box = new DbgPrimWireBox(Transform.Default, Vector3.One, Color.Yellow); var msb = DataFile.LoadFromFile <MSB>(InterrootLoader.GetInterrootPath($@"map\MapStudio\{mapName}.msb")); foreach (var msbBox in msb.Regions.Boxes) { var newBox = box.Instantiate(msbBox.Name, new Transform(msbBox.PosX, msbBox.PosY, msbBox.PosZ, MathHelper.ToRadians(msbBox.RotX), MathHelper.ToRadians(msbBox.RotY), MathHelper.ToRadians(msbBox.RotZ), msbBox.WidthX, msbBox.HeightY, msbBox.DepthZ)); DBG.AddPrimitive(newBox); } foreach (var msbSphere in msb.Regions.Spheres) { var newSphere = sphere.Instantiate(msbSphere.Name, new Transform(msbSphere.PosX, msbSphere.PosY, msbSphere.PosZ, MathHelper.ToRadians(msbSphere.RotX), MathHelper.ToRadians(msbSphere.RotY), MathHelper.ToRadians(msbSphere.RotZ), msbSphere.Radius, msbSphere.Radius, msbSphere.Radius)); DBG.AddPrimitive(newSphere); } foreach (var msbCylinder in msb.Regions.Cylinders) { var newCylinder = cylinder.Instantiate(msbCylinder.Name, new Transform(msbCylinder.PosX, msbCylinder.PosY, msbCylinder.PosZ, MathHelper.ToRadians(msbCylinder.RotX), MathHelper.ToRadians(msbCylinder.RotY), MathHelper.ToRadians(msbCylinder.RotZ), msbCylinder.Radius, msbCylinder.Height, msbCylinder.Radius)); DBG.AddPrimitive(newCylinder); } foreach (var msbPoint in msb.Regions.Points) { var newPoint = point.Instantiate(msbPoint.Name, new Transform(msbPoint.PosX, msbPoint.PosY, msbPoint.PosZ, MathHelper.ToRadians(msbPoint.RotX), MathHelper.ToRadians(msbPoint.RotY), MathHelper.ToRadians(msbPoint.RotZ))); } }