Remove all address comments

This commit is contained in:
mid-kid
2018-06-24 16:09:41 +02:00
parent 131875d3e3
commit 1d9a68dbdd
616 changed files with 12133 additions and 20380 deletions

View File

@@ -22,7 +22,7 @@
const DEBUGTEST_E ; $7e
const DEBUGTEST_F ; $7f
ColorTest: ; 818ac
ColorTest:
; A debug menu to test monster and trainer palettes at runtime.
ld a, [hCGB]
@@ -62,15 +62,14 @@ ColorTest: ; 818ac
pop af
ld [hInMenu], a
ret
; 818f4
Function818f4: ; 818f4
Function818f4:
ld a, [wd002]
and a
jr nz, Function81911
ld hl, PokemonPalettes
Function818fd: ; 818fd
Function818fd:
ld de, wOverworldMapBlocks
ld c, NUM_POKEMON + 1
.asm_81902
@@ -85,7 +84,7 @@ Function818fd: ; 818fd
jr nz, .asm_81902
ret
Function81911: ; 81911
Function81911:
ld hl, TrainerPalettes
ld de, wOverworldMapBlocks
ld c, NUM_TRAINER_CLASSES
@@ -100,9 +99,8 @@ Function81911: ; 81911
dec c
jr nz, .asm_81919
ret
; 81928
Function81928: ; 81928
Function81928:
ld a, BANK(PokemonPalettes) ; BANK(TrainerPalettes)
call GetFarByte
ld [de], a
@@ -123,9 +121,8 @@ Function81928: ; 81928
ld [de], a
inc de
ret
; 81948
Function81948: ; 81948
Function81948:
ld a, $1
ld [rVBK], a
ld hl, vTiles0
@@ -148,9 +145,8 @@ Function81948: ; 81948
call ByteFill
call ClearSprites
ret
; 8197c
Function8197c: ; 8197c
Function8197c:
ld hl, DebugColorTestGFX + 1 tiles
ld de, vTiles2 tile DEBUGTEST_UP_ARROW
ld bc, 22 tiles
@@ -171,9 +167,8 @@ Function8197c: ; 8197c
or b
jr nz, .asm_8199d
ret
; 819a7
Function819a7: ; 819a7
Function819a7:
ld a, [hCGB]
and a
ret z
@@ -214,16 +209,14 @@ Function819a7: ; 819a7
pop af
ld [rSVBK], a
ret
; 819f4
Palette_DebugBG: ; 819f4
Palette_DebugBG:
INCLUDE "gfx/debug/bg.pal"
Palette_DebugOB: ; 81a34
Palette_DebugOB:
INCLUDE "gfx/debug/ob.pal"
; 81a74
Function81a74: ; 81a74
Function81a74:
call JoyTextDelay
ld a, [wJumptableIndex]
cp $4
@@ -273,9 +266,8 @@ Function81a74: ; 81a74
ld a, $0
ld [wJumptableIndex], a
ret
; 81ac3
Function81ac3: ; 81ac3
Function81ac3:
; Looping back around the pic set.
ld a, [wd002]
and a
@@ -286,18 +278,16 @@ Function81ac3: ; 81ac3
.asm_81acc
ld a, NUM_TRAINER_CLASSES - 1 ; MYSTICALMAN
ret
; 81acf
Jumptable_81acf: ; 81acf
Jumptable_81acf:
dw Function81adb
dw Function81c18
dw Function81c33
dw Function81cc2
dw Function81d8e
dw Function81daf
; 81adb
Function81adb: ; 81adb
Function81adb:
xor a
ld [hBGMapMode], a
hlcoord 0, 0
@@ -382,14 +372,12 @@ Function81adb: ; 81adb
ld a, $1
ld [wJumptableIndex], a
ret
; 81baf
String_81baf: db "レア", DEBUGTEST_BLACK, DEBUGTEST_BLACK, "@" ; rare (shiny)
String_81bb4: db "ノーマル@" ; normal
String_81bb9: db DEBUGTEST_A, "きりかえ▶@" ; (A) switches
; 81bc0
Function81bc0: ; 81bc0
Function81bc0:
decoord 0, 11, wAttrMap
hlcoord 2, 11
ld a, $1
@@ -402,7 +390,7 @@ Function81bc0: ; 81bc0
hlcoord 2, 15
ld a, $3
Function81bde: ; 81bde
Function81bde:
push af
ld a, DEBUGTEST_UP_ARROW
ld [hli], a
@@ -415,9 +403,8 @@ Function81bde: ; 81bde
ld bc, $28
call ByteFill
ret
; 81bf4
Function81bf4: ; 81bf4
Function81bf4:
ld a, [wcf66]
inc a
ld l, a
@@ -435,9 +422,8 @@ Function81bf4: ; 81bf4
ld de, wc608
call Function81ea5
ret
; 81c18
Function81c18: ; 81c18
Function81c18:
ld a, [hCGB]
and a
jr z, .asm_81c2a
@@ -452,9 +438,8 @@ Function81c18: ; 81c18
ld a, $2
ld [wJumptableIndex], a
ret
; 81c33
Function81c33: ; 81c33
Function81c33:
ld a, [hCGB]
and a
jr z, .asm_81c69
@@ -511,9 +496,8 @@ Function81c33: ; 81c33
ld a, $3
ld [wJumptableIndex], a
ret
; 81ca7
Function81ca7: ; 81ca7
Function81ca7:
inc hl
inc hl
inc hl
@@ -528,14 +512,13 @@ Function81ca7: ; 81ca7
ld a, [de]
swap a
Function81cbc: ; 81cbc
Function81cbc:
and $f
add DEBUGTEST_0
ld [hld], a
ret
; 81cc2
Function81cc2: ; 81cc2
Function81cc2:
ld a, [hJoyLast]
and B_BUTTON
jr nz, .asm_81cdf
@@ -574,16 +557,14 @@ Function81cc2: ; 81cc2
ld a, $0
ld [wJumptableIndex], a
ret
; 81d02
Jumptable_81d02: ; 81d02
Jumptable_81d02:
dw Function81d0a
dw Function81d34
dw Function81d46
dw Function81d58
; 81d0a
Function81d0a: ; 81d0a
Function81d0a:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -610,7 +591,7 @@ Function81d0a: ; 81d0a
call Function81ea5
ret
Function81d34: ; 81d34
Function81d34:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -621,7 +602,7 @@ Function81d34: ; 81d34
ld hl, wc608 + 10
jr Function81d63
Function81d46: ; 81d46
Function81d46:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -632,14 +613,14 @@ Function81d46: ; 81d46
ld hl, wc608 + 11
jr Function81d63
Function81d58: ; 81d58
Function81d58:
ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, Function81d84
ld hl, wc608 + 12
Function81d63: ; 81d63
Function81d63:
ld a, [hJoyLast]
and D_RIGHT
jr nz, Function81d70
@@ -648,37 +629,36 @@ Function81d63: ; 81d63
jr nz, Function81d77
ret
Function81d70: ; 81d70
Function81d70:
ld a, [hl]
cp $1f
ret nc
inc [hl]
jr Function81d7b
Function81d77: ; 81d77
Function81d77:
ld a, [hl]
and a
ret z
dec [hl]
Function81d7b: ; 81d7b
Function81d7b:
call Function81e67
ld a, $2
ld [wJumptableIndex], a
ret
Function81d84: ; 81d84
Function81d84:
ld hl, wcf64
dec [hl]
ret
Function81d89: ; 81d89
Function81d89:
ld hl, wcf64
inc [hl]
ret
; 81d8e
Function81d8e: ; 81d8e
Function81d8e:
hlcoord 0, 10
ld bc, $a0
ld a, DEBUGTEST_BLACK
@@ -692,9 +672,8 @@ Function81d8e: ; 81d8e
ld a, $5
ld [wJumptableIndex], a
ret
; 81daf
Function81daf: ; 81daf
Function81daf:
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
@@ -706,15 +685,13 @@ Function81daf: ; 81daf
ld a, $0
ld [wJumptableIndex], a
ret
; 81dc1
Function81dc1: ; 81dc1
Function81dc1:
ld hl, wJumptableIndex
set 7, [hl]
ret
; 81dc7
Function81dc7: ; 81dc7
Function81dc7:
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -749,9 +726,8 @@ Function81dc7: ; 81dc7
ld [wd004], a
call Function81df4
ret
; 81df4
Function81df4: ; 81df4
Function81df4:
hlcoord 10, 11
call Function81e5e
hlcoord 10, 12
@@ -783,13 +759,11 @@ Function81df4: ; 81df4
hlcoord 10, 14
call PlaceString
ret
; 81e46
String_81e46: db "おぼえられる@" ; can be taught
String_81e4d: db "おぼえられない@" ; cannot be taught
; 81e55
Function81e55: ; 81e55
Function81e55:
cp $32
jr c, .asm_81e5b
inc a
@@ -798,16 +772,14 @@ Function81e55: ; 81e55
.asm_81e5b
add $bf
ret
; 81e5e
Function81e5e: ; 81e5e
Function81e5e:
ld bc, 10
ld a, DEBUGTEST_BLACK
call ByteFill
ret
; 81e67
Function81e67: ; 81e67
Function81e67:
ld a, [wc608 + 10]
and $1f
ld e, a
@@ -843,9 +815,8 @@ Function81e67: ; 81e67
ld a, d
ld [wc608 + 1], a
ret
; 81ea5
Function81ea5: ; 81ea5
Function81ea5:
ld a, [de]
and $1f
ld [wc608 + 10], a
@@ -867,9 +838,8 @@ Function81ea5: ; 81ea5
srl a
ld [wc608 + 12], a
ret
; 81eca
Function81eca: ; 81eca
Function81eca:
ld a, [wcf66]
inc a
ld l, a
@@ -884,9 +854,8 @@ Function81eca: ; 81eca
ld bc, 4
call CopyBytes
ret
; 81ee3
Function81ee3: ; 81ee3
Function81ee3:
.asm_81ee3
ld a, LOW(PALRGB_WHITE)
ld [hli], a
@@ -910,9 +879,8 @@ Function81ee3: ; 81ee3
dec c
jr nz, .asm_81ee3
ret
; 81efc
Bank20_FillBoxWithByte: ; 81efc
Bank20_FillBoxWithByte:
; For some reason, we have another copy of FillBoxWithByte here
.row
push bc
@@ -928,9 +896,8 @@ Bank20_FillBoxWithByte: ; 81efc
dec b
jr nz, .row
ret
; 81f0c
Function81f0c: ; 81f0c
Function81f0c:
ld a, [wcfbe]
push af
set 7, a
@@ -939,9 +906,8 @@ Function81f0c: ; 81f0c
pop af
ld [wcfbe], a
ret
; 81f1d
Function81f1d: ; 81f1d
Function81f1d:
ld a, [hl]
and $7
ret z
@@ -989,9 +955,8 @@ Function81f1d: ; 81f1d
dec b
jr nz, .asm_81f22
ret
; 81f5e
Function81f5e: ; 81f5e
Function81f5e:
ld a, DEBUGTEST_BLACK
hlcoord 10, 0
ld [hl], a
@@ -1059,14 +1024,12 @@ Function81f5e: ; 81f5e
.asm_81fc9
call ClearSprites
ret
; 81fcd
String_81fcd: ; 81fcd
String_81fcd:
db "おわりますか?" ; Are you finished?
next "はい<DOT><DOT><DOT>", DEBUGTEST_A ; YES...(A)
next "いいえ<DOT><DOT>", DEBUGTEST_B ; NO..(B)
db "@"
; 81fe3
DebugColorTestGFX:
INCBIN "gfx/debug/color_test.2bpp"
@@ -1122,17 +1085,16 @@ TilesetColorTest:
ld a, $40
ld [hWY], a
ret
; 821d2
Function821d2: ; 821d2
Function821d2:
hlcoord 0, 0
call Function821de
Function821d8: ; 821d8
Function821d8:
ld a, [wcf64]
hlcoord 0, 0, wAttrMap
Function821de: ; 821de
Function821de:
add hl, de
rept 4
ld [hli], a
@@ -1148,25 +1110,23 @@ rept 4
ld [hli], a
endr
ret
; 821f4
Function821f4: ; 821f4
Function821f4:
hlcoord 2, 4
call Function82203
hlcoord 2, 6
call Function82203
hlcoord 2, 8
Function82203: ; 82203
Function82203:
ld a, DEBUGTEST_UP_ARROW
ld [hli], a
ld bc, $10 - 1
ld a, DEBUGTEST_TICKS
call ByteFill
ret
; 8220f
Function8220f: ; 8220f
Function8220f:
ld a, [rSVBK]
push af
ld a, BANK(wBGPals1)
@@ -1187,10 +1147,9 @@ Function8220f: ; 8220f
pop af
ld [rSVBK], a
ret
; 82236
Function82236: ; 82236
Function82236:
ld hl, hJoyLast
ld a, [hl]
and SELECT
@@ -1247,9 +1206,8 @@ Function82236: ; 82236
xor $d0
ld [hWY], a
ret
; 822a3
Function822a3: ; 822a3
Function822a3:
ld a, [rSVBK]
push af
ld a, BANK(wBGPals2)
@@ -1281,9 +1239,8 @@ Function822a3: ; 822a3
ld [hCGBPalUpdate], a
call DelayFrame
ret
; 822f0
Function822f0: ; 822f0
Function822f0:
ld a, [wcf65]
and 3
ld e, a
@@ -1295,16 +1252,14 @@ Function822f0: ; 822f0
ld h, [hl]
ld l, a
jp hl
; 82301
.dw ; 82301
.dw
dw Function82309
dw Function82339
dw Function8234b
dw Function8235d
; 82309
Function82309: ; 82309
Function82309:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -1339,7 +1294,7 @@ Function82309: ; 82309
call Function81ea5
ret
Function82339: ; 82338
Function82339:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -1350,7 +1305,7 @@ Function82339: ; 82338
ld hl, wc608 + 10
jr Function82368
Function8234b: ; 8234b
Function8234b:
ld hl, hJoyLast
ld a, [hl]
and D_DOWN
@@ -1361,14 +1316,14 @@ Function8234b: ; 8234b
ld hl, wc608 + 11
jr Function82368
Function8235d: ; 8235d
Function8235d:
ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, Function82387
ld hl, wc608 + 12
Function82368: ; 82368
Function82368:
ld a, [hJoyLast]
and D_RIGHT
jr nz, .asm_82375
@@ -1395,18 +1350,17 @@ Function82368: ; 82368
call Function822a3
ret
Function82387: ; 82387
Function82387:
ld hl, wcf65
dec [hl]
ret
Function8238c: ; 8238c
Function8238c:
ld hl, wcf65
inc [hl]
ret
; 82391
Function82391: ; 82391
Function82391:
ld a, [wc608 + 10]
and $1f
ld e, a
@@ -1437,11 +1391,9 @@ Function82391: ; 82391
ld [hli], a
ld [hl], d
ret
; 823c6
Function823c6: ; 823c6
Function823c6:
ret
Function823c7: ; 823c7
Function823c7:
ret
; 823c8

View File

@@ -1,4 +1,4 @@
_DeleteSaveData: ; 4d54c
_DeleteSaveData:
farcall BlankScreen
ld b, SCGB_DIPLOMA
call GetSGBLayout

View File

@@ -1,4 +1,4 @@
EmptyAllSRAMBanks: ; 4cf1f
EmptyAllSRAMBanks:
ld a, 0
call .EmptyBank
ld a, 1
@@ -9,7 +9,7 @@ EmptyAllSRAMBanks: ; 4cf1f
call .EmptyBank
ret
.EmptyBank: ; 4cf34
.EmptyBank:
call GetSRAMBank
ld hl, SRAM_Begin
ld bc, SRAM_End - SRAM_Begin

View File

