MultiClient fix for shop sram move

This commit is contained in:
aerinon
2022-05-13 16:09:03 -06:00
parent 6ab426b9f3
commit a48a73bcb7
3 changed files with 9 additions and 6 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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"