summaryrefslogtreecommitdiff
path: root/event
diff options
context:
space:
mode:
Diffstat (limited to 'event')
-rwxr-xr-xevent/basement_key.asm10
-rw-r--r--event/battle_tower.asm110
-rw-r--r--event/buena.asm62
-rwxr-xr-xevent/bug_contest_2.asm6
-rwxr-xr-xevent/bug_contest_judging.asm23
-rwxr-xr-xevent/card_key.asm12
-rwxr-xr-xevent/celebi.asm240
-rwxr-xr-xevent/daycare.asm472
-rw-r--r--event/dratini.asm7
-rwxr-xr-xevent/elevator.asm112
-rwxr-xr-xevent/field_moves.asm330
-rwxr-xr-xevent/halloffame.asm102
-rwxr-xr-xevent/itemball.asm12
-rwxr-xr-xevent/itemfinder.asm10
-rw-r--r--event/kurt.asm44
-rw-r--r--event/magikarp.asm4
-rwxr-xr-xevent/magnet_train.asm178
-rw-r--r--event/mom.asm91
-rwxr-xr-xevent/mom_phone.asm77
-rw-r--r--event/move_deleter.asm76
-rwxr-xr-xevent/photo.asm26
-rwxr-xr-xevent/poisonstep.asm6
-rwxr-xr-xevent/sacred_ash.asm8
-rwxr-xr-xevent/squirtbottle.asm2
-rwxr-xr-xevent/sweet_scent.asm10
-rw-r--r--event/unown.asm4
-rwxr-xr-xevent/whiteout.asm8
27 files changed, 1121 insertions, 921 deletions
diff --git a/event/basement_key.asm b/event/basement_key.asm
index 605b2af88..8fa47df5f 100755
--- a/event/basement_key.asm
+++ b/event/basement_key.asm
@@ -18,17 +18,17 @@ _BasementKey: ; 507b4
; Let's use the Basement Key
ld hl, .BasementKeyScript
call QueueScript
- ld a, 1
- ld [wd0ec], a
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
ret
.nope
- ld a, $0
- ld [wd0ec], a
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
ret
; 507e1
.BasementKeyScript: ; 0x507e1
- loadmovesprites
+ closetext
farjump BasementDoorScript
; 0x507e6
diff --git a/event/battle_tower.asm b/event/battle_tower.asm
index 9c494b168..a938e34c7 100644
--- a/event/battle_tower.asm
+++ b/event/battle_tower.asm
@@ -1,29 +1,29 @@
-Function8b1e1: ; 8b1e1
- ld de, Unknown_8b1ed
- call Function8b25b
+CheckForMobileBattleRules: ; 8b1e1
+ ld de, .PointerTables
+ call BattleTower_ExecuteJumptable
ret z
- call Function8b231
+ call BattleTower_PleaseReturnWhenReady
scf
ret
; 8b1ed
-Unknown_8b1ed: ; 8b1ed
+.PointerTables: ; 8b1ed
db 2
- dw Unknown_8b1f2
- dw Unknown_8b1f6
+ dw .Functions
+ dw .TextPointers
-Unknown_8b1f2: ; 8b1f2
- dw Function8b2bb
- dw Function8b2c1
+.Functions: ; 8b1f2
+ dw BattleTower_CheckPartyLengthIs3
+ dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs
; 8b1f6
-Unknown_8b1f6: ; 8b1f6
- dw UnknownText_0x8b1fc
- dw UnknownText_0x8b23d
- dw UnknownText_0x8b242
+.TextPointers: ; 8b1f6
+ dw .ExcuseMeText
+ dw JumpText_NeedAtLeastThreeMon
+ dw JumpText_EggDoesNotQualify
; 8b1fc
-UnknownText_0x8b1fc: ; 0x8b1fc
+.ExcuseMeText: ; 0x8b1fc
; Excuse me!
text_jump UnknownText_0x1c5937
db "@"
@@ -34,27 +34,27 @@ CheckForBattleTowerRules: ; 8b201
ld [hl], "3"
inc hl
ld [hl], "@"
- ld de, CheckForBattleTowerRules_FunctionsText
- call Function8b25b
+ ld de, .PointerTables
+ call BattleTower_ExecuteJumptable
ret z
- call Function8b231
+ call BattleTower_PleaseReturnWhenReady
scf
ret
; 8b215
-CheckForBattleTowerRules_FunctionsText: ; 8b215
+.PointerTables: ; 8b215
db 4
- dw CheckForBattleTowerRules_Functions
- dw CheckForBattleTowerRules_Text
+ dw .Functions
+ dw .TextPointers
-CheckForBattleTowerRules_Functions: ; 8b21a
+.Functions: ; 8b21a
dw Function_PartyCountEq3
dw Function_PartySpeciesAreUnique
dw Function_PartyItemsAreUnique
dw Function_HasPartyAnEgg
; 8b222
-CheckForBattleTowerRules_Text: ; 8b222
+.TextPointers: ; 8b222
dw JumpText_ExcuseMeYoureNotReady
dw JumpText_OnlyThreePkmnMayBeEntered
dw JumpText_ThePkmnMustAllBeDifferentKinds
@@ -68,25 +68,25 @@ JumpText_ExcuseMeYoureNotReady: ; 0x8b22c
db "@"
; 0x8b231
-Function8b231: ; 8b231
- ld hl, UnknownText_0x8b238
+BattleTower_PleaseReturnWhenReady: ; 8b231
+ ld hl, .PleaseReturnWhenReady
call PrintText
ret
; 8b238
-UnknownText_0x8b238: ; 0x8b238
+.PleaseReturnWhenReady: ; 0x8b238
; Please return when you're ready.
text_jump UnknownText_0x1c5962
db "@"
; 0x8b23d
-UnknownText_0x8b23d: ; 0x8b23d
+JumpText_NeedAtLeastThreeMon: ; 0x8b23d
; You need at least three #MON.
text_jump UnknownText_0x1c5983
db "@"
; 0x8b242
-UnknownText_0x8b242: ; 0x8b242
+JumpText_EggDoesNotQualify: ; 0x8b242
; Sorry, an EGG doesn't qualify.
text_jump UnknownText_0x1c59a3
db "@"
@@ -116,22 +116,22 @@ JumpText_YouCantTakeAnEgg: ; 0x8b256
db "@"
; 0x8b25b
-Function8b25b: ; 8b25b
+BattleTower_ExecuteJumptable: ; 8b25b
ld bc, 0
-.asm_8b25e
- call Function8b26c
- call c, Function8b28e
- call Function8b276
- jr nz, .asm_8b25e
+.loop
+ call .DoJumptableFunction
+ call c, .PrintFailureText
+ call .Next_CheckReachedEnd
+ jr nz, .loop
ld a, b
and a
ret
; 8b26c
-Function8b26c: ; 8b26c
+.DoJumptableFunction: ; 8b26c
push de
push bc
- call Function8b27a
+ call .GetFunctionPointer
ld a, c
rst JumpTable
pop bc
@@ -139,14 +139,14 @@ Function8b26c: ; 8b26c
ret
; 8b276
-Function8b276: ; 8b276
+.Next_CheckReachedEnd: ; 8b276
inc c
ld a, [de]
cp c
ret
; 8b27a
-Function8b27a: ; 8b27a
+.GetFunctionPointer: ; 8b27a
inc de
ld a, [de]
ld l, a
@@ -156,7 +156,7 @@ Function8b27a: ; 8b27a
ret
; 8b281
-Function8b281: ; 8b281
+.GetTextPointers: ; 8b281
rept 3
inc de
endr
@@ -168,38 +168,38 @@ endr
ret
; 8b28a
-Function8b28a: ; 8b28a
+.LoadTextPointer: ; 8b28a
ld a, [hli]
ld h, [hl]
ld l, a
ret
; 8b28e
-Function8b28e: ; 8b28e
+.PrintFailureText: ; 8b28e
push de
push bc
ld a, b
and a
- call z, Function8b29d
+ call z, .PrintFirstText
pop bc
- call Function8b2a9
+ call .PrintNthText
ld b, $1
pop de
ret
; 8b29d
-Function8b29d: ; 8b29d
+.PrintFirstText: ; 8b29d
push de
- call Function8b281
- call Function8b28a
+ call .GetTextPointers
+ call .LoadTextPointer
call PrintText
pop de
ret
; 8b2a9
-Function8b2a9: ; 8b2a9
+.PrintNthText: ; 8b2a9
push bc
- call Function8b281
+ call .GetTextPointers
rept 2
inc hl
endr
@@ -207,32 +207,32 @@ endr
rept 2
add hl, bc
endr
- call Function8b28a
+ call .LoadTextPointer
call PrintText
pop bc
ret
; 8b2bb
-Function8b2bb: ; 8b2bb
+BattleTower_CheckPartyLengthIs3: ; 8b2bb
ld a, [PartyCount]
cp 3
ret
; 8b2c1
-Function8b2c1: ; 8b2c1
+BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1
ld hl, PartyCount
ld a, [hli]
ld b, $0
ld c, a
-.asm_8b2c8
+.loop
ld a, [hli]
cp EGG
- jr z, .asm_8b2ce
+ jr z, .egg
inc b
-.asm_8b2ce
+.egg
dec c
- jr nz, .asm_8b2c8
+ jr nz, .loop
ld a, [PartyCount]
cp b
ret z
diff --git a/event/buena.asm b/event/buena.asm
index 76a378549..97aab0c05 100644
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -1,6 +1,6 @@
SpecialBuenasPassword: ; 8af6b
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [wBuenasPassword]
@@ -10,7 +10,7 @@ SpecialBuenasPassword: ; 8af6b
add c
add $2
ld [wMenuBorderRightCoord], a
- call BackUpTiles
+ call PushWindow
call DoNthMenu ; menu
callba Buena_ExitMenu
ld b, $0
@@ -69,8 +69,8 @@ SpecialBuenaPrize: ; 8afd4
ld [wMenuScrollPosition], a
ld a, $1
ld [MenuSelection], a
- call Function8b0d6
- call Function8b090
+ call Buena_PlacePrizeMenuBox
+ call Buena_DisplayBlueCardBalance
ld hl, .Text_AskWhichPrize
call PrintText
jr .okay
@@ -82,20 +82,20 @@ SpecialBuenaPrize: ; 8afd4
.okay
call DelayFrame
call UpdateSprites
- call Function8b097
- call Function8b0e2
+ call PrintBlueCardBalance
+ call Buena_PrizeMenu
jr z, .done
- ld [wcf75], a
+ ld [MenuSelectionQuantity], a
call Buena_getprize
ld a, [hl]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
ld hl, .Text_IsThatRight
call BuenaPrintText
call YesNoBox
jr c, .loop
- ld a, [wcf75]
+ ld a, [MenuSelectionQuantity]
call Buena_getprize
inc hl
ld a, [hld]
@@ -118,7 +118,7 @@ SpecialBuenaPrize: ; 8afd4
ld a, [wBlueCardBalance]
sub c
ld [wBlueCardBalance], a
- call Function8b097
+ call PrintBlueCardBalance
jr .Purchase
.InsufficientBalance
@@ -139,8 +139,8 @@ SpecialBuenaPrize: ; 8afd4
jr .loop
.done
- call WriteBackup
- call WriteBackup
+ call CloseWindow
+ call CloseWindow
ld hl, .Text_PleaseComeBackAgain
call PrintText
call JoyWaitAorB
@@ -183,35 +183,35 @@ SpecialBuenaPrize: ; 8afd4
db "@"
; 0x8b090
-Function8b090: ; 8b090
- ld hl, MenuDataHeader_0x8b0d1
+Buena_DisplayBlueCardBalance: ; 8b090
+ ld hl, BlueCardBalanceMenuDataHeader
call LoadMenuDataHeader
ret
; 8b097
-Function8b097: ; 8b097
+PrintBlueCardBalance: ; 8b097
ld de, wBlueCardBalance
- call Function8b09e
+ call .DrawBox
ret
; 8b09e
-Function8b09e: ; 8b09e
+.DrawBox: ; 8b09e
push de
xor a
ld [hBGMapMode], a
- ld hl, MenuDataHeader_0x8b0d1
+ ld hl, BlueCardBalanceMenuDataHeader
call CopyMenuDataHeader
call MenuBox
call UpdateSprites
call MenuBoxCoord2Tile
- ld bc, $0015
+ ld bc, SCREEN_WIDTH + 1
add hl, bc
ld de, .Points_string
call PlaceString
ld h, b
ld l, c
inc hl
- ld a, $7f
+ ld a, " "
ld [hli], a
ld [hld], a
pop de
@@ -224,13 +224,13 @@ Function8b09e: ; 8b09e
db "Points@"
; 8b0d1
-MenuDataHeader_0x8b0d1: ; 0x8b0d1
+BlueCardBalanceMenuDataHeader: ; 0x8b0d1
db $40 ; flags
db 11, 00 ; start coords
db 13, 11 ; end coords
; 8b0d6
-Function8b0d6: ; 8b0d6
+Buena_PlacePrizeMenuBox: ; 8b0d6
ld hl, .menudataheader
call LoadMenuDataHeader
ret
@@ -242,29 +242,29 @@ Function8b0d6: ; 8b0d6
db 11, 17 ; end coords
; 8b0e2
-Function8b0e2: ; 8b0e2
+Buena_PrizeMenu: ; 8b0e2
ld hl, .MenuDataHeader
call CopyMenuDataHeader
ld a, [MenuSelection]
ld [wMenuCursorBuffer], a
xor a
- ld [wcf76], a
+ ld [wWhichIndexSet], a
ld [hBGMapMode], a
call InitScrollingMenu
call UpdateSprites
- call HandleScrollingMenu
+ call ScrollingMenu
ld a, [MenuSelection]
ld c, a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld [MenuSelection], a
- ld a, [wcf73]
+ ld a, [wMenuJoypad]
cp $2
- jr z, .asm_8b111
+ jr z, .cancel
ld a, c
and a
ret nz
-.asm_8b111
+.cancel
xor a
ret
; 8b113
@@ -281,8 +281,8 @@ Function8b0e2: ; 8b0e2
.MenuData2: ; 0x8b11c
db $10 ; flags
- db 4 ; items
- db $d, $1
+ db 4, 13 ; rows, columns
+ db 1 ; spacing
dba .indices
dba .prizeitem
dba .prizepoints
diff --git a/event/bug_contest_2.asm b/event/bug_contest_2.asm
index 4aa4390eb..72fa8a31b 100755
--- a/event/bug_contest_2.asm
+++ b/event/bug_contest_2.asm
@@ -27,9 +27,9 @@ endr
.next
; Choose a flag at uniform random to be set.
call Random
- cp $fa ; 250
+ cp 250
jr nc, .next
- ld c, $19 ; 25
+ ld c, 25
call SimpleDivide
ld e, b
ld d, 0
@@ -124,7 +124,7 @@ ContestReturnMons: ; 13a31
ld b, $1
.loop
ld a, [hli]
- cp $ff
+ cp -1
jr z, .done
inc b
jr .loop
diff --git a/event/bug_contest_judging.asm b/event/bug_contest_judging.asm
index 4180391e1..420c46aac 100755
--- a/event/bug_contest_judging.asm
+++ b/event/bug_contest_judging.asm
@@ -1,7 +1,7 @@
_BugContestJudging: ; 1369d
call ContestScore
callba MobileFn_105f79
- call Function13819
+ call BugContest_JudgeContestants
ld a, [wBugContestThirdPlacePersonID]
call LoadContestantName
ld a, [wBugContestThirdPlaceMon]
@@ -23,13 +23,12 @@ _BugContestJudging: ; 1369d
call GetPokemonName
ld hl, BugContest_FirstPlaceText
call PrintText
- jp Function13807
+ jp BugContest_GetPlayersResult
; 136eb
BugContest_FirstPlaceText: ; 0x136eb
text_jump ContestJudging_FirstPlaceText
start_asm
-BugContest_FirstPlace: ; 136f0
ld de, SFX_1ST_PLACE
call PlaySFX
call WaitSFX
@@ -47,7 +46,6 @@ BugContest_SecondPlaceText: ; 0x13702
; Placing second was @ , who caught a @ !@ @
text_jump ContestJudging_SecondPlaceText
start_asm
-BugContest_SecondPlace: ; 13707
ld de, SFX_2ND_PLACE
call PlaySFX
call WaitSFX
@@ -65,9 +63,6 @@ BugContest_ThirdPlaceText: ; 0x13719
; Placing third was @ , who caught a @ !@ @
text_jump ContestJudging_ThirdPlaceText
start_asm
-; 0x1371e
-
-BugContest_ThirdPlace: ; 1371e
ld de, SFX_3RD_PLACE
call PlaySFX
call WaitSFX
@@ -215,13 +210,13 @@ BugContestant_SchoolboyKipp:
dbw KAKUNA, 259
; 13807
-Function13807: ; 13807
+BugContest_GetPlayersResult: ; 13807
ld hl, wBugContestThirdPlacePersonID
ld de, -4
ld b, 3
.loop
ld a, [hl]
- cp 1
+ cp 1 ; Player
jr z, .done
add hl, de
dec b
@@ -231,25 +226,25 @@ Function13807: ; 13807
ret
; 13819
-Function13819: ; 13819
+BugContest_JudgeContestants: ; 13819
call ClearContestResults
call ComputeAIContestantScores
ld hl, wBugContestTempPersonID
- ld a, 1
+ ld a, 1 ; Player
ld [hli], a
ld a, [wContestMon]
ld [hli], a
ld a, [hProduct]
ld [hli], a
- ld a, [hMultiplicand]
+ ld a, [hProduct + 1]
ld [hl], a
call DetermineContestWinners
ret
; 13833
ClearContestResults: ; 13833
- ld hl, wBugContestFirstPlacePersonID
- ld b, 12
+ ld hl, wBugContestResults
+ ld b, wBugContestWinnersEnd - wBugContestResults
xor a
.loop
ld [hli], a
diff --git a/event/card_key.asm b/event/card_key.asm
index b442ba184..dc4c73ad2 100755
--- a/event/card_key.asm
+++ b/event/card_key.asm
@@ -9,7 +9,7 @@ _CardKey: ; 50779
jr nz, .nope
; Are we facing the slot?
ld a, [PlayerDirection]
- and $c
+ and %1100
cp OW_UP
jr nz, .nope
@@ -23,17 +23,17 @@ _CardKey: ; 50779
; Let's use the Card Key.
ld hl, .CardKeyScript
call QueueScript
- ld a, $1
- ld [wd0ec], a
+ ld a, TRUE
+ ld [wItemEffectSucceeded], a
ret
.nope
- ld a, $0
- ld [wd0ec], a
+ ld a, FALSE
+ ld [wItemEffectSucceeded], a
ret
; 507af
.CardKeyScript: ; 0x507af
- loadmovesprites
+ closetext
farjump MapRadioTower3FSignpost2Script
; 0x507b4
diff --git a/event/celebi.asm b/event/celebi.asm
index 46c78ed91..d9c188f1a 100755
--- a/event/celebi.asm
+++ b/event/celebi.asm
@@ -8,17 +8,17 @@ Special_CelebiShrineEvent: ; 4989a
depixel 0, 10, 7, 0
ld a, SPRITE_ANIM_INDEX_2C
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld hl, $2
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], $1f
- ld hl, $f
+ ld [hl], SPRITE_ANIM_SEQ_1F
+ ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
ld a, $80
ld [hl], a
- ld a, $a0
+ ld a, 160 ; frame count
ld [wcf64], a
ld d, $0
.loop
@@ -26,76 +26,83 @@ Special_CelebiShrineEvent: ; 4989a
bit 7, a
jr nz, .done
push bc
- call Function49bae
+ call GetCelebiSpriteTile
inc d
push de
ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
- call Function49935
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
+ call CelebiEvent_CountDown
ld c, 2
call DelayFrames
pop de
pop bc
jr .loop
+
.done
pop af
ld [VramState], a
- call Function498f9
- call Function49bf3
+ call .RefreshPlayerSprite_ClearAllOthers
+ call CelebiEvent_SetBattleType
ret
+
; 498f9
-Function498f9: ; 498f9
+.RefreshPlayerSprite_ClearAllOthers: ; 498f9
ld hl, Sprites + 2
xor a
ld c, $4
-.loop
+.OAMloop
ld [hli], a
rept 3
inc hl
endr
inc a
dec c
- jr nz, .loop
+ jr nz, .OAMloop
ld hl, Sprites + $10
ld bc, $90
xor a
call ByteFill
ret
+
; 49912
LoadCelebiGFX: ; 49912
- callba Function8cf53
+ callba ClearSpriteAnims
ld de, SpecialCelebiLeafGFX
ld hl, VTiles1
lb bc, BANK(SpecialCelebiLeafGFX), 4
call Request2bpp
ld de, SpecialCelebiGFX
- ld hl, VTiles1 tile $04
+ ld hl, VTiles0 tile $84
lb bc, BANK(SpecialCelebiGFX), $10
call Request2bpp
xor a
ld [wJumptableIndex], a
ret
+
; 49935
-Function49935: ; 49935
+CelebiEvent_CountDown: ; 49935
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_4993e
+ jr z, .done
dec [hl]
ret
-.asm_4993e
+
+.done
ld hl, wJumptableIndex
set 7, [hl]
ret
+
; 49944
-Function49944: ; 49944
+CelebiEvent_SpawnLeaf: ; 49944
+; unused
ld hl, wcf65
ld a, [hl]
inc [hl]
@@ -107,12 +114,13 @@ Function49944: ; 49944
add $40
ld d, a
ld e, $0
- ld a, SPRITE_ANIM_INDEX_18 ; fly land
+ ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $80
ret
+
; 49962
SpecialCelebiLeafGFX: ; 49962
@@ -124,126 +132,133 @@ INCBIN "gfx/special/celebi/3.2bpp"
INCBIN "gfx/special/celebi/4.2bpp"
-Function49aa2: ; 49aa2 (12:5aa2)
- ld hl, $6
+UpdateCelebiPosition: ; 49aa2 (12:5aa2)
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
push af
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
- cp $52
- jp nc, Function49b30
- ld hl, $5
+ cp 8 * 10 + 2
+ jp nc, .FreezeCelebiPosition
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
inc [hl]
- ld hl, $f
+ ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
ld a, [hl]
ld d, a
cp $3a
- jr c, .asm_49ac6
- jr z, .asm_49ac6
+ jr c, .skip
+ jr z, .skip
sub $3
ld [hl], a
-.asm_49ac6
- ld hl, $e
+.skip
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld a, [hl]
inc [hl]
- call Function49b3b
- ld hl, $6
+ call CelebiEvent_Cosine
+ ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
ld d, a
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $5c
- jr nc, .asm_49ae2
- cp $44
- jr nc, .asm_49b0d
-.asm_49ae2
+ cp 8 * 11 + 4
+ jr nc, .ShiftY
+ cp 8 * 8 + 4
+ jr nc, .ReinitSpriteAnimFrame
+.ShiftY
pop af
push af
cp d
- jr nc, .asm_49af2
- ld hl, $4
+ jr nc, .moving_left
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr c, .asm_49b05
- jr .asm_49afb
-.asm_49af2
- ld hl, $4
+ cp 8 * 10
+ jr c, .float_up
+ jr .float_down
+
+.moving_left
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr nc, .asm_49b05
-.asm_49afb
- ld hl, $5
+ cp 8 * 10
+ jr nc, .float_up
+.float_down
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
sub $2
ld [hl], a
- jr .asm_49b0d
-.asm_49b05
- ld hl, $5
+ jr .ReinitSpriteAnimFrame
+
+.float_up
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
add $1
ld [hl], a
-.asm_49b0d
+.ReinitSpriteAnimFrame
pop af
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
add [hl]
- cp $50
- jr c, .asm_49b26
- cp $e6
- jr nc, .asm_49b26
- ld hl, $1
+ cp 8 * 10
+ jr c, .left
+ cp -(8 * 3 + 2)
+ jr nc, .left
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $41
- call Function3b3c
- jr .asm_49b2f
-.asm_49b26
- ld hl, $1
+ call ReinitSpriteAnimFrame
+ jr .done
+
+.left
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $40
- call Function3b3c
-.asm_49b2f
+ call ReinitSpriteAnimFrame
+.done
ret
-Function49b30: ; 49b30 (12:5b30)
+
+.FreezeCelebiPosition: ; 49b30 (12:5b30)
pop af
- ld hl, $1
+ ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, $40
- call Function3b3c
+ call ReinitSpriteAnimFrame
ret
-Function49b3b: ; 49b3b (12:5b3b)
+
+CelebiEvent_Cosine: ; 49b3b (12:5b3b)
add $10
and $3f
cp $20
- jr nc, .asm_49b48
- call Function49b52
+ jr nc, .negative
+ call .SineFunction
ld a, h
ret
-.asm_49b48
+
+.negative
and $1f
- call Function49b52
+ call .SineFunction
ld a, h
xor $ff
inc a
ret
-Function49b52: ; 49b52 (12:5b52)
+
+.SineFunction: ; 49b52 (12:5b52)
ld e, a
ld a, d
ld d, $0
- ld hl, Unknown_49b6e
+ ld hl, .sinewave
rept 2
add hl, de
endr
@@ -251,23 +266,24 @@ endr
inc hl
ld d, [hl]
ld hl, 0
-.asm_49b61
+.multiply
srl a
- jr nc, .asm_49b66
+ jr nc, .even
add hl, de
-.asm_49b66
+.even
sla e
rl d
and a
- jr nz, .asm_49b61
+ jr nz, .multiply
ret
+
; 49b6e (12:5b6e)
-Unknown_49b6e: ; 49b6e
+.sinewave: ; 49b6e
sine_wave $100
; 49bae
-Function49bae: ; 49bae
+GetCelebiSpriteTile: ; 49bae
push hl
push bc
push de
@@ -275,66 +291,74 @@ Function49bae: ; 49bae
ld d, $3
ld e, d
cp $0
- jr z, .asm_49bd0
+ jr z, .Frame1
cp d
- jr z, .asm_49bd4
- call Function49bed
+ jr z, .Frame2
+ call .AddE
cp d
- jr z, .asm_49bd8
- call Function49bed
+ jr z, .Frame3
+ call .AddE
cp d
- jr z, .asm_49bdc
- call Function49bed
+ jr z, .Frame4
+ call .AddE
cp d
- jr c, .asm_49be9
- jr .asm_49be5
+ jr c, .done
+ jr .restart
+
-.asm_49bd0
+.Frame1
ld a, $84
- jr .asm_49bde
+ jr .load_tile
-.asm_49bd4
+
+.Frame2
ld a, $88
- jr .asm_49bde
+ jr .load_tile
+
-.asm_49bd8
+.Frame3
ld a, $8c
- jr .asm_49bde
+ jr .load_tile
-.asm_49bdc
+
+.Frame4
ld a, $90
-.asm_49bde
- ld hl, $3
+.load_tile
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], a
- jr .asm_49be9
+ jr .done
-.asm_49be5
+
+.restart
pop de
ld d, $ff
push de
-.asm_49be9
+.done
pop de
pop bc
pop hl
ret
+
; 49bed
-Function49bed: ; 49bed
+.AddE: ; 49bed
push af
ld a, d
add e
ld d, a
pop af
ret
+
; 49bf3
-Function49bf3: ; 49bf3
+CelebiEvent_SetBattleType: ; 49bf3
ld a, BATTLETYPE_CELEBI
ld [BattleType], a
ret
+
; 49bf9
CheckCaughtCelebi: ; 49bf9
@@ -345,10 +369,12 @@ CheckCaughtCelebi: ; 49bf9
ld [ScriptVar], a
jr .done
+
.false
xor a
ld [ScriptVar], a
.done
ret
+
; 49c0c
diff --git a/event/daycare.asm b/event/daycare.asm
index 3ea64d38c..c83701e28 100755
--- a/event/daycare.asm
+++ b/event/daycare.asm
@@ -1,231 +1,252 @@
+ const_def
+ const DAYCARETEXT_MAN_INTRO
+ const DAYCARETEXT_MAN_EGG
+ const DAYCARETEXT_LADY_INTRO
+ const DAYCARETEXT_LADY_EGG
+ const DAYCARETEXT_WHICH_ONE
+ const DAYCARETEXT_DEPOSIT
+ const DAYCARETEXT_CANT_BREED_EGG
+ const DAYCARETEXT_LAST_MON
+ const DAYCARETEXT_LAST_ALIVE_MON
+ const DAYCARETEXT_COME_BACK_LATER
+ const DAYCARETEXT_REMOVE_MAIL
+ const DAYCARETEXT_GENIUSES
+ const DAYCARETEXT_ASK_WITHDRAW
+ const DAYCARETEXT_WITHDRAW
+ const DAYCARETEXT_TOO_SOON
+ const DAYCARETEXT_PARTY_FULL
+ const DAYCARETEXT_NOT_ENOUGH_MONEY
+ const DAYCARETEXT_OH_FINE
+ const DAYCARETEXT_COME_AGAIN
+ const DAYCARETEXT_13
+
Special_DayCareMan: ; 166d6
ld hl, wDaycareMan
bit 0, [hl]
- jr nz, .asm_166fe
+ jr nz, .AskWithdrawMon
ld hl, wDaycareMan
- ld a, $0
- call Function1678f
- jr c, .asm_16724
- call Function16798
- jr c, .asm_16721
- callba Functionde2a
+ ld a, DAYCARETEXT_MAN_INTRO
+ call DayCareManIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareMan
ld hl, wDaycareMan
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_166fe
- callba Functione698
+.AskWithdrawMon
+ callba GetBreedMon1LevelGrowth
ld hl, wBreedMon1Nick
- call Function1686d
- call Function16807
- jr c, .asm_16721
- callba Functiondd21
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareMan
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareMan
res 0, [hl]
res 5, [hl]
- jr .asm_16724
+ jr .cancel
-.asm_16721
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_16724
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 1672a
Special_DayCareLady: ; 1672a
ld hl, wDaycareLady
bit 0, [hl]
- jr nz, .asm_16752
+ jr nz, .AskWithdrawMon
ld hl, wDaycareLady
- ld a, $2
- call Function16781
- jr c, .asm_1677b
- call Function16798
- jr c, .asm_16778
- callba Functionde37
+ ld a, DAYCARETEXT_LADY_INTRO
+ call DayCareLadyIntroText
+ jr c, .cancel
+ call DayCareAskDepositPokemon
+ jr c, .print_text
+ callba DepositMonWithDaycareLady
ld hl, wDaycareLady
set 0, [hl]
- call Function167f6
- call Function16a3b
+ call DayCare_DepositPokemonText
+ call DayCare_InitBreeding
ret
-.asm_16752
- callba Functione6b3
+.AskWithdrawMon
+ callba GetBreedMon2LevelGrowth
ld hl, wBreedMon2Nick
- call Function1686d
- call Function16807
- jr c, .asm_16778
- callba Functiondd42
- call Function16850
+ call GetPriceToRetrieveBreedmon
+ call DayCare_AskWithdrawBreedMon
+ jr c, .print_text
+ callba RetrievePokemonFromDaycareLady
+ call DayCare_TakeMoney_PlayCry
ld hl, wDaycareLady
res 0, [hl]
ld hl, wDaycareMan
res 5, [hl]
- jr .asm_1677b
+ jr .cancel
-.asm_16778
- call Function1689b
+.print_text
+ call PrintDayCareText
-.asm_1677b
- ld a, $13
- call Function1689b
+.cancel
+ ld a, DAYCARETEXT_13
+ call PrintDayCareText
ret
; 16781
-Function16781: ; 16781
+DayCareLadyIntroText: ; 16781
bit 7, [hl]
- jr nz, .asm_16788
+ jr nz, .okay
set 7, [hl]
inc a
-
-.asm_16788
- call Function1689b
+.okay
+ call PrintDayCareText
call YesNoBox
ret
; 1678f
-Function1678f: ; 1678f
+DayCareManIntroText: ; 1678f
set 7, [hl]
- call Function1689b
+ call PrintDayCareText
call YesNoBox
ret
; 16798
-Function16798: ; 16798
+DayCareAskDepositPokemon: ; 16798
ld a, [PartyCount]
cp 2
- jr c, .asm_167e5
- ld a, 4
- call Function1689b
+ jr c, .OnlyOneMon
+ ld a, DAYCARETEXT_WHICH_ONE
+ call PrintDayCareText
ld b, 6
- callba Function5001d
- jr c, .asm_167dd
+ callba SelectTradeOrDaycareMon
+ jr c, .Declined
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_167e1
+ jr z, .Egg
callba CheckCurPartyMonFainted
- jr c, .asm_167e9
+ jr c, .OutOfUsableMons
ld hl, PartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld d, [hl]
callba ItemIsMail
- jr c, .asm_167ed
+ jr c, .HoldingMail
ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
and a
ret
-.asm_167dd
- ld a, $12
+.Declined
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_167e1
- ld a, $6
+.Egg
+ ld a, DAYCARETEXT_CANT_BREED_EGG
scf
ret
-.asm_167e5
- ld a, $7
+.OnlyOneMon
+ ld a, DAYCARETEXT_LAST_MON
scf
ret
-.asm_167e9
- ld a, $8
+.OutOfUsableMons
+ ld a, DAYCARETEXT_LAST_ALIVE_MON
scf
ret
-.asm_167ed
- ld a, $a
+.HoldingMail
+ ld a, DAYCARETEXT_REMOVE_MAIL
scf
ret
; 167f1
-UnknownText_0x167f1: ; 0x167f1
+.DummyText: ; 0x167f1
;
text_jump UnknownText_0x1bdaa7
db "@"
; 0x167f6
-Function167f6: ; 167f6
- ld a, $5
- call Function1689b
+DayCare_DepositPokemonText: ; 167f6
+ ld a, DAYCARETEXT_DEPOSIT
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $9
- call Function1689b
+ ld a, DAYCARETEXT_COME_BACK_LATER
+ call PrintDayCareText
ret
; 16807
-Function16807: ; 16807
+DayCare_AskWithdrawBreedMon: ; 16807
ld a, [StringBuffer2 + 1]
and a
- jr nz, .asm_16819
- ld a, $f
- call Function1689b
+ jr nz, .grew_at_least_one_level
+ ld a, DAYCARETEXT_PARTY_FULL
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- jr .asm_1682d
+ jr c, .refused
+ jr .check_money
-.asm_16819
- ld a, $b
- call Function1689b
+.grew_at_least_one_level
+ ld a, DAYCARETEXT_GENIUSES
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
- ld a, $c
- call Function1689b
+ jr c, .refused
+ ld a, DAYCARETEXT_ASK_WITHDRAW
+ call PrintDayCareText
call YesNoBox
- jr c, .asm_16844
+ jr c, .refused
-.asm_1682d
+.check_money
ld de, Money
ld bc, StringBuffer2 + 2
callba CompareMoney
- jr c, .asm_16848
+ jr c, .not_enough_money
ld a, [PartyCount]
- cp $6
- jr nc, .asm_1684c
+ cp PARTY_LENGTH
+ jr nc, .PartyFull
and a
ret
-.asm_16844
- ld a, $12
+.refused
+ ld a, DAYCARETEXT_COME_AGAIN
scf
ret
-.asm_16848
- ld a, $11
+.not_enough_money
+ ld a, DAYCARETEXT_OH_FINE
scf
ret
-.asm_1684c
- ld a, $10
+.PartyFull
+ ld a, DAYCARETEXT_NOT_ENOUGH_MONEY
scf
ret
; 16850
-Function16850: ; 16850
+DayCare_TakeMoney_PlayCry: ; 16850
ld bc, StringBuffer2 + 2
ld de, Money
callba TakeMoney
- ld a, $d
- call Function1689b
+ ld a, DAYCARETEXT_WITHDRAW
+ call PrintDayCareText
ld a, [CurPartySpecies]
call PlayCry
- ld a, $e
- call Function1689b
+ ld a, DAYCARETEXT_TOO_SOON
+ call PrintDayCareText
ret
; 1686d
-Function1686d: ; 1686d
+GetPriceToRetrieveBreedmon: ; 1686d
ld a, b
ld [StringBuffer2], a
ld a, d
@@ -234,10 +255,10 @@ Function1686d: ; 1686d
ld bc, NAME_LENGTH
call CopyBytes
ld hl, 0
- ld bc, $64
+ ld bc, 100
ld a, [StringBuffer2 + 1]
call AddNTimes
- ld de, $64
+ ld de, 100
add hl, de
xor a
ld [StringBuffer2 + 2], a
@@ -248,13 +269,12 @@ Function1686d: ; 1686d
ret
; 1689b
-Function1689b: ; 1689b
+PrintDayCareText: ; 1689b
ld e, a
ld d, 0
- ld hl, TextTable_168aa
-rept 2
+ ld hl, .TextTable
+ add hl, de
add hl, de
-endr
ld a, [hli]
ld h, [hl]
ld l, a
@@ -262,144 +282,144 @@ endr
ret
; 168aa
-TextTable_168aa: ; 168aa
- dw UnknownText_0x168d2
- dw UnknownText_0x168d7
- dw UnknownText_0x168dc
- dw UnknownText_0x168e1
- dw UnknownText_0x168e6
- dw UnknownText_0x168ff
- dw UnknownText_0x168f0
- dw UnknownText_0x168eb
- dw UnknownText_0x168fa
- dw UnknownText_0x16904
- dw UnknownText_0x168f5
- dw UnknownText_0x16909
- dw UnknownText_0x1690e
- dw UnknownText_0x16913
- dw UnknownText_0x16918
- dw UnknownText_0x1691d
- dw UnknownText_0x16922
- dw UnknownText_0x16927
- dw UnknownText_0x1692c
- dw UnknownText_0x16931
+.TextTable: ; 168aa
+ dw .DayCareManIntro ; 00
+ dw .DayCareManOddEgg ; 01
+ dw .DayCareLadyIntro ; 02
+ dw .DayCareLadyOddEgg ; 03
+ dw .WhichOne ; 04
+ dw .OkayIllRaiseYourMon ; 05
+ dw .CantAcceptEgg ; 06
+ dw .JustOneMon ; 07
+ dw .LastHealthyMon ; 08
+ dw .ComeBackForItLater ; 09
+ dw .RemoveMail ; 0a
+ dw .AreWeGeniusesOrWhat ; 0b
+ dw .AskRetrieveMon ; 0c
+ dw .PerfectHeresYourMon ; 0d
+ dw .GotBackMon ; 0e
+ dw .ImmediatelyWithdrawMon ; 0f
+ dw .PartyFull ; 10
+ dw .NotEnoughMoney ; 11
+ dw .OhFineThen ; 12
+ dw .ComeAgain ; 13
; 168d2
-UnknownText_0x168d2: ; 0x168d2
+.DayCareManIntro: ; 0x168d2
; I'm the DAY-CARE MAN. Want me to raise a #MON?
text_jump UnknownText_0x1bdaa9
db "@"
; 0x168d7
-UnknownText_0x168d7: ; 0x168d7
+.DayCareManOddEgg: ; 0x168d7
; I'm the DAY-CARE MAN. Do you know about EGGS? I was raising #MON with my wife, you see. We were shocked to find an EGG! How incredible is that? So, want me to raise a #MON?
text_jump UnknownText_0x1bdad8
db "@"
; 0x168dc
-UnknownText_0x168dc: ; 0x168dc
+.DayCareLadyIntro: ; 0x168dc
; I'm the DAY-CARE LADY. Should I raise a #MON for you?
text_jump UnknownText_0x1bdb85
db "@"
; 0x168e1
-UnknownText_0x168e1: ; 0x168e1
+.DayCareLadyOddEgg: ; 0x168e1
; I'm the DAY-CARE LADY. Do you know about EGGS? My husband and I were raising some #MON, you see. We were shocked to find an EGG! How incredible could that be? Should I raise a #MON for you?
text_jump UnknownText_0x1bdbbb
db "@"
; 0x168e6
-UnknownText_0x168e6: ; 0x168e6
+.WhichOne: ; 0x168e6
; What should I raise for you?
text_jump UnknownText_0x1bdc79
db "@"
; 0x168eb
-UnknownText_0x168eb: ; 0x168eb
+.JustOneMon: ; 0x168eb
; Oh? But you have just one #MON.
text_jump UnknownText_0x1bdc97
db "@"
; 0x168f0
-UnknownText_0x168f0: ; 0x168f0
+.CantAcceptEgg: ; 0x168f0
; Sorry, but I can't accept an EGG.
text_jump UnknownText_0x1bdcb8
db "@"
; 0x168f5
-UnknownText_0x168f5: ; 0x168f5
+.RemoveMail: ; 0x168f5
; Remove MAIL before you come see me.
text_jump UnknownText_0x1bdcda
db "@"
; 0x168fa
-UnknownText_0x168fa: ; 0x168fa
+.LastHealthyMon: ; 0x168fa
; If you give me that, what will you battle with?
text_jump UnknownText_0x1bdcff
db "@"
; 0x168ff
-UnknownText_0x168ff: ; 0x168ff
+.OkayIllRaiseYourMon: ; 0x168ff
; OK. I'll raise your @ .
text_jump UnknownText_0x1bdd30
db "@"
; 0x16904
-UnknownText_0x16904: ; 0x16904
+.ComeBackForItLater: ; 0x16904
; Come back for it later.
text_jump UnknownText_0x1bdd4b
db "@"
; 0x16909
-UnknownText_0x16909: ; 0x16909
+.AreWeGeniusesOrWhat: ; 0x16909
; Are we geniuses or what? Want to see your @ ?
text_jump UnknownText_0x1bdd64
db "@"
; 0x1690e
-UnknownText_0x1690e: ; 0x1690e
+.AskRetrieveMon: ; 0x1690e
; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ .
text_jump UnknownText_0x1bdd96
db "@"
; 0x16913
-UnknownText_0x16913: ; 0x16913
+.PerfectHeresYourMon: ; 0x16913
; Perfect! Here's your #MON.
text_jump UnknownText_0x1bde04
db "@"
; 0x16918
-UnknownText_0x16918: ; 0x16918
+.GotBackMon: ; 0x16918
; got back @ .
text_jump UnknownText_0x1bde1f
db "@"
; 0x1691d
-UnknownText_0x1691d: ; 0x1691d
+.ImmediatelyWithdrawMon: ; 0x1691d
; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100.
text_jump UnknownText_0x1bde32
db "@"
; 0x16922
-UnknownText_0x16922: ; 0x16922
+.PartyFull: ; 0x16922
; You have no room for it.
text_jump UnknownText_0x1bdea2
db "@"
; 0x16927
-UnknownText_0x16927: ; 0x16927
+.NotEnoughMoney: ; 0x16927
; You don't have enough money.
text_jump UnknownText_0x1bdebc
db "@"
; 0x1692c
-UnknownText_0x1692c: ; 0x1692c
+.OhFineThen: ; 0x1692c
; Oh, fine then.
text_jump UnknownText_0x1bded9
db "@"
; 0x16931
-UnknownText_0x16931: ; 0x16931
+.ComeAgain: ; 0x16931
; Come again.
text_jump UnknownText_0x1bdee9
db "@"
@@ -408,94 +428,95 @@ UnknownText_0x16931: ; 0x16931
Special_DayCareManOutside: ; 16936
ld hl, wDaycareMan
bit 6, [hl]
- jr nz, Function16949
- ld hl, UnknownText_0x16944
+ jr nz, .AskGiveEgg
+ ld hl, .NotYet
call PrintText
ret
-UnknownText_0x16944: ; 0x16944
+.NotYet: ; 0x16944
; Not yet…
text_jump UnknownText_0x1bdef6
db "@"
; 0x16949
-Function16949: ; 16949
- ld hl, UnknownText_0x16993
+.AskGiveEgg: ; 16949
+ ld hl, .IntroText
call PrintText
call YesNoBox
- jr c, .asm_1697c
+ jr c, .Declined
ld a, [PartyCount]
cp PARTY_LENGTH
- jr nc, .asm_16987
- call Function169ac
+ jr nc, .PartyFull
+ call DayCare_GiveEgg
ld hl, wDaycareMan
res 6, [hl]
- call Function16a3b
- ld hl, UnknownText_0x16998
+ call DayCare_InitBreeding
+ ld hl, .GotEggText
call PrintText
ld de, SFX_GET_EGG_FROM_DAYCARE_LADY
call PlaySFX
ld c, 120
call DelayFrames
- ld hl, UnknownText_0x1699d
- jr .asm_1697f
+ ld hl, .TakeGoodCareOfItText
+ jr .Load0
-.asm_1697c
- ld hl, UnknownText_0x169a2
+.Declined
+ ld hl, .IllKeepItThanksText
-.asm_1697f
+.Load0
call PrintText
xor a
ld [ScriptVar], a
ret
-.asm_16987
- ld hl, UnknownText_0x169a7
+.PartyFull
+ ld hl, .PartyFullText
call PrintText
ld a, $1
ld [ScriptVar], a
ret
; 16993
-UnknownText_0x16993: ; 0x16993
+.IntroText: ; 0x16993
; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it?
text_jump UnknownText_0x1bdf00
db "@"
; 0x16998
-UnknownText_0x16998: ; 0x16998
+.GotEggText: ; 0x16998
; received the EGG!
text_jump UnknownText_0x1bdfa5
db "@"
; 0x1699d
-UnknownText_0x1699d: ; 0x1699d
+.TakeGoodCareOfItText: ; 0x1699d
; Take good care of it.
text_jump UnknownText_0x1bdfba
db "@"
; 0x169a2
-UnknownText_0x169a2: ; 0x169a2
+.IllKeepItThanksText: ; 0x169a2
; Well then, I'll keep it. Thanks!
text_jump UnknownText_0x1bdfd1
db "@"
; 0x169a7
-UnknownText_0x169a7: ; 0x169a7
+.PartyFullText: ; 0x169a7
; You have no room in your party. Come back later.
text_jump UnknownText_0x1bdff2
db "@"
; 0x169ac
-Function169ac: ; 169ac
+DayCare_GiveEgg: ; 169ac
ld a, [wEggMonLevel]
ld [CurPartyLevel], a
ld hl, PartyCount
ld a, [hl]
cp PARTY_LENGTH
- jr nc, .asm_16a2f
+ jr nc, .PartyFull
inc a
ld [hl], a
+
ld c, a
ld b, 0
add hl, bc
@@ -504,24 +525,28 @@ Function169ac: ; 169ac
ld a, [wEggMonSpecies]
ld [CurSpecies], a
ld [CurPartySpecies], a
- ld a, $ff
+ ld a, -1
ld [hl], a
+
ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggNick
call CopyBytes
+
ld hl, PartyMonOT
ld bc, NAME_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggOT
call CopyBytes
+
ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
- call Function16a31
+ call DayCare_GetCurrentPartyMember
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
call CopyBytes
+
call GetBaseData
ld a, [PartyCount]
dec a
@@ -550,12 +575,12 @@ Function169ac: ; 169ac
and a
ret
-.asm_16a2f
+.PartyFull
scf
ret
; 16a31
-Function16a31: ; 16a31
+DayCare_GetCurrentPartyMember: ; 16a31
ld a, [PartyCount]
dec a
call AddNTimes
@@ -564,14 +589,14 @@ Function16a31: ; 16a31
ret
; 16a3b
-Function16a3b: ; 16a3b
+DayCare_InitBreeding: ; 16a3b
ld a, [wDaycareLady]
bit 0, a
ret z
ld a, [wDaycareMan]
bit 0, a
ret z
- callab Function16e1d
+ callab CheckBreedmonCompatibility
ld a, [wd265]
and a
ret z
@@ -579,15 +604,15 @@ Function16a3b: ; 16a3b
ret z
ld hl, wDaycareMan
set 5, [hl]
-.asm_16a59
+.loop
call Random
cp 150
- jr c, .asm_16a59
+ jr c, .loop
ld [wStepsToEgg], a
- jp Function16a66
+ jp .UselessJump
; 16a66
-Function16a66: ; 16a66
+.UselessJump: ; 16a66
xor a
ld hl, wEggMon
ld bc, wEggMonEnd - wEggMon
@@ -609,24 +634,24 @@ Function16a66: ; 16a66
ld a, [wBreedMon1Species]
cp DITTO
ld a, $1
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
ld a, [wBreedMon2Species]
cp DITTO
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
callba GetGender
ld a, $0
- jr z, .asm_16ab6
+ jr z, .LoadWhichBreedmonIsTheMother
inc a
-.asm_16ab6
- ld [wDittoInDaycare], a
+.LoadWhichBreedmonIsTheMother
+ ld [wBreedMotherOrNonDitto], a
and a
ld a, [wBreedMon1Species]
- jr z, .asm_16ac2
+ jr z, .GotMother
ld a, [wBreedMon2Species]
-.asm_16ac2
+.GotMother
ld [CurPartySpecies], a
callab GetPreEvolution
callab GetPreEvolution
@@ -635,20 +660,20 @@ Function16a66: ; 16a66
ld a, [CurPartySpecies]
cp NIDORAN_F
- jr nz, .asm_16ae8
+ jr nz, .GotEggSpecies
call Random
- cp $80
+ cp 1 + 50 percent
ld a, NIDORAN_F
- jr c, .asm_16ae8
+ jr c, .GotEggSpecies
ld a, NIDORAN_M
-.asm_16ae8
+.GotEggSpecies
ld [CurPartySpecies], a
ld [CurSpecies], a
ld [wEggMonSpecies], a
call GetBaseData
ld hl, wEggNick
- ld de, String_16be0
+ ld de, .String_EGG
call CopyName2
ld hl, PlayerName
ld de, wEggOT
@@ -660,7 +685,7 @@ Function16a66: ; 16a66
xor a
ld [Buffer1], a
predef FillMoves
- callba Function170bf
+ callba InitEggMoves
ld hl, wEggMonID
ld a, [PlayerID]
ld [hli], a
@@ -672,17 +697,17 @@ Function16a66: ; 16a66
ld hl, wEggMonExp
ld a, [hMultiplicand]
ld [hli], a
- ld a, [$ffb5]
+ ld a, [hMultiplicand + 1]
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hMultiplicand + 2]
ld [hl], a
xor a
- ld b, $a
+ ld b, wEggMonDVs - wEggMonStatExp
ld hl, wEggMonStatExp
-.asm_16b46
+.loop2
ld [hli], a
dec b
- jr nz, .asm_16b46
+ jr nz, .loop2
ld hl, wEggMonDVs
call Random
ld [hli], a
@@ -693,35 +718,35 @@ Function16a66: ; 16a66
ld de, wBreedMon1DVs
ld a, [wBreedMon1Species]
cp DITTO
- jr z, .asm_16b98
+ jr z, .GotDVs
ld de, wBreedMon2DVs
ld a, [wBreedMon2Species]
cp DITTO
- jr z, .asm_16b98
- ld a, $3
+ jr z, .GotDVs
+ ld a, BREEDMON
ld [MonType], a
push hl
callba GetGender
pop hl
ld de, wBreedMon1DVs
ld bc, wBreedMon2DVs
- jr c, .asm_16bab
- jr z, .asm_16b90
- ld a, [wDittoInDaycare]
+ jr c, .SkipDVs
+ jr z, .ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr z, .asm_16b98
+ jr z, .GotDVs
ld d, b
ld e, c
- jr .asm_16b98
+ jr .GotDVs
-.asm_16b90
- ld a, [wDittoInDaycare]
+.ParentCheck2
+ ld a, [wBreedMotherOrNonDitto]
and a
- jr nz, .asm_16b98
+ jr nz, .GotDVs
ld d, b
ld e, c
-.asm_16b98
+.GotDVs
ld a, [de]
inc de
and $f
@@ -738,15 +763,15 @@ Function16a66: ; 16a66
add b
ld [hl], a
-.asm_16bab
+.SkipDVs
ld hl, StringBuffer1
- ld de, wd050
+ ld de, wMonOrItemNameBuffer
ld bc, NAME_LENGTH
call CopyBytes
ld hl, wEggMonMoves
ld de, wEggMonPP
predef FillPP
- ld hl, wd050
+ ld hl, wMonOrItemNameBuffer
ld de, StringBuffer1
ld bc, NAME_LENGTH
call CopyBytes
@@ -754,15 +779,14 @@ Function16a66: ; 16a66
ld hl, wEggMonHappiness
ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld a, [CurPartyLevel]
ld [wEggMonLevel], a
ret
; 16be0
-String_16be0: ; 16be0
+.String_EGG: ; 16be0
db "EGG@"
; 16be4
diff --git a/event/dratini.asm b/event/dratini.asm
index 24876f9f4..d8ecdc803 100644
--- a/event/dratini.asm
+++ b/event/dratini.asm
@@ -8,8 +8,8 @@ SpecialDratini: ; 0x8b170
ret nc
ld bc, PartyCount
ld a, [bc]
- ld hl, 0
- call GetNthPartyMon
+ ld hl, MON_SPECIES
+ call .GetNthPartyMon
ld a, [bc]
ld c, a
ld de, PARTYMON_STRUCT_LENGTH
@@ -85,7 +85,7 @@ endr
db TWISTER
db 0
-GetNthPartyMon: ; 0x8b1ce
+.GetNthPartyMon: ; 0x8b1ce
; inputs:
; hl must be set to 0 before calling this function.
; a must be set to the number of Pokémon in the party.
@@ -106,6 +106,7 @@ GetNthPartyMon: ; 0x8b1ce
dec a
jr nz, .loop
ret
+
.EmptyParty
scf
ret
diff --git a/event/elevator.asm b/event/elevator.asm
index 0aa5c1f05..316bf382a 100755
--- a/event/elevator.asm
+++ b/event/elevator.asm
@@ -1,62 +1,62 @@
Elevator:: ; 1342d
- call Function1344a
- call Function1347d
- jr c, .asm_13448
- ld [wd041], a
- call Function134dd
- jr c, .asm_13448
- ld hl, wd041
+ call .LoadPointer
+ call .FindCurrentFloor
+ jr c, .quit
+ ld [wElevatorOriginFloor], a
+ call Elevator_AskWhichFloor
+ jr c, .quit
+ ld hl, wElevatorOriginFloor
cp [hl]
- jr z, .asm_13448
- call Function134c0
+ jr z, .quit
+ call Elevator_GoToFloor
and a
ret
-.asm_13448
+.quit
scf
ret
; 1344a
-Function1344a: ; 1344a
+.LoadPointer: ; 1344a
ld a, b
- ld [EngineBuffer1], a
+ ld [wElevatorPointerBank], a
ld a, e
- ld [wd03f], a
+ ld [wElevatorPointerLo], a
ld a, d
- ld [wd040], a
- call Function1345a
+ ld [wElevatorPointerHi], a
+ call .LoadFloors
ret
; 1345a
-Function1345a: ; 1345a
- ld de, OBPals + 8 * 6
+.LoadFloors: ; 1345a
+ ld de, CurElevator
ld bc, 4
- ld hl, wd03f
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
ld [de], a
inc de
-.asm_1346f
- ld a, [EngineBuffer1]
+.loop
+ ld a, [wElevatorPointerBank]
call GetFarByte
ld [de], a
inc de
add hl, bc
- cp $ff
- jr nz, .asm_1346f
+ cp -1
+ jr nz, .loop
ret
; 1347d
-Function1347d: ; 1347d
- ld hl, wd03f
+.FindCurrentFloor: ; 1347d
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
ld c, a
inc hl
@@ -64,47 +64,46 @@ Function1347d: ; 1347d
ld d, a
ld a, [BackupMapNumber]
ld e, a
- ld b, $0
-.asm_13495
- ld a, [EngineBuffer1]
+ ld b, 0
+.loop2
+ ld a, [wElevatorPointerBank]
call GetFarByte
- cp $ff
- jr z, .asm_134be
+ cp -1
+ jr z, .fail
rept 2
inc hl
endr
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
cp d
- jr nz, .asm_134b7
- ld a, [EngineBuffer1]
+ jr nz, .next1
+ ld a, [wElevatorPointerBank]
call GetFarByte
inc hl
cp e
- jr nz, .asm_134b8
- jr .asm_134bb
+ jr nz, .next2
+ jr .done
-.asm_134b7
+.next1
inc hl
-
-.asm_134b8
+.next2
inc b
- jr .asm_13495
+ jr .loop2
-.asm_134bb
+.done
xor a
ld a, b
ret
-.asm_134be
+.fail
scf
ret
; 134c0
-Function134c0: ; 134c0
+Elevator_GoToFloor: ; 134c0
push af
- ld hl, wd03f
+ ld hl, wElevatorPointerLo
ld a, [hli]
ld h, [hl]
ld l, a
@@ -114,13 +113,13 @@ Function134c0: ; 134c0
call AddNTimes
inc hl
ld de, BackupWarpNumber
- ld a, [EngineBuffer1]
+ ld a, [wElevatorPointerBank]
ld bc, 3
call FarCopyBytes
ret
; 134dd
-Function134dd: ; 134dd
+Elevator_AskWhichFloor: ; 134dd
call LoadStandardMenuDataHeader
ld hl, Elevator_WhichFloorText
call PrintText
@@ -131,16 +130,16 @@ Function134dd: ; 134dd
call UpdateSprites
xor a
ld [wMenuScrollPosition], a
- call HandleScrollingMenu
- call WriteBackup
- ld a, [wcf73]
- cp $2
- jr z, .asm_1350b
+ call ScrollingMenu
+ call CloseWindow
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
+ jr z, .cancel
xor a
- ld a, [wcf77]
+ ld a, [wScrollingMenuCursorPosition]
ret
-.asm_1350b
+.cancel
scf
ret
; 1350d
@@ -178,10 +177,10 @@ Elevator_CurrentFloorText: ; 13537
Elevator_GetCurrentFloorString: ; 1353f
push hl
- ld a, [wd041]
+ ld a, [wElevatorOriginFloor]
ld e, a
ld d, 0
- ld hl, wd0f1
+ ld hl, CurElevatorFloors
add hl, de
ld a, [hl]
pop de
@@ -201,7 +200,7 @@ Elevator_MenuData2: ; 0x13558
db $10 ; flags
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
- dbw 0, OBPals + 8 * 6
+ dbw 0, CurElevator
dba GetElevatorFlorStrings
dba NULL
dba NULL
@@ -209,7 +208,6 @@ Elevator_MenuData2: ; 0x13558
GetElevatorFlorStrings: ; 13568
ld a, [MenuSelection]
-
GetFloorString: ; 1356b
push de
call FloorToString
diff --git a/event/field_moves.asm b/event/field_moves.asm
index d6fa4a0bb..d2125b16e 100755
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -9,18 +9,18 @@ PlayWhirlpoolSound: ; 8c7d4
BlindingFlash: ; 8c7e1
callba FadeOutPalettes
ld hl, StatusFlags
- set 2, [hl]
- callba Function8c0e5
- callba Function8c001
- ld b, SCGB_09
+ set 2, [hl] ; Flash
+ callba ReplaceTimeOfDayPals
+ callba UpdateTimeOfDayPal
+ ld b, SCGB_MAPPALS
call GetSGBLayout
- callba Function49409
+ callba LoadOW_BGPal7
callba FadeInPalettes
ret
; 8c80a
ShakeHeadbuttTree: ; 8c80a
- callba Function8cf53
+ callba ClearSpriteAnims
ld de, CutGrassGFX
ld hl, VTiles1
lb bc, BANK(CutGrassGFX), 4
@@ -29,16 +29,16 @@ ShakeHeadbuttTree: ; 8c80a
ld hl, VTiles1 tile $04
lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp
- call Function8cad3
+ call Cut_Headbutt_GetPixelFacing
ld a, SPRITE_ANIM_INDEX_1B
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
- call GetHeadbuttTreeRelativeLocation
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
+ call HideHeadbuttTree
ld a, $20
ld [wcf64], a
call WaitSFX
@@ -50,9 +50,9 @@ ShakeHeadbuttTree: ; 8c80a
and a
jr z, .done
dec [hl]
- ld a, $90
- ld [wc3b5], a
- callba Function8cf7a
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callba DoNextFrameForAllSprites
call DelayFrame
jr .loop
@@ -61,14 +61,14 @@ ShakeHeadbuttTree: ; 8c80a
call WaitBGMap
xor a
ld [hBGMapMode], a
- callba Function8cf53
- ld hl, Sprites + $90
- ld bc, $10
+ callba ClearSpriteAnims
+ ld hl, Sprites + 36 * 4
+ ld bc, SpritesEnd - (Sprites + 36 * 4)
xor a
call ByteFill
ld de, Font
ld hl, VTiles1
- lb bc, BANK(Font), $c
+ lb bc, BANK(Font), 12
call Get1bpp
call ReplaceKrisSprite
ret
@@ -78,7 +78,7 @@ HeadbuttTreeGFX: ; 8c893
INCBIN "gfx/unknown/08c893.2bpp"
; 8c913
-GetHeadbuttTreeRelativeLocation: ; 8c913
+HideHeadbuttTree: ; 8c913
xor a
ld [hBGMapMode], a
ld a, [PlayerDirection]
@@ -113,6 +113,9 @@ TreeRelativeLocationTable: ; 8c938
; 8c940
OWCutAnimation: ; 8c940
+ ; Animation index in e
+ ; 0: Split tree in half
+ ; 1: Mow the lawn
ld a, e
and $1
ld [wJumptableIndex], a
@@ -124,9 +127,9 @@ OWCutAnimation: ; 8c940
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
- ld a, $90
- ld [wc3b5], a
- callab Function8cf7a
+ ld a, 36 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
call OWCutJumptable
call DelayFrame
jr .loop
@@ -136,7 +139,7 @@ OWCutAnimation: ; 8c940
; 8c96d
.LoadCutGFX: ; 8c96d
- callab Function8cf53 ; pointless to farcall
+ callab ClearSpriteAnims ; pointless to farcall
ld de, CutGrassGFX
ld hl, VTiles1
lb bc, BANK(CutGrassGFX), 4
@@ -160,7 +163,7 @@ OWCutJumptable: ; 8ca0c
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -171,97 +174,101 @@ endr
; 8ca1b
-.jumptable: ; 8ca1b (23:4a1b)
- dw Function8ca23
- dw Function8ca3c
- dw Function8ca5c
- dw Function8ca64
+.dw: ; 8ca1b (23:4a1b)
+ dw Cut_SpawnAnimateTree
+ dw Cut_SpawnAnimateLeaves
+ dw Cut_StartWaiting
+ dw Cut_WaitAnimSFX
-Function8ca23: ; 8ca23 (23:4a23)
- call Function8cad3
- ld a, SPRITE_ANIM_INDEX_17 ; leaf
+Cut_SpawnAnimateTree: ; 8ca23 (23:4a23)
+ call Cut_Headbutt_GetPixelFacing
+ ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $84
- ld a, $20
+ ld a, 32
ld [wcf64], a
+; Cut_StartWaiting
ld hl, wJumptableIndex
rept 2
inc [hl]
endr
ret
-Function8ca3c: ; 8ca3c (23:4a3c)
- call Function8ca8e
+Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c)
+ call Cut_GetLeafSpawnCoords
xor a
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $10
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $20
- call Function8ca73
+ call Cut_SpawnLeaf
ld a, $30
- call Function8ca73
- ld a, $20
+ call Cut_SpawnLeaf
+ ld a, 32 ; frames
ld [wcf64], a
+; Cut_StartWaiting
ld hl, wJumptableIndex
inc [hl]
ret
-Function8ca5c: ; 8ca5c (23:4a5c)
+Cut_StartWaiting: ; 8ca5c (23:4a5c)
ld a, $1
ld [hBGMapMode], a
+; Cut_WaitAnimSFX
ld hl, wJumptableIndex
inc [hl]
-Function8ca64: ; 8ca64 (23:4a64)
+Cut_WaitAnimSFX: ; 8ca64 (23:4a64)
ld hl, wcf64
ld a, [hl]
and a
- jr z, .asm_8ca6d
+ jr z, .finished
dec [hl]
ret
-.asm_8ca6d
+
+.finished
ld hl, wJumptableIndex
set 7, [hl]
ret
-Function8ca73: ; 8ca73 (23:4a73)
+Cut_SpawnLeaf: ; 8ca73 (23:4a73)
push de
push af
- ld a, SPRITE_ANIM_INDEX_16 ; fly takeoff
+ ld a, SPRITE_ANIM_INDEX_LEAF ; leaf
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $80
- ld hl, $e
+ ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
ld [hl], $4
pop af
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], a
pop de
ret
-Function8ca8e: ; 8ca8e (23:4a8e)
+Cut_GetLeafSpawnCoords: ; 8ca8e (23:4a8e)
ld de, 0
- ld a, [wd197]
+ ld a, [wMetatileStandingX]
bit 0, a
- jr z, .asm_8ca9a
+ jr z, .left_side
set 0, e
-.asm_8ca9a
- ld a, [wd196]
+.left_side
+ ld a, [wMetatileStandingY]
bit 0, a
- jr z, .asm_8caa3
+ jr z, .top_side
set 1, e
-.asm_8caa3
+.top_side
ld a, [PlayerDirection]
- and $c
+ and %00001100
add e
ld e, a
- ld hl, Unknown_8cab3
+ ld hl, .Coords
rept 2
add hl, de
endr
@@ -271,32 +278,35 @@ endr
ret
; 8cab3 (23:4ab3)
-Unknown_8cab3: ; 8cab3
- db $58, $60
- db $48, $60
- db $58, $70
- db $48, $70
- db $58, $40
- db $48, $40
- db $58, $50
- db $48, $50
- db $38, $60
- db $48, $60
- db $38, $50
- db $48, $50
- db $58, $60
- db $68, $60
- db $58, $50
- db $68, $50
+.Coords: ; 8cab3
+ dbpixel 11, 12 ; facing down, top left
+ dbpixel 9, 12 ; facing down, top right
+ dbpixel 11, 14 ; facing down, bottom left
+ dbpixel 9, 14 ; facing down, bottom right
+
+ dbpixel 11, 8 ; facing up, top left
+ dbpixel 9, 8 ; facing up, top right
+ dbpixel 11, 10 ; facing up, bottom left
+ dbpixel 9, 10 ; facing up, bottom right
+
+ dbpixel 7, 12 ; facing left, top left
+ dbpixel 9, 12 ; facing left, top right
+ dbpixel 7, 10 ; facing left, bottom left
+ dbpixel 9, 10 ; facing left, bottom right
+
+ dbpixel 11, 12 ; facing right, top left
+ dbpixel 13, 12 ; facing right, top right
+ dbpixel 11, 10 ; facing right, bottom left
+ dbpixel 13, 10 ; facing right, bottom right
; 8cad3
-Function8cad3: ; 8cad3 (23:4ad3)
+Cut_Headbutt_GetPixelFacing: ; 8cad3 (23:4ad3)
ld a, [PlayerDirection]
- and $c
+ and %00001100
srl a
ld e, a
ld d, 0
- ld hl, Unknown_8cae5
+ ld hl, .Coords
add hl, de
ld e, [hl]
inc hl
@@ -304,9 +314,159 @@ Function8cad3: ; 8cad3 (23:4ad3)
ret
; 8cae5 (23:4ae5)
-Unknown_8cae5: ; 8cae5
- db $50, $68
- db $50, $48
- db $40, $58
- db $60, $58
+.Coords: ; 8cae5
+ dbpixel 10, 13
+ dbpixel 10, 9
+ dbpixel 8, 11
+ dbpixel 12, 11
; 8caed
+
+
+FlyFromAnim: ; 8caed
+ call DelayFrame
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+ call FlyFunction_InitGFX
+ depixel 10, 10, 4, 0
+ ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $84
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
+ ld a, 128
+ ld [wcf64], a
+.loop
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .exit
+ ld a, 0 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
+ call FlyFunction_FrameTimer
+ call DelayFrame
+ jr .loop
+
+.exit
+ pop af
+ ld [VramState], a
+ ret
+; 8cb33
+
+FlyToAnim: ; 8cb33
+ call DelayFrame
+ ld a, [VramState]
+ push af
+ xor a
+ ld [VramState], a
+ call FlyFunction_InitGFX
+ depixel 31, 10, 4, 0
+ ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $84
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
+ add hl, bc
+ ld [hl], SPRITE_ANIM_SEQ_FLY_TO
+ ld hl, SPRITEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], 11 * 8
+ ld a, 64
+ ld [wcf64], a
+.loop
+ ld a, [wJumptableIndex]
+ bit 7, a
+ jr nz, .exit
+ ld a, 0 * 4
+ ld [wCurrSpriteOAMAddr], a
+ callab DoNextFrameForAllSprites
+ call FlyFunction_FrameTimer
+ call DelayFrame
+ jr .loop
+
+.exit
+ pop af
+ ld [VramState], a
+ call .RestorePlayerSprite_DespawnLeaves
+ ret
+
+.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82)
+ ld hl, Sprites + 2 ; Tile ID
+ xor a
+ ld c, $4
+.loop2
+ ld [hli], a
+rept 3
+ inc hl
+endr
+ inc a
+ dec c
+ jr nz, .loop2
+ ld hl, Sprites + 4 * 4
+ ld bc, SpritesEnd - (Sprites + 4 * 4)
+ xor a
+ call ByteFill
+ ret
+
+FlyFunction_InitGFX: ; 8cb9b (23:4b9b)
+ callab ClearSpriteAnims
+ ld de, CutGrassGFX
+ ld hl, VTiles1 tile $00
+ lb bc, BANK(CutGrassGFX), 4
+ call Request2bpp
+ ld a, [CurPartyMon]
+ ld hl, PartySpecies
+ ld e, a
+ ld d, 0
+ add hl, de
+ ld a, [hl]
+ ld [wd265], a
+ ld e, $84
+ callba FlyFunction_GetMonIcon
+ xor a
+ ld [wJumptableIndex], a
+ ret
+
+FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8)
+ call .SpawnLeaf
+ ld hl, wcf64
+ ld a, [hl]
+ and a
+ jr z, .exit
+ dec [hl]
+ cp $40
+ ret c
+ and $7
+ ret nz
+ ld de, SFX_FLY
+ call PlaySFX
+ ret
+
+.exit
+ ld hl, wJumptableIndex
+ set 7, [hl]
+ ret
+
+.SpawnLeaf: ; 8cbe6 (23:4be6)
+ ld hl, wcf65
+ ld a, [hl]
+ inc [hl]
+ and $7
+ ret nz
+ ld a, [hl]
+ and (6 * 8) >> 1
+ sla a
+ add 8 * 8 ; gives a number in [$40, $50, $60, $70]
+ ld d, a
+ ld e, $0
+ ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
+ call _InitSpriteAnimStruct
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
+ add hl, bc
+ ld [hl], $80
+ ret
diff --git a/event/halloffame.asm b/event/halloffame.asm
index d4b86286d..95554a870 100755
--- a/event/halloffame.asm
+++ b/event/halloffame.asm
@@ -1,5 +1,5 @@
HallOfFame:: ; 0x8640e
- call Function8648e
+ call HallOfFame_FadeOutMusic
ld a, [StatusFlags]
push af
ld a, 1
@@ -12,7 +12,7 @@ HallOfFame:: ; 0x8640e
ld hl, StatusFlags
set 6, [hl] ; hall of fame
- callba Function14da0
+ callba HallOfFame_InitSaveIfNeeded
ld hl, wHallOfFameCount
ld a, [hl]
@@ -26,10 +26,10 @@ HallOfFame:: ; 0x8640e
xor a
ld [wc2cd], a
- call Function864c3
+ call AnimateHallOfFame
pop af
ld b, a
- callba Function109847
+ callba Credits
ret
; 0x86455
@@ -38,7 +38,7 @@ RedCredits:: ; 86455
ld [MusicFadeIDLo], a
ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a
- ld a, $a
+ ld a, 10
ld [MusicFade], a
callba FadeOutPalettes
xor a
@@ -52,11 +52,11 @@ RedCredits:: ; 86455
ld [wSpawnAfterChampion], a
ld a, [StatusFlags]
ld b, a
- callba Function109847
+ callba Credits
ret
; 8648e
-Function8648e: ; 8648e
+HallOfFame_FadeOutMusic: ; 8648e
ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a
ld a, MUSIC_NONE / $100
@@ -72,7 +72,7 @@ Function8648e: ; 8648e
jp DelayFrames
; 864b4
-Function864b4: ; 864b4
+HallOfFame_PlayMusicDE: ; 864b4
push de
ld de, MUSIC_NONE
call PlayMusic
@@ -82,29 +82,29 @@ Function864b4: ; 864b4
ret
; 864c3
-Function864c3: ; 864c3
+AnimateHallOfFame: ; 864c3
xor a
ld [wJumptableIndex], a
- call Function8671c
+ call LoadHOFTeam
jr c, .done
- ld de, SCREEN_WIDTH
- call Function864b4
+ ld de, MUSIC_HALL_OF_FAME
+ call HallOfFame_PlayMusicDE
xor a
ld [wcf64], a
.loop
ld a, [wcf64]
- cp 6
+ cp PARTY_LENGTH
jr nc, .done
- ld hl, wc608 + 1
- ld bc, $10
+ ld hl, wHallOfFameTempMon1
+ ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1
call AddNTimes
ld a, [hl]
cp -1
jr z, .done
push hl
- call Function865b5
+ call AnimateHOFMonEntrance
pop hl
- call Function8650c
+ call .DisplayNewHallOfFamer
jr c, .done
ld hl, wcf64
inc [hl]
@@ -120,9 +120,9 @@ Function864c3: ; 864c3
ret
; 8650c
-Function8650c: ; 8650c
- call Function86748
- ld de, String_8652c
+.DisplayNewHallOfFamer: ; 8650c
+ call DisplayHOFMon
+ ld de, .String_NewHallOfFamer
hlcoord 1, 2
call PlaceString
call WaitBGMap
@@ -135,7 +135,7 @@ Function8650c: ; 8650c
ret
; 8652c
-String_8652c:
+.String_NewHallOfFamer:
db "New Hall of Famer!@"
; 8653f
@@ -227,7 +227,7 @@ GetHallOfFameParty: ; 8653f
ret
; 865b5
-Function865b5: ; 865b5
+AnimateHOFMonEntrance: ; 865b5
push hl
call ClearBGPalettes
callba Function4e906
@@ -265,9 +265,9 @@ endr
ld b, SCGB_1A
call GetSGBLayout
call SetPalettes
- call Function86635
+ call HOF_SlideBackpic
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
@@ -278,23 +278,23 @@ endr
xor a
ld [hBGMapMode], a
ld [hSCY], a
- call Function86643
+ call HOF_SlideFrontpic
ret
; 86635
-Function86635: ; 86635
-.loop
+HOF_SlideBackpic:
+.backpicloop
ld a, [hSCX]
cp $70
ret z
add $4
ld [hSCX], a
call DelayFrame
- jr .loop
+ jr .backpicloop
; 86643
-Function86643: ; 86643
-.loop
+HOF_SlideFrontpic:
+.frontpicloop
ld a, [hSCX]
and a
ret z
@@ -303,7 +303,7 @@ rept 2
endr
ld [hSCX], a
call DelayFrame
- jr .loop
+ jr .frontpicloop
; 86650
_HallOfFamePC: ; 86650
@@ -311,7 +311,7 @@ _HallOfFamePC: ; 86650
xor a
ld [wJumptableIndex], a
.loop
- call Function8671c
+ call LoadHOFTeam
ret c
call Function86665
ret c
@@ -361,8 +361,8 @@ Function86692: ; 86692
ld a, [wcf64]
cp $6
jr nc, .fail
- ld hl, wc608 + 1
- ld bc, $10
+ ld hl, wHallOfFameTempMon1
+ ld bc, wHallOfFameTempMon1End - wHallOfFameTempMon1
call AddNTimes
ld a, [hl]
cp $ff
@@ -376,8 +376,8 @@ Function86692: ; 86692
push hl
call ClearBGPalettes
pop hl
- call Function86748
- ld a, [wc608]
+ call DisplayHOFMon
+ ld a, [wHallOfFameTempWinCount]
cp 200 + 1
jr c, .print_num_hof
ld de, String_866fc
@@ -391,7 +391,7 @@ Function86692: ; 86692
hlcoord 1, 2
call PlaceString
hlcoord 2, 2
- ld de, wc608
+ ld de, wHallOfFameTempWinCount
lb bc, 1, 3
call PrintNum
hlcoord 11, 2
@@ -423,10 +423,10 @@ String_8670c:
; 8671c
-Function8671c: ; 8671c
+LoadHOFTeam: ; 8671c
ld a, [wJumptableIndex]
cp NUM_HOF_TEAMS
- jr nc, .full
+ jr nc, .invalid
ld hl, sHallOfFame
ld bc, HOF_LENGTH
call AddNTimes
@@ -434,23 +434,23 @@ Function8671c: ; 8671c
call GetSRAMBank
ld a, [hl]
and a
- jr z, .fail
- ld de, wc608
+ jr z, .absent
+ ld de, wHallOfFameTemp
ld bc, HOF_LENGTH
call CopyBytes
call CloseSRAM
and a
ret
-.fail
+.absent
call CloseSRAM
-.full
+.invalid
scf
ret
; 86748
-Function86748: ; 86748
+DisplayHOFMon: ; 86748
xor a
ld [hBGMapMode], a
ld a, [hli]
@@ -466,7 +466,7 @@ Function86748: ; 86748
ld a, [hli]
ld [TempMonLevel], a
ld de, StringBuffer2
- ld bc, 10
+ ld bc, PKMN_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [StringBuffer2 + 10], a
@@ -486,7 +486,7 @@ Function86748: ; 86748
ld hl, TempMonDVs
predef GetUnownLetter
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 6, 5
call _PrepMonFrontpic
ld a, [CurPartySpecies]
@@ -540,7 +540,7 @@ Function86748: ; 86748
Function86810: ; 86810
call ClearBGPalettes
ld hl, VTiles2 tile $63
- ld de, FontExtra + $d0
+ ld de, FontExtra + 13 tiles
lb bc, BANK(FontExtra), 1
call Request2bpp
hlcoord 0, 0
@@ -564,9 +564,9 @@ Function86810: ; 86810
ld b, SCGB_1A
call GetSGBLayout
call SetPalettes
- call Function86635
+ call HOF_SlideBackpic
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
@@ -583,7 +583,7 @@ Function86810: ; 86810
xor a
ld [hBGMapMode], a
ld [hSCY], a
- call Function86643
+ call HOF_SlideFrontpic
xor a
ld [hBGMapMode], a
hlcoord 0, 2
@@ -618,7 +618,7 @@ Function86810: ; 86810
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
call PrintNum
call WaitBGMap
- callba Function26601
+ callba ProfOaksPCRating
ret
; 868ed
diff --git a/event/itemball.asm b/event/itemball.asm
index 0e74cbd27..083d7efc2 100755
--- a/event/itemball.asm
+++ b/event/itemball.asm
@@ -2,22 +2,22 @@ FindItemInBallScript:: ; 0x122ce
callasm .TryReceiveItem
iffalse .no_room
disappear LAST_TALKED
- loadfont
+ opentext
writetext .text_found
playsound SFX_ITEM
pause 60
itemnotify
- loadmovesprites
+ closetext
end
; 0x122e3
.no_room: ; 0x122e3
- loadfont
+ opentext
writetext .text_found
- closetext
+ waitbutton
writetext .text_bag_full
+ waitbutton
closetext
- loadmovesprites
end
; 0x122ee
@@ -37,7 +37,7 @@ FindItemInBallScript:: ; 0x122ce
xor a
ld [ScriptVar], a
ld a, [EngineBuffer1]
- ld [wd265], a
+ ld [wNamedObjectIndexBuffer], a
call GetItemName
ld hl, StringBuffer3
call CopyName2
diff --git a/event/itemfinder.asm b/event/itemfinder.asm
index 23de57058..5356a1f86 100755
--- a/event/itemfinder.asm
+++ b/event/itemfinder.asm
@@ -1,5 +1,5 @@
ItemFinder: ; 12580
- callba CheckForSignpostItems
+ callba CheckForHiddenItems
jr c, .found_something
ld hl, .Script_FoundNothing
jr .resume
@@ -10,12 +10,12 @@ ItemFinder: ; 12580
.resume
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 12599
.ItemfinderSound: ; 12599
- ld c, $4
+ ld c, 4
.sfx_loop
push bc
ld de, SFX_SECOND_PART_OF_ITEMFINDER
@@ -33,7 +33,7 @@ ItemFinder: ; 12580
special UpdateTimePals
callasm .ItemfinderSound
writetext .Text_FoundSomething
- loadmovesprites
+ closetext
end
; 0x125ba
@@ -41,7 +41,7 @@ ItemFinder: ; 12580
reloadmappart
special UpdateTimePals
writetext .Text_FoundNothing
- loadmovesprites
+ closetext
end
; 0x125c3
diff --git a/event/kurt.asm b/event/kurt.asm
index bb24f26ab..d9239b7fa 100644
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -1,22 +1,22 @@
Kurt_PrintTextWhichApricorn: ; 88000
- ld hl, UnknownText_0x88007
+ ld hl, .Text
call PrintText
ret
; 88007
-UnknownText_0x88007: ; 0x88007
+.Text: ; 0x88007
; Which APRICORN should I use?
text_jump UnknownText_0x1bc06b
db "@"
; 0x8800c
Kurt_PrintTextHowMany: ; 8800c
- ld hl, UnknownText_0x88013
+ ld hl, .Text
call PrintText
ret
; 88013
-UnknownText_0x88013: ; 0x88013
+.Text: ; 0x88013
; How many should I make?
text_jump UnknownText_0x1bc089
db "@"
@@ -40,7 +40,7 @@ Special_SelectApricornForKurt: ; 88018
and a
jr z, .done
ld [CurItem], a
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
ld c, a
push bc
call Kurt_PrintTextHowMany
@@ -67,9 +67,9 @@ Kurt_SelectApricorn: ; 88055
ld [hBGMapMode], a
call InitScrollingMenu
call UpdateSprites
- call HandleScrollingMenu
- ld a, [wcf73]
- cp $2
+ call ScrollingMenu
+ ld a, [wMenuJoypad]
+ cp B_BUTTON
jr z, .nope
ld a, [MenuSelection]
cp -1
@@ -116,7 +116,7 @@ Kurt_SelectApricorn: ; 88055
call Kurt_GetQuantityOfApricorn
ret z
ld a, [wItemQuantityChangeBuffer]
- ld [wcf75], a
+ ld [MenuSelectionQuantity], a
callba PlaceMenuItemQuantity
ret
; 880c2
@@ -154,7 +154,7 @@ Kurt_SelectQuantity: ; 880c2
scf
.done
- call WriteBackup
+ call CloseWindow
ret
; 8810d
@@ -167,7 +167,7 @@ Kurt_SelectQuantity: ; 880c2
.PlaceApricornName: ; 88116
call MenuBoxCoord2Tile
- ld de, $0015
+ ld de, SCREEN_WIDTH + 1
add hl, de
ld d, h
ld e, l
@@ -177,7 +177,7 @@ Kurt_SelectQuantity: ; 880c2
PlaceApricornQuantity: ; 88126
call MenuBoxCoord2Tile
- ld de, $0032
+ ld de, 2 * SCREEN_WIDTH + 10
add hl, de
ld [hl], "×"
inc hl
@@ -231,16 +231,16 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
ld c, a
ld e, $0
xor a
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
ld a, -1
- ld [wd002], a
+ ld [wApricorns], a
; Search for [CurItem] in the bag.
.loop1
; Increase the total count.
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
inc a
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
; Get the index of the next item.
inc hl
ld a, [hli]
@@ -253,10 +253,10 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
; Increment the result counter and store the bag index of the match.
ld d, $0
push hl
- ld hl, wd002
+ ld hl, wApricorns
add hl, de
inc e
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
dec a
ld [hli], a
ld a, -1
@@ -271,7 +271,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
jr z, .done
dec a
jr z, .OnlyOne
- ld hl, wd002
+ ld hl, wApricorns
.loop2
ld a, [hl]
@@ -316,13 +316,13 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
jr nz, .loop2
.OnlyOne
- ld hl, wd002
+ ld hl, wApricorns
.loop4
ld a, [hl]
cp -1
jr z, .done
push hl
- ld [ItemCountBuffer], a
+ ld [CurItemQuantity], a
call Kurt_GetRidOfItem
pop hl
ld a, [wItemQuantityChangeBuffer]
@@ -375,7 +375,7 @@ endr
Kurt_GetRidOfItem: ; 88211
push bc
ld hl, NumItems
- ld a, [ItemCountBuffer]
+ ld a, [CurItemQuantity]
ld c, a
ld b, $0
inc hl
diff --git a/event/magikarp.asm b/event/magikarp.asm
index a60d90336..2a5b98332 100644
--- a/event/magikarp.asm
+++ b/event/magikarp.asm
@@ -1,5 +1,3 @@
-
-
Special_CheckMagikarpLength: ; fbb32
; Returns 3 if you select a Magikarp that beats the previous record.
; Returns 2 if you select a Magikarp, but the current record is longer.
@@ -81,7 +79,7 @@ Special_CheckMagikarpLength: ; fbb32
; 0xfbbae
Magikarp_LoadFeetInchesChars: ; fbbae
- ld hl, VTiles2 + "′" * $10
+ ld hl, VTiles2 tile "′"
ld de, .feetinchchars
lb bc, BANK(.feetinchchars), 2
call Request2bpp
diff --git a/event/magnet_train.asm b/event/magnet_train.asm
index d9c1a3ae9..eb29fd296 100755
--- a/event/magnet_train.asm
+++ b/event/magnet_train.asm
@@ -3,14 +3,14 @@ Special_MagnetTrain: ; 8cc04
and a
jr nz, .ToGoldenrod
ld a, 1 ; forwards
- lb bc, $40, $60
- ld de, $fca0
+ lb bc, $40, $60
+ lb de, (11 * 8) - (11 * 8 + 4), -$60
jr .continue
.ToGoldenrod
ld a, -1 ; backwards
- lb bc, $c0, $a0
- ld de, $b460
+ lb bc, -$40, -$60
+ lb de, (11 * 8) + (11 * 8 + 4), $60
.continue
ld h, a
@@ -18,21 +18,23 @@ Special_MagnetTrain: ; 8cc04
push af
ld a, $5
ld [rSVBK], a
+
ld a, h
- ld [w5_d191], a
+ ld [wMagnetTrainDirection], a
ld a, c
- ld [w5_d192], a
+ ld [wMagnetTrainInitPosition], a
ld a, b
- ld [w5_d193], a
+ ld [wMagnetTrainHoldPosition], a
ld a, e
- ld [w5_d194], a
+ ld [wMagnetTrainFinalPosition], a
ld a, d
- ld [w5_d195], a
+ ld [wMagnetTrainPlayerSpriteInitX], a
+
ld a, [hSCX]
push af
ld a, [hSCY]
push af
- call Function8ccc9
+ call MagntTrain_LoadGFX_PlayMusic
ld hl, hVBlank
ld a, [hl]
push af
@@ -43,15 +45,15 @@ Special_MagnetTrain: ; 8cc04
jr z, .initialize
bit 7, a
jr nz, .done
- callab Function8cf69
- call Function8cdf7
- call Function8cc99
+ callab PlaySpriteAnimations
+ call MagnetTrain_Jumptable
+ call MagnetTrain_UpdateLYOverrides
call Function3b0c
call DelayFrame
jr .loop
.initialize
- call Function8ceae
+ call MagnetTrain_Jumptable_FirstRunThrough
jr .loop
.done
@@ -59,9 +61,9 @@ Special_MagnetTrain: ; 8cc04
ld [hVBlank], a
call ClearBGPalettes
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
ld [hSCX], a
ld [Requested2bppSource], a
ld [Requested2bppSource + 1], a
@@ -69,6 +71,7 @@ Special_MagnetTrain: ; 8cc04
ld [Requested2bppDest + 1], a
ld [Requested2bpp], a
call ClearTileMap
+
pop af
ld [hSCY], a
pop af
@@ -80,21 +83,21 @@ Special_MagnetTrain: ; 8cc04
ret
; 8cc99
-Function8cc99: ; 8cc99
+MagnetTrain_UpdateLYOverrides: ; 8cc99
ld hl, LYOverridesBackup
ld c, $2f
ld a, [wcf64]
add a
ld [hSCX], a
- call Function8ccc4
+ call .loadloop
ld c, $30
ld a, [wcf65]
- call Function8ccc4
+ call .loadloop
ld c, $31
ld a, [wcf64]
add a
- call Function8ccc4
- ld a, [wd191]
+ call .loadloop
+ ld a, [wMagnetTrainDirection]
ld d, a
ld hl, wcf64
ld a, [hl]
@@ -103,21 +106,19 @@ rept 2
endr
ld [hl], a
ret
-; 8ccc4
-Function8ccc4: ; 8ccc4
-.asm_8ccc4
+.loadloop
ld [hli], a
dec c
- jr nz, .asm_8ccc4
+ jr nz, .loadloop
ret
; 8ccc9
-Function8ccc9: ; 8ccc9
+MagntTrain_LoadGFX_PlayMusic: ; 8ccc9
call ClearBGPalettes
call ClearSprites
call DisableLCD
- callab Function8cf53
+ callab ClearSpriteAnims
call SetMagnetTrainPals
call DrawMagnetTrain
ld a, $90
@@ -135,20 +136,20 @@ Function8ccc9: ; 8ccc9
pop af
ld [rSVBK], a
ld hl, VTiles0
- ld c, $4
+ ld c, 4
call Request2bpp
- ld hl, $c0
+ ld hl, 12 tiles
add hl, de
ld d, h
ld e, l
ld hl, VTiles0 tile $04
- ld c, $4
+ ld c, 4
call Request2bpp
- call Function8cda6
+ call MagnetTrain_InitLYOverrides
ld hl, wJumptableIndex
xor a
ld [hli], a
- ld a, [wd192]
+ ld a, [wMagnetTrainInitPosition]
rept 3
ld [hli], a
endr
@@ -160,13 +161,13 @@ endr
DrawMagnetTrain: ; 8cd27
hlbgcoord 0, 0
xor a
-.asm_8cd2b
+.loop
call GetMagnetTrainBGTiles
ld b, 32 / 2
call .FillAlt
inc a
cp $12
- jr c, .asm_8cd2b
+ jr c, .loop
hlbgcoord 0, 6
ld de, MagnetTrainTilemap1
ld c, 20
@@ -243,17 +244,17 @@ MagnetTrainBGTiles: ; 8cd82
db $5c, $5d ; bush
; 8cda6
-Function8cda6: ; 8cda6
+MagnetTrain_InitLYOverrides: ; 8cda6
ld hl, LYOverrides
- ld bc, $90
- ld a, [wd192]
+ ld bc, LYOverridesEnd - LYOverrides
+ ld a, [wMagnetTrainInitPosition]
call ByteFill
ld hl, LYOverridesBackup
- ld bc, $90
- ld a, [wd192]
+ ld bc, LYOverridesBackupEnd - LYOverridesBackup
+ ld a, [wMagnetTrainInitPosition]
call ByteFill
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 8cdc3
@@ -290,11 +291,11 @@ SetMagnetTrainPals: ; 8cdc3
ret
; 8cdf7
-Function8cdf7: ; 8cdf7
+MagnetTrain_Jumptable: ; 8cdf7
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, Jumptable_8ce06
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -304,25 +305,26 @@ endr
jp [hl]
; 8ce06
-Jumptable_8ce06: ; 8ce06
- dw Function8ce19
- dw Function8ce6d
- dw Function8ce47
- dw Function8ce6d
- dw Function8ce7a
- dw Function8ce6d
- dw Function8cea2
+.Jumptable: ; 8ce06
+
+ dw .InitPlayerSpriteAnim
+ dw .WaitScene
+ dw .MoveTrain1
+ dw .WaitScene
+ dw .MoveTrain2
+ dw .WaitScene
+ dw .TrainArrived
; 8ce14
-Function8ce14: ; 8ce14
+.Next: ; 8ce14
ld hl, wJumptableIndex
inc [hl]
ret
; 8ce19
-Function8ce19: ; 8ce19
- ld d, $55
- ld a, [wd194 + 1]
+.InitPlayerSpriteAnim: ; 8ce19
+ ld d, 10 * 8 + 5
+ ld a, [wMagnetTrainPlayerSpriteInitX]
ld e, a
ld b, SPRITE_ANIM_INDEX_15
ld a, [rSVBK]
@@ -331,67 +333,67 @@ Function8ce19: ; 8ce19
ld [rSVBK], a
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_8ce31
+ jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_1F
-.asm_8ce31
+.got_gender
pop af
ld [rSVBK], a
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
- call Function8ce14
+ call .Next
ld a, $80
ld [wcf66], a
ret
; 8ce47
-Function8ce47: ; 8ce47
- ld hl, wd193
+.MoveTrain1: ; 8ce47
+ ld hl, wMagnetTrainHoldPosition
ld a, [wcf65]
cp [hl]
- jr z, .asm_8ce64
+ jr z, .PrepareToHoldTrain
ld e, a
- ld a, [wd191]
+ ld a, [wMagnetTrainDirection]
xor $ff
inc a
add e
ld [wcf65], a
- ld hl, wc3c0
- ld a, [wd191]
+ ld hl, wGlobalAnimXOffset
+ ld a, [wMagnetTrainDirection]
add [hl]
ld [hl], a
ret
-.asm_8ce64
- call Function8ce14
+.PrepareToHoldTrain
+ call .Next
ld a, $80
ld [wcf66], a
ret
; 8ce6d
-Function8ce6d: ; 8ce6d
+.WaitScene: ; 8ce6d
ld hl, wcf66
ld a, [hl]
and a
- jr z, .asm_8ce76
+ jr z, .DoneWaiting
dec [hl]
ret
-.asm_8ce76
- call Function8ce14
+.DoneWaiting
+ call .Next
ret
; 8ce7a
-Function8ce7a: ; 8ce7a
- ld hl, wd194
+.MoveTrain2: ; 8ce7a
+ ld hl, wMagnetTrainFinalPosition
ld a, [wcf65]
cp [hl]
- jr z, .asm_8ce9e
+ jr z, .PrepareToFinishAnim
ld e, a
- ld a, [wd191]
+ ld a, [wMagnetTrainDirection]
xor $ff
inc a
ld d, a
@@ -400,8 +402,8 @@ rept 2
add d
endr
ld [wcf65], a
- ld hl, wc3c0
- ld a, [wd191]
+ ld hl, wGlobalAnimXOffset
+ ld a, [wMagnetTrainDirection]
ld d, a
ld a, [hl]
rept 2
@@ -412,12 +414,12 @@ endr
ret
-.asm_8ce9e
- call Function8ce14
+.PrepareToFinishAnim
+ call .Next
ret
; 8cea2
-Function8cea2: ; 8cea2
+.TrainArrived: ; 8cea2
ld a, $80
ld [wJumptableIndex], a
ld de, SFX_TRAIN_ARRIVED
@@ -425,10 +427,10 @@ Function8cea2: ; 8cea2
ret
; 8ceae
-Function8ceae: ; 8ceae
- callba Function8cf69
- call Function8cdf7
- call Function8cc99
+MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
+ callba PlaySpriteAnimations
+ call MagnetTrain_Jumptable
+ call MagnetTrain_UpdateLYOverrides
call Function3b0c
call DelayFrame
ld a, [rSVBK]
@@ -444,15 +446,15 @@ Function8ceae: ; 8ceae
ld [TimeOfDayPal], a
ld a, $1
ld [wPermission], a
- ld b, SCGB_09
+ ld b, SCGB_MAPPALS
call GetSGBLayout
call UpdateTimePals
ld a, [rBGP]
- ld [wcfc7], a
+ ld [wBGP], a
ld a, [rOBP0]
- ld [wcfc8], a
+ ld [wOBP0], a
ld a, [rOBP1]
- ld [wcfc9], a
+ ld [wOBP1], a
pop af
ld [wPermission], a
pop af
diff --git a/event/mom.asm b/event/mom.asm
index 61d374de9..ab405a27c 100644
--- a/event/mom.asm
+++ b/event/mom.asm
@@ -5,24 +5,24 @@ Special_BankOfMom: ; 16218
ld [hInMenu], a
xor a
ld [wJumptableIndex], a
-.asm_16223
+.loop
ld a, [wJumptableIndex]
bit 7, a
- jr nz, .asm_1622f
- call Function16233
- jr .asm_16223
+ jr nz, .done
+ call .RunJumptable
+ jr .loop
-.asm_1622f
+.done
pop af
ld [hInMenu], a
ret
; 16233
-Function16233: ; 16233
+.RunJumptable: ; 16233
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -32,7 +32,8 @@ endr
jp [hl]
; 16242
-.jumptable: ; 16242
+.dw: ; 16242
+
dw .CheckIfBankInitialized
dw .InitializeBank
dw .IsThisAboutYourMoney
@@ -106,10 +107,10 @@ endr
call LoadStandardMenuDataHeader
ld hl, MenuDataHeader_0x166b5
call CopyMenuDataHeader
- call InterpretMenu2
- call WriteBackup
+ call VerticalMenu
+ call CloseWindow
jr c, .cancel
- ld a, [MenuSelection2]
+ ld a, [wMenuCursorY]
cp $1
jr z, .withdraw
cp $2
@@ -152,7 +153,7 @@ endr
call Function16517
call Function1656b
call Function16571
- call WriteBackup
+ call CloseWindow
jr c, .CancelDeposit
ld hl, StringBuffer2
ld a, [hli]
@@ -220,7 +221,7 @@ endr
call Function16512
call Function1656b
call Function16571
- call WriteBackup
+ call CloseWindow
jr c, .CancelWithdraw
ld hl, StringBuffer2
ld a, [hli]
@@ -309,72 +310,72 @@ DSTChecks: ; 16439
ld a, [wDST]
bit 7, a
ld a, [hHours]
- jr z, .asm_16447
+ jr z, .NotDST
and a ; within one hour of 00:00?
jr z, .LostBooklet
jr .loop
-.asm_16447
+.NotDST
cp 23 ; within one hour of 23:00?
jr nz, .loop
; fallthrough
.LostBooklet
- call Function164ea
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x164f4
+ ld hl, .Text_AdjustClock
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
- call Function164ea
+ call .ClearBox
bccoord 1, 14
- ld hl, LostInstructionBookletText
+ ld hl, .Text_LostInstructionBooklet
call PlaceWholeStringInBoxAtOnce
ret
.loop
- call Function164ea
+ call .ClearBox
bccoord 1, 14
ld a, [wDST]
bit 7, a
- jr z, .asm_16497
- ld hl, UnknownText_0x16508
+ jr z, .SetDST
+ ld hl, .Text_IsDSTOver
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
ld a, [wDST]
res 7, a
ld [wDST], a
- call Function164d1
- call Function164ea
+ call .SetClockBack
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x1650d
+ ld hl, .Text_SetClockBack
call PlaceWholeStringInBoxAtOnce
ret
-.asm_16497
- ld hl, UnknownText_0x164fe
+.SetDST
+ ld hl, .Text_SwitchToDST
call PlaceWholeStringInBoxAtOnce
call YesNoBox
ret c
ld a, [wDST]
set 7, a
ld [wDST], a
- call Function164b9
- call Function164ea
+ call .SetClockForward
+ call .ClearBox
bccoord 1, 14
- ld hl, UnknownText_0x16503
+ ld hl, .Text_SetClockForward
call PlaceWholeStringInBoxAtOnce
ret
; 164b9
-Function164b9: ; 164b9
+.SetClockForward: ; 164b9
ld a, [StartHour]
add 1
sub 24
- jr nc, .asm_164c4
+ jr nc, .DontLoopHourForward
add 24
-.asm_164c4
+.DontLoopHourForward
ld [StartHour], a
ccf
ld a, [StartDay]
@@ -383,61 +384,61 @@ Function164b9: ; 164b9
ret
; 164d1
-Function164d1: ; 164d1
+.SetClockBack: ; 164d1
ld a, [StartHour]
sub 1
- jr nc, .asm_164da
+ jr nc, .DontLoopHourBack
add 24
-.asm_164da
+.DontLoopHourBack
ld [StartHour], a
ld a, [StartDay]
sbc 0
- jr nc, .asm_164e6
+ jr nc, .DontLoopDayBack
add 7
-.asm_164e6
+.DontLoopDayBack
ld [StartDay], a
ret
; 164ea
-Function164ea: ; 164ea
+.ClearBox: ; 164ea
hlcoord 1, 14
lb bc, 3, 18
call ClearBox
ret
; 164f4
-UnknownText_0x164f4: ; 0x164f4
+.Text_AdjustClock: ; 0x164f4
; Do you want to adjust your clock for Daylight Saving Time?
text_jump UnknownText_0x1c6095
db "@"
; 0x164f9
-LostInstructionBookletText: ; 0x164f9
+.Text_LostInstructionBooklet: ; 0x164f9
; I lost the instruction booklet for the POKéGEAR.
; Come back again in a while.
text_jump UnknownText_0x1c60d1
db "@"
; 0x164fe
-UnknownText_0x164fe: ; 0x164fe
+.Text_SwitchToDST: ; 0x164fe
; Do you want to switch to Daylight Saving Time?
text_jump UnknownText_0x1c6000
db "@"
; 0x16503
-UnknownText_0x16503: ; 0x16503
+.Text_SetClockForward: ; 0x16503
; I set the clock forward by one hour.
text_jump UnknownText_0x1c6030
db "@"
; 0x16508
-UnknownText_0x16508: ; 0x16508
+.Text_IsDSTOver: ; 0x16508
; Is Daylight Saving Time over?
text_jump UnknownText_0x1c6056
db "@"
; 0x1650d
-UnknownText_0x1650d: ; 0x1650d
+.Text_SetClockBack: ; 0x1650d
; I put the clock back one hour.
text_jump UnknownText_0x1c6075
db "@"
diff --git a/event/mom_phone.asm b/event/mom_phone.asm
index b2bf0d2fd..e7d2a1493 100755
--- a/event/mom_phone.asm
+++ b/event/mom_phone.asm
@@ -6,43 +6,43 @@ MomTriesToBuySomething:: ; fcfec
and a
ret nz
xor a
- ld [wdc18], a
+ ld [wWhichMomItemSet], a
call CheckBalance_MomItem2
ret nc
- call Functionfd0c3
+ call Mom_GiveItemOrDoll
ret nc
- ld b, BANK(UnknownScript_0xfd00f)
- ld de, UnknownScript_0xfd00f
+ ld b, BANK(.Script)
+ ld de, .Script
callba LoadScriptBDE
scf
ret
; fd00f
-UnknownScript_0xfd00f: ; 0xfd00f
- callasm Functionfd017
+.Script: ; 0xfd00f
+ callasm .ASMFunction
farjump Script_ReceivePhoneCall
; 0xfd017
-Functionfd017: ; fd017
+.ASMFunction: ; fd017
call MomBuysItem_DeductFunds
- call Functionfd0eb
- ld a, [wdc18]
+ call Mom_GetScriptPointer
+ ld a, [wWhichMomItemSet]
and a
jr nz, .ok
- ld hl, wdc17
+ ld hl, wWhichMomItem
inc [hl]
.ok
- ld a, 1
+ ld a, PHONE_MOM
ld [wCurrentCaller], a
- ld bc, wd03f
+ ld bc, EngineBuffer2
ld hl, 0
add hl, bc
ld [hl], 0
inc hl
ld [hl], 1
- ld hl, 9
+ ld hl, wPhoneScriptPointer - EngineBuffer2
add hl, bc
- ld a, $3f
+ ld a, BANK(Mom_GetScriptPointer)
ld [hli], a
ld a, e
ld [hli], a
@@ -52,7 +52,7 @@ Functionfd017: ; fd017
; fd044
CheckBalance_MomItem2: ; fd044
- ld a, [wdc17]
+ ld a, [wWhichMomItem]
cp 10
jr nc, .nope
call GetItemFromMom
@@ -82,12 +82,12 @@ CheckBalance_MomItem2: ; fd044
inc hl
ld [hl], (2300 % $100) ; $fc
.loop
- ld de, wdc19
+ ld de, MomItemTriggerBalance
ld bc, wMomsMoney
callba CompareMoney
jr z, .exact
jr nc, .less_than
- call Functionfd099
+ call .AddMoney
jr .loop
.less_than
@@ -95,17 +95,16 @@ CheckBalance_MomItem2: ; fd044
ret
.exact
- call Functionfd099
+ call .AddMoney
ld a, 5
call RandomRange
inc a
- ld [wdc18], a
+ ld [wWhichMomItemSet], a
scf
ret
-; fd099
-Functionfd099: ; fd099
- ld de, wdc19
+.AddMoney
+ ld de, MomItemTriggerBalance
ld bc, hMoneyTemp
callba AddMoney
ret
@@ -114,7 +113,7 @@ Functionfd099: ; fd099
MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
call GetItemFromMom
- ld de, 3
+ ld de, 3 ; cost
add hl, de
ld a, [hli]
ld [hMoneyTemp], a
@@ -128,12 +127,12 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
ret
-Functionfd0c3: ; fd0c3
+Mom_GiveItemOrDoll: ; fd0c3
call GetItemFromMom
- ld de, 6
+ ld de, 6 ; item type
add hl, de
ld a, [hli]
- cp 1
+ cp MOM_ITEM
jr z, .not_doll
ld a, [hl]
ld c, a
@@ -145,7 +144,7 @@ Functionfd0c3: ; fd0c3
.not_doll
ld a, [hl]
ld [CurItem], a
- ld a, $1
+ ld a, 1
ld [wItemQuantityChangeBuffer], a
ld hl, PCItems
call ReceiveItem
@@ -153,19 +152,19 @@ Functionfd0c3: ; fd0c3
; fd0eb
-Functionfd0eb: ; fd0eb (3f:50eb)
+Mom_GetScriptPointer: ; fd0eb (3f:50eb)
call GetItemFromMom
- ld de, 6 ; field
+ ld de, 6 ; item type
add hl, de
ld a, [hli]
- ld de, Script_MomBoughtItem
- cp 1
+ ld de, .ItemScript
+ cp MOM_ITEM
ret z
- ld de, Script_MomBoughtDoll
+ ld de, .DollScript
ret
; fd0fd (3f:50fd)
-Script_MomBoughtItem: ; 0xfd0fd
+.ItemScript: ; 0xfd0fd
writetext _MomText_HiHowAreYou
writetext _MomText_FoundAnItem
writetext _MomText_BoughtWithYourMoney
@@ -173,7 +172,7 @@ Script_MomBoughtItem: ; 0xfd0fd
end
; 0xfd10a
-Script_MomBoughtDoll: ; 0xfd10a
+.DollScript: ; 0xfd10a
writetext _MomText_HiHowAreYou
writetext _MomText_FoundADoll
writetext _MomText_BoughtWithYourMoney
@@ -183,15 +182,15 @@ Script_MomBoughtDoll: ; 0xfd10a
GetItemFromMom: ; fd117
- ld a, [wdc18]
+ ld a, [wWhichMomItemSet]
and a
jr z, .zero
dec a
ld de, MomItems_1
- jr .incave
+ jr .GetFromList1
.zero
- ld a, [wdc17]
+ ld a, [wWhichMomItem]
cp 10 ; length of MomItems_2
jr c, .ok
xor a
@@ -199,7 +198,7 @@ GetItemFromMom: ; fd117
.ok
ld de, MomItems_2
-.incave
+.GetFromList1
ld l, a
ld h, 0
rept 3 ; multiply hl by 8
@@ -223,8 +222,6 @@ MomItems_1: ; fd136
momitem 0, 180, MOM_ITEM, POKE_BALL
momitem 0, 450, MOM_ITEM, ESCAPE_ROPE
momitem 0, 500, MOM_ITEM, GREAT_BALL
-; fd15e
-
MomItems_2: ; fd15e
momitem 900, 600, MOM_ITEM, SUPER_POTION
momitem 4000, 270, MOM_ITEM, REPEL
diff --git a/event/move_deleter.asm b/event/move_deleter.asm
index 617e3b86d..aa8a1e915 100644
--- a/event/move_deleter.asm
+++ b/event/move_deleter.asm
@@ -1,113 +1,113 @@
MoveDeletion:
- ld hl, UnknownText_0x2c5ef
+ ld hl, .IntroText
call PrintText
call YesNoBox
- jr c, .asm_2c5c3
- ld hl, UnknownText_0x2c5f4
+ jr c, .declined
+ ld hl, .AskWhichMonText
call PrintText
callba SelectMonFromParty
- jr c, .asm_2c5c3
+ jr c, .declined
ld a, [CurPartySpecies]
cp EGG
- jr z, .asm_2c5bc
+ jr z, .egg
ld a, [CurPartyMon]
ld hl, PartyMon1Moves + 1
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
ld a, [hl]
and a
- jr z, .asm_2c5ca
- ld hl, UnknownText_0x2c5ea
+ jr z, .onlyonemove
+ ld hl, .AskWhichMoveText
call PrintText
call LoadStandardMenuDataHeader
- callba Function12f5b
+ callba ChooseMoveToDelete
push af
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
pop af
- jr c, .asm_2c5c3
- ld a, [MenuSelection2]
+ jr c, .declined
+ ld a, [wMenuCursorY]
push af
ld a, [CurSpecies]
ld [wd265], a
call GetMoveName
- ld hl, UnknownText_0x2c5d6
+ ld hl, .ConfirmDeleteText
call PrintText
call YesNoBox
pop bc
- jr c, .asm_2c5c3
- call Function2c5f9
+ jr c, .declined
+ call .DeleteMove
call WaitSFX
ld de, SFX_MOVE_DELETED
call PlaySFX
call WaitSFX
- ld hl, UnknownText_0x2c5db
+ ld hl, .MoveDeletedText
call PrintText
ret
-.asm_2c5bc
- ld hl, UnknownText_0x2c5e0
+.egg
+ ld hl, .EggText
call PrintText
ret
-.asm_2c5c3
- ld hl, UnknownText_0x2c5e5
+.declined
+ ld hl, .DeclinedDeletionText
call PrintText
ret
-.asm_2c5ca
- ld hl, UnknownText_0x2c5d1
+.onlyonemove
+ ld hl, .OnlyOneMoveText
call PrintText
ret
-UnknownText_0x2c5d1: ; 0x2c5d1
+.OnlyOneMoveText: ; 0x2c5d1
; That #MON knows only one move.
text_jump UnknownText_0x1c5eba
db "@"
; 0x2c5d6
-UnknownText_0x2c5d6: ; 0x2c5d6
+.ConfirmDeleteText: ; 0x2c5d6
; Oh, make it forget @ ?
text_jump UnknownText_0x1c5eda
db "@"
; 0x2c5db
-UnknownText_0x2c5db: ; 0x2c5db
+.MoveDeletedText: ; 0x2c5db
; Done! Your #MON forgot the move.
text_jump UnknownText_0x1c5ef5
db "@"
; 0x2c5e0
-UnknownText_0x2c5e0: ; 0x2c5e0
+.EggText: ; 0x2c5e0
; An EGG doesn't know any moves!
text_jump UnknownText_0x1c5f17
db "@"
; 0x2c5e5
-UnknownText_0x2c5e5: ; 0x2c5e5
+.DeclinedDeletionText: ; 0x2c5e5
; No? Come visit me again.
text_jump UnknownText_0x1c5f36
db "@"
; 0x2c5ea
-UnknownText_0x2c5ea: ; 0x2c5ea
+.AskWhichMoveText: ; 0x2c5ea
; Which move should it forget, then?
text_jump UnknownText_0x1c5f50
db "@"
; 0x2c5ef
-UnknownText_0x2c5ef: ; 0x2c5ef
+.IntroText: ; 0x2c5ef
; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
text_jump UnknownText_0x1c5f74
db "@"
; 0x2c5f4
-UnknownText_0x2c5f4: ; 0x2c5f4
+.AskWhichMonText: ; 0x2c5f4
; Which #MON?
text_jump UnknownText_0x1c5fd1
db "@"
; 0x2c5f9
-Function2c5f9: ; 2c5f9
+.DeleteMove: ; 2c5f9
ld a, b
push bc
dec a
@@ -121,18 +121,18 @@ Function2c5f9: ; 2c5f9
pop bc
push bc
inc b
-.asm_2c60f
+.loop
ld a, b
cp NUM_MOVES + 1
- jr z, .asm_2c61b
+ jr z, .okay
inc hl
ld a, [hld]
ld [hl], a
inc hl
inc b
- jr .asm_2c60f
+ jr .loop
-.asm_2c61b
+.okay
xor a
ld [hl], a
pop bc
@@ -149,18 +149,18 @@ Function2c5f9: ; 2c5f9
call AddNTimes
pop bc
inc b
-.asm_2c633
+.loop2
ld a, b
cp NUM_MOVES + 1
- jr z, .asm_2c63f
+ jr z, .done
inc hl
ld a, [hld]
ld [hl], a
inc hl
inc b
- jr .asm_2c633
+ jr .loop2
-.asm_2c63f
+.done
xor a
ld [hl], a
ret
diff --git a/event/photo.asm b/event/photo.asm
index 712107ed0..75915716a 100755
--- a/event/photo.asm
+++ b/event/photo.asm
@@ -50,7 +50,7 @@ UnownPrinter: ; 16be4
xor a
ld [wJumptableIndex], a
- call Function16cc8
+ call .UpdateUnownFrontpic
call WaitBGMap
ld a, UNOWN
@@ -59,7 +59,7 @@ UnownPrinter: ; 16be4
ld [TempMonDVs], a
ld [TempMonDVs + 1], a
- ld b, SCGB_1C
+ ld b, SCGB_FRONTPICPALS
call GetSGBLayout
call SetPalettes
@@ -74,7 +74,7 @@ UnownPrinter: ; 16be4
and A_BUTTON
jr nz, .pressed_a
- call Function16ca0
+ call .LeftRight
call DelayFrame
jr .joy_loop
@@ -96,7 +96,7 @@ UnownPrinter: ; 16be4
ret
; 16ca0
-Function16ca0: ; 16ca0
+.LeftRight: ; 16ca0
ld a, [hJoyLast]
and D_RIGHT
jr nz, .press_right
@@ -110,8 +110,7 @@ Function16ca0: ; 16ca0
ld a, [hl]
and a
jr nz, .wrap_around_left
- ld [hl], $1b
-
+ ld [hl], 26 + 1
.wrap_around_left
dec [hl]
jr .return
@@ -119,19 +118,18 @@ Function16ca0: ; 16ca0
.press_right
ld hl, wJumptableIndex
ld a, [hl]
- cp $1a
+ cp 26
jr c, .wrap_around_right
- ld [hl], $ff
-
+ ld [hl], -1
.wrap_around_right
inc [hl]
.return
- call Function16cc8
+ call .UpdateUnownFrontpic
ret
; 16cc8
-Function16cc8: ; 16cc8
+.UpdateUnownFrontpic: ; 16cc8
ld a, [wJumptableIndex]
cp 26
jr z, Function16d20
@@ -140,7 +138,7 @@ Function16cc8: ; 16cc8
ld a, UNOWN
ld [CurPartySpecies], a
xor a
- ld [wc2c6], a
+ ld [wBoxAlignment], a
ld de, VTiles2
predef GetFrontpic
call Function16cff
@@ -162,7 +160,7 @@ Function16cff: ; 16cff
ld a, BANK(sScratch)
call GetSRAMBank
- ld de, w6_d000
+ ld de, wDecompressScratch
ld hl, sScratch
ld a, [hROMBank]
ld b, a
@@ -249,7 +247,7 @@ PhotoStudio: ; 16dc7
call PrintText
call DisableSpriteUpdates
callba PrintPartymon
- call Function2b74
+ call ReturnToMapWithSpeechTextbox
ld a, [hPrinter]
and a
jr nz, .cancel
diff --git a/event/poisonstep.asm b/event/poisonstep.asm
index 1fafd63a5..c0f2e1b9c 100755
--- a/event/poisonstep.asm
+++ b/event/poisonstep.asm
@@ -104,17 +104,17 @@ DoPoisonStep:: ; 505da
ld de, SFX_POISON
call PlaySFX
ld b, $2
- predef Functioncbcdd
+ predef LoadPoisonBGPals
call DelayFrame
ret
; 50669
.Script_MonFaintedToPoison: ; 50669
callasm .PlayPoisonSFX
- loadfont
+ opentext
callasm .CheckWhitedOut
iffalse .whiteout
- loadmovesprites
+ closetext
end
; 50677
diff --git a/event/sacred_ash.asm b/event/sacred_ash.asm
index 00b80bb46..cc46eac9f 100755
--- a/event/sacred_ash.asm
+++ b/event/sacred_ash.asm
@@ -1,14 +1,14 @@
_SacredAsh: ; 507e6
ld a, $0
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
call CheckAnyFaintedMon
ret nc
ld hl, SacredAshScript
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 507fb
@@ -58,12 +58,12 @@ SacredAshScript: ; 0x50821
special FadeInPalettes
special FadeOutPalettes
special FadeInPalettes
- waitbutton
+ waitsfx
writetext UnknownText_0x50845
playsound SFX_CAUGHT_MON
+ waitsfx
waitbutton
closetext
- loadmovesprites
end
; 0x50845
diff --git a/event/squirtbottle.asm b/event/squirtbottle.asm
index b59cdc3f1..5f43e4029 100755
--- a/event/squirtbottle.asm
+++ b/event/squirtbottle.asm
@@ -2,7 +2,7 @@ _Squirtbottle: ; 50730
ld hl, UnknownScript_0x5073c
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wItemEffectSucceeded], a
ret
; 5073c
diff --git a/event/sweet_scent.asm b/event/sweet_scent.asm
index ebe0d4266..01c43f8b9 100755
--- a/event/sweet_scent.asm
+++ b/event/sweet_scent.asm
@@ -2,7 +2,7 @@ SweetScentFromMenu: ; 506bc
ld hl, UnknownScript_0x506c8
call QueueScript
ld a, $1
- ld [wd0ec], a
+ ld [wFieldMoveSucceeded], a
ret
; 506c8
@@ -11,14 +11,14 @@ UnknownScript_0x506c8: ; 0x506c8
special UpdateTimePals
callasm GetPartyNick
writetext UnknownText_0x50726
- closetext
+ waitbutton
callasm SweetScentEncounter
iffalse UnknownScript_0x506e9
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue UnknownScript_0x506e5
- battlecheck
+ randomwildmon
startbattle
- returnafterbattle
+ reloadmapafterbattle
end
; 0x506e5
@@ -28,8 +28,8 @@ UnknownScript_0x506e5: ; 0x506e5
UnknownScript_0x506e9: ; 0x506e9
writetext UnknownText_0x5072b
+ waitbutton
closetext
- loadmovesprites
end
; 0x506ef
diff --git a/event/unown.asm b/event/unown.asm
index 789629ae0..b37df3b3a 100644
--- a/event/unown.asm
+++ b/event/unown.asm
@@ -150,10 +150,10 @@ endr
ld bc, AttrMap - TileMap
add hl, bc
call Function8aee9
- call Function3200
+ call WaitBGMap2
call JoyWaitAorB
call PlayClickSFX
- call WriteBackup
+ call CloseWindow
ret
; 8aebc
diff --git a/event/whiteout.asm b/event/whiteout.asm
index 2e8774b8f..a076bdcb6 100755
--- a/event/whiteout.asm
+++ b/event/whiteout.asm
@@ -9,7 +9,7 @@ Script_OverworldWhiteout:: ; 0x124c8
Script_Whiteout: ; 0x124ce
writetext .WhitedOutText
- closetext
+ waitbutton
special FadeOutPalettes
pause 40
special HealParty
@@ -20,7 +20,7 @@ Script_Whiteout: ; 0x124ce
farscall Script_AbortBugContest
special WarpToSpawnPoint
newloadmap MAPSETUP_WARP
- resetfuncs
+ end_all
.bug_contest
jumpstd bugcontestresultswarp
@@ -35,14 +35,14 @@ Script_Whiteout: ; 0x124ce
OverworldBGMap: ; 124fa
call ClearPalettes
call ClearScreen
- call Function3200
+ call WaitBGMap2
call HideSprites
call RotateThreePalettesLeft
ret
; 1250a
BattleBGMap: ; 1250a
- ld b, SCGB_00
+ ld b, SCGB_BATTLE_GRAYSCALE
call GetSGBLayout
call SetPalettes
ret