LADX: Fix crash in item pick up with > 100 players (#1658)

This commit is contained in:
zig-for 2023-04-03 17:23:39 -07:00 committed by GitHub
parent 5f447f4e6b
commit 5ed56db48a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View File

@ -259,9 +259,9 @@ def generateRom(args, settings, ap_settings, auth, seed_name, logic, rnd=None, m
mw = None
if spot.item_owner != spot.location_owner:
mw = spot.item_owner
if mw > 255:
# Don't torture the game with higher slot numbers
mw = 255
if mw > 100:
# There are only 101 player name slots (99 + "The Server" + "another world"), so don't use more than that
mw = 100
spot.patch(rom, spot.item, multiworld=mw)
patches.enemies.changeBosses(rom, world_setup.boss_mapping)
patches.enemies.changeMiniBosses(rom, world_setup.miniboss_mapping)

View File

@ -67,7 +67,12 @@ MessageAddFromPlayerOld:
; hahaha none of this follows calling conventions
MessageAddPlayerName:
; call MessagePad
; call MessagePad
cp 101
jr C, .continue
ld a, 100
.continue:
ld h, 0 ; bc = a, hl = a
ld l, a
ld b, 0
@ -79,6 +84,7 @@ MessageAddPlayerName:
add hl, bc ; 17
ld bc, MultiNamePointers
add hl, bc ; hl = MultiNamePointers + wLinkGiveItemFrom * 17
call MessageCopyString
ret