ref: cf4ec47b153f59ec377bef48fb5ea442638c6421
parent: 42df1ed844d3a9e5f5fbe2aceb48c59a4451dcbd
parent: b3d8c2ec4938773e09c123ddda0df844f8008978
author: Bryan Bishop <[email protected]>
date: Sun May 12 02:21:45 EDT 2013
Merge pull request #130 from Sanky/master Menu stuff, battle text split & extras.
--- a/extras/gbz80disasm.py
+++ b/extras/gbz80disasm.py
@@ -861,4 +861,10 @@
if __name__ == "__main__":
- print output_bank_opcodes(int(sys.argv[1], 16))[0]
+ addr = sys.argv[1]
+ if ":" in addr:
+ addr = addr.split(":")
+ addr = int(addr[0], 16)*0x4000+(int(addr[1], 16)%0x4000)
+ else:
+ addr = int(addr, 16)
+ print output_bank_opcodes(addr)[0]
--- /dev/null
+++ b/extras/parse_consecutive_strings.py
@@ -1,0 +1,25 @@
+import sys
+
+import crystal
+
+rom = crystal.load_rom()
+
+addr = int(sys.argv[1], 16)
+count = int(sys.argv[2]) if len(sys.argv) > 2 else 256
+label_prefix = sys.argv[3] if len(sys.argv) > 3 else "UnknownString"
+
+ex = None
+
+for i in range(count):
+ try:
+ string = crystal.PokedexText(addr)
+ asm = string.to_asm()
+ except Exception as ex:
+ break
+ print label_prefix+str(i)+": ; "+hex(addr)
+ print "\t"+asm
+ addr = string.last_address
+
+print "; "+hex(addr)
+if ex: raise ex
--- a/main.asm
+++ b/main.asm
@@ -2108,8 +2108,51 @@
ret
; 1875
-INCBIN "baserom.gbc", $1875, $2063 - $1875
+INCBIN "baserom.gbc", $1875, $1e70 - $1875
+SetUpMenu: ; 1e70
+ call MenuFunc_1e7f ; ???
+ call MenuWriteText
+ call $1eff ; set up selection pointer
+ ld hl, $cfa5
+ set 7, [hl]
+ ret
+
+MenuFunc_1e7f: ; 0x1e7f
+ call $1c66
+ call $1ebd
+ call $1ea6
+ call $1cbb
+ ret
+
+MenuWriteText: ; 0x1e8c
+ xor a
+ ld [hBGMapMode], a
+ call $1ebd ; sort out the text
+ call $1eda ; actually write it
+ call $2e31
+ ld a, [hOAMUpdate]
+ push af
+ ld a, $1
+ ld [hOAMUpdate], a
+ call $321c
+ pop af
+ ld [hOAMUpdate], a
+ ret
+; 0x1ea6
+
+INCBIN "baserom.gbc", $1ea6, $2009 - $1ea6
+
+PlayClickSFX: ; $2009
+ push de
+ ld de, SFX_READ_TEXT_2
+ call StartSFX
+ pop de
+ ret
+; 0x2012
+
+INCBIN "baserom.gbc", $2012, $2063 - $2012
+
AskSerial: ; 2063
; send out a handshake while serial int is off
ld a, [$c2d4]
@@ -6207,8 +6250,306 @@
db "- ? ! ♂ ♀ / . , &"
db "lower DEL END "
-INCBIN "baserom.gbc", $11e5d, $12976 - $11e5d
+INCBIN "baserom.gbc", $11e5d, $125cd - $11e5d
+OpenMenu: ; 0x125cd
+ call $1fbf
+ ld de, SFX_MENU
+ call StartSFX
+ ld a, $1
+ ld hl, $6454
+ rst FarCall
+ ld hl, $d84d
+ bit 2, [hl]
+ ld hl, $66d3
+ jr z, .asm_125e9
+ ld hl, $66db ; draw the menu a little lower
+.asm_125e9
+ call $1d35
+ call SetUpMenuItems
+ ld a, [$d0d2]
+ ld [$cf88], a
+ call DrawMenuAccount_
+ call $1e7f
+ call $68d1
+ call $2e31
+ call $2e20
+ ld a, $1
+ ld hl, $64bf
+ rst $8
+ call $68de
+ call $0485
+ jr .wait
+.reopen
+ call $1ad2
+ call $0485
+ call $6829
+ ld a, [$d0d2]
+ ld [$cf88], a
+.wait
+ call MenuWait
+ jr c, .exit
+ call DrawMenuAccount
+ ld a, [$cf88]
+ ld [$d0d2], a
+ call PlayClickSFX
+ call $1bee
+ call $67e5
+; code when you return from a submenu. some submenus force you to quit
+; the menu, like save. option forces it to redraw completely.
+ ld hl, .MenuReturnPointerTable
+ ld e, a
+ ld d, $0
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+.MenuReturnPointerTable: ; $6644
+ dw .reopen
+ dw .exit
+ dw $66a2 ; invalid?
+ dw $6699 ; invalid?
+ dw $6691 ; invalid?
+ dw .end
+ dw $66b1 ; redraw
+
+.exit
+ ld a, [$ffd8]
+ push af
+ ld a, $1
+ ld [hOAMUpdate], a
+ call $0e5f
+ pop af
+ ld [hOAMUpdate], a
+.end
+ call $1c07
+ call $2dcf
+ call $0485
+ ret
+
+MenuWait: ; 0x12669
+; returns nc if A was pressed, c if B.
+ xor a
+ ld [hBGMapMode], a
+ call DrawMenuAccount
+ call SetUpMenu
+ ld a, $ff
+ ld [MenuSelection], a
+.loop
+ call PrintMenuAccount
+ call $1f1a
+ ld a, [$cf73]
+ cp BUTTON_B
+ jr z, .b_button
+ cp BUTTON_A
+ jr z, .a_button
+ jr .loop
+.a_button
+ call PlayClickSFX
+ and a
+ ret
+.b_button
+ scf
+ ret
+; 0x12691
+
+
+INCBIN "baserom.gbc", $12691, $12721 - $12691
+
+MenuStringDex: ; 0x12721
+ db "#DEX@"
+
+MenuStringMon: ; 0x12726
+ db "#MON@"
+
+MenuStringPack: ; 0x1272b
+ db "PACK@"
+
+MenuStringProfile: ; 0x12730
+ db $52, "@"
+
+MenuStringSave: ; 0x12732
+ db "SAVE@"
+
+MenuStringOption: ; 0x12737
+ db "OPTION@"
+
+MenuStringExit: ; 0x1273e
+ db "EXIT@"
+
+MenuStringGear: ; 0x12743
+ db $24, "GEAR@"
+
+MenuStringQuit: ; 0x12749
+ db "QUIT@"
+
+MenuStringDescDex: ; 0x1274e
+ db "#MON", $4e, "database@"
+
+MenuStringDescParty: ; 0x1275c
+ db "Party ", $4a, $4e, "status@"
+
+MenuStringDescPack: ; 0x1276b
+ db "Contains", $4e, "items@"
+
+MenuStringDescGear: ; 0x1277a
+ db "Trainer's", $4e, "key device@"
+
+MenuStringDescProfile: ; 0x1278e
+ db "Your own", $4e, "status@"
+
+MenuStringDescSave: ; 0x1279e
+ db "Save your", $4e, "progress@"
+
+MenuStringDescOption: ; 0x127b1
+ db "Change", $4e, "settings@"
+
+MenuStringDescExit: ; 0x127c1
+ db "Close this", $4e, "menu@"
+
+MenuStringDescRetire: ; 0x127d1
+ db "Quit and", $4e, "be judged.@"
+
+; 0x127e5
+
+INCBIN "baserom.gbc", $127e5, $12800 - $127e5
+
+WriteMenuAccount:
+ push de
+ ld a, [MenuSelection]
+ cp $ff
+ jr z, .none
+ call GetMenuAccountTextPointer
+ inc hl
+ inc hl
+ inc hl
+ inc hl
+ ld a, [hli]
+ ld d, [hl]
+ ld e, a
+ pop hl
+ call PlaceString
+ ret
+.none
+ pop de
+ ret
+
+GetMenuAccountTextPointer: ; 0x12819
+ ld e, a
+ ld d, $0
+ ld hl, $cf97 ; table is dynamic and stored in memory
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ add hl, de
+ ret
+
+SetUpMenuItems: ; 4:6829 = 0x12829
+ xor a
+ ld [$cf76], a
+ call $688d
+ ld hl, $d84c
+ bit 0, [hl]
+ jr z, .no_pokedex
+ ld a, $0
+ call AppendMenuList
+.no_pokedex
+ ld a, [PartyCount]
+ and a
+ jr z, .no_pokemon
+ ld a, $1
+ call AppendMenuList
+.no_pokemon
+ ld a, [InLinkBattle]
+ and a
+ jr nz, .no_pack
+ ld hl, $d84d
+ bit 2, [hl]
+ jr nz, .no_pack
+ ld a, $2
+ call AppendMenuList
+.no_pack
+ ld hl, $d957
+ bit 7, [hl]
+ jr z, .no_exit
+ ld a, $7
+ call AppendMenuList
+.no_exit
+ ld a, $3
+ call AppendMenuList
+ ld a, [InLinkBattle]
+ and a
+ jr nz, .no_save
+ ld hl, $d84d
+ bit 2, [hl]
+ ld a, $8
+ jr nz, .write
+ ld a, $4
+.write
+ call AppendMenuList
+.no_save
+ ld a, $5
+ call AppendMenuList
+ ld a, $6
+ call AppendMenuList
+ ld a, c
+ ld [MenuItemsList], a
+ ret
+
+FillMenuList: ; 0x1288d
+ xor a
+ ld hl, MenuItemsList
+ ld [hli], a
+ ld a, $ff
+ ld bc, $000f
+ call ByteFill
+ ld de, MenuItemsList+1
+ ld c, 0
+ ret
+
+AppendMenuList: ; 0x128a0
+ ld [de], a
+ inc de
+ inc c
+ ret
+
+DrawMenuAccount_:; 0x128a4
+ jp DrawMenuAccount
+
+PrintMenuAccount: ; 4:68a7 0x128a7
+ call IsMenuAccountOn
+ ret z
+ call DrawMenuAccount
+ decoord 0, 14 ; $c5b8
+ jp $6800
+
+DrawMenuAccount: ; 4:68b4 0x128b4
+ call IsMenuAccountOn
+ ret z
+ hlcoord 0, 13 ; $c5a4
+ ld bc, $050a
+ call ClearBox
+ hlcoord 0, 13 ; $c5a4
+ ld b, $3
+ ld c, $8
+ jp TextBoxPalette
+
+IsMenuAccountOn: ; 0x128cb
+ ld a, [Options2]
+ and $1
+ ret
+; 0x128d1
+
+INCBIN "baserom.gbc", $128d1, $12976 - $128d1
+
OpenPartyMenu: ; $12976
ld a, [PartyCount]
and a
@@ -6273,7 +6614,7 @@
ld hl, $4d19
rst FarCall
call $389c
- ld a, [$cf74] ; menu selection?
+ ld a, [MenuSelection]
ld hl, PokemonSubmenuActionPointerTable
ld de, $0003 ; skip 3 bytes each time
call IsInArray
@@ -10520,1111 +10861,8 @@
INCBIN "baserom.gbc", $80648, $80730-$80648
-BattleText_0x80730: ; 0x80730
- db $0, $52, " picked up", $4f
- db "¥@"
- deciram $c6ec, $36
- db $0, "!", $58
-; 0x80746
+INCLUDE "text/battle.asm"
-WildPokemonAppearedText: ; 0x80746
- db $0, "Wild @"
- text_from_ram $c616
- db $0, $4f
- db "appeared!", $58
-; 0x8075c
-
-HookedPokemonAttackedText: ; 0x8075c
- db $0, "The hooked", $4f
- db "@"
- text_from_ram $c616
- db $0, $55
- db "attacked!", $58
-; 0x80778
-
-PokemonFellFromTreeText: ; 0x80778
- text_from_ram $c616
- db $0, " fell", $4f
- db "out of the tree!", $58
-; 0x80793
-
-WildPokemonAppearedText2: ; 0x80793
- db $0, "Wild @"
- text_from_ram $c616
- db $0, $4f
- db "appeared!", $58
-; 0x807a9
-
-WantsToBattleText: ; 0x807a9
- db $0, $3f, $4f
- db "wants to battle!", $58
-; 0x807bd
-
-BattleText_0x807bd: ; 0x807bd
- db $0, "Wild @"
- text_from_ram $c616
- db $0, $4f
- db "fled!", $58
-; 0x807cf
-
-BattleText_0x807cf: ; 0x807cf
- db $0, "Enemy @"
- text_from_ram $c616
- db $0, $4f
- db "fled!", $58
-; 0x807e2
-
-BattleText_0x807e2: ; 0x807e2
- db $0, $5a, $4f
- db "is hurt by poison!", $58
-; 0x807f8
-
-BattleText_0x807f8: ; 0x807f8
- db $0, $5a, "'s", $4f
- db "hurt by its burn!", $58
-; 0x8080e
-
-BattleText_0x8080e: ; 0x8080e
- db $0, "LEECH SEED saps", $4f
- db $5a, "!", $58
-; 0x80822
-
-BattleText_0x80822: ; 0x80822
- db $0, $5a, $4f
- db "has a NIGHTMARE!", $58
-; 0x80836
-
-BattleText_0x80836: ; 0x80836
- db $0, $5a, "'s", $4f
- db "hurt by the CURSE!", $58
-; 0x8084d
-
-BattleText_0x8084d: ; 0x8084d
- db $0, "The SANDSTORM hits", $4f
- db $5a, "!", $58
-; 0x80864
-
-BattleText_0x80864: ; 0x80864
- db $0, $5a, "'s", $4f
- db "PERISH count is @"
- deciram $d265, $11
- db $0, "!", $58
-; 0x80880
-
-BattleText_0x80880: ; 0x80880
- db $0, $59, $4f
- db "recovered with", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, ".", $58
-; 0x80899
-
-BattleText_0x80899: ; 0x80899
- db $0, $5a, $4f
- db "recovered PP using", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, ".", $58
-; 0x808b6
-
-BattleText_0x808b6: ; 0x808b6
- db $0, $59, $4f
- db "was hit by FUTURE", $55
- db "SIGHT!", $58
-; 0x808d2
-
-BattleText_0x808d2: ; 0x808d2
- db $0, $5a, "'s", $4f
- db "SAFEGUARD faded!", $58
-; 0x808e7
-
-BattleText_0x808e7: ; 0x808e7
- text_from_ram StringBuffer1
- db $0, " #MON's", $4f
- db "LIGHT SCREEN fell!", $58
-; 0x80905
-
-BattleText_0x80905: ; 0x80905
- text_from_ram StringBuffer1
- db $0, " #MON's", $4f
- db "REFLECT faded!", $58
-; 0x8091f
-
-BattleText_0x8091f: ; 0x8091f
- db $0, "Rain continues to", $4f
- db "fall.", $58
-; 0x80938
-
-BattleText_0x80938: ; 0x80938
- db $0, "The sunlight is", $4f
- db "strong.", $58
-; 0x80951
-
-BattleText_0x80951: ; 0x80951
- db $0, "The SANDSTORM", $4f
- db "rages.", $58
-; 0x80967
-
-BattleText_0x80967: ; 0x80967
- db $0, "The rain stopped.", $58
-; 0x8097a
-
-BattleText_0x8097a: ; 0x8097a
- db $0, "The sunlight", $4f
- db "faded.", $58
-; 0x8098f
-
-BattleText_0x8098f: ; 0x8098f
- db $0, "The SANDSTORM", $4f
- db "subsided.", $58
-; 0x809a8
-
-BattleText_0x809a8: ; 0x809a8
- db $0, "Enemy @"
- text_from_ram $c616
- db $0, $4f
- db "fainted!", $58
-; 0x809be
-
-BattleText_0x809be: ; 0x809be
- db $0, $52, " got ¥@"
- deciram $c686, $36
- db $0, $4f
- db "for winning!", $58
-; 0x809da
-
-BattleText_0x809da: ; 0x809da
- db $0, $3f, $4f
- db "was defeated!", $58
-; 0x809eb
-
-BattleText_0x809eb: ; 0x809eb
- db $0, "Tied against", $4f
- db $3f, "!", $58
-; 0x809fc
-
-BattleText_0x809fc: ; 0x809fc
- db $0, $52, " got ¥@"
- deciram $c686, $36
- db $0, $4f
- db "for winning!", $55
- db "Sent some to MOM!", $58
-; 0x80a2a
-
-BattleText_0x80a2a: ; 0x80a2a
- db $0, "Sent half to MOM!", $58
-; 0x80a3d
-
-BattleText_0x80a3d: ; 0x80a3d
- db $0, "Sent all to MOM!", $58
-; 0x80a4f
-
-BattleText_0x80a4f: ; 0x80a4f
- db $0, $53, ": Huh? I", $4f
- db "should've chosen", $55
- db "your #MON!", $58
-; 0x80a75
-
-BattleText_0x80a75: ; 0x80a75
- text_from_ram $c621
- db $0, $4f
- db "fainted!", $58
-; 0x80a83
-
-BattleText_0x80a83: ; 0x80a83
- db $0, "Use next #MON?", $57
-; 0x80a93
-
-BattleText_0x80a93: ; 0x80a93
- db $0, $53, ": Yes!", $4f
- db "I guess I chose a", $55
- db "good #MON!", $58
-; 0x80ab9
-
-BattleText_0x80ab9: ; 0x80ab9
- db $0, "Lost against", $4f
- db $3f, "!", $58
-; 0x80aca
-
-BattleText_0x80aca: ; 0x80aca
- db $0, $3f, $4f
- db "is about to use", $55
- db "@"
- text_from_ram $c616
- db $0, ".", $51
- db "Will ", $52, $4f
- db "change #MON?", $57
-; 0x80af8
-
-BattleText_0x80af8: ; 0x80af8
- db $0, $3f, $4f
- db "sent out", $55
- db "@"
- text_from_ram $c616
- db $0, "!", $57
-; 0x80b0b
-
-BattleText_0x80b0b: ; 0x80b0b
- db $0, "There's no will to", $4f
- db "battle!", $58
-; 0x80b26
-
-BattleText_0x80b26: ; 0x80b26
- db $0, "An EGG can't", $4f
- db "battle!", $58
-; 0x80b3b
-
-BattleText_0x80b3b: ; 0x80b3b
- db $0, "Can't escape!", $58
-; 0x80b49
-
-BattleText_0x80b49: ; 0x80b49
- db $0, "No! There's no", $4f
- db "running from a", $55
- db "trainer battle!", $58
-; 0x80b77
-
-BattleText_0x80b77: ; 0x80b77
- db $0, "Got away safely!", $58
-; 0x80b89
-
-BattleText_0x80b89: ; 0x80b89
- db $0, $5a, $4f
- db "fled using a", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x80ba0
-
-BattleText_0x80ba0: ; 0x80ba0
- db $0, "Can't escape!", $58
-; 0x80bae
-
-BattleText_0x80bae: ; 0x80bae
- db $0, $5a, "'s", $4f
- db "hurt by SPIKES!", $58
-; 0x80bc2
-
-RecoveredUsingText: ; 0x80bc2
- db $0, $59, $4f
- db "recovered using a", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x80bde
-
-BattleText_0x80bde: ; 0x80bde
- db $0, $5a, "'s", $4f
- db "@"
- text_from_ram StringBuffer1
- db $0, $55
- db "activated!", $58
-; 0x80bf3
-
-BattleText_0x80bf3: ; 0x80bf3
- db $0, "Items can't be", $4f
- db "used here.", $58
-; 0x80c0d
-
-BattleText_0x80c0d: ; 0x80c0d
- text_from_ram $c621
- db $0, $4f
- db "is already out.", $58
-; 0x80c22
-
-BattleText_0x80c22: ; 0x80c22
- text_from_ram $c621
- db $0, $4f
- db "can't be recalled!", $58
-; 0x80c39
-
-BattleText_0x80c39: ; 0x80c39
- db $0, "There's no PP left", $4f
- db "for this move!", $58
-; 0x80c5b
-
-BattleText_0x80c5b: ; 0x80c5b
- db $0, "The move is", $4f
- db "DISABLED!", $58
-; 0x80c72
-
-BattleText_0x80c72: ; 0x80c72
- text_from_ram $c621
- db $0, $4f
- db "has no moves left!", $57
-; 0x80c8a
-
-BattleText_0x80c8a: ; 0x80c8a
- db $0, $59, "'s", $4f
- db "ENCORE ended!", $58
-; 0x80c9c
-
-BattleText_0x80c9c: ; 0x80c9c
- text_from_ram StringBuffer1
- db $0, " grew to", $4f
- db "level @"
- deciram $d143, $13
- db $0, "!@"
- sound0
- db $50
-; 0x80cb9
-
-BattleText_0x80cb9: ; 0x80cb9
- db $50
-; 0x80cba
-
-BattleText_0x80cba: ; 0x80cba
- db $0, "Wild @"
- text_from_ram $c616
- db $0, $4f
- db "is eating!", $58
-; 0x80cd1
-
-BattleText_0x80cd1: ; 0x80cd1
- db $0, "Wild @"
- text_from_ram $c616
- db $0, $4f
- db "is angry!", $58
-; 0x80ce7
-
-FastAsleepText: ; 0x80ce7
- db $0, $5a, $4f
- db "is fast asleep!", $58
-; 0x80cfa
-
-WokeUpText: ; 0x80cfa
- db $0, $5a, $4f
- db "woke up!", $58
-; 0x80d06
-
-FrozenSolidText: ; 0x80d06
- db $0, $5a, $4f
- db "is frozen solid!", $58
-; 0x80d1a
-
-FlinchedText: ; 0x80d1a
- db $0, $5a, $4f
- db "flinched!", $58
-; 0x80d27
-
-MustRechargeText: ; 0x80d27
- db $0, $5a, $4f
- db "must recharge!", $58
-; 0x80d39
-
-DisabledNoMoreText: ; 0x80d39
- db $0, $5a, "'s", $4f
- db "disabled no more!", $58
-; 0x80d4f
-
-IsConfusedText: ; 0x80d4f
- db $0, $5a, $4f
- db "is confused!", $58
-; 0x80d5f
-
-HurtItselfText: ; 0x80d5f
- db $0, "It hurt itself in", $4f
- db "its confusion!", $58
-; 0x80d81
-
-ConfusedNoMoreText: ; 0x80d81
- db $0, $5a, "'s", $4f
- db "confused no more!", $58
-; 0x80d97
-
-BecameConfusedText: ; 0x80d97
- db $0, $59, $4f
- db "became confused!", $58
-; 0x80dab
-
-BattleText_0x80dab: ; 0x80dab
- db $0, "A @"
- text_from_ram StringBuffer1
- db $0, " rid", $4f
- db $59, $55
- db "of its confusion.", $58
-; 0x80dcc
-
-AlreadyConfusedText: ; 0x80dcc
- db $0, $59, "'s", $4f
- db "already confused!", $58
-; 0x80de2
-
-BattleText_0x80de2: ; 0x80de2
- db $0, $5a, "'s", $4f
- db "hurt by", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x80df5
-
-BattleText_0x80df5: ; 0x80df5
- db $0, $5a, $4f
- db "was released from", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x80e11
-
-UsedBindText: ; 0x80e11
- db $0, $5a, $4f
- db "used BIND on", $55
- db $59, "!", $58
-; 0x80e24
-
-WhirlpoolTrapText: ; 0x80e24
- db $0, $59, $4f
- db "was trapped!", $58
-; 0x80e34
-
-FireSpinTrapText: ; 0x80e34
- db $0, $59, $4f
- db "was trapped!", $58
-; 0x80e44
-
-WrappedByText: ; 0x80e44
- db $0, $59, $4f
- db "was WRAPPED by", $55
- db $5a, "!", $58
-; 0x80e59
-
-ClampedByText: ; 0x80e59
- db $0, $59, $4f
- db "was CLAMPED by", $55
- db $5a, "!", $58
-; 0x80e6e
-
-StoringEnergyText: ; 0x80e6e
- db $0, $5a, $4f
- db "is storing energy!", $58
-; 0x80e84
-
-UnleashedEnergyText: ; 0x80e84
- db $0, $5a, $4f
- db "unleashed energy!", $58
-; 0x80e99
-
-HungOnText: ; 0x80e99
- db $0, $59, $4f
- db "hung on with", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x80eb0
-
-EnduredText: ; 0x80eb0
- db $0, $59, $4f
- db "ENDURED the hit!", $58
-; 0x80ec4
-
-InLoveWithText: ; 0x80ec4
- db $0, $5a, $4f
- db "is in love with", $55
- db $59, "!", $58
-; 0x80eda
-
-InfatuationText: ; 0x80eda
- db $0, $5a, "'s", $4f
- db "infatuation kept", $55
- db "it from attacking!", $58
-; 0x80f02
-
-DisabledMoveText: ; 0x80f02
- db $0, $5a, "'s", $4f
- db "@"
- text_from_ram StringBuffer1
- db $0, " is", $55
- db "DISABLED!", $58
-; 0x80f19
-
-LoafingAroundText: ; 0x80f19
- text_from_ram $c621
- db $0, " is", $4f
- db "loafing around.", $58
-; 0x80f31
-
-BeganToNapText: ; 0x80f31
- text_from_ram $c621
- db $0, " began", $4f
- db "to nap!", $58
-; 0x80f44
-
-WontObeyText: ; 0x80f44
- text_from_ram $c621
- db $0, " won't", $4f
- db "obey!", $58
-; 0x80f54
-
-TurnedAwayText: ; 0x80f54
- text_from_ram $c621
- db $0, " turned", $4f
- db "away!", $58
-; 0x80f66
-
-IgnoredOrdersText: ; 0x80f66
- text_from_ram $c621
- db $0, " ignored", $4f
- db "orders!", $58
-; 0x80f7b
-
-IgnoredSleepingText: ; 0x80f7b
- text_from_ram $c621
- db $0, " ignored", $4f
- db "orders…sleeping!", $58
-; 0x80f99
-
-NoPPLeftText: ; 0x80f99
- db $0, "But no PP is left", $4f
- db "for the move!", $58
-; 0x80fba
-
-HasNoPPLeftText: ; 0x80fba
- db $0, $5a, $4f
- db "has no PP left for", $55
- db "@"
- text_from_ram $d086
- db $0, "!", $58
-; 0x80fd7
-
-WentToSleepText: ; 0x80fd7
- db $0, $5a, $4f
- db "went to sleep!", $57
-; 0x80fe9
-
-RestedText: ; 0x80fe9
- db $0, $5a, $4f
- db "fell asleep and", $55
- db "became healthy!", $57
-; 0x8100c
-
-RegainedHealthText: ; 0x8100c
- db $0, $5a, $4f
- db "regained health!", $58
-; 0x81020
-
-AttackMissedText: ; 0x81020
- db $0, $5a, "'s", $4f
- db "attack missed!", $58
-; 0x81033
-
-AttackMissed2Text: ; 0x81033
- db $0, $5a, "'s", $4f
- db "attack missed!", $58
-; 0x81046
-
-CrashedText: ; 0x81046
- db $0, $5a, $4f
- db "kept going and", $55
- db "crashed!", $58
-; 0x81061
-
-UnaffectedText: ; 0x81061
- db $0, $59, "'s", $4f
- db "unaffected!", $58
-; 0x81071
-
-DoesntAffectText: ; 0x81071
- db $0, "It doesn't affect", $4f
- db $59, "!", $58
-; 0x81086
-
-CriticalHitText: ; 0x81086
- db $0, "A critical hit!", $58
-; 0x81097
-
-OneHitKOText: ; 0x81097
- db $0, "It's a one-hit KO!", $58
-; 0x810aa
-
-SuperEffectiveText: ; 0x810aa
- db $0, "It's super-", $4f
- db "effective!", $58
-; 0x810c1
-
-NotVeryEffectiveText: ; 0x810c1
- db $0, "It's not very", $4f
- db "effective…", $58
-; 0x810da
-
-TookDownWithItText: ; 0x810da
- db $0, $59, $4f
- db "took down with it,", $55
- db $5a, "!", $58
-; 0x810f3
-
-RageBuildingText: ; 0x810f3
- db $0, $5a, "'s", $4f
- db "RAGE is building!", $58
-; 0x81109
-
-GotAnEncoreText: ; 0x81109
- db $0, $59, $4f
- db "got an ENCORE!", $58
-; 0x8111b
-
-SharedPainText: ; 0x8111b
- db $0, "The battlers", $4f
- db "shared pain!", $58
-; 0x81136
-
-TookAimText: ; 0x81136
- db $0, $5a, $4f
- db "took aim!", $58
-; 0x81143
-
-SketchedText: ; 0x81143
- db $0, $5a, $4f
- db "SKETCHED", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x81156
-
-DestinyBondEffectText: ; 0x81156
- db $0, $5a, "'s", $4f
- db "trying to take its", $55
- db "opponent with it!", $58
-; 0x8117f
-
-SpiteEffectText: ; 0x8117f
- db $0, $59, "'s", $4f
- db "@"
- text_from_ram StringBuffer1
- db $0, " was", $55
- db "reduced by @"
- deciram $d265, $11
- db $0, "!", $58
-; 0x811a0
-
-BellChimedText: ; 0x811a0
- db $0, "A bell chimed!", $4f
- db $58
-; 0x811b1
-
-FellAsleepText: ; 0x811b1
- db $0, $59, $4f
- db "fell asleep!", $58
-; 0x811c1
-
-AlreadyAsleepText: ; 0x811c1
- db $0, $59, "'s", $4f
- db "already asleep!", $58
-; 0x811d5
-
-WasPoisonedText: ; 0x811d5
- db $0, $59, $4f
- db "was poisoned!", $58
-; 0x811e6
-
-BadlyPoisonedText: ; 0x811e6
- db $0, $59, "'s", $4f
- db "badly poisoned!", $58
-; 0x811fa
-
-AlreadyPoisonedText: ; 0x811fa
- db $0, $59, "'s", $4f
- db "already poisoned!", $58
-; 0x81210
-
-SuckedHealthText: ; 0x81210
- db $0, "Sucked health from", $4f
- db $59, "!", $58
-; 0x81227
-
-DreamEatenText: ; 0x81227
- db $0, $59, "'s", $4f
- db "dream was eaten!", $58
-; 0x8123c
-
-WasBurnedText: ; 0x8123c
- db $0, $59, $4f
- db "was burned!", $58
-; 0x8124b
-
-DefrostedOpponentText: ; 0x8124b
- db $0, $59, $4f
- db "was defrosted!", $58
-; 0x8125d
-
-WasFrozenText: ; 0x8125d
- db $0, $59, $4f
- db "was frozen solid!", $58
-; 0x81272
-
-WontRiseAnymoreText: ; 0x81272
- db $0, $5a, "'s", $4f
- db "@"
- text_from_ram $d086
- db $0, " won't", $55
- db "rise anymore!", $58
-; 0x8128f
-
-WontDropAnymoreText: ; 0x8128f
- db $0, $59, "'s", $4f
- db "@"
- text_from_ram $d086
- db $0, " won't", $55
- db "drop anymore!", $58
-; 0x812ac
-
-FledFromBattleText: ; 0x812ac
- db $0, $5a, $4f
- db "fled from battle!", $58
-; 0x812c1
-
-FledInFearText: ; 0x812c1
- db $0, $59, $4f
- db "fled in fear!", $58
-; 0x812d2
-
-BlownAwayText: ; 0x812d2
- db $0, $59, $4f
- db "was blown away!", $58
-; 0x812e5
-
-PlayerHitTimesText: ; 0x812e5
- db $0, "Hit @"
- deciram $c682, $11
- db $0, " times!", $58
-; 0x812f8
-
-EnemyHitTimesText: ; 0x812f8
- db $0, "Hit @"
- deciram $c684, $11
- db $0, " times!", $58
-; 0x8130b
-
-MistText: ; 0x8130b
- db $0, $5a, "'s", $4f
- db "shrouded in MIST!", $58
-; 0x81321
-
-ProtectedByMistText: ; 0x81321
- db $0, $59, "'s", $4f
- db "protected by MIST.", $58
-; 0x81338
-
-GettingPumpedText: ; 0x81338
- interpret_data
- db $0, $5a, "'s", $4f
- db "getting pumped!", $58
-; 0x8134d
-
-RecoilText: ; 0x8134d
- db $0, $5a, "'s", $4f
- db "hit with recoil!", $58
-; 0x81362
-
-MadeSubstituteText: ; 0x81362
- db $0, $5a, $4f
- db "made a SUBSTITUTE!", $58
-; 0x81378
-
-HasSubstituteText: ; 0x81378
- db $0, $5a, $4f
- db "has a SUBSTITUTE!", $58
-; 0x8138d
-
-TooWeakSubText: ; 0x8138d
- db $0, "Too weak to make", $4f
- db "a SUBSTITUTE!", $58
-; 0x813ad
-
-SubTookDamageText: ; 0x813ad
- db $0, "The SUBSTITUTE", $4f
- db "took damage for", $55
- db $59, "!", $58
-; 0x813d0
-
-SubFadedText: ; 0x813d0
- db $0, $59, "'s", $4f
- db "SUBSTITUTE faded!", $58
-; 0x813e6
-
-LearnedMoveText: ; 0x813e6
- db $0, $5a, $4f
- db "learned", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x813f8
-
-WasSeededText: ; 0x813f8
- db $0, $59, $4f
- db "was seeded!", $58
-; 0x81407
-
-EvadedText: ; 0x81407
- db $0, $59, $4f
- db "evaded the attack!", $58
-; 0x8141d
-
-WasDisabledText: ; 0x8141d
- db $0, $59, "'s", $4f
- db "@"
- text_from_ram StringBuffer1
- db $0, " was", $55
- db "DISABLED!", $58
-; 0x81435
-
-CoinsScatteredText: ; 0x81435
- db $0, "Coins scattered", $4f
- db "everywhere!", $58
-; 0x81452
-
-TransformedTypeText: ; 0x81452
- db $0, $5a, $4f
- db "transformed into", $55
- db "the @"
- text_from_ram StringBuffer1
- db $0, "-type!", $58
-; 0x81476
-
-EliminatedStatsText: ; 0x81476
- db $0, "All stat changes", $4f
- db "were eliminated!", $58
-; 0x81499
-
-TransformedText: ; 0x81499
- db $0, $5a, $4f
- db "TRANSFORMED into", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x814b4
-
-LightScreenEffectText: ; 0x814b4
- db $0, $5a, "'s", $4f
- db "SPCL.DEF rose!", $58
-; 0x814c7
-
-ReflectEffectText: ; 0x814c7
- db $0, $5a, "'s", $4f
- db "DEFENSE rose!", $58
-; 0x814d9
-
-NothingHappenedText: ; 0x814d9
- db $0, "But nothing", $4f
- db "happened.", $58
-; 0x814f0
-
-ButItFailedText: ; 0x814f0
- db $0, "But it failed!", $58
-; 0x81500
-
-ItFailedText: ; 0x81500
- db $0, "It failed!", $58
-; 0x8150c
-
-DidntAffect1Text: ; 0x8150c
- db $0, "It didn't affect", $4f
- db $59, "!", $58
-; 0x81520
-
-DidntAffect2Text: ; 0x81520
- db $0, "It didn't affect", $4f
- db $59, "!", $58
-; 0x81534
-
-HPIsFullText: ; 0x81534
- db $0, $5a, "'s", $4f
- db "HP is full!", $58
-; 0x81544
-
-DraggedOutText: ; 0x81544
- db $0, $5a, $4f
- db "was dragged out!", $58
-; 0x81558
-
-ParalyzedText: ; 0x81558
- db $0, $59, "'s", $4f
- db "paralyzed! Maybe", $55
- db "it can't attack!", $58
-; 0x8157d
-
-FullyParalyzedText: ; 0x8157d
- db $0, $5a, "'s", $4f
- db "fully paralyzed!", $58
-; 0x81592
-
-AlreadyParalyzedText: ; 0x81592
- db $0, $59, "'s", $4f
- db "already paralyzed!", $58
-; 0x815a9
-
-ProtectedByText: ; 0x815a9
- db $0, $59, "'s", $4f
- db "protected by", $55
- db "@"
- text_from_ram StringBuffer1
- db $0, "!", $58
-; 0x815c1
-
-MirrorMoveFailedText: ; 0x815c1
- db $0, "The MIRROR MOVE", $4e, "failed!", $58
-; 0x815da
-
-StoleText: ; 0x815da
- db $0, $5a, $4f
- db "stole @"
- text_from_ram StringBuffer1
- db $0, $55
- db "from its foe!", $58
-; 0x815f7
-
-CantEscapeNowText: ; 0x815f7
- db $0, $59, $4f
- db "can't escape now!", $58
-; 0x8160b
-
-StartedNightmareText: ; 0x8160b
- db $0, $59, $4f
- db "started to have a", $55
- db "NIGHTMARE!", $58
-; 0x8162b
-
-WasDefrostedText: ; 0x8162b
- db $0, $5a, $4f
- db "was defrosted!", $58
-; 0x8163d
-
-PutACurseText: ; 0x8163d
- db $0, $5a, $4f
- db "cut its own HP and", $51
- db "put a CURSE on", $4f
- db $59, "!", $58
-; 0x81665
-
-ProtectedItselfText: ; 0x81665
- db $0, $5a, $4f
- db "PROTECTED itself!", $58
-; 0x8167a
-
-ProtectingItselfText: ; 0x8167a
- db $0, $59, "'s", $4f
- db "PROTECTING itself!", $57
-; 0x81691
-
-SpikesText: ; 0x81691
- db $0, "SPIKES scattered", $4f
- db "all around", $55
- db $59, "!", $58
-; 0x816b1
-
-IdentifiedText: ; 0x816b1
- db $0, $5a, $4f
- db "identified", $55
- db $59, "!", $58
-; 0x816c2
-
-StartPerishText: ; 0x816c2
- db $0, "Both #MON will", $4f
- db "faint in 3 turns!", $58
-; 0x816e4
-
-SandstormBrewedText: ; 0x816e4
- db $0, "A SANDSTORM", $4f
- db "brewed!", $58
-; 0x816f9
-
-BracedItselfText: ; 0x816f9
- db $0, $5a, $4f
- db "braced itself!", $58
-; 0x8170b
-
-FellInLoveText: ; 0x8170b
- db $0, $59, $4f
- db "fell in love!", $58
-; 0x8171c
-
-CoveredByVeilText: ; 0x8171c
- db $0, $5a, "'s", $4f
- db "covered by a veil!", $58
-; 0x81733
-
-SafeguardProtectText: ; 0x81733
- db $0, $59, $4f
- db "is protected by", $55
- db "SAFEGUARD!", $58
-; 0x81751
-
-MagnitudeText: ; 0x81751
- db $0, "Magnitude @"
- deciram $d265, $11
- db $0, "!", $58
-; 0x81764
-
-ReleasedByText: ; 0x81764
- db $0, $5a, $4f
- db "was released by", $55
- db $59, "!", $58
-; 0x8177a
-
-ShedLeechSeedText: ; 0x8177a
- db $0, $5a, $4f
- db "shed LEECH SEED!", $58
-; 0x8178e
-
-BlewSpikesText: ; 0x8178e
- db $0, $5a, $4f
- db "blew away SPIKES!", $58
-; 0x817a3
-
-DownpourText: ; 0x817a3
- db $0, "A downpour", $4f
- db "started!", $58
-; 0x817b8
-
-SunGotBrightText: ; 0x817b8
- db $0, "The sunlight got", $4f
- db "bright!", $58
-; 0x817d2
-
-BellyDrumText: ; 0x817d2
- db $0, $5a, $4f
- db "cut its HP and", $55
- db "maximized ATTACK!", $58
-; 0x817f6
-
-CopiedStatsText: ; 0x817f6
- db $0, $5a, $4f
- db "copied the stat", $51
- db "changes of", $4f
- db $59, "!", $58
-; 0x81817
-
-ForesawAttackText: ; 0x81817
- db $0, $5a, $4f
- db "foresaw an attack!", $58
-; 0x8182d
-
-BeatUpAttackText: ; 0x8182d
- text_from_ram StringBuffer1
- db $0, "'s", $4f
- db "attack!", $57
-; 0x8183b
-
-RefusedGiftText: ; 0x8183b
- db $0, $59, $4f
- db "refused the gift!", $58
-; 0x81850
-
-IgnoredOrders2Text: ; 0x81850
- db $0, $5a, $4f
- db "ignored orders!", $58
-; 0x81863
-
-BattleText_0x81863: ; 0x81863
- db $0, "Link error…", $51
- db "The battle has", $4f
- db "been canceled…", $58
-; 0x8188e
-
-BattleText_0x8188e: ; 0x8188e
- db $0, "There is no time", $4f
- db "left today!", $57
-; 0x818ac
-
INCBIN "baserom.gbc", $818ac, $81fe3-$818ac
DebugColorTestGFX:
@@ -17796,7 +17034,7 @@
ld [hl], a
ret
.asm_117b8c
- call $2009
+ call PlayClickSFX
ld a, [$cf64]
and a
jr nz, .asm_117ba4 ; 0x117b93 $f
--- /dev/null
+++ b/text/battle.asm
@@ -1,0 +1,1104 @@
+BattleText_0x80730: ; 0x80730
+ db $0, $52, " picked up", $4f
+ db "¥@"
+ deciram $c6ec, $36
+ db $0, "!", $58
+; 0x80746
+
+WildPokemonAppearedText: ; 0x80746
+ db $0, "Wild @"
+ text_from_ram $c616
+ db $0, $4f
+ db "appeared!", $58
+; 0x8075c
+
+HookedPokemonAttackedText: ; 0x8075c
+ db $0, "The hooked", $4f
+ db "@"
+ text_from_ram $c616
+ db $0, $55
+ db "attacked!", $58
+; 0x80778
+
+PokemonFellFromTreeText: ; 0x80778
+ text_from_ram $c616
+ db $0, " fell", $4f
+ db "out of the tree!", $58
+; 0x80793
+
+WildPokemonAppearedText2: ; 0x80793
+ db $0, "Wild @"
+ text_from_ram $c616
+ db $0, $4f
+ db "appeared!", $58
+; 0x807a9
+
+WantsToBattleText: ; 0x807a9
+ db $0, $3f, $4f
+ db "wants to battle!", $58
+; 0x807bd
+
+BattleText_0x807bd: ; 0x807bd
+ db $0, "Wild @"
+ text_from_ram $c616
+ db $0, $4f
+ db "fled!", $58
+; 0x807cf
+
+BattleText_0x807cf: ; 0x807cf
+ db $0, "Enemy @"
+ text_from_ram $c616
+ db $0, $4f
+ db "fled!", $58
+; 0x807e2
+
+BattleText_0x807e2: ; 0x807e2
+ db $0, $5a, $4f
+ db "is hurt by poison!", $58
+; 0x807f8
+
+BattleText_0x807f8: ; 0x807f8
+ db $0, $5a, "'s", $4f
+ db "hurt by its burn!", $58
+; 0x8080e
+
+BattleText_0x8080e: ; 0x8080e
+ db $0, "LEECH SEED saps", $4f
+ db $5a, "!", $58
+; 0x80822
+
+BattleText_0x80822: ; 0x80822
+ db $0, $5a, $4f
+ db "has a NIGHTMARE!", $58
+; 0x80836
+
+BattleText_0x80836: ; 0x80836
+ db $0, $5a, "'s", $4f
+ db "hurt by the CURSE!", $58
+; 0x8084d
+
+BattleText_0x8084d: ; 0x8084d
+ db $0, "The SANDSTORM hits", $4f
+ db $5a, "!", $58
+; 0x80864
+
+BattleText_0x80864: ; 0x80864
+ db $0, $5a, "'s", $4f
+ db "PERISH count is @"
+ deciram $d265, $11
+ db $0, "!", $58
+; 0x80880
+
+BattleText_0x80880: ; 0x80880
+ db $0, $59, $4f
+ db "recovered with", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, ".", $58
+; 0x80899
+
+BattleText_0x80899: ; 0x80899
+ db $0, $5a, $4f
+ db "recovered PP using", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, ".", $58
+; 0x808b6
+
+BattleText_0x808b6: ; 0x808b6
+ db $0, $59, $4f
+ db "was hit by FUTURE", $55
+ db "SIGHT!", $58
+; 0x808d2
+
+BattleText_0x808d2: ; 0x808d2
+ db $0, $5a, "'s", $4f
+ db "SAFEGUARD faded!", $58
+; 0x808e7
+
+BattleText_0x808e7: ; 0x808e7
+ text_from_ram StringBuffer1
+ db $0, " #MON's", $4f
+ db "LIGHT SCREEN fell!", $58
+; 0x80905
+
+BattleText_0x80905: ; 0x80905
+ text_from_ram StringBuffer1
+ db $0, " #MON's", $4f
+ db "REFLECT faded!", $58
+; 0x8091f
+
+BattleText_0x8091f: ; 0x8091f
+ db $0, "Rain continues to", $4f
+ db "fall.", $58
+; 0x80938
+
+BattleText_0x80938: ; 0x80938
+ db $0, "The sunlight is", $4f
+ db "strong.", $58
+; 0x80951
+
+BattleText_0x80951: ; 0x80951
+ db $0, "The SANDSTORM", $4f
+ db "rages.", $58
+; 0x80967
+
+BattleText_0x80967: ; 0x80967
+ db $0, "The rain stopped.", $58
+; 0x8097a
+
+BattleText_0x8097a: ; 0x8097a
+ db $0, "The sunlight", $4f
+ db "faded.", $58
+; 0x8098f
+
+BattleText_0x8098f: ; 0x8098f
+ db $0, "The SANDSTORM", $4f
+ db "subsided.", $58
+; 0x809a8
+
+BattleText_0x809a8: ; 0x809a8
+ db $0, "Enemy @"
+ text_from_ram $c616
+ db $0, $4f
+ db "fainted!", $58
+; 0x809be
+
+BattleText_0x809be: ; 0x809be
+ db $0, $52, " got ¥@"
+ deciram $c686, $36
+ db $0, $4f
+ db "for winning!", $58
+; 0x809da
+
+BattleText_0x809da: ; 0x809da
+ db $0, $3f, $4f
+ db "was defeated!", $58
+; 0x809eb
+
+BattleText_0x809eb: ; 0x809eb
+ db $0, "Tied against", $4f
+ db $3f, "!", $58
+; 0x809fc
+
+BattleText_0x809fc: ; 0x809fc
+ db $0, $52, " got ¥@"
+ deciram $c686, $36
+ db $0, $4f
+ db "for winning!", $55
+ db "Sent some to MOM!", $58
+; 0x80a2a
+
+BattleText_0x80a2a: ; 0x80a2a
+ db $0, "Sent half to MOM!", $58
+; 0x80a3d
+
+BattleText_0x80a3d: ; 0x80a3d
+ db $0, "Sent all to MOM!", $58
+; 0x80a4f
+
+BattleText_0x80a4f: ; 0x80a4f
+ db $0, $53, ": Huh? I", $4f
+ db "should've chosen", $55
+ db "your #MON!", $58
+; 0x80a75
+
+BattleText_0x80a75: ; 0x80a75
+ text_from_ram $c621
+ db $0, $4f
+ db "fainted!", $58
+; 0x80a83
+
+BattleText_0x80a83: ; 0x80a83
+ db $0, "Use next #MON?", $57
+; 0x80a93
+
+BattleText_0x80a93: ; 0x80a93
+ db $0, $53, ": Yes!", $4f
+ db "I guess I chose a", $55
+ db "good #MON!", $58
+; 0x80ab9
+
+BattleText_0x80ab9: ; 0x80ab9
+ db $0, "Lost against", $4f
+ db $3f, "!", $58
+; 0x80aca
+
+BattleText_0x80aca: ; 0x80aca
+ db $0, $3f, $4f
+ db "is about to use", $55
+ db "@"
+ text_from_ram $c616
+ db $0, ".", $51
+ db "Will ", $52, $4f
+ db "change #MON?", $57
+; 0x80af8
+
+BattleText_0x80af8: ; 0x80af8
+ db $0, $3f, $4f
+ db "sent out", $55
+ db "@"
+ text_from_ram $c616
+ db $0, "!", $57
+; 0x80b0b
+
+BattleText_0x80b0b: ; 0x80b0b
+ db $0, "There's no will to", $4f
+ db "battle!", $58
+; 0x80b26
+
+BattleText_0x80b26: ; 0x80b26
+ db $0, "An EGG can't", $4f
+ db "battle!", $58
+; 0x80b3b
+
+BattleText_0x80b3b: ; 0x80b3b
+ db $0, "Can't escape!", $58
+; 0x80b49
+
+BattleText_0x80b49: ; 0x80b49
+ db $0, "No! There's no", $4f
+ db "running from a", $55
+ db "trainer battle!", $58
+; 0x80b77
+
+BattleText_0x80b77: ; 0x80b77
+ db $0, "Got away safely!", $58
+; 0x80b89
+
+BattleText_0x80b89: ; 0x80b89
+ db $0, $5a, $4f
+ db "fled using a", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x80ba0
+
+BattleText_0x80ba0: ; 0x80ba0
+ db $0, "Can't escape!", $58
+; 0x80bae
+
+BattleText_0x80bae: ; 0x80bae
+ db $0, $5a, "'s", $4f
+ db "hurt by SPIKES!", $58
+; 0x80bc2
+
+RecoveredUsingText: ; 0x80bc2
+ db $0, $59, $4f
+ db "recovered using a", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x80bde
+
+BattleText_0x80bde: ; 0x80bde
+ db $0, $5a, "'s", $4f
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, $55
+ db "activated!", $58
+; 0x80bf3
+
+BattleText_0x80bf3: ; 0x80bf3
+ db $0, "Items can't be", $4f
+ db "used here.", $58
+; 0x80c0d
+
+BattleText_0x80c0d: ; 0x80c0d
+ text_from_ram $c621
+ db $0, $4f
+ db "is already out.", $58
+; 0x80c22
+
+BattleText_0x80c22: ; 0x80c22
+ text_from_ram $c621
+ db $0, $4f
+ db "can't be recalled!", $58
+; 0x80c39
+
+BattleText_0x80c39: ; 0x80c39
+ db $0, "There's no PP left", $4f
+ db "for this move!", $58
+; 0x80c5b
+
+BattleText_0x80c5b: ; 0x80c5b
+ db $0, "The move is", $4f
+ db "DISABLED!", $58
+; 0x80c72
+
+BattleText_0x80c72: ; 0x80c72
+ text_from_ram $c621
+ db $0, $4f
+ db "has no moves left!", $57
+; 0x80c8a
+
+BattleText_0x80c8a: ; 0x80c8a
+ db $0, $59, "'s", $4f
+ db "ENCORE ended!", $58
+; 0x80c9c
+
+BattleText_0x80c9c: ; 0x80c9c
+ text_from_ram StringBuffer1
+ db $0, " grew to", $4f
+ db "level @"
+ deciram $d143, $13
+ db $0, "!@"
+ sound0
+ db $50
+; 0x80cb9
+
+BattleText_0x80cb9: ; 0x80cb9
+ db $50
+; 0x80cba
+
+BattleText_0x80cba: ; 0x80cba
+ db $0, "Wild @"
+ text_from_ram $c616
+ db $0, $4f
+ db "is eating!", $58
+; 0x80cd1
+
+BattleText_0x80cd1: ; 0x80cd1
+ db $0, "Wild @"
+ text_from_ram $c616
+ db $0, $4f
+ db "is angry!", $58
+; 0x80ce7
+
+FastAsleepText: ; 0x80ce7
+ db $0, $5a, $4f
+ db "is fast asleep!", $58
+; 0x80cfa
+
+WokeUpText: ; 0x80cfa
+ db $0, $5a, $4f
+ db "woke up!", $58
+; 0x80d06
+
+FrozenSolidText: ; 0x80d06
+ db $0, $5a, $4f
+ db "is frozen solid!", $58
+; 0x80d1a
+
+FlinchedText: ; 0x80d1a
+ db $0, $5a, $4f
+ db "flinched!", $58
+; 0x80d27
+
+MustRechargeText: ; 0x80d27
+ db $0, $5a, $4f
+ db "must recharge!", $58
+; 0x80d39
+
+DisabledNoMoreText: ; 0x80d39
+ db $0, $5a, "'s", $4f
+ db "disabled no more!", $58
+; 0x80d4f
+
+IsConfusedText: ; 0x80d4f
+ db $0, $5a, $4f
+ db "is confused!", $58
+; 0x80d5f
+
+HurtItselfText: ; 0x80d5f
+ db $0, "It hurt itself in", $4f
+ db "its confusion!", $58
+; 0x80d81
+
+ConfusedNoMoreText: ; 0x80d81
+ db $0, $5a, "'s", $4f
+ db "confused no more!", $58
+; 0x80d97
+
+BecameConfusedText: ; 0x80d97
+ db $0, $59, $4f
+ db "became confused!", $58
+; 0x80dab
+
+BattleText_0x80dab: ; 0x80dab
+ db $0, "A @"
+ text_from_ram StringBuffer1
+ db $0, " rid", $4f
+ db $59, $55
+ db "of its confusion.", $58
+; 0x80dcc
+
+AlreadyConfusedText: ; 0x80dcc
+ db $0, $59, "'s", $4f
+ db "already confused!", $58
+; 0x80de2
+
+BattleText_0x80de2: ; 0x80de2
+ db $0, $5a, "'s", $4f
+ db "hurt by", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x80df5
+
+BattleText_0x80df5: ; 0x80df5
+ db $0, $5a, $4f
+ db "was released from", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x80e11
+
+UsedBindText: ; 0x80e11
+ db $0, $5a, $4f
+ db "used BIND on", $55
+ db $59, "!", $58
+; 0x80e24
+
+WhirlpoolTrapText: ; 0x80e24
+ db $0, $59, $4f
+ db "was trapped!", $58
+; 0x80e34
+
+FireSpinTrapText: ; 0x80e34
+ db $0, $59, $4f
+ db "was trapped!", $58
+; 0x80e44
+
+WrappedByText: ; 0x80e44
+ db $0, $59, $4f
+ db "was WRAPPED by", $55
+ db $5a, "!", $58
+; 0x80e59
+
+ClampedByText: ; 0x80e59
+ db $0, $59, $4f
+ db "was CLAMPED by", $55
+ db $5a, "!", $58
+; 0x80e6e
+
+StoringEnergyText: ; 0x80e6e
+ db $0, $5a, $4f
+ db "is storing energy!", $58
+; 0x80e84
+
+UnleashedEnergyText: ; 0x80e84
+ db $0, $5a, $4f
+ db "unleashed energy!", $58
+; 0x80e99
+
+HungOnText: ; 0x80e99
+ db $0, $59, $4f
+ db "hung on with", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x80eb0
+
+EnduredText: ; 0x80eb0
+ db $0, $59, $4f
+ db "ENDURED the hit!", $58
+; 0x80ec4
+
+InLoveWithText: ; 0x80ec4
+ db $0, $5a, $4f
+ db "is in love with", $55
+ db $59, "!", $58
+; 0x80eda
+
+InfatuationText: ; 0x80eda
+ db $0, $5a, "'s", $4f
+ db "infatuation kept", $55
+ db "it from attacking!", $58
+; 0x80f02
+
+DisabledMoveText: ; 0x80f02
+ db $0, $5a, "'s", $4f
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, " is", $55
+ db "DISABLED!", $58
+; 0x80f19
+
+LoafingAroundText: ; 0x80f19
+ text_from_ram $c621
+ db $0, " is", $4f
+ db "loafing around.", $58
+; 0x80f31
+
+BeganToNapText: ; 0x80f31
+ text_from_ram $c621
+ db $0, " began", $4f
+ db "to nap!", $58
+; 0x80f44
+
+WontObeyText: ; 0x80f44
+ text_from_ram $c621
+ db $0, " won't", $4f
+ db "obey!", $58
+; 0x80f54
+
+TurnedAwayText: ; 0x80f54
+ text_from_ram $c621
+ db $0, " turned", $4f
+ db "away!", $58
+; 0x80f66
+
+IgnoredOrdersText: ; 0x80f66
+ text_from_ram $c621
+ db $0, " ignored", $4f
+ db "orders!", $58
+; 0x80f7b
+
+IgnoredSleepingText: ; 0x80f7b
+ text_from_ram $c621
+ db $0, " ignored", $4f
+ db "orders…sleeping!", $58
+; 0x80f99
+
+NoPPLeftText: ; 0x80f99
+ db $0, "But no PP is left", $4f
+ db "for the move!", $58
+; 0x80fba
+
+HasNoPPLeftText: ; 0x80fba
+ db $0, $5a, $4f
+ db "has no PP left for", $55
+ db "@"
+ text_from_ram $d086
+ db $0, "!", $58
+; 0x80fd7
+
+WentToSleepText: ; 0x80fd7
+ db $0, $5a, $4f
+ db "went to sleep!", $57
+; 0x80fe9
+
+RestedText: ; 0x80fe9
+ db $0, $5a, $4f
+ db "fell asleep and", $55
+ db "became healthy!", $57
+; 0x8100c
+
+RegainedHealthText: ; 0x8100c
+ db $0, $5a, $4f
+ db "regained health!", $58
+; 0x81020
+
+AttackMissedText: ; 0x81020
+ db $0, $5a, "'s", $4f
+ db "attack missed!", $58
+; 0x81033
+
+AttackMissed2Text: ; 0x81033
+ db $0, $5a, "'s", $4f
+ db "attack missed!", $58
+; 0x81046
+
+CrashedText: ; 0x81046
+ db $0, $5a, $4f
+ db "kept going and", $55
+ db "crashed!", $58
+; 0x81061
+
+UnaffectedText: ; 0x81061
+ db $0, $59, "'s", $4f
+ db "unaffected!", $58
+; 0x81071
+
+DoesntAffectText: ; 0x81071
+ db $0, "It doesn't affect", $4f
+ db $59, "!", $58
+; 0x81086
+
+CriticalHitText: ; 0x81086
+ db $0, "A critical hit!", $58
+; 0x81097
+
+OneHitKOText: ; 0x81097
+ db $0, "It's a one-hit KO!", $58
+; 0x810aa
+
+SuperEffectiveText: ; 0x810aa
+ db $0, "It's super-", $4f
+ db "effective!", $58
+; 0x810c1
+
+NotVeryEffectiveText: ; 0x810c1
+ db $0, "It's not very", $4f
+ db "effective…", $58
+; 0x810da
+
+TookDownWithItText: ; 0x810da
+ db $0, $59, $4f
+ db "took down with it,", $55
+ db $5a, "!", $58
+; 0x810f3
+
+RageBuildingText: ; 0x810f3
+ db $0, $5a, "'s", $4f
+ db "RAGE is building!", $58
+; 0x81109
+
+GotAnEncoreText: ; 0x81109
+ db $0, $59, $4f
+ db "got an ENCORE!", $58
+; 0x8111b
+
+SharedPainText: ; 0x8111b
+ db $0, "The battlers", $4f
+ db "shared pain!", $58
+; 0x81136
+
+TookAimText: ; 0x81136
+ db $0, $5a, $4f
+ db "took aim!", $58
+; 0x81143
+
+SketchedText: ; 0x81143
+ db $0, $5a, $4f
+ db "SKETCHED", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x81156
+
+DestinyBondEffectText: ; 0x81156
+ db $0, $5a, "'s", $4f
+ db "trying to take its", $55
+ db "opponent with it!", $58
+; 0x8117f
+
+SpiteEffectText: ; 0x8117f
+ db $0, $59, "'s", $4f
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, " was", $55
+ db "reduced by @"
+ deciram $d265, $11
+ db $0, "!", $58
+; 0x811a0
+
+BellChimedText: ; 0x811a0
+ db $0, "A bell chimed!", $4f
+ db $58
+; 0x811b1
+
+FellAsleepText: ; 0x811b1
+ db $0, $59, $4f
+ db "fell asleep!", $58
+; 0x811c1
+
+AlreadyAsleepText: ; 0x811c1
+ db $0, $59, "'s", $4f
+ db "already asleep!", $58
+; 0x811d5
+
+WasPoisonedText: ; 0x811d5
+ db $0, $59, $4f
+ db "was poisoned!", $58
+; 0x811e6
+
+BadlyPoisonedText: ; 0x811e6
+ db $0, $59, "'s", $4f
+ db "badly poisoned!", $58
+; 0x811fa
+
+AlreadyPoisonedText: ; 0x811fa
+ db $0, $59, "'s", $4f
+ db "already poisoned!", $58
+; 0x81210
+
+SuckedHealthText: ; 0x81210
+ db $0, "Sucked health from", $4f
+ db $59, "!", $58
+; 0x81227
+
+DreamEatenText: ; 0x81227
+ db $0, $59, "'s", $4f
+ db "dream was eaten!", $58
+; 0x8123c
+
+WasBurnedText: ; 0x8123c
+ db $0, $59, $4f
+ db "was burned!", $58
+; 0x8124b
+
+DefrostedOpponentText: ; 0x8124b
+ db $0, $59, $4f
+ db "was defrosted!", $58
+; 0x8125d
+
+WasFrozenText: ; 0x8125d
+ db $0, $59, $4f
+ db "was frozen solid!", $58
+; 0x81272
+
+WontRiseAnymoreText: ; 0x81272
+ db $0, $5a, "'s", $4f
+ db "@"
+ text_from_ram $d086
+ db $0, " won't", $55
+ db "rise anymore!", $58
+; 0x8128f
+
+WontDropAnymoreText: ; 0x8128f
+ db $0, $59, "'s", $4f
+ db "@"
+ text_from_ram $d086
+ db $0, " won't", $55
+ db "drop anymore!", $58
+; 0x812ac
+
+FledFromBattleText: ; 0x812ac
+ db $0, $5a, $4f
+ db "fled from battle!", $58
+; 0x812c1
+
+FledInFearText: ; 0x812c1
+ db $0, $59, $4f
+ db "fled in fear!", $58
+; 0x812d2
+
+BlownAwayText: ; 0x812d2
+ db $0, $59, $4f
+ db "was blown away!", $58
+; 0x812e5
+
+PlayerHitTimesText: ; 0x812e5
+ db $0, "Hit @"
+ deciram $c682, $11
+ db $0, " times!", $58
+; 0x812f8
+
+EnemyHitTimesText: ; 0x812f8
+ db $0, "Hit @"
+ deciram $c684, $11
+ db $0, " times!", $58
+; 0x8130b
+
+MistText: ; 0x8130b
+ db $0, $5a, "'s", $4f
+ db "shrouded in MIST!", $58
+; 0x81321
+
+ProtectedByMistText: ; 0x81321
+ db $0, $59, "'s", $4f
+ db "protected by MIST.", $58
+; 0x81338
+
+GettingPumpedText: ; 0x81338
+ interpret_data
+ db $0, $5a, "'s", $4f
+ db "getting pumped!", $58
+; 0x8134d
+
+RecoilText: ; 0x8134d
+ db $0, $5a, "'s", $4f
+ db "hit with recoil!", $58
+; 0x81362
+
+MadeSubstituteText: ; 0x81362
+ db $0, $5a, $4f
+ db "made a SUBSTITUTE!", $58
+; 0x81378
+
+HasSubstituteText: ; 0x81378
+ db $0, $5a, $4f
+ db "has a SUBSTITUTE!", $58
+; 0x8138d
+
+TooWeakSubText: ; 0x8138d
+ db $0, "Too weak to make", $4f
+ db "a SUBSTITUTE!", $58
+; 0x813ad
+
+SubTookDamageText: ; 0x813ad
+ db $0, "The SUBSTITUTE", $4f
+ db "took damage for", $55
+ db $59, "!", $58
+; 0x813d0
+
+SubFadedText: ; 0x813d0
+ db $0, $59, "'s", $4f
+ db "SUBSTITUTE faded!", $58
+; 0x813e6
+
+LearnedMoveText: ; 0x813e6
+ db $0, $5a, $4f
+ db "learned", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x813f8
+
+WasSeededText: ; 0x813f8
+ db $0, $59, $4f
+ db "was seeded!", $58
+; 0x81407
+
+EvadedText: ; 0x81407
+ db $0, $59, $4f
+ db "evaded the attack!", $58
+; 0x8141d
+
+WasDisabledText: ; 0x8141d
+ db $0, $59, "'s", $4f
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, " was", $55
+ db "DISABLED!", $58
+; 0x81435
+
+CoinsScatteredText: ; 0x81435
+ db $0, "Coins scattered", $4f
+ db "everywhere!", $58
+; 0x81452
+
+TransformedTypeText: ; 0x81452
+ db $0, $5a, $4f
+ db "transformed into", $55
+ db "the @"
+ text_from_ram StringBuffer1
+ db $0, "-type!", $58
+; 0x81476
+
+EliminatedStatsText: ; 0x81476
+ db $0, "All stat changes", $4f
+ db "were eliminated!", $58
+; 0x81499
+
+TransformedText: ; 0x81499
+ db $0, $5a, $4f
+ db "TRANSFORMED into", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x814b4
+
+LightScreenEffectText: ; 0x814b4
+ db $0, $5a, "'s", $4f
+ db "SPCL.DEF rose!", $58
+; 0x814c7
+
+ReflectEffectText: ; 0x814c7
+ db $0, $5a, "'s", $4f
+ db "DEFENSE rose!", $58
+; 0x814d9
+
+NothingHappenedText: ; 0x814d9
+ db $0, "But nothing", $4f
+ db "happened.", $58
+; 0x814f0
+
+ButItFailedText: ; 0x814f0
+ db $0, "But it failed!", $58
+; 0x81500
+
+ItFailedText: ; 0x81500
+ db $0, "It failed!", $58
+; 0x8150c
+
+DidntAffect1Text: ; 0x8150c
+ db $0, "It didn't affect", $4f
+ db $59, "!", $58
+; 0x81520
+
+DidntAffect2Text: ; 0x81520
+ db $0, "It didn't affect", $4f
+ db $59, "!", $58
+; 0x81534
+
+HPIsFullText: ; 0x81534
+ db $0, $5a, "'s", $4f
+ db "HP is full!", $58
+; 0x81544
+
+DraggedOutText: ; 0x81544
+ db $0, $5a, $4f
+ db "was dragged out!", $58
+; 0x81558
+
+ParalyzedText: ; 0x81558
+ db $0, $59, "'s", $4f
+ db "paralyzed! Maybe", $55
+ db "it can't attack!", $58
+; 0x8157d
+
+FullyParalyzedText: ; 0x8157d
+ db $0, $5a, "'s", $4f
+ db "fully paralyzed!", $58
+; 0x81592
+
+AlreadyParalyzedText: ; 0x81592
+ db $0, $59, "'s", $4f
+ db "already paralyzed!", $58
+; 0x815a9
+
+ProtectedByText: ; 0x815a9
+ db $0, $59, "'s", $4f
+ db "protected by", $55
+ db "@"
+ text_from_ram StringBuffer1
+ db $0, "!", $58
+; 0x815c1
+
+MirrorMoveFailedText: ; 0x815c1
+ db $0, "The MIRROR MOVE", $4e, "failed!", $58
+; 0x815da
+
+StoleText: ; 0x815da
+ db $0, $5a, $4f
+ db "stole @"
+ text_from_ram StringBuffer1
+ db $0, $55
+ db "from its foe!", $58
+; 0x815f7
+
+CantEscapeNowText: ; 0x815f7
+ db $0, $59, $4f
+ db "can't escape now!", $58
+; 0x8160b
+
+StartedNightmareText: ; 0x8160b
+ db $0, $59, $4f
+ db "started to have a", $55
+ db "NIGHTMARE!", $58
+; 0x8162b
+
+WasDefrostedText: ; 0x8162b
+ db $0, $5a, $4f
+ db "was defrosted!", $58
+; 0x8163d
+
+PutACurseText: ; 0x8163d
+ db $0, $5a, $4f
+ db "cut its own HP and", $51
+ db "put a CURSE on", $4f
+ db $59, "!", $58
+; 0x81665
+
+ProtectedItselfText: ; 0x81665
+ db $0, $5a, $4f
+ db "PROTECTED itself!", $58
+; 0x8167a
+
+ProtectingItselfText: ; 0x8167a
+ db $0, $59, "'s", $4f
+ db "PROTECTING itself!", $57
+; 0x81691
+
+SpikesText: ; 0x81691
+ db $0, "SPIKES scattered", $4f
+ db "all around", $55
+ db $59, "!", $58
+; 0x816b1
+
+IdentifiedText: ; 0x816b1
+ db $0, $5a, $4f
+ db "identified", $55
+ db $59, "!", $58
+; 0x816c2
+
+StartPerishText: ; 0x816c2
+ db $0, "Both #MON will", $4f
+ db "faint in 3 turns!", $58
+; 0x816e4
+
+SandstormBrewedText: ; 0x816e4
+ db $0, "A SANDSTORM", $4f
+ db "brewed!", $58
+; 0x816f9
+
+BracedItselfText: ; 0x816f9
+ db $0, $5a, $4f
+ db "braced itself!", $58
+; 0x8170b
+
+FellInLoveText: ; 0x8170b
+ db $0, $59, $4f
+ db "fell in love!", $58
+; 0x8171c
+
+CoveredByVeilText: ; 0x8171c
+ db $0, $5a, "'s", $4f
+ db "covered by a veil!", $58
+; 0x81733
+
+SafeguardProtectText: ; 0x81733
+ db $0, $59, $4f
+ db "is protected by", $55
+ db "SAFEGUARD!", $58
+; 0x81751
+
+MagnitudeText: ; 0x81751
+ db $0, "Magnitude @"
+ deciram $d265, $11
+ db $0, "!", $58
+; 0x81764
+
+ReleasedByText: ; 0x81764
+ db $0, $5a, $4f
+ db "was released by", $55
+ db $59, "!", $58
+; 0x8177a
+
+ShedLeechSeedText: ; 0x8177a
+ db $0, $5a, $4f
+ db "shed LEECH SEED!", $58
+; 0x8178e
+
+BlewSpikesText: ; 0x8178e
+ db $0, $5a, $4f
+ db "blew away SPIKES!", $58
+; 0x817a3
+
+DownpourText: ; 0x817a3
+ db $0, "A downpour", $4f
+ db "started!", $58
+; 0x817b8
+
+SunGotBrightText: ; 0x817b8
+ db $0, "The sunlight got", $4f
+ db "bright!", $58
+; 0x817d2
+
+BellyDrumText: ; 0x817d2
+ db $0, $5a, $4f
+ db "cut its HP and", $55
+ db "maximized ATTACK!", $58
+; 0x817f6
+
+CopiedStatsText: ; 0x817f6
+ db $0, $5a, $4f
+ db "copied the stat", $51
+ db "changes of", $4f
+ db $59, "!", $58
+; 0x81817
+
+ForesawAttackText: ; 0x81817
+ db $0, $5a, $4f
+ db "foresaw an attack!", $58
+; 0x8182d
+
+BeatUpAttackText: ; 0x8182d
+ text_from_ram StringBuffer1
+ db $0, "'s", $4f
+ db "attack!", $57
+; 0x8183b
+
+RefusedGiftText: ; 0x8183b
+ db $0, $59, $4f
+ db "refused the gift!", $58
+; 0x81850
+
+IgnoredOrders2Text: ; 0x81850
+ db $0, $5a, $4f
+ db "ignored orders!", $58
+; 0x81863
+
+BattleText_0x81863: ; 0x81863
+ db $0, "Link error…", $51
+ db "The battle has", $4f
+ db "been canceled…", $58
+; 0x8188e
+
+BattleText_0x8188e: ; 0x8188e
+ db $0, "There is no time", $4f
+ db "left today!", $57
+; 0x818ac
--- a/wram.asm
+++ b/wram.asm
@@ -815,8 +815,13 @@
CurSpecies: ; cf60
ds 1
- ds 33
+ ds $13
+MenuSelection:; cf74
+ ds 1
+
+ ds $cf82-$cf74
+
TileY: ; cf82
ds 1
TileX: ; cf83
@@ -899,6 +904,7 @@
ds 55
+MenuItemsList:
CurFruitTree: ; d03e
ds 1
CurFruit: ; d03f