public void LoadConfig(LoadingForm loadingForm) { int statusNum = 0; // Read configuration loadingForm.UpdateStatus("Loading main configuration", statusNum++); XmlConfigParser.OpenConfig(@"Config/Config.xml"); loadingForm.UpdateStatus("Loading Miscellaneous Data", statusNum++); _miscData = XmlConfigParser.OpenWatchVarData(@"Config/MiscData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Object Data", statusNum++); _objectData = XmlConfigParser.OpenWatchVarData(@"Config/ObjectData.xml", "ObjectDataSchema.xsd", "objectOffset"); loadingForm.UpdateStatus("Loading Object Associations", statusNum++); _objectAssoc = XmlConfigParser.OpenObjectAssoc(@"Config/ObjectAssociations.xml", _slotManagerGui); loadingForm.UpdateStatus("Loading Mario Data", statusNum++); _marioData = XmlConfigParser.OpenWatchVarData(@"Config/MarioData.xml", "MarioDataSchema.xsd", "marioOffset"); loadingForm.UpdateStatus("Loading Camera Data", statusNum++); _cameraData = XmlConfigParser.OpenWatchVarData(@"Config/CameraData.xml", "CameraDataSchema.xsd"); loadingForm.UpdateStatus("Loading HUD Data", statusNum++); _triangleData = XmlConfigParser.OpenWatchVarData(@"Config/TrianglesData.xml", "TrianglesDataSchema.xsd", "triangleOffset"); loadingForm.UpdateStatus("Loading Triangles Data", statusNum++); _hudData = XmlConfigParser.OpenWatchVarData(@"Config/HudData.xml", "HudDataSchema.xsd"); loadingForm.UpdateStatus("Loading Map Associations", statusNum++); _mapAssoc = XmlConfigParser.OpenMapAssoc(@"Config/MapAssociations.xml"); loadingForm.UpdateStatus("Loading Scripts", statusNum++); _scriptParser = XmlConfigParser.OpenScripts(@"Config/Scripts.xml"); loadingForm.UpdateStatus("Loading Hacks", statusNum++); _romHacks = XmlConfigParser.OpenHacks(@"Config/Hacks.xml"); loadingForm.UpdateStatus("Finishing", statusNum); }
public MapManager(ProcessStream stream, MapAssociations mapAssoc, ObjectAssociations objAssoc, MapGui mapGui) { _stream = stream; MapAssoc = mapAssoc; _mapGui = mapGui; _marioMapObj = new MapObject(objAssoc.MarioMapImage, 1); _marioMapObj.UsesRotation = true; _holpMapObj = new MapObject(objAssoc.HolpImage, 2); _cameraMapObj = new MapObject(objAssoc.CameraMapImage, 1); _cameraMapObj.UsesRotation = true; _floorTriangleMapObj = new TriangleMapObject(Color.FromArgb(200, Color.Yellow), 3); }
public MapManager(MapAssociations mapAssoc, MapGui mapGui) { MapAssoc = mapAssoc; _mapGui = mapGui; _marioMapObj = new MapObject(Config.ObjectAssociations.MarioMapImage, 1); _marioMapObj.UsesRotation = true; _holpMapObj = new MapObject(Config.ObjectAssociations.HolpImage, 2); _intendedNextPositionMapObj = new MapObject(Config.ObjectAssociations.IntendedNextPositionImage, 2); _intendedNextPositionMapObj.UsesRotation = true; _cameraMapObj = new MapObject(Config.ObjectAssociations.CameraMapImage, 1); _cameraMapObj.UsesRotation = true; _floorTriangleMapObj = new TriangleMapObject(Color.FromArgb(200, Color.Cyan), 3); _ceilingTriangleMapObj = new TriangleMapObject(Color.FromArgb(200, Color.Red), 2); }
public void LoadConfig(LoadingForm loadingForm) { int statusNum = 0; // Read configuration loadingForm.UpdateStatus("Loading main configuration", statusNum++); XmlConfigParser.OpenConfig(@"Config/Config.xml"); loadingForm.UpdateStatus("Loading Miscellaneous Data", statusNum++); _miscData = XmlConfigParser.OpenWatchVarData(@"Config/MiscData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Object Data", statusNum++); _objectData = XmlConfigParser.OpenWatchVarData(@"Config/ObjectData.xml", "ObjectDataSchema.xsd"); loadingForm.UpdateStatus("Loading Object Associations", statusNum++); Config.ObjectAssociations = XmlConfigParser.OpenObjectAssoc(@"Config/ObjectAssociations.xml", _slotManagerGui); loadingForm.UpdateStatus("Loading Mario Data", statusNum++); _marioData = XmlConfigParser.OpenWatchVarData(@"Config/MarioData.xml", "MarioDataSchema.xsd"); loadingForm.UpdateStatus("Loading Camera Data", statusNum++); _cameraData = XmlConfigParser.OpenWatchVarData(@"Config/CameraData.xml", "CameraDataSchema.xsd"); loadingForm.UpdateStatus("Loading Actions Data", statusNum++); _actionsData = XmlConfigParser.OpenWatchVarData(@"Config/ActionsData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Water Data", statusNum++); _waterData = XmlConfigParser.OpenWatchVarData(@"Config/WaterData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Input Data", statusNum++); _inputData = XmlConfigParser.OpenWatchVarData(@"Config/InputData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Input Image Associations", statusNum++); XmlConfigParser.OpenInputImageAssoc(@"Config/InputImageAssociations.xml", _inputImageGui); loadingForm.UpdateStatus("Loading File Data", statusNum++); _fileData = XmlConfigParser.OpenWatchVarData(@"Config/FileData.xml", "FileDataSchema.xsd"); loadingForm.UpdateStatus("Loading File Image Associations", statusNum++); XmlConfigParser.OpenFileImageAssoc(@"Config/FileImageAssociations.xml", _fileImageGui); loadingForm.UpdateStatus("Loading Quarter Frame Data", statusNum++); _quarterFrameData = XmlConfigParser.OpenWatchVarData(@"Config/QuarterFrameData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Camera Hack Data", statusNum++); _camHackData = XmlConfigParser.OpenWatchVarData(@"Config/CamHackData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading Triangles Data", statusNum++); _triangleData = XmlConfigParser.OpenWatchVarData(@"Config/TrianglesData.xml", "TrianglesDataSchema.xsd"); loadingForm.UpdateStatus("Loading Debug Data", statusNum++); _debugData = XmlConfigParser.OpenWatchVarData(@"Config/DebugData.xml", "MiscDataSchema.xsd"); loadingForm.UpdateStatus("Loading HUD Data", statusNum++); _hudData = XmlConfigParser.OpenWatchVarData(@"Config/HudData.xml", "HudDataSchema.xsd"); loadingForm.UpdateStatus("Loading Map Associations", statusNum++); _mapAssoc = XmlConfigParser.OpenMapAssoc(@"Config/MapAssociations.xml"); loadingForm.UpdateStatus("Loading Scripts", statusNum++); _scriptParser = XmlConfigParser.OpenScripts(@"Config/Scripts.xml"); loadingForm.UpdateStatus("Loading Hacks", statusNum++); var hacksConfig = XmlConfigParser.OpenHacks(@"Config/Hacks.xml"); Config.Hacks = hacksConfig.Item1; _romHacks = hacksConfig.Item2; loadingForm.UpdateStatus("Loading Mario Actions", statusNum++); Config.MarioActions = XmlConfigParser.OpenActionTable(@"Config/MarioActions.xml"); Config.MarioAnimations = XmlConfigParser.OpenAnimationTable(@"Config/MarioAnimations.xml"); Config.PendulumSwings = XmlConfigParser.OpenPendulumSwingTable(@"Config/PendulumSwings.xml"); Config.RacingPenguinWaypoints = XmlConfigParser.OpenWaypointTable(@"Config/RacingPenguinWaypoints.xml"); Config.KoopaTheQuick1Waypoints = XmlConfigParser.OpenWaypointTable(@"Config/KoopaTheQuick1Waypoints.xml"); Config.KoopaTheQuick2Waypoints = XmlConfigParser.OpenWaypointTable(@"Config/KoopaTheQuick2Waypoints.xml"); Config.Missions = XmlConfigParser.OpenMissionTable(@"Config/Missions.xml"); Config.CourseData = XmlConfigParser.OpenCourseDataTable(@"Config/CourseData.xml"); Config.FlyGuyData = new FlyGuyDataTable(); loadingForm.UpdateStatus("Finishing", statusNum); }
public static MapAssociations OpenMapAssoc(string path) { var assoc = new MapAssociations(); var assembly = Assembly.GetExecutingAssembly(); // Create schema set var schemaSet = new XmlSchemaSet() { XmlResolver = new ResourceXmlResolver() }; schemaSet.Add("http://tempuri.org/ReusableTypes.xsd", "ReusableTypes.xsd"); schemaSet.Add("http://tempuri.org/MapAssociationsSchema.xsd", "MapAssociationsSchema.xsd"); schemaSet.Compile(); // Load and validate document var doc = XDocument.Load(path); doc.Validate(schemaSet, Validation); foreach (XElement element in doc.Root.Elements()) { switch (element.Name.ToString()) { case "Config": foreach (XElement subElement in element.Elements()) { switch (subElement.Name.ToString()) { case "ImageDirectory": assoc.FolderPath = subElement.Value; break; case "DefaultImage": var defaultMap = new Map() { ImagePath = subElement.Value }; assoc.DefaultMap = defaultMap; break; case "DefaultCoordinates": float dx1 = float.Parse(subElement.Attribute(XName.Get("x1")).Value); float dx2 = float.Parse(subElement.Attribute(XName.Get("x2")).Value); float dz1 = float.Parse(subElement.Attribute(XName.Get("z1")).Value); float dz2 = float.Parse(subElement.Attribute(XName.Get("z2")).Value); var dCoordinates = new RectangleF(dx1, dz1, dx2 - dx1, dz2 - dz1); assoc.DefaultMap.Coordinates = dCoordinates; break; } } break; case "Map": byte level = byte.Parse(element.Attribute(XName.Get("level")).Value); byte area = byte.Parse(element.Attribute(XName.Get("area")).Value); ushort?loadingPoint = element.Attribute(XName.Get("loadingPoint")) != null ? (ushort?)ushort.Parse(element.Attribute(XName.Get("loadingPoint")).Value) : null; ushort?missionLayout = element.Attribute(XName.Get("missionLayout")) != null ? (ushort?)ushort.Parse(element.Attribute(XName.Get("missionLayout")).Value) : null; string imagePath = element.Element(XName.Get("Image")).Attribute(XName.Get("path")).Value; string bgImagePath = (element.Element(XName.Get("BackgroundImage")) != null) ? element.Element(XName.Get("BackgroundImage")).Attribute(XName.Get("path")).Value : null; var coordinatesElement = element.Element(XName.Get("Coordinates")); float x1 = float.Parse(coordinatesElement.Attribute(XName.Get("x1")).Value); float x2 = float.Parse(coordinatesElement.Attribute(XName.Get("x2")).Value); float z1 = float.Parse(coordinatesElement.Attribute(XName.Get("z1")).Value); float z2 = float.Parse(coordinatesElement.Attribute(XName.Get("z2")).Value); float y = (coordinatesElement.Attribute(XName.Get("y")) != null) ? float.Parse(coordinatesElement.Attribute(XName.Get("y")).Value) : float.MinValue; string name = element.Attribute(XName.Get("name")).Value; string subName = (element.Attribute(XName.Get("subName")) != null) ? element.Attribute(XName.Get("subName")).Value : null; var coordinates = new RectangleF(x1, z1, x2 - x1, z2 - z1); Map map = new Map() { Level = level, Area = area, LoadingPoint = loadingPoint, MissionLayout = missionLayout, Coordinates = coordinates, ImagePath = imagePath, Y = y, Name = name, SubName = subName, BackgroundPath = bgImagePath }; assoc.AddAssociation(map); break; } } return(assoc); }