@@ -1,4 +1,4 @@
InitCrystalData: ; 48000
InitCrystalData:
ld a, $1
ld [wd474], a
xor a
@@ -18,11 +18,10 @@ InitCrystalData: ; 48000
res 1, a
ld [wd479], a
ret
; 4802f
INCLUDE "mobile/mobile_12.asm"
InitGender: ; 48dcb (12:4dcb)
InitGender:
call InitGenderScreen
call LoadGenderScreenPal
call LoadGenderScreenLightBlueTile
@@ -41,7 +40,6 @@ InitGender: ; 48dcb (12:4dcb)
ld c, 10
call DelayFrames
ret
; 48dfc (12:4dfc)
.MenuHeader: ; 0x48dfc
db MENU_BACKUP_TILES ; flags
@@ -63,7 +61,7 @@ TextJump_AreYouABoyOrAreYouAGirl: ; 0x48e0f
db "@"
; 0x48e14
InitGenderScreen: ; 48e14 (12:4e14)
InitGenderScreen:
ld a, $10
ld [wMusicFade], a
ld a, MUSIC_NONE
@@ -85,7 +83,7 @@ InitGenderScreen: ; 48e14 (12:4e14)
call ByteFill
ret
LoadGenderScreenPal: ; 48e47 (12:4e47)
LoadGenderScreenPal:
ld hl, .Palette
ld de, wBGPals1
ld bc, 1 palettes
@@ -93,19 +91,16 @@ LoadGenderScreenPal: ; 48e47 (12:4e47)
call FarCopyWRAM
farcall ApplyPals
ret
; 48e5c (12:4e5c)
.Palette: ; 48e5c
.Palette:
INCLUDE "gfx/new_game/gender_screen.pal"
; 48e64
LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64)
LoadGenderScreenLightBlueTile:
ld de, .LightBlueTile
ld hl, vTiles2 tile $00
lb bc, BANK(.LightBlueTile), 1
call Get2bpp
ret
; 48e71 (12:4e71)
.LightBlueTile: ; 48e71
.LightBlueTile:
INCBIN "gfx/new_game/gender_screen.2bpp"

View File

@@ -1,4 +1,4 @@
_MainMenu: ; 5ae8
_MainMenu:
ld de, MUSIC_NONE
call PlayMusic
call DelayFrame
@@ -8,13 +8,11 @@ _MainMenu: ; 5ae8
call PlayMusic
farcall MainMenu
jp StartTitleScreen
; 5b04
; unused
ret
; 5b05
PrintDayOfWeek: ; 5b05
PrintDayOfWeek:
push de
ld hl, .Days
ld a, b
@@ -28,9 +26,8 @@ PrintDayOfWeek: ; 5b05
ld de, .Day
call PlaceString
ret
; 5b1c
.Days: ; 5b1c
.Days:
db "SUN@"
db "MON@"
db "TUES@"
@@ -38,13 +35,11 @@ PrintDayOfWeek: ; 5b05
db "THURS@"
db "FRI@"
db "SATUR@"
; 5b40
.Day: ; 5b40
.Day:
db "DAY@"
; 5b44
NewGame_ClearTileMapEtc: ; 5b44
NewGame_ClearTileMapEtc:
xor a
ld [hMapAnims], a
call ClearTileMap
@@ -52,21 +47,18 @@ NewGame_ClearTileMapEtc: ; 5b44
call LoadStandardFont
call ClearWindowData
ret
; 5b54
MysteryGift: ; 5b54
MysteryGift:
call UpdateTime
farcall DoMysteryGiftIfDayHasPassed
farcall DoMysteryGift
ret
; 5b64
OptionsMenu: ; 5b64
OptionsMenu:
farcall _OptionsMenu
ret
; 5b6b
NewGame: ; 5b6b
NewGame:
xor a
ld [wMonStatusFlags], a
call ResetWRAM
@@ -83,9 +75,8 @@ NewGame: ; 5b6b
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
jp FinishContinueFunction
; 5b8f
AreYouABoyOrAreYouAGirl: ; 5b8f
AreYouABoyOrAreYouAGirl:
farcall Mobile_AlwaysReturnNotCarry ; some mobile stuff
jr c, .ok
farcall InitGender
@@ -95,16 +86,14 @@ AreYouABoyOrAreYouAGirl: ; 5b8f
ld c, 0
farcall InitMobileProfile ; mobile
ret
; 5ba7
ResetWRAM: ; 5ba7
ResetWRAM:
xor a
ld [hBGMapMode], a
call _ResetWRAM
ret
; 5bae
_ResetWRAM: ; 5bae
_ResetWRAM:
ld hl, wVirtualOAM
ld bc, wOptions - wVirtualOAM
@@ -228,18 +217,16 @@ endc
call ResetGameTime
ret
; 5ca1
.InitList: ; 5ca1
.InitList:
; Loads 0 in the count and -1 in the first item or mon slot.
xor a
ld [hli], a
dec a
ld [hl], a
ret
; 5ca6
SetDefaultBoxNames: ; 5ca6
SetDefaultBoxNames:
ld hl, wBoxNames
ld c, 0
.loop
@@ -270,9 +257,8 @@ SetDefaultBoxNames: ; 5ca6
.Box:
db "BOX@"
; 5cd3
InitializeMagikarpHouse: ; 5cd3
InitializeMagikarpHouse:
ld hl, wBestMagikarpLengthFeet
ld a, $3
ld [hli], a
@@ -281,13 +267,11 @@ InitializeMagikarpHouse: ; 5cd3
ld de, .Ralph
call CopyName2
ret
; 5ce3
.Ralph: ; 5ce3
.Ralph:
db "RALPH@"
; 5ce9
InitializeNPCNames: ; 5ce9
InitializeNPCNames:
ld hl, .Rival
ld de, wRivalName
call .Copy
@@ -312,16 +296,14 @@ InitializeNPCNames: ; 5ce9
.Red: db "RED@"
.Green: db "GREEN@"
.Mom: db "MOM@"
; 5d23
InitializeWorld: ; 5d23
InitializeWorld:
call ShrinkPlayer
farcall SpawnPlayer
farcall _InitializeStartDay
ret
; 5d33
LoadOrRegenerateLuckyIDNumber: ; 5d33
LoadOrRegenerateLuckyIDNumber:
ld a, BANK(sLuckyIDNumber)
call GetSRAMBank
ld a, [wCurDay]
@@ -346,9 +328,8 @@ LoadOrRegenerateLuckyIDNumber: ; 5d33
ld [wLuckyIDNumber + 1], a
ld [sLuckyIDNumber + 1], a
jp CloseSRAM
; 5d65
Continue: ; 5d65
Continue:
farcall TryLoadSaveFile
jr c, .FailToLoad
farcall _LoadData
@@ -400,22 +381,19 @@ Continue: ; 5d65
ld [wDefaultSpawnpoint], a
call PostCreditsSpawn
jp FinishContinueFunction
; 5de2
SpawnAfterRed: ; 5de2
SpawnAfterRed:
ld a, SPAWN_MT_SILVER
ld [wDefaultSpawnpoint], a
; 5de7
PostCreditsSpawn: ; 5de7
PostCreditsSpawn:
xor a
ld [wSpawnAfterChampion], a
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
ret
; 5df0
Continue_MobileAdapterMenu: ; 5df0
Continue_MobileAdapterMenu:
farcall Mobile_AlwaysReturnNotCarry ; mobile check
ret nc
@@ -444,9 +422,8 @@ Continue_MobileAdapterMenu: ; 5df0
ld c, 35
call DelayFrames
ret
; 5e34
ConfirmContinue: ; 5e34
ConfirmContinue:
.loop
call DelayFrame
call GetJoypad
@@ -460,9 +437,8 @@ ConfirmContinue: ; 5e34
.PressA:
ret
; 5e48
Continue_CheckRTC_RestartClock: ; 5e48
Continue_CheckRTC_RestartClock:
call CheckRTCStatus
and %10000000 ; Day count exceeded 16383
jr z, .pass
@@ -476,9 +452,8 @@ Continue_CheckRTC_RestartClock: ; 5e48
.pass
xor a
ret
; 5e5d
FinishContinueFunction: ; 5e5d
FinishContinueFunction:
.loop
xor a
ld [wDontPlayMapMusicOnReload], a
@@ -497,9 +472,8 @@ FinishContinueFunction: ; 5e5d
.AfterRed:
call SpawnAfterRed
jr .loop
; 5e85
DisplaySaveInfoOnContinue: ; 5e85
DisplaySaveInfoOnContinue:
call CheckRTCStatus
and %10000000
jr z, .clock_ok
@@ -511,32 +485,28 @@ DisplaySaveInfoOnContinue: ; 5e85
lb de, 4, 8
call DisplayNormalContinueData
ret
; 5e9a
DisplaySaveInfoOnSave: ; 5e9a
DisplaySaveInfoOnSave:
lb de, 4, 0
jr DisplayNormalContinueData
; 5e9f
DisplayNormalContinueData: ; 5e9f
DisplayNormalContinueData:
call Continue_LoadMenuHeader
call Continue_DisplayBadgesDexPlayerName
call Continue_PrintGameTime
call LoadFontsExtra
call UpdateSprites
ret
; 5eaf
DisplayContinueDataWithRTCError: ; 5eaf
DisplayContinueDataWithRTCError:
call Continue_LoadMenuHeader
call Continue_DisplayBadgesDexPlayerName
call Continue_UnknownGameTime
call LoadFontsExtra
call UpdateSprites
ret
; 5ebf
Continue_LoadMenuHeader: ; 5ebf
Continue_LoadMenuHeader:
xor a
ld [hBGMapMode], a
ld hl, .MenuHeader_Dex
@@ -550,42 +520,37 @@ Continue_LoadMenuHeader: ; 5ebf
call MenuBox
call PlaceVerticalMenuItems
ret
; 5ed9
.MenuHeader_Dex: ; 5ed9
.MenuHeader_Dex:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, 15, 9
dw .MenuData_Dex
db 1 ; default option
; 5ee1
.MenuData_Dex: ; 5ee1
.MenuData_Dex:
db 0 ; flags
db 4 ; items
db "PLAYER@"
db "BADGES@"
db "#DEX@"
db "TIME@"
; 5efb
.MenuHeader_NoDex: ; 5efb
.MenuHeader_NoDex:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, 15, 9
dw .MenuData_NoDex
db 1 ; default option
; 5f03
.MenuData_NoDex: ; 5f03
.MenuData_NoDex:
db 0 ; flags
db 4 ; items
db "PLAYER <PLAYER>@"
db "BADGES@"
db " @"
db "TIME@"
; 5f1c
Continue_DisplayBadgesDexPlayerName: ; 5f1c
Continue_DisplayBadgesDexPlayerName:
call MenuBoxCoord2Tile
push hl
decoord 13, 4, 0
@@ -607,16 +572,14 @@ Continue_DisplayBadgesDexPlayerName: ; 5f1c
.Player:
db "<PLAYER>@"
; 5f40
Continue_PrintGameTime: ; 5f40
Continue_PrintGameTime:
decoord 9, 8, 0
add hl, de
call Continue_DisplayGameTime
ret
; 5f48
Continue_UnknownGameTime: ; 5f48
Continue_UnknownGameTime:
decoord 9, 8, 0
add hl, de
ld de, .three_question_marks
@@ -625,9 +588,8 @@ Continue_UnknownGameTime: ; 5f48
.three_question_marks
db " ???@"
; 5f58
Continue_DisplayBadgeCount: ; 5f58
Continue_DisplayBadgeCount:
push hl
ld hl, wJohtoBadges
ld b, 2
@@ -636,9 +598,8 @@ Continue_DisplayBadgeCount: ; 5f58
ld de, wd265
lb bc, 1, 2
jp PrintNum
; 5f6b
Continue_DisplayPokedexNumCaught: ; 5f6b
Continue_DisplayPokedexNumCaught:
ld a, [wStatusFlags]
bit STATUSFLAGS_POKEDEX_F, a
ret z
@@ -654,9 +615,8 @@ endc
ld de, wd265
lb bc, 1, 3
jp PrintNum
; 5f84
Continue_DisplayGameTime: ; 5f84
Continue_DisplayGameTime:
ld de, wGameTimeHours
lb bc, 2, 3
call PrintNum
@@ -665,7 +625,6 @@ Continue_DisplayGameTime: ; 5f84
ld de, wGameTimeMinutes
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
jp PrintNum
; 5f99
OakSpeech: ; 0x5f99
@@ -823,7 +782,6 @@ NamePlayer: ; 0x6074
db "CHRIS@@@@@@"
.Kris:
db "KRIS@@@@@@@"
; 60e9
Unreferenced_Function60e9:
call LoadMenuHeader
@@ -833,9 +791,8 @@ Unreferenced_Function60e9:
call CopyNameFromMenu
call CloseWindow
ret
; 60fa
StorePlayerName: ; 60fa
StorePlayerName:
ld a, "@"
ld bc, NAME_LENGTH
ld hl, wPlayerName
@@ -844,9 +801,8 @@ StorePlayerName: ; 60fa
ld de, wStringBuffer2
call CopyName2
ret
; 610f
ShrinkPlayer: ; 610f
ShrinkPlayer:
ld a, [hROMBank]
push af
@@ -898,9 +854,8 @@ ShrinkPlayer: ; 610f
call RotateThreePalettesRight
call ClearTileMap
ret
; 616a
Intro_RotatePalettesLeftFrontpic: ; 616a
Intro_RotatePalettesLeftFrontpic:
ld hl, IntroFadePalettes
ld b, IntroFadePalettes.End - IntroFadePalettes
.loop
@@ -911,7 +866,6 @@ Intro_RotatePalettesLeftFrontpic: ; 616a
dec b
jr nz, .loop
ret
; 617c
IntroFadePalettes: ; 0x617c
db %01010100
@@ -921,9 +875,8 @@ IntroFadePalettes: ; 0x617c
db %11110100
db %11100100
.End
; 6182
Intro_WipeInFrontpic: ; 6182
Intro_WipeInFrontpic:
ld a, $77
ld [hWX], a
call DelayFrame
@@ -937,9 +890,8 @@ Intro_WipeInFrontpic: ; 6182
ret z
ld [hWX], a
jr .loop
; 619c
Intro_PrepTrainerPic: ; 619c
Intro_PrepTrainerPic:
ld de, vTiles2
farcall GetTrainerPic
xor a
@@ -948,9 +900,8 @@ Intro_PrepTrainerPic: ; 619c
lb bc, 7, 7
predef PlaceGraphic
ret
; 61b4
ShrinkFrame: ; 61b4
ShrinkFrame:
ld de, vTiles2
ld c, 7 * 7
predef DecompressGet2bpp
@@ -960,9 +911,8 @@ ShrinkFrame: ; 61b4
lb bc, 7, 7
predef PlaceGraphic
ret
; 61cd
Intro_PlacePlayerSprite: ; 61cd
Intro_PlacePlayerSprite:
farcall GetPlayerIcon
ld c, $c
@@ -998,24 +948,22 @@ Intro_PlacePlayerSprite: ; 61cd
dec c
jr nz, .loop
ret
; 61fe
.sprites ; 61fe
.sprites
db 4
; y pxl, x pxl, tile offset
db 9 * 8 + 4, 9 * 8, 0
db 9 * 8 + 4, 10 * 8, 1
db 10 * 8 + 4, 9 * 8, 2
db 10 * 8 + 4, 10 * 8, 3
; 620b
CrystalIntroSequence: ; 620b
CrystalIntroSequence:
callfar Copyright_GFPresents
jr c, StartTitleScreen
farcall CrystalIntro
StartTitleScreen: ; 6219
StartTitleScreen:
ld a, [rSVBK]
push af
ld a, BANK(wBGPals1)
@@ -1062,7 +1010,6 @@ StartTitleScreen: ; 6219
ld h, [hl]
ld l, a
jp hl
; 626a
.dw
dw _MainMenu
@@ -1070,15 +1017,13 @@ StartTitleScreen: ; 6219
dw CrystalIntroSequence
dw CrystalIntroSequence
dw ResetClock
; 6274
.TitleScreen: ; 6274
.TitleScreen:
farcall _TitleScreen
ret
; 627b
RunTitleScreen: ; 627b
RunTitleScreen:
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done_title
@@ -1091,9 +1036,8 @@ RunTitleScreen: ; 627b
.done_title
scf
ret
; 6292
Unreferenced_Function6292: ; 6292
Unreferenced_Function6292:
ld a, [hVBlankCounter]
and $7
ret nz
@@ -1103,9 +1047,8 @@ Unreferenced_Function6292: ; 6292
ld bc, 2 * SCREEN_WIDTH
call ByteFill
ret
; 62a3
TitleScreenScene: ; 62a3
TitleScreenScene:
ld e, a
ld d, 0
ld hl, .scenes
@@ -1115,23 +1058,20 @@ TitleScreenScene: ; 62a3
ld h, [hl]
ld l, a
jp hl
; 62af
.scenes
dw TitleScreenEntrance
dw TitleScreenTimer
dw TitleScreenMain
dw TitleScreenEnd
; 62b7
.Unreferenced_NextScene:
ld hl, wJumptableIndex
inc [hl]
ret
; 62bc
TitleScreenEntrance: ; 62bc
TitleScreenEntrance:
; Animate the logo:
; Move each line by 4 pixels until our count hits 0.
@@ -1178,10 +1118,9 @@ TitleScreenEntrance: ; 62bc
ld a, $88
ld [hWY], a
ret
; 62f6
TitleScreenTimer: ; 62f6
TitleScreenTimer:
; Next scene
ld hl, wJumptableIndex
@@ -1194,9 +1133,8 @@ TitleScreenTimer: ; 62f6
inc hl
ld [hl], d
ret
; 6304
TitleScreenMain: ; 6304
TitleScreenMain:
; Run the timer down.
ld hl, wTitleScreenTimer
@@ -1296,9 +1234,8 @@ TitleScreenMain: ; 6304
ld hl, wJumptableIndex
set 7, [hl]
ret
; 6375
TitleScreenEnd: ; 6375
TitleScreenEnd:
; Wait until the music is done fading.
@@ -1316,17 +1253,14 @@ TitleScreenEnd: ; 6375
ld hl, wJumptableIndex
set 7, [hl]
ret
; 6389
DeleteSaveData: ; 6389
DeleteSaveData:
farcall _DeleteSaveData
jp Init
; 6392
ResetClock: ; 6392
ResetClock:
farcall _ResetClock
jp Init
; 639b
Unreferenced_Function639b:
; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here.
@@ -1359,9 +1293,8 @@ Unreferenced_Function639b:
ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
call _InitSpriteAnimStruct
ret
; 63ca
.Data63ca: ; 63ca
.Data63ca:
; frame 0 y, x; frame 1 y, x
db 11 * 8 + 4, 10 * 8, 0 * 8, 0 * 8
db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 11 * 8
@@ -1369,9 +1302,8 @@ Unreferenced_Function639b:
db 11 * 8 + 4, 17 * 8, 11 * 8 + 4, 15 * 8
db 0 * 8, 0 * 8, 11 * 8 + 4, 15 * 8
db 0 * 8, 0 * 8, 11 * 8 + 4, 11 * 8
; 63e2
Copyright: ; 63e2
Copyright:
call ClearTileMap
call LoadFontsExtra
ld de, CopyrightGFX
@@ -1381,9 +1313,8 @@ Copyright: ; 63e2
hlcoord 2, 7
ld de, CopyrightString
jp PlaceString
; 63fd
CopyrightString: ; 63fd
CopyrightString:
; ©1995-2001 Nintendo
db $60, $61, $62, $63, $64, $65, $66
db $67, $68, $69, $6a, $6b, $6c
@@ -1397,9 +1328,8 @@ CopyrightString: ; 63fd
db $73, $74, $75, $76, $77, $78, $79, $7a, $7b, $7c
db "@"
; 642e
GameInit:: ; 642e
GameInit::
farcall TryLoadSaveData
call ClearWindowData
call ClearBGPalettes
@@ -1415,4 +1345,3 @@ GameInit:: ; 642e
ld [hWY], a
call WaitBGMap
jp CrystalIntroSequence
; 6454

