public void should_get_to_ganon() { //var romData = Utilities.LoadRom("rando.sfc"); var romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_297664836.sfc"); // simple Random rand = new Random(0); RomEntranceCollection romEntrances = new RomEntranceCollection(romData); RomExitCollection romExits = new RomExitCollection(romData); RomChestCollection romChests = new RomChestCollection(romData); GraphData graphData = new GraphData(romData, new OptionFlags(), romEntrances, romExits, romChests); //foreach(var e in graphData.AllEdges) //{ // output.WriteLine(e.ToString()); //} //output.WriteLine("Rom locations"); //foreach (var r in romChests.Chests) //{ // output.WriteLine($"0x{r.Address.ToString("X")}\t0x{r.ItemId.ToString("X2")}"); //} //output.WriteLine("Raw locations"); //foreach(var r in graphData._rawItemLocationCollection.RawItemLocations.Values) //{ // output.WriteLine($"0x{r.LocationAddress.ToString("X")}\t0x{r.ItemId.ToString("X2")}"); //} Graph graph = new Graph(graphData); var result = graph.FindPath(graphData.AllNodes["cave-links-house"], graphData.AllNodes["triforce-room"], true); output.WriteLine(result.ToString()); Assert.True(result.Success); }
public void should_get_to_ganon(string filename, bool expected) { //var romData = Utilities.LoadRom("rando.sfc"); output.WriteLine(filename); var romData = Utilities.LoadRom("..\\..\\..\\..\\rando_test_27_fixes\\" + filename); // simple Random rand = new Random(0); RomEntranceCollection romEntrances = new RomEntranceCollection(romData); RomExitCollection romExits = new RomExitCollection(romData); RomChestCollection romChests = new RomChestCollection(romData); GraphData graphData = new GraphData(romData, new OptionFlags(), romEntrances, romExits, romChests); Graph graph = new Graph(graphData); var result = graph.FindPath(graphData.AllNodes["cave-links-house"], graphData.AllNodes["triforce-room"], true); output.WriteLine(result.ToString()); Assert.True(result.Success); }
public void figure_out_entrances() { //var romData = Utilities.LoadRom("rando.sfc"); var romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_297664836.sfc"); // simple //var romData = Utilities.LoadRom("..\\..\\..\\ER_er-no-glitches-0.4.7_normal-open-ganon_676766069.sfc"); // insanity RomEntranceCollection ec = new RomEntranceCollection(romData); ec.LoadEntrances(); RomExitCollection exits = new RomExitCollection(romData); exits.LoadExits(); foreach (var e in ec.Entrances) { output.WriteLine($"Address: {e.EntranceAddress.ToString("X")} - Value: {e.EntranceAreaId.ToString("X3")} - {e.EntranceAreaName} - {e.EntranceSourceName} - Entrance #: 0x{e.EntranceNumber.ToString("X2")} - -> Connects to: 0x{e.ConnectToRoomId.ToString("X3")} - {e.ConnectsToRoomName}"); } foreach (var e in exits.Exits) { output.WriteLine($"RoomAddress: {e.RoomAddress.ToString("X")} Room: {e.RoomId} - {e.RoomName} -> Goes to: AreaAddress: {e.AreaAddress.ToString("X")} Area: {e.AreaId} - {e.ExitAreaName} - {e.AreaName}"); } }
public OverworldGlitchedGraphData(RomData romData, OptionFlags optionFlags, RomEntranceCollection romEntrances, RomExitCollection romExits, RomChestCollection romChests) : base(romData, optionFlags, romEntrances, romExits, romChests) { }