summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhatschky <thirdgeek@arceus.local>2017-01-16 21:11:34 +0000
committerhatschky <thirdgeek@arceus.local>2017-01-16 21:11:34 +0000
commitf0209d6ed6a0cd0e759dff49bdfe4d8171229c29 (patch)
tree26d81826153724ccaa1bb3ed268527e6cd29d765
parent5a9701ddc8c33fcd90f6bcc58b9348587dec4d0c (diff)
Labels for Trainer Rankings stat tracking functions
-rw-r--r--battle/core.asm18
-rw-r--r--battle/effect_commands.asm4
-rwxr-xr-xconstants/sram_constants.asm50
-rwxr-xr-xengine/breeding/egg.asm2
-rwxr-xr-xengine/events_3.asm2
-rwxr-xr-xengine/evolve.asm2
-rw-r--r--engine/fruit_trees.asm2
-rwxr-xr-xengine/link.asm2
-rwxr-xr-xengine/mysterygift.asm2
-rw-r--r--engine/phone.asm4
-rwxr-xr-xengine/player_step.asm2
-rw-r--r--engine/scripting.asm4
-rwxr-xr-xengine/slot_machine.asm8
-rw-r--r--engine/specials.asm2
-rwxr-xr-xengine/startmenu.asm2
-rw-r--r--engine/std_scripts.asm2
-rwxr-xr-xengine/tmhm2.asm2
-rwxr-xr-xevent/bug_contest_judging.asm2
-rw-r--r--event/magikarp.asm2
-rwxr-xr-xevent/overworld.asm4
-rwxr-xr-xevent/whiteout.asm4
-rw-r--r--items/item_effects.asm2
-rw-r--r--main.asm2
-rw-r--r--maps/ElmsLab.asm2
-rw-r--r--maps/FastShipCabins_SW_SSW_NW.asm2
-rw-r--r--maps/MobileBattleRoom.asm2
-rw-r--r--maps/MrPokemonsHouse.asm2
-rw-r--r--maps/Route26HealSpeechHouse.asm2
-rw-r--r--maps/TeamRocketBaseB2F.asm2
-rwxr-xr-xmisc/battle_tower_5c.asm2
-rw-r--r--misc/mobile_40.asm2
-rwxr-xr-xmisc/mobile_41.asm419
-rw-r--r--misc/mobile_5f.asm2
33 files changed, 322 insertions, 241 deletions
diff --git a/battle/core.asm b/battle/core.asm
index 81376edc6..dec315ab8 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -2623,7 +2623,7 @@ AddBattleMoneyToAccount: ; 3d0be
push bc
ld b, h
ld c, l
- callba MobileFn_106008
+ callba TrainerRankings_AddToBattlePayouts
pop bc
pop hl
.loop
@@ -8401,7 +8401,7 @@ _DoBattle: ; 3f4d9
; 3f4dd
BattleIntro: ; 3f4dd
- callba MobileFn_106050 ; mobile
+ callba TrainerRankings_Battles ; mobile
call LoadTrainerOrWildMonPic
xor a
ld [TempBattleMonSpecies], a
@@ -8486,7 +8486,7 @@ BackUpVBGMap2: ; 3f568
InitEnemyTrainer: ; 3f594
ld [TrainerClass], a
- callba MobileFn_10606a
+ callba TrainerRankings_TrainerBattles
xor a
ld [TempEnemyMonSpecies], a
callab GetTrainerAttributes
@@ -8542,7 +8542,7 @@ InitEnemyTrainer: ; 3f594
InitEnemyWildmon: ; 3f607
ld a, WILD_BATTLE
ld [wBattleMode], a
- callba MobileFn_10605d
+ callba TrainerRankings_WildBattles
call LoadEnemyMon
ld hl, EnemyMonMoves
ld de, wWildMonMoves
@@ -8725,7 +8725,7 @@ CheckPayDay: ; 3f71d
; 3f759
ShowLinkBattleParticipantsAfterEnd: ; 3f759
- callba MobileFn_1060df
+ callba TrainerRankings_LinkBattles
callba BackupMobileEventIndex
ld a, [CurOTMon]
ld hl, OTPartyMon1Status
@@ -8755,17 +8755,17 @@ DetermineMobileBattleResult: ; 3f77c
cp $1
jr c, .victory
jr z, .loss
- callba MobileFn_SaveBattleResult_Draw
+ callba TrainerRankings_ColosseumDraws
ld de, .Draw
jr .store_result
.victory
- callba MobileFn_SaveBattleResult_Win
+ callba TrainerRankings_ColosseumWins
ld de, .Win
jr .store_result
.loss
- callba MobileFn_SaveBattleResult_Lose
+ callba TrainerRankings_ColosseumLosses
ld de, .Lose
jr .store_result
@@ -9513,7 +9513,7 @@ BattleStartMessage: ; 3fc8b
cp BATTLETYPE_FISH
jr nz, .NotFishing
- callba MobileFn_106086 ; update fishing records?
+ callba TrainerRankings_HookedEncounters
ld hl, HookedPokemonAttackedText
jr .PlaceBattleStartText
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index 8e0c694b3..a74dea632 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -8073,7 +8073,7 @@ BattleCommand_LeechSeed: ; 36f9d
BattleCommand_Splash: ; 36fe1
call AnimateCurrentMove
- callba MobileFn_1060e5
+ callba TrainerRankings_Splash
jp PrintNothingHappened
; 36fed
@@ -8600,7 +8600,7 @@ CheckSubstituteOpp: ; 37378
BattleCommand_SelfDestruct: ; 37380
- callba MobileFn_10610d
+ callba TrainerRankings_SelfDestruct
ld a, BATTLEANIM_PLAYER_DAMAGE
ld [wNumHits], a
ld c, 3
diff --git a/constants/sram_constants.asm b/constants/sram_constants.asm
index caac8347b..c2d112b7d 100755
--- a/constants/sram_constants.asm
+++ b/constants/sram_constants.asm
@@ -1,3 +1,53 @@
; Mobile bank 5
+
+; sMobileEventIndex EQU $a000 ; moved to 1:BE3C in English
+sTrainerRankings EQU $a001
+sTrainerRankingGameTimeHOF EQU $a001
+sTrainerRankingStepCountHOF EQU $a005
+sTrainerRankingHealingsHOF EQU $a009
+sTrainerRankingBattlesHOF EQU $a00d
+sTrainerRankingStepCount EQU $a010
+sTrainerRankingBattleTowerWins EQU $a014
+sTrainerRankingTMsHMsTaught EQU $a018
+sTrainerRankingBattles EQU $a01b
+sTrainerRankingWildBattles EQU $a01e
+sTrainerRankingTrainerBattles EQU $a021
+sTrainerRankingUnused1 EQU $a024
+sTrainerRankingHOFEntries EQU $a027
+sTrainerRankingWildMonsCaught EQU $a02a
+sTrainerRankingHookedEncounters EQU $a02d
+sTrainerRankingEggsHatched EQU $a030
+sTrainerRankingMonsEvolved EQU $a033
+sTrainerRankingFruitPicked EQU $a036
+sTrainerRankingHealings EQU $a039
+sTrainerRankingMysteryGift EQU $a03c
+sTrainerRankingTrades EQU $a03f
+sTrainerRankingFly EQU $a042
+sTrainerRankingSurf EQU $a045
+sTrainerRankingWaterfall EQU $a048
+sTrainerRankingWhiteOuts EQU $a04b
+sTrainerRankingLuckyNumberShow EQU $a04e
+sTrainerRankingPhoneCalls EQU $a051
+sTrainerRankingUnused2 EQU $a054
+sTrainerRankingLinkBattles EQU $a057
+sTrainerRankingSplash EQU $a05a
+sTrainerRankingTreeEncounters EQU $a05d
+sTrainerRankingUnused3 EQU $a060
+sTrainerRankingColosseumWins EQU $a063
+sTrainerRankingColosseumLosses EQU $a066
+sTrainerRankingColosseumDraws EQU $a069
+sTrainerRankingSelfDestruct EQU $a06c
+sTrainerRankingCurrentSlotsStreak EQU $a06f
+sTrainerRankingLongestSlotsStreak EQU $a071
+sTrainerRankingTotalSlotsPayouts EQU $a073
+sTrainerRankingTotalBattlePayouts EQU $a077
+sTrainerRankingLongestMagikarp EQU $a07b
+sTrainerRankingShortestMagikarp EQU $a07d
+sTrainerRankingBugContestScore EQU $a07f
+sTrainerRankingsChecksum EQU $a081
+sTrainerRankingsEnd EQU $a083
+; sMobileEventIndexBackup EQU $a083 ; moved to 1:BE44 in English
+sTrainerRankingsBackup EQU $a084
+
sMobileLoginPassword EQU $aa4b
LOGIN_PASSWORD_LENGTH EQU 17
diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm
index fa499c071..326faaa6c 100755
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -232,7 +232,7 @@ HatchEggs: ; 16f70 (5:6f70)
push de
callba SetEggMonCaughtData
- callba MobileFn_10608d
+ callba TrainerRankings_EggsHatched
ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, PARTYMON_STRUCT_LENGTH
diff --git a/engine/events_3.asm b/engine/events_3.asm
index 01b8d7046..b6aaea3b7 100755
--- a/engine/events_3.asm
+++ b/engine/events_3.asm
@@ -360,7 +360,7 @@ CheckForHiddenItems: ; b8172
TreeMonEncounter: ; b81ea
- callba MobileFn_1060ef
+ callba TrainerRankings_TreeEncounters
xor a
ld [TempWildMonSpecies], a
diff --git a/engine/evolve.asm b/engine/evolve.asm
index 202ad10ff..2f7739191 100755
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -247,7 +247,7 @@ EvolveAfterBattle_MasterLoop
push hl
ld hl, Text_EvolvedIntoPKMN
call PrintTextBoxText
- callba MobileFn_106094
+ callba TrainerRankings_MonsEvolved
ld de, MUSIC_NONE
call PlayMusic
diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm
index 09619cfa5..6a40fb05c 100644
--- a/engine/fruit_trees.asm
+++ b/engine/fruit_trees.asm
@@ -58,7 +58,7 @@ CheckFruitTree: ; 44055
; 4405f
PickedFruitTree: ; 4405f
- callba MobileFn_10609b ; empty function
+ callba TrainerRankings_FruitPicked
ld b, 1
jp GetFruitTreeFlag
; 4406a
diff --git a/engine/link.asm b/engine/link.asm
index 951eb1444..f5bc24da9 100755
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -1973,7 +1973,7 @@ LinkTrade: ; 28b87
.save
callba SaveAfterLinkTrade
- callba MobileFn_1060af
+ callba TrainerRankings_Trades
callba BackupMobileEventIndex
ld c, 40
call DelayFrames
diff --git a/engine/mysterygift.asm b/engine/mysterygift.asm
index 9f5302506..f2d29b08a 100755
--- a/engine/mysterygift.asm
+++ b/engine/mysterygift.asm
@@ -63,7 +63,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
jr z, .skip_append_save
call .SaveMysteryGiftTrainerName
callba RestoreMobileEventIndex
- callba MobileFn_1060a9
+ callba TrainerRankings_MysteryGift
callba BackupMobileEventIndex
.skip_append_save
ld a, [wMysteryGiftPartnerSentDeco]
diff --git a/engine/phone.asm b/engine/phone.asm
index 9d1376a62..f5f39218d 100644
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -471,7 +471,7 @@ UnknownScript_0x90261: ; 0x90261
RingTwice_StartCall: ; 9026f
call .Ring
call .Ring
- callba MobileFn_1060d3
+ callba TrainerRankings_PhoneCalls
ret
; 9027c
@@ -500,7 +500,7 @@ PhoneCall:: ; 9029a
ld [PhoneCallerHi], a
call Phone_FirstOfTwoRings
call Phone_FirstOfTwoRings
- callba MobileFn_1060d3
+ callba TrainerRankings_PhoneCalls
ret
; 902b3
diff --git a/engine/player_step.asm b/engine/player_step.asm
index 24e4fb873..83158c1b7 100755
--- a/engine/player_step.asm
+++ b/engine/player_step.asm
@@ -77,7 +77,7 @@ HandlePlayerStep: ; d4e5 (3:54e5)
ret
.mobile ; d509 (3:5509)
- callba MobileFn_10602e
+ callba TrainerRankings_StepCount
ret
.fail2 ; d510 (3:5510)
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 745948a6f..c9b343a8b 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -3199,8 +3199,8 @@ Script_halloffame: ; 97bd5
ld hl, GameTimerPause
res 0, [hl]
- callba Mobile_HallOfFame
- callba Mobile_HallOfFame2
+ callba TrainerRankings_HallOfFame
+ callba TrainerRankings_HallOfFame2
callba HallOfFame
ld hl, GameTimerPause
set 0, [hl]
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index 00ab1d828..ea842ea9c 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -20,7 +20,7 @@ _SlotMachine:
call PlaySFX
call WaitSFX
call ClearBGPalettes
- callba MobileFn_105fd0
+ callba TrainerRankings_EndSlotsWinStreak
ld hl, Options
res NO_TEXT_SCROLL, [hl]
ld hl, rLCDC ; $ff40
@@ -1812,7 +1812,7 @@ SlotGetPayout: ; 93124 (24:7124)
ld a, [hl]
ld [wPayout], a
ld d, a
- callba MobileFn_105fe3
+ callba TrainerRankings_AddToSlotsPayouts
ret
.PayoutTable:
@@ -1836,7 +1836,7 @@ SlotPayoutText: ; 93158 (24:7158)
jr nz, .MatchedSomething
ld hl, .Text_Darn
call PrintText
- callba MobileFn_105fd0
+ callba TrainerRankings_EndSlotsWinStreak
ret
.MatchedSomething:
@@ -1860,7 +1860,7 @@ SlotPayoutText: ; 93158 (24:7158)
.return
ld hl, .Text_PrintPayout
call PrintText
- callba MobileFn_105f9f
+ callba TrainerRankings_AddToSlotsWinStreak
ret
; 93195 (24:7195)
diff --git a/engine/specials.asm b/engine/specials.asm
index 841a59cd3..2d9b6f998 100644
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -179,7 +179,7 @@ SpecialsPointers:: ; c029
add_special Mobile_SelectThreeMons
add_special Function1037eb
add_special Function10383c
- add_special Mobile_HealParty
+ add_special TrainerRankings_Healings
add_special RefreshSprites
add_special Function1037c2
add_special Mobile_DummyReturnFalse
diff --git a/engine/startmenu.asm b/engine/startmenu.asm
index bf71a0b8d..fa61d99cb 100755
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -1255,7 +1255,7 @@ MonMenu_Fly: ; 12e30
jr z, .Fail
cp $0
jr z, .Error
- callba MobileFn_1060b5
+ callba TrainerRankings_Fly
ld b, $4
ld a, $2
ret
diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm
index 0f144f79c..4b69a4de1 100644
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -107,7 +107,7 @@ PokeCenterNurseScript:
farwritetext NurseTakePokemonText
pause 20
- special Mobile_HealParty
+ special TrainerRankings_Healings
spriteface LAST_TALKED, LEFT
pause 10
special HealParty
diff --git a/engine/tmhm2.asm b/engine/tmhm2.asm
index 6efd07294..6e32fdae8 100755
--- a/engine/tmhm2.asm
+++ b/engine/tmhm2.asm
@@ -146,7 +146,7 @@ TeachTMHM: ; 2c867
and a
jr z, .nope
- callba MobileFn_106049
+ callba TrainerRankings_TMsHMsTaught
ld a, [CurItem]
call IsHM
ret c
diff --git a/event/bug_contest_judging.asm b/event/bug_contest_judging.asm
index 1ece896d6..0d400bb39 100755
--- a/event/bug_contest_judging.asm
+++ b/event/bug_contest_judging.asm
@@ -1,6 +1,6 @@
_BugContestJudging: ; 1369d
call ContestScore
- callba MobileFn_105f79
+ callba TrainerRankings_BugContestScore
call BugContest_JudgeContestants
ld a, [wBugContestThirdPlacePersonID]
call LoadContestantName
diff --git a/event/magikarp.asm b/event/magikarp.asm
index 4b024692f..f926196cd 100644
--- a/event/magikarp.asm
+++ b/event/magikarp.asm
@@ -28,7 +28,7 @@ Special_CheckMagikarpLength: ; fbb32
ld c, l
call CalcMagikarpLength
call PrintMagikarpLength
- callba MagikarpLength_Mobile
+ callba TrainerRankings_MagikarpLength
ld hl, .MeasureItText
call PrintText
diff --git a/event/overworld.asm b/event/overworld.asm
index 3906c7d6e..b27093a00 100755
--- a/event/overworld.asm
+++ b/event/overworld.asm
@@ -472,7 +472,7 @@ UsedSurfScript: ; c986
end
.empty_fn ; c9a2
- callba MobileFn_1060bb ; empty
+ callba TrainerRankings_Surf
ret
UsedSurfText: ; c9a9
@@ -745,7 +745,7 @@ Script_UsedWaterfall: ; 0xcb20
ld a, [PlayerStandingTile]
call CheckWaterfallTile
ret z
- callba MobileFn_1060c1
+ callba TrainerRankings_Waterfall
ld a, $1
ld [ScriptVar], a
ret
diff --git a/event/whiteout.asm b/event/whiteout.asm
index a076bdcb6..38049b3b5 100755
--- a/event/whiteout.asm
+++ b/event/whiteout.asm
@@ -49,9 +49,7 @@ BattleBGMap: ; 1250a
; 12513
HalveMoney: ; 12513
-
-; Empty function...
- callba MobileFn_1060c7
+ callba TrainerRankings_WhiteOuts
; Halve the player's money.
ld hl, Money
diff --git a/items/item_effects.asm b/items/item_effects.asm
index 3c2dc2457..7061909f6 100644
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -512,7 +512,7 @@ ParkBall: ; e8a2
cp BATTLETYPE_TUTORIAL
jp z, .FinishTutorial
- callba MobileFn_10607f
+ callba TrainerRankings_WildMonsCaught
ld hl, Text_GotchaMonWasCaught
call PrintText
diff --git a/main.asm b/main.asm
index 735ba7154..385f865d7 100644
--- a/main.asm
+++ b/main.asm
@@ -2830,7 +2830,7 @@ Special_CheckForLuckyNumberWinners: ; 4d87a
ld a, [ScriptVar]
and a
ret z ; found nothing
- callba MobileFn_1060cd
+ callba TrainerRankings_LuckyNumberShow
ld a, [wFoundMatchingIDInParty]
and a
push af
diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm
index 593269cb8..c49c522fc 100644
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -313,7 +313,7 @@ ElmsLabHealingMachine:
end
ElmsLabHealingMachine_HealParty:
- special Mobile_HealParty
+ special TrainerRankings_Healings
special HealParty
playmusic MUSIC_NONE
writebyte 1 ; Machine is in Elm's Lab
diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm
index 536515dd7..76933c600 100644
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -71,7 +71,7 @@ FastShipBed:
closetext
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- special Mobile_HealParty
+ special TrainerRankings_Healings
special HealParty
playmusic MUSIC_HEAL
pause 60
diff --git a/maps/MobileBattleRoom.asm b/maps/MobileBattleRoom.asm
index 109322ad6..7c5628955 100644
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -43,7 +43,7 @@ MapMobileBattleRoomSignpost0Script:
special RestartMapMusic
refreshscreen $0
.two_
- special Mobile_HealParty
+ special TrainerRankings_Healings
special HealParty
special Function10383c
iftrue .false
diff --git a/maps/MrPokemonsHouse.asm b/maps/MrPokemonsHouse.asm
index 3ac76807c..6449ad404 100644
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -115,7 +115,7 @@ MrPokemonsHouse_OakScript:
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
playmusic MUSIC_HEAL
- special Mobile_HealParty
+ special TrainerRankings_Healings
special HealParty
pause 60
special Special_FadeInQuickly
diff --git a/maps/Route26HealSpeechHouse.asm b/maps/Route26HealSpeechHouse.asm
index 7dd01776a..050493637 100644
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -16,7 +16,7 @@ TeacherScript_0x7b125:
closetext
special Special_FadeBlackQuickly
special Special_ReloadSpritesNoPalettes
- special Mobile_HealParty
+ special TrainerRankings_Healings
playmusic MUSIC_HEAL
special HealParty
pause 60
diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm
index 3091a0233..25994fc92 100644
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -172,7 +172,7 @@ LanceHealsCommon:
waitbutton
closetext
special FadeOutPalettes
- special Mobile_HealParty
+ special TrainerRankings_Healings
playsound SFX_FULL_HEAL
special HealParty
special FadeInPalettes
diff --git a/misc/battle_tower_5c.asm b/misc/battle_tower_5c.asm
index da14a5ac8..09c827146 100755
--- a/misc/battle_tower_5c.asm
+++ b/misc/battle_tower_5c.asm
@@ -243,7 +243,7 @@ RunBattleTowerTrainer: ; 17024d
xor a
ld [wLinkMode], a
- callba Mobile_HealParty
+ callba TrainerRankings_Healings
callba HealParty
call ReadBTTrainerParty
call Clears5_a89a
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index 54160ca08..3c7a34710 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -5452,7 +5452,7 @@ Function102423: ; 102423
call Function102921
ret nc
callba SaveAfterLinkTrade
- callba MobileFn_1060af
+ callba TrainerRankings_Trades
callba BackupMobileEventIndex
ld hl, wcd4b
set 1, [hl]
diff --git a/misc/mobile_41.asm b/misc/mobile_41.asm
index b68336a28..331242d88 100755
--- a/misc/mobile_41.asm
+++ b/misc/mobile_41.asm
@@ -1,50 +1,63 @@
SECTION "bank41_2", ROMX, BANK[$41]
-Mobile_HallOfFame2:: mobile ; 0x105ef6
+; These functions deal with miscellaneous statistics
+; which were used for Trainer Rankings in Pokémon News.
+
+; Copies certain values at the time the player enters the Hall of Fame.
+TrainerRankings_HallOfFame2:: mobile ; 0x105ef6
ld a, $5
call GetSRAMBank
+
ld hl, GameTimeHours
- ld de, $a001
+ ld de, sTrainerRankingGameTimeHOF
ld bc, 4
call CopyBytes
- ld hl, $a010
- ld de, $a005
+
+ ld hl, sTrainerRankingStepCount
+ ld de, sTrainerRankingStepCountHOF
ld bc, 4
call CopyBytes
- ld hl, $a039
- ld de, $a009
+
+ ; sTrainerRankingHealings is only a 3-byte value.
+ ; One extraneous byte is copied from sTrainerRankingMysteryGift.
+ ld hl, sTrainerRankingHealings
+ ld de, sTrainerRankingHealingsHOF
ld bc, 4
call CopyBytes
- ld hl, $a01b
- ld de, $a00d
+
+ ld hl, sTrainerRankingBattles
+ ld de, sTrainerRankingBattlesHOF
ld bc, 3
call CopyBytes
- call Function106162
+
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 105f33
-MagikarpLength_Mobile: mobile ; 105f33
+TrainerRankings_MagikarpLength: mobile ; 105f33
ld a, $5
call GetSRAMBank
ld de, Buffer1
- ld hl, $a07b
+ ld hl, sTrainerRankingLongestMagikarp
+
+ ; Is this Magikarp the longest measured?
ld a, [de]
cp [hl]
- jr z, .asm_105f47
- jr nc, .asm_105f4f
- jr .asm_105f55
+ jr z, .isLowByteHigher
+ jr nc, .newRecordLongest
+ jr .checkShortest
-.asm_105f47
+.isLowByteHigher
inc hl
inc de
ld a, [de]
cp [hl]
dec hl
dec de
- jr c, .asm_105f55
+ jr c, .checkShortest
-.asm_105f4f
+.newRecordLongest
ld a, [de]
inc de
ld [hli], a
@@ -52,150 +65,157 @@ MagikarpLength_Mobile: mobile ; 105f33
dec de
ld [hl], a
-.asm_105f55
- ld hl, $a07d
+.checkShortest
+ ; First, check if the record for shortest Magikarp is 0.
+ ; This seems unnecessary, because the value is initialized to 100.0 cm.
+ ld hl, sTrainerRankingShortestMagikarp
ld a, [hli]
or [hl]
dec hl
- jr z, .asm_105f6d
+ jr z, .newRecordShortest
+
+ ; Now check if this Magikarp is the shortest
ld a, [de]
cp [hl]
- jr z, .asm_105f65
- jr c, .asm_105f6d
- jr .asm_105f72
+ jr z, .isLowByteLower
+ jr c, .newRecordShortest
+ jr .done
-.asm_105f65
+.isLowByteLower
inc hl
inc de
ld a, [de]
cp [hl]
- jr nc, .asm_105f72
+ jr nc, .done
dec hl
dec de
-.asm_105f6d
+.newRecordShortest
ld a, [de]
inc de
ld [hli], a
ld a, [de]
ld [hl], a
-.asm_105f72
- call Function106162
+.done
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 105f79
-MobileFn_105f79: mobile ; 105f79
+TrainerRankings_BugContestScore: mobile ; 105f79
ld a, $5
call GetSRAMBank
ld a, [hProduct]
- ld hl, $a07f
+ ld hl, sTrainerRankingBugContestScore
cp [hl]
- jr z, .asm_105f8b
- jr nc, .asm_105f92
- jr .asm_105f98
+ jr z, .isLowByteHigher
+ jr nc, .newHighScore
+ jr .done
-.asm_105f8b
+.isLowByteHigher
inc hl
ld a, [hMultiplicand]
cp [hl]
- jr c, .asm_105f98
+ jr c, .done
dec hl
-.asm_105f92
+.newHighScore
ld a, [hProduct]
ld [hli], a
ld a, [hMultiplicand]
ld [hl], a
-.asm_105f98
- call Function106162
+.done
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 105f9f
-MobileFn_105f9f: mobile ; 105f9f
+TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f
ld a, $5
call GetSRAMBank
- ld hl, $a070
+
+ ; Increment the current streak
+ ld hl, sTrainerRankingCurrentSlotsStreak + 1
inc [hl]
- jr nz, .asm_105fae
+ jr nz, .noCarry
dec hl
inc [hl]
inc hl
-.asm_105fae
+.noCarry
dec hl
- ld a, [$a071]
+ ; Now check if this is a new record for longest streak
+ ld a, [sTrainerRankingLongestSlotsStreak]
cp [hl]
- jr z, .asm_105fb9
- jr c, .asm_105fc1
- jr .asm_105fc9
+ jr z, .isLowByteHigher
+ jr c, .newRecordStreak
+ jr .done
-.asm_105fb9
+.isLowByteHigher
inc hl
- ld a, [$a072]
+ ld a, [sTrainerRankingLongestSlotsStreak + 1]
cp [hl]
- jr nc, .asm_105fc9
+ jr nc, .done
dec hl
-.asm_105fc1
+.newRecordStreak
ld a, [hli]
- ld [$a071], a
+ ld [sTrainerRankingLongestSlotsStreak], a
ld a, [hl]
- ld [$a072], a
+ ld [sTrainerRankingLongestSlotsStreak + 1], a
-.asm_105fc9
- call Function106162
+.done
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 105fd0
-MobileFn_105fd0: mobile ; 105fd0
+TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0
ld a, $5
call GetSRAMBank
- ld hl, $a06f
+ ld hl, sTrainerRankingCurrentSlotsStreak
xor a
ld [hli], a
ld [hl], a
- call Function106162
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 105fe3
-MobileFn_105fe3: mobile ; 105fe3
+TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3
ld a, $5
call GetSRAMBank
- ld hl, $a076
+ ld hl, sTrainerRankingTotalSlotsPayouts + 3
ld a, e
add [hl]
ld [hld], a
ld a, d
adc [hl]
ld [hld], a
- jr nc, .asm_106001
+ jr nc, .done
inc [hl]
- jr nz, .asm_106001
+ jr nz, .done
dec hl
inc [hl]
- jr nz, .asm_106001
+ jr nz, .done
ld a, $ff
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
-.asm_106001
- call Function106162
+.done
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 106008
-MobileFn_106008: mobile ; 106008
+TrainerRankings_AddToBattlePayouts: mobile ; 106008
ld a, $5
call GetSRAMBank
- ld hl, $a07a
+ ld hl, sTrainerRankingTotalBattlePayouts + 3
ld a, [bc]
dec bc
add [hl]
@@ -207,189 +227,195 @@ MobileFn_106008: mobile ; 106008
ld a, [bc]
adc [hl]
ld [hld], a
- jr nc, .asm_106027
+ jr nc, .done
inc [hl]
- jr nz, .asm_106027
+ jr nz, .done
ld a, $ff
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
-.asm_106027
- call Function106162
+.done
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 10602e
-MobileFn_10602e: mobile ; 10602e (41:602e)
- ld hl, $a010
- jp MobileFn_106117
+TrainerRankings_StepCount: mobile ; 10602e (41:602e)
+ ld hl, sTrainerRankingStepCount
+ jp TrainerRankings_Increment4Byte
-MobileFn_106035: mobile ; 106035
+; Unreferenced in English version.
+TrainerRankings_BattleTowerWins: mobile ; 106035
ld a, $5
call GetSRAMBank
ld a, [$aa8d]
and a
call CloseSRAM
ret nz
- ld hl, $a014
- jp Function106123
+ ld hl, sTrainerRankingBattleTowerWins
+ jp TrainerRankings_Increment2Byte
-MobileFn_106049: mobile ; 106049
- ld hl, $a018
- jp Function10611d
+TrainerRankings_TMsHMsTaught: mobile ; 106049
+ ld hl, sTrainerRankingTMsHMsTaught
+ jp TrainerRankings_Increment3Byte
-MobileFn_106050: mobile ; 106050
+TrainerRankings_Battles: mobile ; 106050
ld a, [BattleType]
- cp BATTLETYPE_TUTORIAL
+ cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle
ret z
- ld hl, $a01b
- jp Function10611d
+ ld hl, sTrainerRankingBattles
+ jp TrainerRankings_Increment3Byte
-MobileFn_10605d: mobile ; 10605d
+TrainerRankings_WildBattles: mobile ; 10605d
ld a, [BattleType]
- cp BATTLETYPE_TUTORIAL
+ cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle
ret z
- ld hl, $a01e
- jp Function10611d
+ ld hl, sTrainerRankingWildBattles
+ jp TrainerRankings_Increment3Byte
-MobileFn_10606a: mobile ; 10606a
- ld hl, $a021
- jp Function10611d
+TrainerRankings_TrainerBattles: mobile ; 10606a
+ ld hl, sTrainerRankingTrainerBattles
+ jp TrainerRankings_Increment3Byte
-MobileFn_106071: mobile ; 106071
- ld hl, $a024
- jp Function10611d
+TrainerRankings_Unused1: mobile ; 106071
+ ld hl, sTrainerRankingUnused1
+ jp TrainerRankings_Increment3Byte
-Mobile_HallOfFame:: mobile ; 0x106078
- ld hl, $a027
- jp Function10611d
+TrainerRankings_HallOfFame:: mobile ; 0x106078
+ ld hl, sTrainerRankingHOFEntries
+ jp TrainerRankings_Increment3Byte
-MobileFn_10607f: mobile ; 10607f (41:607f)
- ld hl, $a02a
- jp Function10611d
+TrainerRankings_WildMonsCaught: mobile ; 10607f (41:607f)
+ ld hl, sTrainerRankingWildMonsCaught
+ jp TrainerRankings_Increment3Byte
-MobileFn_106086: mobile ; 106086
- ld hl, $a02d
- jp Function10611d
+TrainerRankings_HookedEncounters: mobile ; 106086
+ ld hl, sTrainerRankingHookedEncounters
+ jp TrainerRankings_Increment3Byte
-MobileFn_10608d: mobile ; 10608d (41:608d)
- ld hl, $a030
- jp Function10611d
+TrainerRankings_EggsHatched: mobile ; 10608d (41:608d)
+ ld hl, sTrainerRankingEggsHatched
+ jp TrainerRankings_Increment3Byte
-MobileFn_106094: mobile ; 106094
- ld hl, $a033
- jp Function10611d
+TrainerRankings_MonsEvolved: mobile ; 106094
+ ld hl, sTrainerRankingMonsEvolved
+ jp TrainerRankings_Increment3Byte
-MobileFn_10609b: mobile ; 10609b
- ld hl, $a036
- jp Function10611d
+TrainerRankings_FruitPicked: mobile ; 10609b
+ ld hl, sTrainerRankingFruitPicked
+ jp TrainerRankings_Increment3Byte
-Mobile_HealParty: mobile ; 1060a2
- ld hl, $a039
- jp Function10611d
+TrainerRankings_Healings: mobile ; 1060a2
+ ld hl, sTrainerRankingHealings
+ jp TrainerRankings_Increment3Byte
-MobileFn_1060a9: mobile ; 1060a9 (41:60a9)
- ld hl, $a03c
- jr Function10611d
+TrainerRankings_MysteryGift: mobile ; 1060a9 (41:60a9)
+ ld hl, sTrainerRankingMysteryGift
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060af: mobile ; 1060af
- ld hl, $a03f
- jr Function10611d
+TrainerRankings_Trades: mobile ; 1060af
+ ld hl, sTrainerRankingTrades
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060b5: mobile ; 1060b5
- ld hl, $a042
- jr Function10611d
+TrainerRankings_Fly: mobile ; 1060b5
+ ld hl, sTrainerRankingFly
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060bb: mobile ; 1060bb
- ld hl, $a045
- jr Function10611d
+TrainerRankings_Surf: mobile ; 1060bb
+ ld hl, sTrainerRankingSurf
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060c1: mobile ; 1060c1
- ld hl, $a048
- jr Function10611d
+TrainerRankings_Waterfall: mobile ; 1060c1
+ ld hl, sTrainerRankingWaterfall
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060c7: mobile ; 1060c7
- ld hl, $a04b
- jr Function10611d
+TrainerRankings_WhiteOuts: mobile ; 1060c7
+ ld hl, sTrainerRankingWhiteOuts
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060cd: mobile ; 1060cd
- ld hl, $a04e
- jr Function106123
+TrainerRankings_LuckyNumberShow: mobile ; 1060cd
+ ld hl, sTrainerRankingLuckyNumberShow
+ jr TrainerRankings_Increment2Byte
-MobileFn_1060d3: mobile ; 1060d3
- ld hl, $a051
- jr Function10611d
+TrainerRankings_PhoneCalls: mobile ; 1060d3
+ ld hl, sTrainerRankingPhoneCalls
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060d9: mobile ; 1060df
- ld hl, $a054
- jr Function10611d
+TrainerRankings_Unused2: mobile ; 1060df
+ ld hl, sTrainerRankingUnused2
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060df: mobile ; 1060df
- ld hl, $a057
- jr Function10611d
+TrainerRankings_LinkBattles: mobile ; 1060df
+ ld hl, sTrainerRankingLinkBattles
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060e5: mobile ; 1060e5
+TrainerRankings_Splash: mobile ; 1060e5
+ ; Only counts if it’s the player’s turn
ld a, [hBattleTurn]
and a
ret nz
- ld hl, $a05a
- jr Function10611d
+ ld hl, sTrainerRankingSplash
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060ef: mobile ; 1060ef
- ld hl, $a05d
- jr Function10611d
+TrainerRankings_TreeEncounters: mobile ; 1060ef
+ ld hl, sTrainerRankingTreeEncounters
+ jr TrainerRankings_Increment3Byte
-MobileFn_1060f5: mobile ; 1060f5
- ld hl, $a060
- jr Function10611d
+TrainerRankings_Unused3: mobile ; 1060f5
+ ld hl, sTrainerRankingUnused3
+ jr TrainerRankings_Increment3Byte
-MobileFn_SaveBattleResult_Win: mobile ; win
- ld hl, $a063
- jr Function10611d
+TrainerRankings_ColosseumWins: mobile ; win
+ ld hl, sTrainerRankingColosseumWins
+ jr TrainerRankings_Increment3Byte
-MobileFn_SaveBattleResult_Lose: mobile ; lose
- ld hl, $a066
- jr Function10611d
+TrainerRankings_ColosseumLosses: mobile ; lose
+ ld hl, sTrainerRankingColosseumLosses
+ jr TrainerRankings_Increment3Byte
; 106107
-MobileFn_SaveBattleResult_Draw: mobile ; draw
- ld hl, $a069
- jr Function10611d
+TrainerRankings_ColosseumDraws: mobile ; draw
+ ld hl, sTrainerRankingColosseumDraws
+ jr TrainerRankings_Increment3Byte
; 10610d
-MobileFn_10610d: mobile ; 10610d
+; Counts uses of both SelfDestruct and Explosion.
+TrainerRankings_SelfDestruct: mobile ; 10610d
+ ; Only counts if it’s the player’s turn
ld a, [hBattleTurn]
and a
ret nz
- ld hl, $a06c
- jr Function10611d
+ ld hl, sTrainerRankingSelfDestruct
+ jr TrainerRankings_Increment3Byte
; 106117
-MobileFn_106117: ; 106117
+TrainerRankings_Increment4Byte: ; 106117
push bc
ld bc, 3
- jr Function10612d
+ jr TrainerRankings_Increment
; 10611d
-Function10611d: ; 10611d
+TrainerRankings_Increment3Byte: ; 10611d
push bc
ld bc, 2
- jr Function10612d
+ jr TrainerRankings_Increment
; 106123
-Function106123: ; 106123
+TrainerRankings_Increment2Byte: ; 106123
push bc
ld bc, 1
- jr Function10612d
+ jr TrainerRankings_Increment
; 106129
-Function106129: ; 106129
+; unused
+TrainerRankings_Increment1Byte: ; 106129
push bc
ld bc, 0
-Function10612d: ; 10612d
+; Increments a big-endian value of bc + 1 bytes at hl
+TrainerRankings_Increment: ; 10612d
ld a, $5
call GetSRAMBank
push hl
@@ -419,24 +445,25 @@ Function10612d: ; 10612d
jr .asm_106142
.asm_10614d
- call Function106162
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
pop bc
ret
; 106155
-MobileFn_106155: mobile ; 106155
+; Used when SRAM bank 5 isn’t already loaded — what’s the point of this?
+UpdateTrainerRankingsChecksum2: mobile ; 106155
ld a, $5
call GetSRAMBank
- call Function106162
+ call UpdateTrainerRankingsChecksum
call CloseSRAM
ret
; 106162
-Function106162: ; 106162
+UpdateTrainerRankingsChecksum: ; 106162
push de
- call Function10616e
- ld hl, $a081 ; s5_a081
+ call CalculateTrainerRankingsChecksum
+ ld hl, sTrainerRankingsChecksum
ld [hl], d
inc hl
ld [hl], e
@@ -444,10 +471,10 @@ Function106162: ; 106162
ret
; 10616e
-Function10616e: ; 10616e
+CalculateTrainerRankingsChecksum: ; 10616e
push bc
- ld hl, $a001 ; s5_a001
- ld bc, $80
+ ld hl, sTrainerRankings
+ ld bc, sTrainerRankingsChecksum - sTrainerRankings
xor a
ld de, 0
.asm_106179
@@ -495,9 +522,10 @@ RestoreMobileEventIndex: ; 10619d (41:619d)
ret
; 1061b3 (41:61b3)
-Function1061b3: ; 1061b3
- call Function10616e
- ld hl, $a081 ; s5_a081
+; Unreferenced in English version.
+VerifyTrainerRankingsChecksum: ; 1061b3
+ call CalculateTrainerRankingsChecksum
+ ld hl, sTrainerRankingsChecksum
ld a, d
cp [hl]
ret nz
@@ -516,19 +544,24 @@ DeleteMobileEventIndex: ; 1061c0 (41:61c0)
ret
; 1061cd (41:61cd)
-Function1061cd: ; unreferenced
- ld hl, $a001
- ld bc, $82
+; Used in the Japanese version to initialize Trainer Rankings data
+; for a new save file. Unreferenced in the English version.
+InitializeTrainerRankings:
+ ld hl, sTrainerRankings
+ ld bc, sTrainerRankingsEnd - sTrainerRankings
xor a
call ByteFill
- ld hl, $a07d
+
+ ; Initialize the shortest Magikarp to 100.0 cm
+ ld hl, sTrainerRankingShortestMagikarp
ld a, $3
ld [hli], a
ld [hl], $e8
- call Function106162
- ld hl, $a001
- ld de, $a084
- ld bc, $82
+
+ call UpdateTrainerRankingsChecksum
+ ld hl, sTrainerRankings
+ ld de, sTrainerRankingsBackup
+ ld bc, sTrainerRankingsEnd - sTrainerRankings
call CopyBytes
ret
; 1061ef
diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm
index dd4dbb6dc..2ce71049f 100644
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -3098,7 +3098,7 @@ Function17e3c3: ; 17e3c3
push af
ld a, $1
ld [rSVBK], a
- callba MobileFn_106155
+ callba UpdateTrainerRankingsChecksum2
callba BackupMobileEventIndex
pop af
ld [rSVBK], a