View File

@@ -1,8 +1,7 @@
GFX_49c0c: ; 49c0c
GFX_49c0c:
INCBIN "gfx/unknown/049c0c.2bpp"
; 49cdc
MainMenu: ; 49cdc
MainMenu:
xor a
ld [wDisableTextAcceleration], a
call Function49ed0
@@ -27,24 +26,21 @@ MainMenu: ; 49cdc
.quit
ret
; 49d14
.MenuHeader: ; 49d14
.MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, 16, 7
dw .MenuData
db 1 ; default option
; 49d1c
.MenuData: ; 49d1c
.MenuData:
db STATICMENU_CURSOR ; flags
db 0 ; items
dw MainMenuItems
dw PlaceMenuStrings
dw .Strings
; 49d20
.Strings: ; 49d24
.Strings:
db "CONTINUE@"
db "NEW GAME@"
db "OPTION@"
@@ -145,7 +141,7 @@ StudiumMenu: ; 0x49d9e
db -1
MainMenu_GetWhichMenu: ; 49da4
MainMenu_GetWhichMenu:
nop
nop
nop
@@ -193,9 +189,8 @@ MainMenu_GetWhichMenu: ; 49da4
.ok4
ld a, $6 ; Mystery Gift
ret
; 49de4
MainMenuJoypadLoop: ; 49de4
MainMenuJoypadLoop:
call SetUpMenu
.loop
call MainMenu_PrintCurrentTimeAndDay
@@ -218,9 +213,8 @@ MainMenuJoypadLoop: ; 49de4
.b_button
scf
ret
; 49e09
MainMenu_PrintCurrentTimeAndDay: ; 49e09
MainMenu_PrintCurrentTimeAndDay:
ld a, [wSaveFileExists]
and a
ret z
@@ -237,10 +231,9 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
ld a, $1
ld [hBGMapMode], a
ret
; 49e27
.PlaceBox: ; 49e27
.PlaceBox:
call CheckRTCStatus
and $80
jr nz, .TimeFail
@@ -253,10 +246,9 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
.TimeFail:
call SpeechTextBox
ret
; 49e3d
.PlaceTime: ; 49e3d
.PlaceTime:
ld a, [wSaveFileExists]
and a
ret z
@@ -282,26 +274,22 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
.min
; unused
db "min.@"
; 49e75
.PrintTimeNotSet: ; 49e75
.PrintTimeNotSet:
hlcoord 1, 14
ld de, .TimeNotSet
call PlaceString
ret
; 49e7f
.TimeNotSet: ; 49e7f
.TimeNotSet:
db "TIME NOT SET@"
; 49e8c
.UnusedText: ; 49e8c
.UnusedText:
; Clock time unknown
text_jump UnknownText_0x1c5182
db "@"
; 49e91
.PlaceCurrentDay: ; 49e91
.PlaceCurrentDay:
push de
ld hl, .Days
ld a, b
@@ -315,7 +303,6 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
ld de, .Day
call PlaceString
ret
; 49ea8
.Days:
db "SUN@"
@@ -327,9 +314,8 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
db "SATUR@"
.Day:
db "DAY@"
; 49ed0
Function49ed0: ; 49ed0
Function49ed0:
xor a
ld [hMapAnims], a
call ClearTileMap
@@ -337,25 +323,20 @@ Function49ed0: ; 49ed0
call LoadStandardFont
call ClearWindowData
ret
; 49ee0
MainMenu_NewGame: ; 49ee0
MainMenu_NewGame:
farcall NewGame
ret
; 49ee7
MainMenu_Options: ; 49ee7
MainMenu_Options:
farcall OptionsMenu
ret
; 49eee
MainMenu_Continue: ; 49eee
MainMenu_Continue:
farcall Continue
ret
; 49ef5
MainMenu_MysteryGift: ; 49ef5
MainMenu_MysteryGift:
farcall MysteryGift
ret
; 49efc

View File

@@ -1,4 +1,4 @@
_2DMenu_:: ; 2400e
_2DMenu_::
ld hl, CopyMenuData
ld a, [wMenuData_2DMenuItemStringsBank]
rst FarCall
@@ -8,9 +8,8 @@ _2DMenu_:: ; 2400e
call ApplyTilemap
call Get2DMenuSelection
ret
; 24022
_InterpretBattleMenu:: ; 24022
_InterpretBattleMenu::
ld hl, CopyMenuData
ld a, [wMenuData_2DMenuItemStringsBank]
rst FarCall
@@ -21,9 +20,8 @@ _InterpretBattleMenu:: ; 24022
call ApplyTilemap
call Get2DMenuSelection
ret
; 2403c
_InterpretMobileMenu:: ; 2403c
_InterpretMobileMenu::
ld hl, CopyMenuData
ld a, [wMenuData_2DMenuItemStringsBank]
rst FarCall
@@ -56,23 +54,21 @@ _InterpretMobileMenu:: ; 2403c
ld [wMenuCursorBuffer], a
and a
ret
; 24085
Draw2DMenu: ; 24085
Draw2DMenu:
xor a
ld [hBGMapMode], a
call MenuBox
call Place2DMenuItemStrings
ret
; 2408f
Get2DMenuSelection: ; 2408f
Get2DMenuSelection:
call Init2DMenuCursorPosition
call StaticMenuJoypad
call MenuClickSound
Mobile_GetMenuSelection: ; 24098
Mobile_GetMenuSelection:
ld a, [wMenuDataFlags]
bit 1, a
jr z, .skip
@@ -108,22 +104,19 @@ Mobile_GetMenuSelection: ; 24098
.quit2
scf
ret
; 240cd
Get2DMenuNumberOfColumns: ; 240cd
Get2DMenuNumberOfColumns:
ld a, [wMenuData_2DMenuDimensions]
and $f
ret
; 240d3
Get2DMenuNumberOfRows: ; 240d3
Get2DMenuNumberOfRows:
ld a, [wMenuData_2DMenuDimensions]
swap a
and $f
ret
; 240db
Place2DMenuItemStrings: ; 240db
Place2DMenuItemStrings:
ld hl, wMenuData_2DMenuItemStringsAddr
ld e, [hl]
inc hl
@@ -164,10 +157,9 @@ Place2DMenuItemStrings: ; 240db
ld a, [wMenuData_2DMenuFunctionBank]
rst FarCall
ret
; 2411a
Init2DMenuCursorPosition: ; 2411a (9:411a)
Init2DMenuCursorPosition:
call GetMenuTextStartCoord
ld a, b
ld [w2DMenuCursorInitY], a
@@ -222,9 +214,8 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
ld [wCursorCurrentTile], a
ld [wCursorCurrentTile + 1], a
ret
; 24179
.InitFlags_a: ; 24179
.InitFlags_a:
xor a
ld hl, w2DMenuFlags1
ld [hli], a
@@ -235,16 +226,14 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
set 5, [hl]
set 4, [hl]
ret
; 2418a
.InitFlags_b: ; 2418a
.InitFlags_b:
ld a, [wMenuData_2DMenuSpacing]
or $20
ld [w2DMenuCursorOffsets], a
ret
; 24193
.InitFlags_c: ; 24193
.InitFlags_c:
ld hl, wMenuDataFlags
ld a, A_BUTTON
bit 0, [hl]
@@ -257,12 +246,11 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
.skip2
ld [wMenuJoypadFilter], a
ret
; 241a8
_StaticMenuJoypad:: ; 241a8
_StaticMenuJoypad::
call Place2DMenuCursor
_ScrollingMenuJoypad:: ; 241ab
_ScrollingMenuJoypad::
ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
@@ -271,9 +259,8 @@ _ScrollingMenuJoypad:: ; 241ab
pop af
ld [hBGMapMode], a
ret
; 241ba
MobileMenuJoypad: ; 241ba
MobileMenuJoypad:
ld hl, w2DMenuFlags2
res 7, [hl]
ld a, [hBGMapMode]
@@ -288,10 +275,9 @@ MobileMenuJoypad: ; 241ba
call GetMenuJoypad
ld c, a
ret
; 241d5
Unreferenced_Function241d5: ; 241d5
Unreferenced_Function241d5:
call Place2DMenuCursor
.loop
call Move2DMenuCursor
@@ -328,10 +314,9 @@ Unreferenced_Function241d5: ; 241d5
jr z, .loop2
and a
ret
; 24216
MenuJoypadLoop: ; 24216
MenuJoypadLoop:
.loop
call Move2DMenuCursor
call .BGMap_OAM
@@ -350,9 +335,8 @@ MenuJoypadLoop: ; 24216
.done
ret
; 24238
.BGMap_OAM: ; 24238
.BGMap_OAM:
ld a, [hOAMUpdate]
push af
ld a, $1
@@ -363,9 +347,8 @@ MenuJoypadLoop: ; 24216
xor a
ld [hBGMapMode], a
ret
; 24249
Do2DMenuRTCJoypad: ; 24249
Do2DMenuRTCJoypad:
.loopRTC
call RTC
call Menu_WasButtonPressed
@@ -375,9 +358,8 @@ Do2DMenuRTCJoypad: ; 24249
jr z, .loopRTC
and a
ret
; 24259
Menu_WasButtonPressed: ; 24259
Menu_WasButtonPressed:
ld a, [w2DMenuFlags1]
bit 6, a
jr z, .skip_to_joypad
@@ -390,9 +372,8 @@ Menu_WasButtonPressed: ; 24259
ret z
scf
ret
; 24270
_2DMenuInterpretJoypad: ; 24270
_2DMenuInterpretJoypad:
call GetMenuJoypad
bit A_BUTTON_F, a
jp nz, .a_b_start_select
@@ -413,7 +394,7 @@ _2DMenuInterpretJoypad: ; 24270
and a
ret
.set_bit_7 ; 24299
.set_bit_7
ld hl, w2DMenuFlags2
set 7, [hl]
scf
@@ -512,14 +493,12 @@ _2DMenuInterpretJoypad: ; 24270
ld [hl], $1
xor a
ret
; 24318
.a_b_start_select ; 24318
.a_b_start_select
xor a
ret
; 2431a
Move2DMenuCursor: ; 2431a
Move2DMenuCursor:
ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
@@ -529,7 +508,7 @@ Move2DMenuCursor: ; 2431a
jr nz, Place2DMenuCursor
ld a, [wCursorOffCharacter]
ld [hl], a
Place2DMenuCursor: ; 24329
Place2DMenuCursor:
ld a, [w2DMenuCursorInitY]
ld b, a
ld a, [w2DMenuCursorInitX]
@@ -580,9 +559,8 @@ Place2DMenuCursor: ; 24329
ld a, h
ld [wCursorCurrentTile + 1], a
ret
; 24374
_PushWindow:: ; 24374
_PushWindow::
ld a, [rSVBK]
push af
ld a, BANK(wWindowStack)
@@ -651,9 +629,8 @@ _PushWindow:: ; 24374
ld hl, wWindowStackSize
inc [hl]
ret
; 243cd
.copy ; 243cd
.copy
call GetMenuBoxDims
inc b
inc c
@@ -678,13 +655,11 @@ _PushWindow:: ; 24374
jr nz, .row
ret
; 243e7
.ret ; 243e7
.ret
ret
; 243e8
_ExitMenu:: ; 243e8
_ExitMenu::
xor a
ld [hBGMapMode], a
@@ -722,9 +697,8 @@ _ExitMenu:: ; 243e8
ld hl, wWindowStackSize
dec [hl]
ret
; 24423
Unreferenced_Function24423: ; 24423
Unreferenced_Function24423:
ld a, [wVramState]
bit 0, a
ret z
@@ -755,22 +729,19 @@ Unreferenced_Function24423: ; 24423
jr nz, .loop
call CloseSRAM
ret
; 2445d
Error_Cant_ExitMenu: ; 2445d
Error_Cant_ExitMenu:
ld hl, .Text_NoWindowsAvailableForPopping
call PrintText
call WaitBGMap
.InfiniteLoop:
jr .InfiniteLoop
; 24468
.Text_NoWindowsAvailableForPopping: ; 24468
.Text_NoWindowsAvailableForPopping:
text_jump UnknownText_0x1c46b7
db "@"
; 2446d
_InitVerticalMenuCursor:: ; 2446d
_InitVerticalMenuCursor::
ld a, [wMenuDataFlags]
ld b, a
ld hl, w2DMenuCursorInitY
@@ -838,4 +809,3 @@ _InitVerticalMenuCursor:: ; 2446d
ld [hli], a
ld [hli], a
ret
; 244c3

