Archipelago/worlds/ladx/LADXR/patches/bank3e.asm/itemnames.asm

494 lines
12 KiB
NASM

BuildRemoteItemMessage:
ld de, wCustomMessage
call CustomItemMessageThreeFour
ld a, $A0 ; low of wCustomMessage
cp e
ret nz
BuildItemMessage:
ld hl, ItemNamePointers
ldh a, [$F1]
ld d, $00
ld e, a
add hl, de
add hl, de
ldi a, [hl]
ld h, [hl]
ld l, a
ld de, wCustomMessage
jp MessageCopyString
; And then see if the custom item message func wants to override
; add hl, de
CustomItemMessageThreeFour:
; the stack _should_ have the address to return to here, so we can just pop it when we're done
ld a, $34 ; Set bank number
ld hl, $4000 ; Set next address
push hl
jp $080C ; switch bank
FoundItemForOtherPlayerPostfix:
db m" for player X", $ff
GotItemFromOtherPlayerPostfix:
db m" from player X", $ff
SpaceFrom:
db " from ", $ff, $ff
SpaceFor:
db " for ", $ff, $ff
MessagePad:
jr .start ; goto start
.loop:
ld a, $20 ; a = ' '
ld [de], a ; *de = ' '
inc de ; de++
ld a, $ff ; a = 0xFF
ld [de], a ; *de = 0xff
.start:
ld a, e ; a = de & 0xF
and $0F ; a &= 0x0xF
jr nz, .loop ; if a != 0, goto loop
ret
MessageAddTargetPlayer:
call MessagePad
ld hl, FoundItemForOtherPlayerPostfix
call MessageCopyString
ret
MessageAddFromPlayerOld:
call MessagePad
ld hl, GotItemFromOtherPlayerPostfix
call MessageCopyString
ret
; hahaha none of this follows calling conventions
MessageAddPlayerName:
; call MessagePad
ld h, 0 ; bc = a, hl = a
ld l, a
ld b, 0
ld c, a
add hl, hl ; 2
add hl, hl ; 4
add hl, hl ; 8
add hl, hl ; 16
add hl, bc ; 17
ld bc, MultiNamePointers
add hl, bc ; hl = MultiNamePointers + wLinkGiveItemFrom * 17
call MessageCopyString
ret
ItemNamePointers:
dw ItemNamePowerBracelet
dw ItemNameShield
dw ItemNameBow
dw ItemNameHookshot
dw ItemNameMagicRod
dw ItemNamePegasusBoots
dw ItemNameOcarina
dw ItemNameFeather
dw ItemNameShovel
dw ItemNameMagicPowder
dw ItemNameBomb
dw ItemNameSword
dw ItemNameFlippers
dw ItemNameNone
dw ItemNameBoomerang
dw ItemNameSlimeKey
dw ItemNameMedicine
dw ItemNameTailKey
dw ItemNameAnglerKey
dw ItemNameFaceKey
dw ItemNameBirdKey
dw ItemNameGoldLeaf
dw ItemNameMap
dw ItemNameCompass
dw ItemNameStoneBeak
dw ItemNameNightmareKey
dw ItemNameSmallKey
dw ItemNameRupees50
dw ItemNameRupees20
dw ItemNameRupees100
dw ItemNameRupees200
dw ItemNameRupees500
dw ItemNameSeashell
dw ItemNameMessage
dw ItemNameGel
dw ItemNameKey1
dw ItemNameKey2
dw ItemNameKey3
dw ItemNameKey4
dw ItemNameKey5
dw ItemNameKey6
dw ItemNameKey7
dw ItemNameKey8
dw ItemNameKey9
dw ItemNameMap1
dw ItemNameMap2
dw ItemNameMap3
dw ItemNameMap4
dw ItemNameMap5
dw ItemNameMap6
dw ItemNameMap7
dw ItemNameMap8
dw ItemNameMap9
dw ItemNameCompass1
dw ItemNameCompass2
dw ItemNameCompass3
dw ItemNameCompass4
dw ItemNameCompass5
dw ItemNameCompass6
dw ItemNameCompass7
dw ItemNameCompass8
dw ItemNameCompass9
dw ItemNameStoneBeak1
dw ItemNameStoneBeak2
dw ItemNameStoneBeak3
dw ItemNameStoneBeak4
dw ItemNameStoneBeak5
dw ItemNameStoneBeak6
dw ItemNameStoneBeak7
dw ItemNameStoneBeak8
dw ItemNameStoneBeak9
dw ItemNameNightmareKey1
dw ItemNameNightmareKey2
dw ItemNameNightmareKey3
dw ItemNameNightmareKey4
dw ItemNameNightmareKey5
dw ItemNameNightmareKey6
dw ItemNameNightmareKey7
dw ItemNameNightmareKey8
dw ItemNameNightmareKey9
dw ItemNameToadstool
dw ItemNameNone ; 0x51
dw ItemNameNone ; 0x52
dw ItemNameNone ; 0x53
dw ItemNameNone ; 0x54
dw ItemNameNone ; 0x55
dw ItemNameNone ; 0x56
dw ItemNameNone ; 0x57
dw ItemNameNone ; 0x58
dw ItemNameNone ; 0x59
dw ItemNameNone ; 0x5a
dw ItemNameNone ; 0x5b
dw ItemNameNone ; 0x5c
dw ItemNameNone ; 0x5d
dw ItemNameNone ; 0x5e
dw ItemNameNone ; 0x5f
dw ItemNameNone ; 0x60
dw ItemNameNone ; 0x61
dw ItemNameNone ; 0x62
dw ItemNameNone ; 0x63
dw ItemNameNone ; 0x64
dw ItemNameNone ; 0x65
dw ItemNameNone ; 0x66
dw ItemNameNone ; 0x67
dw ItemNameNone ; 0x68
dw ItemNameNone ; 0x69
dw ItemNameNone ; 0x6a
dw ItemNameNone ; 0x6b
dw ItemNameNone ; 0x6c
dw ItemNameNone ; 0x6d
dw ItemNameNone ; 0x6e
dw ItemNameNone ; 0x6f
dw ItemNameNone ; 0x70
dw ItemNameNone ; 0x71
dw ItemNameNone ; 0x72
dw ItemNameNone ; 0x73
dw ItemNameNone ; 0x74
dw ItemNameNone ; 0x75
dw ItemNameNone ; 0x76
dw ItemNameNone ; 0x77
dw ItemNameNone ; 0x78
dw ItemNameNone ; 0x79
dw ItemNameNone ; 0x7a
dw ItemNameNone ; 0x7b
dw ItemNameNone ; 0x7c
dw ItemNameNone ; 0x7d
dw ItemNameNone ; 0x7e
dw ItemNameNone ; 0x7f
dw ItemNameHeartPiece ; 0x80
dw ItemNameBowwow
dw ItemName10Arrows
dw ItemNameSingleArrow
dw ItemNamePowderUpgrade
dw ItemNameBombUpgrade
dw ItemNameArrowUpgrade
dw ItemNameRedTunic
dw ItemNameBlueTunic
dw ItemNameHeartContainer
dw ItemNameBadHeartContainer
dw ItemNameSong1
dw ItemNameSong2
dw ItemNameSong3
dw ItemInstrument1
dw ItemInstrument2
dw ItemInstrument3
dw ItemInstrument4
dw ItemInstrument5
dw ItemInstrument6
dw ItemInstrument7
dw ItemInstrument8
dw ItemRooster
dw ItemTradeQuest1
dw ItemTradeQuest2
dw ItemTradeQuest3
dw ItemTradeQuest4
dw ItemTradeQuest5
dw ItemTradeQuest6
dw ItemTradeQuest7
dw ItemTradeQuest8
dw ItemTradeQuest9
dw ItemTradeQuest10
dw ItemTradeQuest11
dw ItemTradeQuest12
dw ItemTradeQuest13
dw ItemTradeQuest14
ItemNameNone:
db m"NONE", $ff
ItemNamePowerBracelet:
db m"Got the {POWER_BRACELET}", $ff
ItemNameShield:
db m"Got a {SHIELD}", $ff
ItemNameBow:
db m"Got the {BOW}", $ff
ItemNameHookshot:
db m"Got the {HOOKSHOT}", $ff
ItemNameMagicRod:
db m"Got the {MAGIC_ROD}", $ff
ItemNamePegasusBoots:
db m"Got the {PEGASUS_BOOTS}", $ff
ItemNameOcarina:
db m"Got the {OCARINA}", $ff
ItemNameFeather:
db m"Got the {FEATHER}", $ff
ItemNameShovel:
db m"Got the {SHOVEL}", $ff
ItemNameMagicPowder:
db m"Got {MAGIC_POWDER}", $ff
ItemNameBomb:
db m"Got {BOMB}", $ff
ItemNameSword:
db m"Got a {SWORD}", $ff
ItemNameFlippers:
db m"Got the {FLIPPERS}", $ff
ItemNameBoomerang:
db m"Got the {BOOMERANG}", $ff
ItemNameSlimeKey:
db m"Got the {SLIME_KEY}", $ff
ItemNameMedicine:
db m"Got some {MEDICINE}", $ff
ItemNameTailKey:
db m"Got the {TAIL_KEY}", $ff
ItemNameAnglerKey:
db m"Got the {ANGLER_KEY}", $ff
ItemNameFaceKey:
db m"Got the {FACE_KEY}", $ff
ItemNameBirdKey:
db m"Got the {BIRD_KEY}", $ff
ItemNameGoldLeaf:
db m"Got the {GOLD_LEAF}", $ff
ItemNameMap:
db m"Got the {MAP}", $ff
ItemNameCompass:
db m"Got the {COMPASS}", $ff
ItemNameStoneBeak:
db m"Got the {STONE_BEAK}", $ff
ItemNameNightmareKey:
db m"Got the {NIGHTMARE_KEY}", $ff
ItemNameSmallKey:
db m"Got a {KEY}", $ff
ItemNameRupees50:
db m"Got 50 {RUPEES}", $ff
ItemNameRupees20:
db m"Got 20 {RUPEES}", $ff
ItemNameRupees100:
db m"Got 100 {RUPEES}", $ff
ItemNameRupees200:
db m"Got 200 {RUPEES}", $ff
ItemNameRupees500:
db m"Got 500 {RUPEES}", $ff
ItemNameSeashell:
db m"Got a {SEASHELL}", $ff
ItemNameGel:
db m"Got a Zol Attack", $ff
ItemNameMessage:
db m"Got ... nothing?", $ff
ItemNameKey1:
db m"Got a {KEY1}", $ff
ItemNameKey2:
db m"Got a {KEY2}", $ff
ItemNameKey3:
db m"Got a {KEY3}", $ff
ItemNameKey4:
db m"Got a {KEY4}", $ff
ItemNameKey5:
db m"Got a {KEY5}", $ff
ItemNameKey6:
db m"Got a {KEY6}", $ff
ItemNameKey7:
db m"Got a {KEY7}", $ff
ItemNameKey8:
db m"Got a {KEY8}", $ff
ItemNameKey9:
db m"Got a {KEY9}", $ff
ItemNameMap1:
db m"Got the {MAP1}", $ff
ItemNameMap2:
db m"Got the {MAP2}", $ff
ItemNameMap3:
db m"Got the {MAP3}", $ff
ItemNameMap4:
db m"Got the {MAP4}", $ff
ItemNameMap5:
db m"Got the {MAP5}", $ff
ItemNameMap6:
db m"Got the {MAP6}", $ff
ItemNameMap7:
db m"Got the {MAP7}", $ff
ItemNameMap8:
db m"Got the {MAP8}", $ff
ItemNameMap9:
db m"Got the {MAP9}", $ff
ItemNameCompass1:
db m"Got the {COMPASS1}", $ff
ItemNameCompass2:
db m"Got the {COMPASS2}", $ff
ItemNameCompass3:
db m"Got the {COMPASS3}", $ff
ItemNameCompass4:
db m"Got the {COMPASS4}", $ff
ItemNameCompass5:
db m"Got the {COMPASS5}", $ff
ItemNameCompass6:
db m"Got the {COMPASS6}", $ff
ItemNameCompass7:
db m"Got the {COMPASS7}", $ff
ItemNameCompass8:
db m"Got the {COMPASS8}", $ff
ItemNameCompass9:
db m"Got the {COMPASS9}", $ff
ItemNameStoneBeak1:
db m"Got the {STONE_BEAK1}", $ff
ItemNameStoneBeak2:
db m"Got the {STONE_BEAK2}", $ff
ItemNameStoneBeak3:
db m"Got the {STONE_BEAK3}", $ff
ItemNameStoneBeak4:
db m"Got the {STONE_BEAK4}", $ff
ItemNameStoneBeak5:
db m"Got the {STONE_BEAK5}", $ff
ItemNameStoneBeak6:
db m"Got the {STONE_BEAK6}", $ff
ItemNameStoneBeak7:
db m"Got the {STONE_BEAK7}", $ff
ItemNameStoneBeak8:
db m"Got the {STONE_BEAK8}", $ff
ItemNameStoneBeak9:
db m"Got the {STONE_BEAK9}", $ff
ItemNameNightmareKey1:
db m"Got the {NIGHTMARE_KEY1}", $ff
ItemNameNightmareKey2:
db m"Got the {NIGHTMARE_KEY2}", $ff
ItemNameNightmareKey3:
db m"Got the {NIGHTMARE_KEY3}", $ff
ItemNameNightmareKey4:
db m"Got the {NIGHTMARE_KEY4}", $ff
ItemNameNightmareKey5:
db m"Got the {NIGHTMARE_KEY5}", $ff
ItemNameNightmareKey6:
db m"Got the {NIGHTMARE_KEY6}", $ff
ItemNameNightmareKey7:
db m"Got the {NIGHTMARE_KEY7}", $ff
ItemNameNightmareKey8:
db m"Got the {NIGHTMARE_KEY8}", $ff
ItemNameNightmareKey9:
db m"Got the {NIGHTMARE_KEY9}", $ff
ItemNameToadstool:
db m"Got the {TOADSTOOL}", $ff
ItemNameHeartPiece:
db m"Got the {HEART_PIECE}", $ff
ItemNameBowwow:
db m"Got the {BOWWOW}", $ff
ItemName10Arrows:
db m"Got {ARROWS_10}", $ff
ItemNameSingleArrow:
db m"Got the {SINGLE_ARROW}", $ff
ItemNamePowderUpgrade:
db m"Got the {MAX_POWDER_UPGRADE}", $ff
ItemNameBombUpgrade:
db m"Got the {MAX_BOMBS_UPGRADE}", $ff
ItemNameArrowUpgrade:
db m"Got the {MAX_ARROWS_UPGRADE}", $ff
ItemNameRedTunic:
db m"Got the {RED_TUNIC}", $ff
ItemNameBlueTunic:
db m"Got the {BLUE_TUNIC}", $ff
ItemNameHeartContainer:
db m"Got a {HEART_CONTAINER}", $ff
ItemNameBadHeartContainer:
db m"Got the {BAD_HEART_CONTAINER}", $ff
ItemNameSong1:
db m"Got the {SONG1}", $ff
ItemNameSong2:
db m"Got {SONG2}", $ff
ItemNameSong3:
db m"Got {SONG3}", $ff
ItemInstrument1:
db m"You've got the {INSTRUMENT1}", $ff
ItemInstrument2:
db m"You've got the {INSTRUMENT2}", $ff
ItemInstrument3:
db m"You've got the {INSTRUMENT3}", $ff
ItemInstrument4:
db m"You've got the {INSTRUMENT4}", $ff
ItemInstrument5:
db m"You've got the {INSTRUMENT5}", $ff
ItemInstrument6:
db m"You've got the {INSTRUMENT6}", $ff
ItemInstrument7:
db m"You've got the {INSTRUMENT7}", $ff
ItemInstrument8:
db m"You've got the {INSTRUMENT8}", $ff
ItemRooster:
db m"You've got the {ROOSTER}", $ff
ItemTradeQuest1:
db m"You've got the Yoshi Doll", $ff
ItemTradeQuest2:
db m"You've got the Ribbon", $ff
ItemTradeQuest3:
db m"You've got the Dog Food", $ff
ItemTradeQuest4:
db m"You've got the Bananas", $ff
ItemTradeQuest5:
db m"You've got the Stick", $ff
ItemTradeQuest6:
db m"You've got the Honeycomb", $ff
ItemTradeQuest7:
db m"You've got the Pineapple", $ff
ItemTradeQuest8:
db m"You've got the Hibiscus", $ff
ItemTradeQuest9:
db m"You've got the Letter", $ff
ItemTradeQuest10:
db m"You've got the Broom", $ff
ItemTradeQuest11:
db m"You've got the Fishing Hook", $ff
ItemTradeQuest12:
db m"You've got the Necklace", $ff
ItemTradeQuest13:
db m"You've got the Scale", $ff
ItemTradeQuest14:
db m"You've got the Magnifying Lens", $ff
MultiNamePointers: