summaryrefslogtreecommitdiff
path: root/main.asm
diff options
context:
space:
mode:
Diffstat (limited to 'main.asm')
-rw-r--r--main.asm1051
1 files changed, 130 insertions, 921 deletions
diff --git a/main.asm b/main.asm
index 304a29b3e..385f865d7 100644
--- a/main.asm
+++ b/main.asm
@@ -42,7 +42,7 @@ LoadPushOAM:: ; 4031
PushOAM: ; 403f
ld a, Sprites / $100
ld [rDMA], a
- ld a, 40
+ ld a, (SpritesEnd - Sprites) / 4 ; 40
.loop
dec a
jr nz, .loop
@@ -53,7 +53,7 @@ INCLUDE "engine/map_objects.asm"
INCLUDE "engine/intro_menu.asm"
-Function6454:: ; 6454
+ReanchorBGMap_NoOAMUpdate:: ; 6454
call DelayFrame
ld a, [hOAMUpdate]
push af
@@ -64,7 +64,8 @@ Function6454:: ; 6454
push af
xor a
ld [hBGMapMode], a
- call .Function6473
+
+ call .ReanchorBGMap
pop af
ld [hBGMapMode], a
@@ -74,16 +75,16 @@ Function6454:: ; 6454
set 6, [hl]
ret
-.Function6473:
+.ReanchorBGMap:
xor a
- ld [hFFC6], a
+ ld [hLCDCPointer], a
ld [hBGMapMode], a
ld a, $90
ld [hWY], a
call OverworldTextModeSwitch
ld a, VBGMap1 / $100
- call .Function64b9
- call Function2e20
+ call .LoadBGMapAddrIntoHRAM
+ call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
callba LoadOW_BGPal7
callba ApplyPals
ld a, $1
@@ -91,9 +92,9 @@ Function6454:: ; 6454
xor a
ld [hBGMapMode], a
ld [hWY], a
- callba Function64db ; no need to farcall
+ callba HDMATransfer_FillBGMap0WithTile60 ; no need to farcall
ld a, VBGMap0 / $100
- call .Function64b9
+ call .LoadBGMapAddrIntoHRAM
xor a
ld [wBGMapAnchor], a
ld a, VBGMap0 / $100
@@ -101,36 +102,36 @@ Function6454:: ; 6454
xor a
ld [hSCX], a
ld [hSCY], a
- call Function5958
+ call ApplyBGMapAnchorToObjects
ret
-.Function64b9: ; 64b9
+.LoadBGMapAddrIntoHRAM: ; 64b9
ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ret
-Function64bf:: ; 64bf
+LoadFonts_NoOAMUpdate:: ; 64bf
ld a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
- call .Function64cd
+ call .LoadGFX
pop af
ld [hOAMUpdate], a
ret
-.Function64cd:
+.LoadGFX:
call LoadFontsExtra
ld a, $90
ld [hWY], a
- call Function2e31
+ call SafeUpdateSprites
call LoadStandardFont
ret
-Function64db: ; 64db
+HDMATransfer_FillBGMap0WithTile60: ; 64db
ld a, [rSVBK]
push af
ld a, $6
@@ -138,7 +139,7 @@ Function64db: ; 64db
ld a, $60
ld hl, wDecompressScratch
- ld bc, wBackupAttrMap - wDecompressScratch
+ ld bc, wScratchAttrMap - wDecompressScratch
call ByteFill
ld a, wDecompressScratch / $100
ld [rHDMA1], a
@@ -932,8 +933,8 @@ StartMenu_PrintBugContestStatus: ; 24be7
ld h, b
ld l, c
inc hl
- ld c, $3
- call Function3842
+ ld c, 3
+ call Print8BitNumRightAlign
.skip_level
pop af
@@ -1174,169 +1175,7 @@ Function29fe4: ; unreferenced
ret
INCLUDE "engine/wildmons.asm"
-
-DetermineLinkBattleResult: ; 2b930
- callba UpdateEnemyMonInParty
- ld hl, PartyMon1HP
- call .CountMonsRemaining
- push bc
- ld hl, OTPartyMon1HP
- call .CountMonsRemaining
- ld a, c
- pop bc
- cp c
- jr z, .even_number_of_mons_remaining
- jr c, .defeat
- jr .victory
-
-.even_number_of_mons_remaining
- call .BothSides_CheckNumberMonsAtFullHealth
- jr z, .drawn
- ld a, e
- cp $1
- jr z, .victory
- cp $2
- jr z, .defeat
- ld hl, PartyMon1HP
- call .CalcPercentHPRemaining
- push de
- ld hl, OTPartyMon1HP
- call .CalcPercentHPRemaining
- pop hl
- ld a, d
- cp h
- jr c, .victory
- jr z, .compare_lo
- jr .defeat
-
-.compare_lo
- ld a, e
- cp l
- jr z, .drawn
- jr nc, .defeat
-
-.victory
- ld a, [wBattleResult]
- and $f0
- ld [wBattleResult], a
- ret
-
-.defeat
- ld a, [wBattleResult]
- and $f0
- add $1
- ld [wBattleResult], a
- ret
-
-.drawn
- ld a, [wBattleResult]
- and $f0
- add $2
- ld [wBattleResult], a
- ret
-
-.CountMonsRemaining: ; 2b995
- ld c, 0
- ld b, 3
- ld de, PARTYMON_STRUCT_LENGTH - 1
-.loop
- ld a, [hli]
- or [hl]
- jr nz, .not_fainted
- inc c
-
-.not_fainted
- add hl, de
- dec b
- jr nz, .loop
- ret
-
-.CalcPercentHPRemaining: ; 2b9a6
- ld de, 0
- ld c, $3
-.loop2
- ld a, [hli]
- or [hl]
- jr z, .next
- dec hl
- xor a
- ld [hDividend + 0], a
- ld a, [hli]
- ld [hDividend + 1], a
- ld a, [hli]
- ld [hDividend + 2], a
- xor a
- ld [hDividend + 3], a
- ld a, [hli]
- ld b, a
- ld a, [hld]
- srl b
- rr a
- srl b
- rr a
- ld [hDivisor], a
- ld b, $4
- call Divide
- ld a, [hQuotient + 2]
- add e
- ld e, a
- ld a, [hQuotient + 1]
- adc d
- ld d, a
- dec hl
-
-.next
- push de
- ld de, $2f
- add hl, de
- pop de
- dec c
- jr nz, .loop2
- ret
-
-.BothSides_CheckNumberMonsAtFullHealth: ; 2b9e1
- ld hl, PartyMon1HP
- call .CheckFaintedOrFullHealth
- jr nz, .finish ; we have a pokemon that's neither fainted nor at full health
- ld hl, OTPartyMon1HP
- call .CheckFaintedOrFullHealth
- ld e, $1
- ret
-
-.finish
- ld hl, OTPartyMon1HP
- call .CheckFaintedOrFullHealth
- ld e, $0
- ret nz ; we both have pokemon that are neither fainted nor at full health
- ld e, $2
- ld a, $1
- and a
- ret
-
-.CheckFaintedOrFullHealth: ; 2ba01
- ld d, 3
-.loop3
- ld a, [hli]
- ld b, a
- ld a, [hli]
- ld c, a
- or b
- jr z, .fainted_or_full_health
- ld a, [hli]
- cp b
- ret nz
- ld a, [hld]
- cp c
- ret nz
-
-.fainted_or_full_health
- push de
- ld de, PARTYMON_STRUCT_LENGTH - 2
- add hl, de
- pop de
- dec d
- jr nz, .loop3
- ret
+INCLUDE "battle/link_result.asm"
ChrisBackpic: ; 2ba1a
INCBIN "gfx/misc/player.6x6.2bpp.lz"
@@ -1678,9 +1517,9 @@ ClearBattleRAM: ; 2ef18
ld [wBattleResult], a
ld hl, wPartyMenuCursor
-rept 3
ld [hli], a
-endr
+ ld [hli], a
+ ld [hli], a
ld [hl], a
ld [wMenuScrollPosition], a
@@ -2103,78 +1942,6 @@ DisplayDexEntry: ; 4424d
String_44331: ; 44331
db "#@"
-GetDexEntryPointer: ; 44333
-; return dex entry pointer b:de
- push hl
- ld hl, PokedexDataPointerTable
- ld a, b
- dec a
- ld d, 0
- ld e, a
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- push de
- rlca
- rlca
- and $3
- ld hl, .PokedexEntryBanks
- ld d, 0
- ld e, a
- add hl, de
- ld b, [hl]
- pop de
- pop hl
- ret
-
-.PokedexEntryBanks: ; 44351
-
-GLOBAL PokedexEntries1
-GLOBAL PokedexEntries2
-GLOBAL PokedexEntries3
-GLOBAL PokedexEntries4
-
- db BANK(PokedexEntries1)
- db BANK(PokedexEntries2)
- db BANK(PokedexEntries3)
- db BANK(PokedexEntries4)
-
-GetDexEntryPagePointer: ; 44355
- call GetDexEntryPointer ; b:de
- push hl
- ld h, d
- ld l, e
-; skip species name
-.loop1
- ld a, b
- call GetFarByte
- inc hl
- cp "@"
- jr nz, .loop1
-; skip height and weight
-rept 4
- inc hl
-endr
-; if c != 1: skip entry
- dec c
- jr z, .done
-; skip entry
-.loop2
- ld a, b
- call GetFarByte
- inc hl
- cp "@"
- jr nz, .loop2
-
-.done
- ld d, h
- ld e, l
- pop hl
- ret
-
-PokedexDataPointerTable: ; 0x44378
INCLUDE "data/pokedex/entry_pointers.asm"
INCLUDE "engine/mail.asm"
@@ -2505,7 +2272,7 @@ SaveMenu_LoadEDTile: ; 4cf45 (13:4f45)
and a
jp z, WaitBGMap
-; The following is a modified version of Function3246.
+; The following is a modified version of LoadEDTile.
ld a, [hBGMapMode]
push af
xor a
@@ -2646,7 +2413,7 @@ PhoneRing_LoadEDTile: ; 4d188
cp $0
jp z, WaitBGMap
-; What follows is a modified version of Function3246 (LoadEDTile).
+; What follows is a modified version of LoadEDTile.
ld a, [hBGMapMode]
push af
xor a
@@ -2740,7 +2507,7 @@ LinkMonStatsScreen: ; 4d319
callba LoadTradeScreenBorder
callba Link_WaitBGMap
callba InitTradeSpeciesList
- callba Function28eff
+ callba SetTradeRoomBGPals
call WaitBGMap2
ret
@@ -2817,304 +2584,7 @@ LinkTextbox2: ; 4d35b
jr nz, .row_loop
ret
-_ResetClock: ; 4d3b1
- callba BlankScreen
- ld b, SCGB_08
- call GetSGBLayout
- call LoadStandardFont
- call LoadFontsExtra
- ld de, MUSIC_MAIN_MENU
- call PlayMusic
- ld hl, .text_askreset
- call PrintText
- ld hl, .NoYes_MenuDataHeader
- call CopyMenuDataHeader
- call VerticalMenu
- ret c
- ld a, [wMenuCursorY]
- cp $1
- ret z
- call ClockResetPassword
- jr c, .wrongpassword
- ld a, BANK(sRTCStatusFlags)
- call GetSRAMBank
- ld a, $80
- ld [sRTCStatusFlags], a
- call CloseSRAM
- ld hl, .text_okay
- call PrintText
- ret
-
-.wrongpassword
- ld hl, .text_wrong
- call PrintText
- ret
-
-.text_okay ; 0x4d3fe
- ; Password OK. Select CONTINUE & reset settings.
- text_jump UnknownText_0x1c55db
- db "@"
-
-.text_wrong ; 0x4d403
- ; Wrong password!
- text_jump UnknownText_0x1c560b
- db "@"
-
-.text_askreset ; 0x4d408
- ; Reset the clock?
- text_jump UnknownText_0x1c561c
- db "@"
-
-.NoYes_MenuDataHeader: ; 0x4d40d
- db $00 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
- dw .NoYes_MenuData2
- db 1 ; default option
-
-.NoYes_MenuData2: ; 0x4d415
- db $c0 ; flags
- db 2 ; items
- db "NO@"
- db "YES@"
-
-ClockResetPassword: ; 4d41e
- call .CalculatePassword
- push de
- ld hl, StringBuffer2
- ld bc, 5
- xor a
- call ByteFill
- ld a, $4
- ld [StringBuffer2 + 5], a
- ld hl, .pleaseenterpasswordtext
- call PrintText
-.loop
- call .updateIDdisplay
-.loop2
- call JoyTextDelay
- ld a, [hJoyLast]
- ld b, a
- and A_BUTTON
- jr nz, .confirm
- ld a, b
- and D_PAD
- jr z, .loop2
- call .dpadinput
- ld c, 3
- call DelayFrames
- jr .loop
-
-.confirm
- call .ConvertDecIDToBytes
- pop de
- ld a, e
- cp l
- jr nz, .nope
- ld a, d
- cp h
- jr nz, .nope
- and a
- ret
-
-.nope
- scf
- ret
-
-.pleaseenterpasswordtext ; 0x4d463
- ; Please enter the password.
- text_jump UnknownText_0x1c562e
- db "@"
-
-.updateIDdisplay ; 4d468
- hlcoord 14, 15
- ld de, StringBuffer2
- ld c, 5
-.loop3
- ld a, [de]
- add "0"
- ld [hli], a
- inc de
- dec c
- jr nz, .loop3
- hlcoord 14, 16
- ld bc, 5
- ld a, " "
- call ByteFill
- hlcoord 14, 16
- ld a, [StringBuffer2 + 5]
- ld e, a
- ld d, $0
- add hl, de
- ld [hl], $61
- ret
-
-.dpadinput ; 4d490
- ld a, b
- and D_LEFT
- jr nz, .left
- ld a, b
- and D_RIGHT
- jr nz, .right
- ld a, b
- and D_UP
- jr nz, .up
- ld a, b
- and D_DOWN
- jr nz, .down
- ret
-
-.left
- ld a, [StringBuffer2 + 5]
- and a
- ret z
- dec a
- ld [StringBuffer2 + 5], a
- ret
-
-.right
- ld a, [StringBuffer2 + 5]
- cp $4
- ret z
- inc a
- ld [StringBuffer2 + 5], a
- ret
-
-.up
- call .getcurrentdigit
- ld a, [hl]
- cp 9
- jr z, .wraparound_up
- inc a
- ld [hl], a
- ret
-
-.wraparound_up
- ld [hl], $0
- ret
-
-.down
- call .getcurrentdigit
- ld a, [hl]
- and a
- jr z, .wraparound_down
- dec a
- ld [hl], a
- ret
-
-.wraparound_down
- ld [hl], 9
- ret
-
-.getcurrentdigit ; 4d4d5
- ld a, [StringBuffer2 + 5]
- ld e, a
- ld d, $0
- ld hl, StringBuffer2
- add hl, de
- ret
-
-.ConvertDecIDToBytes: ; 4d4e0
- ld hl, 0
- ld de, StringBuffer2 + 4
- ld bc, 1
- call .ConvertToBytes
- ld bc, 10
- call .ConvertToBytes
- ld bc, 100
- call .ConvertToBytes
- ld bc, 1000
- call .ConvertToBytes
- ld bc, 10000
-.ConvertToBytes: ; 4d501
- ld a, [de]
- dec de
- push hl
- ld hl, 0
- call AddNTimes
- ld c, l
- ld b, h
- pop hl
- add hl, bc
- ret
-
-.CalculatePassword: ; 4d50f
- ld a, BANK(sPlayerData)
- call GetSRAMBank
- ld de, 0
- ld hl, sPlayerData + (PlayerID - wPlayerData)
- ld c, $2
- call .ComponentFromNumber
- ld hl, sPlayerData + (PlayerName - wPlayerData)
- ld c, $5 ; PLAYER_NAME_LENGTH_J
- call .ComponentFromString
- ld hl, sPlayerData + (Money - wPlayerData)
- ld c, $3
- call .ComponentFromNumber
- call CloseSRAM
- ret
-
-.ComponentFromNumber: ; 4d533
- ld a, [hli]
- add e
- ld e, a
- ld a, $0
- adc d
- ld d, a
- dec c
- jr nz, .ComponentFromNumber
- ret
-
-.ComponentFromString: ; 4d53e
- ld a, [hli]
- cp "@"
- ret z
- add e
- ld e, a
- ld a, $0
- adc d
- ld d, a
- dec c
- jr nz, .ComponentFromString
- ret
-
-_DeleteSaveData: ; 4d54c
- callba BlankScreen
- ld b, SCGB_08
- call GetSGBLayout
- call LoadStandardFont
- call LoadFontsExtra
- ld de, MUSIC_MAIN_MENU
- call PlayMusic
- ld hl, .Text_ClearAllSaveData
- call PrintText
- ld hl, .NoYesMenuDataHeader
- call CopyMenuDataHeader
- call VerticalMenu
- ret c
- ld a, [wMenuCursorY]
- cp $1
- ret z
- callba EmptyAllSRAMBanks
- ret
-
-.Text_ClearAllSaveData: ; 0x4d580
- ; Clear all save data?
- text_jump UnknownText_0x1c564a
- db "@"
-
-.NoYesMenuDataHeader: ; 0x4d585
- db $00 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
- dw .MenuData2
- db 1 ; default option
-
-.MenuData2: ; 0x4d58d
- db $c0 ; flags
- db 2 ; items
- db "NO@"
- db "YES@"
+INCLUDE "engine/delete_save_change_clock.asm"
Tilesets::
INCLUDE "tilesets/tileset_headers.asm"
@@ -3209,14 +2679,14 @@ AnimateTrademonFrontpic: ; 4d81e
ld a, [wOTTrademonSpecies]
call IsAPokemon
ret c
- callba Function29549
+ callba ShowOTTrademonStats
ld a, [wOTTrademonSpecies]
ld [CurPartySpecies], a
ld a, [wOTTrademonDVs]
ld [TempMonDVs], a
ld a, [wOTTrademonDVs + 1]
ld [TempMonDVs + 1], a
- ld b, SCGB_1A
+ ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
ld a, %11100100 ; 3,2,1,0
call DmgToCgbBGPals
@@ -3312,9 +2782,9 @@ Special_CheckForLuckyNumberWinners: ; 4d87a
jr z, .SkipBox
ld hl, .BoxBankAddresses
ld b, 0
-rept 3
add hl, bc
-endr
+ add hl, bc
+ add hl, bc
ld a, [hli]
call GetSRAMBank
ld a, [hli]
@@ -3360,7 +2830,7 @@ endr
ld a, [ScriptVar]
and a
ret z ; found nothing
- callba MobileFn_1060cd
+ callba TrainerRankings_LuckyNumberShow
ld a, [wFoundMatchingIDInParty]
and a
push af
@@ -3587,7 +3057,7 @@ CheckPartyFullAfterContest: ; 4d9e5
ld de, wBufferMonOT
ld bc, NAME_LENGTH
call CopyBytes
- callab Function51322
+ callab InsertPokemonIntoBox
ld a, [CurPartySpecies]
ld [wd265], a
call GetPokemonName
@@ -3730,141 +3200,7 @@ SetEggMonCaughtData: ; 4dbb8 (13:5bb8)
ld [CurPartyLevel], a
ret
-_FindGreaterThanThatLevel: ; 4dbd2
- ld hl, PartyMon1Level
- call FindGreaterThanThatLevel
- ret
-
-_FindAtLeastThatHappy: ; 4dbd9
- ld hl, PartyMon1Happiness
- call FindAtLeastThatHappy
- ret
-
-_FindThatSpecies: ; 4dbe0
- ld hl, PartyMon1Species
- jp FindThatSpecies
-
-_FindThatSpeciesYourTrainerID: ; 4dbe6
- ld hl, PartyMon1Species
- call FindThatSpecies
- ret z
- ld a, c
- ld hl, PartyMon1ID
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- ld a, [PlayerID]
- cp [hl]
- jr nz, .nope
- inc hl
- ld a, [PlayerID + 1]
- cp [hl]
- jr nz, .nope
- ld a, $1
- and a
- ret
-
-.nope
- xor a
- ret
-
-FindAtLeastThatHappy: ; 4dc0a
-; Sets the bits for the Pokemon that have a happiness greater than or equal to b.
-; The lowest bits are used. Sets z if no Pokemon in your party is at least that happy.
- ld c, $0
- ld a, [PartyCount]
- ld d, a
-.loop
- ld a, d
- dec a
- push hl
- push bc
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- pop bc
- ld a, b
- cp [hl]
- pop hl
- jr z, .greater_equal
- jr nc, .lower
-
-.greater_equal
- ld a, c
- or $1
- ld c, a
-
-.lower
- sla c
- dec d
- jr nz, .loop
- call RetroactivelyIgnoreEggs
- ld a, c
- and a
- ret
-
-FindGreaterThanThatLevel: ; 4dc31
- ld c, $0
- ld a, [PartyCount]
- ld d, a
-.loop
- ld a, d
- dec a
- push hl
- push bc
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- pop bc
- ld a, b
- cp [hl]
- pop hl
- jr c, .greater
- ld a, c
- or $1
- ld c, a
-
-.greater
- sla c
- dec d
- jr nz, .loop
- call RetroactivelyIgnoreEggs
- ld a, c
- and a
- ret
-
-FindThatSpecies: ; 4dc56
-; Find species b in your party.
-; If you have no Pokemon, returns c = -1 and z.
-; If that species is in your party, returns its location in c, and nz.
-; Otherwise, returns z.
- ld c, -1
- ld hl, PartySpecies
-.loop
- ld a, [hli]
- cp -1
- ret z
- inc c
- cp b
- jr nz, .loop
- ld a, $1
- and a
- ret
-
-RetroactivelyIgnoreEggs: ; 4dc67
- ld e, -2
- ld hl, PartySpecies
-.loop
- ld a, [hli]
- cp -1
- ret z
- cp EGG
- jr nz, .skip_notegg
- ld a, c
- and e
- ld c, a
-
-.skip_notegg
- rlc e
- jr .loop
-
+INCLUDE "engine/search2.asm"
INCLUDE "engine/stats_screen.asm"
CatchTutorial:: ; 4e554
@@ -3951,7 +3287,7 @@ CatchTutorial:: ; 4e554
INCLUDE "engine/evolution_animation.asm"
-Function4e881: ; 4e881
+InitDisplayForHallOfFame: ; 4e881
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -3981,7 +3317,7 @@ Function4e881: ; 4e881
text_jump UnknownText_0x1bd39e
db "@"
-Function4e8c2: ; 4e8c2
+InitDisplayForRedCredits: ; 4e8c2
call ClearBGPalettes
call ClearTileMap
call ClearSprites
@@ -3997,7 +3333,7 @@ Function4e8c2: ; 4e8c2
xor a
call ByteFill
ld hl, wd000 ; UnknBGPals
- ld c, 4 * $10
+ ld c, 4 tiles
.load_white_palettes
ld a, (palred 31 + palgreen 31 + palblue 31) % $100
ld [hli], a
@@ -4013,32 +3349,32 @@ Function4e8c2: ; 4e8c2
call SetPalettes
ret
-Function4e906: ; 4e906
+ResetDisplayBetweenHallOfFameMons: ; 4e906
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
ld hl, wDecompressScratch
- ld bc, wBackupAttrMap - wDecompressScratch
+ ld bc, wScratchAttrMap - wDecompressScratch
ld a, " "
call ByteFill
hlbgcoord 0, 0
ld de, wDecompressScratch
- ld b, $0
- ld c, $40
+ ld b, 0
+ ld c, 4 tiles
call Request2bpp
pop af
ld [rSVBK], a
ret
-Function4e929: ; mobile function
+GetMobileOTTrainerClass: ; mobile function
ld h, b
ld l, c
- call Function4e930
+ call .GetMobileOTTrainerClass
ld c, a
ret
-Function4e930: ; 4e930
+.GetMobileOTTrainerClass: ; 4e930
ld a, [hli]
xor [hl]
ld c, a
@@ -4119,7 +3455,7 @@ FemaleTrainersEnd:
INCLUDE "battle/sliding_intro.asm"
-Function4ea0a: ; 4ea0a
+Mobile_PrintOpponentBattleMessage: ; 4ea0a
ld a, c
push af
call SpeechTextBox
@@ -4127,11 +3463,11 @@ Function4ea0a: ; 4ea0a
pop af
dec a
ld bc, $c
- ld hl, w5_dc1a
+ ld hl, w5_MobileOpponentBattleMessages
call AddNTimes
- ld de, wcd53
+ ld de, wMobileOpponentBattleMessage
ld bc, $c
- ld a, $5 ; BANK(w5_dc1a)
+ ld a, $5 ; BANK(w5_MobileOpponentBattleMessages)
call FarCopyWRAM
ld a, [rSVBK]
@@ -4139,9 +3475,9 @@ Function4ea0a: ; 4ea0a
ld a, $1
ld [rSVBK], a
- ld bc, wcd53
+ ld bc, wMobileOpponentBattleMessage
decoord 1, 14
- callba Function11c0c6
+ callba PrintEZChatBattleMessage
pop af
ld [rSVBK], a
@@ -4169,7 +3505,7 @@ CheckBattleScene: ; 4ea44
.mobile
ld a, [wcd2f]
and a
- jr nz, .asm_4ea72
+ jr nz, .from_wram
ld a, $4
call GetSRAMBank
@@ -4184,7 +3520,7 @@ CheckBattleScene: ; 4ea44
and a
ret
-.asm_4ea72
+.from_wram
ld a, $5
ld hl, w5_dc00
call GetFarWRAMByte
@@ -4307,7 +3643,7 @@ GetPkmnSpecies: ; 508d5
jr z, .otpartymon
cp BOXMON
jr z, .boxmon
- cp BREEDMON
+ cp TEMPMON
jr z, .breedmon
; WILDMON
@@ -4343,7 +3679,8 @@ GetPkmnSpecies: ; 508d5
INCLUDE "text/types.asm"
Function50a28: ; 50a28
- ld hl, Strings50a42
+; XXX
+ ld hl, .Strings
ld a, [TrainerClass]
dec a
ld c, a
@@ -4362,7 +3699,7 @@ Function50a28: ; 50a28
jr nz, .copy
ret
-Strings50a42: ; 50a42
+.Strings: ; 50a42
; Untranslated trainer class names from Red.
dw .Youngster
dw .BugCatcher
@@ -4445,9 +3782,10 @@ DrawHP: ; 50b10
ld [wWhichHPBar], a
push hl
push bc
+ ; box mons have full HP
ld a, [MonType]
cp BOXMON
- jr z, .asm_50b30
+ jr z, .at_least_1_hp
ld a, [TempMonHP]
ld b, a
@@ -4456,34 +3794,34 @@ DrawHP: ; 50b10
; Any HP?
or b
- jr nz, .asm_50b30
+ jr nz, .at_least_1_hp
xor a
ld c, a
ld e, a
ld a, 6
ld d, a
- jp .asm_50b4a
+ jp .fainted
-.asm_50b30
+.at_least_1_hp
ld a, [TempMonMaxHP]
ld d, a
ld a, [TempMonMaxHP + 1]
ld e, a
ld a, [MonType]
cp BOXMON
- jr nz, .asm_50b41
+ jr nz, .not_boxmon
ld b, d
ld c, e
-.asm_50b41
+.not_boxmon
predef ComputeHPBarPixels
ld a, 6
ld d, a
ld c, a
-.asm_50b4a
+.fainted
ld a, c
pop bc
ld c, a
@@ -4495,14 +3833,14 @@ DrawHP: ; 50b10
pop hl
; Print HP
- ld bc, $15 ; move (1,1)
+ bccoord 1, 1, 0
add hl, bc
ld de, TempMonHP
ld a, [MonType]
cp BOXMON
- jr nz, .asm_50b66
+ jr nz, .not_boxmon_2
ld de, TempMonMaxHP
-.asm_50b66
+.not_boxmon_2
lb bc, 2, 3
call PrintNum
@@ -4692,9 +4030,9 @@ ListMovePP: ; 50c50
.skip
pop hl
-rept 3
inc hl
-endr
+ inc hl
+ inc hl
ld d, h
ld e, l
ld hl, TempMonMoves
@@ -4760,17 +4098,18 @@ endr
ret
Function50cd0: ; 50cd0
-.asm_50cd0
+; XXX
+.loop
ld [hl], $32
inc hl
ld [hl], $3e
dec hl
add hl, de
dec c
- jr nz, .asm_50cd0
+ jr nz, .loop
ret
-Function50cdb: ; unreferenced predef
+Predef22: ; unreferenced predef
push hl
push hl
ld hl, PartyMonNicknames
@@ -4782,7 +4121,7 @@ Function50cdb: ; unreferenced predef
pop hl
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_50d09
+ jr z, .egg
push hl
ld bc, -12
add hl, bc
@@ -4795,7 +4134,7 @@ Function50cdb: ; unreferenced predef
call PrintLevel
pop de
-.asm_50d09
+.egg
ret
PlaceStatusString: ; 50d0a
@@ -4919,60 +4258,59 @@ ListMoves: ; 50d6f
.done
ret
-Function50db9: ; 50db9
- ld a, [wd263]
+InitList: ; 50db9
+ ld a, [wInitListType]
- cp $1
+ cp INIT_ENEMYOT_LIST
jr nz, .check_party_ot_name
ld hl, OTPartyCount
ld de, OTPartyMonOT
ld a, ENEMY_OT_NAME
jr .done
-.check_party_ot_name
- cp $4
+.check_party_ot_name
+ cp INIT_PLAYEROT_LIST
jr nz, .check_mon_name
ld hl, PartyCount
ld de, PartyMonOT
ld a, PARTY_OT_NAME
jr .done
-.check_mon_name
- cp $5
+.check_mon_name
+ cp INIT_MON_LIST
jr nz, .check_item_name
ld hl, CurMart
ld de, PokemonNames
ld a, PKMN_NAME
jr .done
-.check_item_name
- cp $2
+.check_item_name
+ cp INIT_BAG_ITEM_LIST
jr nz, .check_ob_item_name
ld hl, NumItems
ld de, ItemNames
ld a, ITEM_NAME
jr .done
-.check_ob_item_name
+.check_ob_item_name
ld hl, CurMart
ld de, ItemNames
ld a, ITEM_NAME
-
.done
- ld [wNamedObjectTypeBuffer], a
+ ld [wNamedObjectTypeBuffer], a ; d265
ld a, l
- ld [wd100], a
+ ld [wListPointer], a
ld a, h
- ld [wd101], a
+ ld [wListPointer + 1], a
ld a, e
- ld [wd102], a
+ ld [wUnusedD102], a
ld a, d
- ld [wd103], a
- ld bc, ItemAttributes
+ ld [wUnusedD102 + 1], a
+ ld bc, ItemAttributes ; ParseEnemyAction, HandleMapTimeAndJoypad, Music_LakeOfRage_Ch3, String_11a7c1 $67c1
ld a, c
- ld [wd104], a
+ ld [wItemAttributesPtr], a
ld a, b
- ld [wd105], a
+ ld [wItemAttributesPtr + 1], a
ret
CalcLevel: ; 50e1b
@@ -5303,141 +4641,7 @@ _SwitchPartyMons:
ret
INCLUDE "gfx/load_pics.asm"
-
-Function51322: ; 51322
- ld a, BANK(sBoxCount)
- call GetSRAMBank
- ld hl, sBoxCount
- call Function513cb
- ld a, [sBoxCount]
- dec a
- ld [wd265], a
- ld hl, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
- ld de, wBufferMonNick
- call Function513e0
- ld a, [sBoxCount]
- dec a
- ld [wd265], a
- ld hl, sBoxMonOT
- ld bc, NAME_LENGTH
- ld de, wBufferMonOT
- call Function513e0
- ld a, [sBoxCount]
- dec a
- ld [wd265], a
- ld hl, sBoxMons
- ld bc, BOXMON_STRUCT_LENGTH
- ld de, wBufferMon
- call Function513e0
- ld hl, wBufferMonMoves
- ld de, TempMonMoves
- ld bc, NUM_MOVES
- call CopyBytes
- ld hl, wBufferMonPP
- ld de, TempMonPP
- ld bc, NUM_MOVES
- call CopyBytes
- ld a, [CurPartyMon]
- ld b, a
- callba Functiondcb6
- jp CloseSRAM
-
-Function5138b: ; 5138b
- ld hl, PartyCount
- call Function513cb
- ld a, [PartyCount]
- dec a
- ld [wd265], a
- ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
- ld de, wBufferMonNick
- call Function513e0
- ld a, [PartyCount]
- dec a
- ld [wd265], a
- ld hl, PartyMonOT
- ld bc, NAME_LENGTH
- ld de, wBufferMonOT
- call Function513e0
- ld a, [PartyCount]
- dec a
- ld [wd265], a
- ld hl, PartyMons
- ld bc, PARTYMON_STRUCT_LENGTH
- ld de, wBufferMon
- call Function513e0
- ret
-
-Function513cb: ; 513cb
- inc [hl]
- inc hl
- ld a, [CurPartyMon]
- ld c, a
- ld b, 0
- add hl, bc
- ld a, [CurPartySpecies]
- ld c, a
-.asm_513d8
- ld a, [hl]
- ld [hl], c
- inc hl
- inc c
- ld c, a
- jr nz, .asm_513d8
- ret
-
-Function513e0: ; 513e0
- push de
- push hl
- push bc
- ld a, [wd265]
- dec a
- call AddNTimes
- push hl
- add hl, bc
- ld d, h
- ld e, l
- pop hl
-.asm_513ef
- push bc
- ld a, [wd265]
- ld b, a
- ld a, [CurPartyMon]
- cp b
- pop bc
- jr z, .asm_51415
- push hl
- push de
- push bc
- call CopyBytes
- pop bc
- pop de
- pop hl
- push hl
- ld a, l
- sub c
- ld l, a
- ld a, h
- sbc b
- ld h, a
- pop de
- ld a, [wd265]
- dec a
- ld [wd265], a
- jr .asm_513ef
-
-.asm_51415
- pop bc
- pop hl
- ld a, [CurPartyMon]
- call AddNTimes
- ld d, h
- ld e, l
- pop hl
- call CopyBytes
- ret
-
+INCLUDE "engine/move_mon_wo_mail.asm"
BaseData::
INCLUDE "data/base_stats.asm"
@@ -5492,6 +4696,7 @@ SECTION "bank22", ROMX, BANK[$22]
INCLUDE "event/kurt.asm"
Function88248: ; 88248
+; XXX
ld c, CAL
ld a, [PlayerGender]
bit 0, a
@@ -5773,7 +4978,8 @@ Predef36:
INCLUDE "engine/timeofdaypals.asm"
INCLUDE "engine/battle_start.asm"
-Function8c7c9: ; unreferenced
+Function8c7c9:
+; XXX
ld a, $1
ld [hBGMapMode], a
call WaitBGMap
@@ -5895,7 +5101,7 @@ LoadPoisonBGPals: ; cbcdd
ld a, [hCGB]
and a
ret nz
- ret
+ ret ; ????
.LoadPals: ; cbce5
ld a, [hCGB]
@@ -5904,9 +5110,9 @@ LoadPoisonBGPals: ; cbcdd
ld a, [TimeOfDayPal]
and $3
cp $3
- ld a, $0
+ ld a, %00000000
jr z, .convert_pals
- ld a, $aa
+ ld a, %10101010
.convert_pals
call DmgToCgbBGPals
@@ -5923,10 +5129,10 @@ LoadPoisonBGPals: ; cbcdd
ld hl, BGPals
ld c, $20
.loop
-; RGB 31, 21, 28
- ld a, (palred 31 + palgreen 21 + palblue 28) % $100
+; RGB 28, 21, 31
+ ld a, (palred 28 + palgreen 21 + palblue 31) % $100
ld [hli], a
- ld a, (palred 31 + palgreen 21 + palblue 28) / $100
+ ld a, (palred 28 + palgreen 21 + palblue 31) / $100
ld [hli], a
dec c
jr nz, .loop
@@ -6021,7 +5227,7 @@ DisplayCaughtContestMonStats: ; cc000
ld [Options], a
call WaitBGMap
- ld b, SCGB_08
+ ld b, SCGB_DIPLOMA
call GetSGBLayout
call SetPalettes
ret
@@ -6118,7 +5324,7 @@ INCLUDE "tilesets/data_6.asm"
SECTION "bank38", ROMX, BANK[$38]
-Functione0000: ; e0000
+RotateUnownFrontpic: ; e0000
; something to do with Unown printer
push de
xor a
@@ -6131,8 +5337,8 @@ Functione0000: ; e0000
push bc
ld de, wd002
call .Copy
- call .Decompress
- ld hl, Unknown_e008b
+ call .Rotate
+ ld hl, UnownPrinter_OverworldMapRectangle
pop bc
add hl, bc
add hl, bc
@@ -6147,16 +5353,16 @@ Functione0000: ; e0000
pop bc
inc c
ld a, c
- cp $31
+ cp 7 * 7
jr c, .loop
ld hl, OverworldMap
ld de, sScratch
- ld bc, $31 tiles
+ ld bc, 7 * 7 tiles
call CopyBytes
pop hl
ld de, sScratch
- ld c, $31
+ ld c, 7 * 7
ld a, [hROMBank]
ld b, a
call Get2bpp
@@ -6173,7 +5379,7 @@ Functione0000: ; e0000
jr nz, .loop_copy
ret
-.Decompress: ; e0057
+.Rotate: ; e0057
ld hl, wd012
ld e, %10000000
ld d, 8
@@ -6215,20 +5421,19 @@ Functione0000: ; e0000
jr nz, .loop_count
ret
-overworldmaptile EQUS "dw OverworldMap + $10 *"
overworldmaprect: MACRO
y = 0
rept \1
x = \1 * (\2 +- 1) + y
rept \2
- overworldmaptile x
+ dw OverworldMap tile x
x = x +- \2
endr
y = y + 1
endr
endm
-Unknown_e008b: ; e008b
+UnownPrinter_OverworldMapRectangle: ; e008b
overworldmaprect 7, 7
Unknown_e00ed:
@@ -6388,6 +5593,7 @@ INCLUDE "tilesets/data_7.asm"
SECTION "bank77_2", ROMX, BANK[$77]
Function1dd6a9: ; 1dd6a9
+; XXX
ld a, b
ld b, c
ld c, a
@@ -6454,19 +5660,19 @@ String_PM: db "PM@" ; 1dd6ff
INCLUDE "engine/diploma.asm"
LoadSGBPokedexGFX: ; 1ddf1c
- ld hl, LZ_1ddf33
+ ld hl, SGBPokedexGFX_LZ
ld de, VTiles2 tile $31
call Decompress
ret
-Function1ddf26: ; 1ddf26 (77:5f26)
- ld hl, LZ_1ddf33
+LoadSGBPokedexGFX2: ; 1ddf26 (77:5f26)
+ ld hl, SGBPokedexGFX_LZ
ld de, VTiles2 tile $31
- lb bc, BANK(LZ_1ddf33), $3a
+ lb bc, BANK(SGBPokedexGFX_LZ), $3a
call DecompressRequest2bpp
ret
-LZ_1ddf33: ; 1ddf33
+SGBPokedexGFX_LZ: ; 1ddf33
INCBIN "gfx/pokedex/sgb.2bpp.lz"
LoadQuestionMarkPic: ; 1de0d7
@@ -6568,7 +5774,8 @@ DrawPokedexSearchResultsWindow: ; 1de1d1 (77:61d1)
.esults_D ; 1de23c
; (SEARCH R)
- db "ESULTS<NEXT>"
+ db "ESULTS"
+ next ""
; (### FOUN)
next "D!@"
@@ -6659,7 +5866,7 @@ DudeAutoInput_DownA: ; 1de2af
db A_BUTTON, $00
db NO_INPUT, $ff ; end
-Function1de2c5: ; 1de2c5
+TownMap_ConvertLineBreakCharacters: ; 1de2c5
ld hl, StringBuffer1
.loop
ld a, [hl]
@@ -6831,42 +6038,44 @@ SECTION "bank7D", ROMX, BANK[$7D]
db $cc, $6b, $1e ; XXX
Function1f4003: ; 1f4003
+; XXX
ld a, $6
call GetSRAMBank
- ld hl, Unknown_1f4018
+ ld hl, .unknown_data
ld de, $a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
-Unknown_1f4018:
+.unknown_data
INCBIN "unknown/1f4018.bin"
Function1f4dbe: ; 1f4dbe
+; XXX
ld a, $6
call GetSRAMBank
- ld hl, Unknown_1f4dd3
+ ld hl, .unknown_data
ld de, $a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
-Unknown_1f4dd3:
+.unknown_data
INCBIN "unknown/1f4dd3.bin"
Function1f5d9f: ; 1f5d9f
ld a, $6
call GetSRAMBank
- ld hl, Unknown_1f5db4
+ ld hl, .unknown_data
ld de, $a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
-Unknown_1f5db4:
+.unknown_data
INCBIN "unknown/1f5db4.bin"
SECTION "bank7E", ROMX, BANK[$7E]