wip: fix boss/dataroom placement act2

This commit is contained in:
Lucy 2024-09-03 00:23:28 +02:00
parent 367fdd75ec
commit 01dee434bd

View file

@ -2746,13 +2746,23 @@ def patch_game():
roomEventOffset = int(sym.get('t_bossanddownloadevents'), 16)
itemEventOffset = int(sym.get('t_obtainitemevents'), 16)
securityOffset = int(sym.get('b_unlocklowerlevels'), 16)
print('roomEventOffset: 0x{:06X}'.format(roomEventOffset))
print('itemEventOffset: 0x{:06X}'.format(itemEventOffset))
print('securityOffset: 0x{:06X}'.format(securityOffset))
saxAnyOffset = int(sym.get('@t_saxany'), 16)
spawnBox = int(sym.get('@spawnbox'), 16)
spawnMegaCoreX = int(sym.get('@spawnmegacorex'), 16)
print('Debug values')
print(f'''roomEventOffset={roomEventOffset:06X}''')
print(f'''itemEventOffset={itemEventOffset:06X}''')
print(f'''securityOffset={securityOffset:06X}''')
print(f'''saxAnyOffset={saxAnyOffset:06X}''')
print(f'''spawnBox={spawnBox:06X}''')
print(f'''spawnMegaCoreX={spawnMegaCoreX:06X}''')
else:
roomEventOffset = 8326320
roomEventOffset = 8326304
itemEventOffset = 5726112
securityOffset = 479192
saxAnyOffset = 395796
spawnBox = 8326096
spawnMegaCoreX = 8326260
for area in RoomNodes:
areaIndex = list(RoomNodes.keys()).index(area)
for node in RoomNodes[area]:
@ -2909,16 +2919,28 @@ def patch_game():
if SeedSettings['-MISSILEDATA-']:
patchedGame.seek(24828)
patchedGame.write((15).to_bytes(1, 'little'))
patchedGame.seek(395742)
patchedGame.seek(saxAnyOffset + 1)
patchedGame.write((15).to_bytes(1, 'little'))
patchedGame.seek(465582)
patchedGame.write((15).to_bytes(1, 'little'))
patchedGame.seek(spawnBox + 13)
patchedGame.write((2).to_bytes(1, 'little'))
patchedGame.seek(spawnBox + 21)
patchedGame.write((4).to_bytes(1, 'little'))
patchedGame.seek(spawnBox + 29)
patchedGame.write((8).to_bytes(1, 'little'))
patchedGame.seek(spawnMegaCoreX + 13)
patchedGame.write((2).to_bytes(1, 'little'))
patchedGame.seek(spawnMegaCoreX + 21)
patchedGame.write((4).to_bytes(1, 'little'))
patchedGame.seek(spawnMegaCoreX + 29)
patchedGame.write((8).to_bytes(1, 'little'))
if SeedSettings['-PBDATA-']:
patchedGame.seek(24756)
patchedGame.write((32).to_bytes(1, 'little'))
patchedGame.seek(465672)
patchedGame.write((32).to_bytes(1, 'little'))
if SeedSettings['-SHUFFLESECTORS-'] == True or SeedSettings['-SHUFFLETUBES-'] == TRue:
if SeedSettings['-SHUFFLESECTORS-'] == True or SeedSettings['-SHUFFLETUBES-'] == True:
for currentArea in range(7):
patchedGame.seek(7977108 + currentArea * 4, 0)
data = patchedGame.read(4)