View File

@@ -27,22 +27,22 @@ PlaceMenuItemQuantity: ; 0x24ac3
.done
ret
PlaceMoneyTopRight: ; 24ae8
PlaceMoneyTopRight:
ld hl, MenuHeader_0x24b15
call CopyMenuHeader
jr PlaceMoneyTextBox
PlaceMoneyBottomLeft: ; 24af0
PlaceMoneyBottomLeft:
ld hl, MenuHeader_0x24b1d
call CopyMenuHeader
jr PlaceMoneyTextBox
PlaceMoneyAtTopLeftOfTextbox: ; 24af8
PlaceMoneyAtTopLeftOfTextbox:
ld hl, MenuHeader_0x24b15
lb de, 0, 11
call OffsetMenuHeader
PlaceMoneyTextBox: ; 24b01
PlaceMoneyTextBox:
call MenuBox
call MenuBoxCoord2Tile
ld de, SCREEN_WIDTH + 1
@@ -64,7 +64,7 @@ MenuHeader_0x24b1d: ; 0x24b1d
dw NULL
db 1 ; default option
DisplayCoinCaseBalance: ; 24b25
DisplayCoinCaseBalance:
; Place a text box of size 1x7 at 11, 0.
hlcoord 11, 0
ld b, 1
@@ -82,7 +82,7 @@ DisplayCoinCaseBalance: ; 24b25
call PrintNum
ret
DisplayMoneyAndCoinBalance: ; 24b4e
DisplayMoneyAndCoinBalance:
hlcoord 5, 0
ld b, 3
ld c, 13
@@ -103,14 +103,14 @@ DisplayMoneyAndCoinBalance: ; 24b4e
call PrintNum
ret
MoneyString: ; 24b83
MoneyString:
db "MONEY@"
CoinString: ; 24b89
CoinString:
db "COIN@"
ShowMoney_TerminatorString: ; 24b8e
ShowMoney_TerminatorString:
db "@"
Unreferenced_Function24b8f: ; 24b8f
Unreferenced_Function24b8f:
; related to safari?
ld hl, wOptions
ld a, [hl]
@@ -138,19 +138,19 @@ Unreferenced_Function24b8f: ; 24b8f
ld [wOptions], a
ret
.slash_500 ; 24bcf
.slash_500
db "@"
.booru_ko ; 24bd4
.booru_ko
db "ボール   こ@"
StartMenu_DrawBugContestStatusBox: ; 24bdc
StartMenu_DrawBugContestStatusBox:
hlcoord 0, 0
ld b, 5
ld c, 17
call TextBox
ret
StartMenu_PrintBugContestStatus: ; 24be7
StartMenu_PrintBugContestStatus:
ld hl, wOptions
ld a, [hl]
push af
@@ -194,18 +194,18 @@ StartMenu_PrintBugContestStatus: ; 24be7
ld [wOptions], a
ret
.Balls_JP: ; 24c43
.Balls_JP:
db "ボール   こ@"
.CAUGHT: ; 24c4b
.CAUGHT:
db "CAUGHT@"
.Balls_EN: ; 24c52
.Balls_EN:
db "BALLS:@"
.None: ; 24c59
.None:
db "None@"
.LEVEL: ; 24c5e
.LEVEL:
db "LEVEL@"
FindApricornsInBag: ; 24c64
FindApricornsInBag:
; Checks the bag for Apricorns.
ld hl, wBuffer1
xor a
@@ -239,7 +239,7 @@ FindApricornsInBag: ; 24c64
scf
ret
.addtobuffer ; 24c94
.addtobuffer
push hl
ld hl, wBuffer1
inc [hl]

View File

@@ -12,7 +12,7 @@ _NamingScreen: ; 0x116b7
; 0x116c1
NamingScreen: ; 116c1
NamingScreen:
ld hl, wNamingScreenDestinationPointer
ld [hl], e
inc hl
@@ -45,9 +45,8 @@ NamingScreen: ; 116c1
call ClearJoypad
ret
; 116f8
.SetUpNamingScreen: ; 116f8
.SetUpNamingScreen:
call ClearBGPalettes
ld b, SCGB_DIPLOMA
call GetSGBLayout
@@ -63,9 +62,8 @@ NamingScreen: ; 116c1
call NamingScreen_InitNameEntry
ret
; 1171d
.GetNamingScreenSetup: ; 1171d
.GetNamingScreenSetup:
ld a, [wNamingScreenType]
and 7
ld e, a
@@ -78,9 +76,8 @@ NamingScreen: ; 116c1
ld l, a
jp hl
; 1172e
.Jumptable: ; 1172e (4:572e)
.Jumptable:
dw .Pokemon
dw .Player
dw .Rival
@@ -90,7 +87,7 @@ NamingScreen: ; 116c1
dw .Pokemon
dw .Pokemon
.Pokemon: ; 1173e (4:573e)
.Pokemon:
ld a, [wCurPartySpecies]
ld [wd265], a
ld hl, LoadMenuMonIcon
@@ -121,15 +118,13 @@ NamingScreen: ; 116c1
call .StoreMonIconParams
ret
; 11780 (4:5780)
.NicknameStrings: ; 11780
.NicknameStrings:
db "'S@"
db "NICKNAME?@"
; 1178d
.Player: ; 1178d (4:578d)
.Player:
farcall GetPlayerIcon
call .LoadSprite
hlcoord 5, 2
@@ -138,14 +133,12 @@ NamingScreen: ; 116c1
call .StoreSpriteIconParams
ret
; 117a3 (4:57a3)
.PlayerNameString: ; 117a3
.PlayerNameString:
db "YOUR NAME?@"
; 117ae
.Rival: ; 117ae (4:57ae)
.Rival:
ld de, SilverSpriteGFX
ld b, BANK(SilverSpriteGFX)
call .LoadSprite
@@ -155,14 +148,12 @@ NamingScreen: ; 116c1
call .StoreSpriteIconParams
ret
; 117c3 (4:57c3)
.RivalNameString: ; 117c3
.RivalNameString:
db "RIVAL'S NAME?@"
; 117d1
.Mom: ; 117d1 (4:57d1)
.Mom:
ld de, MomSpriteGFX
ld b, BANK(MomSpriteGFX)
call .LoadSprite
@@ -172,14 +163,12 @@ NamingScreen: ; 116c1
call .StoreSpriteIconParams
ret
; 117e6 (4:57e6)
.MomNameString: ; 117e6
.MomNameString:
db "MOTHER'S NAME?@"
; 117f5
.Box: ; 117f5 (4:57f5)
.Box:
ld de, PokeBallSpriteGFX
ld hl, vTiles0 tile $00
lb bc, BANK(PokeBallSpriteGFX), 4
@@ -200,28 +189,24 @@ NamingScreen: ; 116c1
call .StoreBoxIconParams
ret
; 11822 (4:5822)
.BoxNameString: ; 11822
.BoxNameString:
db "BOX NAME?@"
; 1182c
.Tomodachi: ; 1182c (4:582c)
.Tomodachi:
hlcoord 3, 2
ld de, .oTomodachi_no_namae_sutoringu
call PlaceString
call .StoreSpriteIconParams
ret
; 11839 (4:5839)
.oTomodachi_no_namae_sutoringu ; 11839
.oTomodachi_no_namae_sutoringu
db "おともだち の なまえは?@"
; 11847
.LoadSprite: ; 11847 (4:5847)
.LoadSprite:
push de
ld hl, vTiles0 tile $00
ld c, $4
@@ -253,22 +238,22 @@ NamingScreen: ; 116c1
call _InitSpriteAnimStruct
ret
.StoreMonIconParams: ; 1187b (4:587b)
.StoreMonIconParams:
ld a, MON_NAME_LENGTH - 1
hlcoord 5, 6
jr .StoreParams
.StoreSpriteIconParams: ; 11882 (4:5882)
.StoreSpriteIconParams:
ld a, PLAYER_NAME_LENGTH - 1
hlcoord 5, 6
jr .StoreParams
.StoreBoxIconParams: ; 11889 (4:5889)
.StoreBoxIconParams:
ld a, BOX_NAME_LENGTH - 1
hlcoord 5, 4
jr .StoreParams
.StoreParams: ; 11890 (4:5890)
.StoreParams:
ld [wNamingScreenMaxNameLength], a
ld a, l
ld [wNamingScreenStringEntryCoord], a
@@ -276,7 +261,7 @@ NamingScreen: ; 116c1
ld [wNamingScreenStringEntryCoord + 1], a
ret
NamingScreen_IsTargetBox: ; 1189c
NamingScreen_IsTargetBox:
push bc
push af
ld a, [wNamingScreenType]
@@ -287,9 +272,8 @@ NamingScreen_IsTargetBox: ; 1189c
pop bc
ret
; 118a8
NamingScreen_InitText: ; 118a8
NamingScreen_InitText:
call WaitTop
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
@@ -304,7 +288,7 @@ NamingScreen_InitText: ; 118a8
.not_box
call ClearBox
ld de, NameInputUpper
NamingScreen_ApplyTextInputMode: ; 118ca
NamingScreen_ApplyTextInputMode:
call NamingScreen_IsTargetBox
jr nz, .not_box
ld hl, BoxNameInputLower - NameInputLower
@@ -350,9 +334,8 @@ NamingScreen_ApplyTextInputMode: ; 118ca
jr nz, .row
ret
; 11915
NamingScreenJoypadLoop: ; 11915
NamingScreenJoypadLoop:
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
@@ -373,9 +356,8 @@ NamingScreenJoypadLoop: ; 11915
scf
ret
; 11940
.UpdateStringEntry: ; 11940
.UpdateStringEntry:
xor a
ld [hBGMapMode], a
hlcoord 1, 5
@@ -399,9 +381,8 @@ NamingScreenJoypadLoop: ; 11915
ld [hBGMapMode], a
ret
; 11968
.RunJumptable: ; 11968
.RunJumptable:
ld a, [wJumptableIndex]
ld e, a
ld d, $0
@@ -413,13 +394,12 @@ NamingScreenJoypadLoop: ; 11915
ld l, a
jp hl
; 11977
.Jumptable: ; 11977 (4:5977)
.Jumptable:
dw .InitCursor
dw .ReadButtons
.InitCursor: ; 1197b (4:597b)
.InitCursor:
depixel 10, 3
call NamingScreen_IsTargetBox
jr nz, .got_cursor_position
@@ -441,7 +421,7 @@ NamingScreenJoypadLoop: ; 11915
inc [hl]
ret
.ReadButtons: ; 119a1 (4:59a1)
.ReadButtons:
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and A_BUTTON
@@ -510,13 +490,13 @@ NamingScreenJoypadLoop: ; 11915
call NamingScreen_ApplyTextInputMode
ret
.GetCursorPosition: ; 11a0b (4:5a0b)
.GetCursorPosition:
ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
ld b, [hl]
NamingScreen_GetCursorPosition: ; 11a11 (4:5a11)
NamingScreen_GetCursorPosition:
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
@@ -551,7 +531,7 @@ NamingScreen_GetCursorPosition: ; 11a11 (4:5a11)
xor a
ret
NamingScreen_AnimateCursor: ; 11a3b (4:5a3b)
NamingScreen_AnimateCursor:
call .GetDPad
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
@@ -590,17 +570,15 @@ NamingScreen_AnimateCursor: ; 11a3b (4:5a3b)
ld [hl], a
ret
; 11a79 (4:5a79)
.LetterEntries: ; 11a79
.LetterEntries:
db $00, $10, $20, $30, $40, $50, $60, $70, $80
.CaseDelEnd: ; 11a82
.CaseDelEnd:
db $00, $00, $00, $30, $30, $30, $60, $60, $60
; 11a8b
.GetDPad: ; 11a8b (4:5a8b)
.GetDPad:
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -713,9 +691,9 @@ NamingScreen_AnimateCursor: ; 11a3b (4:5a3b)
inc [hl]
ret
NamingScreen_TryAddCharacter: ; 11b14 (4:5b14)
NamingScreen_TryAddCharacter:
ld a, [wNamingScreenLastCharacter] ; lost
MailComposition_TryAddCharacter: ; 11b17 (4:5b17)
MailComposition_TryAddCharacter:
ld a, [wNamingScreenMaxNameLength]
ld c, a
ld a, [wNamingScreenCurrNameLength]
@@ -724,11 +702,11 @@ MailComposition_TryAddCharacter: ; 11b17 (4:5b17)
ld a, [wNamingScreenLastCharacter]
NamingScreen_LoadNextCharacter: ; 11b23
NamingScreen_LoadNextCharacter:
call NamingScreen_GetTextCursorPosition
ld [hl], a
NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
NamingScreen_AdvanceCursor_CheckEndOfString:
ld hl, wNamingScreenCurrNameLength
inc [hl]
call NamingScreen_GetTextCursorPosition
@@ -743,7 +721,6 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
scf
ret
; 11b39 (4:5b39)
; unused
ld a, [wNamingScreenCurrNameLength]
@@ -769,13 +746,11 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
ld a, [hl]
jr NamingScreen_LoadNextCharacter
; 11b56
INCLUDE "data/text/unused_dakutens.asm"
; 11bbc
NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc)
NamingScreen_DeleteCharacter:
ld hl, wNamingScreenCurrNameLength
ld a, [hl]
and a
@@ -790,7 +765,7 @@ NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc)
ld [hl], NAMINGSCREEN_MIDDLELINE
ret
NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0)
NamingScreen_GetTextCursorPosition:
push af
ld hl, wNamingScreenDestinationPointer
ld a, [hli]
@@ -803,9 +778,8 @@ NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0)
pop af
ret
; 11be0
NamingScreen_InitNameEntry: ; 11be0
NamingScreen_InitNameEntry:
; load NAMINGSCREEN_UNDERLINE, (NAMINGSCREEN_MIDDLELINE * [wNamingScreenMaxNameLength]), "@" into the dw address at wNamingScreenDestinationPointer
ld hl, wNamingScreenDestinationPointer
ld a, [hli]
@@ -824,9 +798,8 @@ NamingScreen_InitNameEntry: ; 11be0
ld [hl], "@"
ret
; 11bf7
NamingScreen_StoreEntry: ; 11bf7 (4:5bf7)
NamingScreen_StoreEntry:
ld hl, wNamingScreenDestinationPointer
ld a, [hli]
ld h, [hl]
@@ -847,7 +820,7 @@ NamingScreen_StoreEntry: ; 11bf7 (4:5bf7)
jr nz, .loop
ret
NamingScreen_GetLastCharacter: ; 11c11 (4:5c11)
NamingScreen_GetLastCharacter:
ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
@@ -890,7 +863,7 @@ NamingScreen_GetLastCharacter: ; 11c11 (4:5c11)
ld [wNamingScreenLastCharacter], a
ret
LoadNamingScreenGFX: ; 11c51
LoadNamingScreenGFX:
call ClearSprites
callfar ClearSpriteAnims
call LoadStandardFont
@@ -935,30 +908,23 @@ LoadNamingScreenGFX: ; 11c51
ld [hWX], a
ret
; 11cb7
NamingScreenGFX_Border: ; 11cb7
NamingScreenGFX_Border:
INCBIN "gfx/naming_screen/border.2bpp"
; 11cc7
NamingScreenGFX_Cursor: ; 11cc7
NamingScreenGFX_Cursor:
INCBIN "gfx/naming_screen/cursor.2bpp"
; 11ce7
INCLUDE "data/text/name_input_chars.asm"
; 11e5d
NamingScreenGFX_End: ; unused
INCBIN "gfx/naming_screen/end.1bpp"
; 11e6d
NamingScreenGFX_MiddleLine:
INCBIN "gfx/naming_screen/middle_line.1bpp"
; 11e6d
NamingScreenGFX_UnderLine: ; 11e6d
NamingScreenGFX_UnderLine:
INCBIN "gfx/naming_screen/underline.1bpp"
; 11e75
_ComposeMailMessage: ; 11e75 (mail?)
ld hl, wNamingScreenDestinationPointer
@@ -986,7 +952,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
ld [hMapAnims], a
ret
.InitBlankMail: ; 11e9a (4:5e9a)
.InitBlankMail:
call ClearBGPalettes
call DisableLCD
call LoadNamingScreenGFX
@@ -1030,25 +996,21 @@ _ComposeMailMessage: ; 11e75 (mail?)
ld [hl], "<NEXT>"
ret
; 11ef4 (4:5ef4)
.MailIcon: ; 11ef4
.MailIcon:
INCBIN "gfx/icons/mail_big.2bpp"
; 11f74
.initwNamingScreenMaxNameLength ; 11f74 (4:5f74)
.initwNamingScreenMaxNameLength
ld a, MAIL_MSG_LENGTH + 1
ld [wNamingScreenMaxNameLength], a
ret
; 11f7a (4:5f7a)
.UnusedString11f7a:
db "メールを かいてね@"
; 11f84
.InitCharset: ; 11f84 (4:5f84)
.InitCharset:
call WaitTop
hlcoord 0, 0
ld bc, 6 * SCREEN_WIDTH
@@ -1063,7 +1025,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
call ClearBox
ld de, MailEntry_Uppercase
.PlaceMailCharset: ; 11fa9 (4:5fa9)
.PlaceMailCharset:
hlcoord 1, 7
ld b, 6
.next
@@ -1082,7 +1044,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
jr nz, .next
ret
.DoMailEntry: ; 11fc0 (4:5fc0)
.DoMailEntry:
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
@@ -1103,7 +1065,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
scf
ret
.Update: ; 11feb (4:5feb)
.Update:
xor a
ld [hBGMapMode], a
hlcoord 1, 1
@@ -1119,7 +1081,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
ld [hBGMapMode], a
ret
.DoJumptable: ; 12008 (4:6008)
.DoJumptable:
ld a, [wJumptableIndex]
ld e, a
ld d, 0
@@ -1131,11 +1093,11 @@ INCBIN "gfx/icons/mail_big.2bpp"
ld l, a
jp hl
.Jumptable: ; 12017 (4:6017)
.Jumptable:
dw .init_blinking_cursor
dw .process_joypad
.init_blinking_cursor ; 1201b (4:601b)
.init_blinking_cursor
depixel 9, 2
ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
call _InitSpriteAnimStruct
@@ -1153,7 +1115,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
inc [hl]
ret
.process_joypad ; 1203a (4:603a)
.process_joypad
ld hl, hJoyPressed ; $ffa7
ld a, [hl]
and A_BUTTON
@@ -1240,7 +1202,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
; called from engine/sprite_anims.asm
ComposeMail_AnimateCursor: ; 120c1 (4:60c1)
ComposeMail_AnimateCursor:
call .GetDPad
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
@@ -1274,17 +1236,15 @@ ComposeMail_AnimateCursor: ; 120c1 (4:60c1)
ld [hl], a
ret
; 120f8 (4:60f8)
.LetterEntries: ; 120f8
.LetterEntries:
db $00, $10, $20, $30, $40, $50, $60, $70, $80, $90
.CaseDelEnd: ; 12102
.CaseDelEnd:
db $00, $00, $00, $30, $30, $30, $60, $60, $60, $60
; 1210c
.GetDPad: ; 1210c (4:610c)
.GetDPad:
ld hl, hJoyLast
ld a, [hl]
and D_UP
@@ -1386,13 +1346,13 @@ ComposeMail_AnimateCursor: ; 120c1 (4:60c1)
ld [hl], $5
ret
NamingScreen_PressedA_GetCursorCommand: ; 12185 (4:6185)
NamingScreen_PressedA_GetCursorCommand:
ld hl, wNamingScreenCursorObjectPointer
ld c, [hl]
inc hl
ld b, [hl]
ComposeMail_GetCursorPosition: ; 1218b (4:618b)
ComposeMail_GetCursorPosition:
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
@@ -1420,11 +1380,10 @@ ComposeMail_GetCursorPosition: ; 1218b (4:618b)
xor a
ret
MailComposition_TryAddLastCharacter: ; 121ac (4:61ac)
MailComposition_TryAddLastCharacter:
ld a, [wNamingScreenLastCharacter]
jp MailComposition_TryAddCharacter
; 121b2 (4:61b2)
; unused
ld a, [wNamingScreenCurrNameLength]
@@ -1460,8 +1419,6 @@ MailComposition_TryAddLastCharacter: ; 121ac (4:61ac)
ld a, [hl]
jp NamingScreen_LoadNextCharacter
; 121dd
INCLUDE "data/text/mail_input_chars.asm"
; 122c1

