diff --git a/Main.py b/Main.py index ea40af54..2c43b714 100644 --- a/Main.py +++ b/Main.py @@ -31,7 +31,7 @@ from Utils import output_path, parse_player_names from source.item.FillUtil import create_item_pool_config, massage_item_pool, district_item_pool_config from source.tools.BPS import create_bps_from_data -__version__ = '1.0.2.2-v' +__version__ = '1.0.2.3-v' from source.classes.BabelFish import BabelFish diff --git a/MultiClient.py b/MultiClient.py index bc496f5b..fbde673d 100644 --- a/MultiClient.py +++ b/MultiClient.py @@ -90,9 +90,11 @@ INGAME_MODES = {0x07, 0x09, 0x0b} SAVEDATA_START = WRAM_START + 0xF000 SAVEDATA_SIZE = 0x500 -POT_ITEMS_SRAM_START = WRAM_START + 0x016018 -SPRITE_ITEMS_SRAM_START = WRAM_START + 0x016268 +POT_ITEMS_SRAM_START = WRAM_START + 0x016018 # 2 bytes per room +SPRITE_ITEMS_SRAM_START = WRAM_START + 0x016268 # 2 bytes per room +SHOP_SRAM_START = WRAM_START + 0x0164B8 # 2 bytes? ITEM_SRAM_SIZE = 0x250 +SHOP_SRAM_LEN = 0x29 # 41 tracked items RECV_PROGRESS_ADDR = SAVEDATA_START + 0x4D0 # 2 bytes RECV_ITEM_ADDR = SAVEDATA_START + 0x4D2 # 1 byte @@ -103,11 +105,9 @@ SCOUT_LOCATION_ADDR = SAVEDATA_START + 0x4D7 # 1 byte SCOUTREPLY_LOCATION_ADDR = SAVEDATA_START + 0x4D8 # 1 byte SCOUTREPLY_ITEM_ADDR = SAVEDATA_START + 0x4D9 # 1 byte SCOUTREPLY_PLAYER_ADDR = SAVEDATA_START + 0x4DA # 1 byte -SHOP_ADDR = SAVEDATA_START + 0x302 # 2 bytes? DYNAMIC_TOTAL_ADDR = SAVEDATA_START + 0x33E # 2 bytes MODE_FLAGS = SAVEDATA_START + 0x33D # 1 byte -SHOP_SRAM_LEN = 0x29 # 41 tracked items location_shop_order = [Regions.shop_to_location_table.keys()] + [Regions.retro_shops.keys()] location_shop_ids = {0x0112, 0x0110, 0x010F, 0x00FF, 0x011F, 0x0109, 0x0115} @@ -894,7 +894,7 @@ async def track_locations(ctx : Context, roomid, roomdata): try: if ctx.shop_mode or ctx.retro_mode: - misc_data = await snes_read(ctx, SHOP_ADDR, SHOP_SRAM_LEN) + misc_data = await snes_read(ctx, SHOP_SRAM_START, SHOP_SRAM_LEN) for cnt, b in enumerate(misc_data): my_check = Regions.shop_table_by_location_id[0x400000 + cnt] if int(b) > 0 and my_check not in ctx.locations_checked: diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8c5a8589..1ea8bfb4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -157,6 +157,9 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o #### Volatile +* 1.0.2.3 + * Fix MultiClient for new shop data location in SRAM + * Some minor text updates * 1.0.2.2 * Change to all key pots and enemy key drops: always use the same address * Don't colorize key pots in mystery is the item is "forced"