pokeheartgold/asm/scrcmd.s
2022-04-10 19:58:56 -04:00

5896 lines
137 KiB
ArmAsm

#include "constants/sprites.h"
#include "constants/species.h"
#include "constants/sndseq.h"
.include "asm/macros.inc"
.include "global.inc"
.public _020FAC94
.public _020FACB0
.public _020FACC4
.public _020FACDC
.rodata
.public _020FACB0
.balign 4, 0
_020FACB0:
.word FS_OVERLAY_ID(OVY_20)
.word FS_OVERLAY_ID(bug_contest)
.word FS_OVERLAY_ID(OVY_21)
.word FS_OVERLAY_ID(OVY_22)
.word FS_OVERLAY_ID(OVY_25)
.public _020FACC4
_020FACC4:
.word 0x07FFFFFF
.word 0x07FFFFFF
.word 0x07FFFFFF
.word 0x07FFFFFF
.word 0x07FFFFFF
.word 0x07FFFFFF
.public _020FACDC
_020FACDC:
.byte 0x00, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00
.byte 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00
.byte 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00
.public gScriptCmdTable
gScriptCmdTable:
.word ScrCmd_Nop ; 000
.word ScrCmd_Dummy ; 001
.word ScrCmd_End ; 002
.word ScrCmd_Wait ; 003
.word ScrCmd_LoadByte ; 004
.word ScrCmd_LoadWord ; 005
.word ScrCmd_LoadByteFromAddr ; 006
.word ScrCmd_WriteByteToAddr ; 007
.word ScrCmd_SetPtrByte ; 008
.word ScrCmd_CopyLocal ; 009
.word ScrCmd_CopyByte ; 010
.word ScrCmd_CompareLocalToLocal ; 011
.word ScrCmd_CompareLocalToValue ; 012
.word ScrCmd_CompareLocalToAddr ; 013
.word ScrCmd_CompareAddrToLocal ; 014
.word ScrCmd_CompareAddrToValue ; 015
.word ScrCmd_CompareAddrToAddr ; 016
.word ScrCmd_CompareVarToValue ; 017
.word ScrCmd_CompareVarToVar ; 018
.word ScrCmd_RunScript ; 019
.word ScrCmd_CallStd ; 020
.word ScrCmd_RestartCurrentScript ; 021
.word ScrCmd_GoTo ; 022
.word ScrCmd_ObjectGoTo ; 023
.word ScrCmd_BgGoTo ; 024
.word ScrCmd_DirectionGoTo ; 025
.word ScrCmd_Call ; 026
.word ScrCmd_Return ; 027
.word ScrCmd_GoToIf ; 028
.word ScrCmd_CallIf ; 029
.word ScrCmd_SetFlag ; 030
.word ScrCmd_ClearFlag ; 031
.word ScrCmd_CheckFlag ; 032
.word ScrCmd_SetFlagVar ; 033
.word ScrCmd_ClearFlagVar ; 034
.word ScrCmd_CheckFlagVar ; 035
.word ScrCmd_SetTrainerFlag ; 036
.word ScrCmd_ClearTrainerFlag ; 037
.word ScrCmd_CheckTrainerFlag ; 038
.word ScrCmd_AddVar ; 039
.word ScrCmd_SubVar ; 040
.word ScrCmd_SetVar ; 041
.word ScrCmd_CopyVar ; 042
.word ScrCmd_SetOrCopyVar ; 043
.word ScrCmd_NonNPCMsg ; 044
.word ScrCmd_NPCMsg ; 045
.word ScrCmd_NonNpcMsgVar ; 046
.word ScrCmd_NpcMsgVar ; 047
.word ScrCmd_048 ; 048
.word ScrCmd_WaitButton ; 049
.word ScrCmd_WaitButtonOrWalkAway ; 050
.word ScrCmd_WaitButtonOrDpad ; 051
.word ScrCmd_OpenMsg ; 052
.word ScrCmd_CloseMsg ; 053
.word ScrCmd_HoldMsg ; 054
.word ScrCmd_DirectionSignpost ; 055
.word ScrCmd_055 ; 056
.word ScrCmd_057 ; 057
.word ScrCmd_058 ; 058
.word ScrCmd_TrainerTips ; 059
.word ScrCmd_060 ; 060
.word ScrCmd_061 ; 061
.word ScrCmd_062 ; 062
.word ScrCmd_YesNo ; 063
.word ScrCmd_064 ; 064
.word ScrCmd_065 ; 065
.word ScrCmd_066 ; 066
.word ScrCmd_067 ; 067
.word ScrCmd_068 ; 068
.word ScrCmd_069 ; 069
.word ScrCmd_070 ; 070
.word ScrCmd_071 ; 071
.word ScrCmd_072 ; 072
.word ScrCmd_PlaySE ; 073
.word ScrCmd_StopSE ; 074
.word ScrCmd_WaitSE ; 075
.word ScrCmd_PlayCry ; 076
.word ScrCmd_WaitCry ; 077
.word ScrCmd_PlayFanfare ; 078
.word ScrCmd_WaitFanfare ; 079
.word ScrCmd_PlayBGM ; 080
.word ScrCmd_081 ; 081
.word ScrCmd_ResetBGM ; 082
.word ScrCmd_083 ; 083
.word ScrCmd_FadeOutBGM ; 084
.word ScrCmd_085 ; 085
.word ScrCmd_086 ; 086
.word ScrCmd_TempBGM ; 087
.word ScrCmd_088 ; 088
.word ScrCmd_ChatotHasCry ; 089
.word ScrCmd_ChatotStartRecording ; 090
.word ScrCmd_ChatotStopRecording ; 091
.word ScrCmd_ChatotSaveRecording ; 092
.word ScrCmd_093 ; 093
.word ScrCmd_ApplyMovement ; 094
.word ScrCmd_WaitMovement ; 095
.word ScrCmd_LockAll ; 096
.word ScrCmd_ReleaseAll ; 097
.word ScrCmd_098 ; 098
.word ScrCmd_099 ; 099
.word ScrCmd_ShowPerson ; 100
.word ScrCmd_HidePerson ; 101
.word ScrCmd_102 ; 102
.word ScrCmd_103 ; 103
.word ScrCmd_FacePlayer ; 104
.word ScrCmd_GetPlayerCoords ; 105
.word ScrCmd_GetPersonCoords ; 106
.word ScrCmd_107 ; 107
.word ScrCmd_108 ; 108
.word ScrCmd_109 ; 109
.word ScrCmd_AddMoney ; 110
.word ScrCmd_SubMoneyImmediate ; 111
.word ScrCmd_HasEnoughMoneyImmediate ; 112
.word ScrCmd_ShowMoneyBox ; 113
.word ScrCmd_HideMoneyBox ; 114
.word ScrCmd_UpdateMoneyBox ; 115
.word ScrCmd_116 ; 116
.word ScrCmd_117 ; 117
.word ScrCmd_118 ; 118
.word ScrCmd_GetCoinAmount ; 119
.word ScrCmd_GiveCoins ; 120
.word ScrCmd_TakeCoins ; 121
.word ScrCmd_GiveAthletePoints ; 122
.word ScrCmd_TakeAthletePoints ; 123
.word ScrCmd_CheckAthletePoints ; 124
.word ScrCmd_GiveItem ; 125
.word ScrCmd_TakeItem ; 126
.word ScrCmd_HasSpaceForItem ; 127
.word ScrCmd_HasItem ; 128
.word ScrCmd_ItemIsTMOrHM ; 129
.word ScrCmd_GetItemPocket ; 130
.word ScrCmd_SetStarterChoice ; 131
.word ScrCmd_GenderMsgbox ; 132
.word ScrCmd_GetSealQuantity ; 133
.word ScrCmd_GiveOrTakeSeal ; 134
.word ScrCmd_GiveRandomSeal ; 135
.word ScrCmd_136 ; 136
.word ScrCmd_GiveMon ; 137
.word ScrCmd_GiveEgg ; 138
.word ScrCmd_SetMonMove ; 139
.word ScrCmd_MonHasMove ; 140
.word ScrCmd_GetPartySlotWithMove ; 141
.word ScrCmd_GetPhoneBookRematch ; 142
.word ScrCmd_NameRival ; 143
.word ScrCmd_GetFriendSprite ; 144
.word ScrCmd_RegisterPokegearCard ; 145
.word ScrCmd_RegisterGearNumber ; 146
.word ScrCmd_CheckRegisteredPhoneNumber ; 147
.word ScrCmd_148 ; 148
.word ScrCmd_149 ; 149
.word ScrCmd_150 ; 150
.word ScrCmd_151 ; 151
.word ScrCmd_152 ; 152
.word ScrCmd_153 ; 153
.word ScrCmd_154 ; 154
.word ScrCmd_155 ; 155
.word ScrCmd_156 ; 156
.word ScrCmd_TownMap ; 157
.word ScrCmd_158 ; 158
.word ScrCmd_159 ; 159
.word ScrCmd_160 ; 160
.word ScrCmd_161 ; 161
.word ScrCmd_162 ; 162
.word ScrCmd_HOF_Credits ; 163
.word ScrCmd_164 ; 164
.word ScrCmd_165 ; 165
.word ScrCmd_166 ; 166
.word ScrCmd_ChooseStarter ; 167
.word ScrCmd_GetTrainerPathToPlayer ; 168
.word ScrCmd_TrainerStepTowardsPlayer ; 169
.word ScrCmd_GetTrainerEyeType ; 170
.word ScrCmd_GetEyeTrainerNum ; 171
.word ScrCmd_NamePlayer ; 172
.word ScrCmd_NicknameInput ; 173
.word ScrCmd_FadeScreen ; 174
.word ScrCmd_WaitFade ; 175
.word ScrCmd_Warp ; 176
.word ScrCmd_RockClimb ; 177
.word ScrCmd_Surf ; 178
.word ScrCmd_Waterfall ; 179
.word ScrCmd_180 ; 180
.word ScrCmd_FlashEffect ; 181
.word ScrCmd_Whirlpool ; 182
.word ScrCmd_183 ; 183
.word ScrCmd_PlayerOnBikeCheck ; 184
.word ScrCmd_PlayerOnBikeSet ; 185
.word ScrCmd_186 ; 186
.word ScrCmd_GetPlayerState ; 187
.word ScrCmd_SetAvatarBits ; 188
.word ScrCmd_UpdateAvatarState ; 189
.word ScrCmd_BufferPlayersName ; 190
.word ScrCmd_BufferRivalsName ; 191
.word ScrCmd_BufferFriendsName ; 192
.word ScrCmd_BufferMonSpeciesName ; 193
.word ScrCmd_BufferItemName ; 194
.word ScrCmd_BufferPocketName ; 195
.word ScrCmd_BufferTMHMMoveName ; 196
.word ScrCmd_BufferMoveName ; 197
.word ScrCmd_BufferInt ; 198
.word ScrCmd_BufferPartyMonNick ; 199
.word ScrCmd_BufferTrainerClassName ; 200
.word ScrCmd_BufferPlayerUnionAvatarClassName ; 201
.word ScrCmd_BufferSpeciesName ; 202
.word ScrCmd_BufferStarterSpeciesName ; 203
.word ScrCmd_BufferDPPtRivalStarterSpeciesName ; 204
.word ScrCmd_BufferDPPtFriendStarterSpeciesName ; 205
.word ScrCmd_GetStarterChoice ; 206
.word ScrCmd_BufferDecorationName ; 207
.word ScrCmd_208 ; 208
.word ScrCmd_209 ; 209
.word ScrCmd_BufferMapSecName ; 210
.word ScrCmd_211 ; 211
.word ScrCmd_GetTrainerNum ; 212
.word ScrCmd_TrainerBattle ; 213
.word ScrCmd_TrainerMessage ; 214
.word ScrCmd_GetTrainerMsgParams ; 215
.word ScrCmd_GetRematchMsgParams ; 216
.word ScrCmd_TrainerIsDoubleBattle ; 217
.word ScrCmd_EncounterMusic ; 218
.word ScrCmd_WhiteOut ; 219
.word ScrCmd_CheckBattleWon ; 220
.word ScrCmd_221 ; 221
.word ScrCmd_PartyCheckForDouble ; 222
.word ScrCmd_223 ; 223
.word ScrCmd_224 ; 224
.word ScrCmd_225 ; 225
.word ScrCmd_226 ; 226
.word ScrCmd_227 ; 227
.word ScrCmd_228 ; 228
.word ScrCmd_229 ; 229
.word ScrCmd_230 ; 230
.word ScrCmd_231 ; 231
.word ScrCmd_232 ; 232
.word ScrCmd_233 ; 233
.word ScrCmd_234 ; 234
.word ScrCmd_235 ; 235
.word ScrCmd_236 ; 236
.word ScrCmd_237 ; 237
.word ScrCmd_PartyHasPokerus ; 238
.word ScrCmd_MonGetGender ; 239
.word ScrCmd_SetDynamicWarp ; 240
.word ScrCmd_GetDynamicWarpFloorNo ; 241
.word ScrCmd_ElevatorCurFloorBox ; 242
.word ScrCmd_CountJohtoDexSeen ; 243
.word ScrCmd_CountJohtoDexOwned ; 244
.word ScrCmd_CountNationalDexSeen ; 245
.word ScrCmd_CountNationalDexOwned ; 246
.word ScrCmd_247 ; 247
.word ScrCmd_GetDexEvalResult ; 248
.word ScrCmd_RocketTrapBattle ; 249
.word ScrCmd_250 ; 250
.word ScrCmd_CatchingTutorial ; 251
.word ScrCmd_252 ; 252
.word ScrCmd_GetSaveFileState ; 253
.word ScrCmd_SaveGameNormal ; 254
.word ScrCmd_255 ; 255
.word ScrCmd_256 ; 256
.word ScrCmd_257 ; 257
.word ScrCmd_258 ; 258
.word ScrCmd_259 ; 259
.word ScrCmd_260 ; 260
.word ScrCmd_261 ; 261
.word ScrCmd_262 ; 262
.word ScrCmd_263 ; 263
.word ScrCmd_264 ; 264
.word ScrCmd_265 ; 265
.word ScrCmd_266 ; 266
.word ScrCmd_267 ; 267
.word ScrCmd_268 ; 268
.word ScrCmd_269 ; 269
.word ScrCmd_270 ; 270
.word ScrCmd_271 ; 271
.word ScrCmd_272 ; 272
.word ScrCmd_273 ; 273
.word ScrCmd_274 ; 274
.word ScrCmd_MartBuy ; 275
.word ScrCmd_SpecialMartBuy ; 276
.word ScrCmd_DecorationMart ; 277
.word ScrCmd_SealMart ; 278
.word ScrCmd_OverworldWhiteOut ; 279
.word ScrCmd_SetSpawn ; 280
.word ScrCmd_GetPlayerGender ; 281
.word ScrCmd_HealParty ; 282
.word ScrCmd_283 ; 283
.word ScrCmd_284 ; 284
.word ScrCmd_285 ; 285
.word ScrCmd_286 ; 286
.word ScrCmd_287 ; 287
.word ScrCmd_288 ; 288
.word ScrCmd_289 ; 289
.word ScrCmd_CheckPokedex ; 290
.word ScrCmd_GivePokedex ; 291
.word ScrCmd_CheckRunningShoes ; 292
.word ScrCmd_GiveRunningShoes ; 293
.word ScrCmd_CheckBadge ; 294
.word ScrCmd_GiveBadge ; 295
.word ScrCmd_CountBadges ; 296
.word ScrCmd_297 ; 297
.word ScrCmd_298 ; 298
.word ScrCmd_CheckEscortMode ; 299
.word ScrCmd_SetEscortMode ; 300
.word ScrCmd_ClearEscortMode ; 301
.word ScrCmd_302 ; 302
.word ScrCmd_303 ; 303
.word ScrCmd_304 ; 304
.word ScrCmd_305 ; 305
.word ScrCmd_306 ; 306
.word ScrCmd_307 ; 307
.word ScrCmd_308 ; 308
.word ScrCmd_309 ; 309
.word ScrCmd_310 ; 310
.word ScrCmd_311 ; 311
.word ScrCmd_BufferDayCareMonNicks ; 312
.word ScrCmd_GetDayCareState ; 313
.word ScrCmd_EcruteakGymInit ; 314
.word ScrCmd_315 ; 315
.word ScrCmd_316 ; 316
.word ScrCmd_317 ; 317
.word ScrCmd_CianwoodGymInit ; 318
.word ScrCmd_CianwoodGymTurnWinch ; 319
.word ScrCmd_VermilionGymInit ; 320
.word ScrCmd_VermilionGymLockAction ; 321
.word ScrCmd_VermilionGymCanCheck ; 322
.word ScrCmd_ResampleVermilionGymCans ; 323
.word ScrCmd_VioletGymInit ; 324
.word ScrCmd_VioletGymElevator ; 325
.word ScrCmd_AzaleaGymInit ; 326
.word ScrCmd_AzaleaGymSpinarak ; 327
.word ScrCmd_AzaleaGymSwitch ; 328
.word ScrCmd_BlackthornGymInit ; 329
.word ScrCmd_FuchsiaGymInit ; 330
.word ScrCmd_ViridianGymInit ; 331
.word ScrCmd_GetPartyCount ; 332
.word ScrCmd_333 ; 333
.word ScrCmd_334 ; 334
.word ScrCmd_335 ; 335
.word ScrCmd_BufferBerryName ; 336
.word ScrCmd_BufferNatureName ; 337
.word ScrCmd_MovePerson ; 338
.word ScrCmd_MovePersonFacing ; 339
.word ScrCmd_SetObjectMovementType ; 340
.word ScrCmd_SetObjectFacing ; 341
.word ScrCmd_MoveWarp ; 342
.word ScrCmd_MoveBgEvent ; 343
.word ScrCmd_344 ; 344
.word ScrCmd_AddWaitingIcon ; 345
.word ScrCmd_RemoveWaitingIcon ; 346
.word ScrCmd_347 ; 347
.word ScrCmd_WaitButtonOrDelay ; 348
.word ScrCmd_PartySelectUI ; 349
.word ScrCmd_350 ; 350
.word ScrCmd_PartySelect ; 351
.word ScrCmd_ChooseMoveUI ; 352
.word ScrCmd_GetMoveSelection ; 353
.word ScrCmd_GetPartyMonSpecies ; 354
.word ScrCmd_PartymonIsMine ; 355
.word ScrCmd_PartyCountNotEgg ; 356
.word ScrCmd_CountAliveMons ; 357
.word ScrCmd_CountAliveMonsAndPC ; 358
.word ScrCmd_PartyCountEgg ; 359
.word ScrCmd_SubMoneyVar ; 360
.word ScrCmd_RetrieveDayCareMon ; 361
.word ScrCmd_GiveLoanMon ; 362
.word ScrCmd_CheckReturnLoanMon ; 363
.word ScrCmd_TakeMon ; 364
.word ScrCmd_ResetDayCareEgg ; 365
.word ScrCmd_GiveDayCareEgg ; 366
.word ScrCmd_BufferDayCareWithdrawCost ; 367
.word ScrCmd_HasEnoughMoneyVar ; 368
.word ScrCmd_EggHatchAnim ; 369
.word ScrCmd_370 ; 370
.word ScrCmd_BufferDayCareMonGrowth ; 371
.word ScrCmd_GetTailDayCareMonSpeciesAndNick ; 372
.word ScrCmd_PutMonInDayCare ; 373
.word ScrCmd_374 ; 374
.word ScrCmd_375 ; 375
.word ScrCmd_376 ; 376
.word ScrCmd_377 ; 377
.word ScrCmd_378 ; 378
.word ScrCmd_379 ; 379
.word ScrCmd_Random ; 380
.word ScrCmd_381 ; 381
.word ScrCmd_MonGetFriendship ; 382
.word ScrCmd_MonAddFriendship ; 383
.word ScrCmd_MonSubtractFriendship ; 384
.word ScrCmd_BufferDayCareMonStats ; 385
.word ScrCmd_GetPlayerFacing ; 386
.word ScrCmd_GetDayCareCompatibility ; 387
.word ScrCmd_CheckDayCareEgg ; 388
.word ScrCmd_PlayerHasSpecies ; 389
.word ScrCmd_SizeRecordCompare ; 390
.word ScrCmd_SizeRecordUpdate ; 391
.word ScrCmd_BufferMonSize ; 392
.word ScrCmd_BufferRecordSize ; 393
.word ScrCmd_394 ; 394
.word ScrCmd_395 ; 395
.word ScrCmd_CountMonMoves ; 396
.word ScrCmd_MonForgetMove ; 397
.word ScrCmd_MonGetMove ; 398
.word ScrCmd_BufferPartyMonMoveName ; 399
.word ScrCmd_StrengthFlagAction ; 400
.word ScrCmd_FlashAction ; 401
.word ScrCmd_DefogAction ; 402
.word ScrCmd_403 ; 403
.word ScrCmd_404 ; 404
.word ScrCmd_405 ; 405
.word ScrCmd_406 ; 406
.word ScrCmd_407 ; 407
.word ScrCmd_408 ; 408
.word ScrCmd_409 ; 409
.word ScrCmd_410 ; 410
.word ScrCmd_411 ; 411
.word ScrCmd_412 ; 412
.word ScrCmd_413 ; 413
.word ScrCmd_414 ; 414
.word ScrCmd_415 ; 415
.word ScrCmd_416 ; 416
.word ScrCmd_417 ; 417
.word ScrCmd_418 ; 418
.word ScrCmd_419 ; 419
.word ScrCmd_420 ; 420
.word ScrCmd_421 ; 421
.word ScrCmd_422 ; 422
.word ScrCmd_CheckJohtoDexComplete ; 423
.word ScrCmd_CheckNationalDexComplete ; 424
.word ScrCmd_425 ; 425
.word ScrCmd_KenyaCheck ; 426
.word ScrCmd_427 ; 427
.word ScrCmd_MonGiveMail ; 428
.word ScrCmd_CountFossils ; 429
.word ScrCmd_SetPhoneCall ; 430
.word ScrCmd_RunPhoneCall ; 431
.word ScrCmd_GetFossilPokemon ; 432
.word ScrCmd_GetFossilMinimumAmount ; 433
.word ScrCmd_PartyCountMonsAtOrBelowLevel ; 434
.word ScrCmd_SurvivePoisoning ; 435
.word ScrCmd_436 ; 436
.word ScrCmd_DebugWatch ; 437
.word ScrCmd_GetStdMsgNaix ; 438
.word ScrCmd_NonNpcMsgExtern ; 439
.word ScrCmd_MsgboxExtern ; 440
.word ScrCmd_441 ; 441
.word ScrCmd_442 ; 442
.word ScrCmd_443 ; 443
.word ScrCmd_444 ; 444
.word ScrCmd_445 ; 445
.word ScrCmd_446 ; 446
.word ScrCmd_SafariZoneAction ; 447
.word ScrCmd_448 ; 448
.word ScrCmd_449 ; 449
.word ScrCmd_450 ; 450
.word ScrCmd_451 ; 451
.word ScrCmd_452 ; 452
.word ScrCmd_453 ; 453
.word ScrCmd_454 ; 454
.word ScrCmd_455 ; 455
.word ScrCmd_456 ; 456
.word ScrCmd_MonGetNature ; 457
.word ScrCmd_GetPartySlotWithNature ; 458
.word ScrCmd_459 ; 459
.word ScrCmd_LoadPhoneDat ; 460
.word ScrCmd_GetPhoneContactMsgIds ; 461
.word ScrCmd_462 ; 462
.word ScrCmd_EnableMassOutbreaks ; 463
.word ScrCmd_CreateRoamer ; 464
.word ScrCmd_465 ; 465
.word ScrCmd_466 ; 466
.word ScrCmd_MoveRelearnerInit ; 467
.word ScrCmd_MoveTutorInit ; 468
.word ScrCmd_MoveRelearnerGetResult ; 469
.word ScrCmd_LoadNPCTrade ; 470
.word ScrCmd_GetOfferedSpecies ; 471
.word ScrCmd_NPCTradeGetReqSpecies ; 472
.word ScrCmd_NPCTradeExec ; 473
.word ScrCmd_NPCTradeEnd ; 474
.word ScrCmd_475 ; 475
.word ScrCmd_476 ; 476
.word ScrCmd_NatDexFlagAction ; 477
.word ScrCmd_MonGetRibbonCount ; 478
.word ScrCmd_GetPartyRibbonCount ; 479
.word ScrCmd_MonHasRibbon ; 480
.word ScrCmd_GiveRibbon ; 481
.word ScrCmd_BufferRibbonName ; 482
.word ScrCmd_GetEVTotal ; 483
.word ScrCmd_GetWeekday ; 484
.word ScrCmd_485 ; 485
.word ScrCmd_Dummy ; 486
.word ScrCmd_PokeCenAnim ; 487
.word ScrCmd_ElevatorAnim ; 488
.word ScrCmd_MysteryGift ; 489
.word ScrCmd_NopVar490 ; 490
.word ScrCmd_491 ; 491
.word ScrCmd_492 ; 492
.word ScrCmd_PromptEasyChat ; 493
.word ScrCmd_494 ; 494
.word ScrCmd_GetGameVersion ; 495
.word ScrCmd_GetPartyLead ; 496
.word ScrCmd_GetMonTypes ; 497
.word ScrCmd_PrimoPasswordCheck1 ; 498
.word ScrCmd_PrimoPasswordCheck2 ; 499
.word ScrCmd_500 ; 500
.word ScrCmd_501 ; 501
.word ScrCmd_502 ; 502
.word ScrCmd_LotoIdGet ; 503
.word ScrCmd_LotoIdSearch ; 504
.word ScrCmd_LotoIdSet ; 505
.word ScrCmd_BufferBoxMonNick ; 506
.word ScrCmd_CountPCEmptySpace ; 507
.word ScrCmd_508 ; 508
.word ScrCmd_509 ; 509
.word ScrCmd_510 ; 510
.word ScrCmd_511 ; 511
.word ScrCmd_PlayerMovementSavingSet ; 512
.word ScrCmd_PlayerMovementSavingClear ; 513
.word ScrCmd_HallOfFameAnim ; 514
.word ScrCmd_AddSpecialGameStat ; 515
.word ScrCmd_BufferFashionName ; 516
.word ScrCmd_517 ; 517
.word ScrCmd_518 ; 518
.word ScrCmd_519 ; 519
.word ScrCmd_520 ; 520
.word ScrCmd_521 ; 521
.word ScrCmd_522 ; 522
.word ScrCmd_523 ; 523
.word ScrCmd_524 ; 524
.word ScrCmd_525 ; 525
.word ScrCmd_526 ; 526
.word ScrCmd_527 ; 527
.word ScrCmd_528 ; 528
.word ScrCmd_GetPartyLeadAlive ; 529
.word ScrCmd_530 ; 530
.word ScrCmd_BufferBackgroundName ; 531
.word ScrCmd_CheckCoinsImmediate ; 532
.word ScrCmd_CheckGiveCoins ; 533
.word ScrCmd_534 ; 534
.word ScrCmd_MonGetLevel ; 535
.word ScrCmd_536 ; 536
.word ScrCmd_537 ; 537
.word ScrCmd_538 ; 538
.word ScrCmd_539 ; 539
.word ScrCmd_540 ; 540
.word ScrCmd_BufferIntEx ; 541
.word ScrCmd_MonGetContestValue ; 542
.word ScrCmd_543 ; 543
.word ScrCmd_544 ; 544
.word ScrCmd_545 ; 545
.word ScrCmd_546 ; 546
.word ScrCmd_547 ; 547
.word ScrCmd_548 ; 548
.word ScrCmd_549 ; 549
.word ScrCmd_550 ; 550
.word ScrCmd_551 ; 551
.word ScrCmd_552 ; 552
.word ScrCmd_553 ; 553
.word ScrCmd_554 ; 554
.word ScrCmd_555 ; 555
.word ScrCmd_556 ; 556
.word ScrCmd_CheckBattlePoints ; 557
.word ScrCmd_558 ; 558
.word ScrCmd_559 ; 559
.word ScrCmd_560 ; 560
.word ScrCmd_561 ; 561
.word ScrCmd_MultiBattle ; 562
.word ScrCmd_563 ; 563
.word ScrCmd_564 ; 564
.word ScrCmd_565 ; 565
.word ScrCmd_566 ; 566
.word ScrCmd_GetDPPlPrizeItemIdAndCost ; 567
.word ScrCmd_568 ; 568
.word ScrCmd_569 ; 569
.word ScrCmd_CheckCoinsVar ; 570
.word ScrCmd_571 ; 571
.word ScrCmd_572 ; 572
.word ScrCmd_573 ; 573
.word ScrCmd_574 ; 574
.word ScrCmd_575 ; 575
.word ScrCmd_576 ; 576
.word ScrCmd_577 ; 577
.word ScrCmd_578 ; 578
.word ScrCmd_579 ; 579
.word ScrCmd_BufferSealName ; 580
.word ScrCmd_LockLastTalked ; 581
.word ScrCmd_582 ; 582
.word ScrCmd_583 ; 583
.word ScrCmd_PartyLegalCheck ; 584
.word ScrCmd_585 ; 585
.word ScrCmd_586 ; 586
.word ScrCmd_587 ; 587
.word ScrCmd_588 ; 588
.word ScrCmd_WildBattle ; 589
.word ScrCmd_GetTrcardStars ; 590
.word ScrCmd_591 ; 591
.word ScrCmd_592 ; 592
.word ScrCmd_ShowSaveStats ; 593
.word ScrCmd_HideSaveStats ; 594
.word ScrCmd_595 ; 595
.word ScrCmd_596 ; 596
.word ScrCmd_597 ; 597
.word ScrCmd_598 ; 598
.word ScrCmd_599 ; 599
.word ScrCmd_600 ; 600
.word ScrCmd_FollowPokeFacePlayer ; 601
.word ScrCmd_602 ; 602
.word ScrCmd_603 ; 603
.word ScrCmd_604 ; 604
.word ScrCmd_605 ; 605
.word ScrCmd_606 ; 606
.word ScrCmd_607 ; 607
.word ScrCmd_608 ; 608
.word ScrCmd_609 ; 609
.word ScrCmd_610 ; 610
.word ScrCmd_Pokeathlon ; 611
.word ScrCmd_GetNpcTradeUnusedFlag ; 612
.word ScrCmd_GetPhoneContactRandomGiftBerry ; 613
.word ScrCmd_GetPhoneContactGiftItem ; 614
.word ScrCmd_CameronPhoto ; 615
.word ScrCmd_616 ; 616
.word ScrCmd_617 ; 617
.word ScrCmd_PhotoAlbumIsFull ; 618
.word ScrCmd_RocketCostumeFlagCheck ; 619
.word ScrCmd_RocketCostumeFlagAction ; 620
.word ScrCmd_621 ; 621
.word ScrCmd_622 ; 622
.word ScrCmd_AnimApricornTree ; 623
.word ScrCmd_ApricornTreeGetApricorn ; 624
.word ScrCmd_GiveApricornFromTree ; 625
.word ScrCmd_BufferApricornName ; 626
.word ScrCmd_627 ; 627
.word ScrCmd_628 ; 628
.word ScrCmd_629 ; 629
.word ScrCmd_630 ; 630
.word ScrCmd_631 ; 631
.word ScrCmd_CountPartyMonsOfSpecies ; 632
.word ScrCmd_633 ; 633
.word ScrCmd_634 ; 634
.word ScrCmd_635 ; 635
.word ScrCmd_636 ; 636
.word ScrCmd_637 ; 637
.word ScrCmd_638 ; 638
.word ScrCmd_639 ; 639
.word ScrCmd_640 ; 640
.word ScrCmd_SaveWipeExtraChunks ; 641
.word ScrCmd_642 ; 642
.word ScrCmd_643 ; 643
.word ScrCmd_644 ; 644
.word ScrCmd_645 ; 645
.word ScrCmd_646 ; 646
.word ScrCmd_GetPartySlotWithSpecies ; 647
.word ScrCmd_648 ; 648
.word ScrCmd_ScratchOffCard ; 649
.word ScrCmd_ScratchOffCardEnd ; 650
.word ScrCmd_GetScratchOffPrize ; 651
.word ScrCmd_652 ; 652
.word ScrCmd_MoveTutorChooseMove ; 653
.word ScrCmd_TutorMoveTeachInSlot ; 654
.word ScrCmd_TutorMoveGetPrice ; 655
.word ScrCmd_656 ; 656
.word ScrCmd_StatJudge ; 657
.word ScrCmd_BufferStatName ; 658
.word ScrCmd_SetMonForme ; 659
.word ScrCmd_BufferTrainerName ; 660
.word ScrCmd_661 ; 661
.word ScrCmd_662 ; 662
.word ScrCmd_663 ; 663
.word ScrCmd_664 ; 664
.word ScrCmd_665 ; 665
.word ScrCmd_666 ; 666
.word ScrCmd_667 ; 667
.word ScrCmd_BufferTypeName ; 668
.word ScrCmd_GetItemQuantity ; 669
.word ScrCmd_GetHiddenPowerType ; 670
.word ScrCmd_671 ; 671
.word ScrCmd_672 ; 672
.word ScrCmd_GetOwnedRotomFormes ; 673
.word ScrCmd_CountTranformedRotomsInParty ; 674
.word ScrCmd_UpdateRotomForme ; 675
.word ScrCmd_GetPartyMonForme ; 676
.word ScrCmd_677 ; 677
.word ScrCmd_678 ; 678
.word ScrCmd_679 ; 679
.word ScrCmd_AddSpecialGameStat2 ; 680
.word ScrCmd_681 ; 681
.word ScrCmd_682 ; 682
.word ScrCmd_683 ; 683
.word ScrCmd_684 ; 684
.word ScrCmd_GetPlayerXYZ ; 685
.word ScrCmd_686 ; 686
.word ScrCmd_687 ; 687
.word ScrCmd_GetPartySlotWithFatefulEncounter ; 688
.word ScrCmd_CommSanitizeParty ; 689
.word ScrCmd_DayCareSanitizeMon ; 690
.word ScrCmd_691 ; 691
.word ScrCmd_BufferBattleHallStreak ; 692
.word ScrCmd_BattleHallCountUsedSpecies ; 693
.word ScrCmd_BattleHallGetTotalStreak ; 694
.word ScrCmd_695 ; 695
.word ScrCmd_696 ; 696
.word ScrCmd_697 ; 697
.word ScrCmd_FollowerPokeIsEventTrigger ; 698
.word ScrCmd_699 ; 699
.word ScrCmd_700 ; 700
.word ScrCmd_MonHasItem ; 701
.word ScrCmd_702 ; 702
.word ScrCmd_703 ; 703
.word ScrCmd_704 ; 704
.word ScrCmd_705 ; 705
.word ScrCmd_706 ; 706
.word ScrCmd_707 ; 707
.word ScrCmd_708 ; 708
.word ScrCmd_709 ; 709
.word ScrCmd_710 ; 710
.word ScrCmd_FollowPokeInteract ; 711
.word ScrCmd_712 ; 712
.word ScrCmd_AlphPuzzle ; 713
.word ScrCmd_714 ; 714
.word ScrCmd_UpdateDayCareMonObjects ; 715
.word ScrCmd_716 ; 716
.word ScrCmd_717 ; 717
.word ScrCmd_718 ; 718
.word ScrCmd_719 ; 719
.word ScrCmd_720 ; 720
.word ScrCmd_721 ; 721
.word ScrCmd_722 ; 722
.word ScrCmd_723 ; 723
.word ScrCmd_724 ; 724
.word ScrCmd_725 ; 725
.word ScrCmd_726 ; 726
.word ScrCmd_727 ; 727
.word ScrCmd_728 ; 728
.word ScrCmd_729 ; 729
.word ScrCmd_730 ; 730
.word ScrCmd_731 ; 731
.word ScrCmd_732 ; 732
.word ScrCmd_733 ; 733
.word ScrCmd_734 ; 734
.word ScrCmd_735 ; 735
.word ScrCmd_736 ; 736
.word ScrCmd_737 ; 737
.word ScrCmd_738 ; 738
.word ScrCmd_739 ; 739
.word ScrCmd_740 ; 740
.word ScrCmd_741 ; 741
.word ScrCmd_742 ; 742
.word ScrCmd_743 ; 743
.word ScrCmd_744 ; 744
.word ScrCmd_BufferPokeathlonCourseName ; 745
.word ScrCmd_TouchscreenMenuHide ; 746
.word ScrCmd_TouchscreenMenuShow ; 747
.word ScrCmd_GetMenuChoice ; 748
.word ScrCmd_MenuInitStdGmm ; 749
.word ScrCmd_MenuInit ; 750
.word ScrCmd_MenuItemAdd ; 751
.word ScrCmd_MenuExec ; 752
.word ScrCmd_753 ; 753
.word ScrCmd_754 ; 754
.word ScrCmd_755 ; 755
.word ScrCmd_756 ; 756
.word ScrCmd_757 ; 757
.word ScrCmd_758 ; 758
.word ScrCmd_759 ; 759
.word ScrCmd_760 ; 760
.word ScrCmd_761 ; 761
.word ScrCmd_762 ; 762
.word ScrCmd_763 ; 763
.word ScrCmd_764 ; 764
.word ScrCmd_765 ; 765
.word ScrCmd_766 ; 766
.word ScrCmd_767 ; 767
.word ScrCmd_768 ; 768
.word ScrCmd_769 ; 769
.word ScrCmd_770 ; 770
.word ScrCmd_771 ; 771
.word ScrCmd_772 ; 772
.word ScrCmd_Cinematic ; 773
.word ScrCmd_774 ; 774
.word ScrCmd_775 ; 775
.word ScrCmd_GiveTogepiEgg ; 776
.word ScrCmd_777 ; 777
.word ScrCmd_GiveSpikyEarPichu ; 778
.word ScrCmd_RadioMusicIsPlaying ; 779
.word ScrCmd_CasinoGame ; 780
.word ScrCmd_KenyaCheckPartyOrMailbox ; 781
.word ScrCmd_MartSell ; 782
.word ScrCmd_SetFollowPokeInhibitState ; 783
.word ScrCmd_ScriptOverlayCmd ; 784
.word ScrCmd_BugContestAction ; 785
.word ScrCmd_BufferBugContestWinner ; 786
.word ScrCmd_JudgeBugContest ; 787
.word ScrCmd_BufferBugContestMonNick ; 788
.word ScrCmd_BugContestGetTimeLeft ; 789
.word ScrCmd_IsBugContestantRegistered ; 790
.word ScrCmd_791 ; 791
.word ScrCmd_792 ; 792
.word ScrCmd_BankTransaction ; 793
.word ScrCmd_CheckBankBalance ; 794
.word ScrCmd_795 ; 795
.word ScrCmd_796 ; 796
.word ScrCmd_797 ; 797
.word ScrCmd_BufferRulesetName ; 798
.word ScrCmd_799 ; 799
.word ScrCmd_800 ; 800
.word ScrCmd_801 ; 801
.word ScrCmd_802 ; 802
.word ScrCmd_803 ; 803
.word ScrCmd_804 ; 804
.word ScrCmd_805 ; 805
.word ScrCmd_806 ; 806
.word ScrCmd_807 ; 807
.word ScrCmd_808 ; 808
.word ScrCmd_809 ; 809
.word ScrCmd_810 ; 810
.word ScrCmd_811 ; 811
.word ScrCmd_812 ; 812
.word ScrCmd_MomGiftCheck ; 813
.word ScrCmd_814 ; 814
.word ScrCmd_815 ; 815
.word ScrCmd_UnownCircle ; 816
.word ScrCmd_817 ; 817
.word ScrCmd_MystriStageGymmickInit ; 818
.word ScrCmd_819 ; 819
.word ScrCmd_820 ; 820
.word ScrCmd_GetBuenasPassword ; 821
.word ScrCmd_822 ; 822
.word ScrCmd_823 ; 823
.word ScrCmd_824 ; 824
.word ScrCmd_825 ; 825
.word ScrCmd_826 ; 826
.word ScrCmd_GetPartymonForme ; 827
.word ScrCmd_MonAddContestValue ; 828
.word ScrCmd_829 ; 829
.word ScrCmd_830 ; 830
.word ScrCmd_831 ; 831
.word ScrCmd_832 ; 832
.word ScrCmd_833 ; 833
.word ScrCmd_834 ; 834
.word ScrCmd_835 ; 835
.word ScrCmd_836 ; 836
.word ScrCmd_837 ; 837
.word ScrCmd_BankOrWalletIsFull ; 838
.word ScrCmd_839 ; 839
.word ScrCmd_840 ; 840
.word ScrCmd_841 ; 841
.word ScrCmd_842 ; 842
.word ScrCmd_BufferItemNameIndef ; 843
.word ScrCmd_BufferItemNamePlural ; 844
.word ScrCmd_BufferPartyMonSpeciesNameIndef ; 845
.word ScrCmd_BufferSpeciesNameIndef ; 846
.word ScrCmd_BufferDPPtFriendStarterSpeciesNameIndef ; 847
.word ScrCmd_BufferFashionNameIndef ; 848
.word ScrCmd_BufferTrainerClassNameIndef ; 849
.word ScrCmd_BufferSealNamePlural ; 850
.word ScrCmd_Capitalize ; 851
.word ScrCmd_BufferDeptStoreFloorNo ; 852
gScriptCmdTable_end:
.bss
.global _021D415C
_021D415C:
.space 0x1
.balign 4, 0
_021D4160:
.space 0x4
_021D4164:
.space 0x4
_021D4168:
.space 0x4
.text
.public sub_02041770
thumb_func_start ScrCmd_520
ScrCmd_520: ; 0x02045A60
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
bl SetFlag975
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_520
thumb_func_start ScrCmd_521
ScrCmd_521: ; 0x02045A74
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
bl ClearFlag975
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_521
thumb_func_start ScrCmd_522
ScrCmd_522: ; 0x02045A88
push {r3, r4, r5, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl Field_GetHour
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_522
thumb_func_start ScrCmd_523
ScrCmd_523: ; 0x02045AAC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
str r0, [sp, #0xc]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
str r0, [sp, #8]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r7, #0
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
add r7, r0, #0
bne _02045B2A
bl GF_AssertFail
_02045B2A:
str r6, [sp]
str r4, [sp, #4]
ldr r0, [r5, #0x74]
ldr r2, [sp, #0xc]
ldr r3, [sp, #8]
add r1, r7, #0
bl sub_0205BED8
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_523
thumb_func_start ScrCmd_524
ScrCmd_524: ; 0x02045B40
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r5, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r1, r5, #0
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
add r5, r0, #0
bne _02045B94
bl GF_AssertFail
_02045B94:
ldr r0, [r4, #0x74]
add r1, r5, #0
add r2, r7, #0
add r3, r6, #0
bl sub_0205BFB4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_524
thumb_func_start ScrCmd_525
ScrCmd_525: ; 0x02045BA4
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Save_PlayerHasRegiInParty
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_525
thumb_func_start ScrCmd_526
ScrCmd_526: ; 0x02045BCC
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
str r0, [sp]
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl Save_DressupData_get
bl SaveDressupData_GetFashionCase
mov r6, #0
add r7, r0, #0
add r4, r6, #0
add r5, sp, #4
_02045BFA:
add r1, r4, #0
add r0, r7, #0
add r1, #0x22
mov r2, #1
bl sub_0202BA2C
cmp r0, #1
bne _02045C10
mov r0, #1
strh r0, [r5]
add r6, r6, #1
_02045C10:
add r4, r4, #1
add r5, r5, #2
cmp r4, #0x10
blt _02045BFA
cmp r6, #0
bne _02045C28
ldr r0, [sp]
ldr r1, _02045C60 ; =0x0000FFFF
add sp, #0x24
strh r1, [r0]
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02045C28:
bl LCRandom
add r1, r6, #0
bl _s32_div_f
mov r4, #0
add r2, sp, #4
_02045C36:
ldrh r0, [r2]
cmp r0, #1
bne _02045C42
cmp r1, #0
beq _02045C4A
sub r1, r1, #1
_02045C42:
add r4, r4, #1
add r2, r2, #2
cmp r4, #0x10
blt _02045C36
_02045C4A:
cmp r4, #0x10
blt _02045C52
bl GF_AssertFail
_02045C52:
ldr r0, [sp]
add r4, #0x22
strh r4, [r0]
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_02045C60: .word 0x0000FFFF
thumb_func_end ScrCmd_526
thumb_func_start ScrCmd_528
ScrCmd_528: ; 0x02045C64
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
ldr r1, _02045C80 ; =gSystem + 0x60
ldrb r1, [r1, #0xa]
strh r1, [r0]
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02045C80: .word gSystem + 0x60
thumb_func_end ScrCmd_528
thumb_func_start ScrCmd_530
ScrCmd_530: ; 0x02045C84
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r5, #0x80
ldr r0, [r5]
ldrb r4, [r1]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
cmp r4, #0
beq _02045CB8
add r1, r6, #0
bl sub_02066C1C
b _02045CBE
_02045CB8:
add r1, r6, #0
bl sub_02066C4C
_02045CBE:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_530
thumb_func_start ScrCmd_BufferBackgroundName
ScrCmd_BufferBackgroundName: ; 0x02045CC4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl VarGet
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferContestBackgroundName
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_BufferBackgroundName
thumb_func_start ScrCmd_534
ScrCmd_534: ; 0x02045CFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
bl ScriptState_GetVar4041
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_534
thumb_func_start ScrCmd_536
ScrCmd_536: ; 0x02045D28
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Save_DressupData_get
bl SaveDressupData_GetFashionCase
add r1, r4, #0
add r2, r6, #0
bl sub_0202BB7C
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_536
thumb_func_start ScrCmd_537
ScrCmd_537: ; 0x02045D6C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02066D60
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_537
thumb_func_start ScrCmd_538
ScrCmd_538: ; 0x02045D7C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_EasyChat_get
bl SaveEasyChat_RandomTrendySayingSet
cmp r0, #0x20
bne _02045DCE
ldr r0, _02045DE4 ; =0x0000FFFF
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02045DCE:
strh r0, [r4]
bl TrendyWordIdxToECWord
add r2, r0, #0
ldr r0, [r6]
add r1, r7, #0
bl BufferECWord
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02045DE4: .word 0x0000FFFF
thumb_func_end ScrCmd_538
thumb_func_start ScrCmd_540
ScrCmd_540: ; 0x02045DE8
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_EasyChat_get
bl SaveEasyChat_TrendySayingsUnlockedAllCheck
cmp r0, #1
bne _02045E14
mov r0, #1
b _02045E16
_02045E14:
mov r0, #0
_02045E16:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_540
thumb_func_start ScrCmd_539
ScrCmd_539: ; 0x02045E1C
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
add r5, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl ScriptState_GetVar4042
cmp r0, #5
blo _02045E4C
mov r0, #1
b _02045E4E
_02045E4C:
mov r0, #0
_02045E4E:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_539
thumb_func_start ScrCmd_543
ScrCmd_543: ; 0x02045E54
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
ldr r6, [r4]
add r5, r0, #0
ldr r0, [r6, #0xc]
bl Sav2_SysInfo_get
add r7, r0, #0
bl Sav2_SysInfo_GetBirthMonth
add r4, r0, #0
add r0, r6, #0
bl Field_GetMonth
cmp r4, r0
bne _02045E9E
add r0, r7, #0
bl Sav2_SysInfo_GetBirthDay
add r4, r0, #0
add r0, r6, #0
bl Field_GetDay
cmp r4, r0
bne _02045E9E
mov r0, #1
strh r0, [r5]
b _02045EA2
_02045E9E:
mov r0, #0
strh r0, [r5]
_02045EA2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_543
thumb_func_start ScrCmd_545
ScrCmd_545: ; 0x02045EA8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_Pokedex_get
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
add r0, r4, #0
mov r1, #1
bl Pokedex_GetSeenFormeNum_Unown
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_545
thumb_func_start ScrCmd_546
ScrCmd_546: ; 0x02045ED8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
add r5, r0, #0
cmp r4, #1
bls _02045F0A
bl GF_AssertFail
_02045F0A:
add r0, r5, #0
add r1, r4, #0
bl sub_02066BC0
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_546
thumb_func_start ScrCmd_550
ScrCmd_550: ; 0x02045F18
push {r3, r4, r5, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #0
bl LoadHallOfFame
ldr r1, [sp]
add r4, r0, #0
cmp r1, #0
bne _02045F50
mov r1, #0
strh r1, [r5]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F50:
cmp r1, #1
bne _02045F66
mov r1, #0
bl Sav2_HOF_TranslateRecordIdx
strh r0, [r5]
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F66:
cmp r1, #2
bne _02045F76
mov r1, #0
strh r1, [r5]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F76:
mov r0, #0
strh r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_550
thumb_func_start ScrCmd_551
ScrCmd_551: ; 0x02045F80
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r1, r5, #0
add r1, #0x80
add r4, r0, #0
ldr r1, [r1]
mov r0, #0x20
add r2, r6, #0
bl sub_0203E5D0
str r0, [r4]
ldr r1, _02045FC0 ; =ScrNative_WaitApplication
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02045FC0: .word ScrNative_WaitApplication
thumb_func_end ScrCmd_551
thumb_func_start ScrCmd_552
ScrCmd_552: ; 0x02045FC4
push {r4, r5, r6, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _02046004
bl GF_AssertFail
_02046004:
ldr r0, [r4]
bl sub_0203E5C8
strh r0, [r6]
ldrh r0, [r6]
cmp r0, #7
bne _02046016
mov r0, #0xff
strh r0, [r6]
_02046016:
ldr r0, [r4]
bl sub_0203E5F8
strh r0, [r5]
ldrh r0, [r5]
cmp r0, #1
bne _02046028
mov r0, #1
b _0204602A
_02046028:
mov r0, #0
_0204602A:
strh r0, [r5]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_552
thumb_func_start ScrCmd_553
ScrCmd_553: ; 0x02046038
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
cmp r4, #0x64
bls _0204605A
mov r4, #0x64
_0204605A:
bl LCRandom
mov r1, #0x65
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
cmp r0, r4
bgt _02046070
mov r0, #1
b _02046072
_02046070:
mov r0, #0
_02046072:
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_553
thumb_func_start ScrCmd_560
ScrCmd_560: ; 0x02046078
push {r3, r4, r5, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r5, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
cmp r5, #5
bhi _020460FE
add r2, r5, r5
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_020460B6: ; jump table
.short _020460C2 - _020460B6 - 2 ; case 0
.short _020460CC - _020460B6 - 2 ; case 1
.short _020460D6 - _020460B6 - 2 ; case 2
.short _020460E0 - _020460B6 - 2 ; case 3
.short _020460EA - _020460B6 - 2 ; case 4
.short _020460F4 - _020460B6 - 2 ; case 5
_020460C2:
mov r2, #0
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460CC:
mov r2, #1
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460D6:
mov r2, #2
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460E0:
mov r2, #3
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460EA:
mov r2, #4
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460F4:
mov r2, #5
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460FE:
bl GF_AssertFail
_02046102:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_560
thumb_func_start ScrCmd_564
ScrCmd_564: ; 0x02046108
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203A05C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_564
thumb_func_start ScrCmd_565
ScrCmd_565: ; 0x02046130
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C6F4
bl sub_0202C2F8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_565
thumb_func_start ScrCmd_568
ScrCmd_568: ; 0x0204615C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
mov r1, #0
strh r1, [r0]
ldr r1, _0204619C ; =0x0000012A
cmp r4, r1
blo _02046196
add r1, #0xf
cmp r4, r1
bhi _02046196
mov r1, #1
strh r1, [r0]
_02046196:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0204619C: .word 0x0000012A
thumb_func_end ScrCmd_568
thumb_func_start ScrCmd_571
ScrCmd_571: ; 0x020461A0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
str r0, [sp, #4]
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
str r0, [sp, #8]
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
str r0, [sp, #0xc]
add r0, r4, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl VarGet
add r7, r0, #0
mov r0, #0x20
bl ScrStrBufs_new
add r4, r0, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0xca
mov r3, #0x20
bl NewMsgDataFromNarc
add r5, r0, #0
ldr r2, [sp, #4]
add r0, r4, #0
mov r1, #0
bl BufferECWord
ldr r2, [sp, #8]
add r0, r4, #0
mov r1, #1
bl BufferECWord
ldr r2, [sp, #0xc]
add r0, r4, #0
mov r1, #2
bl BufferECWord
add r0, r4, #0
mov r1, #3
add r2, r7, #0
bl BufferECWord
add r0, r4, #0
add r1, r5, #0
mov r2, #1
mov r3, #0x20
bl ReadMsgData_ExpandPlaceholders
add r7, r0, #0
add r0, r5, #0
mov r1, #0
bl NewString_ReadMsgData
str r0, [sp]
ldr r1, [sp]
add r0, r7, #0
bl StringCompare
cmp r0, #0
bne _0204626C
mov r0, #1
b _0204626E
_0204626C:
mov r0, #0
_0204626E:
strh r0, [r6]
add r0, r7, #0
bl String_dtor
ldr r0, [sp]
bl String_dtor
add r0, r5, #0
bl DestroyMsgData
add r0, r4, #0
bl ScrStrBufs_delete
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_571
thumb_func_start ScrCmd_573
ScrCmd_573: ; 0x02046290
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_get
mov r1, #1
bl Sav2_SysInfo_SetField48
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_573
thumb_func_start ScrCmd_576
ScrCmd_576: ; 0x020462A8
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
add r0, r4, #0
mov r1, #0x10
bl FieldSysGetAttrAddr
ldr r0, [r0]
bl sub_0205A6AC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_576
thumb_func_start ScrCmd_577
ScrCmd_577: ; 0x020462D8
push {r3, lr}
bl sub_0203A880
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_577
thumb_func_start ScrCmd_578
ScrCmd_578: ; 0x020462E4
push {r3, lr}
bl sub_0203A914
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_578
thumb_func_start ScrCmd_579
ScrCmd_579: ; 0x020462F0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl Fsys_SyncMapObjectsToSave
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_579
thumb_func_start ScrCmd_582
ScrCmd_582: ; 0x02046300
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Save_FlyPoints_get
bl FlyPoints_GetSpecialSpawnWarpPtr
str r4, [r0]
str r6, [r0, #8]
mov r1, #0
str r7, [r0, #0xc]
mvn r1, r1
str r1, [r0, #4]
mov r1, #1
str r1, [r0, #0x10]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_582
thumb_func_start ScrCmd_583
ScrCmd_583: ; 0x02046360
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
ldr r2, [r5, #8]
add r1, r0, #0
add r0, r2, #1
str r0, [r5, #8]
add r5, #0x80
ldr r0, [r5]
ldrb r4, [r2]
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
add r5, r0, #0
bne _02046390
bl GF_AssertFail
_02046390:
add r0, r5, #0
add r1, r4, #0
bl sub_0205F6AC
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_583
thumb_func_start ScrCmd_GetTrcardStars
ScrCmd_GetTrcardStars: ; 0x0204639C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
add r0, r4, #0
bl sub_020691E8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_GetTrcardStars
thumb_func_start ScrCmd_ShowSaveStats
ScrCmd_ShowSaveStats: ; 0x020463C4
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x29
add r0, r5, #0
bl FieldSysGetAttrAddr
add r4, r0, #0
ldr r0, [r5, #0xc]
bl Save_FileDoesNotBelongToPlayer
cmp r0, #0
bne _020463EE
add r0, r5, #0
mov r1, #4
mov r2, #3
bl Field_CreateSaveStatsPrinter
str r0, [r4]
bl SaveStatsPrinter_Print
_020463EE:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_ShowSaveStats
thumb_func_start ScrCmd_HideSaveStats
ScrCmd_HideSaveStats: ; 0x020463F4
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x29
add r0, r5, #0
bl FieldSysGetAttrAddr
add r4, r0, #0
ldr r0, [r5, #0xc]
bl Save_FileDoesNotBelongToPlayer
cmp r0, #0
bne _0204641A
ldr r0, [r4]
bl SaveStatsPrinter_RemoveFromScreen
ldr r0, [r4]
bl SaveStatsPrinter_Delete
_0204641A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_HideSaveStats
thumb_func_start ScrCmd_595
ScrCmd_595: ; 0x02046420
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl sub_02067A80
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_595
thumb_func_start ScrCmd_627
ScrCmd_627: ; 0x02046438
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r6, [r1]
mov r0, #0xb
mov r1, #0x28
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x28
add r4, r0, #0
bl MI_CpuFill8
add r0, r6, #0
add r0, #0xfb
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r4, [r7]
cmp r0, #1
bhi _0204647C
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
ldr r0, [r0]
b _0204647E
_0204647C:
mov r0, #0
_0204647E:
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r4, #0
add r0, #0x20
strb r6, [r0]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, _020464D8 ; =_02108584
ldr r0, [r0, #0xc]
add r2, r4, #0
str r0, [r4, #8]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x20]
ldr r0, [r0]
str r0, [r4, #0x18]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x94
ldr r0, [r0]
str r0, [r4, #0xc]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xb0
ldr r0, [r0]
str r0, [r4, #0x1c]
ldr r0, [r5, #0x74]
bl CallApplicationAsTask
ldr r1, _020464DC ; =ScrNative_WaitApplication_DestroyTaskData
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020464D8: .word _02108584
_020464DC: .word ScrNative_WaitApplication_DestroyTaskData
thumb_func_end ScrCmd_627
thumb_func_start ScrCmd_631
ScrCmd_631: ; 0x020464E0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r3, r0, #0
mov r0, #0x20
str r0, [sp]
add r0, r5, #0
add r0, #0x80
lsl r1, r6, #0x18
lsl r2, r7, #0x18
ldr r0, [r0]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl sub_0203FAB4
str r0, [r4]
ldr r1, _02046550 ; =ScrNative_WaitApplication_DestroyTaskData
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02046550: .word ScrNative_WaitApplication_DestroyTaskData
thumb_func_end ScrCmd_631
thumb_func_start ScrCmd_ScratchOffCard
ScrCmd_ScratchOffCard: ; 0x02046554
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x20
bl ScratchOffCards_Create
str r0, [r4]
ldr r1, _02046580 ; =ScrNative_WaitApplication
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02046580: .word ScrNative_WaitApplication
thumb_func_end ScrCmd_ScratchOffCard
thumb_func_start ScrCmd_ScratchOffCardEnd
ScrCmd_ScratchOffCardEnd: ; 0x02046584
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end ScrCmd_ScratchOffCardEnd
thumb_func_start ScrCmd_GetScratchOffPrize
ScrCmd_GetScratchOffPrize: ; 0x020465A0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
mov r1, #0x14
bl FieldSysGetAttrAddr
ldr r1, [r0]
lsl r0, r4, #1
add r1, r1, r0
ldrh r0, [r1, #8]
strh r0, [r6]
ldrh r0, [r1, #0xe]
strh r0, [r7]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_GetScratchOffPrize
thumb_func_start ScrCmd_662
ScrCmd_662: ; 0x020465FC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _02046666
mov r0, #1
strh r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r7, #0
add r2, r6, #0
bl sub_0203FC14
ldr r1, _02046670 ; =ScrNative_WaitApplication
add r0, r5, #0
bl SetupNativeScript
b _0204666A
_02046666:
mov r0, #0
strh r0, [r4]
_0204666A:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02046670: .word ScrNative_WaitApplication
thumb_func_end ScrCmd_662
thumb_func_start ScrCmd_663
ScrCmd_663: ; 0x02046674
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _020466A2
ldrh r1, [r4]
ldr r0, [r5, #0x74]
bl sub_02056D00
_020466A2:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_663
thumb_func_start ScrCmd_667
ScrCmd_667: ; 0x020466A8
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
mov r1, #0
strh r1, [r0]
ldr r1, _020466DC ; =gSystem
ldr r2, [r1, #0x44]
mov r1, #1
tst r2, r1
beq _020466CA
strh r1, [r0]
_020466CA:
ldr r1, _020466DC ; =gSystem
ldr r2, [r1, #0x44]
mov r1, #2
tst r1, r2
beq _020466D8
mov r1, #1
strh r1, [r0]
_020466D8:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_020466DC: .word gSystem
thumb_func_end ScrCmd_667
thumb_func_start ScrCmd_GetOwnedRotomFormes
ScrCmd_GetOwnedRotomFormes: ; 0x020466E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
str r0, [sp, #4]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
ldr r0, [sp, #4]
mov r1, #0
strh r1, [r0]
strh r1, [r7]
strh r1, [r6]
strh r1, [r4]
ldr r0, [sp]
strh r1, [r5]
ldr r0, [r0, #0xc]
bl sub_020467A8
lsr r1, r0, #1
mov r2, #1
and r1, r2
cmp r1, #1
bne _02046772
ldr r1, [sp, #4]
strh r2, [r1]
_02046772:
lsr r2, r0, #2
mov r1, #1
and r2, r1
cmp r2, #1
bne _0204677E
strh r1, [r7]
_0204677E:
lsr r2, r0, #3
mov r1, #1
and r2, r1
cmp r2, #1
bne _0204678A
strh r1, [r6]
_0204678A:
lsr r2, r0, #4
mov r1, #1
and r2, r1
cmp r2, #1
bne _02046796
strh r1, [r4]
_02046796:
lsr r1, r0, #5
mov r0, #1
and r1, r0
cmp r1, #1
bne _020467A2
strh r0, [r5]
_020467A2:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_GetOwnedRotomFormes
thumb_func_start sub_020467A8
sub_020467A8: ; 0x020467A8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
mov r6, #0
bl SavArray_PlayerParty_get
str r0, [sp, #8]
bl GetPartyCount
add r7, r0, #0
add r4, r6, #0
cmp r7, #0
ble _020467FE
_020467C2:
ldr r0, [sp, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetMonData
ldr r1, _020468F0 ; =SPECIES_ROTOM
cmp r0, r1
bne _020467F8
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _020467F8
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_020467F8:
add r4, r4, #1
cmp r4, r7
blt _020467C2
_020467FE:
ldr r0, [sp]
bl Sav2_DayCare_get
add r7, r0, #0
mov r4, #0
_02046808:
add r0, r7, #0
add r1, r4, #0
bl Sav2_DayCare_GetMonX
bl DayCareMon_GetBoxMon
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =SPECIES_ROTOM
cmp r0, r1
bne _02046842
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _02046842
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_02046842:
add r4, r4, #1
cmp r4, #2
blt _02046808
ldr r0, [sp]
bl GetStoragePCPointer
str r0, [sp, #4]
mov r7, #0
_02046852:
mov r5, #0
_02046854:
ldr r0, [sp, #4]
add r1, r7, #0
add r2, r5, #0
bl PCStorage_GetMonByIndexPair
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =SPECIES_ROTOM
cmp r0, r1
bne _0204688C
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0204688C
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_0204688C:
add r5, r5, #1
cmp r5, #0x1e
blt _02046854
add r7, r7, #1
cmp r7, #0x12
blo _02046852
mov r0, #0x20
bl AllocMonZeroed
add r5, r0, #0
bl Mon_GetBoxMon
add r4, r0, #0
ldr r0, [sp]
bl Sav2_Pokewalker_get
add r1, r4, #0
bl sub_020326DC
cmp r0, #0
beq _020468E4
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =SPECIES_ROTOM
cmp r0, r1
bne _020468E4
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _020468E4
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_020468E4:
add r0, r5, #0
bl FreeToHeap
add r0, r6, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_020468F0: .word SPECIES_ROTOM
thumb_func_end sub_020467A8
thumb_func_start ScrCmd_AddSpecialGameStat2
ScrCmd_AddSpecialGameStat2: ; 0x020468F4
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_GameStats_get
add r1, r4, #0
bl GameStats_AddSpecial
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_AddSpecialGameStat2
thumb_func_start ScrCmd_682
ScrCmd_682: ; 0x02046914
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl VarGet
add r6, r0, #0
mov r0, #0xb
bl GF_ExpHeap_FndGetTotalFreeSize
add r4, r0, #0
mov r0, #4
bl GF_ExpHeap_FndGetTotalFreeSize
add r7, r0, #0
mov r0, #0x20
bl GF_ExpHeap_FndGetTotalFreeSize
add r5, r0, #0
cmp r6, #0
bne _0204694E
ldr r0, _0204696C ; =_021D415C
str r4, [r0, #8]
str r7, [r0, #4]
str r5, [r0, #0xc]
b _02046966
_0204694E:
ldr r0, _0204696C ; =_021D415C
ldr r0, [r0, #8]
cmp r4, r0
beq _0204695A
bl GF_AssertFail
_0204695A:
ldr r0, _0204696C ; =_021D415C
ldr r0, [r0, #0xc]
cmp r5, r0
beq _02046966
bl GF_AssertFail
_02046966:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0204696C: .word _021D415C
thumb_func_end ScrCmd_682
thumb_func_start ScrCmd_691
ScrCmd_691: ; 0x02046970
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
add r4, r0, #0
bl GF_RTC_DateTimeToSec
add r2, r5, #0
add r2, #0xb4
add r5, #0xb8
ldr r3, [r2]
ldr r2, [r5]
sub r3, r0, r3
sbc r1, r2
mov r2, #0
mov r0, #0x78
sub r0, r3, r0
sbc r1, r2
blt _020469AA
mov r0, #1
b _020469AC
_020469AA:
mov r0, #0
_020469AC:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_691
thumb_func_start ScrCmd_696
ScrCmd_696: ; 0x020469B4
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp]
add r1, r5, #0
bl Party_UpdateAllGiratina_DistortionWorld
ldr r0, [sp]
bl GetPartyCount
add r7, r0, #0
mov r5, #0
cmp r7, #0
ble _02046A18
_020469F0:
ldr r0, [sp]
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _02046A12
ldr r0, [r6, #0xc]
bl Sav2_Pokedex_get
add r1, r4, #0
bl Pokedex_SetMonCaughtFlag
_02046A12:
add r5, r5, #1
cmp r5, r7
blt _020469F0
_02046A18:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_696
thumb_func_start ScrCmd_FollowerPokeIsEventTrigger
ScrCmd_FollowerPokeIsEventTrigger: ; 0x02046A1C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
mov r0, #0
strh r0, [r6]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
add r7, r0, #0
cmp r4, #4
blo _02046A6E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046A6E:
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02046A88
add r0, r7, #0
mov r1, #3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _02046A8C
_02046A88:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046A8C:
add r0, r7, #0
mov r1, #7
mov r2, #0
bl GetMonData
add r5, #0x80
str r0, [sp]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerID
ldr r1, [sp]
cmp r1, r0
bne _02046AB0
mov r2, #1
b _02046AB2
_02046AB0:
mov r2, #0
_02046AB2:
add r0, r4, #0
add r1, r7, #0
bl sub_0208E9E0
cmp r0, #0
bne _02046AC2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046AC2:
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetMonData
cmp r4, #3
bhi _02046B12
add r1, r4, r4
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02046ADC: ; jump table
.short _02046AE4 - _02046ADC - 2 ; case 0
.short _02046AFE - _02046ADC - 2 ; case 1
.short _02046AFE - _02046ADC - 2 ; case 2
.short _02046B0A - _02046ADC - 2 ; case 3
_02046AE4:
cmp r0, #SPECIES_PICHU
beq _02046AEE
sub r0, #SPECIES_PIKACHU
cmp r0, #SPECIES_RAICHU - SPECIES_PIKACHU
bhi _02046B12
_02046AEE:
add r0, r7, #0
bl MonIsShiny
cmp r0, #0
beq _02046B12
mov r0, #1
strh r0, [r6]
b _02046B12
_02046AFE:
ldr r1, _02046B18 ; =SPECIES_ARCEUS
cmp r0, r1
bne _02046B12
mov r0, #1
strh r0, [r6]
b _02046B12
_02046B0A:
cmp r0, #SPECIES_CELEBI
bne _02046B12
mov r0, #1
strh r0, [r6]
_02046B12:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02046B18: .word SPECIES_ARCEUS
thumb_func_end ScrCmd_FollowerPokeIsEventTrigger
thumb_func_start ScrCmd_596
ScrCmd_596: ; 0x02046B1C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl GetVarPointer
add r5, r0, #0
ldr r0, [r4, #0x3c]
mov r1, #0xfd
bl GetMapObjectByID
bl ov01_022055DC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_596
thumb_func_start ScrCmd_597
ScrCmd_597: ; 0x02046B48
push {r4, lr}
add r0, #0x80
ldr r4, [r0]
mov r1, #0xfd
ldr r0, [r4, #0x3c]
bl GetMapObjectByID
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl ov01_02203AB4
mov r0, #1
pop {r4, pc}
thumb_func_end ScrCmd_597
thumb_func_start ScrCmd_598
ScrCmd_598: ; 0x02046B64
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl ScriptReadHalfword
cmp r0, #1
bne _02046B88
ldr r0, [r4, #0x40]
bl PlayerAvatar_GetMapObject
add r6, r0, #0
add r0, r4, #0
bl FollowingPokemon_GetMapObject
add r1, r0, #0
b _02046BA6
_02046B88:
cmp r0, #2
bne _02046B9E
add r0, r4, #0
bl FollowingPokemon_GetMapObject
add r6, r0, #0
ldr r0, [r4, #0x40]
bl PlayerAvatar_GetMapObject
add r1, r0, #0
b _02046BA6
_02046B9E:
bl GF_AssertFail
mov r0, #0
pop {r4, r5, r6, pc}
_02046BA6:
ldr r2, [r5, #0x74]
add r0, r6, #0
bl ov02_0224E0BC
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_598
thumb_func_start ScrCmd_599
ScrCmd_599: ; 0x02046BB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov01_02205AEC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_599
thumb_func_start ScrCmd_600
ScrCmd_600: ; 0x02046BC4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov01_02205D68
cmp r0, #0
beq _02046BD6
mov r0, #1
pop {r3, pc}
_02046BD6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_600
thumb_func_start ScrCmd_FollowPokeFacePlayer
ScrCmd_FollowPokeFacePlayer: ; 0x02046BDC
push {r4, r5, r6, r7, lr}
sub sp, #0x24
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046CAC
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_GetMapObject
bl ov01_022055DC
cmp r0, #0
beq _02046C9C
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl FieldSys_GetPlayerAvatar
bl PlayerAvatar_GetMapObject
str r0, [sp, #0xc]
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl FieldSys_GetPlayerAvatar
bl PlayerAvatar_GetFacingDirection
add r4, r0, #0
ldr r0, [sp, #0xc]
bl MapObject_GetCurrentX
add r6, r0, #0
add r0, r4, #0
bl GetDeltaXByFacingDirection
lsl r5, r0, #1
ldr r0, [sp, #0xc]
bl MapObject_GetCurrentHeight
str r0, [sp, #0x10]
ldr r0, [sp, #0xc]
bl MapObject_GetCurrentY
add r7, r0, #0
add r0, r4, #0
bl GetDeltaYByFacingDirection
lsl r4, r0, #1
ldr r0, [sp, #4]
add r1, r6, r5
add r0, #0x80
ldr r0, [r0]
add r2, r7, r4
bl GetMetatileBehaviorAt
str r0, [sp, #0x14]
ldr r0, [sp, #0xc]
add r1, sp, #0x18
bl MapObject_GetPositionVec
mov r0, #0
str r0, [sp]
ldr r0, [sp, #4]
add r1, sp, #0x18
add r0, #0x80
ldr r0, [r0]
add r2, r6, r5
add r3, r7, r4
bl sub_020549A8
cmp r0, #0
bne _02046C98
ldr r0, [sp, #0x14]
bl sub_0205B778
cmp r0, #0
bne _02046C98
ldr r0, [sp, #0xc]
ldr r2, [sp, #0x10]
add r1, r6, r5
add r3, r7, r4
bl sub_02060BFC
cmp r0, #0
beq _02046C9C
_02046C98:
mov r0, #0
str r0, [sp, #8]
_02046C9C:
ldr r0, [sp, #8]
cmp r0, #0
beq _02046CAC
ldr r0, [sp, #4]
bl ScrCmd_FacePlayer
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_02046CAC:
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_FollowPokeFacePlayer
thumb_func_start ScrCmd_602
ScrCmd_602: ; 0x02046CB4
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046CEA
cmp r4, #0
beq _02046CDE
add r5, #0x80
ldr r0, [r5]
bl FollowingPokemon_GetMapObject
bl MapObject_PauseMovement
b _02046CEA
_02046CDE:
add r5, #0x80
ldr r0, [r5]
bl FollowingPokemon_GetMapObject
bl MapObject_UnpauseMovement
_02046CEA:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_602
thumb_func_start ScrCmd_603
ScrCmd_603: ; 0x02046CF0
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046D08
ldr r1, _02046D0C ; =sub_02046D40
add r0, r4, #0
bl SetupNativeScript
_02046D08:
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02046D0C: .word sub_02046D40
thumb_func_end ScrCmd_603
thumb_func_start ScrCmd_604
ScrCmd_604: ; 0x02046D10
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046D3A
add r5, #0x80
ldr r0, [r5]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
add r1, r4, #0
bl sub_0205FC94
_02046D3A:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_604
thumb_func_start sub_02046D40
sub_02046D40: ; 0x02046D40
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_GetMapObject
bl MapObject_IsMovementPaused
cmp r0, #0
beq _02046D56
mov r0, #1
pop {r3, pc}
_02046D56:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046D40
thumb_func_start ScrCmd_605
ScrCmd_605: ; 0x02046D5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r6, [r0]
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldrb r4, [r1]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046DA2
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl PlayerAvatar_GetMapObject
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
add r1, r0, #0
add r0, r7, #0
add r2, r6, #0
add r3, r4, #0
bl ov01_02205720
_02046DA2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_605
thumb_func_start ScrCmd_606
ScrCmd_606: ; 0x02046DA8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046DF4
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_GetMapObject
add r4, r0, #0
bl FollowPokeObj_GetSpecies
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0x20]
ldr r1, [r1]
bl GetFollowPokePermissionBySpeciesAndMap
cmp r0, #0
beq _02046DF4
add r0, r4, #0
mov r1, #1
bl sub_02069E84
add r0, r4, #0
mov r1, #1
bl sub_02069DEC
add r5, #0x80
ldr r0, [r5]
mov r1, #1
bl ov01_02205790
_02046DF4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_606
thumb_func_start ScrCmd_607
ScrCmd_607: ; 0x02046DF8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046E32
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_GetMapObject
bl FollowPokeObj_GetSpecies
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0x20]
ldr r1, [r1]
bl GetFollowPokePermissionBySpeciesAndMap
cmp r0, #0
beq _02046E32
add r4, #0x80
ldr r0, [r4]
mov r1, #1
bl ov01_02205790
_02046E32:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_607
thumb_func_start ScrCmd_608
ScrCmd_608: ; 0x02046E38
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046E58
add r4, #0x80
ldr r0, [r4]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
bl ov01_02205784
_02046E58:
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_608
thumb_func_start ScrCmd_609
ScrCmd_609: ; 0x02046E5C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _02046E7C
add r4, #0x80
ldr r0, [r4]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
bl sub_020659CC
_02046E7C:
mov r0, #1
pop {r4, pc}
thumb_func_end ScrCmd_609
thumb_func_start ScrCmd_610
ScrCmd_610: ; 0x02046E80
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r4, #0x80
ldr r0, [r4]
lsl r1, r1, #0x18
ldr r0, [r0, #0x28]
lsr r1, r1, #0x18
bl ov01_021EACBC
mov r0, #1
pop {r4, pc}
thumb_func_end ScrCmd_610
thumb_func_start ScrCmd_Pokeathlon
ScrCmd_Pokeathlon: ; 0x02046E9C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r6, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
str r0, [sp, #0x10]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
str r0, [sp, #0x14]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
str r0, [sp, #0x18]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
ldr r1, [sp, #0x10]
lsl r3, r7, #0x18
str r1, [sp]
ldr r1, [sp, #0x14]
add r5, #0x80
str r1, [sp, #4]
ldr r1, [sp, #0x18]
add r2, r4, #0
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r5]
add r1, r6, #0
lsr r3, r3, #0x18
bl sub_02095DF4
mov r0, #1
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_Pokeathlon
thumb_func_start ScrCmd_GetFriendSprite
ScrCmd_GetFriendSprite: ; 0x02046F34
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl Fsys_GetSaveDataPtr
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
cmp r0, #0 ; MALE
beq _02046F62
mov r0, #SPRITE_HERO
b _02046F64
_02046F62:
mov r0, #SPRITE_HEROINE
_02046F64:
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_GetFriendSprite
thumb_func_start ScrCmd_RegisterPokegearCard
ScrCmd_RegisterPokegearCard: ; 0x02046F6C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetSaveDataPtr
bl SaveData_GSPlayerMisc_get
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
cmp r1, #0
beq _02046FA2
cmp r1, #1
beq _02046F92
cmp r1, #2
beq _02046F9A
b _02046FA2
_02046F92:
mov r1, #1
bl Pokegear_RegisterCard
b _02046FA8
_02046F9A:
mov r1, #2
bl Pokegear_RegisterCard
b _02046FA8
_02046FA2:
mov r1, #0
bl Pokegear_RegisterCard
_02046FA8:
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_RegisterPokegearCard
thumb_func_start ScrCmd_804
ScrCmd_804: ; 0x02046FAC
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SaveData_GSPlayerMisc_get
ldrb r1, [r4]
bl sub_0202EE58
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_804
thumb_func_start ScrCmd_RegisterGearNumber
ScrCmd_RegisterGearNumber: ; 0x02046FC8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetSaveDataPtr
bl SaveData_GSPlayerMisc_get
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl VarGet
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, #0x4b
bhs _02046FF8
add r0, r4, #0
bl RegisterPhoneNumberInPokeGear
_02046FF8:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_RegisterGearNumber
thumb_func_start ScrCmd_CheckRegisteredPhoneNumber
ScrCmd_CheckRegisteredPhoneNumber: ; 0x02046FFC
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetSaveDataPtr
bl SaveData_GSPlayerMisc_get
add r6, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r4, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
add r4, r0, #0
cmp r5, #0x4b
bhs _02047056
add r0, r6, #0
add r1, r5, #0
bl GSPlayerMisc_IsGearNumberRegistered
strh r0, [r4]
ldrh r0, [r4]
cmp r0, #0xff
bne _02047050
mov r0, #0
strh r0, [r4]
b _0204705A
_02047050:
mov r0, #1
strh r0, [r4]
b _0204705A
_02047056:
mov r0, #0
strh r0, [r4]
_0204705A:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_CheckRegisteredPhoneNumber
thumb_func_start ScrCmd_SetPhoneCall
ScrCmd_SetPhoneCall: ; 0x02047060
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetGearPhoneRingManager
bl sub_02092DF4
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r5, #0x80
add r1, r0, #0
add r1, #0xd2
ldrb r2, [r1]
mov r1, #0x80
add r0, #0xd2
orr r1, r2
strb r1, [r0]
ldr r0, [r5]
bl Fsys_GetGearPhoneRingManager
lsl r1, r6, #0x18
lsr r1, r1, #0x18
str r1, [sp]
lsl r1, r7, #0x18
lsr r1, r1, #0x18
str r1, [sp, #4]
lsl r1, r4, #0x18
lsr r1, r1, #0x18
mov r2, #0xff
mov r3, #0
bl ov02_02251EB8
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_SetPhoneCall
thumb_func_start ScrCmd_RunPhoneCall
ScrCmd_RunPhoneCall: ; 0x020470F4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl PhoneUI_new
str r0, [r4]
ldr r1, _0204711C ; =ScrNative_WaitApplication_DestroyTaskData
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0204711C: .word ScrNative_WaitApplication_DestroyTaskData
thumb_func_end ScrCmd_RunPhoneCall
thumb_func_start ScrCmd_LoadPhoneDat
ScrCmd_LoadPhoneDat: ; 0x02047120
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl Fsys_GetGearPhoneRingManager
bl sub_02092E10
add r1, r0, #0
add r0, r6, #0
mov r2, #0x20
bl LoadPhoneBookEntryI
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_LoadPhoneDat
thumb_func_start ScrCmd_GetPhoneContactMsgIds
ScrCmd_GetPhoneContactMsgIds: ; 0x02047168
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl FieldSysGetAttrAddr
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
str r0, [sp]
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl Fsys_GetGearPhoneRingManager
bl sub_02092E10
add r5, r0, #0
ldrb r0, [r5]
bl GetPhoneMessageGmm
ldr r1, [sp]
strh r0, [r1]
ldrb r0, [r5]
cmp r0, #0xff
bne _020471CE
mov r0, #0
strh r0, [r4]
mov r0, #1 ; error hang?
pop {r3, r4, r5, r6, r7, pc}
_020471CE:
cmp r6, #4
bls _020471D4
mov r6, #0
_020471D4:
ldrh r0, [r7]
bl ScriptNumToTrainerNum
add r1, r6, #1
lsl r1, r1, #0x10
lsr r5, r1, #0x10
mov r1, #0xb9
lsl r1, r1, #2
cmp r0, r1
blo _020471EC
strh r5, [r4]
b _02047208
_020471EC:
ldrh r0, [r7]
bl ScriptNumToTrainerNum
bl TrainerNumIsDouble
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _02047200
strh r5, [r4]
b _02047208
_02047200:
ldrh r0, [r7]
bl ScriptNoToDoublePartnerNo
strh r5, [r4]
_02047208:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_GetPhoneContactMsgIds
thumb_func_start ScrCmd_462
ScrCmd_462: ; 0x0204720C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_GetMomsSavingsAddr
lsl r1, r4, #0x18
lsr r1, r1, #0x18
mov r2, #0
bl PhoneRematches_SetSeeking
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_462
thumb_func_start ScrCmd_GetPhoneContactRandomGiftBerry
ScrCmd_GetPhoneContactRandomGiftBerry: ; 0x0204723C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl Fsys_GetGearPhoneRingManager
bl sub_02092E10
ldrh r0, [r0, #8]
cmp r0, #0x95
bne _02047274
bl LCRandom
mov r1, #0xa
bl _s32_div_f
add r1, #0x95
strh r1, [r4]
b _02047276
_02047274:
strh r0, [r4]
_02047276:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_GetPhoneContactRandomGiftBerry
thumb_func_start ScrCmd_GetPhoneContactGiftItem
ScrCmd_GetPhoneContactGiftItem: ; 0x0204727C
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetGearPhoneRingManager
bl sub_02092E10
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_GetMomsSavingsAddr
ldrb r1, [r4]
add r5, r0, #0
bl PhoneRematches_GiftItemIdGet
strh r0, [r6]
ldrb r1, [r4]
add r0, r5, #0
mov r2, #0
bl PhoneRematches_GiftItemIdSet
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_GetPhoneContactGiftItem
thumb_func_start ScrCmd_148
ScrCmd_148: ; 0x020472C4
push {r3, r4, r5, lr}
ldr r1, [r0, #8]
add r5, r1, #1
str r5, [r0, #8]
ldrb r4, [r1]
add r1, r5, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
bl Fsys_GetGearPhoneRingManager
ldrb r2, [r5]
add r1, r4, #0
bl sub_02092E14
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_148
thumb_func_start ScrCmd_149
ScrCmd_149: ; 0x020472E8
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SaveData_GetMomsSavingsAddr
ldrb r1, [r4]
bl sub_0202F050
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_149
thumb_func_start ScrCmd_CameronPhoto
ScrCmd_CameronPhoto: ; 0x02047304
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl FieldSys_TakePhoto
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_CameronPhoto
thumb_func_start ScrCmd_616
ScrCmd_616: ; 0x0204731C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Save_PhotoAlbum_get
bl PhotoAlbum_GetNumSaved
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_616
thumb_func_start ScrCmd_617
ScrCmd_617: ; 0x02047348
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0206A860
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_617
thumb_func_start ScrCmd_621
ScrCmd_621: ; 0x02047358
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r0, #0x80
ldr r4, [r0]
ldr r5, _020473D4 ; =_020FACDC
add r3, sp, #4
mov r2, #4
_02047366:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02047366
ldr r0, [r5]
str r0, [r3]
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
add r5, r0, #0
add r0, r4, #0
mov r1, #0x73
bl FlagGet
cmp r0, #0
beq _0204738E
mov r7, #0
b _020473A8
_0204738E:
add r0, r4, #0
mov r1, #0x99
bl FlagGet
cmp r0, #0
beq _0204739E
mov r7, #1
b _020473A8
_0204739E:
cmp r5, #0
ble _020473A6
mov r7, #2
b _020473A8
_020473A6:
mov r7, #3
_020473A8:
mov r6, #0
cmp r7, #0
ble _020473CC
add r5, sp, #4
_020473B0:
ldr r0, [r4, #0x54]
mov r1, #0x8d
str r0, [sp]
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
add r2, r5, #0
mov r3, #0
bl ov01_021F3C0C
add r6, r6, #1
add r5, #0xc
cmp r6, r7
blt _020473B0
_020473CC:
mov r0, #0
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_020473D4: .word _020FACDC
thumb_func_end ScrCmd_621
thumb_func_start ScrCmd_622
ScrCmd_622: ; 0x020473D8
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x3c]
bl GetMapObjectByID
cmp r0, #0
beq _0204740C
bl MapObject_GetFacingDirection
b _0204740E
_0204740C:
mov r0, #0
_0204740E:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_622
thumb_func_start ScrCmd_FollowPokeInteract
ScrCmd_FollowPokeInteract: ; 0x02047414
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl Fsys_FollowPokeInteract
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_FollowPokeInteract
thumb_func_start ScrCmd_712
ScrCmd_712: ; 0x02047424
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
cmp r0, #3
bhi _0204747E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204744C: ; jump table
.short _0204747E - _0204744C - 2 ; case 0
.short _02047454 - _0204744C - 2 ; case 1
.short _02047462 - _0204744C - 2 ; case 2
.short _02047470 - _0204744C - 2 ; case 3
_02047454:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EEE4
str r0, [r4]
b _0204748A
_02047462:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EF40
str r0, [r4]
b _0204748A
_02047470:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EFA0
str r0, [r4]
b _0204748A
_0204747E:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EEA0
str r0, [r4]
_0204748A:
ldr r1, _02047498 ; =ScrNative_WaitApplication_DestroyTaskData
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02047498: .word ScrNative_WaitApplication_DestroyTaskData
thumb_func_end ScrCmd_712
thumb_func_start ScrCmd_AlphPuzzle
ScrCmd_AlphPuzzle: ; 0x0204749C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl FieldSysGetAttrAddr
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r1, [r1]
cmp r1, #4
bls _020474BA
mov r1, #0
_020474BA:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl Fsys_CreateApplication_AlphPuzzle
str r0, [r4]
ldr r1, _020474D4 ; =ScrNative_WaitApplication_DestroyTaskData
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020474D4: .word ScrNative_WaitApplication_DestroyTaskData
thumb_func_end ScrCmd_AlphPuzzle
thumb_func_start ScrCmd_722
ScrCmd_722: ; 0x020474D8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r7, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl ScriptReadHalfword
str r0, [sp, #8]
add r0, r5, #0
bl ScriptReadHalfword
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
str r4, [sp]
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
ldr r3, [sp, #8]
add r1, r7, #0
add r2, r6, #0
bl sub_020977CC
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_722
thumb_func_start ScrCmd_723
ScrCmd_723: ; 0x02047518
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r7, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl ScriptReadHalfword
str r0, [sp, #8]
add r0, r5, #0
bl ScriptReadHalfword
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
str r4, [sp]
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
ldr r3, [sp, #8]
add r1, r7, #0
add r2, r6, #0
bl sub_020979A8
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_723
thumb_func_start ScrCmd_Cinematic
ScrCmd_Cinematic: ; 0x02047558
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02097BE0
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_Cinematic
thumb_func_start ScrCmd_727
ScrCmd_727: ; 0x02047570
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetIdxOfFirstAliveMonInParty_CrashIfNone
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_727
thumb_func_start ScrCmd_728
ScrCmd_728: ; 0x0204759C
push {r3, lr}
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r1, [r1]
add r2, r3, #1
str r2, [r0, #8]
add r0, #0x80
ldrb r2, [r3]
ldr r0, [r0]
bl ov01_022060B8
cmp r0, #0
beq _020475BC
mov r0, #1
pop {r3, pc}
_020475BC:
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_728
thumb_func_start ScrCmd_729
ScrCmd_729: ; 0x020475C0
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl FollowingPokemon_IsActive
cmp r0, #0
beq _020475E6
mov r0, #1
b _020475E8
_020475E6:
mov r0, #0
_020475E8:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_729
thumb_func_start ScrCmd_730
ScrCmd_730: ; 0x020475F0
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl FollowingPokemon_IsActive
cmp r0, #0
bne _0204761A
mov r0, #1
strh r0, [r4]
b _02047630
_0204761A:
add r5, #0x80
ldr r0, [r5]
bl ov01_022057C4
cmp r0, #0
beq _0204762C
mov r0, #1
strh r0, [r4]
b _02047630
_0204762C:
mov r0, #0
strh r0, [r4]
_02047630:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_730
thumb_func_start ScrCmd_731
ScrCmd_731: ; 0x02047634
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022508B4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_731
thumb_func_start ScrCmd_732
ScrCmd_732: ; 0x02047644
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldr r1, [r0]
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
ldrsb r1, [r2, r1]
bl FsysUnkSub108_AddMonMood
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_732
thumb_func_start ScrCmd_733
ScrCmd_733: ; 0x02047664
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
bl ov02_02250780
cmp r0, #0
beq _02047694
mov r0, #1
b _02047696
_02047694:
mov r0, #0
_02047696:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_733
thumb_func_start ScrCmd_734
ScrCmd_734: ; 0x0204769C
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov02_022507B4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_734
thumb_func_start ScrCmd_TouchscreenMenuHide
ScrCmd_TouchscreenMenuHide: ; 0x020476B4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl ov01_021F6B00
cmp r0, #3
bne _020476CA
mov r0, #0
pop {r3, r4, r5, pc}
_020476CA:
add r0, r4, #0
mov r1, #3
mov r2, #0
bl ov01_021F6A9C
ldr r1, _020476E4 ; =sub_020476E8
add r0, r5, #0
bl SetupNativeScript
mov r0, #3
str r0, [r4, #0x1c]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_020476E4: .word sub_020476E8
thumb_func_end ScrCmd_TouchscreenMenuHide
thumb_func_start sub_020476E8
sub_020476E8: ; 0x020476E8
push {r3, r4, r5, lr}
add r1, r0, #0
add r0, #0x80
ldr r1, [r1, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl GetVarPointer
add r0, r4, #0
bl ov01_021F6B00
add r5, r0, #0
add r0, r4, #0
bl ov01_021F6B10
cmp r5, #3
bne _02047716
cmp r0, #1
bne _02047716
mov r0, #1
pop {r3, r4, r5, pc}
_02047716:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020476E8
thumb_func_start ScrCmd_TouchscreenMenuShow
ScrCmd_TouchscreenMenuShow: ; 0x0204771C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov01_021F6A9C
ldr r1, _02047740 ; =sub_02047744
add r0, r5, #0
bl SetupNativeScript
mov r0, #0
str r0, [r4, #0x1c]
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02047740: .word sub_02047744
thumb_func_end ScrCmd_TouchscreenMenuShow
thumb_func_start sub_02047744
sub_02047744: ; 0x02047744
push {r3, r4, r5, lr}
add r1, r0, #0
add r0, #0x80
ldr r1, [r1, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl GetVarPointer
add r0, r4, #0
bl ov01_021F6B00
add r5, r0, #0
add r0, r4, #0
bl ov01_021F6B10
cmp r5, #0
bne _02047772
cmp r0, #1
bne _02047772
mov r0, #1
pop {r3, r4, r5, pc}
_02047772:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02047744
thumb_func_start ScrCmd_815
ScrCmd_815: ; 0x02047778
push {r4, lr}
add r1, r0, #0
add r1, #0x80
ldr r4, [r1]
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
bl sub_0203E33C
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_815
thumb_func_start ScrCmd_GetMenuChoice
ScrCmd_GetMenuChoice: ; 0x02047790
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl ScriptReadHalfword
mov r1, #3
add r3, r4, #0
str r0, [r4, #0x64]
add r0, r5, #0
add r2, r1, #0
add r3, #0x68
bl ov01_021F6ABC
ldr r1, _020477BC ; =sub_020477C0
add r0, r4, #0
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020477BC: .word sub_020477C0
thumb_func_end ScrCmd_GetMenuChoice
thumb_func_start sub_020477C0
sub_020477C0: ; 0x020477C0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r1, [r5, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl GetVarPointer
add r6, r0, #0
add r0, r4, #0
bl ov01_021F6B00
add r7, r0, #0
add r0, r4, #0
bl ov01_021F6AEC
cmp r7, #3
bne _020477F4
cmp r0, #6
bne _020477F4
ldr r0, [r5, #0x68]
strh r0, [r6]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020477F4:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020477C0
thumb_func_start ScrCmd_MenuInitStdGmm
ScrCmd_MenuInitStdGmm: ; 0x020477F8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_MenuInitStdGmm
thumb_func_start ScrCmd_MenuInit
ScrCmd_MenuInit: ; 0x02047814
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r1, r0, #0
ldr r2, [r4, #0x78]
add r0, r4, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_MenuInit
thumb_func_start ScrCmd_MenuItemAdd
ScrCmd_MenuItemAdd: ; 0x02047830
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r7, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl VarGet
add r3, r0, #0
ldr r0, [r4]
add r1, r6, #0
add r2, r7, #0
bl MoveTutorMenu_SetListItem
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ScrCmd_MenuItemAdd
thumb_func_start ScrCmd_MenuExec
ScrCmd_MenuExec: ; 0x02047888
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl ov01_021F6B20
ldr r1, [r5, #0x64]
add r6, r0, #0
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl GetVarPointer
add r3, r0, #0
add r0, r4, #0
mov r1, #3
mov r2, #7
bl ov01_021F6ABC
ldr r1, _020478C8 ; =sub_02047908
ldr r2, [r6]
add r0, r4, #0
bl ov01_021F6B34
ldr r1, _020478CC ; =sub_020478D0
add r0, r5, #0
bl SetupNativeScript
mov r0, #1
pop {r4, r5, r6, pc}
nop
_020478C8: .word sub_02047908
_020478CC: .word sub_020478D0
thumb_func_end ScrCmd_MenuExec
thumb_func_start sub_020478D0
sub_020478D0: ; 0x020478D0
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
add r0, r6, #0
bl ov01_021F6B20
ldr r1, [r5, #0x64]
add r4, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
bl GetVarPointer
ldrh r1, [r0]
ldr r0, _02047904 ; =0x0000EEEE
cmp r1, r0
bne _020478F8
mov r0, #0
pop {r4, r5, r6, pc}
_020478F8:
ldr r0, [r4]
bl ov01_021EDF00
mov r0, #1
pop {r4, r5, r6, pc}
nop
_02047904: .word 0x0000EEEE
thumb_func_end sub_020478D0
thumb_func_start sub_02047908
sub_02047908: ; 0x02047908
push {r3, lr}
bl ov01_021EEF9C
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047908
thumb_func_start sub_02047914
sub_02047914: ; 0x02047914
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
add r6, r1, #0
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetMoney
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SaveData_GetMomsSavingsAddr
mov r1, #0
add r2, r1, #0
bl MomSavingsBalanceAction
cmp r6, #0
beq _0204793E
cmp r6, #1
beq _0204794A
b _02047956
_0204793E:
ldr r1, _02047960 ; =999999
sub r7, r1, r0
cmp r4, r7
bhi _0204795A
add r7, r4, #0
b _0204795A
_0204794A:
ldr r1, _02047960 ; =999999
sub r7, r1, r4
cmp r0, r7
bhi _0204795A
add r7, r0, #0
b _0204795A
_02047956:
bl GF_AssertFail
_0204795A:
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02047960: .word 999999
thumb_func_end sub_02047914
thumb_func_start ScrCmd_BankTransaction
ScrCmd_BankTransaction: ; 0x02047964
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl FieldSysGetAttrAddr
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r7, r0, #0
mov r0, #4
mov r1, #8
bl AllocFromHeap
str r0, [r4]
add r4, r0, #0
mov r0, #4
mov r1, #8
bl AllocFromHeap
str r0, [r4]
add r0, r5, #0
str r6, [r4, #4]
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_02047914
ldr r1, [r4]
str r0, [r1]
mov r1, #0
ldr r0, [r4]
mvn r1, r1
str r1, [r0, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r2, [r4]
mov r1, #5
bl ov01_021F6A9C
ldr r1, _020479D0 ; =sub_020479D4
add r0, r5, #0
str r7, [r5, #0x64]
bl SetupNativeScript
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020479D0: .word sub_020479D4
thumb_func_end ScrCmd_BankTransaction
thumb_func_start sub_020479D4
sub_020479D4: ; 0x020479D4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl FieldSysGetAttrAddr
str r0, [sp]
add r0, r5, #0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl GetVarPointer
add r7, r0, #0
ldr r0, [sp]
ldr r4, [r0]
ldr r0, [r4]
ldr r6, [r0, #4]
mov r0, #0
mvn r0, r0
cmp r6, r0
bne _02047A0A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02047A0A:
cmp r6, #0
bne _02047A14
mov r0, #1
strh r0, [r7]
b _02047A6A
_02047A14:
add r5, #0x80
ldr r0, [r5]
ldr r5, [r0, #0xc]
ldr r0, [r4, #4]
cmp r0, #0
beq _02047A26
cmp r0, #1
beq _02047A44
b _02047A62
_02047A26:
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r6, #0
bl PlayerProfile_SubMoney
add r0, r5, #0
bl SaveData_GetMomsSavingsAddr
ldr r2, [r4]
mov r1, #2
ldr r2, [r2, #4]
bl MomSavingsBalanceAction
b _02047A66
_02047A44:
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r6, #0
bl PlayerProfile_AddMoney
add r0, r5, #0
bl SaveData_GetMomsSavingsAddr
ldr r2, [r4]
mov r1, #3
ldr r2, [r2, #4]
bl MomSavingsBalanceAction
b _02047A66
_02047A62:
bl GF_AssertFail
_02047A66:
mov r0, #0
strh r0, [r7]
_02047A6A:
ldr r0, [r4]
bl FreeToHeap
ldr r0, [sp]
ldr r0, [r0]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020479D4
thumb_func_start ScrCmd_BankOrWalletIsFull
ScrCmd_BankOrWalletIsFull: ; 0x02047A7C
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
cmp r6, #0
bne _02047AC2
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_GetMomsSavingsAddr
mov r1, #0
add r2, r1, #0
bl MomSavingsBalanceAction
ldr r1, _02047AE4 ; =999999
cmp r0, r1
bne _02047ABC
mov r0, #1
strh r0, [r4]
b _02047AE0
_02047ABC:
mov r0, #0
strh r0, [r4]
b _02047AE0
_02047AC2:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetMoney
ldr r1, _02047AE4 ; =999999
cmp r0, r1
bne _02047ADC
mov r0, #1
strh r0, [r4]
b _02047AE0
_02047ADC:
mov r0, #0
strh r0, [r4]
_02047AE0:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02047AE4: .word 999999
thumb_func_end ScrCmd_BankOrWalletIsFull
thumb_func_start ScrCmd_753
ScrCmd_753: ; 0x02047AE8
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl VarGet
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
lsl r1, r4, #0x18
add r5, #0x80
add r3, r0, #0
ldr r0, [r5]
lsr r1, r1, #0x18
add r2, r6, #0
bl ov01_02204C44
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_753
thumb_func_start ScrCmd_754
ScrCmd_754: ; 0x02047B38
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl ov01_02204ED8
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_754
thumb_func_start ScrCmd_755
ScrCmd_755: ; 0x02047B5C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250A60
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_755
thumb_func_start ScrCmd_756
ScrCmd_756: ; 0x02047B6C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250AC8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_756
thumb_func_start ScrCmd_757
ScrCmd_757: ; 0x02047B7C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250AE8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_757
thumb_func_start ScrCmd_758
ScrCmd_758: ; 0x02047B8C
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_02250AFC
mov r0, #1
pop {r4, pc}
thumb_func_end ScrCmd_758
thumb_func_start ScrCmd_759
ScrCmd_759: ; 0x02047BA4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250B80
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_759
thumb_func_start ScrCmd_760
ScrCmd_760: ; 0x02047BB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250B30
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_760
thumb_func_start ScrCmd_761
ScrCmd_761: ; 0x02047BC4
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_02251424
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_761
thumb_func_start ScrCmd_762
ScrCmd_762: ; 0x02047BDC
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_022514C8
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_762
thumb_func_start ScrCmd_763
ScrCmd_763: ; 0x02047BF4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251554
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_763
thumb_func_start ScrCmd_764
ScrCmd_764: ; 0x02047C04
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022515A4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_764
thumb_func_start ScrCmd_765
ScrCmd_765: ; 0x02047C14
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022518E0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_765
thumb_func_start ScrCmd_766
ScrCmd_766: ; 0x02047C24
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251B14
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_766
thumb_func_start ScrCmd_767
ScrCmd_767: ; 0x02047C34
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251CF0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_767
thumb_func_start ScrCmd_768
ScrCmd_768: ; 0x02047C44
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251DC4
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_768
thumb_func_start ScrCmd_769
ScrCmd_769: ; 0x02047C54
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251DE8
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_769
thumb_func_start ScrCmd_SetFollowPokeInhibitState
ScrCmd_SetFollowPokeInhibitState: ; 0x02047C64
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_FollowPoke_get
ldrb r1, [r4]
bl SavFollowPoke_SetInhibitFlagState
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_SetFollowPokeInhibitState
; Loads an overlay containing additional script
; commands or data
thumb_func_start ScrCmd_ScriptOverlayCmd
ScrCmd_ScriptOverlayCmd: ; 0x02047C80
push {r3, lr}
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r2, [r1]
add r1, r3, #1
str r1, [r0, #8]
ldrb r0, [r3]
cmp r2, #5
blo _02047C98
mov r0, #0
pop {r3, pc}
_02047C98:
cmp r0, #0
bne _02047CAA
ldr r0, _02047CB8 ; =_020FACB0
lsl r1, r2, #2
ldr r0, [r0, r1]
mov r1, #2
bl HandleLoadOverlay
b _02047CB4
_02047CAA:
ldr r0, _02047CB8 ; =_020FACB0
lsl r1, r2, #2
ldr r0, [r0, r1]
bl UnloadOverlayByID
_02047CB4:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_02047CB8: .word _020FACB0
thumb_func_end ScrCmd_ScriptOverlayCmd
thumb_func_start ScrCmd_CheckBankBalance
ScrCmd_CheckBankBalance: ; 0x02047CBC
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl ScriptReadWord
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SaveData_GetMomsSavingsAddr
mov r1, #0
add r2, r1, #0
bl MomSavingsBalanceAction
cmp r0, r6
blo _02047CF4
mov r0, #1
b _02047CF6
_02047CF4:
mov r0, #0
_02047CF6:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ScrCmd_CheckBankBalance
thumb_func_start ScrCmd_BufferRulesetName
ScrCmd_BufferRulesetName: ; 0x02047CFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
add r1, r0, #0
add r5, #0x80
ldr r0, [r5]
ldr r1, [r1]
add r2, r4, #0
bl ov03_022566D0
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_BufferRulesetName
thumb_func_start ScrCmd_799
ScrCmd_799: ; 0x02047D24
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
add r1, r0, #0
add r5, #0x80
ldrh r2, [r4]
ldr r0, [r5]
ldr r1, [r1]
bl ov03_022566D0
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_799
thumb_func_start ScrCmd_800
ScrCmd_800: ; 0x02047D58
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r1, r0, #0
add r4, #0x80
ldrh r1, [r1]
ldr r0, [r4]
bl ov03_02256710
mov r0, #0
pop {r4, pc}
thumb_func_end ScrCmd_800
thumb_func_start ScrCmd_801
ScrCmd_801: ; 0x02047D7C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x28
bl FieldSysGetAttrAddr
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r1, r0, #0
add r5, #0x80
ldrh r1, [r1]
ldr r0, [r5]
bl ov01_021EEF68
str r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_801
thumb_func_start ScrCmd_802
ScrCmd_802: ; 0x02047DB0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x28
bl FieldSysGetAttrAddr
ldr r0, [r0]
bl ov01_021EEF88
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_802
thumb_func_start ScrCmd_803
ScrCmd_803: ; 0x02047DC8
push {r4, r5, r6, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
add r1, r0, #0
add r5, #0x80
ldrh r2, [r4]
ldr r0, [r5]
ldr r1, [r1]
bl ov03_02256A2C
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ScrCmd_803
thumb_func_start ScrCmd_805
ScrCmd_805: ; 0x02047E14
push {r3, lr}
mov r0, #0x4b
bl sub_02004B24
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_805
thumb_func_start ScrCmd_806
ScrCmd_806: ; 0x02047E20
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl ov02_022523B4
mov r0, #1
pop {r3, pc}
thumb_func_end ScrCmd_806
thumb_func_start ScrCmd_810
ScrCmd_810: ; 0x02047E30
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02252534
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_810
thumb_func_start ScrCmd_814
ScrCmd_814: ; 0x02047E40
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_Flags_get
bl SetFlag99A
mov r0, #0
pop {r3, pc}
thumb_func_end ScrCmd_814
thumb_func_start ScrCmd_UnownCircle
ScrCmd_UnownCircle: ; 0x02047E54
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022529FC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_UnownCircle
thumb_func_start ScrCmd_817
ScrCmd_817: ; 0x02047E64
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov02_02252EE4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_817
thumb_func_start ScrCmd_MystriStageGymmickInit
ScrCmd_MystriStageGymmickInit: ; 0x02047E7C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl Fsys_InitMystriStageGymmick
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_MystriStageGymmickInit
thumb_func_start ScrCmd_819
ScrCmd_819: ; 0x02047E8C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov04_02256ED8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_819
thumb_func_start ScrCmd_820
ScrCmd_820: ; 0x02047E9C
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov04_02256F00
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_820
thumb_func_start ScrCmd_822
ScrCmd_822: ; 0x02047EB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov03_02258910
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end ScrCmd_822
thumb_func_start ScrCmd_823
ScrCmd_823: ; 0x02047EC4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl FieldSysGetAttrAddr
add r7, r0, #0
mov r0, #4
bl PlayerProfile_new
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Save_SafariZone_get
add r1, r4, #0
bl SafariZone_GetLinkLeaderToProfile
ldrh r1, [r6]
ldr r0, [r7]
add r2, r4, #0
bl BufferPlayersName
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ScrCmd_823
thumb_func_start ScrCmd_824
ScrCmd_824: ; 0x02047F14
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Save_SafariZone_get
add r5, r0, #0
add r0, r4, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
add r4, r0, #0
add r0, r5, #0
bl SafariZone_DeactivateLinkIfExpired
add r0, r5, #0
bl SafariZone_IsCurrentlyLinked
cmp r0, #0
beq _02047F4A
mov r0, #1
b _02047F4C
_02047F4A:
mov r0, #0
_02047F4C:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_824
thumb_func_start ScrCmd_829
ScrCmd_829: ; 0x02047F54
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl ov01_02206268
cmp r0, #0
beq _02047F7A
mov r0, #1
b _02047F7C
_02047F7A:
mov r0, #0
_02047F7C:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_829
thumb_func_start ScrCmd_830
ScrCmd_830: ; 0x02047F84
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_02253134
cmp r0, #1
bne _02047FAC
mov r0, #1
b _02047FAE
_02047FAC:
mov r0, #0
_02047FAE:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_830
thumb_func_start ScrCmd_831
ScrCmd_831: ; 0x02047FB4
push {r4, lr}
add r4, r0, #0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl GetVarPointer
add r4, r0, #0
bl ov02_0225316C
strh r0, [r4]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ScrCmd_831
thumb_func_start ScrCmd_832
ScrCmd_832: ; 0x02047FD4
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_02253188
cmp r0, #1
bne _02047FFC
mov r0, #1
b _02047FFE
_02047FFC:
mov r0, #0
_02047FFE:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end ScrCmd_832
thumb_func_start ScrCmd_833
ScrCmd_833: ; 0x02048004
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_022531B4
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_833
thumb_func_start ScrCmd_837
ScrCmd_837: ; 0x0204802C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ScriptReadHalfword
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
mov r1, #0
ldr r0, [r0, #0xc]
bl sub_020291A4
cmp r0, #0
beq _02048056
mov r0, #1
b _02048058
_02048056:
mov r0, #0
_02048058:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ScrCmd_837