View File

@@ -1,4 +1,4 @@
_OptionsMenu: ; e41d0
_OptionsMenu:
ld hl, hInMenu
ld a, [hl]
push af
@@ -59,9 +59,8 @@ _OptionsMenu: ; e41d0
pop af
ld [hInMenu], a
ret
; e4241
StringOptions: ; e4241
StringOptions:
db "TEXT SPEED<LNBRK>"
db " :<LNBRK>"
db "BATTLE SCENE<LNBRK>"
@@ -77,10 +76,9 @@ StringOptions: ; e4241
db "FRAME<LNBRK>"
db " :TYPE<LNBRK>"
db "CANCEL@"
; e42d6
GetOptionPointer: ; e42d6
GetOptionPointer:
ld a, [wJumptableIndex] ; load the cursor position to a
ld e, a ; copy it to de
ld d, 0
@@ -91,7 +89,6 @@ GetOptionPointer: ; e42d6
ld h, [hl]
ld l, a
jp hl ; jump to the code of the current highlighted item
; e42e5
.Pointers:
dw Options_TextSpeed
@@ -102,7 +99,6 @@ GetOptionPointer: ; e42d6
dw Options_MenuAccount
dw Options_Frame
dw Options_Cancel
; e42f5
const_def
@@ -110,7 +106,7 @@ GetOptionPointer: ; e42d6
const OPT_TEXT_SPEED_MED ; 1
const OPT_TEXT_SPEED_SLOW ; 2
Options_TextSpeed: ; e42f5
Options_TextSpeed:
call GetTextSpeed
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -156,7 +152,6 @@ Options_TextSpeed: ; e42f5
call PlaceString
and a
ret
; e4331
.Strings:
; entries correspond to OPT_TEXT_SPEED_* constants
@@ -167,10 +162,9 @@ Options_TextSpeed: ; e42f5
.Fast: db "FAST@"
.Mid: db "MID @"
.Slow: db "SLOW@"
; e4346
GetTextSpeed: ; e4346
GetTextSpeed:
; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c,
; with previous/next TEXT_DELAY_* values in d/e
ld a, [wOptions]
@@ -193,10 +187,9 @@ GetTextSpeed: ; e4346
ld c, OPT_TEXT_SPEED_FAST
lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED
ret
; e4365
Options_BattleScene: ; e4365
Options_BattleScene:
ld hl, wOptions
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -231,14 +224,12 @@ Options_BattleScene: ; e4365
call PlaceString
and a
ret
; e4398
.On: db "ON @"
.Off: db "OFF@"
; e43a0
Options_BattleStyle: ; e43a0
Options_BattleStyle:
ld hl, wOptions
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -272,14 +263,12 @@ Options_BattleStyle: ; e43a0
call PlaceString
and a
ret
; e43d1
.Shift: db "SHIFT@"
.Set: db "SET @"
; e43dd
Options_Sound: ; e43dd
Options_Sound:
ld hl, wOptions
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -320,11 +309,9 @@ Options_Sound: ; e43dd
call PlaceString
and a
ret
; e4416
.Mono: db "MONO @"
.Stereo: db "STEREO@"
; e4424
const_def
@@ -334,7 +321,7 @@ Options_Sound: ; e43dd
const OPT_PRINT_DARKER ; 3
const OPT_PRINT_DARKEST ; 4
Options_Print: ; e4424
Options_Print:
call GetPrinterSetting
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -377,7 +364,6 @@ Options_Print: ; e4424
call PlaceString
and a
ret
; e445a
.Strings:
; entries correspond to OPT_PRINT_* constants
@@ -392,10 +378,9 @@ Options_Print: ; e4424
.Normal: db "NORMAL @"
.Darker: db "DARKER @"
.Darkest: db "DARKEST @"
; e4491
GetPrinterSetting: ; e4491
GetPrinterSetting:
; converts GBPRINTER_* value in a to OPT_PRINT_* value in c,
; with previous/next GBPRINTER_* values in d/e
ld a, [wGBPrinter]
@@ -431,9 +416,8 @@ GetPrinterSetting: ; e4491
ld c, OPT_PRINT_DARKEST
lb de, GBPRINTER_DARKER, GBPRINTER_LIGHTEST
ret
; e44c1
Options_MenuAccount: ; e44c1
Options_MenuAccount:
ld hl, wOptions2
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -467,14 +451,12 @@ Options_MenuAccount: ; e44c1
call PlaceString
and a
ret
; e44f2
.Off: db "OFF@"
.On: db "ON @"
; e44fa
Options_Frame: ; e44fa
Options_Frame:
ld hl, wTextBoxFrame
ld a, [hJoyPressed]
bit D_LEFT_F, a
@@ -496,7 +478,7 @@ Options_Frame: ; e44fa
.Save:
and $7
ld [hl], a
UpdateFrame: ; e4512
UpdateFrame:
ld a, [wTextBoxFrame]
hlcoord 16, 15 ; where on the screen the number is drawn
add "1"
@@ -504,9 +486,8 @@ UpdateFrame: ; e4512
call LoadFontsExtra
and a
ret
; e4520
Options_Cancel: ; e4520
Options_Cancel:
ld a, [hJoyPressed]
and A_BUTTON
jr nz, .Exit
@@ -516,9 +497,8 @@ Options_Cancel: ; e4520
.Exit:
scf
ret
; e452a
OptionsControl: ; e452a
OptionsControl:
ld hl, wJumptableIndex
ld a, [hJoyLast]
cp D_DOWN
@@ -563,9 +543,8 @@ OptionsControl: ; e452a
dec [hl]
scf
ret
; e455c
Options_UpdateCursorPosition: ; e455c
Options_UpdateCursorPosition:
hlcoord 1, 1
ld de, SCREEN_WIDTH
ld c, $10
@@ -580,4 +559,3 @@ Options_UpdateCursorPosition: ; e455c
call AddNTimes
ld [hl], "▶"
ret
; e4579

View File

