summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to 'home')
-rw-r--r--home/audio.asm140
-rw-r--r--home/battle.asm80
-rw-r--r--home/battle_vars.asm6
-rw-r--r--home/clear_sprites.asm6
-rw-r--r--home/copy.asm66
-rw-r--r--home/copy2.asm28
-rw-r--r--home/copy_name.asm5
-rw-r--r--home/copy_tilemap.asm9
-rw-r--r--home/cry.asm21
-rw-r--r--home/decompress.asm25
-rw-r--r--home/delay.asm7
-rw-r--r--home/double_speed.asm9
-rw-r--r--home/fade.asm24
-rw-r--r--home/farcall.asm13
-rw-r--r--home/flag.asm19
-rw-r--r--home/game_time.asm19
-rw-r--r--home/handshake.asm6
-rw-r--r--home/hm_moves.asm8
-rw-r--r--home/hp_pals.asm17
-rw-r--r--home/init.asm23
-rw-r--r--home/item.asm15
-rw-r--r--home/joypad.asm54
-rw-r--r--home/lcd.asm16
-rw-r--r--home/map.asm332
-rw-r--r--home/map_objects.asm133
-rw-r--r--home/math.asm22
-rw-r--r--home/menu.asm129
-rw-r--r--home/menu_window.asm59
-rw-r--r--home/mobile.asm42
-rw-r--r--home/mon_data.asm11
-rw-r--r--home/mon_data_2.asm9
-rw-r--r--home/mon_stats.asm11
-rw-r--r--home/movement.asm38
-rw-r--r--home/names.asm25
-rw-r--r--home/palettes.asm50
-rw-r--r--home/pokedex_flags.asm15
-rw-r--r--home/predef.asm3
-rw-r--r--home/print_bcd.asm6
-rw-r--r--home/print_level.asm9
-rw-r--r--home/print_text.asm15
-rw-r--r--home/random.asm10
-rw-r--r--home/region.asm3
-rw-r--r--home/rtc.asm8
-rw-r--r--home/scrolling_menu.asm12
-rw-r--r--home/serial.asm39
-rw-r--r--home/sine.asm5
-rw-r--r--home/sprite_anims.asm9
-rw-r--r--home/sprite_updates.asm6
-rw-r--r--home/sram.asm9
-rw-r--r--home/stone_queue.asm15
-rw-r--r--home/string.asm8
-rw-r--r--home/text.asm357
-rw-r--r--home/tilemap.asm37
-rw-r--r--home/time.asm53
-rw-r--r--home/trainers.asm25
-rw-r--r--home/vblank.asm40
-rw-r--r--home/video.asm47
-rw-r--r--home/window.asm19
58 files changed, 742 insertions, 1485 deletions
diff --git a/home/audio.asm b/home/audio.asm
index 4b9c3a71c..dd115449d 100644
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -1,7 +1,6 @@
; Audio interfaces.
-MapSetup_Sound_Off:: ; 3b4e
-
+MapSetup_Sound_Off::
push hl
push de
push bc
@@ -24,11 +23,8 @@ MapSetup_Sound_Off:: ; 3b4e
pop de
pop hl
ret
-; 3b6a
-
-
-UpdateSound:: ; 3b6a
+UpdateSound::
push hl
push de
push bc
@@ -51,13 +47,9 @@ UpdateSound:: ; 3b6a
pop de
pop hl
ret
-; 3b86
-
-_LoadMusicByte:: ; 3b86
+_LoadMusicByte::
; wCurMusicByte = [a:de]
-GLOBAL LoadMusicByte
-
ld [hROMBank], a
ld [MBC3RomBank], a
@@ -68,10 +60,8 @@ GLOBAL LoadMusicByte
ld [hROMBank], a
ld [MBC3RomBank], a
ret
-; 3b97
-
-PlayMusic:: ; 3b97
+PlayMusic::
; Play music de.
push hl
@@ -104,10 +94,8 @@ PlayMusic:: ; 3b97
pop de
pop hl
ret
-; 3bbc
-
-PlayMusic2:: ; 3bbc
+PlayMusic2::
; Stop playing music, then play music de.
push hl
@@ -138,10 +126,7 @@ PlayMusic2:: ; 3bbc
pop hl
ret
-; 3be3
-
-
-PlayCry:: ; 3be3
+PlayCry::
; Play cry de.
push hl
@@ -191,10 +176,8 @@ endr
pop de
pop hl
ret
-; 3c23
-
-PlaySFX:: ; 3c23
+PlaySFX::
; Play sound effect de.
; Sound effects are ordered by priority (highest to lowest)
@@ -233,54 +216,49 @@ PlaySFX:: ; 3c23
pop de
pop hl
ret
-; 3c4e
-
-WaitPlaySFX:: ; 3c4e
+WaitPlaySFX::
call WaitSFX
call PlaySFX
ret
-; 3c55
-
-WaitSFX:: ; 3c55
+WaitSFX::
; infinite loop until sfx is done playing
push hl
.wait
- ld hl, wChannel5Flags
+ ld hl, wChannel5Flags1
bit 0, [hl]
jr nz, .wait
- ld hl, wChannel6Flags
+ ld hl, wChannel6Flags1
bit 0, [hl]
jr nz, .wait
- ld hl, wChannel7Flags
+ ld hl, wChannel7Flags1
bit 0, [hl]
jr nz, .wait
- ld hl, wChannel8Flags
+ ld hl, wChannel8Flags1
bit 0, [hl]
jr nz, .wait
pop hl
ret
-; 3c74
-IsSFXPlaying:: ; 3c74
+IsSFXPlaying::
; Return carry if no sound effect is playing.
; The inverse of CheckSFX.
push hl
- ld hl, wChannel5Flags
+ ld hl, wChannel5Flags1
bit 0, [hl]
jr nz, .playing
- ld hl, wChannel6Flags
+ ld hl, wChannel6Flags1
bit 0, [hl]
jr nz, .playing
- ld hl, wChannel7Flags
+ ld hl, wChannel7Flags1
bit 0, [hl]
jr nz, .playing
- ld hl, wChannel8Flags
+ ld hl, wChannel8Flags1
bit 0, [hl]
jr nz, .playing
@@ -292,39 +270,33 @@ IsSFXPlaying:: ; 3c74
pop hl
and a
ret
-; 3c97
-MaxVolume:: ; 3c97
+MaxVolume::
ld a, MAX_VOLUME
ld [wVolume], a
ret
-; 3c9d
-LowVolume:: ; 3c9d
+LowVolume::
ld a, $33 ; 40%
ld [wVolume], a
ret
-; 3ca3
-VolumeOff:: ; 3ca3
+VolumeOff::
xor a
ld [wVolume], a
ret
-; 3ca8
-Unused_FadeOutMusic:: ; 3ca8
+Unused_FadeOutMusic::
ld a, 4
ld [wMusicFade], a
ret
-; 3cae
-FadeInMusic:: ; 3cae
+FadeInMusic::
ld a, 4 | (1 << MUSIC_FADE_IN_F)
ld [wMusicFade], a
ret
-; 3cb4
-SkipMusic:: ; 3cb4
+SkipMusic::
; Skip a frames of music.
.loop
and a
@@ -332,9 +304,8 @@ SkipMusic:: ; 3cb4
dec a
call UpdateSound
jr .loop
-; 3cbc
-FadeToMapMusic:: ; 3cbc
+FadeToMapMusic::
push hl
push de
push bc
@@ -360,9 +331,8 @@ FadeToMapMusic:: ; 3cbc
pop de
pop hl
ret
-; 3cdf
-PlayMapMusic:: ; 3cdf
+PlayMapMusic::
push hl
push de
push bc
@@ -388,9 +358,8 @@ PlayMapMusic:: ; 3cdf
pop de
pop hl
ret
-; 3d03
-EnterMapMusic:: ; 3d03
+EnterMapMusic::
push hl
push de
push bc
@@ -419,9 +388,8 @@ EnterMapMusic:: ; 3d03
pop de
pop hl
ret
-; 3d2f
-TryRestartMapMusic:: ; 3d2f
+TryRestartMapMusic::
ld a, [wDontPlayMapMusicOnReload]
and a
jr z, RestartMapMusic
@@ -433,9 +401,8 @@ TryRestartMapMusic:: ; 3d2f
xor a
ld [wDontPlayMapMusicOnReload], a
ret
-; 3d47
-RestartMapMusic:: ; 3d47
+RestartMapMusic::
push hl
push de
push bc
@@ -452,9 +419,8 @@ RestartMapMusic:: ; 3d47
pop de
pop hl
ret
-; 3d62
-SpecialMapMusic:: ; 3d62
+SpecialMapMusic::
ld a, [wPlayerState]
cp PLAYER_SURF
jr z, .surf
@@ -493,16 +459,14 @@ SpecialMapMusic:: ; 3d62
ld de, MUSIC_BUG_CATCHING_CONTEST_RANKING
scf
ret
-; 3d97
-GetMapMusic_MaybeSpecial:: ; 3d97
+GetMapMusic_MaybeSpecial::
call SpecialMapMusic
ret c
call GetMapMusic
ret
-; 3d9f
-Unreferenced_Function3d9f:: ; 3d9f
+Unreferenced_Function3d9f::
; Places a BCD number at the
; upper center of the screen.
ld a, 4 * TILE_WIDTH
@@ -536,20 +500,19 @@ Unreferenced_Function3d9f:: ; 3d9f
ld [wVirtualOAMSprite38TileID], a
ld [wVirtualOAMSprite39TileID], a
ret
-; 3dde
-CheckSFX:: ; 3dde
+CheckSFX::
; Return carry if any SFX channels are active.
- ld a, [wChannel5Flags]
+ ld a, [wChannel5Flags1]
bit 0, a
jr nz, .playing
- ld a, [wChannel6Flags]
+ ld a, [wChannel6Flags1]
bit 0, a
jr nz, .playing
- ld a, [wChannel7Flags]
+ ld a, [wChannel7Flags1]
bit 0, a
jr nz, .playing
- ld a, [wChannel8Flags]
+ ld a, [wChannel8Flags1]
bit 0, a
jr nz, .playing
and a
@@ -557,11 +520,10 @@ CheckSFX:: ; 3dde
.playing
scf
ret
-; 3dfe
-TerminateExpBarSound:: ; 3dfe
+TerminateExpBarSound::
xor a
- ld [wChannel5Flags], a
+ ld [wChannel5Flags1], a
ld [wSoundInput], a
ld [rNR10], a
ld [rNR11], a
@@ -569,27 +531,23 @@ TerminateExpBarSound:: ; 3dfe
ld [rNR13], a
ld [rNR14], a
ret
-; 3e10
-
-ChannelsOff:: ; 3e10
+ChannelsOff::
; Quickly turn off music channels
xor a
- ld [wChannel1Flags], a
- ld [wChannel2Flags], a
- ld [wChannel3Flags], a
- ld [wChannel4Flags], a
+ ld [wChannel1Flags1], a
+ ld [wChannel2Flags1], a
+ ld [wChannel3Flags1], a
+ ld [wChannel4Flags1], a
ld [wSoundInput], a
ret
-; 3e21
-SFXChannelsOff:: ; 3e21
+SFXChannelsOff::
; Quickly turn off sound effect channels
xor a
- ld [wChannel5Flags], a
- ld [wChannel6Flags], a
- ld [wChannel7Flags], a
- ld [wChannel8Flags], a
+ ld [wChannel5Flags1], a
+ ld [wChannel6Flags1], a
+ ld [wChannel7Flags1], a
+ ld [wChannel8Flags1], a
ld [wSoundInput], a
ret
-; 3e32
diff --git a/home/battle.asm b/home/battle.asm
index e59b1e3b4..e88adef02 100644
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -1,4 +1,4 @@
-UserPartyAttr:: ; 3945
+UserPartyAttr::
push af
ld a, [hBattleTurn]
and a
@@ -8,10 +8,8 @@ UserPartyAttr:: ; 3945
.ot
pop af
jr OTPartyAttr
-; 3951
-
-OpponentPartyAttr:: ; 3951
+OpponentPartyAttr::
push af
ld a, [hBattleTurn]
and a
@@ -21,10 +19,8 @@ OpponentPartyAttr:: ; 3951
.ot
pop af
jr OTPartyAttr
-; 395d
-
-BattlePartyAttr:: ; 395d
+BattlePartyAttr::
; Get attribute a from the party struct of the active battle mon.
push bc
ld c, a
@@ -35,10 +31,8 @@ BattlePartyAttr:: ; 395d
call GetPartyLocation
pop bc
ret
-; 396d
-
-OTPartyAttr:: ; 396d
+OTPartyAttr::
; Get attribute a from the party struct of the active enemy mon.
push bc
ld c, a
@@ -49,49 +43,41 @@ OTPartyAttr:: ; 396d
call GetPartyLocation
pop bc
ret
-; 397d
-
-ResetDamage:: ; 397d
+ResetDamage::
xor a
ld [wCurDamage], a
ld [wCurDamage + 1], a
ret
-; 3985
-SetPlayerTurn:: ; 3985
+SetPlayerTurn::
xor a
ld [hBattleTurn], a
ret
-; 3989
-SetEnemyTurn:: ; 3989
+SetEnemyTurn::
ld a, 1
ld [hBattleTurn], a
ret
-; 398e
-
-UpdateOpponentInParty:: ; 398e
+UpdateOpponentInParty::
ld a, [hBattleTurn]
and a
jr z, UpdateEnemyMonInParty
jr UpdateBattleMonInParty
-; 3995
-UpdateUserInParty:: ; 3995
+UpdateUserInParty::
ld a, [hBattleTurn]
and a
jr z, UpdateBattleMonInParty
jr UpdateEnemyMonInParty
-; 399c
-UpdateBattleMonInParty:: ; 399c
+UpdateBattleMonInParty::
; Update level, status, current HP
ld a, [wCurBattleMon]
-UpdateBattleMon:: ; 399f
+UpdateBattleMon::
ld hl, wPartyMon1Level
call GetPartyLocation
@@ -100,9 +86,8 @@ UpdateBattleMon:: ; 399f
ld hl, wBattleMonLevel
ld bc, wBattleMonMaxHP - wBattleMonLevel
jp CopyBytes
-; 39b0
-UpdateEnemyMonInParty:: ; 39b0
+UpdateEnemyMonInParty::
; Update level, status, current HP
; No wildmons.
@@ -119,27 +104,21 @@ UpdateEnemyMonInParty:: ; 39b0
ld hl, wEnemyMonLevel
ld bc, wEnemyMonMaxHP - wEnemyMonLevel
jp CopyBytes
-; 39c9
-
-RefreshBattleHuds:: ; 39c9
+RefreshBattleHuds::
call UpdateBattleHuds
ld c, 3
call DelayFrames
jp WaitBGMap
-; 39d4
-UpdateBattleHuds:: ; 39d4
+UpdateBattleHuds::
farcall UpdatePlayerHUD
farcall UpdateEnemyHUD
ret
-; 39e1
-
INCLUDE "home/battle_vars.asm"
-
-FarCopyRadioText:: ; 3a90
+FarCopyRadioText::
inc hl
ld a, [hROMBank]
push af
@@ -161,14 +140,8 @@ FarCopyRadioText:: ; 3a90
ld [hROMBank], a
ld [MBC3RomBank], a
ret
-; 3ab2
-
-
-MobileTextBorder:: ; 3ab2
-
-CELL_PHONE_TOP EQU $5e
-CELL_PHONE_BOTTOM EQU $5f
+MobileTextBorder::
; For mobile link battles only.
ld a, [wLinkMode]
cp LINK_MOBILE
@@ -177,14 +150,12 @@ CELL_PHONE_BOTTOM EQU $5f
; Draw a cell phone icon at the
; top right corner of the border.
hlcoord 19, 12
- ld [hl], CELL_PHONE_TOP
+ ld [hl], $5e ; top
hlcoord 19, 13
- ld [hl], CELL_PHONE_BOTTOM
+ ld [hl], $5f ; bottom
ret
-; 3ac3
-
-BattleTextBox:: ; 3ac3
+BattleTextBox::
; Open a textbox and print text at hl.
push hl
call SpeechTextBox
@@ -194,10 +165,8 @@ BattleTextBox:: ; 3ac3
pop hl
call PrintTextBoxText
ret
-; 3ad5
-
-StdBattleTextBox:: ; 3ad5
+StdBattleTextBox::
; Open a textbox and print battle text at 20:hl.
ld a, [hROMBank]
@@ -211,10 +180,8 @@ StdBattleTextBox:: ; 3ad5
pop af
rst Bankswitch
ret
-; 3ae1
-
-GetBattleAnimPointer:: ; 3ae1
+GetBattleAnimPointer::
ld a, BANK(BattleAnimations)
rst Bankswitch
@@ -227,10 +194,8 @@ GetBattleAnimPointer:: ; 3ae1
rst Bankswitch
ret
-; 3af0
-
-GetBattleAnimByte:: ; 3af0
+GetBattleAnimByte::
push hl
push de
@@ -258,4 +223,3 @@ GetBattleAnimByte:: ; 3af0
ld a, [wBattleAnimByte]
ret
-; 3b0c
diff --git a/home/battle_vars.asm b/home/battle_vars.asm
index c4a8dcd70..a455fce20 100644
--- a/home/battle_vars.asm
+++ b/home/battle_vars.asm
@@ -1,12 +1,11 @@
-GetBattleVar:: ; 39e1
+GetBattleVar::
; Preserves hl.
push hl
call GetBattleVarAddr
pop hl
ret
-; 39e7
-GetBattleVarAddr:: ; 39e7
+GetBattleVarAddr::
; Get variable from pair a, depending on whose turn it is.
; There are 21 variable pairs.
@@ -110,4 +109,3 @@ BattleVarLocations:
dw wCurPlayerMove, wCurEnemyMove
dw wLastPlayerCounterMove, wLastEnemyCounterMove
dw wLastPlayerMove, wLastEnemyMove
-; 3a90
diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm
index 8d64c6b10..699774612 100644
--- a/home/clear_sprites.asm
+++ b/home/clear_sprites.asm
@@ -1,4 +1,4 @@
-ClearSprites:: ; 300b
+ClearSprites::
; Erase OAM data
ld hl, wVirtualOAM
ld b, wVirtualOAMEnd - wVirtualOAM
@@ -8,9 +8,8 @@ ClearSprites:: ; 300b
dec b
jr nz, .loop
ret
-; 3016
-HideSprites:: ; 3016
+HideSprites::
; Set all OAM y-positions to 160 to hide them offscreen
ld hl, wVirtualOAMSprite00YCoord
ld de, SPRITEOAMSTRUCT_LENGTH
@@ -22,4 +21,3 @@ HideSprites:: ; 3016
dec b
jr nz, .loop
ret
-; 3026
diff --git a/home/copy.asm b/home/copy.asm
index 9bd79ce37..68ed240e3 100644
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -1,7 +1,6 @@
; Functions to copy data from ROM.
-
-Get2bpp_2:: ; dc9
+Get2bpp_2::
ld a, [rLCDC]
bit rLCDC_ENABLE, a
jp z, Copy2bpp
@@ -9,9 +8,8 @@ Get2bpp_2:: ; dc9
homecall _Get2bpp
ret
-; ddc
-Get1bpp_2:: ; ddc
+Get1bpp_2::
ld a, [rLCDC]
bit rLCDC_ENABLE, a
jp z, Copy1bpp
@@ -19,9 +17,8 @@ Get1bpp_2:: ; ddc
homecall _Get1bpp
ret
-; def
-FarCopyBytesDouble_DoubleBankSwitch:: ; def
+FarCopyBytesDouble_DoubleBankSwitch::
ld [hBuffer], a
ld a, [hROMBank]
push af
@@ -33,9 +30,8 @@ FarCopyBytesDouble_DoubleBankSwitch:: ; def
pop af
rst Bankswitch
ret
-; dfd
-OldDMATransfer:: ; dfd
+OldDMATransfer::
dec c
ld a, [hBGMapMode]
push af
@@ -96,41 +92,29 @@ OldDMATransfer:: ; dfd
pop af
ld [hBGMapMode], a
ret
-; e4a
-
-
-ReplaceKrisSprite:: ; e4a
+ReplaceKrisSprite::
farcall _ReplaceKrisSprite
ret
-; e51
-
-
-LoadStandardFont:: ; e51
+LoadStandardFont::
farcall _LoadStandardFont
ret
-; e58
-LoadFontsBattleExtra:: ; e58
+LoadFontsBattleExtra::
farcall _LoadFontsBattleExtra
ret
-; e5f
-
-
-LoadFontsExtra:: ; e5f
+LoadFontsExtra::
farcall _LoadFontsExtra1
farcall _LoadFontsExtra2
ret
-; e6c
-LoadFontsExtra2:: ; e6c
+LoadFontsExtra2::
farcall _LoadFontsExtra2
ret
-; e73
-DecompressRequest2bpp:: ; e73
+DecompressRequest2bpp::
push de
ld a, BANK(sScratch)
call GetSRAMBank
@@ -147,11 +131,8 @@ DecompressRequest2bpp:: ; e73
call Request2bpp
call CloseSRAM
ret
-; e8d
-
-
-FarCopyBytes:: ; e8d
+FarCopyBytes::
; copy bc bytes from a:hl to de
ld [hBuffer], a
@@ -165,10 +146,8 @@ FarCopyBytes:: ; e8d
pop af
rst Bankswitch
ret
-; 0xe9b
-
-FarCopyBytesDouble:: ; e9b
+FarCopyBytesDouble::
; Copy bc bytes from a:hl to bc*2 bytes at de,
; doubling each byte in the process.
@@ -204,10 +183,8 @@ FarCopyBytesDouble:: ; e9b
pop af
rst Bankswitch
ret
-; 0xeba
-
-Request2bpp:: ; eba
+Request2bpp::
; Load 2bpp at b:de to occupy c tiles of hl.
ld a, [hBGMapMode]
push af
@@ -280,10 +257,8 @@ Request2bpp:: ; eba
sub [hl]
ld c, a
jr .loop
-; f1e
-
-Request1bpp:: ; f1e
+Request1bpp::
; Load 1bpp at b:de to occupy c tiles of hl.
ld a, [hBGMapMode]
push af
@@ -356,15 +331,13 @@ Request1bpp:: ; f1e
sub [hl]
ld c, a
jr .loop
-; f82
-
-Get2bpp:: ; f82
+Get2bpp::
ld a, [rLCDC]
bit rLCDC_ENABLE, a
jp nz, Request2bpp
-Copy2bpp:: ; f89
+Copy2bpp::
; copy c 2bpp tiles from b:de to hl
push hl
@@ -387,15 +360,13 @@ Copy2bpp:: ; f89
pop af
jp FarCopyBytes
-; f9d
-
-Get1bpp:: ; f9d
+Get1bpp::
ld a, [rLCDC]
bit rLCDC_ENABLE, a
jp nz, Request1bpp
-Copy1bpp:: ; fa4
+Copy1bpp::
; copy c 1bpp tiles from b:de to hl
push de
@@ -418,4 +389,3 @@ Copy1bpp:: ; fa4
pop hl
jp FarCopyBytesDouble
-; fb6
diff --git a/home/copy2.asm b/home/copy2.asm
index 23e1eca7f..fdf55b2e3 100644
--- a/home/copy2.asm
+++ b/home/copy2.asm
@@ -1,7 +1,7 @@
-CopyBytes:: ; 0x3026
+CopyBytes::
; copy bc bytes from hl to de
- inc b ; we bail the moment b hits 0, so include the last run
- inc c ; same thing; include last byte
+ inc b ; we bail the moment b hits 0, so include the last run
+ inc c ; same thing; include last byte
jr .HandleLoop
.CopyByte:
ld a, [hli]
@@ -14,7 +14,7 @@ CopyBytes:: ; 0x3026
jr nz, .CopyByte
ret
-SwapBytes:: ; 0x3034
+SwapBytes::
; swap bc bytes between hl and de
.Loop:
; stash [hl] away on the stack
@@ -37,10 +37,10 @@ SwapBytes:: ; 0x3034
jr nz, .Loop
ret
-ByteFill:: ; 0x3041
+ByteFill::
; fill bc bytes with the value of a, starting at hl
- inc b ; we bail the moment b hits 0, so include the last run
- inc c ; same thing; include last byte
+ inc b ; we bail the moment b hits 0, so include the last run
+ inc c ; same thing; include last byte
jr .HandleLoop
.PutByte:
ld [hli], a
@@ -51,7 +51,7 @@ ByteFill:: ; 0x3041
jr nz, .PutByte
ret
-GetFarByte:: ; 0x304d
+GetFarByte::
; retrieve a single byte from a:hl, and return it in a.
; bankswitch to new bank
ld [hBuffer], a
@@ -72,7 +72,7 @@ GetFarByte:: ; 0x304d
ld a, [hBuffer]
ret
-GetFarHalfword:: ; 0x305d
+GetFarHalfword::
; retrieve a halfword from a:hl, and return it in hl.
; bankswitch to new bank
ld [hBuffer], a
@@ -90,9 +90,8 @@ GetFarHalfword:: ; 0x305d
pop af
rst Bankswitch
ret
-; 0x306b
-FarCopyWRAM:: ; 306b
+FarCopyWRAM::
ld [hBuffer], a
ld a, [rSVBK]
push af
@@ -104,9 +103,8 @@ FarCopyWRAM:: ; 306b
pop af
ld [rSVBK], a
ret
-; 307b
-GetFarWRAMByte:: ; 307b
+GetFarWRAMByte::
ld [hBuffer], a
ld a, [rSVBK]
push af
@@ -118,9 +116,8 @@ GetFarWRAMByte:: ; 307b
ld [rSVBK], a
ld a, [hBuffer]
ret
-; 308d
-GetFarWRAMWord:: ; 308d
+GetFarWRAMWord::
ld [hBuffer], a
ld a, [rSVBK]
push af
@@ -132,4 +129,3 @@ GetFarWRAMWord:: ; 308d
pop af
ld [rSVBK], a
ret
-; 309d
diff --git a/home/copy_name.asm b/home/copy_name.asm
index 52bcc93e7..59c8cf6c8 100644
--- a/home/copy_name.asm
+++ b/home/copy_name.asm
@@ -1,8 +1,8 @@
-CopyName1:: ; 30d6
+CopyName1::
; Copies the name from de to wStringBuffer2
ld hl, wStringBuffer2
-CopyName2:: ; 30d9
+CopyName2::
; Copies the name from de to hl
.loop
ld a, [de]
@@ -11,4 +11,3 @@ CopyName2:: ; 30d9
cp "@"
jr nz, .loop
ret
-; 30e1
diff --git a/home/copy_tilemap.asm b/home/copy_tilemap.asm
index f6ddeff47..2c6c47244 100644
--- a/home/copy_tilemap.asm
+++ b/home/copy_tilemap.asm
@@ -1,4 +1,4 @@
-LoadTileMapToTempTileMap:: ; 309d
+LoadTileMapToTempTileMap::
; Load wTileMap into wTempTileMap
ld a, [rSVBK]
push af
@@ -11,18 +11,16 @@ LoadTileMapToTempTileMap:: ; 309d
pop af
ld [rSVBK], a
ret
-; 30b4
-Call_LoadTempTileMapToTileMap:: ; 30b4
+Call_LoadTempTileMapToTileMap::
xor a
ld [hBGMapMode], a
call LoadTempTileMapToTileMap
ld a, 1
ld [hBGMapMode], a
ret
-; 30bf
-LoadTempTileMapToTileMap:: ; 30bf
+LoadTempTileMapToTileMap::
; Load wTempTileMap into wTileMap
ld a, [rSVBK]
push af
@@ -35,4 +33,3 @@ LoadTempTileMapToTileMap:: ; 30bf
pop af
ld [rSVBK], a
ret
-; 30d6
diff --git a/home/cry.asm b/home/cry.asm
index c5f4a1c8a..43f20b1af 100644
--- a/home/cry.asm
+++ b/home/cry.asm
@@ -1,4 +1,4 @@
-PlayStereoCry:: ; 37b6
+PlayStereoCry::
push af
ld a, 1
ld [wStereoPanningMask], a
@@ -6,9 +6,8 @@ PlayStereoCry:: ; 37b6
call _PlayMonCry
call WaitSFX
ret
-; 37c4
-PlayStereoCry2:: ; 37c4
+PlayStereoCry2::
; Don't wait for the cry to end.
; Used during pic animations.
push af
@@ -16,15 +15,13 @@ PlayStereoCry2:: ; 37c4
ld [wStereoPanningMask], a
pop af
jp _PlayMonCry
-; 37ce
-PlayMonCry:: ; 37ce
+PlayMonCry::
call PlayMonCry2
call WaitSFX
ret
-; 37d5
-PlayMonCry2:: ; 37d5
+PlayMonCry2::
; Don't wait for the cry to end.
push af
xor a
@@ -33,9 +30,8 @@ PlayMonCry2:: ; 37d5
pop af
call _PlayMonCry
ret
-; 37e2
-_PlayMonCry:: ; 37e2
+_PlayMonCry::
push hl
push de
push bc
@@ -52,9 +48,8 @@ _PlayMonCry:: ; 37e2
pop de
pop hl
ret
-; 37f3
-LoadCry:: ; 37f3
+LoadCry::
; Load cry bc.
call GetCryIndex
@@ -88,9 +83,8 @@ endr
rst Bankswitch
and a
ret
-; 381e
-GetCryIndex:: ; 381e
+GetCryIndex::
and a
jr z, .no
cp NUM_POKEMON + 1
@@ -105,4 +99,3 @@ GetCryIndex:: ; 381e
.no
scf
ret
-; 382d
diff --git a/home/decompress.asm b/home/decompress.asm
index 216b861f6..d4bab7a6a 100644
--- a/home/decompress.asm
+++ b/home/decompress.asm
@@ -1,4 +1,4 @@
-FarDecompress:: ; b40
+FarDecompress::
; Decompress graphics data from a:hl to de.
ld [wLZBank], a
@@ -12,19 +12,15 @@ FarDecompress:: ; b40
pop af
rst Bankswitch
ret
-; b50
-
-Decompress:: ; b50
+Decompress::
; Pokemon Crystal uses an lz variant for compression.
; This is mainly (but not necessarily) used for graphics.
; This function decompresses lz-compressed data from hl to de.
-
LZ_END EQU $ff ; Compressed data is terminated with $ff.
-
; A typical control command consists of:
LZ_CMD EQU %11100000 ; command id (bits 5-7)
@@ -32,7 +28,6 @@ LZ_LEN EQU %00011111 ; length n (bits 0-4)
; Additional parameters are read during command execution.
-
; Commands:
LZ_LITERAL EQU 0 << 5 ; Read literal data for n bytes.
@@ -40,7 +35,6 @@ LZ_ITERATE EQU 1 << 5 ; Write the same byte for n bytes.
LZ_ALTERNATE EQU 2 << 5 ; Alternate two bytes for n bytes.
LZ_ZERO EQU 3 << 5 ; Write 0 for n bytes.
-
; Another class of commands reuses data from the decompressed output.
LZ_RW EQU 2 + 5 ; bit
@@ -53,7 +47,6 @@ LZ_REPEAT EQU 4 << 5 ; Repeat n bytes from the offset.
LZ_FLIP EQU 5 << 5 ; Repeat n bitflipped bytes.
LZ_REVERSE EQU 6 << 5 ; Repeat n bytes in reverse.
-
; If the value in the count needs to be larger than 5 bits,
; LZ_LONG can be used to expand the count to 10 bits.
LZ_LONG EQU 7 << 5
@@ -68,10 +61,8 @@ LZ_LONG_HI EQU %00000011
; x: the new control command
; y: the length
-
; For more information, refer to the code below and in extras/gfx.py.
-
; Save the output address
; for rewrite commands.
ld a, e
@@ -113,7 +104,6 @@ LZ_LONG_HI EQU %00000011
inc bc
jr .command
-
.short
push af
@@ -125,7 +115,6 @@ LZ_LONG_HI EQU %00000011
; read at least 1 byte
inc c
-
.command
; Increment loop counts.
; We bail the moment they hit 0.
@@ -144,7 +133,6 @@ LZ_LONG_HI EQU %00000011
cp LZ_ZERO
jr z, .Zero
-
.Literal:
; Read literal data for bc bytes.
.lloop
@@ -159,7 +147,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .lloop
-
.Iter:
; Write the same byte for bc bytes.
ld a, [hli]
@@ -175,7 +162,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .iloop
-
.Alt:
; Alternate two bytes for bc bytes.
dec c
@@ -205,7 +191,6 @@ LZ_LONG_HI EQU %00000011
inc hl
jr .Main
-
.Zero:
; Write 0 for bc bytes.
xor a
@@ -221,7 +206,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .zloop
-
.rewrite
; Repeat decompressed data from output.
push hl
@@ -275,7 +259,6 @@ LZ_LONG_HI EQU %00000011
; More practically, LZ_LONG is not recursive.
; For now, it defaults to LZ_REPEAT.
-
.Repeat:
; Copy decompressed data for bc bytes.
dec c
@@ -289,7 +272,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .Repeat
-
.Flip:
; Copy bitflipped decompressed data for bc bytes.
dec c
@@ -315,7 +297,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .Flip
-
.Reverse:
; Copy reversed decompressed data for bc bytes.
dec c
@@ -330,7 +311,6 @@ LZ_LONG_HI EQU %00000011
inc de
jr .Reverse
-
.donerw
pop hl
@@ -340,4 +320,3 @@ LZ_LONG_HI EQU %00000011
.next
inc hl
jp .Main
-; c2f
diff --git a/home/delay.asm b/home/delay.asm
index 300f65c88..4ad25ef21 100644
--- a/home/delay.asm
+++ b/home/delay.asm
@@ -1,4 +1,4 @@
-DelayFrame:: ; 45a
+DelayFrame::
; Wait for one frame
ld a, 1
ld [wVBlankOccurred], a
@@ -10,13 +10,10 @@ DelayFrame:: ; 45a
and a
jr nz, .halt
ret
-; 468
-
-DelayFrames:: ; 468
+DelayFrames::
; Wait c frames
call DelayFrame
dec c
jr nz, DelayFrames
ret
-; 46f
diff --git a/home/double_speed.asm b/home/double_speed.asm
index c07dc9cee..de075e65e 100644
--- a/home/double_speed.asm
+++ b/home/double_speed.asm
@@ -5,20 +5,18 @@
; and double speed at any time, but LCD output
; collapses during the switch.
-DoubleSpeed:: ; 2fef
+DoubleSpeed::
ld hl, rKEY1
bit 7, [hl]
jr z, SwitchSpeed
ret
-; 2ff7
-NormalSpeed:: ; 2ff7
+NormalSpeed::
ld hl, rKEY1
bit 7, [hl]
ret z
-; 2ffd
-SwitchSpeed:: ; 2ffd
+SwitchSpeed::
set 0, [hl]
xor a
ld [rIF], a
@@ -27,4 +25,3 @@ SwitchSpeed:: ; 2ffd
ld [rJOYP], a
stop ; rgbasm adds a nop after this instruction by default
ret
-; 300b
diff --git a/home/fade.asm b/home/fade.asm
index 1a6f87c63..56f0197e6 100644
--- a/home/fade.asm
+++ b/home/fade.asm
@@ -1,7 +1,6 @@
; Functions to fade the screen in and out.
-
-Unreferenced_Function48c:: ; 48c
+Unreferenced_Function48c::
; TimeOfDayFade
ld a, [wTimeOfDayPal]
ld b, a
@@ -20,10 +19,8 @@ Unreferenced_Function48c:: ; 48c
ld a, [hli]
ld [rOBP1], a
ret
-; 4a3
-
-RotateFourPalettesRight:: ; 4a3
+RotateFourPalettesRight::
ld a, [hCGB]
and a
jr z, .dmg
@@ -35,9 +32,8 @@ RotateFourPalettesRight:: ; 4a3
ld hl, IncGradGBPalTable_08
ld b, 4
jr RotatePalettesRight
-; 4b6
-RotateThreePalettesRight:: ; 4b6
+RotateThreePalettesRight::
ld a, [hCGB]
and a
jr z, .dmg
@@ -48,7 +44,7 @@ RotateThreePalettesRight:: ; 4b6
.dmg
ld hl, IncGradGBPalTable_13
ld b, 3
-RotatePalettesRight:: ; 4c7
+RotatePalettesRight::
; Rotate palettes to the right and fill with loaded colors from the left
; If we're already at the leftmost color, fill with the leftmost color
push de
@@ -65,9 +61,8 @@ RotatePalettesRight:: ; 4c7
dec b
jr nz, RotatePalettesRight
ret
-; 4dd
-RotateFourPalettesLeft:: ; 4dd
+RotateFourPalettesLeft::
ld a, [hCGB]
and a
jr z, .dmg
@@ -79,9 +74,8 @@ RotateFourPalettesLeft:: ; 4dd
ld hl, IncGradGBPalTable_12 - 1
ld b, 4
jr RotatePalettesLeft
-; 4f0
-RotateThreePalettesLeft:: ; 4f0
+RotateThreePalettesLeft::
ld a, [hCGB]
and a
jr z, .dmg
@@ -92,7 +86,7 @@ RotateThreePalettesLeft:: ; 4f0
.dmg
ld hl, IncGradGBPalTable_15 - 1
ld b, 3
-RotatePalettesLeft:: ; 501
+RotatePalettesLeft::
; Rotate palettes to the left and fill with loaded colors from the right
; If we're already at the rightmost color, fill with the rightmost color
push de
@@ -109,10 +103,7 @@ RotatePalettesLeft:: ; 501
dec b
jr nz, RotatePalettesLeft
ret
-; 517
-
-; 517
IncGradGBPalTable_00:: db %11111111, %11111111, %11111111
IncGradGBPalTable_01:: db %11111110, %11111110, %11111110
IncGradGBPalTable_02:: db %11111001, %11111001, %11111001
@@ -134,4 +125,3 @@ IncGradGBPalTable_13:: db %10010000, %10000000, %10010000
IncGradGBPalTable_14:: db %01000000, %01000000, %01000000
IncGradGBPalTable_15:: db %00000000, %00000000, %00000000
-; 547
diff --git a/home/farcall.asm b/home/farcall.asm
index 27649f30e..cb87b1774 100644
--- a/home/farcall.asm
+++ b/home/farcall.asm
@@ -1,4 +1,4 @@
-FarCall_de:: ; 2d54
+FarCall_de::
; Call a:de.
; Preserves other registers.
@@ -13,10 +13,8 @@ FarCall_de:: ; 2d54
.de
push de
ret
-; 2d63
-
-FarCall_hl:: ; 2d63
+FarCall_hl::
; Call a:hl.
; Preserves other registers.
@@ -26,9 +24,8 @@ FarCall_hl:: ; 2d63
ld a, [hBuffer]
rst Bankswitch
call FarJump_hl
-; 2d6e
-ReturnFarCall:: ; 2d6e
+ReturnFarCall::
; We want to retain the contents of f.
; To do this, we can pop to bc instead of af.
@@ -47,8 +44,6 @@ ReturnFarCall:: ; 2d6e
ld a, [wFarCallBCBuffer + 1]
ld c, a
ret
-; 2d82
-FarJump_hl:: ; 2d82
+FarJump_hl::
jp hl
-; 2d83
diff --git a/home/flag.asm b/home/flag.asm
index 00c7d4b7e..411f04184 100644
--- a/home/flag.asm
+++ b/home/flag.asm
@@ -1,19 +1,17 @@
-ResetMapBufferEventFlags:: ; 2e50
+ResetMapBufferEventFlags::
xor a
ld hl, wEventFlags
ld [hli], a
ret
-; 2e56
-ResetBikeFlags:: ; 2e56
+ResetBikeFlags::
xor a
ld hl, wBikeFlags
ld [hli], a
ld [hl], a
ret
-; 2e5d
-ResetFlashIfOutOfCave:: ; 2e5d
+ResetFlashIfOutOfCave::
ld a, [wEnvironment]
cp ROUTE
jr z, .outdoors
@@ -25,15 +23,13 @@ ResetFlashIfOutOfCave:: ; 2e5d
ld hl, wStatusFlags
res STATUSFLAGS_FLASH_F, [hl]
ret
-; 2e6f
-
-EventFlagAction:: ; 0x2e6f
+EventFlagAction::
ld hl, wEventFlags
call FlagAction
ret
-FlagAction:: ; 0x2e76
+FlagAction::
; Perform action b on bit de in flag array hl.
; inputs:
@@ -99,14 +95,11 @@ FlagAction:: ; 0x2e76
and [hl]
ld [hl], a
ret
-; 0x2ead
-
-CheckReceivedDex:: ; 2ead
+CheckReceivedDex::
ld de, ENGINE_POKEDEX
ld b, CHECK_FLAG
farcall EngineFlagAction
ld a, c
and a
ret
-; 2ebb
diff --git a/home/game_time.asm b/home/game_time.asm
index f80d9a462..0300db73d 100644
--- a/home/game_time.asm
+++ b/home/game_time.asm
@@ -1,4 +1,4 @@
-ResetGameTime:: ; 208a
+ResetGameTime::
xor a
ld [wGameTimeCap], a
ld [wGameTimeHours], a
@@ -7,11 +7,8 @@ ResetGameTime:: ; 208a
ld [wGameTimeSeconds], a
ld [wGameTimeFrames], a
ret
-; 209e
-
-
-GameTimer:: ; 209e
+GameTimer::
nop
ld a, [rSVBK]
@@ -24,14 +21,11 @@ GameTimer:: ; 209e
pop af
ld [rSVBK], a
ret
-; 20ad
-
-UpdateGameTimer:: ; 20ad
+UpdateGameTimer::
; Increment the game timer by one frame.
; The game timer is capped at 999:59:59.00.
-
; Don't update if game logic is paused.
ld a, [wGameLogicPaused]
and a
@@ -47,7 +41,6 @@ UpdateGameTimer:: ; 20ad
bit 0, [hl]
ret nz
-
; +1 frame
ld hl, wGameTimeFrames
ld a, [hl]
@@ -59,7 +52,6 @@ UpdateGameTimer:: ; 20ad
ld [hl], a
ret
-
.second
xor a
ld [hl], a
@@ -75,7 +67,6 @@ UpdateGameTimer:: ; 20ad
ld [hl], a
ret
-
.minute
xor a
ld [hl], a
@@ -91,7 +82,6 @@ UpdateGameTimer:: ; 20ad
ld [hl], a
ret
-
.hour
xor a
ld [hl], a
@@ -103,7 +93,6 @@ UpdateGameTimer:: ; 20ad
ld l, a
inc hl
-
; Cap the timer after 1000 hours.
ld a, h
cp HIGH(1000)
@@ -121,11 +110,9 @@ UpdateGameTimer:: ; 20ad
ld [wGameTimeSeconds], a
ret
-
.ok
ld a, h
ld [wGameTimeHours], a
ld a, l
ld [wGameTimeHours + 1], a
ret
-; 210f
diff --git a/home/handshake.asm b/home/handshake.asm
index 14daf08a7..1d3f43d6a 100644
--- a/home/handshake.asm
+++ b/home/handshake.asm
@@ -1,10 +1,9 @@
-PrinterReceive:: ; 2057
+PrinterReceive::
homecall _PrinterReceive
ret
-; 2063
-AskSerial:: ; 2063
+AskSerial::
; send out a handshake while serial int is off
ld a, [wPrinterConnectionOpen]
bit 0, a
@@ -41,4 +40,3 @@ AskSerial:: ; 2063
ld [rSC], a
ret
-; 208a
diff --git a/home/hm_moves.asm b/home/hm_moves.asm
index c4233d094..30a9786a9 100644
--- a/home/hm_moves.asm
+++ b/home/hm_moves.asm
@@ -1,6 +1,6 @@
; HM moves can't be forgotten
-IsHM:: ; 34df
+IsHM::
cp HM01
jr c, .NotHM
scf
@@ -8,14 +8,13 @@ IsHM:: ; 34df
.NotHM:
and a
ret
-; 34e7
-IsHMMove:: ; 34e7
+IsHMMove::
ld hl, .HMMoves
ld de, 1
jp IsInArray
-.HMMoves: ; 34f0
+.HMMoves:
db CUT
db FLY
db SURF
@@ -24,4 +23,3 @@ IsHMMove:: ; 34e7
db WATERFALL
db WHIRLPOOL
db -1 ; end
-; 34f8
diff --git a/home/hp_pals.asm b/home/hp_pals.asm
new file mode 100644
index 000000000..9400d341f
--- /dev/null
+++ b/home/hp_pals.asm
@@ -0,0 +1,17 @@
+SetHPPal::
+; Set palette for hp bar pixel length e at hl.
+ call GetHPPal
+ ld [hl], d
+ ret
+
+GetHPPal::
+; Get palette for hp bar pixel length e in d.
+ ld d, HP_GREEN
+ ld a, e
+ cp (HP_BAR_LENGTH_PX * 50 / 100) ; 24
+ ret nc
+ inc d ; HP_YELLOW
+ cp (HP_BAR_LENGTH_PX * 21 / 100) ; 10
+ ret nc
+ inc d ; HP_RED
+ ret
diff --git a/home/init.asm b/home/init.asm
index ec541ad16..dc1f538be 100644
--- a/home/init.asm
+++ b/home/init.asm
@@ -1,4 +1,4 @@
-Reset:: ; 150
+Reset::
di
call MapSetup_Sound_Off
xor a
@@ -17,10 +17,8 @@ Reset:: ; 150
call DelayFrames
jr Init
-; 16e
-
-_Start:: ; 16e
+_Start::
cp $11
jr z, .cgb
xor a
@@ -33,11 +31,8 @@ _Start:: ; 16e
ld [hCGB], a
ld a, $1
ld [hSystemBooted], a
-; 17d
-
-
-Init:: ; 17d
+Init::
di
xor a
@@ -102,7 +97,6 @@ Init:: ; 17d
call ClearSprites
call ClearsScratch
-
ld a, BANK(WriteOAMDMACodeToHRAM)
rst Bankswitch
@@ -172,10 +166,8 @@ Init:: ; 17d
xor a
ld [wMapMusic], a
jp GameInit
-; 245
-
-ClearVRAM:: ; 245
+ClearVRAM::
; Wipe VRAM banks 0 and 1
ld a, 1
@@ -190,9 +182,8 @@ ClearVRAM:: ; 245
xor a
call ByteFill
ret
-; 25a
-ClearWRAM:: ; 25a
+ClearWRAM::
; Wipe swappable WRAM banks (1-7)
; Assumes CGB or AGB
@@ -209,9 +200,8 @@ ClearWRAM:: ; 25a
cp 8
jr nc, .bank_loop ; Should be jr c
ret
-; 270
-ClearsScratch:: ; 270
+ClearsScratch::
; Wipe the first 32 bytes of sScratch
ld a, BANK(sScratch)
@@ -222,4 +212,3 @@ ClearsScratch:: ; 270
call ByteFill
call CloseSRAM
ret
-; 283
diff --git a/home/item.asm b/home/item.asm
index 2f550a200..282157e55 100644
--- a/home/item.asm
+++ b/home/item.asm
@@ -1,9 +1,8 @@
-DoItemEffect:: ; 2f3f
+DoItemEffect::
farcall _DoItemEffect
ret
-; 2f46
-CheckTossableItem:: ; 2f46
+CheckTossableItem::
push hl
push de
push bc
@@ -12,9 +11,8 @@ CheckTossableItem:: ; 2f46
pop de
pop hl
ret
-; 2f53
-TossItem:: ; 2f53
+TossItem::
push hl
push de
push bc
@@ -32,9 +30,8 @@ TossItem:: ; 2f53
pop de
pop hl
ret
-; 2f66
-ReceiveItem:: ; 2f66
+ReceiveItem::
push bc
ld a, [hROMBank]
push af
@@ -52,9 +49,8 @@ ReceiveItem:: ; 2f66
rst Bankswitch
pop bc
ret
-; 2f79
-CheckItem:: ; 2f79
+CheckItem::
push hl
push de
push bc
@@ -72,4 +68,3 @@ CheckItem:: ; 2f79
pop de
pop hl
ret
-; 2f8c
diff --git a/home/joypad.asm b/home/joypad.asm
index f46ab5c98..87fc60d7e 100644
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -1,21 +1,19 @@
-JoypadInt:: ; 92e
+JoypadInt::
; Replaced by Joypad, called from VBlank instead of the useless
; joypad interrupt.
; This is a placeholder in case the interrupt is somehow enabled.
reti
-; 92f
-ClearJoypad:: ; 92f
+ClearJoypad::
xor a
; Pressed this frame (delta)
ld [hJoyPressed], a
; Currently pressed
ld [hJoyDown], a
ret
-; 935
-Joypad:: ; 935
+Joypad::
; Read the joypad register and translate it to something more
; workable for use in-game. There are 8 buttons, so we can use
; one byte to contain all player input.
@@ -103,10 +101,8 @@ endr
jp z, Reset
ret
-; 984
-
-GetJoypad:: ; 984
+GetJoypad::
; Update mirror joypad input from hJoypadDown (real input)
; hJoyReleased: released this frame (delta)
@@ -193,7 +189,6 @@ GetJoypad:: ; 984
rst Bankswitch
jr .quit
-
.updateauto
; An input of $ff will end the stream.
ld a, [hli]
@@ -232,10 +227,8 @@ GetJoypad:: ; 984
ld [hJoyPressed], a ; pressed
ld [hJoyDown], a ; input
jr .quit
-; 9ee
-
-StartAutoInput:: ; 9ee
+StartAutoInput::
; Start reading automated input stream at a:hl.
ld [wAutoInputBank], a
@@ -255,10 +248,8 @@ StartAutoInput:: ; 9ee
ld a, AUTO_INPUT
ld [wInputType], a
ret
-; a0a
-
-StopAutoInput:: ; a0a
+StopAutoInput::
; Clear variables related to automated input.
xor a
ld [wAutoInputBank], a
@@ -268,10 +259,8 @@ StopAutoInput:: ; a0a
; Back to normal input.
ld [wInputType], a
ret
-; a1b
-
-JoyTitleScreenInput:: ; a1b
+JoyTitleScreenInput::
.loop
call DelayFrame
@@ -297,10 +286,8 @@ JoyTitleScreenInput:: ; a1b
.keycombo
scf
ret
-; a36
-
-JoyWaitAorB:: ; a36
+JoyWaitAorB::
.loop
call DelayFrame
call GetJoypad
@@ -309,9 +296,8 @@ JoyWaitAorB:: ; a36
ret nz
call RTC
jr .loop
-; a46
-WaitButton:: ; a46
+WaitButton::
ld a, [hOAMUpdate]
push af
ld a, 1
@@ -321,9 +307,8 @@ WaitButton:: ; a46
pop af
ld [hOAMUpdate], a
ret
-; a57
-JoyTextDelay:: ; a57
+JoyTextDelay::
call GetJoypad
ld a, [hInMenu]
and a
@@ -351,9 +336,8 @@ JoyTextDelay:: ; a57
ld a, 5
ld [wTextDelayFrames], a
ret
-; a80
-WaitPressAorB_BlinkCursor:: ; a80
+WaitPressAorB_BlinkCursor::
ld a, [hMapObjectIndexBuffer]
push af
ld a, [hObjectStructIndexBuffer]
@@ -379,18 +363,16 @@ WaitPressAorB_BlinkCursor:: ; a80
pop af
ld [hMapObjectIndexBuffer], a
ret
-; aa5
-SimpleWaitPressAorB:: ; aa5
+SimpleWaitPressAorB::
.loop
call JoyTextDelay
ld a, [hJoyLast]
and A_BUTTON | B_BUTTON
jr z, .loop
ret
-; aaf
-ButtonSound:: ; aaf
+ButtonSound::
ld a, [wLinkMode]
and a
jr nz, .link
@@ -404,9 +386,8 @@ ButtonSound:: ; aaf
.link
ld c, 65
jp DelayFrames
-; ac6
-.wait_input ; ac6
+.wait_input
ld a, [hOAMUpdate]
push af
ld a, $1
@@ -432,9 +413,8 @@ ButtonSound:: ; aaf
pop af
ld [hOAMUpdate], a
ret
-; af5
-.blink_cursor ; af5
+.blink_cursor
ld a, [hVBlankCounter]
and %00010000 ; bit 4, a
jr z, .cursor_off
@@ -447,9 +427,8 @@ ButtonSound:: ; aaf
.load_cursor_state
ldcoord_a 18, 17
ret
-; b06
-BlinkCursor:: ; b06
+BlinkCursor::
push bc
ld a, [hl]
ld b, a
@@ -491,4 +470,3 @@ BlinkCursor:: ; b06
ld a, "▼"
ld [hl], a
ret
-; b40
diff --git a/home/lcd.asm b/home/lcd.asm
index 3899f0816..7ea53d453 100644
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -1,7 +1,6 @@
; LCD handling
-
-Unreferenced_Function547:: ; 547
+Unreferenced_Function547::
ld a, [hLCDCPointer]
cp rSCX - $ff00
ret nz
@@ -9,10 +8,8 @@ Unreferenced_Function547:: ; 547
ld a, [wLYOverrides]
ld [$ff00+c], a
ret
-; 552
-
-LCD:: ; 552
+LCD::
push af
ld a, [hLCDCPointer]
and a
@@ -34,10 +31,8 @@ LCD:: ; 552
.done
pop af
reti
-; 568
-
-DisableLCD:: ; 568
+DisableLCD::
; Turn the LCD off
; Don't need to do anything if the LCD is already off
@@ -69,12 +64,9 @@ DisableLCD:: ; 568
ld a, b
ld [rIE], a
ret
-; 58a
-
-EnableLCD:: ; 58a
+EnableLCD::
ld a, [rLCDC]
set rLCDC_ENABLE, a
ld [rLCDC], a
ret
-; 591
diff --git a/home/map.asm b/home/map.asm
index 02b25f3c6..a38b791fb 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -1,14 +1,13 @@
; Functions dealing with rendering and interacting with maps.
-Clearwc7e8:: ; 210f
+Clearwc7e8::
ld hl, wc7e8
ld bc, wc7e8_End - wc7e8
ld a, 0
call ByteFill
ret
-; 211b
-CheckScenes:: ; 211b
+CheckScenes::
; Checks wCurrMapSceneScriptPointer. If it's empty, returns -1 in a. Otherwise, returns the active scene ID in a.
push hl
ld hl, wCurrMapSceneScriptPointer
@@ -23,9 +22,8 @@ CheckScenes:: ; 211b
.scene_exists
pop hl
ret
-; 212a
-GetCurrentMapSceneID:: ; 212a
+GetCurrentMapSceneID::
; Grabs the wram map scene script pointer for the current map and loads it into wCurrMapSceneScriptPointer.
; If there is no scene, both bytes of wCurrMapSceneScriptPointer are wiped clean.
; Copy the current map group and number into bc. This is needed for GetMapSceneID.
@@ -46,9 +44,8 @@ GetCurrentMapSceneID:: ; 212a
ld [wCurrMapSceneScriptPointer + 1], a
xor a
ret
-; 2147
-GetMapSceneID:: ; 2147
+GetMapSceneID::
; Searches the scene script table for the map group and number loaded in bc, and returns the wram pointer in de.
; If the map is not in the scene script table, returns carry.
push bc
@@ -93,15 +90,13 @@ GetMapSceneID:: ; 2147
pop bc
ret
-; 2173
-OverworldTextModeSwitch:: ; 2173
+OverworldTextModeSwitch::
call LoadMapPart
call FarCallSwapTextboxPalettes
ret
-; 217a
-LoadMapPart:: ; 217a
+LoadMapPart::
ld a, [hROMBank]
push af
@@ -121,9 +116,8 @@ LoadMapPart:: ; 217a
pop af
rst Bankswitch
ret
-; 2198
-LoadMetatiles:: ; 2198
+LoadMetatiles::
; de <- wOverworldMapAnchor
ld a, [wOverworldMapAnchor]
ld e, a
@@ -210,18 +204,16 @@ endr
dec b
jp nz, .row
ret
-; 222a
-ReturnToMapFromSubmenu:: ; 222a
+ReturnToMapFromSubmenu::
ld a, MAPSETUP_SUBMENU
ld [hMapEntryMethod], a
farcall RunMapSetupScript
xor a
ld [hMapEntryMethod], a
ret
-; 2238
-CheckWarpTile:: ; 2238
+CheckWarpTile::
call GetDestinationWarpNumber
ret nc
@@ -233,16 +225,14 @@ CheckWarpTile:: ; 2238
call CopyWarpData
scf
ret
-; 224a
-WarpCheck:: ; 224a
+WarpCheck::
call GetDestinationWarpNumber
ret nc
call CopyWarpData
ret
-; 2252
-GetDestinationWarpNumber:: ; 2252
+GetDestinationWarpNumber::
farcall CheckWarpCollision
ret nc
@@ -256,9 +246,8 @@ GetDestinationWarpNumber:: ; 2252
ld a, d
rst Bankswitch
ret
-; 2266
-.GetDestinationWarpNumber: ; 2266
+.GetDestinationWarpNumber:
ld a, [wPlayerStandingMapY]
sub 4
ld e, a
@@ -315,9 +304,8 @@ GetDestinationWarpNumber:: ; 2252
inc hl
scf
ret
-; 22a7
-CopyWarpData:: ; 22a7
+CopyWarpData::
ld a, [hROMBank]
push af
@@ -328,9 +316,8 @@ CopyWarpData:: ; 22a7
rst Bankswitch
scf
ret
-; 22b4
-.CopyWarpData: ; 22b4
+.CopyWarpData:
push bc
ld hl, wCurrMapWarpsPointer
ld a, [hli]
@@ -364,16 +351,14 @@ CopyWarpData:: ; 22a7
ld [wPrevMapNumber], a
scf
ret
-; 22ee
-CheckOutdoorMap:: ; 22ee
+CheckOutdoorMap::
cp ROUTE
ret z
cp TOWN
ret
-; 22f4
-CheckIndoorMap:: ; 22f4
+CheckIndoorMap::
cp INDOOR
ret z
cp CAVE
@@ -382,7 +367,6 @@ CheckIndoorMap:: ; 22f4
ret z
cp GATE
ret
-; 2300
; unused
cp INDOOR
@@ -391,36 +375,32 @@ CheckIndoorMap:: ; 22f4
ret z
cp ENVIRONMENT_5
ret
-; 2309
-LoadMapAttributes:: ; 2309
+LoadMapAttributes::
call CopyMapPartialAndAttributes
call SwitchToMapScriptsBank
call ReadMapScripts
xor a ; do not skip object_events
call ReadMapEvents
ret
-; 2317
-LoadMapAttributes_SkipPeople:: ; 2317
+LoadMapAttributes_SkipPeople::
call CopyMapPartialAndAttributes
call SwitchToMapScriptsBank
call ReadMapScripts
ld a, TRUE ; skip object events
call ReadMapEvents
ret
-; 2326
-CopyMapPartialAndAttributes:: ; 2326
+CopyMapPartialAndAttributes::
call CopyMapPartial
call SwitchToMapAttributesBank
call GetMapAttributesPointer
call CopyMapAttributes
call GetMapConnections
ret
-; 2336
-ReadMapEvents:: ; 2336
+ReadMapEvents::
push af
ld hl, wMapEventsPointer
ld a, [hli]
@@ -438,9 +418,8 @@ ReadMapEvents:: ; 2336
call ReadObjectEvents
ret
-; 234f
-ReadMapScripts:: ; 234f
+ReadMapScripts::
ld hl, wMapScriptsPointer
ld a, [hli]
ld h, [hl]
@@ -448,9 +427,8 @@ ReadMapScripts:: ; 234f
call ReadMapSceneScripts
call ReadMapCallbacks
ret
-; 235c
-CopyMapAttributes:: ; 235c
+CopyMapAttributes::
ld de, wMapAttributes
ld c, wMapAttributesEnd - wMapAttributes
.loop
@@ -460,9 +438,8 @@ CopyMapAttributes:: ; 235c
dec c
jr nz, .loop
ret
-; 2368
-GetMapConnections:: ; 2368
+GetMapConnections::
ld a, $ff
ld [wNorthConnectedMapGroup], a
ld [wSouthConnectedMapGroup], a
@@ -497,9 +474,8 @@ GetMapConnections:: ; 2368
.no_east
ret
-; 23a3
-GetMapConnection:: ; 23a3
+GetMapConnection::
; Load map connection struct at hl into de.
ld c, wSouthMapConnection - wNorthMapConnection
.loop
@@ -509,9 +485,8 @@ GetMapConnection:: ; 23a3
dec c
jr nz, .loop
ret
-; 23ac
-ReadMapSceneScripts:: ; 23ac
+ReadMapSceneScripts::
ld a, [hli] ; scene script count
ld c, a
ld [wCurrMapSceneScriptCount], a ; current map scene script count
@@ -526,9 +501,8 @@ ReadMapSceneScripts:: ; 23ac
ld bc, 4 ; scene_script size
call AddNTimes
ret
-; 23c3
-ReadMapCallbacks:: ; 23c3
+ReadMapCallbacks::
ld a, [hli]
ld c, a
ld [wCurrMapCallbackCount], a
@@ -543,9 +517,8 @@ ReadMapCallbacks:: ; 23c3
ld bc, 3
call AddNTimes
ret
-; 23da
-ReadWarps:: ; 23da
+ReadWarps::
ld a, [hli]
ld c, a
ld [wCurrMapWarpCount], a
@@ -559,9 +532,8 @@ ReadWarps:: ; 23da
ld bc, 5
call AddNTimes
ret
-; 23f1
-ReadCoordEvents:: ; 23f1
+ReadCoordEvents::
ld a, [hli]
ld c, a
ld [wCurrMapCoordEventCount], a
@@ -577,9 +549,8 @@ ReadCoordEvents:: ; 23f1
ld bc, 8
call AddNTimes
ret
-; 2408
-ReadBGEvents:: ; 2408
+ReadBGEvents::
ld a, [hli]
ld c, a
ld [wCurrMapBGEventCount], a
@@ -595,9 +566,8 @@ ReadBGEvents:: ; 2408
ld bc, 5
call AddNTimes
ret
-; 241f
-ReadObjectEvents:: ; 241f
+ReadObjectEvents::
push hl
call ClearObjectStructs
pop de
@@ -641,9 +611,8 @@ ReadObjectEvents:: ; 241f
ld h, d
ld l, e
ret
-; 2457
-CopyMapObjectEvents:: ; 2457
+CopyMapObjectEvents::
and a
ret z
@@ -668,9 +637,8 @@ CopyMapObjectEvents:: ; 2457
dec c
jr nz, .loop
ret
-; 2471
-ClearObjectStructs:: ; 2471
+ClearObjectStructs::
ld hl, wObject1Struct
ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
xor a
@@ -687,9 +655,8 @@ ClearObjectStructs:: ; 2471
dec c
jr nz, .loop
ret
-; 248a
-RestoreFacingAfterWarp:: ; 248a
+RestoreFacingAfterWarp::
call GetMapScriptsBank
rst Bankswitch
@@ -719,7 +686,6 @@ RestoreFacingAfterWarp:: ; 248a
.skip
farcall GetCoordOfUpperLeftCorner
ret
-; 24ba
.backup
ld a, [wPrevWarp]
@@ -729,9 +695,8 @@ RestoreFacingAfterWarp:: ; 248a
ld a, [wPrevMapNumber]
ld [wBackupMapNumber], a
ret
-; 24cd
-LoadBlockData:: ; 24cd
+LoadBlockData::
ld hl, wOverworldMapBlocks
ld bc, wOverworldMapBlocksEnd - wOverworldMapBlocks
ld a, 0
@@ -741,9 +706,8 @@ LoadBlockData:: ; 24cd
ld a, MAPCALLBACK_TILES
call RunMapCallback
ret
-; 24e4
-ChangeMap:: ; 24e4
+ChangeMap::
ld a, [hROMBank]
push af
@@ -791,10 +755,8 @@ ChangeMap:: ; 24e4
pop af
rst Bankswitch
ret
-; 2524
-
-FillMapConnections:: ; 2524
+FillMapConnections::
; North
ld a, [wNorthConnectedMapGroup]
cp $ff
@@ -889,11 +851,9 @@ FillMapConnections:: ; 2524
.Done:
ret
-; 25d3
FillNorthConnectionStrip::
-FillSouthConnectionStrip:: ; 25d3
-
+FillSouthConnectionStrip::
ld c, 3
.y
push de
@@ -925,11 +885,9 @@ FillSouthConnectionStrip:: ; 25d3
dec c
jr nz, .y
ret
-; 25f6
FillWestConnectionStrip::
-FillEastConnectionStrip:: ; 25f6
-
+FillEastConnectionStrip::
.loop
ld a, [wMapWidth]
add 6
@@ -964,14 +922,12 @@ FillEastConnectionStrip:: ; 25f6
dec b
jr nz, .loop
ret
-; 261b
-LoadMapStatus:: ; 261b
+LoadMapStatus::
ld [wMapStatus], a
ret
-; 261f
-CallScript:: ; 261f
+CallScript::
; Call a script at a:hl.
ld [wScriptBank], a
@@ -985,18 +941,16 @@ CallScript:: ; 261f
scf
ret
-; 2631
-CallMapScript:: ; 2631
+CallMapScript::
; Call a script at hl in the current bank if there isn't already a script running
ld a, [wScriptRunning]
and a
ret nz
call GetMapScriptsBank
jr CallScript
-; 263b
-RunMapCallback:: ; 263b
+RunMapCallback::
; Will run the first callback found with execution index equal to a.
ld b, a
ld a, [hROMBank]
@@ -1015,9 +969,8 @@ RunMapCallback:: ; 263b
pop af
rst Bankswitch
ret
-; 2653
-.FindCallback: ; 2653
+.FindCallback:
ld a, [wCurrMapCallbackCount]
ld c, a
and a
@@ -1046,9 +999,8 @@ RunMapCallback:: ; 263b
ld l, a
scf
ret
-; 2674
-ExecuteCallbackScript:: ; 2674
+ExecuteCallbackScript::
; Do map callback de and return to script bank b.
farcall CallCallback
ld a, [wScriptMode]
@@ -1064,9 +1016,8 @@ ExecuteCallbackScript:: ; 2674
pop af
ld [wScriptMode], a
ret
-; 269a
-MapTextbox:: ; 269a
+MapTextbox::
ld a, [hROMBank]
push af
@@ -1087,9 +1038,8 @@ MapTextbox:: ; 269a
pop af
rst Bankswitch
ret
-; 26b7
-Call_a_de:: ; 26b7
+Call_a_de::
; Call a:de.
ld [hBuffer], a
@@ -1107,9 +1057,8 @@ Call_a_de:: ; 26b7
.de
push de
ret
-; 26c7
-GetMovementData:: ; 26c7
+GetMovementData::
; Initialize the movement data for object c at b:hl
ld a, [hROMBank]
push af
@@ -1123,9 +1072,8 @@ GetMovementData:: ; 26c7
ld a, h
rst Bankswitch
ret
-; 26d4
-GetScriptByte:: ; 0x26d4
+GetScriptByte::
; Return byte at wScriptBank:wScriptPos in a.
push hl
@@ -1154,36 +1102,29 @@ GetScriptByte:: ; 0x26d4
pop bc
pop hl
ret
-; 0x26ef
-ObjectEvent:: ; 0x26ef
+ObjectEvent::
jumptextfaceplayer ObjectEventText
-; 0x26f2
ObjectEventText::
text_jump _ObjectEventText
db "@"
-; 0x26f7
-BGEvent:: ; 26f7
+BGEvent::
jumptext BGEventText
-; 26fa
-BGEventText:: ; 26fa
+BGEventText::
text_jump UnknownText_0x1c46fc
db "@"
-; 26ff
-CoordinatesEvent:: ; 26ff
+CoordinatesEvent::
jumptext CoordinatesEventText
-; 2702
-CoordinatesEventText:: ; 2702
+CoordinatesEventText::
text_jump UnknownText_0x1c4706
db "@"
-; 2707
-CheckObjectMask:: ; 2707
+CheckObjectMask::
ld a, [hMapObjectIndexBuffer]
ld e, a
ld d, $0
@@ -1191,9 +1132,8 @@ CheckObjectMask:: ; 2707
add hl, de
ld a, [hl]
ret
-; 2712
-MaskObject:: ; 2712
+MaskObject::
ld a, [hMapObjectIndexBuffer]
ld e, a
ld d, $0
@@ -1201,9 +1141,8 @@ MaskObject:: ; 2712
add hl, de
ld [hl], -1 ; , masked
ret
-; 271e
-UnmaskObject:: ; 271e
+UnmaskObject::
ld a, [hMapObjectIndexBuffer]
ld e, a
ld d, $0
@@ -1211,9 +1150,8 @@ UnmaskObject:: ; 271e
add hl, de
ld [hl], 0 ; unmasked
ret
-; 272a
-ScrollMapDown:: ; 272a
+ScrollMapDown::
hlcoord 0, 0
ld de, wBGMapBuffer
call BackupBGMapRow
@@ -1227,9 +1165,8 @@ ScrollMapDown:: ; 272a
ld a, $1
ld [hBGMapUpdate], a
ret
-; 2748
-ScrollMapUp:: ; 2748
+ScrollMapUp::
hlcoord 0, SCREEN_HEIGHT - 2
ld de, wBGMapBuffer
call BackupBGMapRow
@@ -1239,7 +1176,7 @@ ScrollMapUp:: ; 2748
ld l, a
ld a, [wBGMapAnchor + 1]
ld h, a
- ld bc, $0200
+ ld bc, BG_MAP_WIDTH tiles
add hl, bc
; cap d at HIGH(vBGMap0)
ld a, h
@@ -1251,9 +1188,8 @@ ScrollMapUp:: ; 2748
ld a, $1
ld [hBGMapUpdate], a
ret
-; 2771
-ScrollMapRight:: ; 2771
+ScrollMapRight::
hlcoord 0, 0
ld de, wBGMapBuffer
call BackupBGMapColumn
@@ -1267,9 +1203,8 @@ ScrollMapRight:: ; 2771
ld a, $1
ld [hBGMapUpdate], a
ret
-; 278f
-ScrollMapLeft:: ; 278f
+ScrollMapLeft::
hlcoord SCREEN_WIDTH - 2, 0
ld de, wBGMapBuffer
call BackupBGMapColumn
@@ -1290,9 +1225,8 @@ ScrollMapLeft:: ; 278f
ld a, $1
ld [hBGMapUpdate], a
ret
-; 27b7
-BackupBGMapRow:: ; 27b7
+BackupBGMapRow::
ld c, 2 * SCREEN_WIDTH
.loop
ld a, [hli]
@@ -1301,9 +1235,8 @@ BackupBGMapRow:: ; 27b7
dec c
jr nz, .loop
ret
-; 27c0
-BackupBGMapColumn:: ; 27c0
+BackupBGMapColumn::
ld c, SCREEN_HEIGHT
.loop
ld a, [hli]
@@ -1322,9 +1255,8 @@ BackupBGMapColumn:: ; 27c0
dec c
jr nz, .loop
ret
-; 27d3
-UpdateBGMapRow:: ; 27d3
+UpdateBGMapRow::
ld hl, wBGMapBufferPtrs
push de
call .iteration
@@ -1354,9 +1286,8 @@ UpdateBGMapRow:: ; 27d3
ld a, SCREEN_WIDTH
ld [hBGMapTileCount], a
ret
-; 27f8
-UpdateBGMapColumn:: ; 27f8
+UpdateBGMapColumn::
ld hl, wBGMapBufferPtrs
ld c, SCREEN_HEIGHT
.loop
@@ -1381,7 +1312,6 @@ UpdateBGMapColumn:: ; 27f8
ld a, SCREEN_HEIGHT
ld [hBGMapTileCount], a
ret
-; 2816
Unreferenced_Function2816::
ld hl, wBGMapBuffer
@@ -1389,9 +1319,8 @@ Unreferenced_Function2816::
xor a
call ByteFill
ret
-; 2821
-LoadTilesetGFX:: ; 2821
+LoadTilesetGFX::
ld hl, wTilesetAddress
ld a, [hli]
ld h, [hl]
@@ -1446,9 +1375,8 @@ LoadTilesetGFX:: ; 2821
xor a
ld [hTileAnimFrame], a
ret
-; 2879
-BufferScreen:: ; 2879
+BufferScreen::
ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
@@ -1475,9 +1403,8 @@ BufferScreen:: ; 2879
dec c
jr nz, .row
ret
-; 289d
-SaveScreen:: ; 289d
+SaveScreen::
ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
@@ -1524,7 +1451,7 @@ SaveScreen:: ; 289d
ld c, SCREEN_META_HEIGHT
jr SaveScreen_LoadNeighbor
-LoadNeighboringBlockData:: ; 28e3
+LoadNeighboringBlockData::
ld hl, wOverworldMapAnchor
ld a, [hli]
ld h, [hl]
@@ -1536,7 +1463,7 @@ LoadNeighboringBlockData:: ; 28e3
ld b, SCREEN_META_WIDTH
ld c, SCREEN_META_HEIGHT
-SaveScreen_LoadNeighbor:: ; 28f7
+SaveScreen_LoadNeighbor::
.row
push bc
push hl
@@ -1564,9 +1491,8 @@ SaveScreen_LoadNeighbor:: ; 28f7
dec c
jr nz, .row
ret
-; 2914
-GetMovementPermissions:: ; 2914
+GetMovementPermissions::
xor a
ld [wTilePermissions], a
call .LeftRight
@@ -1594,9 +1520,8 @@ GetMovementPermissions:: ; 2914
or [hl]
ld [hl], a
ret
-; 2945
-.MovementPermissionsData: ; 2945
+.MovementPermissionsData:
db DOWN_MASK
db UP_MASK
db LEFT_MASK
@@ -1605,7 +1530,6 @@ GetMovementPermissions:: ; 2914
db UP_MASK | RIGHT_MASK
db DOWN_MASK | LEFT_MASK
db UP_MASK | LEFT_MASK
-; 294d
.UpDown:
ld a, [wPlayerStandingMapX]
@@ -1625,7 +1549,6 @@ GetMovementPermissions:: ; 2914
ld [wTileUp], a
call .Up
ret
-; 296c
.LeftRight:
ld a, [wPlayerStandingMapX]
@@ -1645,7 +1568,6 @@ GetMovementPermissions:: ; 2914
ld [wTileRight], a
call .Right
ret
-; 298b
.Down:
call .CheckHiNybble
@@ -1664,7 +1586,6 @@ GetMovementPermissions:: ; 2914
or FACE_DOWN
ld [wTilePermissions], a
ret
-; 29a8
.Up:
call .CheckHiNybble
@@ -1683,7 +1604,6 @@ GetMovementPermissions:: ; 2914
or FACE_UP
ld [wTilePermissions], a
ret
-; 29c5
.Right:
call .CheckHiNybble
@@ -1702,7 +1622,6 @@ GetMovementPermissions:: ; 2914
or FACE_RIGHT
ld [wTilePermissions], a
ret
-; 29e2
.Left:
call .CheckHiNybble
@@ -1721,17 +1640,15 @@ GetMovementPermissions:: ; 2914
or FACE_LEFT
ld [wTilePermissions], a
ret
-; 29ff
.CheckHiNybble:
and $f0
- cp $b0
+ cp HI_NYBBLE_SIDE_WALLS
ret z
- cp $c0
+ cp HI_NYBBLE_UNUSED_C0
ret
-; 2a07
-GetFacingTileCoord:: ; 2a07
+GetFacingTileCoord::
; Return map coordinates in (d, e) and tile id in a
; of the tile the player is facing.
@@ -1774,9 +1691,8 @@ GetFacingTileCoord:: ; 2a07
dw wTileLeft
db 1, 0
dw wTileRight
-; 2a3c
-GetCoordTile:: ; 2a3c
+GetCoordTile::
; Get the collision byte for tile d, e
call GetBlockLocation
ld a, [hl]
@@ -1809,9 +1725,8 @@ GetCoordTile:: ; 2a3c
.nope
ld a, -1
ret
-; 2a66
-GetBlockLocation:: ; 2a66
+GetBlockLocation::
ld a, [wMapWidth]
add 6
ld c, a
@@ -1839,9 +1754,8 @@ GetBlockLocation:: ; 2a66
ld b, 0
add hl, bc
ret
-; 2a8b
-CheckFacingBGEvent:: ; 2a8b
+CheckFacingBGEvent::
call GetFacingTileCoord
; Load facing into b.
ld b, a
@@ -1866,9 +1780,8 @@ CheckFacingBGEvent:: ; 2a8b
ld a, h
rst Bankswitch
ret
-; 2aaa
-CheckIfFacingTileCoordIsBGEvent:: ; 2aaa
+CheckIfFacingTileCoordIsBGEvent::
; Checks to see if you are facing a BG event. If so, copies it into wEngineBuffer1 and sets carry.
ld hl, wCurrMapBGEventsPointer
ld a, [hli]
@@ -1905,9 +1818,8 @@ CheckIfFacingTileCoordIsBGEvent:: ; 2aaa
call CopyBytes
scf
ret
-; 2ad4
-CheckCurrentMapCoordEvents:: ; 2ad4
+CheckCurrentMapCoordEvents::
; If there are no coord events, we don't need to be here.
ld a, [wCurrMapCoordEventCount]
and a
@@ -1978,9 +1890,8 @@ CheckCurrentMapCoordEvents:: ; 2ad4
call CopyBytes
scf
ret
-; 2b29
-FadeToMenu:: ; 2b29
+FadeToMenu::
xor a
ld [hBGMapMode], a
call LoadStandardMenuHeader
@@ -1988,24 +1899,22 @@ FadeToMenu:: ; 2b29
call ClearSprites
call DisableSpriteUpdates
ret
-; 2b3c
-CloseSubmenu:: ; 2b3c
+CloseSubmenu::
call ClearBGPalettes
call ReloadTilesetAndPalettes
call UpdateSprites
call Call_ExitMenu
call ret_d90
jr FinishExitMenu
-; 2b4d
-ExitAllMenus:: ; 2b4d
+ExitAllMenus::
call ClearBGPalettes
call Call_ExitMenu
call ReloadTilesetAndPalettes
call UpdateSprites
call ret_d90
-FinishExitMenu:: ; 2b5c
+FinishExitMenu::
ld b, SCGB_MAPPALS
call GetSGBLayout
farcall LoadOW_BGPal7
@@ -2013,9 +1922,8 @@ FinishExitMenu:: ; 2b5c
farcall FadeInPalettes
call EnableSpriteUpdates
ret
-; 2b74
-ReturnToMapWithSpeechTextbox:: ; 0x2b74
+ReturnToMapWithSpeechTextbox::
push af
ld a, $1
ld [wSpriteUpdatesEnabled], a
@@ -2038,9 +1946,8 @@ ReturnToMapWithSpeechTextbox:: ; 0x2b74
ld [hMapAnims], a
pop af
ret
-; 0x2bae
-ReloadTilesetAndPalettes:: ; 2bae
+ReloadTilesetAndPalettes::
call DisableLCD
call ClearSprites
farcall RefreshSprites
@@ -2063,14 +1970,13 @@ ReloadTilesetAndPalettes:: ; 2bae
call EnableLCD
ret
-; 2be5
-GetMapPointer:: ; 2be5
+GetMapPointer::
ld a, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
-GetAnyMapPointer:: ; 0x2bed
+GetAnyMapPointer::
; Prior to calling this function, you must have switched banks so that
; MapGroupPointers is visible.
@@ -2100,9 +2006,8 @@ GetAnyMapPointer:: ; 0x2bed
ld a, 9
call AddNTimes
ret
-; 0x2c04
-GetMapField:: ; 0x2c04
+GetMapField::
; Extract data from the current map's group entry.
; inputs:
@@ -2116,7 +2021,7 @@ GetMapField:: ; 0x2c04
ld b, a
ld a, [wMapNumber]
ld c, a
-GetAnyMapField:: ; 0x2c0c
+GetAnyMapField::
; bankswitch
ld a, [hROMBank]
push af
@@ -2133,25 +2038,23 @@ GetAnyMapField:: ; 0x2c0c
pop af
rst Bankswitch
ret
-; 0x2c1c
-SwitchToMapAttributesBank:: ; 2c1c
+SwitchToMapAttributesBank::
ld a, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
-SwitchToAnyMapAttributesBank:: ; 2c24
+SwitchToAnyMapAttributesBank::
call GetAnyMapAttributesBank
rst Bankswitch
ret
-; 2c29
-GetMapAttributesBank:: ; 2c29
+GetMapAttributesBank::
ld a, [wMapGroup]
ld b, a
ld a, [wMapNumber]
ld c, a
-GetAnyMapAttributesBank:: ; 2c31
+GetAnyMapAttributesBank::
push hl
push de
ld de, MAP_MAPATTRIBUTES_BANK
@@ -2160,9 +2063,8 @@ GetAnyMapAttributesBank:: ; 2c31
pop de
pop hl
ret
-; 2c3d
-CopyMapPartial:: ; 2c3d
+CopyMapPartial::
; Copy map data bank, tileset, environment, and map data address
; from the current map's entry within its group.
ld a, [hROMBank]
@@ -2178,20 +2080,17 @@ CopyMapPartial:: ; 2c3d
pop af
rst Bankswitch
ret
-; 2c52
-SwitchToMapScriptsBank:: ; 2c52
+SwitchToMapScriptsBank::
ld a, [wMapScriptsBank]
rst Bankswitch
ret
-; 2c57
-GetMapScriptsBank:: ; 2c57
+GetMapScriptsBank::
ld a, [wMapScriptsBank]
ret
-; 2c5b
-GetAnyMapBlocksBank:: ; 2c5b
+GetAnyMapBlocksBank::
; Return the blockdata bank for group b map c.
push hl
push de
@@ -2219,9 +2118,8 @@ GetAnyMapBlocksBank:: ; 2c5b
pop de
pop hl
ret
-; 2c7d
-GetMapAttributesPointer:: ; 0x2c7d
+GetMapAttributesPointer::
; returns the current map's data pointer in hl.
push bc
push de
@@ -2232,9 +2130,8 @@ GetMapAttributesPointer:: ; 0x2c7d
pop de
pop bc
ret
-; 2c8a
-GetMapEnvironment:: ; 2c8a
+GetMapEnvironment::
push hl
push de
push bc
@@ -2245,12 +2142,10 @@ GetMapEnvironment:: ; 2c8a
pop de
pop hl
ret
-; 2c98
ret ; unused
-; 2c99
-GetAnyMapEnvironment:: ; 2c99
+GetAnyMapEnvironment::
push hl
push de
push bc
@@ -2261,16 +2156,14 @@ GetAnyMapEnvironment:: ; 2c99
pop de
pop hl
ret
-; 2ca7
-GetAnyMapTileset:: ; 2ca7
+GetAnyMapTileset::
ld de, MAP_TILESET
call GetAnyMapField
ld a, c
ret
-; 2caf
-GetWorldMapLocation:: ; 0x2caf
+GetWorldMapLocation::
; given a map group/id in bc, return its location on the Pokégear map.
push hl
push de
@@ -2284,9 +2177,8 @@ GetWorldMapLocation:: ; 0x2caf
pop de
pop hl
ret
-; 0x2cbd
-GetMapMusic:: ; 2cbd
+GetMapMusic::
push hl
push bc
ld de, MAP_MUSIC
@@ -2329,22 +2221,19 @@ GetMapMusic:: ; 2cbd
.clearedmahogany
ld de, MUSIC_CHERRYGROVE_CITY
jr .done
-; 2cff
-GetMapTimeOfDay:: ; 2cff
+GetMapTimeOfDay::
call GetPhoneServiceTimeOfDayByte
and $f
ret
-; 2d05
-GetMapPhoneService:: ; 2d05
+GetMapPhoneService::
call GetPhoneServiceTimeOfDayByte
and $f0
swap a
ret
-; 2d0d
-GetPhoneServiceTimeOfDayByte:: ; 2d0d
+GetPhoneServiceTimeOfDayByte::
push hl
push bc
@@ -2355,9 +2244,8 @@ GetPhoneServiceTimeOfDayByte:: ; 2d0d
pop bc
pop hl
ret
-; 2d19
-GetFishingGroup:: ; 2d19
+GetFishingGroup::
push de
push hl
push bc
@@ -2370,9 +2258,8 @@ GetFishingGroup:: ; 2d19
pop hl
pop de
ret
-; 2d27
-LoadTileset:: ; 2d27
+LoadTileset::
push hl
push bc
@@ -2390,4 +2277,3 @@ LoadTileset:: ; 2d27
pop bc
pop hl
ret
-; 2d43
diff --git a/home/map_objects.asm b/home/map_objects.asm
index c99e27088..6bc30d571 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -1,6 +1,6 @@
; Functions handling map objects.
-GetSpritePalette:: ; 17ff
+GetSpritePalette::
push hl
push de
push bc
@@ -13,9 +13,8 @@ GetSpritePalette:: ; 17ff
pop de
pop hl
ret
-; 180e
-GetSpriteVTile:: ; 180e
+GetSpriteVTile::
push hl
push bc
ld hl, wUsedSprites + 2
@@ -49,9 +48,8 @@ GetSpriteVTile:: ; 180e
pop bc
pop hl
ret
-; 1836
-DoesSpriteHaveFacings:: ; 1836
+DoesSpriteHaveFacings::
push de
push hl
@@ -72,25 +70,22 @@ DoesSpriteHaveFacings:: ; 1836
pop hl
pop de
ret
-; 184a
-GetPlayerStandingTile:: ; 184a
+GetPlayerStandingTile::
ld a, [wPlayerStandingTile]
call GetTileCollision
ld b, a
ret
-; 1852
-CheckOnWater:: ; 1852
+CheckOnWater::
ld a, [wPlayerStandingTile]
call GetTileCollision
sub WATERTILE
ret z
and a
ret
-; 185d
-GetTileCollision:: ; 185d
+GetTileCollision::
; Get the collision type of tile a.
push de
@@ -115,9 +110,8 @@ GetTileCollision:: ; 185d
pop hl
pop de
ret
-; 1875
-CheckGrassTile:: ; 1875
+CheckGrassTile::
ld d, a
and $f0
cp HI_NYBBLE_TALL_GRASS
@@ -140,53 +134,46 @@ CheckGrassTile:: ; 1875
ret z
scf
ret
-; 188e
-CheckSuperTallGrassTile:: ; 188e
+CheckSuperTallGrassTile::
cp COLL_LONG_GRASS
ret z
cp COLL_LONG_GRASS_1C
ret
-; 1894
-CheckCutTreeTile:: ; 1894
+CheckCutTreeTile::
cp COLL_CUT_TREE
ret z
cp COLL_CUT_TREE_1A
ret
-; 189a
-CheckHeadbuttTreeTile:: ; 189a
+CheckHeadbuttTreeTile::
cp COLL_HEADBUTT_TREE
ret z
cp COLL_HEADBUTT_TREE_1D
ret
-; 18a0
-CheckCounterTile:: ; 18a0
+CheckCounterTile::
cp COLL_COUNTER
ret z
cp COLL_COUNTER_98
ret
-; 18a6
-CheckPitTile:: ; 18a6
+CheckPitTile::
cp COLL_PIT
ret z
cp COLL_PIT_68
ret
-; 18ac
-CheckIceTile:: ; 18ac
+CheckIceTile::
cp COLL_ICE
ret z
cp COLL_ICE_2B
ret z
scf
ret
-; 18b4
-CheckWhirlpoolTile:: ; 18b4
+CheckWhirlpoolTile::
nop
cp COLL_WHIRLPOOL
ret z
@@ -194,16 +181,14 @@ CheckWhirlpoolTile:: ; 18b4
ret z
scf
ret
-; 18bd
-CheckWaterfallTile:: ; 18bd
+CheckWaterfallTile::
cp COLL_WATERFALL
ret z
cp COLL_CURRENT_DOWN
ret
-; 18c3
-CheckStandingOnEntrance:: ; 18c3
+CheckStandingOnEntrance::
ld a, [wPlayerStandingTile]
cp COLL_DOOR
ret z
@@ -213,9 +198,8 @@ CheckStandingOnEntrance:: ; 18c3
ret z
cp COLL_CAVE
ret
-; 18d2
-GetMapObject:: ; 18d2
+GetMapObject::
; Return the location of map object a in bc.
ld hl, wMapObjects
ld bc, OBJECT_LENGTH
@@ -223,9 +207,8 @@ GetMapObject:: ; 18d2
ld b, h
ld c, l
ret
-; 18de
-CheckObjectVisibility:: ; 18de
+CheckObjectVisibility::
; Sets carry if the object is not visible on the screen.
ld [hMapObjectIndexBuffer], a
call GetMapObject
@@ -242,9 +225,8 @@ CheckObjectVisibility:: ; 18de
.not_visible
scf
ret
-; 18f5
-CheckObjectTime:: ; 18f5
+CheckObjectTime::
ld hl, MAPOBJECT_HOUR
add hl, bc
ld a, [hl]
@@ -317,25 +299,22 @@ CheckObjectTime:: ; 18f5
.no
scf
ret
-; 194d
; unused
ld [hMapObjectIndexBuffer], a
call GetMapObject
call CopyObjectStruct
ret
-; 1956
-_CopyObjectStruct:: ; 1956
+_CopyObjectStruct::
ld [hMapObjectIndexBuffer], a
call UnmaskObject
ld a, [hMapObjectIndexBuffer]
call GetMapObject
farcall CopyObjectStruct
ret
-; 1967
-ApplyDeletionToMapObject:: ; 1967
+ApplyDeletionToMapObject::
ld [hMapObjectIndexBuffer], a
call GetMapObject
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
@@ -364,15 +343,13 @@ ApplyDeletionToMapObject:: ; 1967
ld [wObjectFollow_Leader], a
ld [wObjectFollow_Follower], a
ret
-; 199f
-DeleteObjectStruct:: ; 199f
+DeleteObjectStruct::
call ApplyDeletionToMapObject
call MaskObject
ret
-; 19a6
-CopyPlayerObjectTemplate:: ; 19a6
+CopyPlayerObjectTemplate::
push hl
call GetMapObject
ld d, b
@@ -384,7 +361,6 @@ CopyPlayerObjectTemplate:: ; 19a6
ld bc, OBJECT_LENGTH - 1
call CopyBytes
ret
-; 19b8
Unreferenced_Function19b8:
call GetMapObject
@@ -414,9 +390,8 @@ Unreferenced_Function19b8:
call GetObjectStruct
farcall DeleteMapObject
ret
-; 19e9
-LoadMovementDataPointer:: ; 19e9
+LoadMovementDataPointer::
; Load the movement data pointer for object a.
ld [wMovementObject], a
ld a, [hROMBank]
@@ -441,9 +416,8 @@ LoadMovementDataPointer:: ; 19e9
set 7, [hl]
and a
ret
-; 1a13
-FindFirstEmptyObjectStruct:: ; 1a13
+FindFirstEmptyObjectStruct::
; Returns the index of the first empty object struct in A and its address in HL, then sets carry.
; If all object structs are occupied, A = 0 and Z is set.
; Preserves BC and DE.
@@ -471,9 +445,8 @@ FindFirstEmptyObjectStruct:: ; 1a13
pop de
pop bc
ret
-; 1a2f
-GetSpriteMovementFunction:: ; 1a2f
+GetSpriteMovementFunction::
ld hl, OBJECT_MOVEMENTTYPE
add hl, bc
ld a, [hl]
@@ -482,36 +455,34 @@ GetSpriteMovementFunction:: ; 1a2f
xor a
.ok
- ld hl, SpriteMovementData
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_MOVEMENT
ld e, a
ld d, 0
-rept SPRITEMOVEDATA_FIELDS
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld a, [hl]
ret
-; 1a47
-GetInitialFacing:: ; 1a47
+GetInitialFacing::
push bc
push de
ld e, a
ld d, 0
- ld hl, SpriteMovementData + 1 ; init facing
-rept SPRITEMOVEDATA_FIELDS
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_FACING
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld a, BANK(SpriteMovementData)
call GetFarByte
add a
add a
- and $c
+ maskbits NUM_DIRECTIONS, 2
pop de
pop bc
ret
-; 1a61
-CopySpriteMovementData:: ; 1a61
+CopySpriteMovementData::
ld l, a
ld a, [hROMBank]
push af
@@ -527,9 +498,8 @@ CopySpriteMovementData:: ; 1a61
rst Bankswitch
ret
-; 1a71
-.CopyData: ; 1a71
+.CopyData:
ld hl, OBJECT_MOVEMENTTYPE
add hl, de
ld [hl], a
@@ -537,8 +507,8 @@ CopySpriteMovementData:: ; 1a61
push de
ld e, a
ld d, 0
- ld hl, SpriteMovementData + 1 ; init facing
-rept SPRITEMOVEDATA_FIELDS
+ ld hl, SpriteMovementData + SPRITEMOVEATTR_FACING
+rept NUM_SPRITEMOVEDATA_FIELDS
add hl, de
endr
ld b, h
@@ -549,7 +519,7 @@ endr
inc bc
rlca
rlca
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
ld hl, OBJECT_FACING
add hl, de
ld [hl], a
@@ -578,9 +548,8 @@ endr
add hl, de
ld [hl], a
ret
-; 1aae
-_GetMovementByte:: ; 1aae
+_GetMovementByte::
; Switch to the movement data bank
ld a, [hROMBank]
push af
@@ -604,21 +573,18 @@ _GetMovementByte:: ; 1aae
ld a, h
ret
-; 1ac6
-SetVramState_Bit0:: ; 1ac6
+SetVramState_Bit0::
ld hl, wVramState
set 0, [hl]
ret
-; 1acc
-ResetVramState_Bit0:: ; 1acc
+ResetVramState_Bit0::
ld hl, wVramState
res 0, [hl]
ret
-; 1ad2
-UpdateSprites:: ; 1ad2
+UpdateSprites::
ld a, [wVramState]
bit 0, a
ret z
@@ -626,26 +592,23 @@ UpdateSprites:: ; 1ad2
farcall Function55e0
farcall _UpdateSprites
ret
-; 1ae5
-GetObjectStruct:: ; 1ae5
+GetObjectStruct::
ld bc, OBJECT_STRUCT_LENGTH
ld hl, wObjectStructs
call AddNTimes
ld b, h
ld c, l
ret
-; 1af1
-DoesObjectHaveASprite:: ; 1af1
+DoesObjectHaveASprite::
ld hl, OBJECT_SPRITE
add hl, bc
ld a, [hl]
and a
ret
-; 1af8
-SetSpriteDirection:: ; 1af8
+SetSpriteDirection::
; preserves other flags
push af
ld hl, OBJECT_FACING
@@ -654,16 +617,14 @@ SetSpriteDirection:: ; 1af8
and %11110011
ld e, a
pop af
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
or e
ld [hl], a
ret
-; 1b07
-GetSpriteDirection:: ; 1b07
+GetSpriteDirection::
ld hl, OBJECT_FACING
add hl, bc
ld a, [hl]
- and %00001100
+ maskbits NUM_DIRECTIONS, 2
ret
-; 1b0f
diff --git a/home/math.asm b/home/math.asm
index 6a779e378..f385ccbf8 100644
--- a/home/math.asm
+++ b/home/math.asm
@@ -1,4 +1,4 @@
-AddNTimes:: ; 0x30fe
+AddNTimes::
; Add bc * a to hl.
and a
ret z
@@ -7,9 +7,8 @@ AddNTimes:: ; 0x30fe
dec a
jr nz, .loop
ret
-; 0x3105
-SimpleMultiply:: ; 3105
+SimpleMultiply::
; Return a * c.
and a
ret z
@@ -23,10 +22,8 @@ SimpleMultiply:: ; 3105
jr nz, .loop
pop bc
ret
-; 3110
-
-SimpleDivide:: ; 3110
+SimpleDivide::
; Divide a by c. Return quotient b and remainder a.
ld b, 0
.loop
@@ -36,10 +33,8 @@ SimpleDivide:: ; 3110
dec b
add c
ret
-; 3119
-
-Multiply:: ; 3119
+Multiply::
; Multiply hMultiplicand (3 bytes) by hMultiplier. Result in hProduct.
; All values are big endian.
push hl
@@ -50,10 +45,8 @@ Multiply:: ; 3119
pop bc
pop hl
ret
-; 3124
-
-Divide:: ; 3124
+Divide::
; Divide hDividend length b (max 4 bytes) by hDivisor. Result in hQuotient.
; All values are big endian.
push hl
@@ -64,10 +57,8 @@ Divide:: ; 3124
pop de
pop hl
ret
-; 3136
-
-SubtractSigned:: ; 3136
+SubtractSigned::
; Return a - b, sign in carry.
sub b
ret nc
@@ -75,4 +66,3 @@ SubtractSigned:: ; 3136
add 1
scf
ret
-; 313d
diff --git a/home/menu.asm b/home/menu.asm
index 05ec1212a..d10b6e936 100644
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -1,6 +1,5 @@
; Functions used in displaying and handling menus.
-
LoadMenuHeader::
call CopyMenuHeader
call PushWindow
@@ -13,61 +12,50 @@ CopyMenuHeader::
ld a, [hROMBank]
ld [wMenuDataBank], a
ret
-; 0x1d4b
-StoreTo_wMenuCursorBuffer:: ; 1d4b
+StoreTo_wMenuCursorBuffer::
ld [wMenuCursorBuffer], a
ret
-; 1d4f
-
-MenuTextBox:: ; 1d4f
+MenuTextBox::
push hl
call LoadMenuTextBox
pop hl
jp PrintText
-; 1d57
; unused
ret
-; 1d58
-LoadMenuTextBox:: ; 1d58
+LoadMenuTextBox::
ld hl, .MenuHeader
call LoadMenuHeader
ret
-; 1d5f
-.MenuHeader: ; 1d5f
+.MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw vTiles0
db 0 ; default option
-; 1d67
-MenuTextBoxBackup:: ; 1d67
+MenuTextBoxBackup::
call MenuTextBox
call CloseWindow
ret
-; 1d6e
-LoadStandardMenuHeader:: ; 1d6e
+LoadStandardMenuHeader::
ld hl, .MenuHeader
call LoadMenuHeader
ret
-; 1d75
-.MenuHeader: ; 1d75
+.MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw 0
db 1 ; default option
-; 1d7d
-Call_ExitMenu:: ; 1d7d
+Call_ExitMenu::
call ExitMenu
ret
-; 1d81
VerticalMenu::
xor a
@@ -92,15 +80,13 @@ VerticalMenu::
.okay
and a
ret
-; 0x1dab
-GetMenu2:: ; 1dab
+GetMenu2::
call LoadMenuHeader
call VerticalMenu
call CloseWindow
ld a, [wMenuCursorY]
ret
-; 1db8
CopyNameFromMenu::
push hl
@@ -120,20 +106,18 @@ CopyNameFromMenu::
pop bc
pop hl
ret
-; 0x1dcf
-
-YesNoBox:: ; 1dcf
+YesNoBox::
lb bc, SCREEN_WIDTH - 6, 7
-PlaceYesNoBox:: ; 1dd2
+PlaceYesNoBox::
jr _YesNoBox
-PlaceGenericTwoOptionBox:: ; 1dd4
+PlaceGenericTwoOptionBox::
call LoadMenuHeader
jr InterpretTwoOptionMenu
-_YesNoBox:: ; 1dd9
+_YesNoBox::
; Return nc (yes) or c (no).
push bc
ld hl, YesNoMenuHeader
@@ -158,7 +142,7 @@ _YesNoBox:: ; 1dd9
ld [wMenuBorderBottomCoord], a
call PushWindow
-InterpretTwoOptionMenu:: ; 1dfe
+InterpretTwoOptionMenu::
call VerticalMenu
push af
ld c, $f
@@ -177,29 +161,25 @@ InterpretTwoOptionMenu:: ; 1dfe
ld [wMenuCursorY], a
scf
ret
-; 1e1d
-YesNoMenuHeader:: ; 1e1d
+YesNoMenuHeader::
db MENU_BACKUP_TILES ; flags
menu_coords 10, 5, 15, 9
dw .MenuData
db 1 ; default option
-; 1e25
-.MenuData: ; 1e25
+.MenuData:
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2
db "YES@"
db "NO@"
-; 1e2e
-OffsetMenuHeader:: ; 1e2e
+OffsetMenuHeader::
call _OffsetMenuHeader
call PushWindow
ret
-; 1e35
-_OffsetMenuHeader:: ; 1e35
+_OffsetMenuHeader::
push de
call CopyMenuHeader
pop de
@@ -222,9 +202,8 @@ _OffsetMenuHeader:: ; 1e35
add l
ld [wMenuBorderBottomCoord], a
ret
-; 1e5d
-DoNthMenu:: ; 1e5d
+DoNthMenu::
call DrawVariableLengthMenuBox
call MenuWriteText
call InitMenuCursorAndButtonPermissions
@@ -232,9 +211,8 @@ DoNthMenu:: ; 1e5d
call GetMenuJoypad
call MenuClickSound
ret
-; 1e70
-SetUpMenu:: ; 1e70
+SetUpMenu::
call DrawVariableLengthMenuBox ; ???
call MenuWriteText
call InitMenuCursorAndButtonPermissions ; set up selection pointer
@@ -263,9 +241,8 @@ MenuWriteText::
pop af
ld [hOAMUpdate], a
ret
-; 0x1ea6
-AutomaticGetMenuBottomCoord:: ; 1ea6
+AutomaticGetMenuBottomCoord::
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wMenuBorderRightCoord]
@@ -279,9 +256,8 @@ AutomaticGetMenuBottomCoord:: ; 1ea6
add b
ld [wMenuBorderBottomCoord], a
ret
-; 1ebd
-GetMenuIndexSet:: ; 1ebd
+GetMenuIndexSet::
ld hl, wMenuDataIndicesPointer
ld a, [hli]
ld h, [hl]
@@ -304,9 +280,8 @@ GetMenuIndexSet:: ; 1ebd
ld a, [hl]
ld [wMenuDataItems], a
ret
-; 1eda
-RunMenuItemPrintingFunction:: ; 1eda
+RunMenuItemPrintingFunction::
call MenuBoxCoord2Tile
ld bc, 2 * SCREEN_WIDTH + 2
add hl, bc
@@ -327,16 +302,14 @@ RunMenuItemPrintingFunction:: ; 1eda
add hl, de
pop de
jr .loop
-; 1efb
-._hl_ ; 1efb
+._hl_
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
-; 1eff
-InitMenuCursorAndButtonPermissions:: ; 1eff
+InitMenuCursorAndButtonPermissions::
call InitVerticalMenuCursor
ld hl, wMenuJoypadFilter
ld a, [wMenuDataFlags]
@@ -353,21 +326,17 @@ InitMenuCursorAndButtonPermissions:: ; 1eff
.disallow_left_right
ret
-; 1f1a
-
-GetScrollingMenuJoypad:: ; 1f1a
+GetScrollingMenuJoypad::
call ScrollingMenuJoypad
ld hl, wMenuJoypadFilter
and [hl]
jr ContinueGettingMenuJoypad
-; 1f23
-GetStaticMenuJoypad:: ; 1f23
+GetStaticMenuJoypad::
xor a
ld [wMenuJoypad], a
call StaticMenuJoypad
-; 1f2a
ContinueGettingMenuJoypad:
bit A_BUTTON_F, a
@@ -418,9 +387,8 @@ ContinueGettingMenuJoypad:
ld [wMenuSelection], a
scf
ret
-; 1f79
-PlaceMenuStrings:: ; 1f79
+PlaceMenuStrings::
push de
ld hl, wMenuDataPointerTableAddr
ld a, [hli]
@@ -433,9 +401,8 @@ PlaceMenuStrings:: ; 1f79
pop hl
call PlaceString
ret
-; 1f8d
-PlaceNthMenuStrings:: ; 1f8d
+PlaceNthMenuStrings::
push de
ld a, [wMenuSelection]
call GetMenuDataPointerTableEntry
@@ -447,9 +414,8 @@ PlaceNthMenuStrings:: ; 1f8d
pop hl
call PlaceString
ret
-; 1f9e
-Unreferenced_Function1f9e:: ; 1f9e
+Unreferenced_Function1f9e::
call GetMenuDataPointerTableEntry
inc hl
inc hl
@@ -457,18 +423,16 @@ Unreferenced_Function1f9e:: ; 1f9e
ld d, [hl]
ld e, a
ret
-; 1fa7
-MenuJumptable:: ; 1fa7
+MenuJumptable::
ld a, [wMenuSelection]
call GetMenuDataPointerTableEntry
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
-; 1fb1
-GetMenuDataPointerTableEntry:: ; 1fb1
+GetMenuDataPointerTableEntry::
ld e, a
ld d, $0
ld hl, wMenuDataPointerTableAddr
@@ -480,9 +444,8 @@ GetMenuDataPointerTableEntry:: ; 1fb1
add hl, de
add hl, de
ret
-; 1fbf
-ClearWindowData:: ; 1fbf
+ClearWindowData::
ld hl, wWindowStackPointer
call .bytefill
ld hl, wMenuHeader
@@ -509,16 +472,14 @@ ClearWindowData:: ; 1fbf
pop af
ld [rSVBK], a
ret
-; 1ff0
-.bytefill ; 1ff0
+.bytefill
ld bc, $10
xor a
call ByteFill
ret
-; 1ff8
-MenuClickSound:: ; 1ff8
+MenuClickSound::
push af
and A_BUTTON | B_BUTTON
jr z, .nosound
@@ -529,25 +490,21 @@ MenuClickSound:: ; 1ff8
.nosound
pop af
ret
-; 2009
-
-PlayClickSFX:: ; 2009
+PlayClickSFX::
push de
ld de, SFX_READ_TEXT_2
call PlaySFX
pop de
ret
-; 0x2012
-MenuTextBoxWaitButton:: ; 2012
+MenuTextBoxWaitButton::
call MenuTextBox
call WaitButton
call ExitMenu
ret
-; 201c
-Place2DMenuItemName:: ; 201c
+Place2DMenuItemName::
ld [hBuffer], a
ld a, [hROMBank]
push af
@@ -559,28 +516,24 @@ Place2DMenuItemName:: ; 201c
rst Bankswitch
ret
-; 202a
-_2DMenu:: ; 202a
+_2DMenu::
ld a, [hROMBank]
ld [wMenuData_2DMenuItemStringsBank], a
farcall _2DMenu_
ld a, [wMenuCursorBuffer]
ret
-; 2039
-InterpretBattleMenu:: ; 2039
+InterpretBattleMenu::
ld a, [hROMBank]
ld [wMenuData_2DMenuItemStringsBank], a
farcall _InterpretBattleMenu
ld a, [wMenuCursorBuffer]
ret
-; 2048
-InterpretMobileMenu:: ; 2048
+InterpretMobileMenu::
ld a, [hROMBank]
ld [wMenuData_2DMenuItemStringsBank], a
farcall _InterpretMobileMenu
ld a, [wMenuCursorBuffer]
ret
-; 2057
diff --git a/home/menu_window.asm b/home/menu_window.asm
index aceb00343..7c511097d 100644
--- a/home/menu_window.asm
+++ b/home/menu_window.asm
@@ -1,19 +1,18 @@
-PushWindow:: ; 1c00
+PushWindow::
callfar _PushWindow
ret
-; 1c07
-ExitMenu:: ; 0x1c07
+ExitMenu::
push af
callfar _ExitMenu
pop af
ret
-InitVerticalMenuCursor:: ; 0x1c10
+InitVerticalMenuCursor::
callfar _InitVerticalMenuCursor
ret
-CloseWindow:: ; 0x1c17
+CloseWindow::
push af
call ExitMenu
call ApplyTilemap
@@ -21,15 +20,14 @@ CloseWindow:: ; 0x1c17
pop af
ret
-RestoreTileBackup:: ; 0x1c23
+RestoreTileBackup::
call MenuBoxCoord2Tile
call .copy
call MenuBoxCoord2Attr
call .copy
ret
-; 0x1c30
-.copy ; 0x1c30
+.copy
call GetMenuBoxDims
inc b
inc c
@@ -43,18 +41,18 @@ RestoreTileBackup:: ; 0x1c23
ld [hli], a
dec de
dec c
- jr nz, .col ; 0x1c3b $fa
+ jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
- jr nz, .row ; 0x1c44 $ef
+ jr nz, .row
ret
-PopWindow:: ; 0x1c47
+PopWindow::
ld b, $10
ld de, wMenuFlags
.loop
@@ -62,10 +60,10 @@ PopWindow:: ; 0x1c47
ld [de], a
inc de
dec b
- jr nz, .loop ; 0x1c50 $fa
+ jr nz, .loop
ret
-GetMenuBoxDims:: ; 0x1c53
+GetMenuBoxDims::
ld a, [wMenuBorderTopCoord] ; top
ld b, a
ld a, [wMenuBorderBottomCoord] ; bottom
@@ -77,9 +75,8 @@ GetMenuBoxDims:: ; 0x1c53
sub c
ld c, a
ret
-; 0x1c66
-CopyMenuData:: ; 1c66
+CopyMenuData::
push hl
push de
push bc
@@ -96,9 +93,8 @@ CopyMenuData:: ; 1c66
pop de
pop hl
ret
-; 1c7e
-GetWindowStackTop:: ; 1c7e
+GetWindowStackTop::
ld hl, wWindowStackPointer
ld a, [hli]
ld h, [hl]
@@ -108,9 +104,8 @@ GetWindowStackTop:: ; 1c7e
ld h, [hl]
ld l, a
ret
-; 1c89
-PlaceVerticalMenuItems:: ; 1c89
+PlaceVerticalMenuItems::
call CopyMenuData
ld hl, wMenuDataPointer
ld e, [hl]
@@ -143,17 +138,15 @@ PlaceVerticalMenuItems:: ; 1c89
ld b, $0
add hl, bc
jp PlaceString
-; 1cbb
-MenuBox:: ; 1cbb
+MenuBox::
call MenuBoxCoord2Tile
call GetMenuBoxDims
dec b
dec c
jp TextBox
-; 1cc6
-GetMenuTextStartCoord:: ; 1cc6
+GetMenuTextStartCoord::
ld a, [wMenuBorderTopCoord]
ld b, a
inc b
@@ -175,9 +168,8 @@ GetMenuTextStartCoord:: ; 1cc6
.bit_7_clear
ret
-; 1ce1
-ClearMenuBoxInterior:: ; 1ce1
+ClearMenuBoxInterior::
call MenuBoxCoord2Tile
ld bc, SCREEN_WIDTH + 1
add hl, bc
@@ -186,27 +178,22 @@ ClearMenuBoxInterior:: ; 1ce1
dec c
call ClearBox
ret
-; 1cf1
-ClearWholeMenuBox:: ; 1cf1
+ClearWholeMenuBox::
call MenuBoxCoord2Tile
call GetMenuBoxDims
inc c
inc b
call ClearBox
ret
-; 1cfd
-
-MenuBoxCoord2Tile:: ; 1cfd
+MenuBoxCoord2Tile::
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wMenuBorderTopCoord]
ld b, a
-; 1d05
-
-Coord2Tile:: ; 1d05
+Coord2Tile::
; Return the address of wTileMap(c, b) in hl.
xor a
ld h, a
@@ -226,15 +213,14 @@ Coord2Tile:: ; 1d05
bccoord 0, 0
add hl, bc
ret
-; 1d19
-MenuBoxCoord2Attr:: ; 1d19
+MenuBoxCoord2Attr::
ld a, [wMenuBorderLeftCoord]
ld c, a
ld a, [wMenuBorderTopCoord]
ld b, a
-Coord2Attr:: ; 1d21
+Coord2Attr::
; Return the address of wAttrMap(c, b) in hl.
xor a
ld h, a
@@ -254,4 +240,3 @@ Coord2Attr:: ; 1d21
bccoord 0, 0, wAttrMap
add hl, bc
ret
-; 1d35
diff --git a/home/mobile.asm b/home/mobile.asm
index 4be526bbc..21af7a73b 100644
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -1,4 +1,4 @@
-Function3e32:: ; 3e32
+Function3e32::
; Mobile
cp $2
ld [$c988], a
@@ -27,9 +27,8 @@ Function3e32:: ; 3e32
rst Bankswitch
jp Function110030
-; 3e60
-Function3e60:: ; 3e60
+Function3e60::
; Return from Function110030
ld [$c986], a
ld a, l
@@ -50,9 +49,8 @@ Function3e60:: ; 3e60
ld l, a
ld a, [$c986]
ret
-; 3e80
-MobileReceive:: ; 3e80
+MobileReceive::
ld a, [hROMBank]
push af
ld a, BANK(_MobileReceive)
@@ -66,10 +64,8 @@ MobileReceive:: ; 3e80
rst Bankswitch
ret
-; 3e93
-
-Timer:: ; 3e93
+Timer::
push af
push bc
push de
@@ -125,9 +121,8 @@ Timer:: ; 3e93
pop bc
pop af
reti
-; 3ed7
-Unreferenced_Function3ed7:: ; 3ed7
+Unreferenced_Function3ed7::
ld [$dc02], a
ld a, [hROMBank]
push af
@@ -141,9 +136,8 @@ Unreferenced_Function3ed7:: ; 3ed7
ld a, [$dc02]
ret
-; 3eea
-Function3eea:: ; 3eea
+Function3eea::
push hl
push bc
ld de, wAttrMap - wTileMap
@@ -157,9 +151,8 @@ Function3eea:: ; 3eea
pop hl
call MobileHome_PlaceBox
ret
-; 3efd
-Unreferenced_Function3efd:: ; 3efd
+Unreferenced_Function3efd::
push hl
hlcoord 0, 12
ld b, 4
@@ -168,7 +161,6 @@ Unreferenced_Function3efd:: ; 3efd
pop hl
call PrintTextBoxText
ret
-; 3f0d
.fill_attr
push hl
@@ -184,9 +176,8 @@ Unreferenced_Function3efd:: ; 3efd
pop hl
call TextBoxBorder
ret
-; 3f20
-Function3f20:: ; 3f20
+Function3f20::
hlcoord 0, 0, wAttrMap
ld b, 6
ld c, 20
@@ -196,9 +187,8 @@ Function3f20:: ; 3f20
ld c, 18
call MobileHome_PlaceBox
ret
-; 3f35
-Function3f35:: ; 3f35
+Function3f35::
ld a, 6
ld de, SCREEN_WIDTH
.row
@@ -214,9 +204,8 @@ Function3f35:: ; 3f35
dec b
jr nz, .row
ret
-; 3f47
-MobileHome_PlaceBox: ; 3f47
+MobileHome_PlaceBox:
push bc
call .FillTop
pop bc
@@ -228,7 +217,6 @@ MobileHome_PlaceBox: ; 3f47
jr nz, .RowLoop
call .FillBottom
ret
-; 3f58
.FillTop:
ld a, $63
@@ -260,18 +248,16 @@ MobileHome_PlaceBox: ; 3f47
ld de, SCREEN_WIDTH
add hl, de
ret
-; 3f7c
-Function3f7c:: ; 3f7c
+Function3f7c::
call MenuBoxCoord2Tile
call GetMenuBoxDims
dec b
dec c
call Function3eea
ret
-; 3f88
-Function3f88:: ; 3f88
+Function3f88::
ld hl, wDecompressScratch
ld b, 0
.row
@@ -290,9 +276,8 @@ Function3f88:: ; 3f88
dec c
jr nz, .row
ret
-; 3f9f
-Function3f9f:: ; 3f9f
+Function3f9f::
ld hl, wDecompressScratch
.row
push bc
@@ -311,4 +296,3 @@ Function3f9f:: ; 3f9f
dec c
jr nz, .row
ret
-; 3fb5
diff --git a/home/mon_data.asm b/home/mon_data.asm
index 8fb5bf0c9..bcfe49ddb 100644
--- a/home/mon_data.asm
+++ b/home/mon_data.asm
@@ -1,13 +1,12 @@
-Unreferenced_GetNthMove:: ; 384d
+Unreferenced_GetNthMove::
ld hl, wListMoves_MoveIndicesBuffer
ld c, a
ld b, 0
add hl, bc
ld a, [hl]
ret
-; 3856
-GetBaseData:: ; 3856
+GetBaseData::
push bc
push de
push hl
@@ -62,13 +61,12 @@ GetBaseData:: ; 3856
pop de
pop bc
ret
-; 389c
-GetCurNick:: ; 389c
+GetCurNick::
ld a, [wCurPartyMon]
ld hl, wPartyMonNicknames
-GetNick:: ; 38a2
+GetNick::
; Get nickname a from list hl.
push hl
@@ -87,4 +85,3 @@ GetNick:: ; 38a2
pop bc
pop hl
ret
-; 38bb
diff --git a/home/mon_data_2.asm b/home/mon_data_2.asm
index a5e46d836..99169eaa8 100644
--- a/home/mon_data_2.asm
+++ b/home/mon_data_2.asm
@@ -1,4 +1,4 @@
-GetPartyParamLocation:: ; 3917
+GetPartyParamLocation::
; Get the location of parameter a from wCurPartyMon in hl
push bc
ld hl, wPartyMons
@@ -9,15 +9,13 @@ GetPartyParamLocation:: ; 3917
call GetPartyLocation
pop bc
ret
-; 3927
-GetPartyLocation:: ; 3927
+GetPartyLocation::
; Add the length of a PartyMon struct to hl a times.
ld bc, PARTYMON_STRUCT_LENGTH
jp AddNTimes
-; 392d
-Unreferenced_GetDexNumber:: ; 392d
+Unreferenced_GetDexNumber::
; Probably used in gen 1 to convert index number to dex number
; Not required in gen 2 because index number == dex number
push hl
@@ -34,4 +32,3 @@ Unreferenced_GetDexNumber:: ; 392d
ld c, h
pop hl
ret
-; 3945
diff --git a/home/mon_stats.asm b/home/mon_stats.asm
index 3731a246f..318d32c9c 100644
--- a/home/mon_stats.asm
+++ b/home/mon_stats.asm
@@ -1,4 +1,4 @@
-IsAPokemon:: ; 3741
+IsAPokemon::
; Return carry if species a is not a Pokemon.
and a
jr z, .NotAPokemon
@@ -14,9 +14,8 @@ IsAPokemon:: ; 3741
.Pokemon:
and a
ret
-; 3750
-DrawBattleHPBar:: ; 3750
+DrawBattleHPBar::
; Draw an HP bar d tiles long at hl
; Fill it up to e pixels
@@ -75,13 +74,12 @@ DrawBattleHPBar:: ; 3750
pop de
pop hl
ret
-; 3786
-PrepMonFrontpic:: ; 3786
+PrepMonFrontpic::
ld a, $1
ld [wBoxAlignment], a
-_PrepMonFrontpic:: ; 378b
+_PrepMonFrontpic::
ld a, [wCurPartySpecies]
call IsAPokemon
jr c, .not_pokemon
@@ -104,4 +102,3 @@ _PrepMonFrontpic:: ; 378b
inc a
ld [wCurPartySpecies], a
ret
-; 37b6
diff --git a/home/movement.asm b/home/movement.asm
index c2c45d12b..2c19b6355 100644
--- a/home/movement.asm
+++ b/home/movement.asm
@@ -1,4 +1,4 @@
-InitMovementBuffer:: ; 1b1e
+InitMovementBuffer::
ld [wMovementBufferObject], a
xor a
ld [wMovementBufferCount], a
@@ -9,18 +9,16 @@ InitMovementBuffer:: ; 1b1e
ld a, HIGH(wMovementBuffer)
ld [wUnusedMovementBufferPointer + 1], a
ret
-; 1b35
-DecrementMovementBufferCount:: ; 1b35
+DecrementMovementBufferCount::
ld a, [wMovementBufferCount]
and a
ret z
dec a
ld [wMovementBufferCount], a
ret
-; 1b3f
-AppendToMovementBuffer:: ; 1b3f
+AppendToMovementBuffer::
push hl
push de
ld hl, wMovementBufferCount
@@ -33,9 +31,8 @@ AppendToMovementBuffer:: ; 1b3f
pop de
pop hl
ret
-; 1b50
-AppendToMovementBufferNTimes:: ; 1b50
+AppendToMovementBufferNTimes::
push af
ld a, c
and a
@@ -50,9 +47,8 @@ AppendToMovementBufferNTimes:: ; 1b50
dec c
jr nz, .loop
ret
-; 1b5f
-ComputePathToWalkToPlayer:: ; 1b5f
+ComputePathToWalkToPlayer::
push af
; compare x coords, load left/right into h, and x distance into d
ld a, b
@@ -100,9 +96,8 @@ ComputePathToWalkToPlayer:: ; 1b5f
ld c, e
call AppendToMovementBufferNTimes
ret
-; 1b92
-.GetMovementData: ; 1b92
+.GetMovementData:
push de
push hl
ld l, b
@@ -118,7 +113,6 @@ ComputePathToWalkToPlayer:: ; 1b5f
pop hl
pop de
ret
-; 1ba5
.MovementData:
slow_step DOWN
@@ -133,9 +127,8 @@ ComputePathToWalkToPlayer:: ; 1b5f
big_step UP
big_step LEFT
big_step RIGHT
-; 1bb1
-SetMenuAttributes:: ; 1bb1
+SetMenuAttributes::
push hl
push bc
ld hl, w2DMenuCursorInitY
@@ -156,21 +149,18 @@ SetMenuAttributes:: ; 1bb1
pop bc
pop hl
ret
-; 1bc9
-StaticMenuJoypad:: ; 1bc9
+StaticMenuJoypad::
callfar _StaticMenuJoypad
call GetMenuJoypad
ret
-; 1bd3
-ScrollingMenuJoypad:: ; 1bd3
+ScrollingMenuJoypad::
callfar _ScrollingMenuJoypad
call GetMenuJoypad
ret
-; 1bdd
-GetMenuJoypad:: ; 1bdd
+GetMenuJoypad::
push bc
push af
ld a, [hJoyLast]
@@ -184,23 +174,19 @@ GetMenuJoypad:: ; 1bdd
ld a, b
pop bc
ret
-; 1bee
-PlaceHollowCursor:: ; 1bee
+PlaceHollowCursor::
ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
ld l, a
ld [hl], "▷"
ret
-; 1bf7
-HideCursor:: ; 1bf7
+HideCursor::
ld hl, wCursorCurrentTile
ld a, [hli]
ld h, [hl]
ld l, a
ld [hl], " "
ret
-; 1c00
-
diff --git a/home/names.asm b/home/names.asm
index 90a15c093..e9c36fc1d 100644
--- a/home/names.asm
+++ b/home/names.asm
@@ -1,4 +1,4 @@
-NamesPointers:: ; 33ab
+NamesPointers::
; entries correspond to GetName constants (see constants/text_constants.asm)
dba PokemonNames ; MON_NAME (not used; jumps to GetPokemonName)
dba MoveNames ; MOVE_NAME
@@ -8,9 +8,8 @@ NamesPointers:: ; 33ab
dbw 0, wOTPartyMonOT ; ENEMY_OT_NAME
dba TrainerClassNames ; TRAINER_NAME
dbw 4, MoveDescriptions ; MOVE_DESC_NAME_BROKEN (wrong bank)
-; 33c3
-GetName:: ; 33c3
+GetName::
; Return name wCurSpecies from name list wNamedObjectTypeBuffer in wStringBuffer1.
ld a, [hROMBank]
@@ -67,9 +66,8 @@ GetName:: ; 33c3
pop af
rst Bankswitch
ret
-; 3411
-GetNthString:: ; 3411
+GetNthString::
; Return the address of the
; ath string starting from hl.
@@ -87,9 +85,8 @@ GetNthString:: ; 3411
jr nz, .readChar
pop bc
ret
-; 3420
-GetBasePokemonName:: ; 3420
+GetBasePokemonName::
; Discards gender (Nidoran).
push hl
@@ -112,9 +109,7 @@ GetBasePokemonName:: ; 3420
pop hl
ret
-; 343b
-
-GetPokemonName:: ; 343b
+GetPokemonName::
; Get Pokemon name wd265.
ld a, [hROMBank]
@@ -150,9 +145,8 @@ GetPokemonName:: ; 343b
pop af
rst Bankswitch
ret
-; 3468
-GetItemName:: ; 3468
+GetItemName::
; Get item name wd265.
push hl
@@ -174,9 +168,8 @@ GetItemName:: ; 3468
pop bc
pop hl
ret
-; 3487
-GetTMHMName:: ; 3487
+GetTMHMName::
; Get TM/HM name by item id wd265.
push hl
@@ -257,11 +250,10 @@ GetTMHMName:: ; 3487
db "HM"
.HMTextEnd:
db "@"
-; 34df
INCLUDE "home/hm_moves.asm"
-GetMoveName:: ; 34f8
+GetMoveName::
push hl
ld a, MOVE_NAME
@@ -275,4 +267,3 @@ GetMoveName:: ; 34f8
pop hl
ret
-; 350c
diff --git a/home/palettes.asm b/home/palettes.asm
index e8996c160..d5b6abff5 100644
--- a/home/palettes.asm
+++ b/home/palettes.asm
@@ -1,7 +1,6 @@
; Functions dealing with palettes.
-
-UpdatePalsIfCGB:: ; c2f
+UpdatePalsIfCGB::
; update bgp data from wBGPals2
; update obp data from wOBPals2
; return carry if successful
@@ -11,17 +10,14 @@ UpdatePalsIfCGB:: ; c2f
and a
ret z
-
-UpdateCGBPals:: ; c33
+UpdateCGBPals::
; return carry if successful
; any pals to update?
ld a, [hCGBPalUpdate]
and a
ret z
-
-ForceUpdateCGBPals:: ; c37
-
+ForceUpdateCGBPals::
ld a, [rSVBK]
push af
ld a, BANK(wBGPals2)
@@ -68,10 +64,8 @@ endr
scf
ret
-; c9f
-
-DmgToCgbBGPals:: ; c9f
+DmgToCgbBGPals::
; exists to forego reinserting cgb-converted image data
; input: a -> bgp
@@ -114,10 +108,8 @@ DmgToCgbBGPals:: ; c9f
.end
pop af
ret
-; ccb
-
-DmgToCgbObjPals:: ; ccb
+DmgToCgbObjPals::
; exists to forego reinserting cgb-converted image data
; input: d -> obp1
@@ -160,10 +152,8 @@ DmgToCgbObjPals:: ; ccb
pop de
pop hl
ret
-; cf8
-
-DmgToCgbObjPal0:: ; cf8
+DmgToCgbObjPal0::
ld [rOBP0], a
push af
@@ -200,9 +190,8 @@ DmgToCgbObjPal0:: ; cf8
.dmg
pop af
ret
-; d24
-DmgToCgbObjPal1:: ; d24
+DmgToCgbObjPal1::
ld [rOBP1], a
push af
@@ -238,11 +227,8 @@ DmgToCgbObjPal1:: ; d24
.dmg
pop af
ret
-; d50
-
-
-CopyPals:: ; d50
+CopyPals::
; copy c palettes in order b from de to hl
push bc
@@ -293,10 +279,8 @@ endr
dec c
jr nz, CopyPals
ret
-; d79
-
-ClearVBank1:: ; d79
+ClearVBank1::
ld a, [hCGB]
and a
ret z
@@ -312,15 +296,11 @@ ClearVBank1:: ; d79
ld a, 0
ld [rVBK], a
ret
-; d90
-
-ret_d90:: ; d90
+ret_d90::
ret
-; d91
-
-ReloadSpritesNoPalettes:: ; d91
+ReloadSpritesNoPalettes::
ld a, [hCGB]
and a
ret z
@@ -338,15 +318,11 @@ ReloadSpritesNoPalettes:: ; d91
ld [hCGBPalUpdate], a
call DelayFrame
ret
-; db1
-
-FarCallSwapTextboxPalettes:: ; db1
+FarCallSwapTextboxPalettes::
homecall SwapTextboxPalettes
ret
-; dbd
-FarCallScrollBGMapPalettes:: ; dbd
+FarCallScrollBGMapPalettes::
homecall ScrollBGMapPalettes
ret
-; dc9
diff --git a/home/pokedex_flags.asm b/home/pokedex_flags.asm
index e9ca2163e..809341509 100644
--- a/home/pokedex_flags.asm
+++ b/home/pokedex_flags.asm
@@ -1,4 +1,4 @@
-SetSeenAndCaughtMon:: ; 3380
+SetSeenAndCaughtMon::
push af
ld c, a
ld hl, wPokedexCaught
@@ -6,33 +6,28 @@ SetSeenAndCaughtMon:: ; 3380
call PokedexFlagAction
pop af
; fallthrough
-; 338b
-SetSeenMon:: ; 338b
+SetSeenMon::
ld c, a
ld hl, wPokedexSeen
ld b, SET_FLAG
jr PokedexFlagAction
-; 3393
-CheckCaughtMon:: ; 3393
+CheckCaughtMon::
ld c, a
ld hl, wPokedexCaught
ld b, CHECK_FLAG
jr PokedexFlagAction
-; 339b
-CheckSeenMon:: ; 339b
+CheckSeenMon::
ld c, a
ld hl, wPokedexSeen
ld b, CHECK_FLAG
; fallthrough
-; 33a1
-PokedexFlagAction:: ; 33a1
+PokedexFlagAction::
ld d, 0
predef SmallFarFlagAction
ld a, c
and a
ret
-; 33ab
diff --git a/home/predef.asm b/home/predef.asm
index f03bdaa94..e829bdc00 100644
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -1,4 +1,4 @@
-Predef:: ; 2d83
+Predef::
; Call predefined function a.
; Preserves bc, de, hl and f.
@@ -50,4 +50,3 @@ Predef:: ; 2d83
ld a, [wPredefTemp + 1]
ld l, a
ret
-; 2dba
diff --git a/home/print_bcd.asm b/home/print_bcd.asm
index aecf8eb96..4f93c866f 100644
--- a/home/print_bcd.asm
+++ b/home/print_bcd.asm
@@ -1,4 +1,4 @@
-PrintBCDNumber:: ; 38bb
+PrintBCDNumber::
; function to print a BCD (Binary-coded decimal) number
; de = address of BCD number
; hl = destination address
@@ -48,9 +48,8 @@ PrintBCDNumber:: ; 38bb
inc hl
.done
ret
-; 0x38f2
-PrintBCDDigit:: ; 38f2
+PrintBCDDigit::
and %00001111
and a
jr z, .zeroDigit
@@ -78,4 +77,3 @@ PrintBCDDigit:: ; 38f2
ld a, " "
ld [hli], a ; if right-aligned, "print" a space by advancing the pointer
ret
-; 0x3917
diff --git a/home/print_level.asm b/home/print_level.asm
index 578c7cd78..2ebbbf980 100644
--- a/home/print_level.asm
+++ b/home/print_level.asm
@@ -1,4 +1,4 @@
-PrintLevel:: ; 382d
+PrintLevel::
; Print wTempMonLevel at hl
ld a, [wTempMonLevel]
@@ -14,18 +14,15 @@ PrintLevel:: ; 382d
dec hl
inc c
jr Print8BitNumRightAlign
-; 383d
-PrintLevel_Force3Digits:: ; 383d
+PrintLevel_Force3Digits::
; Print :L and all 3 digits
ld [hl], "<LV>"
inc hl
ld c, 3
-; 3842
-Print8BitNumRightAlign:: ; 3842
+Print8BitNumRightAlign::
ld [wd265], a
ld de, wd265
ld b, PRINTNUM_RIGHTALIGN | 1
jp PrintNum
-; 384d
diff --git a/home/print_text.asm b/home/print_text.asm
index 66f0b5e01..8a8a7dd9f 100644
--- a/home/print_text.asm
+++ b/home/print_text.asm
@@ -1,4 +1,4 @@
-PrintLetterDelay:: ; 313d
+PrintLetterDelay::
; Wait before printing the next letter.
; The text speed setting in wOptions is actually a frame count:
@@ -79,9 +79,8 @@ PrintLetterDelay:: ; 313d
pop de
pop hl
ret
-; 318c
-CopyDataUntil:: ; 318c
+CopyDataUntil::
; Copy [hl .. bc) to de.
; In other words, the source data is
@@ -98,19 +97,16 @@ CopyDataUntil:: ; 318c
cp c
jr nz, CopyDataUntil
ret
-; 0x3198
-PrintNum:: ; 3198
+PrintNum::
homecall _PrintNum
ret
-; 31a4
-MobilePrintNum:: ; 31a4
+MobilePrintNum::
homecall _MobilePrintNum
ret
-; 31b0
-FarPrintText:: ; 31b0
+FarPrintText::
ld [hBuffer], a
ld a, [hROMBank]
push af
@@ -122,4 +118,3 @@ FarPrintText:: ; 31b0
pop af
rst Bankswitch
ret
-; 31be
diff --git a/home/random.asm b/home/random.asm
index ceefdce6f..e436e4ff6 100644
--- a/home/random.asm
+++ b/home/random.asm
@@ -1,4 +1,4 @@
-Random:: ; 2f8c
+Random::
; A simple hardware-based random number generator (RNG).
; Two random numbers are generated by adding and subtracting
@@ -27,9 +27,8 @@ Random:: ; 2f8c
pop bc
ret
-; 2f9f
-BattleRandom:: ; 2f9f
+BattleRandom::
; _BattleRandom lives in another bank.
; It handles all RNG calls in the battle engine, allowing
@@ -47,10 +46,8 @@ BattleRandom:: ; 2f9f
rst Bankswitch
ld a, [wPredefTemp + 1]
ret
-; 2fb1
-
-RandomRange:: ; 2fb1
+RandomRange::
; Return a random number between 0 and a (non-inclusive).
push bc
@@ -81,4 +78,3 @@ RandomRange:: ; 2fb1
pop bc
ret
-; 2fcb
diff --git a/home/region.asm b/home/region.asm
index 00fe1dd47..4cb3d4768 100644
--- a/home/region.asm
+++ b/home/region.asm
@@ -1,4 +1,4 @@
-IsInJohto:: ; 2f17
+IsInJohto::
; Return 0 if the player is in Johto, and 1 in Kanto.
ld a, [wMapGroup]
@@ -30,4 +30,3 @@ IsInJohto:: ; 2f17
.Kanto:
ld a, 1
ret
-; 2f3e
diff --git a/home/rtc.asm b/home/rtc.asm
index 9b8bc4ac3..0e5550485 100644
--- a/home/rtc.asm
+++ b/home/rtc.asm
@@ -1,4 +1,4 @@
-RTC:: ; 46f
+RTC::
; update time and time-sensitive palettes
; rtc enabled?
@@ -13,12 +13,10 @@ RTC:: ; 46f
bit 0, a ; obj update
ret z
-TimeOfDayPals:: ; 47e
+TimeOfDayPals::
callfar _TimeOfDayPals
ret
-; 485
-UpdateTimePals:: ; 485
+UpdateTimePals::
callfar _UpdateTimePals
ret
-; 48c
diff --git a/home/scrolling_menu.asm b/home/scrolling_menu.asm
index cb7d7b1c5..cf8e02fa8 100644
--- a/home/scrolling_menu.asm
+++ b/home/scrolling_menu.asm
@@ -1,4 +1,4 @@
-ScrollingMenu:: ; 350c
+ScrollingMenu::
call CopyMenuData
ld a, [hROMBank]
push af
@@ -15,16 +15,14 @@ ScrollingMenu:: ; 350c
ld a, [wMenuJoypad]
ret
-; 3524
-.UpdatePalettes: ; 3524
+.UpdatePalettes:
ld hl, wVramState
bit 0, [hl]
jp nz, UpdateTimePals
jp SetPalettes
-; 352f
-InitScrollingMenu:: ; 352f
+InitScrollingMenu::
ld a, [wMenuBorderTopCoord]
dec a
ld b, a
@@ -41,9 +39,8 @@ InitScrollingMenu:: ; 352f
call Coord2Tile
pop bc
jp TextBox
-; 354b
-JoyTextDelay_ForcehJoyDown:: ; 354b joypad
+JoyTextDelay_ForcehJoyDown::
call DelayFrame
ld a, [hInMenu]
@@ -62,4 +59,3 @@ JoyTextDelay_ForcehJoyDown:: ; 354b joypad
or c
ld c, a
ret
-; 3567
diff --git a/home/serial.asm b/home/serial.asm
index c32e559dd..663f74d3b 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -1,4 +1,4 @@
-Serial:: ; 6ef
+Serial::
; The serial interrupt.
push af
@@ -87,9 +87,8 @@ Serial:: ; 6ef
pop bc
pop af
reti
-; 75f
-Serial_ExchangeBytes:: ; 75f
+Serial_ExchangeBytes::
ld a, $1
ld [hSerialIgnoringInitialData], a
.loop
@@ -123,9 +122,8 @@ Serial_ExchangeBytes:: ; 75f
or c
jr nz, .loop
ret
-; 78a
-Serial_ExchangeByte:: ; 78a
+Serial_ExchangeByte::
.loop
xor a
ld [hSerialReceivedNewData], a
@@ -232,27 +230,24 @@ Serial_ExchangeByte:: ; 78a
dec a
jr nz, .delay_cycles
ret
-; 82b
-CheckwLinkTimeoutFramesNonzero:: ; 82b
+CheckwLinkTimeoutFramesNonzero::
push hl
ld hl, wLinkTimeoutFrames
ld a, [hli]
or [hl]
pop hl
ret
-; 833
-SerialDisconnected:: ; 833
+SerialDisconnected::
dec a ; a is always 0 when this is called
ld [wLinkTimeoutFrames], a
ld [wLinkTimeoutFrames + 1], a
ret
-; 83b
; This is used to exchange the button press and selected menu item on the link menu.
; The data is sent thrice and read twice to increase reliability.
-Serial_ExchangeLinkMenuSelection:: ; 83b
+Serial_ExchangeLinkMenuSelection::
ld hl, wPlayerLinkAction
ld de, wOtherPlayerLinkMode
ld c, 2
@@ -276,24 +271,21 @@ Serial_ExchangeLinkMenuSelection:: ; 83b
dec c
jr nz, .asm_847
ret
-; 862
-Serial_PrintWaitingTextAndSyncAndExchangeNybble:: ; 862
+Serial_PrintWaitingTextAndSyncAndExchangeNybble::
call LoadTileMapToTempTileMap
callfar PlaceWaitingText
call WaitLinkTransfer
jp Call_LoadTempTileMapToTileMap
-; 871
-Serial_SyncAndExchangeNybble:: ; 871
+Serial_SyncAndExchangeNybble::
call LoadTileMapToTempTileMap
callfar PlaceWaitingText
jp WaitLinkTransfer
-; 87d
; One "giant" leap for machinekind
-WaitLinkTransfer:: ; 87d
+WaitLinkTransfer::
ld a, $ff
ld [wOtherPlayerLinkAction], a
.loop
@@ -338,9 +330,8 @@ WaitLinkTransfer:: ; 87d
ld a, [wOtherPlayerLinkAction]
ld [wOtherPlayerLinkMode], a
ret
-; 8c1
-LinkTransfer:: ; 8c1
+LinkTransfer::
push bc
ld b, SERIAL_TIMECAPSULE
ld a, [wLinkMode]
@@ -370,9 +361,8 @@ LinkTransfer:: ; 8c1
call .Receive
pop bc
ret
-; 8f3
-.Receive: ; 8f3
+.Receive:
ld a, [hSerialReceive]
ld [wOtherPlayerLinkMode], a
and $f0
@@ -384,9 +374,8 @@ LinkTransfer:: ; 8c1
and $f
ld [wOtherPlayerLinkAction], a
ret
-; 908
-LinkDataReceived:: ; 908
+LinkDataReceived::
; Let the other system know that the data has been received.
xor a
ld [hSerialSend], a
@@ -398,9 +387,8 @@ LinkDataReceived:: ; 908
ld a, (1 << rSC_ON) | 1
ld [rSC], a
ret
-; 919
-Unreferenced_Function919:: ; 919
+Unreferenced_Function919::
ld a, [wLinkMode]
and a
ret nz
@@ -413,4 +401,3 @@ Unreferenced_Function919:: ; 919
ld a, 1 << rSC_ON
ld [rSC], a
ret
-; 92e
diff --git a/home/sine.asm b/home/sine.asm
index a32a31612..821f7c47d 100644
--- a/home/sine.asm
+++ b/home/sine.asm
@@ -1,10 +1,9 @@
-Cosine:: ; 1b0f
+Cosine::
; a = d * cos(a * pi/32)
add %010000 ; cos(x) = sin(x + pi/2)
; fallthrough
-Sine:: ; 1b11
+Sine::
; a = d * sin(a * pi/32)
ld e, a
homecall _Sine
ret
-; 1b1e
diff --git a/home/sprite_anims.asm b/home/sprite_anims.asm
index b5a3fce56..5f3ef82d2 100644
--- a/home/sprite_anims.asm
+++ b/home/sprite_anims.asm
@@ -1,4 +1,4 @@
-PushLYOverrides:: ; 3b0c
+PushLYOverrides::
ld a, [hLCDCPointer]
and a
ret z
@@ -16,9 +16,8 @@ PushLYOverrides:: ; 3b0c
ld a, (wLYOverridesEnd - wLYOverrides) / 16
ld [wRequested2bpp], a
ret
-; 3b2a
-_InitSpriteAnimStruct:: ; 3b2a
+_InitSpriteAnimStruct::
ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
@@ -33,9 +32,8 @@ _InitSpriteAnimStruct:: ; 3b2a
rst Bankswitch
ret
-; 3b3c
-ReinitSpriteAnimFrame:: ; 3b3c
+ReinitSpriteAnimFrame::
ld [wSpriteAnimIDBuffer], a
ld a, [hROMBank]
push af
@@ -50,4 +48,3 @@ ReinitSpriteAnimFrame:: ; 3b3c
rst Bankswitch
ret
-; 3b4e
diff --git a/home/sprite_updates.asm b/home/sprite_updates.asm
index 121afc87b..d263363a6 100644
--- a/home/sprite_updates.asm
+++ b/home/sprite_updates.asm
@@ -1,4 +1,4 @@
-DisableSpriteUpdates:: ; 0x2ed3
+DisableSpriteUpdates::
xor a
ld [hMapAnims], a
ld a, [wVramState]
@@ -7,9 +7,8 @@ DisableSpriteUpdates:: ; 0x2ed3
ld a, $0
ld [wSpriteUpdatesEnabled], a
ret
-; 0x2ee4
-EnableSpriteUpdates:: ; 2ee4
+EnableSpriteUpdates::
ld a, $1
ld [wSpriteUpdatesEnabled], a
ld a, [wVramState]
@@ -18,4 +17,3 @@ EnableSpriteUpdates:: ; 2ee4
ld a, $1
ld [hMapAnims], a
ret
-; 2ef6
diff --git a/home/sram.asm b/home/sram.asm
index 4cfe14cf9..1b1a4f318 100644
--- a/home/sram.asm
+++ b/home/sram.asm
@@ -1,12 +1,11 @@
-GetSRAMBank:: ; 2fcb
+GetSRAMBank::
; load sram bank a
; if invalid bank, sram is disabled
cp NUM_SRAM_BANKS
jr c, OpenSRAM
jr CloseSRAM
-; 2fd1
-OpenSRAM:: ; 2fd1
+OpenSRAM::
; switch to sram bank a
push af
; latch clock data
@@ -19,9 +18,8 @@ OpenSRAM:: ; 2fd1
pop af
ld [MBC3SRamBank], a
ret
-; 2fe1
-CloseSRAM:: ; 2fe1
+CloseSRAM::
push af
ld a, SRAM_DISABLE
; reset clock latch for next time
@@ -30,4 +28,3 @@ CloseSRAM:: ; 2fe1
ld [MBC3SRamEnable], a
pop af
ret
-; 2fec
diff --git a/home/stone_queue.asm b/home/stone_queue.asm
index d41db6fd7..b635cee16 100644
--- a/home/stone_queue.asm
+++ b/home/stone_queue.asm
@@ -1,4 +1,4 @@
-HandleStoneQueue:: ; 3567
+HandleStoneQueue::
ld a, [hROMBank]
push af
@@ -9,9 +9,8 @@ HandleStoneQueue:: ; 3567
ld a, b
rst Bankswitch
ret
-; 3574
-.WarpAction: ; 3574
+.WarpAction:
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, de
ld a, [hl]
@@ -35,9 +34,8 @@ HandleStoneQueue:: ; 3567
.nope
and a
ret
-; 3599
-.IsObjectOnWarp: ; 3599
+.IsObjectOnWarp:
push de
ld hl, OBJECT_NEXT_MAP_X
@@ -56,9 +54,8 @@ HandleStoneQueue:: ; 3567
pop de
ret
-; 35b0
-.check_on_warp ; 35b0
+.check_on_warp
ld hl, wCurrMapWarpsPointer
ld a, [hli]
ld h, [hl]
@@ -102,9 +99,8 @@ HandleStoneQueue:: ; 3567
inc a
scf
ret
-; 35de
-.IsObjectInStoneTable: ; 35de
+.IsObjectInStoneTable:
inc e
ld hl, CMDQUEUE_ADDR
add hl, bc
@@ -140,4 +136,3 @@ HandleStoneQueue:: ; 3567
.yes
scf
ret
-; 3600
diff --git a/home/string.asm b/home/string.asm
index 492246832..702ab50ff 100644
--- a/home/string.asm
+++ b/home/string.asm
@@ -1,14 +1,13 @@
-InitString:: ; 2ef6
+InitString::
; Init a string of length c.
push hl
jr _InitString
-; 2ef9
-InitName:: ; 2ef9
+InitName::
; Intended for names, so this function is limited to ten characters.
push hl
ld c, 10
-_InitString:: ; 2efc
+_InitString::
; if the string pointed to by hl is empty (defined as "zero or more spaces
; followed by a null"), then initialize it to the string pointed to by de.
push bc
@@ -34,4 +33,3 @@ _InitString:: ; 2efc
pop bc
pop hl
ret
-; 2f17
diff --git a/home/text.asm b/home/text.asm
index a1f6b75eb..ef952942d 100644
--- a/home/text.asm
+++ b/home/text.asm
@@ -1,4 +1,4 @@
-ClearBox:: ; fb6
+ClearBox::
; Fill a c*b box at hl with blank tiles.
ld a, " "
; fallthrough
@@ -18,10 +18,8 @@ FillBoxWithByte::
dec b
jr nz, .row
ret
-; fc8
-
-ClearTileMap:: ; fc8
+ClearTileMap::
; Fill wTileMap with blank tiles.
hlcoord 0, 0
@@ -34,19 +32,15 @@ ClearTileMap:: ; fc8
bit rLCDC_ENABLE, a
ret z
jp WaitBGMap
-; fdb
-
-ClearScreen:: ; fdb
+ClearScreen::
ld a, PAL_BG_TEXT
hlcoord 0, 0, wAttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
call ByteFill
jr ClearTileMap
-; fe8
-
-TextBox:: ; fe8
+TextBox::
; Draw a text box at hl with room for b lines of c characters each.
; Places a border around the textbox, then switches the palette to the
; text black-and-white scheme.
@@ -56,11 +50,8 @@ TextBox:: ; fe8
pop hl
pop bc
jr TextBoxPalette
-; ff1
-
-
-TextBoxBorder:: ; ff1
+TextBoxBorder::
; Top
push hl
ld a, "┌"
@@ -96,9 +87,8 @@ TextBoxBorder:: ; ff1
ld [hl], "┘"
ret
-; 101e
-.PlaceChars: ; 101e
+.PlaceChars:
; Place char a c times.
ld d, c
.loop
@@ -106,10 +96,8 @@ TextBoxBorder:: ; ff1
dec d
jr nz, .loop
ret
-; 1024
-
-TextBoxPalette:: ; 1024
+TextBoxPalette::
; Fill text box width c height b at hl with pal 7
ld de, wAttrMap - wTileMap
add hl, de
@@ -132,58 +120,49 @@ TextBoxPalette:: ; 1024
dec b
jr nz, .col
ret
-; 103e
-
-SpeechTextBox:: ; 103e
+SpeechTextBox::
; Standard textbox.
hlcoord TEXTBOX_X, TEXTBOX_Y
ld b, TEXTBOX_INNERH
ld c, TEXTBOX_INNERW
jp TextBox
-; 1048
-TestText:: ; 1048
+TestText::
text "ゲームフりーク!"
done
-; 1052
-RadioTerminator:: ; 1052
+RadioTerminator::
ld hl, .stop
ret
.stop db "@"
-; 1057
-
-PrintText:: ; 1057
+PrintText::
call SetUpTextBox
-BuenaPrintText:: ; 105a
+BuenaPrintText::
push hl
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
call ClearBox
pop hl
-PrintTextBoxText:: ; 1065
+PrintTextBoxText::
bccoord TEXTBOX_INNERX, TEXTBOX_INNERY
call PlaceHLTextAtBC
ret
-; 106c
-SetUpTextBox:: ; 106c
+SetUpTextBox::
push hl
call SpeechTextBox
call UpdateSprites
call ApplyTilemap
pop hl
ret
-; 1078
-
-PlaceString:: ; 1078
+PlaceString::
push hl
-PlaceNextChar:: ; 1079
+PlaceNextChar::
ld a, [de]
cp "@"
jr nz, CheckDict
@@ -193,32 +172,36 @@ PlaceNextChar:: ; 1079
ret
pop de
-NextChar:: ; 1083
+NextChar::
inc de
jp PlaceNextChar
-CheckDict:: ; 1087
+CheckDict::
dict: MACRO
-if \1 == 0
+if \1 == "<NULL>"
and a
else
cp \1
endc
- jp z, \2
-ENDM
-dict2: MACRO
- cp \1
+if STRSUB("\2", 1, 1) == "\""
+; Replace a character with another one
jr nz, ._\@
ld a, \2
._\@:
+elif STRSUB("\2", 1, 1) == "."
+; Locals can use a short jump
+ jr z, \2
+else
+ jp z, \2
+endc
ENDM
- dict TX_DAY, DayOfWeekChar
+ dict "<MOBILE>", MobileScriptChar
dict "<LINE>", LineChar
dict "<NEXT>", NextLineChar
- dict TX_FAR, TextFar
- dict TX_START, NullChar
+ dict "<CR>", CarriageReturnChar
+ dict "<NULL>", NullChar
dict "<SCROLL>", _ContTextNoPause
dict "<_CONT>", _ContText
dict "<PARA>", Paragraph
@@ -236,7 +219,7 @@ ENDM
dict "<TM>", TMChar
dict "<TRAINER>", TrainerChar
dict "<KOUGEKI>", PlaceKougeki
- dict "<LNBRK>", LineBreakChar
+ dict "<LF>", LineFeedChar
dict "<CONT>", ContText
dict "<……>", SixDotsChar
dict "<DONE>", DoneText
@@ -244,17 +227,14 @@ ENDM
dict "<PKMN>", PlacePKMN
dict "<POKE>", PlacePOKE
dict "%", NextChar
- dict2 "¯", " "
+ dict "¯", " "
dict "<DEXEND>", PlaceDexEnd
dict "<TARGET>", PlaceMoveTargetsName
dict "<USER>", PlaceMoveUsersName
dict "<ENEMY>", PlaceEnemysName
dict "<PLAY_G>", PlaceGenderedPlayerName
-
- cp "゚"
- jr z, .place ; should be .diacritic
- cp "゙"
- jr z, .place ; should be .diacritic
+ dict "゚", .place ; should be .diacritic
+ dict "゙", .place ; should be .diacritic
jr .not_diacritic
.diacritic
@@ -296,16 +276,12 @@ ENDM
ld [hli], a
call PrintLetterDelay
jp NextChar
-; 0x117b
-
-DayOfWeekChar:: ; 117b
+MobileScriptChar::
ld c, l
ld b, h
- farcall Function17f036
+ farcall RunMobileScript
jp PlaceNextChar
-; 1186
-
print_name: MACRO
push de
@@ -313,35 +289,34 @@ print_name: MACRO
jp PlaceCommandCharacter
ENDM
-PrintMomsName: print_name wMomsName ; 1186
-PrintPlayerName: print_name wPlayerName ; 118d
-PrintRivalName: print_name wRivalName ; 1194
-PrintRedsName: print_name wRedsName ; 119b
-PrintGreensName: print_name wGreensName ; 11a2
-
-TrainerChar: print_name TrainerCharText ; 11a9
-TMChar: print_name TMCharText ; 11b0
-PCChar: print_name PCCharText ; 11b7
-RocketChar: print_name RocketCharText ; 11be
-PlacePOKe: print_name PlacePOKeText ; 11c5
-PlaceKougeki: print_name KougekiText ; 11cc
-SixDotsChar: print_name SixDotsCharText ; 11d3
-PlacePKMN: print_name PlacePKMNText ; 11da
-PlacePOKE: print_name PlacePOKEText ; 11e1
-PlaceJPRoute: print_name PlaceJPRouteText ; 11e8
-PlaceWatashi: print_name PlaceWatashiText ; 11ef
-PlaceKokoWa: print_name PlaceKokoWaText ; 11f6
-
-
-PlaceMoveTargetsName:: ; 11fd
+PrintMomsName: print_name wMomsName
+PrintPlayerName: print_name wPlayerName
+PrintRivalName: print_name wRivalName
+PrintRedsName: print_name wRedsName
+PrintGreensName: print_name wGreensName
+
+TrainerChar: print_name TrainerCharText
+TMChar: print_name TMCharText
+PCChar: print_name PCCharText
+RocketChar: print_name RocketCharText
+PlacePOKe: print_name PlacePOKeText
+PlaceKougeki: print_name KougekiText
+SixDotsChar: print_name SixDotsCharText
+PlacePKMN: print_name PlacePKMNText
+PlacePOKE: print_name PlacePOKEText
+PlaceJPRoute: print_name PlaceJPRouteText
+PlaceWatashi: print_name PlaceWatashiText
+PlaceKokoWa: print_name PlaceKokoWaText
+
+PlaceMoveTargetsName::
ld a, [hBattleTurn]
xor 1
jr PlaceMoveUsersName.place
-PlaceMoveUsersName:: ; 1203
+PlaceMoveUsersName::
ld a, [hBattleTurn]
-.place: ; 1205
+.place:
push de
and a
jr nz, .enemy
@@ -357,8 +332,7 @@ PlaceMoveUsersName:: ; 1203
ld de, wEnemyMonNick
jr PlaceCommandCharacter
-
-PlaceEnemysName:: ; 121b
+PlaceEnemysName::
push de
ld a, [wLinkMode]
@@ -391,8 +365,7 @@ PlaceEnemysName:: ; 121b
ld de, wOTClassName
jr PlaceCommandCharacter
-
-PlaceGenderedPlayerName:: ; 1252
+PlaceGenderedPlayerName::
push de
ld de, wPlayerName
call PlaceString
@@ -405,14 +378,12 @@ PlaceGenderedPlayerName:: ; 1252
ld de, ChanSuffixText
jr PlaceCommandCharacter
-
-PlaceCommandCharacter:: ; 126a
+PlaceCommandCharacter::
call PlaceString
ld h, b
ld l, c
pop de
jp NextChar
-; 0x1273
TMCharText:: db "TM@"
TrainerCharText:: db "TRAINER@"
@@ -431,25 +402,22 @@ PlaceWatashiText::
PlaceKokoWaText:: db "@"
KunSuffixText:: db "@"
ChanSuffixText:: db "@"
-; 12a7
-NextLineChar:: ; 12a7
+NextLineChar::
pop hl
ld bc, SCREEN_WIDTH * 2
add hl, bc
push hl
jp NextChar
-; 12b0
-LineBreakChar:: ; 12b0
+LineFeedChar::
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
push hl
jp NextChar
-; 12b9
-TextFar:: ; 12b9
+CarriageReturnChar::
pop hl
push de
ld bc, -wTileMap + $10000
@@ -489,17 +457,14 @@ TextFar:: ; 12b9
add hl, bc
push hl
jp NextChar
-; 12ea
-
-LineChar:: ; 12ea
+LineChar::
pop hl
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
push hl
jp NextChar
-; 0x12f2
-Paragraph:: ; 12f2
+Paragraph::
push de
ld a, [wLinkMode]
@@ -521,10 +486,8 @@ Paragraph:: ; 12f2
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
pop de
jp NextChar
-; 131f
-
-_ContText:: ; 131f
+_ContText::
ld a, [wLinkMode]
or a
jr nz, .communication
@@ -542,17 +505,15 @@ _ContText:: ; 131f
call z, UnloadBlinkingCursor
; fallthrough
-_ContTextNoPause:: ; 1337
+_ContTextNoPause::
push de
call TextScroll
call TextScroll
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
pop de
jp NextChar
-; 1345
-
-ContText:: ; 1345
+ContText::
push de
ld de, .cont
ld b, h
@@ -564,18 +525,15 @@ ContText:: ; 1345
jp NextChar
.cont: db "<_CONT>@"
-; 1356
-
-PlaceDexEnd:: ; 1356
+PlaceDexEnd::
; Ends a Pokédex entry in Gen 1.
; Dex entries are now regular strings.
ld [hl], "."
pop hl
ret
-; 135a
-PromptText:: ; 135a
+PromptText::
ld a, [wLinkMode]
cp LINK_COLOSSEUM
jr z, .ok
@@ -593,23 +551,21 @@ PromptText:: ; 135a
jr z, DoneText
call UnloadBlinkingCursor
-DoneText:: ; 137c
+DoneText::
pop hl
ld de, .stop
dec de
ret
.stop: db "@"
-; 1383
-NullChar:: ; 1383
+NullChar::
ld a, "?"
ld [hli], a
call PrintLetterDelay
jp NextChar
-; 138c
-TextScroll:: ; 138c
+TextScroll::
hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
decoord TEXTBOX_INNERX, TEXTBOX_INNERY - 1
ld a, TEXTBOX_INNERH - 1
@@ -640,9 +596,8 @@ TextScroll:: ; 138c
ld c, 5
call DelayFrames
ret
-; 13b6
-Text_WaitBGMap:: ; 13b6
+Text_WaitBGMap::
push bc
ld a, [hOAMUpdate]
push af
@@ -655,25 +610,21 @@ Text_WaitBGMap:: ; 13b6
ld [hOAMUpdate], a
pop bc
ret
-; 13c6
-Diacritic:: ; 13c6
+Diacritic::
ret
-; 13c7
-LoadBlinkingCursor:: ; 13c7
+LoadBlinkingCursor::
ld a, "▼"
ldcoord_a 18, 17
ret
-; 13cd
-UnloadBlinkingCursor:: ; 13cd
+UnloadBlinkingCursor::
lda_coord 17, 17
ldcoord_a 18, 17
ret
-; 13d4
-FarString:: ; 13d4
+FarString::
ld b, a
ld a, [hROMBank]
push af
@@ -685,17 +636,14 @@ FarString:: ; 13d4
pop af
rst Bankswitch
ret
-; 13e0
-PokeFluteTerminatorCharacter:: ; 13e0
+PokeFluteTerminatorCharacter::
ld hl, .stop
ret
.stop: db "@"
-; 13e5
-
-PlaceHLTextAtBC:: ; 13e5
+PlaceHLTextAtBC::
ld a, [wTextBoxFlags]
push af
set NO_TEXT_DELAY_F, a
@@ -706,9 +654,8 @@ PlaceHLTextAtBC:: ; 13e5
pop af
ld [wTextBoxFlags], a
ret
-; 13f6
-DoTextUntilTerminator:: ; 13f6
+DoTextUntilTerminator::
ld a, [hli]
cp "@"
ret z
@@ -732,37 +679,35 @@ DoTextUntilTerminator:: ; 13f6
; jp de
push de
ret
-; 1410
-TextCommands:: ; 1410
+TextCommands::
; entries correspond to TX_* constants (see macros/scripts/text.asm)
- dw Text_TX ; TX_START
- dw Text_TX_RAM ; TX_RAM
- dw Text_TX_BCD ; TX_BCD
- dw Text_TX_MOVE ; TX_MOVE
- dw Text_TX_BOX ; TX_BOX
- dw Text_TX_LOW ; TX_LOW
- dw Text_WAIT_BUTTON ; WAIT_BUTTON
- dw Text_TX_SCROLL ; TX_SCROLL
- dw Text_START_ASM ; START_ASM
- dw Text_TX_NUM ; TX_NUM
- dw Text_TX_EXIT ; TX_EXIT
- dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_50_79
- dw Text_TX_DOTS ; TX_DOTS
- dw Text_LINK_WAIT_BUTTON ; TX_LINK_WAIT_BUTTON
- dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_20_49
- dw Text_PlaySound ; TX_SOUND_ITEM
- dw Text_PlaySound ; TX_SOUND_CAUGHT_MON
- dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_80_109
- dw Text_PlaySound ; TX_SOUND_FANFARE
- dw Text_PlaySound ; TX_SOUND_SLOT_MACHINE_START
- dw Text_TX_STRINGBUFFER ; TX_STRINGBUFFER
- dw Text_TX_DAY ; TX_DAY
- dw Text_TX_FAR ; TX_FAR
-; 143e
-
-Text_TX:: ; 143e
-; TX
+ dw TextCommand_START ; TX_START
+ dw TextCommand_RAM ; TX_RAM
+ dw TextCommand_BCD ; TX_BCD
+ dw TextCommand_MOVE ; TX_MOVE
+ dw TextCommand_BOX ; TX_BOX
+ dw TextCommand_LOW ; TX_LOW
+ dw TextCommand_WAIT_BUTTON ; TX_WAIT_BUTTON
+ dw TextCommand_SCROLL ; TX_SCROLL
+ dw TextCommand_START_ASM ; TX_START_ASM
+ dw TextCommand_NUM ; TX_NUM
+ dw TextCommand_EXIT ; TX_EXIT
+ dw TextCommand_SOUND ; TX_SOUND_DEX_FANFARE_50_79
+ dw TextCommand_DOTS ; TX_DOTS
+ dw TextCommand_LINK_WAIT_BUTTON ; TX_LINK_WAIT_BUTTON
+ dw TextCommand_SOUND ; TX_SOUND_DEX_FANFARE_20_49
+ dw TextCommand_SOUND ; TX_SOUND_ITEM
+ dw TextCommand_SOUND ; TX_SOUND_CAUGHT_MON
+ dw TextCommand_SOUND ; TX_SOUND_DEX_FANFARE_80_109
+ dw TextCommand_SOUND ; TX_SOUND_FANFARE
+ dw TextCommand_SOUND ; TX_SOUND_SLOT_MACHINE_START
+ dw TextCommand_STRINGBUFFER ; TX_STRINGBUFFER
+ dw TextCommand_DAY ; TX_DAY
+ dw TextCommand_FAR ; TX_FAR
+
+TextCommand_START::
+; text_start
; write text until "@"
; [$00]["...@"]
@@ -775,9 +720,8 @@ Text_TX:: ; 143e
ld l, e
inc hl
ret
-; 1449
-Text_TX_RAM:: ; 1449
+TextCommand_RAM::
; text_from_ram
; write text from a ram address
; little endian
@@ -793,9 +737,8 @@ Text_TX_RAM:: ; 1449
call PlaceString
pop hl
ret
-; 1455
-Text_TX_FAR:: ; 1455
+TextCommand_FAR::
; text_jump
; write text from a different bank
; little endian
@@ -823,10 +766,9 @@ Text_TX_FAR:: ; 1455
ld [hROMBank], a
ld [MBC3RomBank], a
ret
-; 1470
-Text_TX_BCD:: ; 1470
-; TX_BCD
+TextCommand_BCD::
+; text_bcd
; write bcd from address, typically ram
; [$02][addr][flags]
; flags: see PrintBCDNumber
@@ -845,10 +787,9 @@ Text_TX_BCD:: ; 1470
ld c, l
pop hl
ret
-; 1480
-Text_TX_MOVE:: ; 1480
-; TX_MOVE
+TextCommand_MOVE::
+; text_move
; move to a new tile
; [$03][addr]
@@ -859,10 +800,9 @@ Text_TX_MOVE:: ; 1480
ld [wMenuScrollPosition + 2 + 1], a
ld b, a
ret
-; 148b
-Text_TX_BOX:: ; 148b
-; TX_BOX
+TextCommand_BOX::
+; text_box
; draw a box
; little endian
; [$04][addr][height][width]
@@ -881,28 +821,26 @@ Text_TX_BOX:: ; 148b
call TextBox
pop hl
ret
-; 149b
-Text_TX_LOW:: ; 149b
-; TX_LOW
+TextCommand_LOW::
+; text_low
; write text at (1,16)
; [$05]
bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
ret
-; 149f
-Text_WAIT_BUTTON:: ; 149f
-; TX_WAITBUTTON
+TextCommand_WAIT_BUTTON::
+; text_waitbutton
; wait for button press
; show arrow
; [06]
ld a, [wLinkMode]
cp LINK_COLOSSEUM
- jp z, Text_LINK_WAIT_BUTTON
+ jp z, TextCommand_LINK_WAIT_BUTTON
cp LINK_MOBILE
- jp z, Text_LINK_WAIT_BUTTON
+ jp z, TextCommand_LINK_WAIT_BUTTON
push hl
call LoadBlinkingCursor
@@ -912,9 +850,9 @@ Text_WAIT_BUTTON:: ; 149f
call UnloadBlinkingCursor
pop hl
ret
-; 14ba
-Text_TX_SCROLL:: ; 14ba
+TextCommand_SCROLL::
+; text_scroll
; pushes text up two lines and sets the BC cursor to the border tile
; below the first character column of the text box.
push hl
@@ -924,10 +862,9 @@ Text_TX_SCROLL:: ; 14ba
pop hl
bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
ret
-; 14c9
-Text_START_ASM:: ; 14c9
-; TX_ASM
+TextCommand_START_ASM::
+; start_asm
bit 7, h
jr nz, .not_rom
@@ -937,10 +874,9 @@ Text_START_ASM:: ; 14c9
ld a, "@"
ld [hl], a
ret
-; 14d2
-Text_TX_NUM:: ; 14d2
-; TX_NUM
+TextCommand_NUM::
+; deciram
; [$09][addr][hi:bytes lo:digits]
ld a, [hli]
ld e, a
@@ -963,9 +899,9 @@ Text_TX_NUM:: ; 14d2
ld c, l
pop hl
ret
-; 14ed
-Text_TX_EXIT:: ; 14ed
+TextCommand_EXIT::
+; interpret_data
push hl
push bc
call GetJoypad
@@ -978,9 +914,8 @@ Text_TX_EXIT:: ; 14ed
pop bc
pop hl
ret
-; 1500
-Text_PlaySound:: ; 1500
+TextCommand_SOUND::
; chars:
; $0b, $0e, $0f, $10, $11, $12, $13
; see TextSFX
@@ -1014,10 +949,9 @@ Text_PlaySound:: ; 1500
pop hl
pop bc
ret
-; 1522
-Unreferenced_Function1522:: ; 1522
-; TX_CRY
+Unreferenced_Function1522::
+; play_cry
push de
ld e, [hl]
inc hl
@@ -1027,9 +961,8 @@ Unreferenced_Function1522:: ; 1522
pop hl
pop bc
ret
-; 152d
-TextSFX:: ; 152d
+TextSFX::
dbw TX_SOUND_DEX_FANFARE_50_79, SFX_DEX_FANFARE_50_79
dbw TX_SOUND_FANFARE, SFX_FANFARE
dbw TX_SOUND_DEX_FANFARE_20_49, SFX_DEX_FANFARE_20_49
@@ -1038,9 +971,9 @@ TextSFX:: ; 152d
dbw TX_SOUND_DEX_FANFARE_80_109, SFX_DEX_FANFARE_80_109
dbw TX_SOUND_SLOT_MACHINE_START, SFX_SLOT_MACHINE_START
db -1
-; 1543
-Text_TX_DOTS:: ; 1543
+TextCommand_DOTS::
+; limited_interpret_data
; [$0C][num]
ld a, [hli]
ld d, a
@@ -1067,9 +1000,9 @@ Text_TX_DOTS:: ; 1543
ld c, l
pop hl
ret
-; 1562
-Text_LINK_WAIT_BUTTON:: ; 1562
+TextCommand_LINK_WAIT_BUTTON::
+; link_wait_button
; wait for key down
; display arrow
push hl
@@ -1078,9 +1011,9 @@ Text_LINK_WAIT_BUTTON:: ; 1562
pop bc
pop hl
ret
-; 156a
-Text_TX_STRINGBUFFER:: ; 156a
+TextCommand_STRINGBUFFER::
+; text_buffer
; Print a string from one of the following:
; 0: wStringBuffer3
; 1: wStringBuffer4
@@ -1107,10 +1040,9 @@ Text_TX_STRINGBUFFER:: ; 156a
call PlaceString
pop hl
ret
-; 1582
-Text_TX_DAY:: ; 1582
-; TX_DAY
+TextCommand_DAY::
+; current_day
call GetWeekday
push hl
@@ -1134,7 +1066,7 @@ Text_TX_DAY:: ; 1582
pop hl
ret
-.Days: ; 15a2
+.Days:
dw .Sun
dw .Mon
dw .Tues
@@ -1151,4 +1083,3 @@ Text_TX_DAY:: ; 1582
.Fri: db "FRI@"
.Satur: db "SATUR@"
.Day: db "DAY@"
-; 15d8
diff --git a/home/tilemap.asm b/home/tilemap.asm
index 926ed8ac4..711118ae0 100644
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -1,6 +1,6 @@
-ClearBGPalettes:: ; 31f3
+ClearBGPalettes::
call ClearPalettes
-WaitBGMap:: ; 31f6
+WaitBGMap::
; Tell VBlank to update BG Map
ld a, 1 ; BG Map 0 tiles
ld [hBGMapMode], a
@@ -8,9 +8,8 @@ WaitBGMap:: ; 31f6
ld c, 4
call DelayFrames
ret
-; 3200
-WaitBGMap2:: ; 0x3200
+WaitBGMap2::
ld a, [hCGB]
and a
jr z, .bg0
@@ -26,15 +25,13 @@ WaitBGMap2:: ; 0x3200
ld c, 4
call DelayFrames
ret
-; 0x3218
-IsCGB:: ; 3218
+IsCGB::
ld a, [hCGB]
and a
ret
-; 321c
-ApplyTilemap:: ; 321c
+ApplyTilemap::
ld a, [hCGB]
and a
jr z, .dmg
@@ -54,23 +51,20 @@ ApplyTilemap:: ; 321c
ld c, 4
call DelayFrames
ret
-; 3238
-CGBOnly_CopyTilemapAtOnce:: ; 3238
+CGBOnly_CopyTilemapAtOnce::
ld a, [hCGB]
and a
jr z, WaitBGMap
-CopyTilemapAtOnce:: ; 323d
+CopyTilemapAtOnce::
jr .CopyTilemapAtOnce
-; 323f
; unused
farcall HDMATransferAttrMapAndTileMapToWRAMBank3
ret
-; 3246
-.CopyTilemapAtOnce: ; 3246
+.CopyTilemapAtOnce:
ld a, [hBGMapMode]
push af
xor a
@@ -107,9 +101,8 @@ CopyTilemapAtOnce:: ; 323d
pop af
ld [hBGMapMode], a
ret
-; 327b
-.StackPointerMagic: ; 327b
+.StackPointerMagic:
; Copy all tiles to vBGMap
ld [hSPBuffer], sp
ld sp, hl
@@ -149,9 +142,8 @@ endr
ld h, a
ld sp, hl
ret
-; 32f9
-SetPalettes:: ; 32f9
+SetPalettes::
; Inits the Palettes
; depending on the system the monochromes palettes or color palettes
ld a, [hCGB]
@@ -172,9 +164,8 @@ SetPalettes:: ; 32f9
call DmgToCgbObjPals
pop de
ret
-; 3317
-ClearPalettes:: ; 3317
+ClearPalettes::
; Make all palettes white
; CGB: make all the palette colors white
@@ -209,11 +200,10 @@ ClearPalettes:: ; 3317
ld a, 1
ld [hCGBPalUpdate], a
ret
-; 333e
-GetMemSGBLayout:: ; 333e
+GetMemSGBLayout::
ld b, SCGB_RAM
-GetSGBLayout:: ; 3340
+GetSGBLayout::
; load sgb packets unless dmg
ld a, [hCGB]
@@ -226,4 +216,3 @@ GetSGBLayout:: ; 3340
.sgb
predef_jump LoadSGBLayout
-; 334e
diff --git a/home/time.asm b/home/time.asm
index f007fd1db..caf857a68 100644
--- a/home/time.asm
+++ b/home/time.asm
@@ -1,7 +1,6 @@
; Functions relating to the timer interrupt and the real-time-clock.
-
-AskTimer:: ; 591
+AskTimer::
push af
ld a, [hMobile]
and a
@@ -11,29 +10,23 @@ AskTimer:: ; 591
.not_mobile
pop af
reti
-; 59c
-
-LatchClock:: ; 59c
+LatchClock::
; latch clock counter data
ld a, 0
ld [MBC3LatchClock], a
ld a, 1
ld [MBC3LatchClock], a
ret
-; 5a7
-
-UpdateTime:: ; 5a7
+UpdateTime::
call GetClock
call FixDays
call FixTime
farcall GetTimeOfDay
ret
-; 5b7
-
-GetClock:: ; 5b7
+GetClock::
; store clock data in hRTCDayHi-hRTCSeconds
; enable clock r/w
@@ -72,10 +65,8 @@ GetClock:: ; 5b7
; unlatch clock / disable clock r/w
call CloseSRAM
ret
-; 5e8
-
-FixDays:: ; 5e8
+FixDays::
; fix day count
; mod by 140
@@ -134,10 +125,8 @@ FixDays:: ; 5e8
.quit
xor a
ret
-; 61d
-
-FixTime:: ; 61d
+FixTime::
; add ingame time (set at newgame) to current time
; day hr min sec
; store time in wCurDay, hHours, hMinutes, hSeconds
@@ -185,16 +174,15 @@ FixTime:: ; 61d
adc c
ld [wCurDay], a
ret
-; 658
-InitTimeOfDay:: ; 658
+InitTimeOfDay::
xor a
ld [wStringBuffer2], a
ld a, $0 ; useless
ld [wStringBuffer2 + 3], a
jr InitTime
-InitDayOfWeek:: ; 663
+InitDayOfWeek::
call UpdateTime
ld a, [hHours]
ld [wStringBuffer2 + 1], a
@@ -204,20 +192,16 @@ InitDayOfWeek:: ; 663
ld [wStringBuffer2 + 3], a
jr InitTime ; useless
-InitTime:: ; 677
+InitTime::
farcall _InitTime
ret
-; 67e
-
-
-PanicResetClock:: ; 67e
+PanicResetClock::
call .ClearhRTC
call SetClock
ret
-; 685
-.ClearhRTC: ; 685
+.ClearhRTC:
xor a
ld [hRTCSeconds], a
ld [hRTCMinutes], a
@@ -225,10 +209,8 @@ PanicResetClock:: ; 67e
ld [hRTCDayLo], a
ld [hRTCDayHi], a
ret
-; 691
-
-SetClock:: ; 691
+SetClock::
; set clock data from hram
; enable clock r/w
@@ -274,10 +256,8 @@ SetClock:: ; 691
; cleanup
call CloseSRAM ; unlatch clock, disable clock r/w
ret
-; 6c4
-
-ClearRTCStatus:: ; 6c4
+ClearRTCStatus::
; clear sRTCStatusFlags
xor a
push af
@@ -287,9 +267,8 @@ ClearRTCStatus:: ; 6c4
ld [sRTCStatusFlags], a
call CloseSRAM
ret
-; 6d3
-RecordRTCStatus:: ; 6d3
+RecordRTCStatus::
; append flags to sRTCStatusFlags
ld hl, sRTCStatusFlags
push af
@@ -300,13 +279,11 @@ RecordRTCStatus:: ; 6d3
ld [hl], a
call CloseSRAM
ret
-; 6e3
-CheckRTCStatus:: ; 6e3
+CheckRTCStatus::
; check sRTCStatusFlags
ld a, BANK(sRTCStatusFlags)
call GetSRAMBank
ld a, [sRTCStatusFlags]
call CloseSRAM
ret
-; 6ef
diff --git a/home/trainers.asm b/home/trainers.asm
index 337c67709..5def6cf17 100644
--- a/home/trainers.asm
+++ b/home/trainers.asm
@@ -1,4 +1,4 @@
-CheckTrainerBattle2:: ; 3600
+CheckTrainerBattle2::
ld a, [hROMBank]
push af
@@ -9,9 +9,8 @@ CheckTrainerBattle2:: ; 3600
ld a, b
rst Bankswitch
ret
-; 360d
-CheckTrainerBattle:: ; 360d
+CheckTrainerBattle::
; Check if any trainer on the map sees the player and wants to battle.
; Skip the player object.
@@ -21,7 +20,6 @@ CheckTrainerBattle:: ; 360d
.loop
; Start a battle if the object:
-
push af
push de
@@ -101,15 +99,14 @@ CheckTrainerBattle:: ; 360d
ld a, c
ld [wEngineBuffer3], a
jr LoadTrainer_continue
-; 3674
-TalkToTrainer:: ; 3674
+TalkToTrainer::
ld a, 1
ld [wEngineBuffer2], a
ld a, -1
ld [wEngineBuffer3], a
-LoadTrainer_continue:: ; 367e
+LoadTrainer_continue::
call GetMapScriptsBank
ld [wEngineBuffer1], a
@@ -128,19 +125,16 @@ LoadTrainer_continue:: ; 367e
ld [wRunningTrainerBattleScript], a
scf
ret
-; 36a5
-
-FacingPlayerDistance_bc:: ; 36a5
+FacingPlayerDistance_bc::
push de
call FacingPlayerDistance
ld b, d
ld c, e
pop de
ret
-; 36ad
-FacingPlayerDistance:: ; 36ad
+FacingPlayerDistance::
; Return carry if the sprite at bc is facing the player,
; and its distance in d.
@@ -208,9 +202,8 @@ FacingPlayerDistance:: ; 36ad
.NotFacing:
and a
ret
-; 36f5
-CheckTrainerFlag:: ; 36f5
+CheckTrainerFlag::
push bc
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
@@ -233,9 +226,8 @@ CheckTrainerFlag:: ; 36f5
and a
pop bc
ret
-; 3718
-PrintWinLossText:: ; 3718
+PrintWinLossText::
ld a, [wBattleType]
cp BATTLETYPE_CANLOSE
jr .canlose ; ??????????
@@ -260,4 +252,3 @@ PrintWinLossText:: ; 3718
call WaitBGMap
call WaitPressAorB_BlinkCursor
ret
-; 3741
diff --git a/home/vblank.asm b/home/vblank.asm
index 3b33b1ec5..5e87dbcdf 100644
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -6,8 +6,7 @@
; This prevents the display and audio output from lagging.
-
-VBlank:: ; 283
+VBlank::
push af
push bc
push de
@@ -34,9 +33,8 @@ VBlank:: ; 283
pop bc
pop af
reti
-; 2a1
-.VBlanks: ; 2a1
+.VBlanks:
dw VBlank0
dw VBlank1
dw VBlank2
@@ -45,10 +43,8 @@ VBlank:: ; 283
dw VBlank5
dw VBlank6
dw VBlank0 ; just in case
-; 2b1
-
-VBlank0:: ; 2b1
+VBlank0::
; normal operation
; rng
@@ -116,7 +112,6 @@ VBlank0:: ; 2b1
call hTransferVirtualOAM
.done_oam
-
; vblank-sensitive operations are done
xor a
@@ -148,10 +143,8 @@ VBlank0:: ; 2b1
ld [hSecondsBackup], a
ret
-; 325
-
-VBlank2:: ; 325
+VBlank2::
; sound only
ld a, [hROMBank]
@@ -167,10 +160,8 @@ VBlank2:: ; 325
xor a
ld [wVBlankOccurred], a
ret
-; 337
-
-VBlank1:: ; 337
+VBlank1::
; scx, scy
; palettes
; bg map
@@ -235,10 +226,8 @@ VBlank1:: ; 337
ld a, b
ld [rIF], a
ret
-; 37f
-
-UpdatePals:: ; 37f
+UpdatePals::
; update pals for either dmg or cgb
ld a, [hCGB]
@@ -255,10 +244,8 @@ UpdatePals:: ; 37f
and a
ret
-; 396
-
-VBlank3:: ; 396
+VBlank3::
; scx, scy
; palettes
; bg map
@@ -321,10 +308,8 @@ VBlank3:: ; 396
ld a, b
ld [rIF], a
ret
-; 3df
-
-VBlank4:: ; 3df
+VBlank4::
; bg map
; tiles
; oam
@@ -354,10 +339,8 @@ VBlank4:: ; 3df
ld a, [hROMBankBackup]
rst Bankswitch
ret
-; 400
-
-VBlank5:: ; 400
+VBlank5::
; scx
; palettes
; bg map
@@ -404,10 +387,8 @@ VBlank5:: ; 400
ld a, %1111 ; serial timer lcdstat vblank
ld [rIE], a
ret
-; 436
-
-VBlank6:: ; 436
+VBlank6::
; palettes
; tiles
; dma transfer
@@ -438,4 +419,3 @@ VBlank6:: ; 436
ld a, [hROMBankBackup]
rst Bankswitch
ret
-; 45a
diff --git a/home/video.asm b/home/video.asm
index 1066197ff..4b519fca0 100644
--- a/home/video.asm
+++ b/home/video.asm
@@ -1,6 +1,6 @@
; Functions dealing with VRAM.
-DMATransfer:: ; 15d8
+DMATransfer::
; Return carry if the transfer is completed.
ld a, [hDMATransfer]
@@ -16,10 +16,8 @@ DMATransfer:: ; 15d8
ld [hDMATransfer], a
scf
ret
-; 15e3
-
-UpdateBGMapBuffer:: ; 15e3
+UpdateBGMapBuffer::
; Copy [hBGMapTileCount] 16x8 tiles from wBGMapBuffer
; to bg map addresses in wBGMapBufferPtrs.
@@ -43,7 +41,6 @@ UpdateBGMapBuffer:: ; 15e3
ld hl, wBGMapPalBuffer
ld de, wBGMapBuffer
-
.next
; Copy a pair of 16x8 blocks (one 16x16 block)
@@ -83,7 +80,6 @@ endr
jr nz, .next
-
ld a, [hSPBuffer]
ld l, a
ld a, [hSPBuffer + 1]
@@ -97,10 +93,8 @@ endr
ld [hBGMapUpdate], a
scf
ret
-; 163a
-
-WaitTop:: ; 163a
+WaitTop::
; Wait until the top third of the BG Map is being updated.
ld a, [hBGMapMode]
@@ -118,10 +112,8 @@ WaitTop:: ; 163a
xor a
ld [hBGMapMode], a
ret
-; 164c
-
-UpdateBGMap:: ; 164c
+UpdateBGMap::
; Update the BG Map, in thirds, from wTileMap and wAttrMap.
ld a, [hBGMapMode]
@@ -163,7 +155,6 @@ UpdateBGMap:: ; 164c
ld [hBGMapAddress + 1], a
ret
-
.Attr:
ld a, 1
ld [rVBK], a
@@ -175,11 +166,9 @@ UpdateBGMap:: ; 164c
ld [rVBK], a
ret
-
.Tiles:
hlcoord 0, 0
-
.update
ld [hSPBuffer], sp
@@ -191,10 +180,8 @@ UpdateBGMap:: ; 164c
jr z, .middle
; 2
-
THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
-
.bottom
ld de, 2 * THIRD_HEIGHT * SCREEN_WIDTH
add hl, de
@@ -212,7 +199,6 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
xor a
jr .start
-
.middle
ld de, THIRD_HEIGHT * SCREEN_WIDTH
add hl, de
@@ -230,7 +216,6 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
ld a, 2
jr .start
-
.top
ld sp, hl
@@ -242,7 +227,6 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
; Next time: middle third
ld a, 1
-
.start
; Which third to update next time
ld [hBGMapThird], a
@@ -253,7 +237,6 @@ THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
; Discrepancy between wTileMap and BGMap
ld bc, BG_MAP_WIDTH - (SCREEN_WIDTH - 1)
-
.row
; Copy a row of 20 tiles
rept SCREEN_WIDTH / 2 - 1
@@ -272,17 +255,14 @@ endr
dec a
jr nz, .row
-
ld a, [hSPBuffer]
ld l, a
ld a, [hSPBuffer + 1]
ld h, a
ld sp, hl
ret
-; 170a
-
-Serve1bppRequest:: ; 170a
+Serve1bppRequest::
; Only call during the first fifth of VBlank
ld a, [wRequested1bpp]
@@ -346,7 +326,6 @@ endr
dec b
jr nz, .next
-
ld a, l
ld [wRequested1bppDest], a
ld a, h
@@ -360,10 +339,8 @@ endr
ld h, a
ld sp, hl
ret
-; 1769
-
-Serve2bppRequest:: ; 1769
+Serve2bppRequest::
; Only call during the first fifth of VBlank
ld a, [wRequested2bpp]
@@ -378,14 +355,12 @@ Serve2bppRequest:: ; 1769
ret nc
jr _Serve2bppRequest
-
-Serve2bppRequest_VBlank:: ; 1778
-
+Serve2bppRequest_VBlank::
ld a, [wRequested2bpp]
and a
ret z
-_Serve2bppRequest:: ; 177d
+_Serve2bppRequest::
; Copy [wRequested2bpp] 2bpp tiles from [wRequested2bppSource] to [wRequested2bppDest]
ld [hSPBuffer], sp
@@ -428,7 +403,6 @@ endr
dec b
jr nz, .next
-
ld a, l
ld [wRequested2bppDest], a
ld a, h
@@ -442,10 +416,8 @@ endr
ld h, a
ld sp, hl
ret
-; 17d3
-
-AnimateTileset:: ; 17d3
+AnimateTileset::
; Only call during the first fifth of VBlank
ld a, [hMapAnims]
@@ -483,4 +455,3 @@ AnimateTileset:: ; 17d3
pop af
rst Bankswitch
ret
-; 17ff
diff --git a/home/window.asm b/home/window.asm
index f3a646f9a..6d9bd5311 100644
--- a/home/window.asm
+++ b/home/window.asm
@@ -1,4 +1,4 @@
-RefreshScreen:: ; 2dba
+RefreshScreen::
call ClearWindowData
ld a, [hROMBank]
push af
@@ -12,10 +12,8 @@ RefreshScreen:: ; 2dba
pop af
rst Bankswitch
ret
-; 2dcf
-
-CloseText:: ; 2dcf
+CloseText::
ld a, [hOAMUpdate]
push af
ld a, $1
@@ -28,9 +26,8 @@ CloseText:: ; 2dcf
ld hl, wVramState
res 6, [hl]
ret
-; 2de2
-.CloseText: ; 2de2
+.CloseText:
call ClearWindowData
xor a
ld [hBGMapMode], a
@@ -45,9 +42,8 @@ CloseText:: ; 2dcf
farcall ReturnFromMapSetupScript
farcall LoadOverworldFont
ret
-; 2e08
-OpenText:: ; 2e08
+OpenText::
call ClearWindowData
ld a, [hROMBank]
push af
@@ -62,9 +58,8 @@ OpenText:: ; 2e08
rst Bankswitch
ret
-; 2e20
-_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 2e20
+_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap::
ld a, [hOAMUpdate]
push af
ld a, $1
@@ -75,9 +70,8 @@ _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:: ; 2e20
pop af
ld [hOAMUpdate], a
ret
-; 2e31
-SafeUpdateSprites:: ; 2e31
+SafeUpdateSprites::
ld a, [hOAMUpdate]
push af
ld a, [hBGMapMode]
@@ -101,4 +95,3 @@ SafeUpdateSprites:: ; 2e31
; unused
scf
ret
-; 2e50