ref: f53d65c536096213b6826765f81a0f436c88fe72
parent: da7849d800d37156360845fa17e361d2521dce29
author: PikalaxALT <[email protected]>
date: Sat Oct 17 13:18:52 EDT 2015
Battle intro animation function
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -5587,7 +5587,7 @@
call GetPartyParamLocation
.asm_3e4e2
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
xor a
@@ -8589,7 +8589,7 @@
Function3f662: ; 3f662
ld hl, EnemyMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld b, NUM_MOVES
.loop
ld a, [de]
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -149,3 +149,10 @@
const HAPPINESS_MASSAGE ; 12
const HAPPINESS_GAINLEVELATHOME ; 13
+
+ const_def
+ const LINK_NULL
+ const LINK_TIMECAPSULE
+ const LINK_TRADECENTER
+ const LINK_COLOSSEUM
+ const LINK_MOBILE
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -2202,7 +2202,7 @@
; memory (SingleByteParam)
call GetScriptByte
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
ContinueToGetName: ; 0x9771c
call GetScriptByte
@@ -2219,7 +2219,7 @@
; memory (SingleByteParam)
ld a, TRAINER_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
jr ContinueToGetName ; 0x97730 $ea
; 0x97732
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -86,7 +86,7 @@
call Function8b0e2
jr z, .asm_8b05f
ld [wcf75], a
- call GetBuenaPrize
+ call Buena_getprize
ld a, [hl]
ld [wd265], a
call GetItemName
@@ -95,7 +95,7 @@
call YesNoBox
jr c, .asm_8afeb
ld a, [wcf75]
- call GetBuenaPrize
+ call Buena_getprize
inc hl
ld a, [hld]
ld c, a
@@ -205,7 +205,7 @@
call GetMemTileCoord
ld bc, $0015
add hl, bc
- ld de, String_8b0ca
+ ld de, .Points_string
call PlaceString
ld h, b
ld l, c
@@ -219,7 +219,7 @@
ret
; 8b0ca
-String_8b0ca:
+.Points_string:
db "Points@"
; 8b0d1
@@ -230,12 +230,12 @@
; 8b0d6
Function8b0d6: ; 8b0d6
- ld hl, MenuDataHeader_0x8b0dd
+ ld hl, .menudataheader
call LoadMenuDataHeader
ret
; 8b0dd
-MenuDataHeader_0x8b0dd: ; 0x8b0dd
+.menudataheader: ; 0x8b0dd
db $40 ; flags
db 00, 00 ; start coords
db 11, 17 ; end coords
@@ -242,7 +242,7 @@
; 8b0e2
Function8b0e2: ; 8b0e2
- ld hl, MenuDataHeader_0x8b113
+ ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [MenuSelection]
ld [wcf88], a
@@ -268,36 +268,37 @@
ret
; 8b113
-MenuDataHeader_0x8b113: ; 0x8b113
+.MenuDataHeader: ; 0x8b113
db $40 ; flags
db 01, 01 ; start coords
db 09, 16 ; end coords
- dw MenuData2_0x8b11c
+ dw .MenuData2
db 1 ; default option
; 0x8b11b
db 0
-MenuData2_0x8b11c: ; 0x8b11c
+.MenuData2: ; 0x8b11c
db $10 ; flags
db 4 ; items
db $d, $1
- dbw BANK(Unknown_8b129), Unknown_8b129
- dbw BANK(BuenaPrizeItem), BuenaPrizeItem
- dbw BANK(BuenaPrizePoints), BuenaPrizePoints
+ dba .indices
+ dba .prizeitem
+ dba .prizepoints
; 8b129
-Unknown_8b129: ; 8b129
+.indices: ; 8b129
db 9
- db 1, 2, 3, 4, 5, 6, 7, 8, 9, $ff
+ db 1, 2, 3, 4, 5, 6, 7, 8, 9
+ db -1
; 8b134
-BuenaPrizeItem: ; 8b134
+.prizeitem: ; 8b134
ld a, [MenuSelection]
- call GetBuenaPrize
+ call Buena_getprize
ld a, [hl]
push de
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
pop hl
call PlaceString
@@ -304,9 +305,9 @@
ret
; 8b147
-BuenaPrizePoints: ; 8b147
+.prizepoints: ; 8b147
ld a, [MenuSelection]
- call GetBuenaPrize
+ call Buena_getprize
inc hl
ld a, [hl]
ld c, "0"
@@ -315,9 +316,9 @@
ret
; 8b154
-GetBuenaPrize: ; 8b154
+Buena_getprize: ; 8b154
dec a
- ld hl, BuenaPrizes
+ ld hl, .prizes
ld b, 0
ld c, a
rept 2
@@ -326,7 +327,7 @@
ret
; 8b15e
-BuenaPrizes: ; 8b15e
+.prizes: ; 8b15e
db ULTRA_BALL, 2
db FULL_RESTORE, 2
db NUGGET, 3
--- a/home.asm
+++ b/home.asm
@@ -836,7 +836,7 @@
; 33c3
GetName:: ; 33c3
-; Return name CurSpecies from name list wcf61 in StringBuffer1.
+; Return name CurSpecies from name list wNamedObjectTypeBuffer in StringBuffer1.
ld a, [hROMBank]
push af
@@ -844,7 +844,7 @@
push bc
push de
- ld a, [wcf61]
+ ld a, [wNamedObjectTypeBuffer]
cp PKMN_NAME
jr nz, .NotPokeName
@@ -858,7 +858,7 @@
jr .done
.NotPokeName
- ld a, [wcf61]
+ ld a, [wNamedObjectTypeBuffer]
dec a
ld e, a
ld d, 0
@@ -994,7 +994,7 @@
ld [CurSpecies], a
ld a, ITEM_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
jr .Copied
.TM
@@ -1123,7 +1123,7 @@
push hl
ld a, MOVE_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
ld a, [wNamedObjectIndexBuffer] ; move id
ld [CurSpecies], a
@@ -1736,7 +1736,7 @@
; Print TempMonLevel at hl
ld a, [TempMonLevel]
- ld [hl], LV_CHAR
+ ld [hl], "<LV>"
inc hl
; How many digits?
@@ -1752,7 +1752,7 @@
Function383d:: ; 383d
; Print :L and all 3 digits
- ld [hl], LV_CHAR
+ ld [hl], "<LV>"
inc hl
ld c, 3
; 3842
@@ -1766,7 +1766,7 @@
Function384d:: ; 384d
- ld hl, wd25e
+ ld hl, wListMoves_MoveIndicesBuffer
ld c, a
ld b, 0
add hl, bc
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -131,9 +131,9 @@
PlaceYesNoBox:: ; 1dd2
jr _YesNoBox
-Function1dd4:: ; 1dd4
+PlaceGenericTwoOptionBox:: ; 1dd4
call LoadMenuDataHeader
- jr Function1dfe
+ jr InterpretTwoOptionMenu
_YesNoBox:: ; 1dd9
; Return nc (yes) or c (no).
@@ -141,13 +141,15 @@
ld hl, YesNoMenuDataHeader
call CopyMenuDataHeader
pop bc
+; This seems to be an overflow prevention, but
+; it was coded wrong.
ld a, b
- cp $e
- jr nz, .asm_1de9
- ld a, $e
+ cp SCREEN_WIDTH - 6
+ jr nz, .okay ; should this be "jr nc"?
+ ld a, SCREEN_WIDTH - 6
ld b, a
-.asm_1de9
+.okay
ld a, b
ld [wcf83], a
add $5
@@ -158,7 +160,7 @@
ld [wcf84], a
call Function1c00
-Function1dfe:: ; 1dfe
+InterpretTwoOptionMenu:: ; 1dfe
call InterpretMenu2
push af
ld c, $f
--- a/macros.asm
+++ b/macros.asm
@@ -78,6 +78,13 @@
dx 2, \1
ENDM
+dba: MACRO ; dbw bank, address
+ dbw BANK(\1), \1
+ ENDM
+
+dab: MACRO ; dwb address, bank
+ dwb \1, BANK(\1)
+ ENDM
lb: MACRO ; r, hi, lo
ld \1, (\2) << 8 + (\3)
--- a/macros/charmap.asm
+++ b/macros/charmap.asm
@@ -1,127 +1,165 @@
- charmap "@", $50
+; Control characters
+ charmap "<START>", $00
+ charmap "<PLAY_G>", $14 ; <PLAYER> + gender
+ charmap "<DAY>", $15
+ charmap "<LNBRK>", $22
+ charmap "<POKE>", $24
+ charmap "<RED>", $38
+ charmap "<GREEN>", $39
+ charmap "<ENEMY>", $3f
+ charmap "<MOM>", $49
+ charmap "<PKMN>", $4a
+ charmap "<NEXT>", $4e
+ charmap "<LINE>", $4f
- charmap "#", $54
- charmap "№", $74
- charmap "…", $75
- charmap "┌", $79
- charmap "─", $7a
- charmap "┐", $7b
- charmap "│", $7c
- charmap "└", $7d
- charmap "┘", $7e
- charmap " ", $7f
- charmap "′", $6e
- charmap "″", $6f
-
+ charmap "@", $50
+ charmap "<PARA>", $51
+ charmap "<PLAYER>", $52
+ charmap "<RIVAL>", $53
+ charmap "#", $54
+ charmap "<CONT>", $55
+ charmap "<......>", $56
+ charmap "<DONE>", $57
+ charmap "<PROMPT>", $58
+ charmap "<TARGET>", $59
+ charmap "<USER>", $5a
+ charmap "<PC>", $5b
+ charmap "<TM>", $5c
+ charmap "<TRNER>", $5d
+ charmap "<ROCKET>", $5e
+ charmap "<DEXEND>", $5f
- charmap "A", $80
- charmap "B", $81
- charmap "C", $82
- charmap "D", $83
- charmap "E", $84
- charmap "F", $85
- charmap "G", $86
- charmap "H", $87
- charmap "I", $88
- charmap "J", $89
- charmap "K", $8a
- charmap "L", $8b
- charmap "M", $8c
- charmap "N", $8d
- charmap "O", $8e
- charmap "P", $8f
- charmap "Q", $90
- charmap "R", $91
- charmap "S", $92
- charmap "T", $93
- charmap "U", $94
- charmap "V", $95
- charmap "W", $96
- charmap "X", $97
- charmap "Y", $98
- charmap "Z", $99
+; Actual characters
+ charmap "′", $6e
+ charmap "<LV>", $6e
+ charmap "″", $6f
- charmap "(", $9a
- charmap ")", $9b
- charmap ":", $9c
- charmap ";", $9d
- charmap "[", $9e
- charmap "]", $9f
+ charmap "<PO>", $70
+ charmap "<KE>", $71
+ charmap "№", $74
+ charmap "…", $75
- charmap "a", $a0
- charmap "b", $a1
- charmap "c", $a2
- charmap "d", $a3
- charmap "e", $a4
- charmap "f", $a5
- charmap "g", $a6
- charmap "h", $a7
- charmap "i", $a8
- charmap "j", $a9
- charmap "k", $aa
- charmap "l", $ab
- charmap "m", $ac
- charmap "n", $ad
- charmap "o", $ae
- charmap "p", $af
- charmap "q", $b0
- charmap "r", $b1
- charmap "s", $b2
- charmap "t", $b3
- charmap "u", $b4
- charmap "v", $b5
- charmap "w", $b6
- charmap "x", $b7
- charmap "y", $b8
- charmap "z", $b9
+ charmap "┌", $79
+ charmap "─", $7a
+ charmap "┐", $7b
+ charmap "│", $7c
+ charmap "└", $7d
+ charmap "┘", $7e
+ charmap " ", $7f
- charmap "Ä", $c0
- charmap "Ö", $c1
- charmap "Ü", $c2
- charmap "ä", $c3
- charmap "ö", $c4
- charmap "ü", $c5
+ charmap "A", $80
+ charmap "B", $81
+ charmap "C", $82
+ charmap "D", $83
+ charmap "E", $84
+ charmap "F", $85
+ charmap "G", $86
+ charmap "H", $87
+ charmap "I", $88
+ charmap "J", $89
+ charmap "K", $8a
+ charmap "L", $8b
+ charmap "M", $8c
+ charmap "N", $8d
+ charmap "O", $8e
+ charmap "P", $8f
+ charmap "Q", $90
+ charmap "R", $91
+ charmap "S", $92
+ charmap "T", $93
+ charmap "U", $94
+ charmap "V", $95
+ charmap "W", $96
+ charmap "X", $97
+ charmap "Y", $98
+ charmap "Z", $99
- charmap "'d", $d0
- charmap "'l", $d1
- charmap "'m", $d2
- charmap "'r", $d3
- charmap "'s", $d4
- charmap "'t", $d5
- charmap "'v", $d6
+ charmap "(", $9a
+ charmap ")", $9b
+ charmap ":", $9c
+ charmap ";", $9d
+ charmap "[", $9e
+ charmap "]", $9f
- charmap "'", $e0
- charmap "-", $e3
+ charmap "a", $a0
+ charmap "b", $a1
+ charmap "c", $a2
+ charmap "d", $a3
+ charmap "e", $a4
+ charmap "f", $a5
+ charmap "g", $a6
+ charmap "h", $a7
+ charmap "i", $a8
+ charmap "j", $a9
+ charmap "k", $aa
+ charmap "l", $ab
+ charmap "m", $ac
+ charmap "n", $ad
+ charmap "o", $ae
+ charmap "p", $af
+ charmap "q", $b0
+ charmap "r", $b1
+ charmap "s", $b2
+ charmap "t", $b3
+ charmap "u", $b4
+ charmap "v", $b5
+ charmap "w", $b6
+ charmap "x", $b7
+ charmap "y", $b8
+ charmap "z", $b9
- charmap "?", $e6
- charmap "!", $e7
- charmap ".", $e8
- charmap "&", $e9
+ charmap "Ä", $c0
+ charmap "Ö", $c1
+ charmap "Ü", $c2
+ charmap "ä", $c3
+ charmap "ö", $c4
+ charmap "ü", $c5
- charmap "é", $ea
- charmap "→", $eb
- charmap "▷", $ec
- charmap "▶", $ed
- charmap "▼", $ee
- charmap "♂", $ef
- charmap "¥", $f0
- charmap "×", $f1
- charmap "·", $f2
- charmap "/", $f3
- charmap ",", $f4
- charmap "♀", $f5
+ charmap "'d", $d0
+ charmap "'l", $d1
+ charmap "'m", $d2
+ charmap "'r", $d3
+ charmap "'s", $d4
+ charmap "'t", $d5
+ charmap "'v", $d6
- charmap "0", $f6
- charmap "1", $f7
- charmap "2", $f8
- charmap "3", $f9
- charmap "4", $fa
- charmap "5", $fb
- charmap "6", $fc
- charmap "7", $fd
- charmap "8", $fe
- charmap "9", $ff
+ charmap "'", $e0
+ charmap "<PK>", $e1
+ charmap "<MN>", $e2
+ charmap "-", $e3
+ charmap "?", $e6
+ charmap "!", $e7
+ charmap ".", $e8
+ charmap "&", $e9
+
+ charmap "é", $ea
+ charmap "→", $eb
+ charmap "▷", $ec
+ charmap "▶", $ed
+ charmap "▼", $ee
+ charmap "♂", $ef
+ charmap "¥", $f0
+ charmap "×", $f1
+ charmap "·", $f2
+ charmap "/", $f3
+ charmap ",", $f4
+ charmap "♀", $f5
+
+ charmap "0", $f6
+ charmap "1", $f7
+ charmap "2", $f8
+ charmap "3", $f9
+ charmap "4", $fa
+ charmap "5", $fb
+ charmap "6", $fc
+ charmap "7", $fd
+ charmap "8", $fe
+ charmap "9", $ff
+
+; Japanese, for those bits of text that
+; were not translated to English.
+
charmap "ガ", $5
charmap "ギ", $6
charmap "グ", $7
@@ -277,34 +315,3 @@
charmap "ー", $e3
charmap "ァ", $e9
-
- charmap "<PLAYER>", $52
- charmap "<RIVAL>", $53
- charmap "<RED>", $38
- charmap "<GREEN>", $39
- charmap "<TARGET>", $59
- charmap "<USER>", $5a
- charmap "<ENEMY>", $3f
- charmap "<PKMN>", $4a
- charmap "<PK>", $e1
- charmap "<MN>", $e2
- charmap "<PO>", $70
- charmap "<KE>", $71
- charmap "<MOM>", $49
- charmap "<POKE>", $24
- charmap "<PLAY_G>", $14 ; <PLAYER> + gender
- charmap "<PARA>", $51
- charmap "<LINE>", $4f
- charmap "<NEXT>", $4e
- charmap "<CONT>", $55
- charmap "<DONE>", $57
- charmap "<PROMPT>", $58
- charmap "<DAY>", $15
- charmap "<PC>", $5b
- charmap "<TM>", $5c
- charmap "<TRNER>", $5d
- charmap "<ROCKET>", $5e
- charmap "<......>", $56
- charmap "<START>", $00
- charmap "<DEXEND>", $5f
- charmap "<LNBRK>", $22
--- a/main.asm
+++ b/main.asm
@@ -1706,7 +1706,7 @@
ld bc, -NUM_MOVES
add hl, bc
push hl
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
pop hl
@@ -10094,11 +10094,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e698
Functione698: ; e698
@@ -13150,7 +13150,7 @@
dbw 17, GiveTakePartyMonItem
dbw 18, CancelPokemonAction
dbw 19, Function12fba ; move
- dbw 20, Function12d45 ; mail
+ dbw 20, MonMailAction ; mail
; 12aec
@@ -13513,82 +13513,89 @@
call CloseSRAM
ret
-Function12d45: ; 12d45
+MonMailAction: ; 12d45
+; If in the time capsule or trade center,
+; selecting the mail only allows you to
+; read the mail.
ld a, [InLinkBattle]
- cp $1
- jr z, .asm_12d6d
- cp $2
- jr z, .asm_12d6d
- ld hl, MenuDataHeader_0x12dc9
+ cp LINK_TIMECAPSULE
+ jr z, .read
+ cp LINK_TRADECENTER
+ jr z, .read
+
+; Show the READ/TAKE/QUIT menu.
+ ld hl, .MenuDataHeader
call LoadMenuDataHeader
call InterpretMenu2
call ExitMenu
- jp c, .asm_12dc6
+
+; Interpret the menu.
+ jp c, .done
ld a, [wcfa9]
cp $1
- jr z, .asm_12d6d
+ jr z, .read
cp $2
- jr z, .asm_12d76
- jp .asm_12dc6
+ jr z, .take
+ jp .done
-.asm_12d6d
- callba Functionb9229
+.read
+ callba ReadPartyMonMail
ld a, $0
ret
-.asm_12d76
- ld hl, UnknownText_0x12df1
+.take
+ ld hl, .sendmailtopctext
call Function12cf5
- jr c, .asm_12d9a
+ jr c, .RemoveMailToBag
ld a, [CurPartyMon]
ld b, a
callba Function4456e
- jr c, .asm_12d92
- ld hl, UnknownText_0x12dfb
+ jr c, .MailboxFull
+ ld hl, .sentmailtopctext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12d92
- ld hl, UnknownText_0x12df6
+.MailboxFull
+ ld hl, .mailboxfulltext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12d9a
- ld hl, UnknownText_0x12de2
+.RemoveMailToBag
+ ld hl, .mailwilllosemessagetext
call Function12cf5
- jr c, .asm_12dc6
+ jr c, .done
call GetPartyItemLocation
ld a, [hl]
ld [CurItem], a
call Function12cdf
- jr nc, .asm_12dbe
+ jr nc, .BagIsFull
call GetPartyItemLocation
ld [hl], $0
call GetCurNick
- ld hl, UnknownText_0x12de7
+ ld hl, .tookmailfrommontext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12dbe
- ld hl, UnknownText_0x12dec
+.BagIsFull
+ ld hl, .bagfulltext
call MenuTextBoxBackup
- jr .asm_12dc6
+ jr .done
-.asm_12dc6
+.done
ld a, $3
ret
; 12dc9
-MenuDataHeader_0x12dc9: ; 0x12dc9
+.MenuDataHeader: ; 0x12dc9
db $40 ; flags
db 10, 12 ; start coords
db 17, 19 ; end coords
- dw MenuData2_0x12dd1
+ dw .MenuData2
db 1 ; default option
; 0x12dd1
-MenuData2_0x12dd1: ; 0x12dd1
+.MenuData2: ; 0x12dd1
db $80 ; flags
db 3 ; items
db "READ@"
@@ -13597,32 +13604,38 @@
; 0x12de2
-UnknownText_0x12de2: ; 0x12de2
+.mailwilllosemessagetext: ; 0x12de2
+; The MAIL will lose its message. OK?
text_jump UnknownText_0x1c1c22
db "@"
; 0x12de7
-UnknownText_0x12de7: ; 0x12de7
+.tookmailfrommontext: ; 0x12de7
+; MAIL detached from <POKEMON>.
text_jump UnknownText_0x1c1c47
db "@"
; 0x12dec
-UnknownText_0x12dec: ; 0x12dec
+.bagfulltext: ; 0x12dec
+; There's no space for removing MAIL.
text_jump UnknownText_0x1c1c62
db "@"
; 0x12df1
-UnknownText_0x12df1: ; 0x12df1
+.sendmailtopctext: ; 0x12df1
+; Send the removed MAIL to your PC?
text_jump UnknownText_0x1c1c86
db "@"
; 0x12df6
-UnknownText_0x12df6: ; 0x12df6
+.mailboxfulltext: ; 0x12df6
+; Your PC's MAILBOX is full.
text_jump UnknownText_0x1c1ca9
db "@"
; 0x12dfb
-UnknownText_0x12dfb: ; 0x12dfb
+.sentmailtopctext: ; 0x12dfb
+; The MAIL was sent to your PC.
text_jump UnknownText_0x1c1cc4
db "@"
; 0x12e00
@@ -14210,7 +14223,7 @@
ld [MonType], a
predef Function5084a
ld hl, TempMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
ld a, SCREEN_WIDTH * 2
@@ -14770,9 +14783,9 @@
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, OBPals + 8 * 6
- dbw BANK(GetElevatorFlorStrings), GetElevatorFlorStrings
- dbw BANK(NULL), NULL
- dbw BANK(NULL), NULL
+ dba GetElevatorFlorStrings
+ dba NULL
+ dba NULL
; 13568
GetElevatorFlorStrings: ; 13568
@@ -18411,9 +18424,9 @@
db 4, 8 ; rows/cols?
db 2 ; horizontal spacing?
dbw 0, PCItems
- dbw BANK(PlaceMenuItemName), PlaceMenuItemName
- dbw BANK(PlaceMenuItemQuantity), PlaceMenuItemQuantity
- dbw BANK(Function244c3), Function244c3
+ dba PlaceMenuItemName
+ dba PlaceMenuItemQuantity
+ dba Function244c3
PC_DisplayText: ; 15a20
call MenuTextBox
@@ -19099,9 +19112,9 @@
db 4, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, OBPals + 8 * 6
- dbw BANK(PlaceMenuItemName), PlaceMenuItemName
- dbw BANK(Function15e30), Function15e30
- dbw BANK(Function244c3), Function244c3
+ dba PlaceMenuItemName
+ dba Function15e30
+ dba Function244c3
; 15e30
Function15e30: ; 15e30
@@ -22570,6 +22583,7 @@
push af
ld a, $7
ld [rSVBK], a
+
ld hl, wcf71
ld e, [hl]
inc hl
@@ -22577,19 +22591,21 @@
push de
ld b, $10
ld hl, wcf81
-.asm_24387
+
+.loop
ld a, [hli]
ld [de], a
dec de
dec b
- jr nz, .asm_24387
+ jr nz, .loop
+
ld a, [wcf81]
bit 6, a
- jr nz, .asm_24398
+ jr nz, .bit_6
bit 7, a
- jr z, .asm_243ae
+ jr z, .not_bit_7
-.asm_24398
+.bit_6
ld hl, wcf71
ld a, [hli]
ld h, [hl]
@@ -22599,9 +22615,9 @@
call Function243cd
call Function1d19
call Function243cd
- jr .asm_243b5
+ jr .done
-.asm_243ae
+.not_bit_7
pop hl
push hl
ld a, [hld]
@@ -22609,7 +22625,7 @@
ld h, a
res 0, [hl]
-.asm_243b5
+.done
pop hl
call Function243e7
ld a, h
@@ -22622,6 +22638,7 @@
ld [hl], e
inc hl
ld [hl], d
+
pop af
ld [rSVBK], a
ld hl, wcf78
@@ -24438,7 +24455,7 @@
db $81 ; flags
dn 2, 2 ; rows, columns
db 6 ; spacing
- dbw BANK(Strings24f3d), Strings24f3d
+ dba Strings24f3d
dbw $09, $0000
; 0x24f3d
@@ -24462,8 +24479,8 @@
db $81 ; flags
dn 2, 2 ; rows, columns
db 11 ; spacing
- dbw BANK(Strings24f5f), Strings24f5f
- dbw BANK(Function24f7c), Function24f7c
+ dba Strings24f5f
+ dba Function24f7c
; 24f5f
Strings24f5f: ; 24f5f
@@ -24494,8 +24511,8 @@
db $81 ; flags
dn 2, 2 ; rows, columns
db 12 ; spacing
- dbw BANK(Strings24f9a), Strings24f9a
- dbw BANK(Function24fb2), Function24fb2
+ dba Strings24f9a
+ dba Function24fb2
; 24f9a
Strings24f9a: ; 24f9a
@@ -26050,7 +26067,7 @@
db 8, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, wd002 ; text pointer
- dbw BANK(DecorationMenuFunction), DecorationMenuFunction
+ dba DecorationMenuFunction
dbw 0, 0
dbw 0, 0
; 269dd
@@ -27225,7 +27242,7 @@
ld [hli], a
ld [hl], $50
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jp nz, Function28177
Function2805d: ; 2805d
@@ -27423,7 +27440,7 @@
ld bc, $00c8
call Function75f
ld a, [InLinkBattle]
- cp $2
+ cp LINK_TRADECENTER
jr nz, .asm_281fd
ld hl, wc9f4
ld de, wcb84
@@ -27474,7 +27491,7 @@
dec c
jr nz, .asm_28224
ld a, [InLinkBattle]
- cp $2
+ cp LINK_TRADECENTER
jp nz, .asm_282fe
ld hl, wcb84
.asm_28254
@@ -27608,7 +27625,7 @@
ld c, 66
call z, DelayFrames
ld a, [InLinkBattle]
- cp $3
+ cp LINK_COLOSSEUM
jr nz, .asm_283a9
ld a, CAL
ld [OtherTrainerClass], a
@@ -27622,7 +27639,7 @@
ld [hl], a
ld hl, wd26b
ld de, OTName
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
call Function222a
ld a, [wc2d7]
@@ -27791,7 +27808,7 @@
jr nz, .asm_2847f
push bc
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
ld b, $d
jr z, .asm_2847a
ld b, $27
@@ -28022,7 +28039,7 @@
ld bc, $0042
call CopyBytes
ld a, [InLinkBattle]
- cp $2
+ cp LINK_TRADECENTER
ret nz
ld de, wc9f4
ld a, $20
@@ -29142,7 +29159,7 @@
call Function862
pop bc
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jr z, .asm_28e63
ld a, b
and a
@@ -29168,7 +29185,7 @@
ld c, $32
call DelayFrames
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jp z, Function2805d
jp Function28177
; 28ea3
@@ -30435,7 +30452,7 @@
Function29701: ; 29701
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jr z, .asm_29725
ld hl, UnknownText_0x29737
call PrintText
@@ -31204,7 +31221,7 @@
; 29eaf
Special_TimeCapsule: ; 29eaf
- ld a, $1
+ ld a, LINK_TIMECAPSULE
ld [InLinkBattle], a
call Function2ed3
callab LinkCommunications
@@ -31215,7 +31232,7 @@
; 29ec4
Special_TradeCenter: ; 29ec4
- ld a, $2
+ ld a, LINK_TRADECENTER
ld [InLinkBattle], a
call Function2ed3
callab LinkCommunications
@@ -31226,7 +31243,7 @@
; 29ed9
Special_Colosseum: ; 29ed9
- ld a, $3
+ ld a, LINK_COLOSSEUM
ld [InLinkBattle], a
call Function2ed3
callab LinkCommunications
@@ -34383,7 +34400,7 @@
ld [CurSpecies], a
ld a, TRAINER_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld de, StringBuffer1
ret
@@ -34410,7 +34427,7 @@
ld [CurSpecies], a
ld a, TRAINER_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld hl, StringBuffer1
@@ -35095,7 +35112,7 @@
jr z, .asm_422fd
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jp z, .asm_423fa
ld a, [TempMonItem]
@@ -35981,7 +35998,7 @@
lb bc, 2, 36
call PrintNum
hlcoord 14, 7
- ld [hl], $5e
+ ld [hl], "<ROCKET>"
pop af
pop hl
@@ -35996,7 +36013,7 @@
ld e, h
ld a, e
or d
- jr z, .asm_442cd
+ jr z, .skip
push de
ld hl, [sp+$0]
ld d, h
@@ -36006,8 +36023,8 @@
call PrintNum
pop de
-.asm_442cd
- ld bc, $0512
+.skip
+ lb bc, 5, SCREEN_WIDTH - 2
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
@@ -36015,13 +36032,13 @@
ld a, $61
call ByteFill
hlcoord 1, 9
- ld [hl], $55
+ ld [hl], "<CONT>"
inc hl
- ld [hl], $55
+ ld [hl], "<CONT>"
hlcoord 1, 10
- ld [hl], $56
+ ld [hl], "<......>"
inc hl
- ld [hl], $57
+ ld [hl], "<DONE>"
pop de
inc de
pop af
@@ -36034,7 +36051,7 @@
ret z
push bc
push de
- ld bc, $0512
+ lb bc, 5, SCREEN_WIDTH - 2
hlcoord 2, 11
call ClearBox
hlcoord 1, 10
@@ -36042,13 +36059,13 @@
ld a, $61
call ByteFill
hlcoord 1, 9
- ld [hl], $55
+ ld [hl], "<CONT>"
inc hl
- ld [hl], $55
+ ld [hl], "<CONT>"
hlcoord 1, 10
- ld [hl], $56
+ ld [hl], "<......>"
inc hl
- ld [hl], $58
+ ld [hl], "<PROMPT>"
pop de
inc de
pop af
@@ -36106,25 +36123,25 @@
push hl
ld h, d
ld l, e
-.asm_4435b
+.loop1
ld a, b
call GetFarByte
inc hl
- cp $50
- jr nz, .asm_4435b
+ cp "@"
+ jr nz, .loop1
rept 4
inc hl
endr
dec c
- jr z, .asm_44374
-.asm_4436b
+ jr z, .done
+.loop2
ld a, b
call GetFarByte
inc hl
- cp $50
- jr nz, .asm_4436b
+ cp "@"
+ jr nz, .loop2
-.asm_44374
+.done
ld d, h
ld e, l
pop hl
@@ -36146,7 +36163,7 @@
cp $a
jr nc, .asm_445be
ld bc, PartyMon1StatsEnd - PartyMon1Item
- ld hl, s0_a834 + 1
+ ld hl, s0_a835
call AddNTimes
ld d, h
ld e, l
@@ -36182,7 +36199,7 @@
call GetSRAMBank
ld a, b
push bc
- ld hl, s0_a834 + 1
+ ld hl, s0_a835
ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
push hl
@@ -36189,17 +36206,17 @@
add hl, bc
pop de
pop bc
-.asm_445d4
+.loop
ld a, b
cp $9
- jr z, .asm_445e4
+ jr z, .done
push bc
ld bc, PartyMon1StatsEnd - PartyMon1Item
call CopyBytes
pop bc
inc b
- jr .asm_445d4
-.asm_445e4
+ jr .loop
+.done
ld h, d
ld l, e
xor a
@@ -36210,14 +36227,14 @@
jp CloseSRAM
; 445f4 (11:45f4)
-Function445f4: ; 445f4
+ReadMailMessage: ; 445f4
ld a, b
- ld hl, s0_a834 + 1
+ ld hl, s0_a835
ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
ld d, h
ld e, l
- callba Functionb9237
+ callba ReadAnyMail
ret
Function44607: ; 44607
@@ -36226,7 +36243,7 @@
push bc
ld a, b
ld bc, PartyMon1StatsEnd - PartyMon1Item
- ld hl, s0_a834 + 1
+ ld hl, s0_a835
call AddNTimes
push hl
ld a, [CurPartyMon]
@@ -36490,7 +36507,7 @@
Function447da: ; 0x447da
dec a
- ld hl, s0_a834 + 1 + $21
+ ld hl, s0_a835 + $21
ld bc, $002f
call AddNTimes
ld a, BANK(s0_a834)
@@ -36573,7 +36590,7 @@
ld a, [MenuSelection]
dec a
ld b, a
- call Function445f4
+ call ReadMailMessage
jp Function2b3c
; 0x44877
@@ -36620,7 +36637,7 @@
ld a, BANK(s0_a834)
call GetSRAMBank
pop af
- ld hl, s0_a834 + 1 + $2e
+ ld hl, s0_a835 + $2e
ld bc, $002f
call AddNTimes
ld a, [hl]
@@ -36700,7 +36717,7 @@
db 4, 0 ; rows/columns?
db 1 ; horizontal spacing?
dbw 0,wd0f2 ; text pointer
- dbw BANK(Function447fb), Function447fb
+ dba Function447fb
dbw 0,0
dbw 0,0
@@ -41289,11 +41306,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4a83a
UpdateOTPointer: ; 0x4a83a
@@ -41451,11 +41468,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4a91e
Function4a91e: ; 4a91e
@@ -43469,11 +43486,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; 4d9c9
.FoundPartymonText: ; 0x4d9c9
@@ -43900,7 +43917,7 @@
Function4dc7b: ; 4dc7b (13:5c7b)
ld a, [InLinkBattle]
- cp $4
+ cp LINK_MOBILE
jr nz, StatsScreenInit
ld a, [IsInBattle] ; wd22d (aliases: EnemyMonEnd)
@@ -44581,7 +44598,7 @@
hlcoord 0, 10
call PlaceString
ld hl, TempMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
hlcoord 8, 10
@@ -45827,7 +45844,7 @@
ld a, 0
ld hl, InLinkBattle
call GetFarWRAMByte
- cp 4
+ cp LINK_MOBILE
jr z, .mobile
ld a, [Options]
@@ -46140,7 +46157,7 @@
ld a, [de]
cp 100 ; This is distinct from MAX_LEVEL.
jr nc, .asm_501a1
- ld a, LV_CHAR
+ ld a, "<LV>"
ld [hli], a
ld bc, $4102
.asm_501a1
@@ -47944,19 +47961,19 @@
ListMoves: ; 50d6f
; List moves at hl, spaced every [Buffer1] tiles.
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld b, $0
-.asm_50d74
+.moves_loop
ld a, [de]
inc de
and a
- jr z, .asm_50da7
+ jr z, .no_more_moves
push de
push hl
push hl
ld [CurSpecies], a
ld a, MOVE_NAME
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
call GetName
ld de, StringBuffer1
pop hl
@@ -47976,12 +47993,12 @@
pop de
ld a, b
cp NUM_MOVES
- jr z, .asm_50db8
- jr .asm_50d74
+ jr z, .done
+ jr .moves_loop
-.asm_50da7
+.no_more_moves
ld a, b
-.asm_50da8
+.nonmove_loop
push af
ld [hl], "-"
ld a, [Buffer1]
@@ -47991,9 +48008,9 @@
pop af
inc a
cp NUM_MOVES
- jr nz, .asm_50da8
+ jr nz, .nonmove_loop
-.asm_50db8
+.done
ret
; 50db9
@@ -48018,7 +48035,7 @@
cp $5
jr nz, .check_item_name
- ld hl, OBPals + 8 * 6
+ ld hl, CurMart
ld de, PokemonNames
ld a, PKMN_NAME
jr .done
@@ -48032,12 +48049,12 @@
jr .done
.check_ob_item_name
- ld hl, OBPals + 8 * 6
+ ld hl, CurMart
ld de, ItemNames
ld a, ITEM_NAME
.done
- ld [wcf61], a
+ ld [wNamedObjectTypeBuffer], a
ld a, l
ld [wd100], a
ld a, h
@@ -48046,7 +48063,7 @@
ld [wd102], a
ld a, d
ld [wd103], a
- ld bc, $67c1 ; XXX ItemAttributes?
+ ld bc, ItemAttributes
ld a, c
ld [wd104], a
ld a, b
@@ -54550,15 +54567,16 @@
ld a, [hl]
push af
ld [hl], $1
-.asm_8c22b
+
+.loop
ld a, [wcf63]
bit 7, a
- jr nz, .asm_8c23a
- call Function8c314
+ jr nz, .done
+ call FlashingPokeballAnimation
call DelayFrame
- jr .asm_8c22b
+ jr .loop
-.asm_8c23a
+.done
ld a, [rSVBK]
push af
ld a, $5
@@ -54588,19 +54606,19 @@
Function8c26d: ; 8c26d
ld a, [InLinkBattle]
- cp $4
- jr z, .asm_8c288
+ cp LINK_MOBILE
+ jr z, .mobile
callba Function6454
call UpdateSprites
call DelayFrame
call Function8c2a0
call Function8cf4f
- jr .asm_8c28b
+ jr .resume
-.asm_8c288
+.mobile
call Function8c2aa
-.asm_8c28b
+.resume
ld a, $90
ld [hWY], a
call DelayFrame
@@ -54651,13 +54669,13 @@
push hl
ld hl, w6_d000
ld bc, $28 * $10
-.asm_8c2dd
- ld [hl], $ff
+.loop
+ ld [hl], -1
inc hl
dec bc
ld a, c
or b
- jr nz, .asm_8c2dd
+ jr nz, .loop
pop hl
ld de, w6_d000
ld b, BANK(Function8c2cf) ; BANK(@)
@@ -54672,11 +54690,11 @@
INCBIN "gfx/unknown/08c2f4.2bpp"
-Function8c314: ; 8c314
+FlashingPokeballAnimation: ; 8c314
ld a, [wcf63]
ld e, a
ld d, 0
- ld hl, Jumptable_8c323
+ ld hl, .jumptable
rept 2
add hl, de
endr
@@ -54686,61 +54704,75 @@
jp [hl]
; 8c323
-Jumptable_8c323: ; 8c323 (23:4323)
- dw Function8c365
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c3e8
- dw Function8c408
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c768
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c43d
- dw Function8c44f
- dw Function8c5dc
- dw Function8c3a1
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c3ab
- dw Function8c39c
- dw Function8c578
- dw Function8c58f
- dw Function8c393
+.jumptable: ; 8c323 (23:4323)
+ dw .DetermineWhichAnimation ; 00
+ ; Animation 1: cave
+ dw StartTrainerBattle_LoadPokeBallGraphics ; 01
+ dw StartTrainerBattle_SetUpBGMap ; 02
+ dw StartTrainerBattle_Flash ; 03
+ dw StartTrainerBattle_Flash ; 04
+ dw StartTrainerBattle_Flash ; 05
+ dw StartTrainerBattle_NextScene ; 06
+ dw StartTrainerBattle_SetUpForWavyOutro ; 07
+ dw StartTrainerBattle_SineWave ; 08
-Function8c365: ; 8c365 (23:4365)
+ ; Animation 2: cave, stronger
+ dw StartTrainerBattle_LoadPokeBallGraphics ; 09
+ dw StartTrainerBattle_SetUpBGMap ; 0a
+ dw StartTrainerBattle_Flash ; 0b
+ dw StartTrainerBattle_Flash ; 0c
+ dw StartTrainerBattle_Flash ; 0d
+ dw StartTrainerBattle_NextScene ; 0e
+ ; There is no setup for this one
+ dw StartTrainerBattle_ZoomToBlack ; 0f
+
+ ; Animation 3: no cave
+ dw StartTrainerBattle_LoadPokeBallGraphics ; 10
+ dw StartTrainerBattle_SetUpBGMap ; 11
+ dw StartTrainerBattle_Flash ; 12
+ dw StartTrainerBattle_Flash ; 13
+ dw StartTrainerBattle_Flash ; 14
+ dw StartTrainerBattle_NextScene ; 15
+ dw StartTrainerBattle_SetUpForSpinOutro ; 16
+ dw StartTrainerBattle_SpinToBlack ; 17
+
+ ; Animation 4: no cave, stronger
+ dw StartTrainerBattle_LoadPokeBallGraphics ; 18
+ dw StartTrainerBattle_SetUpBGMap ; 19
+ dw StartTrainerBattle_Flash ; 1a
+ dw StartTrainerBattle_Flash ; 1b
+ dw StartTrainerBattle_Flash ; 1c
+ dw StartTrainerBattle_NextScene ; 1d
+ dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e
+ dw StartTrainerBattle_SpeckleToBlack ; 1f
+
+ ; All animations jump to here.
+ dw StartTrainerBattle_Finish ; 20
+
+
+.DetermineWhichAnimation: ; 8c365 (23:4365)
+; The screen flashes a different number of
+; times depending on the level of your lead
+; Pokemon relative to the opponent's.
ld de, 0
ld a, [BattleMonLevel]
add 3
ld hl, EnemyMonLevel
cp [hl]
- jr nc, .asm_8c375
+ jr nc, .okay
set 0, e
-.asm_8c375
+.okay
ld a, [wPermission]
- cp $4
- jr z, .asm_8c386
- cp $5
- jr z, .asm_8c386
- cp $7
- jr z, .asm_8c386
+ cp CAVE
+ jr z, .okay2
+ cp PERM_5
+ jr z, .okay2
+ cp DUNGEON
+ jr z, .okay2
set 1, e
-.asm_8c386
- ld hl, Unknown_8c38f
+.okay2
+ ld hl, .StartingPoints
add hl, de
ld a, [hl]
ld [wcf63], a
@@ -54747,39 +54779,39 @@
ret
; 8c38f (23:438f)
-Unknown_8c38f: ; 8c38f
+.StartingPoints: ; 8c38f
db 1, 9
db 16, 24
; 8c393
-Function8c393: ; 8c393 (23:4393)
+StartTrainerBattle_Finish: ; 8c393 (23:4393)
call ClearSprites
ld a, $80
ld [wcf63], a
ret
-Function8c39c: ; 8c39c (23:439c)
+StartTrainerBattle_NextScene: ; 8c39c (23:439c)
ld hl, wcf63
inc [hl]
ret
-Function8c3a1: ; 8c3a1 (23:43a1)
- call Function8c39c
+StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1)
+ call StartTrainerBattle_NextScene
xor a
ld [wcf64], a
ld [hBGMapMode], a ; $ff00+$d4
ret
-Function8c3ab: ; 8c3ab (23:43ab)
+StartTrainerBattle_Flash: ; 8c3ab (23:43ab)
call Function8c3b3
ret nc
- call Function8c39c
+ call StartTrainerBattle_NextScene
ret
Function8c3b3: ; 8c3b3 (23:43b3)
ld a, [wd847]
- cp $ff
- jr z, .asm_8c3d5
+ cp -1
+ jr z, .done
ld hl, wcf64
ld a, [hl]
inc [hl]
@@ -54786,16 +54818,17 @@
srl a
ld e, a
ld d, 0
- ld hl, Unknown_8c3db
+ ld hl, .pals
add hl, de
ld a, [hl]
cp $1
- jr z, .asm_8c3d5
+ jr z, .done
ld [wcfc7], a
call DmgToCgbBGPals
and a
ret
-.asm_8c3d5
+
+.done
xor a
ld [wcf64], a
scf
@@ -54802,27 +54835,27 @@
ret
; 8c3db (23:43db)
-Unknown_8c3db: ; 8c3db
- db $f9 ; 3321
- db $fe ; 3332
- db $ff ; 3333
- db $fe ; 3332
- db $f9 ; 3321
- db $e4 ; 3210
- db $90 ; 2100
- db $40 ; 1000
- db $00 ; 0000
- db $40 ; 1000
- db $90 ; 2100
- db $e4 ; 3210
- db $01 ; 0001
+.pals: ; 8c3db
+ db %11111001 ; 3321
+ db %11111110 ; 3332
+ db %11111111 ; 3333
+ db %11111110 ; 3332
+ db %11111001 ; 3321
+ db %11100100 ; 3210
+ db %10010000 ; 2100
+ db %01000000 ; 1000
+ db %00000000 ; 0000
+ db %01000000 ; 1000
+ db %10010000 ; 2100
+ db %11100100 ; 3210
+ db %00000001 ; 0001
; 8c3e8
-Function8c3e8: ; 8c3e8 (23:43e8)
+StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8)
callba Function5602
ld a, $5
ld [rSVBK], a ; $ff00+$70
- call Function8c39c
+ call StartTrainerBattle_NextScene
ld a, $43
ld [hLCDStatCustom], a ; $ff00+$c6
xor a
@@ -54834,18 +54867,19 @@
ld [wcf65], a
ret
-Function8c408: ; 8c408 (23:4408)
+StartTrainerBattle_SineWave: ; 8c408 (23:4408)
ld a, [wcf64]
cp $60
- jr nc, .asm_8c413
- call Function8c419
+ jr nc, .end
+ call .DoSineWave
ret
-.asm_8c413
+
+.end
ld a, $20
ld [wcf63], a
ret
-Function8c419: ; 8c419 (23:4419)
+.DoSineWave: ; 8c419 (23:4419)
ld hl, wcf65
ld a, [hl]
inc [hl]
@@ -54856,11 +54890,12 @@
ld a, $90
ld bc, wd100
ld e, $0
-.asm_8c42b
+
+.loop
push af
push de
ld a, e
- call Function8c6f7
+ call StartTrainerBattle_DrawSineWave
ld [bc], a
inc bc
pop de
@@ -54869,33 +54904,46 @@
ld e, a
pop af
dec a
- jr nz, .asm_8c42b
+ jr nz, .loop
ret
-Function8c43d: ; 8c43d (23:443d)
+StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d)
callba Function5602
ld a, $5
ld [rSVBK], a ; $ff00+$70
- call Function8c39c
+ call StartTrainerBattle_NextScene
xor a
ld [wcf64], a
ret
-Function8c44f: ; 8c44f (23:444f)
+spintable_entry: MACRO
+ db \1
+ dw .wedge\2
+ dwcoord \3, \4
+ENDM
+
+; quadrants
+ const_def
+ const UPPER_LEFT
+ const UPPER_RIGHT
+ const LOWER_LEFT
+ const LOWER_RIGHT
+
+StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f)
xor a
ld [hBGMapMode], a ; $ff00+$d4
ld a, [wcf64]
ld e, a
ld d, 0
- ld hl, Unknown_8c490
+ ld hl, .spintable
rept 5
add hl, de
endr
ld a, [hli]
cp -1
- jr z, .asm_8c47a
+ jr z, .end
ld [wcf65], a
- call Function8c4f5
+ call .load
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
call DelayFrame
@@ -54903,7 +54951,8 @@
ld hl, wcf64
inc [hl]
ret
-.asm_8c47a
+
+.end
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
call DelayFrame
@@ -54916,37 +54965,31 @@
ret
; 8c490 (23:4490)
-Unknown_8c490: ; 8c490
-macro_8c490: MACRO
- db \1
- dw \2
- dwcoord \3, \4
-ENDM
-
- macro_8c490 0, Unknown_8c538, 1, 6
- macro_8c490 0, Unknown_8c53e, 0, 3
- macro_8c490 0, Unknown_8c548, 1, 0
- macro_8c490 0, Unknown_8c55a, 5, 0
- macro_8c490 0, Unknown_8c568, 9, 0
- macro_8c490 1, Unknown_8c568, 10, 0
- macro_8c490 1, Unknown_8c55a, 14, 0
- macro_8c490 1, Unknown_8c548, 18, 0
- macro_8c490 1, Unknown_8c53e, 19, 3
- macro_8c490 1, Unknown_8c538, 18, 6
- macro_8c490 3, Unknown_8c538, 18, 11
- macro_8c490 3, Unknown_8c53e, 19, 14
- macro_8c490 3, Unknown_8c548, 18, 17
- macro_8c490 3, Unknown_8c55a, 14, 17
- macro_8c490 3, Unknown_8c568, 10, 17
- macro_8c490 2, Unknown_8c568, 9, 17
- macro_8c490 2, Unknown_8c55a, 5, 17
- macro_8c490 2, Unknown_8c548, 1, 17
- macro_8c490 2, Unknown_8c53e, 0, 14
- macro_8c490 2, Unknown_8c538, 1, 11
- db $ff
+.spintable: ; 8c490
+ spintable_entry UPPER_LEFT, 1, 1, 6
+ spintable_entry UPPER_LEFT, 2, 0, 3
+ spintable_entry UPPER_LEFT, 3, 1, 0
+ spintable_entry UPPER_LEFT, 4, 5, 0
+ spintable_entry UPPER_LEFT, 5, 9, 0
+ spintable_entry UPPER_RIGHT, 5, 10, 0
+ spintable_entry UPPER_RIGHT, 4, 14, 0
+ spintable_entry UPPER_RIGHT, 3, 18, 0
+ spintable_entry UPPER_RIGHT, 2, 19, 3
+ spintable_entry UPPER_RIGHT, 1, 18, 6
+ spintable_entry LOWER_RIGHT, 1, 18, 11
+ spintable_entry LOWER_RIGHT, 2, 19, 14
+ spintable_entry LOWER_RIGHT, 3, 18, 17
+ spintable_entry LOWER_RIGHT, 4, 14, 17
+ spintable_entry LOWER_RIGHT, 5, 10, 17
+ spintable_entry LOWER_LEFT, 5, 9, 17
+ spintable_entry LOWER_LEFT, 4, 5, 17
+ spintable_entry LOWER_LEFT, 3, 1, 17
+ spintable_entry LOWER_LEFT, 2, 0, 14
+ spintable_entry LOWER_LEFT, 1, 1, 11
+ db -1
; 8c4f5
-Function8c4f5: ; 8c4f5 (23:44f5)
+.load: ; 8c4f5 (23:44f5)
ld a, [hli]
ld e, a
ld a, [hli]
@@ -54954,64 +54997,64 @@
ld a, [hli]
ld h, [hl]
ld l, a
-.asm_8c4fc
+.loop
push hl
ld a, [de]
ld c, a
inc de
-.asm_8c500
+.loop1
ld [hl], $ff
ld a, [wcf65]
bit 0, a
- jr z, .asm_8c50c
+ jr z, .leftside
inc hl
- jr .asm_8c50d
-.asm_8c50c
+ jr .okay1
+.leftside
dec hl
-.asm_8c50d
+.okay1
dec c
- jr nz, .asm_8c500
+ jr nz, .loop1
pop hl
ld a, [wcf65]
bit 1, a
- ld bc, $14
- jr z, .asm_8c51e
- ld bc, $ffec
-.asm_8c51e
+ ld bc, SCREEN_WIDTH
+ jr z, .upper
+ ld bc, -SCREEN_WIDTH
+.upper
add hl, bc
ld a, [de]
inc de
- cp $ff
+ cp -1
ret z
and a
- jr z, .asm_8c4fc
+ jr z, .loop
ld c, a
-.asm_8c528
+.loop2
ld a, [wcf65]
bit 0, a
- jr z, .asm_8c532
+ jr z, .leftside2
dec hl
- jr .asm_8c533
-.asm_8c532
+ jr .okay2
+.leftside2
inc hl
-.asm_8c533
+.okay2
dec c
- jr nz, .asm_8c528
- jr .asm_8c4fc
+ jr nz, .loop2
+ jr .loop
; 8c538 (23:4538)
-Unknown_8c538: db 2, 3, 5, 4, 9, $ff
-Unknown_8c53e: db 1, 1, 2, 2, 4, 2, 4, 2, 3, $ff
-Unknown_8c548: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, $ff
-Unknown_8c55a: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, $ff
-Unknown_8c568: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, $ff
+.wedge1: db 2, 3, 5, 4, 9, -1
+.wedge2: db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1
+.wedge3: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1
+.wedge4: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1
+.wedge5: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1
; 8c578
-Function8c578: ; 8c578 (23:4578)
+StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578)
callba Function5602
ld a, $5
ld [rSVBK], a ; $ff00+$70
- call Function8c39c
+ call StartTrainerBattle_NextScene
ld a, $10
ld [wcf64], a
ld a, $1
@@ -55018,21 +55061,22 @@
ld [hBGMapMode], a ; $ff00+$d4
ret
-Function8c58f: ; 8c58f (23:458f)
+StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f)
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_8c5a2
+ jr z, .done
dec [hl]
ld c, $c
-.asm_8c599
+.loop
push bc
- call Function8c5b8
+ call .BlackOutRandomTile
pop bc
dec c
- jr nz, .asm_8c599
+ jr nz, .loop
ret
-.asm_8c5a2
+
+.done
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
call DelayFrame
@@ -55044,34 +55088,41 @@
ld [wcf63], a
ret
-Function8c5b8: ; 8c5b8 (23:45b8)
+.BlackOutRandomTile: ; 8c5b8 (23:45b8)
+.y_loop
call Random
- cp $12
- jr nc, Function8c5b8
+ cp SCREEN_HEIGHT
+ jr nc, .y_loop
ld b, a
-.asm_8c5c0
+
+.x_loop
call Random
- cp $14
- jr nc, .asm_8c5c0
+ cp SCREEN_WIDTH
+ jr nc, .x_loop
ld c, a
- ld hl, Sprites + $8c
- ld de, $14
+
+ hlcoord 0, -1
+ ld de, SCREEN_WIDTH
inc b
-.asm_8c5cf
+
+.row_loop
add hl, de
dec b
- jr nz, .asm_8c5cf
+ jr nz, .row_loop
add hl, bc
+
+; If the tile has already been blacked out,
+; sample a new tile
ld a, [hl]
cp $ff
- jr z, Function8c5b8
+ jr z, .y_loop
ld [hl], $ff
ret
-Function8c5dc: ; 8c5dc (23:45dc)
+StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc)
ld a, [OtherTrainerClass]
and a
- jp z, Function8c673
+ jp z, .nextscene
xor a
ld [hBGMapMode], a ; $ff00+$d4
hlcoord 0, 0, AttrMap
@@ -55078,27 +55129,28 @@
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
inc b
inc c
- jr .asm_8c5f4
-.asm_8c5f0
+ jr .enter_loop_midway
+
+.loop
ld a, [hl]
or $7
ld [hli], a
-.asm_8c5f4
+.enter_loop_midway
dec c
- jr nz, .asm_8c5f0
+ jr nz, .loop
dec b
- jr nz, .asm_8c5f0
- call Function8c6b1
+ jr nz, .loop
+ call .loadpokeballgfx
hlcoord 2, 1
ld b, $10
-.asm_8c602
+.loop2
push hl
ld c, $2
-.asm_8c605
+.loop3
push hl
ld a, [de]
inc de
-.asm_8c608
+.loop4
and a
jr z, .asm_8c614
sla a
@@ -55106,7 +55158,7 @@
ld [hl], $fe
.asm_8c611
inc hl
- jr .asm_8c608
+ jr .loop4
.asm_8c614
pop hl
push bc
@@ -55114,7 +55166,7 @@
add hl, bc
pop bc
dec c
- jr nz, .asm_8c605
+ jr nz, .loop3
pop hl
push bc
ld bc, $14
@@ -55121,28 +55173,29 @@
add hl, bc
pop bc
dec b
- jr nz, .asm_8c602
+ jr nz, .loop2
ld a, [hCGB] ; $ff00+$e6
and a
- jr nz, .asm_8c639
+ jr nz, .cgb
ld a, $1
ld [hBGMapMode], a ; $ff00+$d4
call DelayFrame
call DelayFrame
- jr Function8c673
-.asm_8c639
- ld hl, Unknown_8c6a1
+ jr .nextscene
+
+.cgb
+ ld hl, .daypals
ld a, [TimeOfDayPal]
- and 3
+ and (1 << 2) - 1
cp 3
- jr nz, .asm_8c648
- ld hl, Unknown_8c6a9
-.asm_8c648
+ jr nz, .daytime
+ ld hl, .nightpals
+.daytime
ld a, [rSVBK] ; $ff00+$70
push af
- ld a, $5
+ ld a, $5 ; WRAM5 = palettes
ld [rSVBK], a ; $ff00+$70
- call Function8c677
+ call .copypals
push hl
ld de, Unkn1Pals + 8 * 7
ld bc, $8
@@ -55158,24 +55211,24 @@
call DelayFrame
call Function8cf4f
-Function8c673: ; 8c673 (23:4673)
- call Function8c39c
+.nextscene: ; 8c673 (23:4673)
+ call StartTrainerBattle_NextScene
ret
-Function8c677: ; 8c677 (23:4677)
+.copypals: ; 8c677 (23:4677)
ld de, Unkn1Pals + 8 * 7
- call Function8c698
+ call .copy
ld de, BGPals + 8 * 7
- call Function8c698
+ call .copy
ld de, Unkn2Pals + 8 * 6
- call Function8c698
+ call .copy
ld de, OBPals + 8 * 6
- call Function8c698
+ call .copy
ld de, Unkn2Pals + 8 * 7
- call Function8c698
+ call .copy
ld de, OBPals + 8 * 7
-Function8c698: ; 8c698 (23:4698)
+.copy: ; 8c698 (23:4698)
push hl
ld bc, $8
call CopyBytes
@@ -55183,7 +55236,7 @@
ret
; 8c6a1 (23:46a1)
-Unknown_8c6a1: ; 8c6a1
+.daypals: ; 8c6a1
RGB 31, 18, 29
RGB 31, 11, 15
RGB 31, 05, 05
@@ -55190,34 +55243,34 @@
RGB 07, 07, 07
; 8c6a9
-Unknown_8c6a9: ; 8c6a9
+.nightpals: ; 8c6a9
RGB 31, 18, 29
RGB 31, 05, 05
RGB 31, 05, 05
RGB 31, 05, 05
-Function8c6b1:
+.loadpokeballgfx:
ld a, [OtherTrainerClass]
ld de, PokeBallTransition
ret
PokeBallTransition:
- db %00000011,%11000000
- db %00001111,%11110000
- db %00111100,%00111100
- db %00110000,%00001100
- db %01100000,%00000110
- db %01100011,%11000110
- db %11000110,%01100011
- db %11111100,%00111111
- db %11111100,%00111111
- db %11000110,%01100011
- db %01100011,%11000110
- db %01100000,%00000110
- db %00110000,%00001100
- db %00111100,%00111100
- db %00001111,%11110000
- db %00000011,%11000000
+ db %00000011, %11000000
+ db %00001111, %11110000
+ db %00111100, %00111100
+ db %00110000, %00001100
+ db %01100000, %00000110
+ db %01100011, %11000110
+ db %11000110, %01100011
+ db %11111100, %00111111
+ db %11111100, %00111111
+ db %11000110, %01100011
+ db %01100011, %11000110
+ db %01100000, %00000110
+ db %00110000, %00001100
+ db %00111100, %00111100
+ db %00001111, %11110000
+ db %00000011, %11000000
Function8c6d8: ; 8c6d8
ld a, [rSVBK]
@@ -55244,26 +55297,27 @@
; 8c6f7
-Function8c6f7: ; 8c6f7 (23:46f7)
- and $3f
- cp $20
- jr nc, .asm_8c702
- call Function8c70c
+StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7)
+ and (1 << 6) - 1
+ cp 1 << 5
+ jr nc, .okay
+ call .DoSineWave
ld a, h
ret
-.asm_8c702
- and $1f
- call Function8c70c
+
+.okay
+ and (1 << 5) - 1
+ call .DoSineWave
ld a, h
- xor $ff
+ xor -1 ; cpl
inc a
ret
-Function8c70c: ; 8c70c (23:470c)
+.DoSineWave: ; 8c70c (23:470c)
ld e, a
ld a, d
ld d, 0
- ld hl, Unknown_8c728
+ ld hl, .sinewave
rept 2
add hl, de
endr
@@ -55271,29 +55325,36 @@
inc hl
ld d, [hl]
ld hl, 0
-.asm_8c71b
+.loop
srl a
- jr nc, .asm_8c720
+ jr nc, .skip
add hl, de
-.asm_8c720
+.skip
sla e
rl d
and a
- jr nz, .asm_8c71b
+ jr nz, .loop
ret
; 8c728 (23:4728)
-Unknown_8c728: ; 8c728
+.sinewave: ; 8c728
sine_wave $100
; 8c768
-Function8c768: ; 8c768 (23:4768)
+macro_8c792: macro
+; width, height, start y, start x
+ db \1, \2
+ dwcoord \3, \4
+endm
+
+StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768)
callba Function5602
- ld de, Unknown_8c792
-.asm_8c771
+ ld de, .boxes
+
+.loop
ld a, [de]
- cp $ff
- jr z, .asm_8c78c
+ cp -1
+ jr z, .done
inc de
ld c, a
ld a, [de]
@@ -55307,20 +55368,17 @@
ld h, a
xor a
ld [hBGMapMode], a ; $ff00+$d4
- call Function8c7b7
+ call .Copy
call WaitBGMap
- jr .asm_8c771
-.asm_8c78c
+ jr .loop
+
+.done
ld a, $20
ld [wcf63], a
ret
; 8c792 (23:4792)
-Unknown_8c792: ; 8c792
-macro_8c792: macro
- db \1, \2
- dwcoord \3, \4
-endm
+.boxes: ; 8c792
macro_8c792 4, 2, 8, 8
macro_8c792 6, 4, 7, 7
macro_8c792 8, 6, 6, 6
@@ -55330,24 +55388,24 @@
macro_8c792 16, 14, 2, 2
macro_8c792 18, 16, 1, 1
macro_8c792 20, 18, 0, 0
- db $ff
+ db -1
; 8c7b7
-Function8c7b7: ; 8c7b7 (23:47b7)
- ld a, $ff
-.asm_8c7b9
+.Copy: ; 8c7b7 (23:47b7)
+ ld a, -1
+.row
push bc
push hl
-.asm_8c7bb
+.col
ld [hli], a
dec c
- jr nz, .asm_8c7bb
+ jr nz, .col
pop hl
- ld bc, $14
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .asm_8c7b9
+ jr nz, .row
ret
; 8c7c9 (23:47c9)
@@ -59612,7 +59670,7 @@
GetGFXUnlessMobile: ; 8ea3f
ld a, [InLinkBattle]
- cp 4 ; Mobile Link Battle
+ cp LINK_MOBILE
jp nz, Request2bpp
jp Functiondc9
; 8ea4a
@@ -60122,7 +60180,7 @@
Unknown_90233: ; 90233
db 0, 0
- dbw BANK(UnknownScript_0x90238), UnknownScript_0x90238
+ dba UnknownScript_0x90238
UnknownScript_0x90238:
writetext UnknownText_0x9023c
end
@@ -60463,9 +60521,9 @@
db \1, \2 ; trainer
map \3 ; map
db \4
- dbw BANK(\5), \5 ; script 1
+ dba \5 ; script 1
db \6
- dbw BANK(\7), \7 ; script 2
+ dba \7 ; script 2
ENDM
phone 0, 0, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
@@ -60511,35 +60569,35 @@
SpecialPhoneCallList: ; 90627
dw Function90188
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
dw Function90188
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
dw Function90188
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
dw Function90188
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
dw Function90197
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
dw Function90197
db 2
- dbw BANK(BikeShopPhoneScript), BikeShopPhoneScript ; bike shop
+ dba BikeShopPhoneScript ; bike shop
dw Function90197
db 1
- dbw BANK(MomPhoneLectureScript), MomPhoneLectureScript
+ dba MomPhoneLectureScript
dw Function90188
db 4
- dbw BANK(ElmPhoneScript2), ElmPhoneScript2
+ dba ElmPhoneScript2
; 90657
UnknownScript_0x90657: ; 0x90657
@@ -67093,14 +67151,14 @@
INCLUDE "engine/radio.asm"
-Functionb9229: ; b9229
+ReadPartyMonMail: ; b9229
ld a, [CurPartyMon]
ld hl, s0_a600
- ld bc, $002f
+ ld bc, PartyMon1StatsEnd - PartyMon1Item
call AddNTimes
ld d, h
ld e, l
-Functionb9237: ; b9237
+ReadAnyMail: ; b9237
push de
call WhiteBGMap
call ClearSprites
@@ -74000,11 +74058,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e33d0
Functione33d0: ; e33d0 (38:73d0)
@@ -74118,10 +74176,10 @@
db $22 ; flags
db 4, 0
db 1
- dbw BANK(.boxes), .boxes
- dbw BANK(.boxnames), .boxnames
- dbw BANK(NULL), NULL
- dbw BANK(Functione3632), Functione3632
+ dba .boxes
+ dba .boxnames
+ dba NULL
+ dba Functione3632
; e3609
.boxes: ; e3609
@@ -74233,11 +74291,11 @@
dbw BANK(sBox7), sBox7
dbw BANK(sBox8), sBox8
dbw BANK(sBox9), sBox9
- dbw BANK(sBox10), sBox10
- dbw BANK(sBox11), sBox11
- dbw BANK(sBox12), sBox12
- dbw BANK(sBox13), sBox13
- dbw BANK(sBox14), sBox14
+ dba sBox10
+ dba sBox11
+ dba sBox12
+ dba sBox13
+ dba sBox14
; e36cf
Functione36cf: ; e36cf (38:76cf)
@@ -77757,7 +77815,7 @@
cp 101
jr nc, .asm_fb5db
ld a, [InLinkBattle]
- cp $1
+ cp LINK_TIMECAPSULE
jr nz, .asm_fb5d9
ld hl, OTPartySpecies
ld a, [wd003]
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -1959,7 +1959,7 @@
ld c, 8
call TextBox
ld hl, BattleMonMoves
- ld de, wd25e
+ ld de, wListMoves_MoveIndicesBuffer
ld bc, NUM_MOVES
call CopyBytes
ld a, SCREEN_WIDTH * 2
--- a/sram.asm
+++ b/sram.asm
@@ -7,8 +7,10 @@
s0_a600:: ds $11a
s0_a71a:: ds $11a
-s0_a834:: ds $1d7
-s0_aa0b:: ds $1d7
+s0_a834:: ds 1
+s0_a835:: ds 10 * (PartyMon1StatsEnd - PartyMon1Item)
+s0_aa0b:: ds 1
+s0_aa0c:: ds 10 * (PartyMon1StatsEnd - PartyMon1Item)
sMysteryGiftItem:: ds 1
s0_abe3:: ds 1
--- a/wram.asm
+++ b/wram.asm
@@ -1179,7 +1179,7 @@
CurSpecies:: ; cf60
ds 1
-wcf61:: ds 2
+wNamedObjectTypeBuffer:: ds 2
wIntroSceneIndex::
wcf63:: ds 1
wNrOfBeatenBattleTowerTrainers::
@@ -1594,7 +1594,8 @@
wd196:: ds 1
wd197:: ds 2
wd199:: ds 1
-wPermission:: ds 3
+wPermission:: ds 1
+ ds 2
; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
MapHeader:: ; d19d
@@ -1855,7 +1856,7 @@
ds 2
wd25a:: ds 3
wd25d:: ds 1
-wd25e:: ds 4
+wListMoves_MoveIndicesBuffer:: ds 4
wd262:: ds 1
wd263:: ds 1
wd264:: ds 1