@@ -1,4 +1,4 @@
SaveMenu: ; 14a1a
SaveMenu:
call LoadStandardMenuHeader
farcall DisplaySaveInfoOnSave
call SpeechTextBox
@@ -23,7 +23,7 @@ SaveMenu: ; 14a1a
scf
ret
SaveAfterLinkTrade: ; 14a58
SaveAfterLinkTrade:
call PauseGameLogic
farcall StageRTCTimeForSave
farcall BackupMysteryGift
@@ -35,10 +35,9 @@ SaveAfterLinkTrade: ; 14a58
farcall SaveRTC
call ResumeGameLogic
ret
; 14a83
ChangeBoxSaveGame: ; 14a83 (5:4a83)
ChangeBoxSaveGame:
push de
ld hl, Text_SaveOnBoxSwitch
call MenuTextBox
@@ -62,7 +61,7 @@ ChangeBoxSaveGame: ; 14a83 (5:4a83)
pop de
ret
Link_SaveGame: ; 14ab2
Link_SaveGame:
call AskOverwriteSaveFile
jr c, .refused
call PauseGameLogic
@@ -72,9 +71,8 @@ Link_SaveGame: ; 14ab2
.refused
ret
; 14ac2
MoveMonWOMail_SaveGame: ; 14ac2
MoveMonWOMail_SaveGame:
call PauseGameLogic
push de
call SaveBox
@@ -84,9 +82,8 @@ MoveMonWOMail_SaveGame: ; 14ac2
call LoadBox
call ResumeGameLogic
ret
; 14ad5
MoveMonWOMail_InsertMon_SaveGame: ; 14ad5
MoveMonWOMail_InsertMon_SaveGame:
call PauseGameLogic
push de
call SaveBox
@@ -117,9 +114,8 @@ MoveMonWOMail_InsertMon_SaveGame: ; 14ad5
ld c, 24
call DelayFrames
ret
; 14b34
StartMoveMonWOMail_SaveGame: ; 14b34
StartMoveMonWOMail_SaveGame:
ld hl, Text_SaveOnMoveMonWOMail
call MenuTextBox
call YesNoBox
@@ -136,22 +132,19 @@ StartMoveMonWOMail_SaveGame: ; 14b34
.refused
scf
ret
; 14b54
PauseGameLogic: ; 14b54
PauseGameLogic:
ld a, $1
ld [wGameLogicPaused], a
ret
; 14b5a
ResumeGameLogic: ; 14b5a
ResumeGameLogic:
xor a
ld [wGameLogicPaused], a
ret
; 14b5f
AddHallOfFameEntry: ; 14b5f
AddHallOfFameEntry:
ld a, BANK(sHallOfFame)
call GetSRAMBank
ld hl, sHallOfFame + HOF_LENGTH * (NUM_HOF_TEAMS - 1) - 1
@@ -171,14 +164,12 @@ AddHallOfFameEntry: ; 14b5f
call CopyBytes
call CloseSRAM
ret
; 14b85
SaveGameData: ; 14b85
SaveGameData:
call SaveGameData_
ret
; 14b89
AskOverwriteSaveFile: ; 14b89
AskOverwriteSaveFile:
ld a, [wSaveFileExists]
and a
jr z, .erase
@@ -205,9 +196,8 @@ AskOverwriteSaveFile: ; 14b89
.refused
scf
ret
; 14baf
SaveTheGame_yesorno: ; 14baf
SaveTheGame_yesorno:
ld b, BANK(Text_WouldYouLikeToSaveTheGame)
call MapTextbox
call LoadMenuTextBox
@@ -221,9 +211,8 @@ SaveTheGame_yesorno: ; 14baf
pop af
and a
ret
; 14bcb
CompareLoadedAndSavedPlayerID: ; 14bcb
CompareLoadedAndSavedPlayerID:
ld a, BANK(sPlayerData)
call GetSRAMBank
ld hl, sPlayerData + (wPlayerID - wPlayerData)
@@ -237,11 +226,10 @@ CompareLoadedAndSavedPlayerID: ; 14bcb
ld a, [wPlayerID + 1]
cp c
ret
; 14be3
_SavingDontTurnOffThePower: ; 14be3
_SavingDontTurnOffThePower:
call SavingDontTurnOffThePower
SavedTheGame: ; 14be6
SavedTheGame:
call SaveGameData_
; wait 32 frames
ld c, $20
@@ -265,10 +253,9 @@ SavedTheGame: ; 14be6
ld c, $1e
call DelayFrames
ret
; 14c10
SaveGameData_: ; 14c10
SaveGameData_:
ld a, 1
ld [wSaveFileExists], a
farcall StageRTCTimeForSave
@@ -298,9 +285,8 @@ SaveGameData_: ; 14c10
.ok
call CloseSRAM
ret
; 14c6b
UpdateStackTop: ; 14c6b
UpdateStackTop:
; sStackTop appears to be unused.
; It could have been used to debug stack overflow during saving.
call FindStackTop
@@ -327,9 +313,8 @@ UpdateStackTop: ; 14c6b
.done
call CloseSRAM
ret
; 14c90
FindStackTop: ; 14c90
FindStackTop:
; Find the furthest point that sp has traversed to.
; This is distinct from the current value of sp.
ld hl, wStack - $ff
@@ -339,9 +324,8 @@ FindStackTop: ; 14c90
ret nz
inc hl
jr .loop
; 14c99
SavingDontTurnOffThePower: ; 14c99
SavingDontTurnOffThePower:
; Prevent joypad interrupts
xor a
ld [hJoypadReleased], a
@@ -364,10 +348,9 @@ SavingDontTurnOffThePower: ; 14c99
ld c, $10
call DelayFrames
ret
; 14cbb
ErasePreviousSave: ; 14cbb
ErasePreviousSave:
call EraseBoxes
call EraseHallOfFame
call EraseLinkBattleStats
@@ -383,9 +366,8 @@ ErasePreviousSave: ; 14cbb
ld a, $1
ld [wSavedAtLeastOnce], a
ret
; 14ce2
EraseLinkBattleStats: ; 14ce2
EraseLinkBattleStats:
ld a, BANK(sLinkBattleStats)
call GetSRAMBank
ld hl, sLinkBattleStats
@@ -393,9 +375,8 @@ EraseLinkBattleStats: ; 14ce2
xor a
call ByteFill
jp CloseSRAM
; 14cf4
EraseMysteryGift: ; 14cf4
EraseMysteryGift:
ld a, BANK(sBackupMysteryGiftItem)
call GetSRAMBank
ld hl, sBackupMysteryGiftItem
@@ -403,9 +384,8 @@ EraseMysteryGift: ; 14cf4
xor a
call ByteFill
jp CloseSRAM
; 14d06
EraseHallOfFame: ; 14d06
EraseHallOfFame:
ld a, BANK(sHallOfFame)
call GetSRAMBank
ld hl, sHallOfFame
@@ -413,9 +393,8 @@ EraseHallOfFame: ; 14d06
xor a
call ByteFill
jp CloseSRAM
; 14d18
Unreferenced_Function14d18: ; 14d18
Unreferenced_Function14d18:
; copy .Data to SRA4:a007
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
@@ -424,9 +403,8 @@ Unreferenced_Function14d18: ; 14d18
ld bc, .DataEnd - .Data
call CopyBytes
jp CloseSRAM
; 14d2c
.Data: ; 14d2c
.Data:
db $0d, $02, $00, $05, $00, $00
db $22, $02, $01, $05, $00, $00
db $03, $04, $05, $08, $03, $05
@@ -435,23 +413,20 @@ Unreferenced_Function14d18: ; 14d18
db $04, $07, $01, $05, $00, $00
db $0f, $05, $14, $07, $05, $05
db $11, $0c, $0c, $06, $06, $04
; 14d5c
.DataEnd
EraseBattleTowerStatus: ; 14d5c
EraseBattleTowerStatus:
ld a, BANK(sBattleTowerChallengeState)
call GetSRAMBank
xor a
ld [sBattleTowerChallengeState], a
jp CloseSRAM
; 14d68
SaveData: ; 14d68
SaveData:
call _SaveData
ret
; 14d6c
Unreferenced_Function14d6c: ; 14d6c
Unreferenced_Function14d6c:
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
ld a, [$a60b] ; address of MBC30 bank
@@ -465,9 +440,8 @@ Unreferenced_Function14d6c: ; 14d6c
ld [$a60b], a ; address of MBC30 bank
call CloseSRAM
ret
; 14d83
Unreferenced_Function14d83: ; 14d83
Unreferenced_Function14d83:
ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
xor a
@@ -475,27 +449,24 @@ Unreferenced_Function14d83: ; 14d83
ld [$a60d], a ; address of MBC30 bank
call CloseSRAM
ret
; 14d93
Unreferenced_Function14d93: ; 14d93
Unreferenced_Function14d93:
ld a, 7 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
xor a
ld [$a000], a ; address of MBC30 bank
call CloseSRAM
ret
; 14da0
HallOfFame_InitSaveIfNeeded: ; 14da0
HallOfFame_InitSaveIfNeeded:
ld a, [wSavedAtLeastOnce]
and a
ret nz
call ErasePreviousSave
ret
; 14da9
ValidateSave: ; 14da9
ValidateSave:
ld a, BANK(sCheckValue1) ; BANK(sCheckValue2)
call GetSRAMBank
ld a, SAVE_CHECK_VALUE_1
@@ -503,9 +474,8 @@ ValidateSave: ; 14da9
ld a, SAVE_CHECK_VALUE_2
ld [sCheckValue2], a
jp CloseSRAM
; 14dbb
SaveOptions: ; 14dbb
SaveOptions:
ld a, BANK(sOptions)
call GetSRAMBank
ld hl, wOptions
@@ -516,9 +486,8 @@ SaveOptions: ; 14dbb
and $ff ^ (1 << NO_TEXT_SCROLL)
ld [sOptions], a
jp CloseSRAM
; 14dd7
SavePlayerData: ; 14dd7
SavePlayerData:
ld a, BANK(sPlayerData)
call GetSRAMBank
ld hl, wPlayerData
@@ -530,9 +499,8 @@ SavePlayerData: ; 14dd7
ld bc, wCurrMapDataEnd - wCurrMapData
call CopyBytes
jp CloseSRAM
; 14df7
SavePokemonData: ; 14df7
SavePokemonData:
ld a, BANK(sPokemonData)
call GetSRAMBank
ld hl, wPokemonData
@@ -541,15 +509,13 @@ SavePokemonData: ; 14df7
call CopyBytes
call CloseSRAM
ret
; 14e0c
SaveBox: ; 14e0c
SaveBox:
call GetBoxAddress
call SaveBoxAddress
ret
; 14e13
SaveChecksum: ; 14e13
SaveChecksum:
ld hl, sGameData
ld bc, sGameDataEnd - sGameData
ld a, BANK(sGameData)
@@ -561,9 +527,8 @@ SaveChecksum: ; 14e13
ld [sChecksum + 1], a
call CloseSRAM
ret
; 14e2d
ValidateBackupSave: ; 14e2d
ValidateBackupSave:
ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2)
call GetSRAMBank
ld a, SAVE_CHECK_VALUE_1
@@ -572,9 +537,8 @@ ValidateBackupSave: ; 14e2d
ld [sBackupCheckValue2], a
call CloseSRAM
ret
; 14e40
SaveBackupOptions: ; 14e40
SaveBackupOptions:
ld a, BANK(sBackupOptions)
call GetSRAMBank
ld hl, wOptions
@@ -583,9 +547,8 @@ SaveBackupOptions: ; 14e40
call CopyBytes
call CloseSRAM
ret
; 14e55
SaveBackupPlayerData: ; 14e55
SaveBackupPlayerData:
ld a, BANK(sBackupPlayerData)
call GetSRAMBank
ld hl, wPlayerData
@@ -598,9 +561,8 @@ SaveBackupPlayerData: ; 14e55
call CopyBytes
call CloseSRAM
ret
; 14e76
SaveBackupPokemonData: ; 14e76
SaveBackupPokemonData:
ld a, BANK(sBackupPokemonData)
call GetSRAMBank
ld hl, wPokemonData
@@ -609,9 +571,8 @@ SaveBackupPokemonData: ; 14e76
call CopyBytes
call CloseSRAM
ret
; 14e8b
SaveBackupChecksum: ; 14e8b
SaveBackupChecksum:
ld hl, sBackupGameData
ld bc, sBackupGameDataEnd - sBackupGameData
ld a, BANK(sBackupGameData)
@@ -623,10 +584,9 @@ SaveBackupChecksum: ; 14e8b
ld [sBackupChecksum + 1], a
call CloseSRAM
ret
; 14ea5
TryLoadSaveFile: ; 14ea5 (5:4ea5)
TryLoadSaveFile:
call VerifyChecksum
jr nz, .backup
call LoadPlayerData
@@ -673,7 +633,7 @@ TryLoadSaveFile: ; 14ea5 (5:4ea5)
ret
TryLoadSaveData: ; 14f1c
TryLoadSaveData:
xor a
ld [wSaveFileExists], a
call CheckPrimarySaveFile
@@ -720,13 +680,12 @@ TryLoadSaveData: ; 14f1c
call CopyBytes
call PanicResetClock
ret
; 14f7c
INCLUDE "data/default_options.asm"
CheckPrimarySaveFile: ; 14f84
CheckPrimarySaveFile:
ld a, BANK(sCheckValue1) ; BANK(sCheckValue2)
call GetSRAMBank
ld a, [sCheckValue1]
@@ -746,9 +705,8 @@ CheckPrimarySaveFile: ; 14f84
.nope
call CloseSRAM
ret
; 14faf
CheckBackupSaveFile: ; 14faf
CheckBackupSaveFile:
ld a, BANK(sBackupCheckValue1) ; BANK(sBackupCheckValue2)
call GetSRAMBank
ld a, [sBackupCheckValue1]
@@ -767,10 +725,9 @@ CheckBackupSaveFile: ; 14faf
.nope
call CloseSRAM
ret
; 14fd7
LoadPlayerData: ; 14fd7 (5:4fd7)
LoadPlayerData:
ld a, BANK(sPlayerData)
call GetSRAMBank
ld hl, sPlayerData
@@ -793,7 +750,7 @@ LoadPlayerData: ; 14fd7 (5:4fd7)
call CloseSRAM
ret
LoadPokemonData: ; 1500c
LoadPokemonData:
ld a, BANK(sPokemonData)
call GetSRAMBank
ld hl, sPokemonData
@@ -802,14 +759,13 @@ LoadPokemonData: ; 1500c
call CopyBytes
call CloseSRAM
ret
; 15021
LoadBox: ; 15021 (5:5021)
LoadBox:
call GetBoxAddress
call LoadBoxAddress
ret
VerifyChecksum: ; 15028 (5:5028)
VerifyChecksum:
ld hl, sGameData
ld bc, sGameDataEnd - sGameData
ld a, BANK(sGameData)
@@ -826,7 +782,7 @@ VerifyChecksum: ; 15028 (5:5028)
pop af
ret
LoadBackupPlayerData: ; 15046 (5:5046)
LoadBackupPlayerData:
ld a, BANK(sBackupPlayerData)
call GetSRAMBank
ld hl, sBackupPlayerData
@@ -840,7 +796,7 @@ LoadBackupPlayerData: ; 15046 (5:5046)
call CloseSRAM
ret
LoadBackupPokemonData: ; 15067 (5:5067)
LoadBackupPokemonData:
ld a, BANK(sBackupPokemonData)
call GetSRAMBank
ld hl, sBackupPokemonData
@@ -850,7 +806,7 @@ LoadBackupPokemonData: ; 15067 (5:5067)
call CloseSRAM
ret
VerifyBackupChecksum: ; 1507c (5:507c)
VerifyBackupChecksum:
ld hl, sBackupGameData
ld bc, sBackupGameDataEnd - sBackupGameData
ld a, BANK(sBackupGameData)
@@ -868,7 +824,7 @@ VerifyBackupChecksum: ; 1507c (5:507c)
ret
_SaveData: ; 1509a
_SaveData:
; This is called within two scenarios:
; a) ErasePreviousSave (the process of erasing the save from a previous game file)
; b) unused mobile functionality
@@ -895,7 +851,7 @@ _SaveData: ; 1509a
jp CloseSRAM
_LoadData: ; 150b9
_LoadData:
ld a, BANK(sCrystalData)
call GetSRAMBank
ld hl, sCrystalData
@@ -915,7 +871,7 @@ _LoadData: ; 150b9
jp CloseSRAM
GetBoxAddress: ; 150d8
GetBoxAddress:
ld a, [wCurBox]
cp NUM_BOXES
jr c, .ok
@@ -940,9 +896,8 @@ endr
ld l, a
pop af
ret
; 150f9
SaveBoxAddress: ; 150f9
SaveBoxAddress:
; Save box via wBoxPartialData.
; We do this in three steps because the size of wBoxPartialData is less than
; the size of sBox.
@@ -1016,10 +971,9 @@ SaveBoxAddress: ; 150f9
pop hl
ret
; 1517d
LoadBoxAddress: ; 1517d (5:517d)
LoadBoxAddress:
; Load box via wBoxPartialData.
; We do this in three steps because the size of wBoxPartialData is less than
; the size of sBox.
@@ -1083,7 +1037,7 @@ LoadBoxAddress: ; 1517d (5:517d)
ret
EraseBoxes: ; 151fb
EraseBoxes:
ld hl, BoxAddresses
ld c, NUM_BOXES
.next
@@ -1123,9 +1077,8 @@ EraseBoxes: ; 151fb
dec c
jr nz, .next
ret
; 1522d
BoxAddresses: ; 1522d
BoxAddresses:
; dbww bank, address, address
dbww BANK(sBox1), sBox1, sBox1End
dbww BANK(sBox2), sBox2, sBox2End
@@ -1141,10 +1094,9 @@ BoxAddresses: ; 1522d
dbww BANK(sBox12), sBox12, sBox12End
dbww BANK(sBox13), sBox13, sBox13End
dbww BANK(sBox14), sBox14, sBox14End
; 15273
Checksum: ; 15273
Checksum:
ld de, 0
.loop
ld a, [hli]
@@ -1158,7 +1110,6 @@ Checksum: ; 15273
or c
jr nz, .loop
ret
; 15283
Text_WouldYouLikeToSaveTheGame: ; 0x15283

View File

@@ -1,4 +1,4 @@
SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45)
SaveMenu_CopyTilemapAtOnce:
ld a, [hCGB]
and a
jp z, WaitBGMap
@@ -38,7 +38,7 @@ SaveMenu_CopyTilemapAtOnce: ; 4cf45 (13:4f45)
ld [hBGMapMode], a
ret
.CopyTilemapAtOnce: ; 4cf80 (13:4f80)
.CopyTilemapAtOnce:
ld [hSPBuffer], sp ; $ffd9
ld sp, hl
ld a, [hBGMapAddress + 1]

View File

