From 3b32735e10b4c201a2bd952bf8d959ee89ad4e3b Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Sun, 8 Nov 2020 11:20:37 +1100 Subject: [PATCH 1/3] Fix enemizer - read the basepatch and update base2current.json before calling enemizer. --- Main.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Main.py b/Main.py index f5696e3c..2e9819d6 100644 --- a/Main.py +++ b/Main.py @@ -201,6 +201,9 @@ def main(args, seed=None, fish=None): or world.enemy_health[player] != 'default' or world.enemy_damage[player] != 'default' or args.shufflepots[player] or sprite_random_on_hit) + if use_enemizer: + base_patch = LocalRom(args.rom) # update base2current.json + rom = JsonRom() if args.jsonout or use_enemizer else LocalRom(args.rom) if use_enemizer and (args.enemizercli or not args.jsonout): From 3ee5f59a19b4b482ba259352bbbe0436eddb1424 Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Sun, 8 Nov 2020 15:25:16 +1100 Subject: [PATCH 2/3] Add python and pip instructions to the readme. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4bf368f8..60275426 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,11 @@ Please just DM me on discord for now. I (Aerinon) can be found at the [ALTTP Ran # Installation -Clone this repository and then run ```DungeonRandomizer.py``` (requires Python 3). +Install Python 3 + +Run ```pip install python-bps-continued```. On Linux, you should use pip3. On Windows, you may need to run ```python -m pip install python-bps-continued``` or ```py -m pip install python-bps-continued```. + +Clone this repository then run ```DungeonRandomizer.py```. Alternatively, run ```Gui.py``` for a simple graphical user interface. (WIP) From 7756528da3626b320ea71510326d4248cb8f8cdb Mon Sep 17 00:00:00 2001 From: aerinon Date: Mon, 16 Nov 2020 13:15:23 -0700 Subject: [PATCH 3/3] Fix trock entrances when intensity < 3 Fix outputpath setting in settings.json --- Main.py | 2 +- RELEASENOTES.md | 3 +++ Rom.py | 9 ++++----- source/gui/bottom.py | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Main.py b/Main.py index 27edc6e1..403624d3 100644 --- a/Main.py +++ b/Main.py @@ -24,7 +24,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute from ItemList import generate_itempool, difficulties, fill_prizes, fill_specific_items from Utils import output_path, parse_player_names -__version__ = '0.2.0.10u' +__version__ = '0.2.0.11u' class EnemizerError(RuntimeError): pass diff --git a/RELEASENOTES.md b/RELEASENOTES.md index feb93b7c..93a74c31 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -36,6 +36,9 @@ otherwise unconnected logically can be reach using these glitches. To prevent th # Bug Fixes +* 2.0.11u + * Fix output path setting in settings.json + * Fix trock entrances when intensity <= 2 * 2.0.10u * Fix POD, TR, GT and SKULL 3 entrance if sanc ends up in that dungeon in crossed ER+ * TR Lobbies that need a bomb and can be entered before bombing should be pre-opened diff --git a/Rom.py b/Rom.py index 19ff3c4d..58f3d14d 100644 --- a/Rom.py +++ b/Rom.py @@ -15,6 +15,7 @@ from BaseClasses import CollectionState, ShopType, Region, Location, DoorType, R from DoorShuffle import compass_data, DROptions, boss_indicator from Dungeons import dungeon_music_addresses from Regions import location_table +from RoomData import DoorKind from Text import MultiByteTextMapper, CompressedTextMapper, text_addresses, Credits, TextTable from Text import Uncle_texts, Ganon1_texts, TavernMan_texts, Sahasrahla2_texts, Triforce_texts, Blind_texts, BombShop2_texts, junk_texts from Text import KingsReturn_texts, Sanctuary_texts, Kakariko_texts, Blacksmiths_texts, DeathMountain_texts, LostWoods_texts, WishingWell_texts, DesertPalace_texts, MountainTower_texts, LinksHouse_texts, Lumberjacks_texts, SickKid_texts, FluteBoy_texts, Zora_texts, MagicShop_texts, Sahasrahla_names @@ -1391,13 +1392,11 @@ def patch_rom(world, rom, player, team, enemized): # fix trock doors for reverse entrances if world.fix_trock_doors[player]: + # do this unconditionally + world.get_room(0x23, player).change(0, DoorKind.CaveEntrance) + world.get_room(0xd5, player).change(0, DoorKind.CaveEntrance) rom.write_byte(0xFED31, 0x0E) # preopen bombable exit rom.write_byte(0xFEE41, 0x0E) # preopen bombable exit - # included unconditionally in base2current - #rom.write_byte(0xFE465, 0x1E) # remove small key door on backside of big key door - else: - rom.write_byte(0xFED31, 0x2A) # preopen bombable exit - rom.write_byte(0xFEE41, 0x2A) # preopen bombable exit if world.doorShuffle[player] != 'vanilla' or world.keydropshuffle[player]: for room in world.rooms: diff --git a/source/gui/bottom.py b/source/gui/bottom.py index 5e43b9d1..4d548adc 100644 --- a/source/gui/bottom.py +++ b/source/gui/bottom.py @@ -268,7 +268,7 @@ def create_guiargs(parent): guiargs.randomSprite = parent.randomSprite.get() # Get output path - guiargs.outputpath = parent.outputPath.get() + guiargs.outputpath = parent.settings["outputpath"] guiargs = update_deprecated_args(guiargs)