@@ -1,4 +1,4 @@
_InitScrollingMenu:: ; 245af
_InitScrollingMenu::
xor a
ld [wMenuJoypad], a
ld [hBGMapMode], a
@@ -12,25 +12,22 @@ _InitScrollingMenu:: ; 245af
xor a
ld [hBGMapMode], a
ret
; 245cb
_ScrollingMenu:: ; 245cb
_ScrollingMenu::
.loop
call ScrollingMenuJoyAction
jp c, .exit
call z, .zero
jr .loop
; 245d6
.exit ; 245d6
.exit
call MenuClickSound
ld [wMenuJoypad], a
ld a, 0
ld [hInMenu], a
ret
; 245e1
.zero ; 245e1
.zero
call ScrollingMenu_InitDisplay
ld a, 1
ld [hBGMapMode], a
@@ -39,9 +36,8 @@ _ScrollingMenu:: ; 245cb
xor a
ld [hBGMapMode], a
ret
; 245f1
ScrollingMenu_InitDisplay: ; 245f1
ScrollingMenu_InitDisplay:
xor a
ld [hBGMapMode], a
ld hl, wOptions
@@ -54,9 +50,8 @@ ScrollingMenu_InitDisplay: ; 245f1
pop af
ld [wOptions], a
ret
; 24609
ScrollingMenuJoyAction: ; 24609
ScrollingMenuJoyAction:
.loop
call ScrollingMenuJoypad
ld a, [hJoyLast]
@@ -82,15 +77,13 @@ ScrollingMenuJoyAction: ; 24609
bit D_DOWN_F, a
jp nz, .d_down
jr .loop
; 24640
.unreferenced ; unused
ld a, -1
and a
ret
; 24644
.a_button ; 24644
.a_button
call PlaceHollowCursor
ld a, [wMenuCursorY]
dec a
@@ -109,15 +102,13 @@ ScrollingMenuJoyAction: ; 24609
ld a, A_BUTTON
scf
ret
; 2466f
.b_button ; 2466f
.b_button
ld a, B_BUTTON
scf
ret
; 24673
.select ; 24673
.select
ld a, [wMenuDataFlags]
bit 7, a
jp z, xor_a_dec_a
@@ -133,18 +124,16 @@ ScrollingMenuJoyAction: ; 24609
ld a, SELECT
scf
ret
; 24695
.start ; 24695
.start
ld a, [wMenuDataFlags]
bit 6, a
jp z, xor_a_dec_a
ld a, START
scf
ret
; 246a1
.d_left ; 246a1
.d_left
ld hl, w2DMenuFlags2
bit 7, [hl]
jp z, xor_a_dec_a
@@ -154,9 +143,8 @@ ScrollingMenuJoyAction: ; 24609
ld a, D_LEFT
scf
ret
; 246b5
.d_right ; 246b5
.d_right
ld hl, w2DMenuFlags2
bit 7, [hl]
jp z, xor_a_dec_a
@@ -166,9 +154,8 @@ ScrollingMenuJoyAction: ; 24609
ld a, D_RIGHT
scf
ret
; 246c9
.d_up ; 246c9
.d_up
ld hl, w2DMenuFlags2
bit 7, [hl]
jp z, xor_a
@@ -181,9 +168,8 @@ ScrollingMenuJoyAction: ; 24609
.xor_dec_up
jp xor_a_dec_a
; 246df
.d_down ; 246df
.d_down
ld hl, w2DMenuFlags2
bit 7, [hl]
jp z, xor_a
@@ -199,18 +185,16 @@ ScrollingMenuJoyAction: ; 24609
.xor_dec_down
jp xor_a_dec_a
; 246fc
ScrollingMenu_GetCursorPosition: ; 246fc
ScrollingMenu_GetCursorPosition:
ld a, [wMenuScrollPosition]
ld c, a
ld a, [wMenuCursorY]
add c
ld c, a
ret
; 24706
ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706)
ScrollingMenu_ClearLeftColumn:
call MenuBoxCoord2Tile
ld de, SCREEN_WIDTH
add hl, de
@@ -223,7 +207,7 @@ ScrollingMenu_ClearLeftColumn: ; 24706 (9:4706)
jr nz, .loop
ret
InitScrollingMenuCursor: ; 2471a
InitScrollingMenuCursor:
ld hl, wMenuData_ItemsPointerAddr
ld a, [hli]
ld h, [hl]
@@ -271,9 +255,8 @@ InitScrollingMenuCursor: ; 2471a
.asm_24763
ret
; 24764
ScrollingMenu_InitFlags: ; 24764
ScrollingMenu_InitFlags:
ld a, [wMenuDataFlags]
ld c, a
ld a, [wScrollingMenuListSize]
@@ -343,9 +326,8 @@ ScrollingMenu_InitFlags: ; 24764
ld [wCursorCurrentTile + 1], a
ld [wCursorOffCharacter], a
ret
; 247dd
ScrollingMenu_ValidateSwitchItem: ; 247dd
ScrollingMenu_ValidateSwitchItem:
ld a, [wScrollingMenuListSize]
ld c, a
ld a, [wSwitchItem]
@@ -359,9 +341,8 @@ ScrollingMenu_ValidateSwitchItem: ; 247dd
.done
ret
; 247f0
ScrollingMenu_UpdateDisplay: ; 247f0
ScrollingMenu_UpdateDisplay:
call ClearWholeMenuBox
ld a, [wMenuDataFlags]
bit 4, a ; place arrows
@@ -432,9 +413,8 @@ ScrollingMenu_UpdateDisplay: ; 247f0
ld e, l
ld hl, wMenuData_ScrollingMenuFunction1
jp CallPointerAt
; 2486e
ScrollingMenu_CallFunctions1and2: ; 2486e
ScrollingMenu_CallFunctions1and2:
push hl
ld d, h
ld e, l
@@ -454,9 +434,8 @@ ScrollingMenu_CallFunctions1and2: ; 2486e
.done
ret
; 2488b
ScrollingMenu_PlaceCursor: ; 2488b
ScrollingMenu_PlaceCursor:
ld a, [wSwitchItem]
and a
jr z, .done
@@ -486,9 +465,8 @@ ScrollingMenu_PlaceCursor: ; 2488b
.done
ret
; 248b8
ScrollingMenu_CheckCallFunction3: ; 248b8
ScrollingMenu_CheckCallFunction3:
ld a, [wMenuDataFlags]
bit 5, a ; call function 3
ret z
@@ -505,9 +483,8 @@ ScrollingMenu_CheckCallFunction3: ; 248b8
ld hl, wMenuData_ScrollingMenuFunction3
call CallPointerAt
ret
; 248d5
ScrollingMenu_GetListItemCoordAndFunctionArgs: ; 248d5
ScrollingMenu_GetListItemCoordAndFunctionArgs:
push de
push hl
ld e, a
@@ -540,4 +517,3 @@ ScrollingMenu_GetListItemCoordAndFunctionArgs: ; 248d5
pop hl
pop de
ret
; 2490c

View File

@@ -11,7 +11,7 @@
const STARTMENUITEM_QUIT ; 8
StartMenu:: ; 125cd
StartMenu::
call ClearWindowData
@@ -118,23 +118,20 @@ StartMenu:: ; 125cd
.b
scf
ret
; 12691
.ExitMenuRunScript: ; 12691
.ExitMenuRunScript:
call ExitMenu
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
ret
; 12699
.ExitMenuRunScriptCloseText: ; 12699
.ExitMenuRunScriptCloseText:
call ExitMenu
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
jr .ReturnEnd2
; 126a2
.ExitMenuCallFuncCloseText: ; 126a2
.ExitMenuCallFuncCloseText:
call ExitMenu
ld hl, wQueuedScriptAddr
ld a, [hli]
@@ -143,14 +140,12 @@ StartMenu:: ; 125cd
ld a, [wQueuedScriptBank]
rst FarCall
jr .ReturnEnd2
; 126b1
.ReturnRedraw: ; 126b1
.ReturnRedraw:
call .Clear
jp .Reopen
; 126b7
.Clear: ; 126b7
.Clear:
call ClearBGPalettes
call Call_ExitMenu
call ReloadTilesetAndPalettes
@@ -161,7 +156,6 @@ StartMenu:: ; 125cd
call ret_d90
call FinishExitMenu
ret
; 126d3
.MenuHeader:
@@ -242,16 +236,15 @@ StartMenu:: ; 125cd
next "be judged.@"
.OpenMenu: ; 127e5
.OpenMenu:
ld a, [wMenuSelection]
call .GetMenuAccountTextPointer
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
; 127ef
.MenuString: ; 127ef
.MenuString:
push de
ld a, [wMenuSelection]
call .GetMenuAccountTextPointer
@@ -263,9 +256,8 @@ StartMenu:: ; 125cd
pop hl
call PlaceString
ret
; 12800
.MenuDesc: ; 12800
.MenuDesc:
push de
ld a, [wMenuSelection]
cp $ff
@@ -283,10 +275,9 @@ endr
.none
pop de
ret
; 12819
.GetMenuAccountTextPointer: ; 12819
.GetMenuAccountTextPointer:
ld e, a
ld d, 0
ld hl, wMenuDataPointerTableAddr
@@ -297,10 +288,9 @@ rept 6
add hl, de
endr
ret
; 12829
.SetUpMenuItems: ; 12829
.SetUpMenuItems:
xor a
ld [wWhichIndexSet], a
call .FillMenuList
@@ -358,10 +348,9 @@ endr
ld a, c
ld [wMenuItemsList], a
ret
; 1288d
.FillMenuList: ; 1288d
.FillMenuList:
xor a
ld hl, wMenuItemsList
ld [hli], a
@@ -371,28 +360,24 @@ endr
ld de, wMenuItemsList + 1
ld c, 0
ret
; 128a0
.AppendMenuList: ; 128a0
.AppendMenuList:
ld [de], a
inc de
inc c
ret
; 128a4
.DrawMenuAccount_: ; 128a4
.DrawMenuAccount_:
jp .DrawMenuAccount
; 128a7
.PrintMenuAccount: ; 128a7
.PrintMenuAccount:
call .IsMenuAccountOn
ret z
call .DrawMenuAccount
decoord 0, 14
jp .MenuDesc
; 128b4
.DrawMenuAccount: ; 128b4
.DrawMenuAccount:
call .IsMenuAccountOn
ret z
hlcoord 0, 13
@@ -402,23 +387,20 @@ endr
ld b, 3
ld c, 8
jp TextBoxPalette
; 128cb
.IsMenuAccountOn: ; 128cb
.IsMenuAccountOn:
ld a, [wOptions2]
and 1 << MENU_ACCOUNT
ret
; 128d1
.DrawBugContestStatusBox: ; 128d1
.DrawBugContestStatusBox:
ld hl, wStatusFlags2
bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl]
ret z
farcall StartMenu_DrawBugContestStatusBox
ret
; 128de
.DrawBugContestStatus: ; 128de
.DrawBugContestStatus:
ld hl, wStatusFlags2
bit STATUSFLAGS2_BUG_CONTEST_TIMER_F, [hl]
jr nz, .contest
@@ -426,18 +408,16 @@ endr
.contest
farcall StartMenu_PrintBugContestStatus
ret
; 128ed
StartMenu_Exit: ; 128ed
StartMenu_Exit:
; Exit the menu.
ld a, 1
ret
; 128f0
StartMenu_Quit: ; 128f0
StartMenu_Quit:
; Retire from the bug catching contest.
ld hl, .EndTheContestText
@@ -456,10 +436,9 @@ StartMenu_Quit: ; 128f0
.EndTheContestText:
text_jump UnknownText_0x1c1a6c
db "@"
; 1290b
StartMenu_Save: ; 1290b
StartMenu_Save:
; Save the game.
call BufferScreen
@@ -470,20 +449,18 @@ StartMenu_Save: ; 1290b
.asm_12919
ld a, 1
ret
; 1291c
StartMenu_Option: ; 1291c
StartMenu_Option:
; Game options.
call FadeToMenu
farcall OptionsMenu
ld a, 6
ret
; 12928
StartMenu_Status: ; 12928
StartMenu_Status:
; Player status.
call FadeToMenu
@@ -491,10 +468,9 @@ StartMenu_Status: ; 12928
call CloseSubmenu
ld a, 0
ret
; 12937
StartMenu_Pokedex: ; 12937
StartMenu_Pokedex:
ld a, [wPartyCount]
and a
@@ -507,20 +483,18 @@ StartMenu_Pokedex: ; 12937
.asm_12949
ld a, 0
ret
; 1294c
StartMenu_Pokegear: ; 1294c
StartMenu_Pokegear:
call FadeToMenu
farcall PokeGear
call CloseSubmenu
ld a, 0
ret
; 1295b
StartMenu_Pack: ; 1295b
StartMenu_Pack:
call FadeToMenu
farcall Pack
@@ -535,10 +509,9 @@ StartMenu_Pack: ; 1295b
call ExitAllMenus
ld a, 4
ret
; 12976
StartMenu_Pokemon: ; 12976
StartMenu_Pokemon:
ld a, [wPartyCount]
and a
@@ -586,9 +559,8 @@ StartMenu_Pokemon: ; 12976
call ExitAllMenus
pop af
ret
; 129d5
HasNoItems: ; 129d5
HasNoItems:
ld a, [wNumItems]
and a
ret nz
@@ -612,7 +584,7 @@ HasNoItems: ; 129d5
and a
ret
TossItemFromPC: ; 129f4
TossItemFromPC:
push de
call PartyMonItemName
farcall _CheckTossableItem
@@ -677,36 +649,32 @@ TossItemFromPC: ; 129f4
db "@"
; 0x12a60
CantUseItem: ; 12a60
CantUseItem:
ld hl, CantUseItemText
call MenuTextBoxWaitButton
ret
; 12a67
CantUseItemText: ; 12a67
CantUseItemText:
text_jump UnknownText_0x1c1b03
db "@"
; 12a6c
PartyMonItemName: ; 12a6c
PartyMonItemName:
ld a, [wCurItem]
ld [wd265], a
call GetItemName
call CopyName1
ret
; 12a79
CancelPokemonAction: ; 12a79
CancelPokemonAction:
farcall InitPartyMenuWithCancel
farcall UnfreezeMonIcons
ld a, 1
ret
; 12a88
PokemonActionSubmenu: ; 12a88
PokemonActionSubmenu:
hlcoord 1, 15
lb bc, 2, 18
call ClearBox
@@ -749,10 +717,9 @@ PokemonActionSubmenu: ; 12a88
dbw MONMENUITEM_CANCEL, CancelPokemonAction
dbw MONMENUITEM_MOVE, ManagePokemonMoves
dbw MONMENUITEM_MAIL, MonMailAction
; 12aec
SwitchPartyMons: ; 12aec
SwitchPartyMons:
; Don't try if there's nothing to switch!
ld a, [wPartyCount]
@@ -802,10 +769,9 @@ SwitchPartyMons: ; 12aec
ld [wPartyMenuActionText], a
call CancelPokemonAction
ret
; 12b60
GiveTakePartyMonItem: ; 12b60
GiveTakePartyMonItem:
; Eggs can't hold items!
ld a, [wCurPartySpecies]
@@ -844,7 +810,6 @@ GiveTakePartyMonItem: ; 12b60
.cancel
ld a, 3
ret
; 12ba9
.GiveItem:
@@ -877,10 +842,9 @@ GiveTakePartyMonItem: ; 12b60
.quit
ret
; 12bd9
TryGiveItemToPartymon: ; 12bd9
TryGiveItemToPartymon:
call SpeechTextBox
call PartyMonItemName
@@ -942,10 +906,9 @@ TryGiveItemToPartymon: ; 12bd9
.abort
ret
; 12c4c
GivePartyItem: ; 12c4c
GivePartyItem:
call GetPartyItemLocation
ld a, [wCurItem]
@@ -957,10 +920,9 @@ GivePartyItem: ; 12c4c
.done
ret
; 12c60
TakePartyItem: ; 12c60
TakePartyItem:
call SpeechTextBox
call GetPartyItemLocation
@@ -993,10 +955,9 @@ TakePartyItem: ; 12c60
.asm_12c9a
ret
; 12c9b
GiveTakeItemMenuData: ; 12c9b
GiveTakeItemMenuData:
db MENU_SPRITE_ANIMS | MENU_BACKUP_TILES ; flags
menu_coords 12, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .Items
@@ -1007,81 +968,69 @@ GiveTakeItemMenuData: ; 12c9b
db 2 ; # items
db "GIVE@"
db "TAKE@"
; 12caf
TookAndMadeHoldText: ; 12caf
TookAndMadeHoldText:
text_jump UnknownText_0x1c1b2c
db "@"
; 12cb4
MadeHoldText: ; 12cb4
MadeHoldText:
text_jump UnknownText_0x1c1b57
db "@"
; 12cb9
PleaseRemoveMailText: ; 12cb9
PleaseRemoveMailText:
text_jump UnknownText_0x1c1b6f
db "@"
; 12cbe
IsntHoldingAnythingText: ; 12cbe
IsntHoldingAnythingText:
text_jump UnknownText_0x1c1b8e
db "@"
; 12cc3
ItemStorageIsFullText: ; 12cc3
ItemStorageIsFullText:
text_jump UnknownText_0x1c1baa
db "@"
; 12cc8
TookFromText: ; 12cc8
TookFromText:
text_jump UnknownText_0x1c1bc4
db "@"
; 12ccd
SwitchAlreadyHoldingText: ; 12ccd
SwitchAlreadyHoldingText:
text_jump UnknownText_0x1c1bdc
db "@"
; 12cd2
CantBeHeldText: ; 12cd2
CantBeHeldText:
text_jump UnknownText_0x1c1c09
db "@"
; 12cd7
GetPartyItemLocation: ; 12cd7
GetPartyItemLocation:
push af
ld a, MON_ITEM
call GetPartyParamLocation
pop af
ret
; 12cdf
ReceiveItemFromPokemon: ; 12cdf
ReceiveItemFromPokemon:
ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, wNumItems
jp ReceiveItem
; 12cea
GiveItemToPokemon: ; 12cea (4:6cea)
GiveItemToPokemon:
ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, wNumItems
jp TossItem
StartMenuYesNo: ; 12cf5
StartMenuYesNo:
call MenuTextBox
call YesNoBox
jp ExitMenu
; 12cfe
ComposeMailMessage: ; 12cfe (4:6cfe)
ComposeMailMessage:
ld de, wTempMailMessage
farcall _ComposeMailMessage
ld hl, wPlayerName
@@ -1110,7 +1059,7 @@ ComposeMailMessage: ; 12cfe (4:6cfe)
call CloseSRAM
ret
MonMailAction: ; 12d45
MonMailAction:
; If in the time capsule or trade center,
; selecting the mail only allows you to
; read the mail.
@@ -1181,7 +1130,6 @@ MonMailAction: ; 12d45
.done
ld a, $3
ret
; 12dc9
.MenuHeader:
@@ -1237,7 +1185,7 @@ MonMailAction: ; 12d45
; 0x12e00
OpenPartyStats: ; 12e00
OpenPartyStats:
call LoadStandardMenuHeader
call ClearSprites
; PartyMon
@@ -1249,10 +1197,9 @@ OpenPartyStats: ; 12e00
call Call_ExitMenu
ld a, 0
ret
; 12e1b
MonMenu_Cut: ; 12e1b
MonMenu_Cut:
farcall CutFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1264,10 +1211,9 @@ MonMenu_Cut: ; 12e1b
.Fail:
ld a, $3
ret
; 12e30
MonMenu_Fly: ; 12e30
MonMenu_Fly:
farcall FlyFunction
ld a, [wFieldMoveSucceeded]
cp $2
@@ -1290,9 +1236,8 @@ MonMenu_Fly: ; 12e30
.Unreferenced:
ld a, $1
ret
; 12e55
MonMenu_Flash: ; 12e55
MonMenu_Flash:
farcall OWFlash
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1304,9 +1249,8 @@ MonMenu_Flash: ; 12e55
.Fail:
ld a, $3
ret
; 12e6a
MonMenu_Strength: ; 12e6a
MonMenu_Strength:
farcall StrengthFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1318,9 +1262,8 @@ MonMenu_Strength: ; 12e6a
.Fail:
ld a, $3
ret
; 12e7f
MonMenu_Whirlpool: ; 12e7f
MonMenu_Whirlpool:
farcall WhirlpoolFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1332,9 +1275,8 @@ MonMenu_Whirlpool: ; 12e7f
.Fail:
ld a, $3
ret
; 12e94
MonMenu_Waterfall: ; 12e94
MonMenu_Waterfall:
farcall WaterfallFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1346,9 +1288,8 @@ MonMenu_Waterfall: ; 12e94
.Fail:
ld a, $3
ret
; 12ea9
MonMenu_Teleport: ; 12ea9
MonMenu_Teleport:
farcall TeleportFunction
ld a, [wFieldMoveSucceeded]
and a
@@ -1360,9 +1301,8 @@ MonMenu_Teleport: ; 12ea9
.Fail:
ld a, $3
ret
; 12ebd
MonMenu_Surf: ; 12ebd
MonMenu_Surf:
farcall SurfFunction
ld a, [wFieldMoveSucceeded]
and a
@@ -1374,9 +1314,8 @@ MonMenu_Surf: ; 12ebd
.Fail:
ld a, $3
ret
; 12ed1
MonMenu_Dig: ; 12ed1
MonMenu_Dig:
farcall DigFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1388,9 +1327,8 @@ MonMenu_Dig: ; 12ed1
.Fail:
ld a, $3
ret
; 12ee6
MonMenu_Softboiled_MilkDrink: ; 12ee6
MonMenu_Softboiled_MilkDrink:
call .CheckMonHasEnoughHP
jr nc, .NotEnoughHP
farcall Softboiled_MilkDrinkFunction
@@ -1405,7 +1343,6 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6
ld [wPartyMenuActionText], a
ld a, $3
ret
; 12f00
.Text_NotEnoughHP:
; Not enough HP!
@@ -1433,9 +1370,8 @@ MonMenu_Softboiled_MilkDrink: ; 12ee6
ld a, [hQuotient + 1]
sbc [hl]
ret
; 12f26
MonMenu_Headbutt: ; 12f26
MonMenu_Headbutt:
farcall HeadbuttFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1447,9 +1383,8 @@ MonMenu_Headbutt: ; 12f26
.Fail:
ld a, $3
ret
; 12f3b
MonMenu_RockSmash: ; 12f3b
MonMenu_RockSmash:
farcall RockSmashFunction
ld a, [wFieldMoveSucceeded]
cp $1
@@ -1461,16 +1396,14 @@ MonMenu_RockSmash: ; 12f3b
.Fail:
ld a, $3
ret
; 12f50
MonMenu_SweetScent: ; 12f50
MonMenu_SweetScent:
farcall SweetScentFromMenu
ld b, $4
ld a, $2
ret
; 12f5b
ChooseMoveToDelete: ; 12f5b
ChooseMoveToDelete:
ld hl, wOptions
ld a, [hl]
push af
@@ -1484,7 +1417,6 @@ ChooseMoveToDelete: ; 12f5b
call ClearBGPalettes
pop af
ret
; 12f73
.ChooseMoveToDelete
call SetUpMoveScreenBG
@@ -1506,7 +1438,6 @@ ChooseMoveToDelete: ; 12f5b
call PrepareToPlaceMoveData
call PlaceMoveData
jp .loop
; 12f9c
.a_button
and a
@@ -1525,17 +1456,15 @@ ChooseMoveToDelete: ; 12f5b
call ClearTileMap
pop af
ret
; 12fb2
DeleteMoveScreenAttrs: ; 12fb2
DeleteMoveScreenAttrs:
db 3, 1
db 3, 1
db $40, $00
dn 2, 0
db D_UP | D_DOWN | A_BUTTON | B_BUTTON
; 12fba
ManagePokemonMoves: ; 12fba
ManagePokemonMoves:
ld a, [wCurPartySpecies]
cp EGG
jr z, .egg
@@ -1551,9 +1480,8 @@ ManagePokemonMoves: ; 12fba
.egg
ld a, $0
ret
; 12fd5
MoveScreenLoop: ; 12fd5
MoveScreenLoop:
ld a, [wCurPartyMon]
inc a
ld [wPartyMenuCursor], a
@@ -1613,7 +1541,6 @@ MoveScreenLoop: ; 12fd5
lb bc, 8, SCREEN_WIDTH - 2
call ClearBox
jp .loop
; 1305b
.d_right
ld a, [wMoveSwapBuffer]
@@ -1678,7 +1605,6 @@ MoveScreenLoop: ; 12fd5
and a
jr z, .cycle_right
jr .cycle_left_loop
; 130c6
.a_button
call PlayClickSFX
@@ -1729,7 +1655,6 @@ MoveScreenLoop: ; 12fd5
lb bc, 1, 9
call ClearBox
jp .loop
; 1313a
.copy_move
push hl
@@ -1752,7 +1677,6 @@ MoveScreenLoop: ; 12fd5
ld a, b
ld [de], a
ret
; 13154
.exit
xor a
@@ -1761,21 +1685,18 @@ MoveScreenLoop: ; 12fd5
res 6, [hl]
call ClearSprites
jp ClearTileMap
; 13163
MoveScreenAttributes: ; 13163
MoveScreenAttributes:
db 3, 1
db 3, 1
db $40, $00
dn 2, 0
db D_UP | D_DOWN | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON
; 1316b
String_MoveWhere: ; 1316b
String_MoveWhere:
db "Where?@"
; 13172
SetUpMoveScreenBG: ; 13172
SetUpMoveScreenBG:
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -1821,9 +1742,8 @@ SetUpMoveScreenBG: ; 13172
hlcoord 16, 0
lb bc, 1, 3
jp ClearBox
; 131ef
SetUpMoveList: ; 131ef
SetUpMoveList:
xor a
ld [hBGMapMode], a
ld [wMoveSwapBuffer], a
@@ -1848,9 +1768,8 @@ SetUpMoveList: ; 131ef
ld b, 5
ld c, 18
jp TextBox
; 13235
PrepareToPlaceMoveData: ; 13235
PrepareToPlaceMoveData:
ld hl, wPartyMon1Moves
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [wCurPartyMon]
@@ -1865,9 +1784,8 @@ PrepareToPlaceMoveData: ; 13235
hlcoord 1, 12
lb bc, 5, 18
jp ClearBox
; 13256
PlaceMoveData: ; 13256
PlaceMoveData:
xor a
ld [hBGMapMode], a
hlcoord 0, 10
@@ -1909,28 +1827,22 @@ PlaceMoveData: ; 13256
ld a, $1
ld [hBGMapMode], a
ret
; 132ba
String_MoveType_Top: ; 132ba
String_MoveType_Top:
db "┌─────┐@"
; 132c2
String_MoveType_Bottom: ; 132c2
String_MoveType_Bottom:
db "│TYPE/└@"
; 132ca
String_MoveAtk: ; 132ca
String_MoveAtk:
db "ATK/@"
; 132cf
String_MoveNoPower: ; 132cf
String_MoveNoPower:
db "---@"
; 132d3
Function132d3: ; 132d3
Function132d3:
call Function132da
call Function132fe
ret
; 132da
Function132da: ; 132da
Function132da:
ld a, [wCurPartyMon]
and a
ret z
@@ -1958,9 +1870,8 @@ Function132da: ; 132da
hlcoord 16, 0
ld [hl], "◀"
ret
; 132fe
Function132fe: ; 132fe
Function132fe:
ld a, [wCurPartyMon]
inc a
ld c, a
@@ -1990,4 +1901,3 @@ Function132fe: ; 132fe
hlcoord 18, 0
ld [hl], "▶"
ret
; 13327

View File

@@ -8,7 +8,7 @@
const TRAINERCARDSTATE_PAGE3_JOYPAD ; 5
const TRAINERCARDSTATE_QUIT ; 6
TrainerCard: ; 25105
TrainerCard:
ld a, [wVramState]
push af
xor a
@@ -38,7 +38,7 @@ TrainerCard: ; 25105
ld [wVramState], a
ret
.InitRAM: ; 2513b (9:513b)
.InitRAM:
call ClearBGPalettes
call ClearSprites
call ClearTileMap
@@ -78,10 +78,10 @@ TrainerCard: ; 25105
ld [hl], a ; wTrainerCardBadgeAttributes
ret
.RunJumptable: ; 2518e (9:518e)
.RunJumptable:
jumptable .Jumptable, wJumptableIndex
.Jumptable: ; 2519d (9:519d)
.Jumptable:
; entries correspond to TRAINERCARDSTATE_* constants
dw TrainerCard_Page1_LoadGFX
dw TrainerCard_Page1_Joypad
@@ -91,17 +91,17 @@ TrainerCard: ; 25105
dw TrainerCard_Page3_Joypad
dw TrainerCard_Quit
TrainerCard_IncrementJumptable: ; 251ab (9:51ab)
TrainerCard_IncrementJumptable:
ld hl, wJumptableIndex
inc [hl]
ret
TrainerCard_Quit: ; 251b0 (9:51b0)
TrainerCard_Quit:
ld hl, wJumptableIndex
set 7, [hl]
ret
TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6)
TrainerCard_Page1_LoadGFX:
call ClearSprites
hlcoord 0, 8
ld d, 6
@@ -115,7 +115,7 @@ TrainerCard_Page1_LoadGFX: ; 251b6 (9:51b6)
call TrainerCard_IncrementJumptable
ret
TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
TrainerCard_Page1_Joypad:
call TrainerCard_Page1_PrintGameTime
ld hl, hJoyLast
ld a, [hl]
@@ -136,9 +136,8 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
ld [wJumptableIndex], a
ret
; 251f4
TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4)
TrainerCard_Page2_LoadGFX:
call ClearSprites
hlcoord 0, 8
ld d, 6
@@ -156,7 +155,7 @@ TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4)
call TrainerCard_IncrementJumptable
ret
TrainerCard_Page2_Joypad: ; 25221 (9:5221)
TrainerCard_Page2_Joypad:
ld hl, TrainerCard_JohtoBadgesOAM
call TrainerCard_Page2_3_AnimateBadges
ld hl, hJoyLast
@@ -186,7 +185,7 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221)
ld [wJumptableIndex], a
ret
TrainerCard_Page3_LoadGFX: ; 2524c (9:524c)
TrainerCard_Page3_LoadGFX:
call ClearSprites
hlcoord 0, 8
ld d, 6
@@ -204,7 +203,7 @@ TrainerCard_Page3_LoadGFX: ; 2524c (9:524c)
call TrainerCard_IncrementJumptable
ret
TrainerCard_Page3_Joypad: ; 25279 (9:5279)
TrainerCard_Page3_Joypad:
ld hl, TrainerCard_JohtoBadgesOAM
call TrainerCard_Page2_3_AnimateBadges
ld hl, hJoyLast
@@ -226,7 +225,7 @@ TrainerCard_Page3_Joypad: ; 25279 (9:5279)
ld [wJumptableIndex], a
ret
TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
TrainerCard_PrintTopHalfOfCard:
hlcoord 0, 0
ld d, 5
call TrainerCard_InitBorder
@@ -257,21 +256,19 @@ TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
predef PlaceGraphic
ret
; 252ec (9:52ec)
.Name_Money: ; 252ec
.Name_Money:
db "NAME/"
next ""
next "MONEY@"
.ID_No: ; 252f9
.ID_No:
db $27, $28, -1 ; ID NO
.HorizontalDivider: ; 252fc
.HorizontalDivider:
db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________>
; 2530a
TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
TrainerCard_Page1_PrintDexCaught_GameTime:
hlcoord 2, 10
ld de, .Dex_PlayTime
call PlaceString
@@ -304,11 +301,10 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
.Badges:
db " BADGES▶@"
.StatusTilemap: ; 25366
.StatusTilemap:
db $29, $2a, $2b, $2c, $2d, -1
; 2536c
TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c)
TrainerCard_Page2_3_InitObjectsAndStrings:
hlcoord 2, 8
ld de, .BadgesTilemap
call TrainerCardSetup_PlaceTilemapString
@@ -338,13 +334,11 @@ endr
call TrainerCard_Page2_3_OAMUpdate
ret
; 253a2 (9:53a2)
.BadgesTilemap: ; 253a2
.BadgesTilemap:
db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES"
; 253a8
TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
TrainerCardSetup_PlaceTilemapString:
.loop
ld a, [de]
cp -1
@@ -353,7 +347,7 @@ TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
inc de
jr .loop
TrainerCard_InitBorder: ; 253b0 (9:53b0)
TrainerCard_InitBorder:
ld e, SCREEN_WIDTH
.loop1
ld a, $23
@@ -411,7 +405,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
jr nz, .loop6
ret
TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4)
TrainerCard_Page2_3_PlaceLeadersFaces:
push de
push hl
ld [hli], a
@@ -442,7 +436,7 @@ TrainerCard_Page2_3_PlaceLeadersFaces: ; 253f4 (9:53f4)
pop de
ret
TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
TrainerCard_Page1_PrintGameTime:
hlcoord 11, 12
ld de, wGameTimeHours
lb bc, 2, 4
@@ -460,7 +454,7 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
ld [hl], a
ret
TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
TrainerCard_Page2_3_AnimateBadges:
ld a, [hVBlankCounter]
and %111
ret nz
@@ -470,7 +464,7 @@ TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
ld [wTrainerCardBadgeFrameCounter], a
jr TrainerCard_Page2_3_OAMUpdate
TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
TrainerCard_Page2_3_OAMUpdate:
; copy flag array pointer
ld a, [hli]
ld e, a
@@ -510,7 +504,7 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
jr nz, .loop
ret
.PrepOAM: ; 2547b (9:547b)
.PrepOAM:
ld a, [wTrainerCardBadgeTileID]
and 1 << 7
jr nz, .xflip
@@ -546,23 +540,22 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
inc de
jr .loop2
; 254a7 (9:54a7)
.facing1 ; 254a7
.facing1
dsprite 0, 0, 0, 0, $00, 0
dsprite 0, 0, 1, 0, $01, 0
dsprite 1, 0, 0, 0, $02, 0
dsprite 1, 0, 1, 0, $03, 0
db -1
.facing2 ; 254b8
.facing2
dsprite 0, 0, 0, 0, $01, 0 | X_FLIP
dsprite 0, 0, 1, 0, $00, 0 | X_FLIP
dsprite 1, 0, 0, 0, $03, 0 | X_FLIP
dsprite 1, 0, 1, 0, $02, 0 | X_FLIP
db -1
TrainerCard_JohtoBadgesOAM: ; 254c9
TrainerCard_JohtoBadgesOAM:
; Template OAM data for each badge on the trainer card.
; Format:
; y, x, palette
@@ -611,7 +604,6 @@ TrainerCard_JohtoBadgesOAM: ; 254c9
db $80, $78, 0
db $1c, $20, $24, $20 | (1 << 7)
db $1c | (1 << 7), $20, $24, $20 | (1 << 7)
; 25523
CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp"