diff options
Diffstat (limited to 'asm')
61 files changed, 565 insertions, 10145 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index 53b83c10e..dd3e6d38c 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -95,7 +95,7 @@ InitBattle: @ 80367D4 ands r0, r1 cmp r0, 0 beq _08036870 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -410,7 +410,7 @@ sub_8036B44: @ 8036B44 movs r0, 0xC2 lsls r0, 1 adds r4, r5, r0 - bl sub_80E162C + bl IsEnigmaBerryValid cmp r0, 0x1 bne _08036BC0 movs r2, 0 @@ -513,7 +513,7 @@ berry_801017C: @ 8036C08 beq _08036C20 b _08036D4C _08036C20: - bl sub_80E162C + bl IsEnigmaBerryValid cmp r0, 0x1 bne _08036CDC movs r5, 0 @@ -1537,12 +1537,12 @@ _08037530: adds r0, 0x40 ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] - bl sub_8162E20 + bl GetFrontierTrainerName adds r0, r6, 0 adds r0, 0x5C ldr r5, =gTrainerBattleOpponent_B ldrh r1, [r5] - bl sub_8162E20 + bl GetFrontierTrainerName ldrh r1, [r4] mov r0, sp bl sub_8165B88 @@ -5470,17 +5470,17 @@ sub_8039894: @ 8039894 adds r0, r2, 0 movs r2, 0 movs r3, 0x1 - bl sub_806ECEC + bl BattleAnimateFrontSprite _080398B0: pop {r0} bx r0 .pool thumb_func_end sub_8039894 - thumb_func_start nullsub_18 -nullsub_18: @ 80398B8 + thumb_func_start SpriteCallbackDummy_2 +SpriteCallbackDummy_2: @ 80398B8 bx lr - thumb_func_end nullsub_18 + thumb_func_end SpriteCallbackDummy_2 thumb_func_start sub_80398BC sub_80398BC: @ 80398BC @@ -5534,7 +5534,7 @@ sub_80398D0: @ 80398D0 ands r0, r1 mov r1, r12 strb r0, [r1] - ldr r0, =nullsub_18 + ldr r0, =SpriteCallbackDummy_2 str r0, [r3, 0x1C] ldr r0, =gUnknown_02022F88 str r2, [r0] @@ -5635,7 +5635,7 @@ _080399E4: cmp r4, r0 bne _08039A08 ldr r0, =gUnknown_08525F78 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r6, r1 ldrb r1, [r1] lsls r1, 2 @@ -5708,13 +5708,13 @@ _08039A7C: lsls r0, 24 lsrs r0, 24 bl GetBankIdentity - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsls r0, 24 lsrs r0, 22 adds r1, 0x4 adds r1, r0 - ldr r2, =gUnknown_020244E4 + ldr r2, =gBattleMonForms movs r3, 0x2E ldrsh r0, [r4, r3] adds r0, r2 @@ -5734,7 +5734,7 @@ _08039AAE: subs r0, 0x1 cmp r0, 0 bge _08039AAE - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms movs r3, 0x2E ldrsh r1, [r4, r3] adds r1, r0 @@ -5815,7 +5815,7 @@ sub_8039B2C: @ 8039B2C strb r1, [r2] movs r1, 0 strh r1, [r0, 0x36] - ldr r1, =nullsub_18 + ldr r1, =SpriteCallbackDummy_2 str r1, [r0, 0x1C] bx lr .pool @@ -5845,7 +5845,7 @@ sub_8039B58: @ 8039B58 beq _08039B94 _08039B80: ldrh r0, [r4, 0x32] - bl sub_806F0D4 + bl HasTwoFramesAnimation lsls r0, 24 cmp r0, 0 beq _08039B94 @@ -5857,7 +5857,7 @@ _08039B94: adds r0, r4, 0 movs r2, 0x1 movs r3, 0x1 - bl sub_806ECEC + bl BattleAnimateFrontSprite _08039BA0: pop {r4} pop {r0} @@ -6212,7 +6212,7 @@ sub_8039E44: @ 8039E44 beq _08039E5C ldrh r1, [r2, 0x32] adds r0, r2, 0 - bl sub_806EEB4 + bl BattleAnimateBackSprite _08039E5C: pop {r0} bx r0 @@ -8082,7 +8082,7 @@ _0803AE0A: add r1, r10 ldr r2, [r1] movs r1, 0x2 - bl SetPokedexFlag + bl HandleSetPokedexFlag b _0803AEC0 .pool _0803AE60: @@ -8109,7 +8109,7 @@ _0803AE60: add r1, r10 ldr r2, [r1] movs r1, 0x2 - bl SetPokedexFlag + bl HandleSetPokedexFlag _0803AE96: movs r0, 0 bl dp01_build_cmdbuf_x04_4_4_4 @@ -8669,7 +8669,7 @@ _0803B334: adds r1, r7 ldr r2, [r1] movs r1, 0x2 - bl SetPokedexFlag + bl HandleSetPokedexFlag _0803B36C: ldrb r0, [r4] adds r0, 0x1 @@ -9615,7 +9615,7 @@ _0803BBB8: lsls r0, 24 lsrs r2, r0, 24 _0803BBC2: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r3, =gActiveBank ldrb r0, [r3] strb r0, [r1] @@ -10556,7 +10556,7 @@ _0803C42E: b _0803C6C4 .pool _0803C440: - bl PlayerPartyAndPokemonStorageFull + bl IsPlayerPartyAndPokemonStorageFull lsls r0, 24 cmp r0, 0 bne _0803C44C @@ -14854,7 +14854,7 @@ _0803EC54: lsls r0, 24 lsrs r1, r0, 24 _0803EC5E: - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r5, [r0] cmp r1, 0x25 bne _0803EC9C diff --git a/asm/battle_3.s b/asm/battle_3.s index b314b6b5b..f2e384c86 100644 --- a/asm/battle_3.s +++ b/asm/battle_3.s @@ -315,7 +315,7 @@ _0803FDC4: lsls r0, 24 lsrs r4, r0, 24 _0803FDCE: - ldr r2, =gUnknown_0202420F + ldr r2, =gStringBank ldr r1, =gActiveBank ldrb r0, [r1] strb r0, [r2] @@ -466,7 +466,7 @@ _0803FF1C: lsls r1, r7, 3 ldr r3, [sp, 0x14] _0803FF2E: - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] movs r0, 0 mov r9, r0 @@ -8351,7 +8351,7 @@ _0804463C: _08044654: ldr r0, =gBattleScripting strb r7, [r0, 0x17] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] ldr r1, =gActiveBank ldr r0, =gBankAttacker @@ -8612,7 +8612,7 @@ _080448CE: _080448EA: ldr r0, =gBattleScripting strb r7, [r0, 0x17] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] ldr r1, =gActiveBank ldr r0, =gBankAttacker @@ -9682,7 +9682,7 @@ _080451D6: _080451DE: ldr r0, =gBattleScripting strb r7, [r0, 0x17] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] ldr r4, =gActiveBank ldr r0, =gBankAttacker @@ -10135,7 +10135,7 @@ _08045638: beq _080456B8 ldr r0, =gBattleScripting strb r7, [r0, 0x17] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] bl b_movescr_stack_push_cursor ldr r1, =gBattlescriptCurrInstr @@ -10150,7 +10150,7 @@ _08045674: _0804567A: ldr r0, =gBattleScripting strb r7, [r0, 0x17] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r7, [r0] ldr r4, =gActiveBank strb r7, [r4] @@ -10305,7 +10305,7 @@ _08045794: mov r1, sp ldrh r1, [r1, 0x14] strh r1, [r0] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank strb r3, [r0] ldr r0, =gBattleScripting strb r3, [r0, 0x17] diff --git a/asm/battle_4.s b/asm/battle_4.s index 609a74566..8651b9724 100644 --- a/asm/battle_4.s +++ b/asm/battle_4.s @@ -1040,7 +1040,7 @@ _08046928: lsls r0, 24 lsrs r2, r0, 24 _08046944: - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank ldr r1, =gBankTarget ldrb r1, [r1] strb r1, [r0] @@ -1390,7 +1390,7 @@ _08046C48: lsls r0, 24 lsrs r6, r0, 24 _08046C50: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r3, =gBankAttacker ldrb r0, [r3] strb r0, [r1] @@ -2982,7 +2982,7 @@ _0804795C: lsls r0, 24 lsrs r6, r0, 24 _08047976: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r5, =gBankTarget ldrb r0, [r5] strb r0, [r1] @@ -3169,7 +3169,7 @@ _08047B0C: lsls r0, 24 lsrs r6, r0, 24 _08047B26: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r5, =gBankTarget ldrb r0, [r5] strb r0, [r1] @@ -4230,7 +4230,7 @@ _08048478: adds r0, r2 ldrh r0, [r0, 0x2E] strh r0, [r4] - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldrb r0, [r3] strb r0, [r1] movs r0, 0x3F @@ -4295,7 +4295,7 @@ _08048510: adds r0, r2 ldrh r0, [r0, 0x2E] strh r0, [r4] - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldrb r0, [r3] strb r0, [r1] movs r0, 0x3F @@ -8717,7 +8717,7 @@ _0804ACE2: ands r0, r1 cmp r0, 0 beq _0804AD48 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -12378,7 +12378,7 @@ atk4E_switchin_anim: @ 804CAE8 adds r1, r4 ldr r2, [r1] movs r1, 0x2 - bl SetPokedexFlag + bl HandleSetPokedexFlag _0804CB3E: ldr r2, =gAbsentBankFlags ldr r1, =gBitTable @@ -16226,7 +16226,7 @@ _0804ED10: lsls r0, 24 lsrs r6, r0, 24 _0804ED2A: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r5, =gBankTarget ldrb r0, [r5] strb r0, [r1] @@ -17407,7 +17407,7 @@ _0804F73E: atk75_8026A58: @ 804F754 push {lr} sub sp, 0x4 - ldr r2, =gUnknown_020244B8 + ldr r2, =gBankInMenu ldr r1, =gBankAttacker ldrb r0, [r1] strb r0, [r2] @@ -21095,7 +21095,7 @@ _08051768: lsls r0, 24 lsrs r6, r0, 24 _08051782: - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r5, =gBankTarget ldrb r0, [r5] strb r0, [r1] @@ -29984,7 +29984,7 @@ _08056480: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 movs r4, 0xA cmp r0, 0 @@ -30385,7 +30385,7 @@ atkF1_setpoke_as_caught: @ 8056850 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080568A8 @@ -30411,7 +30411,7 @@ _080568A8: lsrs r0, 16 movs r1, 0x3 adds r2, r4, 0 - bl SetPokedexFlag + bl HandleSetPokedexFlag ldr r1, =gBattlescriptCurrInstr ldr r0, [r1] adds r0, 0x5 diff --git a/asm/battle_7.s b/asm/battle_7.s index b92d69947..fd8c3b4a5 100644 --- a/asm/battle_7.s +++ b/asm/battle_7.s @@ -991,7 +991,7 @@ move_anim_start_t3: @ 805D908 ands r0, r7 cmp r0, 0 beq _0805D950 - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms adds r0, r6, r0 movs r2, 0x7F adds r1, r7, 0 @@ -1371,7 +1371,7 @@ _0805DC58: lsls r2, r5, 3 ldr r1, =gMonFrontPicTable adds r2, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsrs r0, 22 adds r1, 0x4 @@ -1433,7 +1433,7 @@ _0805DCC6: adds r1, r4 adds r0, r6, 0 bl LZDecompressWram - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms add r0, r8 ldrb r1, [r0] lsls r1, 5 @@ -1543,7 +1543,7 @@ _0805DE00: lsls r0, r5, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsls r2, r7, 2 adds r1, 0x4 @@ -1558,7 +1558,7 @@ _0805DE2C: lsls r0, r5, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsls r2, r7, 2 adds r1, 0x4 @@ -1618,7 +1618,7 @@ _0805DE7E: adds r1, r4 adds r0, r6, 0 bl LZDecompressWram - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms add r0, r8 ldrb r1, [r0] lsls r1, 5 @@ -1684,7 +1684,7 @@ sub_805DF38: @ 805DF38 lsls r4, 3 ldr r2, =gTrainerFrontPicTable adds r2, r4, r2 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsrs r0, 22 adds r1, 0x4 @@ -1718,7 +1718,7 @@ sub_805DF84: @ 805DF84 lsls r5, 3 ldr r2, =gTrainerBackPicTable adds r2, r5, r2 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsrs r0, 22 adds r1, 0x4 @@ -1959,7 +1959,7 @@ _0805E1AE: load_gfxc_health_bar: @ 805E1B8 push {lr} ldr r0, =gUnknown_08C093F0 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r2, 0xBA lsls r2, 1 @@ -2308,7 +2308,7 @@ sub_805E448: @ 805E448 adds r1, r6, 0 movs r2, 0x20 bl LoadPalette - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r7, r1 ldr r0, [r4] ldr r0, [r0, 0x8] @@ -2364,7 +2364,7 @@ _0805E51C: lsls r0, r1, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x4] ldr r3, [r2, 0x10] @@ -2434,7 +2434,7 @@ _0805E59C: lsls r0, r1, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] mov r3, r10 lsls r2, r3, 2 @@ -2472,7 +2472,7 @@ _0805E618: lsls r0, r1, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] mov r3, r10 lsls r2, r3, 2 @@ -2486,7 +2486,7 @@ _0805E618: mov r2, r8 bl HandleLoadSpecialPokePic_DontHandleDeoxys _0805E662: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] mov r2, r10 lsls r1, r2, 2 @@ -2554,7 +2554,7 @@ _0805E662: adds r1, r4 mov r0, r9 bl LZDecompressWram - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms ldr r1, [sp] adds r0, r1, r0 ldrb r1, [r0] @@ -2589,7 +2589,7 @@ _0805E70A: adds r0, r1 mov r2, r8 strh r2, [r0, 0x2] - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms adds r1, r7, r0 ldr r3, [sp] adds r0, r3, r0 @@ -2614,7 +2614,7 @@ _0805E74A: adds r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r7, r1 ldrb r1, [r1] bl StartSpriteAnim @@ -2666,7 +2666,7 @@ _0805E814: beq _0805E83C ldr r0, =gUnknown_08C2CEE0 _0805E822: - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsls r4, 2 adds r1, 0x4 @@ -2677,7 +2677,7 @@ _0805E822: .pool _0805E83C: ldr r0, =gUnknown_08C2D120 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] lsls r4, 2 adds r1, 0x4 @@ -2688,7 +2688,7 @@ _0805E84E: movs r3, 0x1 lsls r6, r5, 4 ldr r7, =gUnknown_08C2CEBC - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] adds r0, 0x4 adds r4, r0, r4 @@ -2772,7 +2772,7 @@ refresh_graphics_maybe: @ 805E8F4 lsls r0, 2 ldr r1, =gSprites adds r4, r0, r1 - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms adds r0, r6, r0 ldrb r1, [r0] adds r0, r4, 0 @@ -3586,7 +3586,7 @@ sub_805EF84: @ 805EF84 movs r3, 0 movs r2, 0 strh r2, [r0, 0x2] - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms adds r0, r4, r0 strb r3, [r0] cmp r1, 0 @@ -3608,7 +3608,7 @@ init_uns_table_pokemon_copy: @ 805EFBC mov r5, r8 push {r5-r7} movs r6, 0 - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx str r6, [r4] movs r0, 0xC0 lsls r0, 1 @@ -3620,7 +3620,7 @@ init_uns_table_pokemon_copy: @ 805EFBC ldr r1, [r4] str r0, [r1] _0805EFE2: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r1, [r0] lsls r4, r6, 2 adds r2, r1, 0x4 @@ -3649,7 +3649,7 @@ _0805EFE2: mov r12, r8 adds r7, r4, 0 _0805F01A: - ldr r2, =gUnknown_020244D4 + ldr r2, =gBattleSpritesGfx ldr r1, [r2] lsls r4, r5, 3 add r4, r12 @@ -3672,7 +3672,7 @@ _0805F01A: lsrs r5, r0, 24 cmp r5, 0x3 bls _0805F01A - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] mov r5, r9 adds r0, r5, r6 @@ -3692,7 +3692,7 @@ _0805F01A: movs r0, 0x80 lsls r0, 5 bl AllocZeroed - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r2, 0xBA lsls r2, 1 @@ -3711,7 +3711,7 @@ _0805F01A: thumb_func_start sub_805F094 sub_805F094: @ 805F094 push {r4-r6,lr} - ldr r6, =gUnknown_020244D4 + ldr r6, =gBattleSpritesGfx ldr r0, [r6] cmp r0, 0 beq _0805F106 diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index 9bcbbe0c5..fc2c36fc8 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -14561,7 +14561,7 @@ _08105CCC: lsls r0, 6 bl AllocZeroed adds r1, r0, 0 - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r2, 0xBE lsls r2, 1 @@ -14571,7 +14571,7 @@ _08105CCC: bl LZDecompressWram movs r4, 0 _08105D00: - ldr r5, =gUnknown_020244D4 + ldr r5, =gBattleSpritesGfx ldr r0, [r5] movs r1, 0xBE lsls r1, 1 @@ -49777,7 +49777,7 @@ sub_8117C44: @ 8117C44 movs r0, 0x80 lsls r0, 6 bl AllocZeroed - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -49797,7 +49797,7 @@ sub_8117C70: @ 8117C70 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r6, =gUnknown_020244D4 + ldr r6, =gBattleSpritesGfx ldr r0, [r6] movs r5, 0xBE lsls r5, 1 @@ -49866,7 +49866,7 @@ _08117CF6: adds r4, r0, 0 adds r4, 0x10 _08117CFC: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r1, [r0] ldr r0, =gBattleAnimArgs movs r2, 0x2 @@ -49944,7 +49944,7 @@ _08117D98: lsls r0, r4, 5 ldr r1, =gPlttBufferUnfaded adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] ldr r1, =gBattleAnimArgs movs r3, 0x2 @@ -50455,7 +50455,7 @@ battle_intro_launch: @ 81181D4 ands r0, r1 cmp r0, 0 beq _08118208 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -52081,12 +52081,12 @@ sub_8118FBC: @ 8118FBC bl GetBankByPlayerAI lsls r0, 24 lsrs r0, 24 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] lsls r4, 2 adds r2, 0x4 adds r2, r4 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r0, r1 ldrb r1, [r0] lsls r1, 11 @@ -52189,7 +52189,7 @@ sub_8119094: @ 8119094 lsls r0, 24 mov r9, r0 ldr r4, =0x040000d4 - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] lsrs r2, 22 adds r0, 0x4 diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s index e07ec2dbb..d28823a8b 100644 --- a/asm/battle_controller_linkopponent.s +++ b/asm/battle_controller_linkopponent.s @@ -1230,7 +1230,7 @@ sub_8064DD0: @ 8064DD0 ldr r0, =SpriteCallbackDummy cmp r1, r0 beq _08064E1A - ldr r0, =nullsub_18 + ldr r0, =SpriteCallbackDummy_2 cmp r1, r0 bne _08064E2A _08064E1A: @@ -3655,7 +3655,7 @@ sub_80662F8: @ 80662F8 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -3850,7 +3850,7 @@ sub_8066494: @ 8066494 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -4193,13 +4193,13 @@ _08066892: cmp r0, 0 beq _080668BC _080668AA: - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x4F ldrb r0, [r0] b _0806694C .pool _080668BC: - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x4E ldrb r0, [r0] b _0806694C @@ -4243,13 +4243,13 @@ _080668FE: cmp r0, 0 beq _08066924 _08066916: - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x51 ldrb r0, [r0] b _0806694C .pool _08066924: - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x50 ldrb r0, [r0] b _0806694C @@ -4280,7 +4280,7 @@ _0806694C: lsls r1, 24 lsrs r1, 24 mov r0, r8 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r9, r7 ldr r1, =gUnknown_083054E0 @@ -4409,7 +4409,7 @@ _08066A76: lsls r1, 24 lsrs r1, 24 mov r0, r8 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r2, =gUnknown_083054E0 mov r3, r8 diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s index dbe8052b9..881228279 100644 --- a/asm/battle_controller_linkpartner.s +++ b/asm/battle_controller_linkpartner.s @@ -3237,7 +3237,7 @@ sub_814CB0C: @ 814CB0C adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -3419,7 +3419,7 @@ sub_814CC98: @ 814CC98 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -3703,7 +3703,7 @@ _0814D002: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r8, r7 ldr r0, =gUnknown_08305D2C diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 9e2512227..639ef0ce6 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -1324,7 +1324,7 @@ bx_803AEDC: @ 805FC80 ldr r0, =SpriteCallbackDummy cmp r1, r0 beq _0805FCCA - ldr r0, =nullsub_18 + ldr r0, =SpriteCallbackDummy_2 cmp r1, r0 bne _0805FCDA _0805FCCA: @@ -3811,7 +3811,7 @@ sub_8061224: @ 8061224 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -4012,7 +4012,7 @@ sub_80613DC: @ 80613DC adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -4336,7 +4336,7 @@ _080617CA: lsls r1, 24 lsrs r1, 24 mov r0, r8 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r9, r7 ldr r1, =gUnknown_083054E0 @@ -4562,7 +4562,7 @@ _080619DE: lsls r1, 24 lsrs r1, 24 mov r0, r8 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r2, =gUnknown_083054E0 mov r3, r8 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 5854d5e47..0e9318dc9 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -4127,7 +4127,7 @@ sub_80598E0: @ 80598E0 ands r0, r1 cmp r0, 0 bne _08059906 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] movs r0, 0x1 bl dp01_build_cmdbuf_x23_aa_0 @@ -7067,7 +7067,7 @@ sub_805B258: @ 805B258 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -7364,7 +7364,7 @@ _0805B5E0: ands r0, r1 cmp r0, 0 beq _0805B618 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -7413,7 +7413,7 @@ _0805B656: bne _0805B664 b _0805B794 _0805B664: - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -7549,7 +7549,7 @@ _0805B794: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r8, r9 lsls r4, r7, 16 @@ -7731,7 +7731,7 @@ _0805B926: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r1, =gUnknown_08305D2C lsls r4, 2 @@ -8748,7 +8748,7 @@ sub_805C248: @ 805C248 adds r0, r1 ldr r1, =sub_80598A4 str r1, [r0] - ldr r1, =gUnknown_020244B8 + ldr r1, =gBankInMenu ldrb r0, [r2] strb r0, [r1] movs r3, 0 @@ -8896,7 +8896,7 @@ _0805C330: adds r0, r1 ldr r1, =sub_80597CC str r1, [r0] - ldr r1, =gUnknown_020244B8 + ldr r1, =gBankInMenu ldrb r0, [r4] strb r0, [r1] _0805C3BC: diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s index 481096ffb..6b5a14f95 100644 --- a/asm/battle_controller_player_partner.s +++ b/asm/battle_controller_player_partner.s @@ -3812,7 +3812,7 @@ sub_81BCF58: @ 81BCF58 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -3994,7 +3994,7 @@ sub_81BD0E4: @ 81BD0E4 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -4174,7 +4174,7 @@ sub_81BD37C: @ 81BD37C mov r7, r9 mov r6, r8 push {r6,r7} - ldr r2, =gUnknown_02038BCE + ldr r2, =gPartnerTrainerId ldrh r1, [r2] ldr r0, =0x00000c03 cmp r1, r0 @@ -4205,7 +4205,7 @@ _081BD3BE: lsls r1, 15 adds r0, r1 lsrs r7, r0, 16 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 @@ -4220,7 +4220,7 @@ _081BD3BE: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r8, r9 lsls r4, r7, 16 @@ -5823,7 +5823,7 @@ sub_81BE10C: @ 81BE10C bl AllocSpritePalette lsls r0, 24 lsrs r4, r0, 24 - ldr r2, =gUnknown_02038BCE + ldr r2, =gPartnerTrainerId ldrh r1, [r2] ldr r0, =0x00000c03 cmp r1, r0 diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s index 2b0eed22e..dc7fe7de5 100644 --- a/asm/battle_controller_recorded_opponent.s +++ b/asm/battle_controller_recorded_opponent.s @@ -1211,7 +1211,7 @@ sub_8186F14: @ 8186F14 ldr r0, =SpriteCallbackDummy cmp r1, r0 beq _08186F5E - ldr r0, =nullsub_18 + ldr r0, =SpriteCallbackDummy_2 cmp r1, r0 bne _08186F6E _08186F5E: @@ -3636,7 +3636,7 @@ sub_818843C: @ 818843C adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -3831,7 +3831,7 @@ sub_81885D8: @ 81885D8 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -4093,7 +4093,7 @@ _0818892C: lsls r1, 24 lsrs r1, 24 mov r0, r8 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r9, r7 ldr r1, =gUnknown_083054E0 diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s index 7f2b918a4..b2769671c 100644 --- a/asm/battle_controller_recorded_player.s +++ b/asm/battle_controller_recorded_player.s @@ -3613,7 +3613,7 @@ sub_818B8E0: @ 818B8E0 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r2, r1 ldrb r1, [r2] bl StartSpriteAnim @@ -3795,7 +3795,7 @@ sub_818BA6C: @ 818BA6C adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim @@ -4189,7 +4189,7 @@ _0818BEDC: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C mov r8, r9 lsls r4, r7, 16 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index 3de3c2608..1aff72176 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -396,7 +396,7 @@ sub_8159698: @ 8159698 ands r0, r1 cmp r0, 0 bne _081596BE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] movs r0, 0x1 bl dp01_build_cmdbuf_x23_aa_0 @@ -578,7 +578,7 @@ sub_8159800: @ 8159800 lsls r1, 24 lsrs r1, 24 adds r0, r6, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r2, =gUnknown_08305D2C ldr r1, [r4] @@ -923,7 +923,7 @@ sub_8159B14: @ 8159B14 adds r0, r1 ldr r1, =sub_8159660 str r1, [r0] - ldr r1, =gUnknown_020244B8 + ldr r1, =gBankInMenu ldrb r0, [r2] strb r0, [r1] add sp, 0x4 diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s index c00988ed2..ddb97f927 100644 --- a/asm/battle_controller_wally.s +++ b/asm/battle_controller_wally.s @@ -308,7 +308,7 @@ sub_8168610: @ 8168610 ands r0, r1 cmp r0, 0 bne _08168636 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] movs r0, 0x1 bl dp01_build_cmdbuf_x23_aa_0 @@ -3037,7 +3037,7 @@ sub_8169EC8: @ 8169EC8 lsls r1, 24 lsrs r1, 24 movs r0, 0x6 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r1, =gUnknown_08305D2C ldrb r1, [r1, 0x18] @@ -3122,7 +3122,7 @@ dp01t_07_6_: @ 8169F94 lsls r1, 24 lsrs r1, 24 movs r0, 0x6 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r0, =gUnknown_0202499C ldr r1, =gUnknown_08305D2C ldrb r1, [r1, 0x18] @@ -3803,7 +3803,7 @@ sub_816A57C: @ 816A57C adds r0, r1 ldr r1, =sub_81685D4 str r1, [r0] - ldr r1, =gUnknown_020244B8 + ldr r1, =gBankInMenu ldrb r0, [r2] strb r0, [r1] add sp, 0x4 @@ -4504,7 +4504,7 @@ sub_816AA80: @ 816AA80 adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r6, r1 ldrb r1, [r6] bl StartSpriteAnim diff --git a/asm/battle_message.s b/asm/battle_message.s index c224df9f9..dec210b25 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -42,7 +42,7 @@ BufferStringBattle: @ 814E0C4 ldr r1, [r4] ldrb r1, [r1, 0x9] strb r1, [r0] - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldr r2, [r4] ldrb r0, [r2, 0xA] strb r0, [r1] @@ -1602,7 +1602,7 @@ _0814EF98: ldrb r0, [r0] cmp r0, 0 beq _0814EFE0 - ldr r2, =gUnknown_0202420F + ldr r2, =gStringBank ldrb r1, [r2] movs r0, 0x1 ands r0, r1 @@ -1611,7 +1611,7 @@ _0814EF98: b _0814F05C .pool _0814EFE0: - ldr r2, =gUnknown_0202420F + ldr r2, =gStringBank ldrb r1, [r2] movs r0, 0x1 ands r0, r1 @@ -1640,7 +1640,7 @@ _0814F014: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldrb r2, [r1] ldrh r0, [r0, 0x18] cmp r0, r2 @@ -2237,11 +2237,11 @@ _0814F584: b _0814F5C0 .pool _0814F594: - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId _0814F596: ldrh r0, [r0] _0814F598: - bl sub_8162BD8 + bl GetFrontierOpponentClass _0814F59C: lsls r0, 24 lsrs r0, 24 @@ -2254,12 +2254,12 @@ _0814F5A2: b _0814F5C0 .pool _0814F5B4: - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId _0814F5B6: ldrh r1, [r0] _0814F5B8: mov r0, sp - bl sub_8162E20 + bl GetFrontierTrainerName _0814F5BE: mov r4, sp _0814F5C0: @@ -2513,7 +2513,7 @@ _0814F7A4: b _0814F8DE .pool _0814F7BC: - ldr r1, =gUnknown_085CBE00 + ldr r1, =gStatNamesTable adds r0, r5, r7 ldrb r0, [r0, 0x1] lsls r0, 2 @@ -2606,7 +2606,7 @@ _0814F858: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, =gUnknown_0202420F + ldr r1, =gStringBank ldrb r2, [r1] ldrh r0, [r0, 0x18] cmp r0, r2 diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 9418c4d1d..7e797e9f8 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -75,7 +75,7 @@ task_add_01_battle_start: @ 80B065C adds r1, r2 strh r4, [r1, 0xA] adds r0, r5, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM pop {r4,r5} pop {r0} bx r0 @@ -1359,7 +1359,7 @@ sub_80B1158: @ 80B1158 movs r3, 0 bl sub_80F9244 bl ResetTasks - bl sub_806E64C + bl PlayBattleBGM ldr r0, =sub_80B11A8 bl SetMainCallback2 movs r0, 0 @@ -1678,7 +1678,7 @@ battle_80801F0: @ 80B13F8 ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] bl GetFieldObjectIdByLocalIdAndMap - ldr r1, =gUnknown_03005DF0 + ldr r1, =gSelectedMapObject strb r0, [r1] _080B141A: pop {r0} @@ -1880,7 +1880,7 @@ SingleTrainerWantsBattle: @ 80B162C push {r4,lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gUnknown_03005DF0 + ldr r2, =gSelectedMapObject strb r0, [r2] ldr r4, =gScriptLastTalked ldr r3, =gMapObjects @@ -1908,7 +1908,7 @@ TwoTrainersWantBattle: @ 80B1670 push {r4,lr} lsls r0, 24 lsrs r0, 24 - ldr r2, =gUnknown_03005DF0 + ldr r2, =gSelectedMapObject strb r0, [r2] ldr r4, =gScriptLastTalked ldr r3, =gMapObjects @@ -1960,7 +1960,7 @@ GetTrainerFlagFromScriptPointer: @ 80B16B8 thumb_func_start sub_80B16D8 sub_80B16D8: @ 80B16D8 push {r4,lr} - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r0, [r0] lsls r4, r0, 3 adds r4, r0 @@ -1998,7 +1998,7 @@ check_trainer_flag: @ 80B1718 lsls r0, 24 cmp r0, 0 beq _080B1734 - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r0, [r0] bl GetBattlePyramidTrainerFlag b _080B1752 @@ -2013,7 +2013,7 @@ _080B1734: bl FlagGet b _080B1752 _080B174A: - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r0, [r0] bl GetTrainerHillTrainerFlag _080B1752: diff --git a/asm/berry.s b/asm/berry.s deleted file mode 100644 index ec8f225cd..000000000 --- a/asm/berry.s +++ /dev/null @@ -1,1120 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80E15B8 -sub_80E15B8: @ 80E15B8 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r0, =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, =0x000031f8 - adds r1, r0 - ldr r2, =0x0100001a - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E15B8 - - thumb_func_start sub_80E15E4 -sub_80E15E4: @ 80E15E4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000031f8 - adds r3, r0, r1 - movs r2, 0 -_080E15F2: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x33 - bls _080E15F2 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E15E4 - - thumb_func_start sub_80E1610 -sub_80E1610: @ 80E1610 - push {lr} - adds r3, r0, 0 - movs r2, 0 - movs r1, 0 -_080E1618: - adds r0, r3, r1 - ldrb r0, [r0] - adds r2, r0 - adds r1, 0x1 - cmp r1, 0x2F - bls _080E1618 - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_80E1610 - - thumb_func_start sub_80E162C -sub_80E162C: @ 80E162C - push {r4,lr} - ldr r4, =gSaveBlock1Ptr - ldr r1, [r4] - ldr r2, =0x0000320c - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E1674 - ldr r2, =0x00003202 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E1674 - ldr r2, =0x000031f8 - adds r0, r1, r2 - bl sub_80E1610 - ldr r1, [r4] - ldr r2, =0x00003228 - adds r1, r2 - ldr r1, [r1] - cmp r0, r1 - bne _080E1674 - movs r0, 0x1 - b _080E1676 - .pool -_080E1674: - movs r0, 0 -_080E1676: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80E162C - - thumb_func_start GetBerryInfo -@ struct berry_info *GetBerryInfo(u8 berryType) -GetBerryInfo: @ 80E167C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2B - bne _080E16A0 - bl sub_80E162C - cmp r0, 0 - beq _080E16A0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x000031f8 - b _080E16B4 - .pool -_080E16A0: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2A - bls _080E16AC - movs r4, 0x1 -_080E16AC: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - ldr r1, =gBerries - 0x1c @ 1-based array -_080E16B4: - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetBerryInfo - - thumb_func_start GetBerryTreeInfo -@ struct BerryTreeInfo *GetBerryTreeInfo(u8 berryTreeId) -GetBerryTreeInfo: @ 80E16C0 - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - lsrs r0, 21 - ldr r2, =0x0000169c - adds r0, r2 - ldr r1, [r1] - adds r1, r0 - adds r0, r1, 0 - bx lr - .pool - thumb_func_end GetBerryTreeInfo - - thumb_func_start FieldObjectInteractionWaterBerryTree -@ bool8 FieldObjectInteractionWaterBerryTree() -FieldObjectInteractionWaterBerryTree: @ 80E16DC - push {lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r0, 24 - bl GetBerryTreeInfo - adds r2, r0, 0 - ldrb r0, [r2, 0x1] - lsls r0, 25 - lsrs r0, 25 - cmp r0, 0x2 - beq _080E1718 - cmp r0, 0x2 - bgt _080E1708 - cmp r0, 0x1 - beq _080E1712 - b _080E172E - .pool -_080E1708: - cmp r0, 0x3 - beq _080E171E - cmp r0, 0x4 - beq _080E1724 - b _080E172E -_080E1712: - ldrb r0, [r2, 0x5] - movs r1, 0x10 - b _080E1728 -_080E1718: - ldrb r0, [r2, 0x5] - movs r1, 0x20 - b _080E1728 -_080E171E: - ldrb r0, [r2, 0x5] - movs r1, 0x40 - b _080E1728 -_080E1724: - ldrb r0, [r2, 0x5] - movs r1, 0x80 -_080E1728: - orrs r0, r1 - strb r0, [r2, 0x5] - b _080E1732 -_080E172E: - movs r0, 0 - b _080E1734 -_080E1732: - movs r0, 0x1 -_080E1734: - pop {r1} - bx r1 - thumb_func_end FieldObjectInteractionWaterBerryTree - - thumb_func_start IsPlayerFacingPlantedBerryTree -@ bool8 IsPlayerFacingPlantedBerryTree() -IsPlayerFacingPlantedBerryTree: @ 80E1738 - push {lr} - bl GetFieldObjectScriptPointerForComparison - ldr r1, =gUnknown_082742F9 - cmp r0, r1 - bne _080E1768 - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r0, 24 - bl GetStageByBerryTreeId - lsls r0, 24 - cmp r0, 0 - bne _080E1768 - movs r0, 0x1 - b _080E176A - .pool -_080E1768: - movs r0, 0 -_080E176A: - pop {r1} - bx r1 - thumb_func_end IsPlayerFacingPlantedBerryTree - - thumb_func_start WaterBerryTree -@ bool8 WaterBerryTree() -WaterBerryTree: @ 80E1770 - push {lr} - bl GetFieldObjectScriptPointerForComparison - ldr r1, =gUnknown_082742F9 - cmp r0, r1 - bne _080E178C - bl FieldObjectInteractionWaterBerryTree - lsls r0, 24 - lsrs r0, 24 - b _080E178E - .pool -_080E178C: - movs r0, 0 -_080E178E: - pop {r1} - bx r1 - thumb_func_end WaterBerryTree - - thumb_func_start ClearBerryTrees -@ void ClearBerryTrees() -ClearBerryTrees: @ 80E1794 - push {r4-r6,lr} - movs r2, 0 - ldr r6, =gSaveBlock1Ptr - ldr r5, =0x0000169c - ldr r0, =gUnknown_0858ABD0 - ldr r3, [r0] - ldr r4, [r0, 0x4] -_080E17A2: - ldr r0, [r6] - lsls r1, r2, 3 - adds r0, r1 - adds r0, r5 - str r3, [r0] - str r4, [r0, 0x4] - adds r2, 0x1 - cmp r2, 0x7F - ble _080E17A2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ClearBerryTrees - - thumb_func_start BerryTreeGrow -@ bool8 BerryTreeGrow(struct BerryTreeInfo *berryTree) -BerryTreeGrow: @ 80E17C8 - push {r4,lr} - adds r4, r0, 0 - ldrb r1, [r4, 0x1] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080E17DA -_080E17D6: - movs r0, 0 - b _080E1866 -_080E17DA: - lsls r0, r1, 25 - lsrs r0, 25 - cmp r0, 0x5 - bhi _080E1864 - lsls r0, 2 - ldr r1, =_080E17F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080E17F0: - .4byte _080E17D6 - .4byte _080E1810 - .4byte _080E1810 - .4byte _080E1810 - .4byte _080E1808 - .4byte _080E1828 -_080E1808: - adds r0, r4, 0 - bl CalcBerryYield - strb r0, [r4, 0x4] -_080E1810: - ldrb r2, [r4, 0x1] - lsls r1, r2, 25 - lsrs r1, 25 - adds r1, 0x1 - movs r0, 0x7F - ands r1, r0 - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - b _080E1864 -_080E1828: - ldrb r0, [r4, 0x5] - movs r1, 0x11 - negs r1, r1 - ands r1, r0 - movs r0, 0x21 - negs r0, r0 - ands r1, r0 - subs r0, 0x20 - ands r1, r0 - movs r0, 0x7F - ands r1, r0 - movs r0, 0 - strb r0, [r4, 0x4] - ldrb r2, [r4, 0x1] - subs r0, 0x80 - ands r0, r2 - movs r2, 0x2 - orrs r0, r2 - strb r0, [r4, 0x1] - adds r1, 0x1 - movs r0, 0xF - ands r1, r0 - strb r1, [r4, 0x5] - cmp r1, 0xA - bne _080E1864 - ldr r0, =gUnknown_0858ABD0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r4] - str r1, [r4, 0x4] -_080E1864: - movs r0, 0x1 -_080E1866: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end BerryTreeGrow - - thumb_func_start BerryTreeTimeUpdate -@ void BerryTreeTimeUpdate(s32 deltaSeconds) -BerryTreeTimeUpdate: @ 80E1870 - push {r4-r7,lr} - adds r6, r0, 0 - movs r2, 0 -_080E1876: - ldr r1, =gSaveBlock1Ptr - lsls r0, r2, 3 - ldr r3, =0x0000169c - adds r0, r3 - ldr r1, [r1] - adds r4, r1, r0 - ldrb r0, [r4] - adds r7, r2, 0x1 - cmp r0, 0 - beq _080E1910 - ldrb r1, [r4, 0x1] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0 - beq _080E1910 - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E1910 - ldrb r0, [r4] - bl GetStageDurationByBerryType - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 3 - subs r1, r0 - cmp r6, r1 - blt _080E18CC - ldr r0, =gUnknown_0858ABD0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r4] - str r1, [r4, 0x4] - b _080E1910 - .pool -_080E18CC: - adds r5, r6, 0 - cmp r5, 0 - beq _080E1910 - ldrh r1, [r4, 0x2] - cmp r1, r5 - ble _080E18DC - subs r0, r1, r5 - b _080E190E -_080E18DC: - subs r5, r1 - ldrb r0, [r4] - bl GetStageDurationByBerryType - strh r0, [r4, 0x2] - adds r0, r4, 0 - bl BerryTreeGrow - cmp r0, 0 - beq _080E1910 - ldrb r1, [r4, 0x1] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x5 - bne _080E1900 - ldrh r0, [r4, 0x2] - lsls r0, 2 - strh r0, [r4, 0x2] -_080E1900: - cmp r5, 0 - beq _080E1910 - ldrh r0, [r4, 0x2] - adds r1, r0, 0 - cmp r0, r5 - ble _080E18DC - subs r0, r5 -_080E190E: - strh r0, [r4, 0x2] -_080E1910: - adds r2, r7, 0 - cmp r2, 0x7F - ble _080E1876 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end BerryTreeTimeUpdate - - thumb_func_start PlantBerryTree -@ void PlantBerryTree(u8 berryTreeId, u8 berryType, u8 stage, u8 a4) -PlantBerryTree: @ 80E191C - push {r4-r7,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r3, 24 - lsrs r7, r3, 24 - bl GetBerryTreeInfo - adds r6, r0, 0 - ldr r0, =gUnknown_0858ABD0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r6] - str r1, [r6, 0x4] - strb r4, [r6] - adds r0, r4, 0 - bl GetStageDurationByBerryType - strh r0, [r6, 0x2] - movs r1, 0x7F - ands r1, r5 - ldrb r2, [r6, 0x1] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6, 0x1] - cmp r5, 0x5 - bne _080E196E - adds r0, r6, 0 - bl CalcBerryYield - strb r0, [r6, 0x4] - ldrh r0, [r6, 0x2] - lsls r0, 2 - strh r0, [r6, 0x2] -_080E196E: - cmp r7, 0 - bne _080E197A - ldrb r0, [r6, 0x1] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r6, 0x1] -_080E197A: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end PlantBerryTree - - thumb_func_start RemoveBerryTree -@ void RemoveBerryTree(u8 berryTreeId) -RemoveBerryTree: @ 80E1984 - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - lsrs r0, 21 - adds r2, r0 - ldr r0, =0x0000169c - adds r2, r0 - ldr r0, =gUnknown_0858ABD0 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - bx lr - .pool - thumb_func_end RemoveBerryTree - - thumb_func_start GetBerryTypeByBerryTreeId -@ u8 GetBerryTypeByBerryTreeId(u8 berryTreeId) -GetBerryTypeByBerryTreeId: @ 80E19AC - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsrs r0, 21 - adds r1, r0 - ldr r0, =0x0000169c - adds r1, r0 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end GetBerryTypeByBerryTreeId - - thumb_func_start GetStageByBerryTreeId -@ u8 GetStageByBerryTreeId(u8 berryTreeId) -GetStageByBerryTreeId: @ 80E19C8 - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsrs r0, 21 - adds r1, r0 - ldr r0, =0x0000169d - adds r1, r0 - ldrb r0, [r1] - lsls r0, 25 - lsrs r0, 25 - bx lr - .pool - thumb_func_end GetStageByBerryTreeId - - thumb_func_start ItemIdToBerryType -@ u8 ItemIdToBerryType(u16 itemId) -ItemIdToBerryType: @ 80E19E8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =0xff7b0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0x2A - bhi _080E1A08 - adds r0, r1, 0 - adds r0, 0x7C - lsls r0, 24 - lsrs r0, 24 - b _080E1A0A - .pool -_080E1A08: - movs r0, 0x1 -_080E1A0A: - pop {r1} - bx r1 - thumb_func_end ItemIdToBerryType - - thumb_func_start BerryTypeToItemId -@ u16 BerryTypeToItemId(u16 berryType) -BerryTypeToItemId: @ 80E1A10 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, =0xffff0000 - adds r0, r2 - lsrs r0, 16 - cmp r0, 0x2A - bhi _080E1A30 - adds r0, r1, 0 - adds r0, 0x84 - lsls r0, 16 - lsrs r0, 16 - b _080E1A32 - .pool -_080E1A30: - movs r0, 0x85 -_080E1A32: - pop {r1} - bx r1 - thumb_func_end BerryTypeToItemId - - thumb_func_start GetBerryNameByBerryType -@ void GetBerryNameByBerryType(u8 berryType, u8 *dest) -GetBerryNameByBerryType: @ 80E1A38 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x6 - bl memcpy - movs r0, 0xFF - strb r0, [r4, 0x6] - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetBerryNameByBerryType - - thumb_func_start GetBerryCountStringByBerryType -@ void GetBerryCountStringByBerryType(u8 berryType, u8 *dest, u32 berryCount) -GetBerryCountStringByBerryType: @ 80E1A58 - push {r4,r5,lr} - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r1, r0, 0 - adds r0, r4, 0 - adds r2, r5, 0 - bl GetBerryCountString - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetBerryCountStringByBerryType - - thumb_func_start ResetBerryTreeSparkleFlag -@ void ResetBerryTreeSparkleFlag(u8 berryTreeId) -ResetBerryTreeSparkleFlag: @ 80E1A78 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBerryTreeInfo - ldrb r2, [r0, 0x1] - movs r1, 0x7F - ands r1, r2 - strb r1, [r0, 0x1] - pop {r0} - bx r0 - thumb_func_end ResetBerryTreeSparkleFlag - - thumb_func_start BerryTreeGetNumStagesWatered -@ u8 BerryTreeGetNumStagesWatered(struct BerryTreeInfo *berryTree) -BerryTreeGetNumStagesWatered: @ 80E1A90 - push {lr} - ldrb r2, [r0, 0x5] - movs r0, 0x10 - ands r0, r2 - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - lsrs r1, r0, 31 - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _080E1AAA - adds r1, 0x1 -_080E1AAA: - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _080E1AB8 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_080E1AB8: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _080E1AC6 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 -_080E1AC6: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end BerryTreeGetNumStagesWatered - - thumb_func_start GetNumStagesWateredByBerryTreeId -@ u8 GetNumStagesWateredByBerryTreeId(u8 berryTreeId) -GetNumStagesWateredByBerryTreeId: @ 80E1ACC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBerryTreeInfo - bl BerryTreeGetNumStagesWatered - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNumStagesWateredByBerryTreeId - - thumb_func_start CalcBerryYieldInternal -@ u8 CalcBerryYieldInternal(u16 max, u16 min, u8 numStagesWatered) -CalcBerryYieldInternal: @ 80E1AE4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0 - bne _080E1AFA - lsls r0, r6, 24 - b _080E1B2E -_080E1AFA: - subs r1, r0, r6 - subs r0, r2, 0x1 - adds r5, r1, 0 - muls r5, r0 - adds r4, r1, 0 - muls r4, r2 - bl Random - lsls r0, 16 - lsrs r0, 16 - subs r4, r5 - adds r4, 0x1 - adds r1, r4, 0 - bl __umodsi3 - adds r5, r0 - movs r0, 0x3 - ands r0, r5 - cmp r0, 0x1 - bls _080E1B28 - lsrs r0, r5, 2 - adds r0, 0x1 - b _080E1B2A -_080E1B28: - lsrs r0, r5, 2 -_080E1B2A: - adds r0, r6 - lsls r0, 24 -_080E1B2E: - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CalcBerryYieldInternal - - thumb_func_start CalcBerryYield -@ u8 CalcBerryYield(struct BerryTreeInfo *berryTree) -CalcBerryYield: @ 80E1B38 - push {r4-r6,lr} - adds r4, r0, 0 - ldrb r0, [r4] - bl GetBerryInfo - ldrb r6, [r0, 0xB] - ldrb r5, [r0, 0xA] - adds r0, r4, 0 - bl BerryTreeGetNumStagesWatered - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r6, 0 - bl CalcBerryYieldInternal - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CalcBerryYield - - thumb_func_start GetBerryCountByBerryTreeId -@ u8 GetBerryCountByBerryTreeId(u8 berryTreeId) -GetBerryCountByBerryTreeId: @ 80E1B64 - lsls r0, 24 - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - lsrs r0, 21 - adds r1, r0 - movs r0, 0xB5 - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1] - bx lr - .pool - thumb_func_end GetBerryCountByBerryTreeId - - thumb_func_start GetStageDurationByBerryType -@ u16 GetStageDurationByBerryType(u8 berryType) -GetStageDurationByBerryType: @ 80E1B7C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 18 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetStageDurationByBerryType - - thumb_func_start FieldObjectInteractionGetBerryTreeData -@ void FieldObjectInteractionGetBerryTreeData() -FieldObjectInteractionGetBerryTreeData: @ 80E1B94 - push {r4-r6,lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl GetBerryTypeByBerryTreeId - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0 - bl ResetBerryTreeSparkleFlag - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl sub_8092E9C - lsls r0, 24 - cmp r0, 0 - beq _080E1BE0 - ldr r1, =gSpecialVar_0x8004 - movs r0, 0xFF - strh r0, [r1] - b _080E1BEE - .pool -_080E1BE0: - ldr r4, =gSpecialVar_0x8004 - adds r0, r5, 0 - bl GetStageByBerryTreeId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] -_080E1BEE: - ldr r4, =gSpecialVar_0x8005 - adds r0, r5, 0 - bl GetNumStagesWateredByBerryTreeId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r4, =gSpecialVar_0x8006 - adds r0, r5, 0 - bl GetBerryCountByBerryTreeId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldr r1, =gStringVar1 - ldrh r2, [r4] - adds r0, r6, 0 - bl GetBerryCountStringByBerryType - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionGetBerryTreeData - - thumb_func_start FieldObjectInteractionGetBerryName -@ void FieldObjectInteractionGetBerryName() -FieldObjectInteractionGetBerryName: @ 80E1C2C - push {lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r0, 24 - bl GetBerryTypeByBerryTreeId - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl GetBerryNameByBerryType - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionGetBerryName - - thumb_func_start FieldObjectInteractionGetBerryCountString -@ void FieldObjectInteractionGetBerryCountString() -FieldObjectInteractionGetBerryCountString: @ 80E1C54 - push {r4,r5,lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBerryTypeByBerryTreeId - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - bl GetBerryCountByBerryTreeId - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r1, =gStringVar1 - adds r0, r5, 0 - bl GetBerryCountStringByBerryType - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionGetBerryCountString - - thumb_func_start ChooseBerry -@ void ChooseBerry() -ChooseBerry: @ 80E1C94 - push {lr} - ldr r0, =CB2_ChooseBerry - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end ChooseBerry - - thumb_func_start FieldObjectInteractionPlantBerryTree -@ void FieldObjectInteractionPlantBerryTree() -FieldObjectInteractionPlantBerryTree: @ 80E1CA4 - push {r4,lr} - ldr r0, =gUnknown_0203CE7C - ldrh r0, [r0] - bl ItemIdToBerryType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x1 - bl PlantBerryTree - bl FieldObjectInteractionGetBerryTreeData - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionPlantBerryTree - - thumb_func_start FieldObjectInteractionPickBerryTree -@ void FieldObjectInteractionPickBerryTree() -FieldObjectInteractionPickBerryTree: @ 80E1CDC - push {r4-r6,lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - bl GetBerryTypeByBerryTreeId - lsls r0, 24 - lsrs r0, 24 - ldr r6, =gSpecialVar_0x8004 - bl BerryTypeToItemId - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl GetBerryCountByBerryTreeId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionPickBerryTree - - thumb_func_start FieldObjectInteractionRemoveBerryTree -@ void FieldObjectInteractionRemoveBerryTree() -FieldObjectInteractionRemoveBerryTree: @ 80E1D28 - push {lr} - ldr r0, =gUnknown_03005DF0 - ldrb r0, [r0] - bl FieldObjectGetBerryTreeId - lsls r0, 24 - lsrs r0, 24 - bl RemoveBerryTree - ldr r0, =gScriptLastTalked - ldrb r0, [r0] - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl sub_8092EF0 - pop {r0} - bx r0 - .pool - thumb_func_end FieldObjectInteractionRemoveBerryTree - - thumb_func_start PlayerHasBerries -@ bool8 PlayerHasBerries() -PlayerHasBerries: @ 80E1D5C - push {lr} - movs r0, 0x4 - bl IsBagPocketNonEmpty - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end PlayerHasBerries - - thumb_func_start ResetBerryTreeSparkleFlags -@ void ResetBerryTreeSparkleFlags() -ResetBerryTreeSparkleFlags: @ 80E1D6C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetCameraCoords - mov r0, sp - ldrh r2, [r0] - ldrh r1, [r4] - adds r1, 0x3 - adds r3, r2, 0 - adds r3, 0xE - lsls r1, 16 - movs r5, 0x80 - lsls r5, 12 - adds r0, r1, r5 - lsrs r0, 16 - mov r10, r0 - mov r5, sp - lsls r2, 16 - asrs r2, 16 - mov r9, r2 - ldr r4, =gMapObjects - lsls r3, 16 - asrs r3, 16 - mov r8, r3 - asrs r7, r1, 16 - movs r6, 0xF -_080E1DB0: - ldrb r0, [r4] - lsls r0, 31 - cmp r0, 0 - beq _080E1DEC - ldrb r0, [r4, 0x6] - cmp r0, 0xC - bne _080E1DEC - ldrh r0, [r4, 0x10] - strh r0, [r5] - ldrh r0, [r4, 0x12] - mov r1, sp - strh r0, [r1, 0x2] - movs r2, 0 - ldrsh r1, [r5, r2] - cmp r9, r1 - bgt _080E1DEC - cmp r1, r8 - bgt _080E1DEC - lsls r0, 16 - asrs r1, r0, 16 - cmp r7, r1 - bgt _080E1DEC - mov r2, r10 - lsls r0, r2, 16 - asrs r0, 16 - cmp r1, r0 - bgt _080E1DEC - ldrb r0, [r4, 0x1D] - bl ResetBerryTreeSparkleFlag -_080E1DEC: - adds r4, 0x24 - subs r6, 0x1 - cmp r6, 0 - bge _080E1DB0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ResetBerryTreeSparkleFlags - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_blender.s b/asm/berry_blender.s index cc859f052..fb410e9f3 100644 --- a/asm/berry_blender.s +++ b/asm/berry_blender.s @@ -1190,7 +1190,7 @@ _080801F8: movs r5, 0xAC lsls r5, 1 adds r0, r5 - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] bl sub_807FE14 ldr r0, =gUnknown_020228C4 @@ -2043,7 +2043,7 @@ _080808F8: _08080950: bl sub_800B4C0 bl sub_8080588 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r1, [r4] movs r0, 0 bl sub_8082FDC @@ -7619,7 +7619,7 @@ _080837EA: movs r1, 0x6 bl CreateTask bl sub_80EECEC - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s index 4d5022189..4d7644723 100644 --- a/asm/berry_tag_screen.s +++ b/asm/berry_tag_screen.s @@ -12,7 +12,7 @@ sub_8177C14: @ 8177C14 ldr r0, =0x0000180c bl AllocZeroed str r0, [r4] - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemIdToBerryType ldr r1, [r4] diff --git a/asm/cable_club.s b/asm/cable_club.s index 21713e0be..76d1dca06 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1855,13 +1855,13 @@ _080B3354: cmp r0, 0 beq _080B3370 ldr r0, =0x000001dd - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM b _080B3378 .pool _080B3370: movs r0, 0xEE lsls r0, 1 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM _080B3378: ldr r0, =gSpecialVar_0x8004 ldrh r0, [r0] @@ -2025,13 +2025,13 @@ _080B34DE: cmp r0, 0 beq _080B34FC ldr r0, =0x000001dd - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM b _080B3504 .pool _080B34FC: movs r0, 0xEE lsls r0, 1 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM _080B3504: ldr r1, =gLinkPlayers ldr r0, =0x00002211 diff --git a/asm/contest.s b/asm/contest.s index 9425e262d..b891007bb 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -547,7 +547,7 @@ _080D7B4E: strb r5, [r0] bl sub_80D7988 bl init_uns_table_pokemon_copy - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx ldr r0, [r4] ldr r0, [r0] bl Free @@ -581,7 +581,7 @@ _080D7B4E: lsls r1, 9 adds r0, r1 strb r5, [r0] - bl sub_806E414 + bl ClearBattleMonForms bl sub_80D787C b _080D7BF6 .pool @@ -2494,7 +2494,7 @@ _080D8DC4: mov r4, r8 lsls r4, 2 mov r10, r4 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms movs r2, 0 adds r0, r1, 0x3 _080D8DD0: @@ -6741,7 +6741,7 @@ sub_80DB174: @ 80DB174 lsls r0, r5, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x4] adds r2, r5, 0 @@ -6753,7 +6753,7 @@ _080DB1B8: lsls r0, r5, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x4] adds r2, r5, 0 @@ -13607,7 +13607,7 @@ sub_80DE864: @ 80DE864 movs r2, 0x14 bl memset bl sub_80A3934 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms movs r2, 0 adds r0, r1, 0x3 _080DE8A8: diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index 19aabe85f..da951f97d 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -1364,7 +1364,7 @@ _080F6454: mov r9, r4 ldr r4, =gMonFrontPicTable mov r12, r4 - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx mov r8, r4 cmp r0, 0 beq _080F648C @@ -1638,7 +1638,7 @@ _080F66DA: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag adds r5, 0x40 subs r4, 0x1 cmp r4, 0 diff --git a/asm/contest_painting.s b/asm/contest_painting.s index d8dec9f2a..42cdf6802 100644 --- a/asm/contest_painting.s +++ b/asm/contest_painting.s @@ -581,7 +581,7 @@ sub_81302E8: @ 81302E8 lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx ldr r1, [r4] ldr r1, [r1, 0x8] ldr r2, [r6] @@ -600,7 +600,7 @@ _08130348: lsls r0, r5, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx ldr r1, [r4] ldr r1, [r1, 0x4] ldr r2, [r6] diff --git a/asm/credits.s b/asm/credits.s index be5e9e5c4..0a568a3ae 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -3688,7 +3688,7 @@ sub_8177388: @ 8177388 _081773B4: adds r0, r4, 0 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _081773D4 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index d123b23f2..565d9fcc6 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -10177,7 +10177,7 @@ _0811F146: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _0811F166 @@ -11016,7 +11016,7 @@ _0811F7D8: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 lsrs r0, 24 b _0811F82C @@ -11030,7 +11030,7 @@ _0811F7EE: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag _0811F808: movs r0, 0x1 b _0811F82C diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 52a659663..d646dbb73 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -218,10 +218,10 @@ sub_80714B8: @ 80714B8 lsrs r4, 16 adds r0, r4, 0 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag adds r0, r4, 0 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag ldr r1, =gStringVar1 adds r0, r5, 0 bl pokemon_get_nick @@ -399,7 +399,7 @@ _08071688: lsls r0, r4, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] mov r6, r8 lsls r1, r6, 1 @@ -937,7 +937,7 @@ _08071BBC: adds r1, r7, 0 movs r2, 0 movs r3, 0x1 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation ldr r1, [r5] b _08071DC8 .pool diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 01b495c09..b8710acd4 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -235,7 +235,7 @@ evolution_cutscene: @ 813DA8C lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r2, =gUnknown_020244D4 + ldr r2, =gBattleSpritesGfx ldr r1, [r2] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -272,7 +272,7 @@ evolution_cutscene: @ 813DA8C adds r6, r7, 0 adds r6, 0x1C adds r0, r1, r6 - ldr r2, =nullsub_18 + ldr r2, =SpriteCallbackDummy_2 str r2, [r0] adds r1, r7 ldrb r2, [r1, 0x5] @@ -291,7 +291,7 @@ evolution_cutscene: @ 813DA8C lsls r0, r1, 3 ldr r2, =gMonFrontPicTable adds r0, r2 - ldr r2, =gUnknown_020244D4 + ldr r2, =gBattleSpritesGfx ldr r1, [r2] ldr r1, [r1, 0x10] mov r2, r10 @@ -325,7 +325,7 @@ evolution_cutscene: @ 813DA8C adds r1, r3 lsls r1, 2 adds r6, r1, r6 - ldr r2, =nullsub_18 + ldr r2, =SpriteCallbackDummy_2 str r2, [r6] adds r1, r7 ldrb r0, [r1, 0x5] @@ -492,7 +492,7 @@ sub_813DD7C: @ 813DD7C lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x10] adds r2, r5, 0 @@ -528,7 +528,7 @@ sub_813DD7C: @ 813DD7C adds r0, r3, 0 adds r0, 0x1C adds r0, r1, r0 - ldr r2, =nullsub_18 + ldr r2, =SpriteCallbackDummy_2 str r2, [r0] adds r1, r3 ldrb r2, [r1, 0x5] @@ -697,7 +697,7 @@ _0813E0A8: lsls r0, r6, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x10] adds r2, r6, 0 @@ -736,7 +736,7 @@ _0813E0F0: adds r0, r3, 0 adds r0, 0x1C adds r0, r1, r0 - ldr r2, =nullsub_18 + ldr r2, =SpriteCallbackDummy_2 str r2, [r0] adds r1, r3 ldrb r2, [r1, 0x5] @@ -867,7 +867,7 @@ sub_813E1D4: @ 813E1D4 lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -903,7 +903,7 @@ sub_813E1D4: @ 813E1D4 adds r0, r3, 0 adds r0, 0x1C adds r0, r1, r0 - ldr r2, =nullsub_18 + ldr r2, =SpriteCallbackDummy_2 str r2, [r0] adds r1, r3 ldrb r2, [r1, 0x5] @@ -1142,13 +1142,13 @@ _0813E4A0: lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r0, r9 movs r1, 0xB bl GetMonData @@ -1647,19 +1647,19 @@ _0813E99E: ldrh r1, [r4, 0xA] ldrh r2, [r4, 0xC] mov r0, r9 - bl sub_806D778 + bl EvolutionRenameMon ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag movs r0, 0xE bl IncrementGameStat b _0813F1A4 @@ -2831,19 +2831,19 @@ _0813F4F2: ldrh r1, [r4, 0xA] ldrh r2, [r4, 0xC] mov r0, r9 - bl sub_806D778 + bl EvolutionRenameMon ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag ldrh r0, [r4, 0xC] bl SpeciesToNationalPokedexNum lsls r0, 16 lsrs r0, 16 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag movs r0, 0xE bl IncrementGameStat b _0813FCC4 @@ -4182,7 +4182,7 @@ sub_81401E0: @ 81401E0 adds r0, r2 movs r2, 0 movs r3, 0 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation pop {r0} bx r0 .pool diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index c44d77e3f..5c515ae3d 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -187,7 +187,7 @@ sub_809C014: @ 809C014 ldr r0, =gScriptLastTalked movs r1, 0 strh r1, [r0] - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject strb r1, [r0] bl player_get_direction_lower_nybble lsls r0, 24 @@ -580,7 +580,7 @@ _0809C34C: adds r4, 0x1 cmp r4, 0x3 ble _0809C340 - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject strb r3, [r0] ldr r1, =gScriptLastTalked adds r0, r2, r3 @@ -666,7 +666,7 @@ _0809C400: b _0809C44E .pool _0809C40C: - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject strb r4, [r0] ldr r1, =gScriptLastTalked adds r0, r2, r4 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 4dbea35d5..f8ba2f0be 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -3214,14 +3214,14 @@ _08175176: adds r0, r2, 0 movs r2, 0x1 movs r3, 0x3 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation b _0817519C _08175190: lsrs r1, 16 adds r0, r2, 0 movs r2, 0 movs r3, 0x3 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation _0817519C: pop {r4} pop {r0} diff --git a/asm/item_use.s b/asm/item_use.s index 442b5681a..1f7ba10c5 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -11,7 +11,7 @@ SetUpItemUseCallback: @ 80FD060 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r0, [r1] cmp r0, 0xAF bne _080FD084 @@ -260,7 +260,7 @@ sub_80FD254: @ 80FD254 push {lr} sub sp, 0x24 mov r1, sp - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] strh r0, [r1, 0x20] ldr r1, =bag_menu_mail_related @@ -381,7 +381,7 @@ ItemUseOnFieldCB_Bike: @ 80FD358 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetSecondaryId lsls r0, 24 @@ -515,7 +515,7 @@ ItemUseOnFieldCB_Rod: @ 80FD468 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetSecondaryId lsls r0, 24 @@ -1642,7 +1642,7 @@ sub_80FDD10: @ 80FDD10 b _080FDD68 .pool _080FDD58: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -1661,7 +1661,7 @@ sub_80FDD74: @ 80FDD74 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -1692,7 +1692,7 @@ ItemUseOutOfBattle_WailmerPail: @ 80FDDA4 b _080FDDD8 .pool _080FDDC8: - bl WaterBerryTree + bl TryToWaterBerryTree lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1886,7 +1886,7 @@ ItemUseOutOfBattle_TMHM: @ 80FDF48 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] movs r0, 0xA9 lsls r0, 1 @@ -1945,7 +1945,7 @@ task08_0809AD8C: @ 80FDFBC cmp r0, 0 beq _080FE000 ldr r4, =gStringVar1 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemIdToBattleMoveId lsls r0, 16 @@ -2002,7 +2002,7 @@ sub_80FE03C: @ 80FE03C thumb_func_start sub_80FE058 sub_80FE058: @ 80FE058 push {r4,lr} - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] movs r1, 0x1 bl RemoveBagItem @@ -2125,7 +2125,7 @@ sub_80FE164: @ 80FE164 cmp r0, 0 bne _080FE1C2 ldr r4, =0x00004021 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetHoldEffectParam adds r1, r0, 0 @@ -2205,7 +2205,7 @@ ItemUseOutOfBattle_BlackWhiteFlute: @ 80FE234 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] ldr r1, =gStringVar2 bl CopyItemName @@ -2357,11 +2357,11 @@ ItemUseInBattle_PokeBall: @ 80FE394 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl PlayerPartyAndPokemonStorageFull + bl IsPlayerPartyAndPokemonStorageFull lsls r0, 24 cmp r0, 0 bne _080FE3D0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -2450,7 +2450,7 @@ sub_80FE440: @ 80FE440 ble _080FE4AC movs r0, 0x1 bl PlaySE - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] movs r1, 0x1 bl RemoveBagItem @@ -2487,7 +2487,7 @@ ItemUseInBattle_StatIncrease: @ 80FE4B8 lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gBattlePartyID - ldr r0, =gUnknown_020244B8 + ldr r0, =gBankInMenu ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -2496,7 +2496,7 @@ ItemUseInBattle_StatIncrease: @ 80FE4B8 muls r0, r2 ldr r1, =gPlayerParty adds r0, r1 - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] lsls r2, 24 lsrs r2, 24 @@ -2664,7 +2664,7 @@ ItemUseOutOfBattle_EnigmaBerry: @ 80FE650 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 @@ -2785,7 +2785,7 @@ ItemUseInBattle_EnigmaBerry: @ 80FE77C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl GetItemEffectType lsls r0, 24 diff --git a/asm/lilycove_lady.s b/asm/lilycove_lady.s index debcc3fbe..fca8cb29b 100644 --- a/asm/lilycove_lady.s +++ b/asm/lilycove_lady.s @@ -566,7 +566,7 @@ _0818DE36: thumb_func_start sub_818DE44 sub_818DE44: @ 818DE44 push {lr} - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl sub_818DD84 lsls r0, 24 @@ -1323,7 +1323,7 @@ sub_818E47C: @ 818E47C thumb_func_start sub_818E490 sub_818E490: @ 818E490 push {lr} - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -1341,7 +1341,7 @@ sub_818E4A4: @ 818E4A4 ldr r1, =0x00003b58 adds r0, r1 str r0, [r2] - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] strh r1, [r0, 0x28] movs r3, 0 diff --git a/asm/link.s b/asm/link.s index 76f5058eb..16b7b1b4d 100644 --- a/asm/link.s +++ b/asm/link.s @@ -1232,7 +1232,7 @@ _08009E8C: _08009EA8: ldr r0, =gUnknown_03003110 strh r2, [r0] - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] b _08009F04 .pool @@ -21076,7 +21076,7 @@ sub_8014210: @ 8014210 str r0, [r1, 0x8] ldr r0, =gBattleTypeFlags str r6, [r0] - bl sub_806E64C + bl PlayBattleBGM pop {r4-r6} pop {r0} bx r0 @@ -45605,7 +45605,7 @@ _08020D74: sub_8020D8C: @ 8020D8C push {r4,lr} sub sp, 0xC - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r0, [r1] subs r0, 0x85 lsls r0, 16 @@ -45626,7 +45626,7 @@ _08020DB0: ldrb r0, [r2, 0x8] lsls r0, 5 adds r0, r2, r0 - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] subs r1, 0x85 adds r0, 0xA4 diff --git a/asm/main_menu.s b/asm/main_menu.s index 0fa716115..6c5b0d2f4 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -3940,7 +3940,7 @@ AddBirchSpeechObjects: @ 803192C strb r1, [r2] strh r0, [r5, 0x1A] movs r0, 0x3C - bl TrainerClassToTrainerPic + bl sub_806EFF0 lsls r0, 24 lsrs r0, 24 ldr r4, =0x0201c000 @@ -3970,7 +3970,7 @@ AddBirchSpeechObjects: @ 803192C strb r1, [r2, 0x5] strh r0, [r5, 0x1C] movs r0, 0x3F - bl TrainerClassToTrainerPic + bl sub_806EFF0 lsls r0, 24 lsrs r0, 24 ldr r1, =0x0201c000 diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s index f02f8526b..60757cdd0 100644 --- a/asm/map_obj_lock.s +++ b/asm/map_obj_lock.s @@ -98,7 +98,7 @@ _0809842A: cmp r0, 0 bne _08098452 ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -152,7 +152,7 @@ _0809849A: thumb_func_start sub_80984A0 sub_80984A0: @ 80984A0 push {r4,r5,lr} - ldr r4, =gUnknown_03005DF0 + ldr r4, =gSelectedMapObject ldrb r0, [r4] bl sub_80974D0 ldr r0, =sub_8098400 @@ -213,7 +213,7 @@ sub_80984F4: @ 80984F4 sub_8098524: @ 8098524 push {r4,lr} ldr r4, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -249,7 +249,7 @@ _08098542: thumb_func_start sub_8098574 sub_8098574: @ 8098574 push {lr} - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -267,7 +267,7 @@ sub_8098574: @ 8098574 thumb_func_start sub_809859C sub_809859C: @ 809859C push {lr} - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index 07c940f58..5ebe80e05 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -432,7 +432,7 @@ sub_8153AE8: @ 8153AE8 mov r6, r8 push {r6,r7} adds r7, r0, 0 - bl sub_80E162C + bl IsEnigmaBerryValid mov r8, r0 adds r0, r7, 0 bl ScriptReadWord @@ -450,7 +450,7 @@ sub_8153AE8: @ 8153AE8 movs r2, 0x7 bl StringCopyN adds r0, r4, 0 - bl sub_80E15E4 + bl SetEnigmaBerry ldr r4, =gStringVar2 ldr r1, [r6] adds r1, r5 @@ -481,7 +481,7 @@ _08153B74: bl StringExpandPlaceholders movs r0, 0x2 str r0, [r7, 0x6C] - bl sub_80E162C + bl IsEnigmaBerryValid cmp r0, 0x1 bne _08153B9C ldr r0, =0x0000402d @@ -669,7 +669,7 @@ sub_8153CC8: @ 8153CC8 cmp r4, r0 bne _08153D18 ldr r0, =gStringVar1 - ldr r1, =gUnknown_085E8264 + ldr r1, =gEggNickname movs r2, 0xB bl StringCopyN b _08153D22 @@ -711,10 +711,10 @@ _08153D4C: lsrs r4, 16 adds r0, r4, 0 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag adds r0, r4, 0 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag _08153D86: adds r0, r7, 0 movs r1, 0xC diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s index 8f63be452..bd348ec34 100644 --- a/asm/pokeblock_feed.s +++ b/asm/pokeblock_feed.s @@ -322,7 +322,7 @@ _08179E48: lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -380,7 +380,7 @@ _08179EEC: b _08179F5E .pool _08179F00: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrb r0, [r0] bl sub_8179FEC ldr r0, =gUnknown_0203BD1C @@ -692,7 +692,7 @@ sub_817A1C4: @ 817A1C4 ldr r0, =gPlayerParty adds r5, r0 ldr r1, =gSaveBlock1Ptr - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] lsls r0, 3 ldr r2, =0x00000848 @@ -889,7 +889,7 @@ sub_817A358: @ 817A358 movs r1, 0x1 strb r1, [r0] adds r0, r4, 0 - bl sub_806E840 + bl IsPokeSpriteNotFlipped lsls r0, 24 cmp r0, 0 bne _0817A402 diff --git a/asm/pokedex.s b/asm/pokedex.s index c24701b76..b2ee96145 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -2450,7 +2450,7 @@ _080BC976: strh r0, [r1] ldrh r0, [r5, 0x4] movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r3, r8 ldr r2, [r3] adds r2, r4 @@ -2465,7 +2465,7 @@ _080BC976: strb r0, [r2, 0x2] ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r1, r8 ldr r3, [r1] adds r3, r4 @@ -2520,7 +2520,7 @@ _080BCA1A: strh r0, [r6, 0x4] ldrh r0, [r6, 0x4] movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 adds r7, r4, 0 cmp r0, 0 @@ -2541,7 +2541,7 @@ _080BCA36: strh r0, [r1] ldrh r0, [r6, 0x4] movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r1, r8 ldr r2, [r1] adds r2, r4 @@ -2558,7 +2558,7 @@ _080BCA36: strb r0, [r2, 0x2] ldrh r0, [r6, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r2, r8 ldr r3, [r2] adds r3, r4 @@ -2625,7 +2625,7 @@ _080BCADA: bhi _080BCB58 ldrh r0, [r5, 0x4] movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BCB58 @@ -2646,7 +2646,7 @@ _080BCADA: strb r0, [r2, 0x2] ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag mov r1, r8 ldr r3, [r1] adds r1, r3, r6 @@ -2701,7 +2701,7 @@ _080BCB82: bhi _080BCBE2 ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BCBE2 @@ -2768,7 +2768,7 @@ _080BCC16: bhi _080BCC7E ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BCC7E @@ -2833,7 +2833,7 @@ _080BCCAA: bhi _080BCD0A ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BCD0A @@ -2900,7 +2900,7 @@ _080BCD3E: bhi _080BCDA6 ldrh r0, [r5, 0x4] movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080BCDA6 @@ -9408,9 +9408,9 @@ _080C065C: .pool thumb_func_end GetPokedexHeightWeight - thumb_func_start pokedex_flag_operation -@ u8 pokedex_flag_operation(u16 nationalPokedexNum, u8 op) -pokedex_flag_operation: @ 80C0664 + thumb_func_start GetSetPokedexFlag +@ u8 GetSetPokedexFlag(u16 nationalPokedexNum, u8 op) +GetSetPokedexFlag: @ 80C0664 push {r4-r7,lr} lsls r0, 16 lsls r1, 24 @@ -9595,7 +9595,7 @@ _080C07E8: pop {r1} bx r1 .pool - thumb_func_end pokedex_flag_operation + thumb_func_end GetSetPokedexFlag thumb_func_start pokedex_count pokedex_count: @ 80C07F4 @@ -9625,7 +9625,7 @@ _080C081A: lsrs r0, 16 movs r1, 0x1 _080C0822: - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080C0832 @@ -9675,7 +9675,7 @@ _080C086C: lsrs r0, 16 movs r1, 0x1 _080C087C: - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080C088C @@ -9719,7 +9719,7 @@ _080C08BC: lsrs r0, 16 movs r1, 0x1 _080C08C4: - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080C08D4 @@ -9750,7 +9750,7 @@ _080C08E8: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _080C0908 @@ -9777,7 +9777,7 @@ _080C091C: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _080C0934 @@ -9804,7 +9804,7 @@ _080C0948: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080C0996 @@ -9818,7 +9818,7 @@ _080C0964: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080C0996 @@ -9833,7 +9833,7 @@ _080C0982: lsrs r4, r0, 16 adds r0, r4, 0 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _080C09A0 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index 45a863c67..ed97cd672 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -7,235 +7,6 @@ - - thumb_func_start sub_8068338 -sub_8068338: @ 8068338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x58 - adds r7, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r1, =0x00000ca9 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08068374 - lsls r0, r1, 30 - lsrs r0, 30 - bl sub_8165C90 - lsls r0, 24 - lsrs r3, r0, 24 - b _0806837C - .pool -_08068374: - movs r3, 0x32 - cmp r2, 0 - bne _0806837C - ldrb r3, [r6, 0xC] -_0806837C: - ldrh r1, [r6] - movs r2, 0x1 - str r2, [sp] - ldr r0, [r6, 0x1C] - str r0, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, [r6, 0x14] - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r2, r3, 0 - movs r3, 0 - bl CreateMon - movs r5, 0 - movs r0, 0xD - adds r0, r6 - mov r10, r0 - adds r1, r6, 0x2 - str r1, [sp, 0x38] - adds r0, r6, 0 - adds r0, 0x2B - str r0, [sp, 0x34] - adds r1, 0x1E - str r1, [sp, 0x54] - add r0, sp, 0x30 - mov r9, r0 - subs r1, 0x12 - str r1, [sp, 0x3C] - adds r0, r6, 0 - adds r0, 0xF - str r0, [sp, 0x40] - adds r1, 0x2 - str r1, [sp, 0x44] - adds r0, 0x2 - str r0, [sp, 0x48] - adds r1, 0x2 - str r1, [sp, 0x4C] - adds r0, 0x2 - str r0, [sp, 0x50] - movs r1, 0x31 - add r1, sp - mov r8, r1 - adds r4, r6, 0x4 -_080683D2: - ldrh r1, [r4] - lsls r2, r5, 24 - lsrs r2, 24 - adds r0, r7, 0 - bl SetMonMoveSlot - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080683D2 - adds r0, r7, 0 - movs r1, 0x15 - mov r2, r10 - bl SetMonData - adds r0, r7, 0 - movs r1, 0xC - ldr r2, [sp, 0x38] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x20 - ldr r2, [sp, 0x34] - bl SetMonData - add r0, sp, 0x10 - ldr r1, [sp, 0x54] - bl StringCopy - add r0, sp, 0x10 - ldrb r0, [r0] - cmp r0, 0xFC - bne _0806842A - add r0, sp, 0x10 - ldrb r0, [r0, 0x1] - cmp r0, 0x15 - bne _0806842A - movs r0, 0x1 - mov r1, r9 - strb r0, [r1] - add r0, sp, 0x10 - bl StripExtCtrlCodes - b _08068430 -_0806842A: - movs r0, 0x2 - mov r1, r9 - strb r0, [r1] -_08068430: - adds r0, r7, 0 - movs r1, 0x3 - mov r2, r9 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x2 - add r2, sp, 0x10 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1A - ldr r2, [sp, 0x3C] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1B - ldr r2, [sp, 0x40] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1C - ldr r2, [sp, 0x44] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1D - ldr r2, [sp, 0x48] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1E - ldr r2, [sp, 0x4C] - bl SetMonData - adds r0, r7, 0 - movs r1, 0x1F - ldr r2, [sp, 0x50] - bl SetMonData - ldrb r0, [r6, 0x1B] - lsrs r0, 7 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2E - mov r2, r8 - bl SetMonData - ldrb r0, [r6, 0x18] - lsls r0, 27 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x27 - mov r2, r8 - bl SetMonData - ldrh r0, [r6, 0x18] - lsls r0, 22 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x28 - mov r2, r8 - bl SetMonData - ldrb r0, [r6, 0x19] - lsls r0, 25 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x29 - mov r2, r8 - bl SetMonData - ldr r0, [r6, 0x18] - lsls r0, 12 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2A - mov r2, r8 - bl SetMonData - ldrh r0, [r6, 0x1A] - lsls r0, 23 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2B - mov r2, r8 - bl SetMonData - ldrb r0, [r6, 0x1B] - lsls r0, 26 - lsrs r0, 27 - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2C - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - bl MonRestorePP - adds r0, r7, 0 - bl CalculateMonStats - add sp, 0x58 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8068338 - thumb_func_start sub_8068528 sub_8068528: @ 8068528 push {r4-r7,lr} @@ -284,7 +55,7 @@ sub_8068528: @ 8068528 subs r0, 0x1 lsls r0, 24 lsrs r0, 24 - bl sub_8165C90 + bl BattleFrontierGetOpponentLvl adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -823,8 +594,8 @@ _08068A02: .pool thumb_func_end sub_80688F8 - thumb_func_start get_pokemon_data_3 -get_pokemon_data_3: @ 8068A10 + thumb_func_start GetDeoxysStat +GetDeoxysStat: @ 8068A10 push {r4-r6,lr} adds r5, r0, 0 adds r6, r1, 0 @@ -895,7 +666,7 @@ _08068A9A: pop {r1} bx r1 .pool - thumb_func_end get_pokemon_data_3 + thumb_func_end GetDeoxysStat thumb_func_start sub_8068AA4 sub_8068AA4: @ 8068AA4 @@ -1012,7 +783,7 @@ _08068B78: lsls r2, 1 adds r2, r0 ldrh r0, [r2] - bl TrainerClassToTrainerPic + bl sub_806EFF0 lsls r0, 16 lsrs r0, 16 pop {r1} @@ -1056,7 +827,7 @@ _08068BE0: ldrb r0, [r1, 0x13] lsls r0, 3 orrs r2, r0 - ldr r1, =gTrainerClassNameIndices + ldr r1, =gTrainerClassToNameIndex ldr r0, =gUnknown_08329D54 lsls r2, 1 adds r2, r0 diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s index 7b587ad5c..fc5e15cb8 100644 --- a/asm/pokemon_2.s +++ b/asm/pokemon_2.s @@ -5,3641 +5,6 @@ .text - thumb_func_start CountAliveMonsInBattle -CountAliveMonsInBattle: @ 8069DEC - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - movs r6, 0 - cmp r0, 0x1 - beq _08069E40 - cmp r0, 0x1 - bgt _08069E04 - cmp r0, 0 - beq _08069E0A - b _08069EC2 -_08069E04: - cmp r1, 0x2 - beq _08069E88 - b _08069EC2 -_08069E0A: - movs r5, 0 - ldr r0, =gActiveBank - ldrb r3, [r0] - ldr r4, =gAbsentBankFlags - ldr r2, =gBitTable -_08069E14: - cmp r5, r3 - beq _08069E28 - ldrb r0, [r4] - ldr r1, [r2] - ands r0, r1 - cmp r0, 0 - bne _08069E28 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08069E28: - adds r2, 0x4 - adds r5, 0x1 - cmp r5, 0x3 - ble _08069E14 - b _08069EC2 - .pool -_08069E40: - movs r5, 0 -_08069E42: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBankSide - adds r4, r0, 0 - ldr r0, =gBankAttacker - ldrb r0, [r0] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08069E74 - ldr r0, =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08069E74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08069E74: - adds r5, 0x1 - cmp r5, 0x3 - ble _08069E42 - b _08069EC2 - .pool -_08069E88: - movs r5, 0 -_08069E8A: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBankSide - adds r4, r0, 0 - ldr r0, =gBankTarget - ldrb r0, [r0] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08069EBC - ldr r0, =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08069EBC - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08069EBC: - adds r5, 0x1 - cmp r5, 0x3 - ble _08069E8A -_08069EC2: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end CountAliveMonsInBattle - - thumb_func_start ShouldGetStatBadgeBoost -ShouldGetStatBadgeBoost: @ 8069ED8 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r4, =gBattleTypeFlags - ldr r0, [r4] - ldr r1, =0x023f0902 - ands r0, r1 - cmp r0, 0 - bne _08069F1C - adds r0, r2, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08069F1C - ldr r0, [r4] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08069F10 - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _08069F1C -_08069F10: - adds r0, r5, 0 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _08069F2C -_08069F1C: - movs r0, 0 - b _08069F2E - .pool -_08069F2C: - movs r0, 0x1 -_08069F2E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ShouldGetStatBadgeBoost - - thumb_func_start sub_8069F34 -sub_8069F34: @ 8069F34 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - bl GetBankIdentity - movs r1, 0x1 - movs r6, 0x1 - adds r4, r6, 0 - ands r4, r0 - eors r4, r1 - adds r5, r4, 0 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - bne _08069F5C - adds r0, r4, 0 - b _08069FA6 - .pool -_08069F5C: - movs r0, 0 - bl CountAliveMonsInBattle - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08069F80 - bl Random - adds r1, r6, 0 - ands r1, r0 - cmp r1, 0 - bne _08069F7C - movs r0, 0x2 - eors r0, r4 - b _08069FA6 -_08069F7C: - adds r0, r4, 0 - b _08069FA6 -_08069F80: - ldr r0, =gAbsentBankFlags - ldrb r1, [r0] - ldr r2, =gBitTable - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08069FA0 - adds r0, r4, 0 - b _08069FA6 - .pool -_08069FA0: - movs r0, 0x2 - eors r5, r0 - adds r0, r5, 0 -_08069FA6: - bl GetBankByPlayerAI - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8069F34 - - thumb_func_start GetMonGender -GetMonGender: @ 8069FB4 - push {lr} - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetMonGender - - thumb_func_start GetBoxMonGender -GetBoxMonGender: @ 8069FC4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetBoxMonData - adds r2, r0, 0 - ldr r1, =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0806A01A - cmp r0, 0 - blt _08069FFC - cmp r0, 0xFF - bgt _08069FFC - cmp r0, 0xFE - bge _0806A01A -_08069FFC: - ldr r1, =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0xFF - ands r0, r2 - cmp r1, r0 - bhi _0806A018 - movs r0, 0 - b _0806A01A - .pool -_0806A018: - movs r0, 0xFE -_0806A01A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBoxMonGender - - thumb_func_start GetGenderFromSpeciesAndPersonality -GetGenderFromSpeciesAndPersonality: @ 806A020 - push {lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, =gBaseStats - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0806A062 - cmp r0, 0 - blt _0806A044 - cmp r0, 0xFF - bgt _0806A044 - cmp r0, 0xFE - bge _0806A062 -_0806A044: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r0, 0xFF - ands r0, r3 - cmp r1, r0 - bhi _0806A060 - movs r0, 0 - b _0806A062 - .pool -_0806A060: - movs r0, 0xFE -_0806A062: - pop {r1} - bx r1 - thumb_func_end GetGenderFromSpeciesAndPersonality - - thumb_func_start sub_806A068 -sub_806A068: @ 806A068 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_020244D4 - ldr r2, [r0] - cmp r2, 0 - beq _0806A09C - ldr r0, =gUnknown_0202499C - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, r2, r1 - adds r2, r0, 0 - adds r1, 0x14 - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - adds r3, r0, 0 - b _0806A0DA - .pool -_0806A09C: - ldr r1, =gUnknown_020249B4 - ldr r0, [r1] - cmp r0, 0 - beq _0806A0B4 - ldr r3, =gUnknown_0202499C - ldr r2, [r0, 0xC] - b _0806A0C8 - .pool -_0806A0B4: - ldr r0, [r1, 0x4] - cmp r0, 0 - beq _0806A0C4 - ldr r3, =gUnknown_0202499C - ldr r2, [r0, 0xC] - b _0806A0C8 - .pool -_0806A0C4: - ldr r3, =gUnknown_0202499C - ldr r2, =gUnknown_08329D98 -_0806A0C8: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r3, 0 - adds r0, r2 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} -_0806A0DA: - adds r2, r3, 0 - strh r5, [r2, 0x2] - cmp r4, 0 - beq _0806A0E6 - cmp r4, 0x2 - bne _0806A0F8 -_0806A0E6: - ldr r0, =gUnknown_082FF70C - str r0, [r2, 0x8] - b _0806A122 - .pool -_0806A0F8: - movs r0, 0xFA - lsls r0, 1 - cmp r5, r0 - bls _0806A118 - ldr r0, =gUnknown_08309AAC - ldr r3, =0xfffffe0c - adds r1, r5, r3 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x8] - b _0806A122 - .pool -_0806A118: - ldr r0, =gUnknown_08309AAC - lsls r1, r5, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r3, 0x8] -_0806A122: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806A068 - - thumb_func_start template_build_for_pokemon_or_trainer -template_build_for_pokemon_or_trainer: @ 806A12C - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r0, =gUnknown_0202499C - strh r4, [r0, 0x2] - adds r5, r0, 0 - cmp r3, 0 - beq _0806A144 - cmp r3, 0x2 - bne _0806A170 -_0806A144: - ldr r2, =gUnknown_08329DF8 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r5, 0 - adds r0, r2 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r1, =gUnknown_08305D0C - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - b _0806A1B0 - .pool -_0806A170: - ldr r0, =gUnknown_020244D4 - ldr r1, [r0] - cmp r1, 0 - beq _0806A194 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r0, r1, r0 - adds r1, r5, 0 - adds r0, 0x14 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - b _0806A1A8 - .pool -_0806A194: - ldr r0, =gUnknown_08329D98 - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r2, r5, 0 - adds r1, r0 - ldm r1!, {r0,r3,r6} - stm r2!, {r0,r3,r6} - ldm r1!, {r0,r3,r6} - stm r2!, {r0,r3,r6} -_0806A1A8: - ldr r0, =gUnknown_0830536C - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] -_0806A1B0: - str r0, [r5, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end template_build_for_pokemon_or_trainer - - thumb_func_start sub_806A1C0 -sub_806A1C0: @ 806A1C0 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, =gUnknown_020244D4 - ldr r2, [r0] - cmp r2, 0 - beq _0806A1F4 - ldr r0, =gUnknown_0202499C - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, r2, r1 - adds r2, r0, 0 - adds r1, 0x14 - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - adds r3, r0, 0 - b _0806A20A - .pool -_0806A1F4: - ldr r3, =gUnknown_0202499C - ldr r2, =gUnknown_08329D98 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - adds r1, r3, 0 - adds r0, r2 - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} -_0806A20A: - strh r5, [r3, 0x2] - ldr r0, =gUnknown_0830536C - lsls r1, r5, 2 - adds r1, r0 - ldr r0, [r1] - str r0, [r3, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806A1C0 - - thumb_func_start EncryptBoxMon -@ void EncryptBoxMon(pokemon *mon) -EncryptBoxMon: @ 806A228 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0806A232: - ldr r0, [r2] - ldr r1, [r3] - eors r0, r1 - str r0, [r2] - ldr r1, [r3, 0x4] - eors r0, r1 - stm r2!, {r0} - adds r4, 0x1 - cmp r4, 0xB - bls _0806A232 - pop {r4} - pop {r0} - bx r0 - thumb_func_end EncryptBoxMon - - thumb_func_start DecryptBoxMon -@ void DecryptBoxMon(pokemon *mon) -DecryptBoxMon: @ 806A24C - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0806A256: - ldr r0, [r2] - ldr r1, [r3, 0x4] - eors r0, r1 - str r0, [r2] - ldr r1, [r3] - eors r0, r1 - stm r2!, {r0} - adds r4, 0x1 - cmp r4, 0xB - bls _0806A256 - pop {r4} - pop {r0} - bx r0 - thumb_func_end DecryptBoxMon - - thumb_func_start GetSubstruct -@ int GetSubstruct(pokemon *mon, int a2, u8 a3) -GetSubstruct: @ 806A270 - push {r4-r6,lr} - adds r5, r0, 0 - adds r0, r1, 0 - lsls r2, 24 - lsrs r4, r2, 24 - movs r6, 0 - movs r1, 0x18 - bl __umodsi3 - cmp r0, 0x17 - bls _0806A288 - b _0806A510 -_0806A288: - lsls r0, 2 - ldr r1, =_0806A298 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806A298: - .4byte _0806A2F8 - .4byte _0806A31C - .4byte _0806A338 - .4byte _0806A34E - .4byte _0806A364 - .4byte _0806A380 - .4byte _0806A396 - .4byte _0806A3AC - .4byte _0806A3BC - .4byte _0806A3DA - .4byte _0806A3F2 - .4byte _0806A402 - .4byte _0806A416 - .4byte _0806A428 - .4byte _0806A43A - .4byte _0806A44C - .4byte _0806A45E - .4byte _0806A470 - .4byte _0806A482 - .4byte _0806A498 - .4byte _0806A4AC - .4byte _0806A4BA - .4byte _0806A4CC - .4byte _0806A4E0 -_0806A2F8: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A302 - b _0806A508 -_0806A302: - cmp r4, 0x1 - bgt _0806A30E -_0806A306: - cmp r4, 0 - bne _0806A30C - b _0806A50E -_0806A30C: - b _0806A510 -_0806A30E: - cmp r4, 0x2 - bne _0806A314 - b _0806A502 -_0806A314: - cmp r4, 0x3 - beq _0806A31A - b _0806A510 -_0806A31A: - b _0806A4FC -_0806A31C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A326 - b _0806A508 -_0806A326: - cmp r4, 0x1 - ble _0806A306 -_0806A32A: - cmp r4, 0x2 - bne _0806A330 - b _0806A4FC -_0806A330: - cmp r4, 0x3 - beq _0806A336 - b _0806A510 -_0806A336: - b _0806A502 -_0806A338: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A342 - b _0806A502 -_0806A342: - cmp r4, 0x1 - ble _0806A306 - cmp r4, 0x2 - bne _0806A34C - b _0806A508 -_0806A34C: - b _0806A314 -_0806A34E: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A358 - b _0806A4FC -_0806A358: - cmp r4, 0x1 - ble _0806A306 - cmp r4, 0x2 - bne _0806A362 - b _0806A508 -_0806A362: - b _0806A330 -_0806A364: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A36E - b _0806A502 -_0806A36E: - cmp r4, 0x1 - ble _0806A306 -_0806A372: - cmp r4, 0x2 - bne _0806A378 - b _0806A4FC -_0806A378: - cmp r4, 0x3 - beq _0806A37E - b _0806A510 -_0806A37E: - b _0806A508 -_0806A380: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A38A - b _0806A4FC -_0806A38A: - cmp r4, 0x1 - ble _0806A306 - cmp r4, 0x2 - bne _0806A394 - b _0806A502 -_0806A394: - b _0806A378 -_0806A396: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A3A0 - b _0806A50E -_0806A3A0: - cmp r4, 0x1 - bgt _0806A30E -_0806A3A4: - cmp r4, 0 - bne _0806A3AA - b _0806A508 -_0806A3AA: - b _0806A510 -_0806A3AC: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A3B6 - b _0806A50E -_0806A3B6: - cmp r4, 0x1 - ble _0806A3A4 - b _0806A32A -_0806A3BC: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A3C6 - b _0806A50E -_0806A3C6: - cmp r4, 0x1 - bgt _0806A3D2 -_0806A3CA: - cmp r4, 0 - bne _0806A3D0 - b _0806A502 -_0806A3D0: - b _0806A510 -_0806A3D2: - cmp r4, 0x2 - bne _0806A3D8 - b _0806A508 -_0806A3D8: - b _0806A314 -_0806A3DA: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A3E4 - b _0806A50E -_0806A3E4: - cmp r4, 0x1 - bgt _0806A3EA - b _0806A4EC -_0806A3EA: - cmp r4, 0x2 - bne _0806A3F0 - b _0806A508 -_0806A3F0: - b _0806A330 -_0806A3F2: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A3FC - b _0806A50E -_0806A3FC: - cmp r4, 0x1 - ble _0806A3CA - b _0806A372 -_0806A402: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0806A40C - b _0806A50E -_0806A40C: - cmp r4, 0x1 - ble _0806A4EC - cmp r4, 0x2 - beq _0806A502 - b _0806A378 -_0806A416: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A502 - cmp r4, 0x1 - ble _0806A3A4 - cmp r4, 0x2 - beq _0806A50E - b _0806A314 -_0806A428: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A4FC - cmp r4, 0x1 - ble _0806A3A4 - cmp r4, 0x2 - beq _0806A50E - b _0806A330 -_0806A43A: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A508 - cmp r4, 0x1 - ble _0806A3CA - cmp r4, 0x2 - beq _0806A50E - b _0806A314 -_0806A44C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A508 - cmp r4, 0x1 - ble _0806A4EC - cmp r4, 0x2 - beq _0806A50E - b _0806A330 -_0806A45E: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A4FC - cmp r4, 0x1 - ble _0806A3CA - cmp r4, 0x2 - beq _0806A50E - b _0806A378 -_0806A470: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A502 - cmp r4, 0x1 - ble _0806A4EC - cmp r4, 0x2 - beq _0806A50E - b _0806A378 -_0806A482: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A502 - cmp r4, 0x1 - ble _0806A3A4 -_0806A48E: - cmp r4, 0x2 - beq _0806A4FC -_0806A492: - cmp r4, 0x3 - bne _0806A510 - b _0806A50E -_0806A498: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A4FC - cmp r4, 0x1 - bgt _0806A4A6 - b _0806A3A4 -_0806A4A6: - cmp r4, 0x2 - beq _0806A502 - b _0806A492 -_0806A4AC: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A508 - cmp r4, 0x1 - ble _0806A3CA - b _0806A48E -_0806A4BA: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A508 - cmp r4, 0x1 - ble _0806A4EC - cmp r4, 0x2 - beq _0806A502 - b _0806A492 -_0806A4CC: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A4FC - cmp r4, 0x1 - bgt _0806A4DA - b _0806A3CA -_0806A4DA: - cmp r4, 0x2 - beq _0806A508 - b _0806A492 -_0806A4E0: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0806A502 - cmp r4, 0x1 - bgt _0806A4F2 -_0806A4EC: - cmp r4, 0 - beq _0806A4FC - b _0806A510 -_0806A4F2: - cmp r4, 0x2 - beq _0806A508 - cmp r4, 0x3 - beq _0806A50E - b _0806A510 -_0806A4FC: - adds r6, r5, 0 - adds r6, 0x44 - b _0806A510 -_0806A502: - adds r6, r5, 0 - adds r6, 0x38 - b _0806A510 -_0806A508: - adds r6, r5, 0 - adds r6, 0x2C - b _0806A510 -_0806A50E: - adds r6, r0, 0 -_0806A510: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetSubstruct - - thumb_func_start GetMonData -@ int GetMonData(pokemon *mon, enum pokemon_data_request req, void *data) -GetMonData: @ 806A518 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - adds r0, r3, 0 - subs r0, 0x37 - cmp r0, 0x21 - bls _0806A528 - b _0806A666 -_0806A528: - lsls r0, 2 - ldr r1, =_0806A538 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806A538: - .4byte _0806A5C0 - .4byte _0806A5C4 - .4byte _0806A5CC - .4byte _0806A5D4 - .4byte _0806A5DC - .4byte _0806A5EE - .4byte _0806A600 - .4byte _0806A612 - .4byte _0806A624 - .4byte _0806A65E - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A666 - .4byte _0806A636 - .4byte _0806A63E - .4byte _0806A646 - .4byte _0806A64E - .4byte _0806A656 -_0806A5C0: - ldr r0, [r4, 0x50] - b _0806A66E -_0806A5C4: - adds r0, r4, 0 - adds r0, 0x54 - ldrb r0, [r0] - b _0806A66E -_0806A5CC: - adds r0, r4, 0 - adds r0, 0x56 - ldrh r0, [r0] - b _0806A66E -_0806A5D4: - adds r0, r4, 0 - adds r0, 0x58 - ldrh r0, [r0] - b _0806A66E -_0806A5DC: - adds r0, r4, 0 - movs r1, 0x1 - bl get_pokemon_data_3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806A66E - b _0806A636 -_0806A5EE: - adds r0, r4, 0 - movs r1, 0x2 - bl get_pokemon_data_3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806A66E - b _0806A63E -_0806A600: - adds r0, r4, 0 - movs r1, 0x3 - bl get_pokemon_data_3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806A66E - b _0806A646 -_0806A612: - adds r0, r4, 0 - movs r1, 0x4 - bl get_pokemon_data_3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806A66E - b _0806A64E -_0806A624: - adds r0, r4, 0 - movs r1, 0x5 - bl get_pokemon_data_3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0806A66E - b _0806A656 -_0806A636: - adds r0, r4, 0 - adds r0, 0x5A - ldrh r0, [r0] - b _0806A66E -_0806A63E: - adds r0, r4, 0 - adds r0, 0x5C - ldrh r0, [r0] - b _0806A66E -_0806A646: - adds r0, r4, 0 - adds r0, 0x5E - ldrh r0, [r0] - b _0806A66E -_0806A64E: - adds r0, r4, 0 - adds r0, 0x60 - ldrh r0, [r0] - b _0806A66E -_0806A656: - adds r0, r4, 0 - adds r0, 0x62 - ldrh r0, [r0] - b _0806A66E -_0806A65E: - adds r0, r4, 0 - adds r0, 0x55 - ldrb r0, [r0] - b _0806A66E -_0806A666: - adds r0, r4, 0 - adds r1, r3, 0 - bl GetBoxMonData -_0806A66E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonData - - thumb_func_start GetBoxMonData -@ int GetBoxMonData(pokemon *mon, enum pokemon_data_request req, void *data) -GetBoxMonData: @ 806A674 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - str r1, [sp] - adds r6, r2, 0 - movs r4, 0 - mov r9, r4 - mov r10, r4 - movs r7, 0 - movs r5, 0 - cmp r1, 0xA - ble _0806A6F2 - ldr r1, [r0] - movs r2, 0 - bl GetSubstruct - mov r9, r0 - mov r0, r8 - ldr r1, [r0] - movs r2, 0x1 - bl GetSubstruct - mov r10, r0 - mov r2, r8 - ldr r1, [r2] - mov r0, r8 - movs r2, 0x2 - bl GetSubstruct - adds r7, r0, 0 - mov r0, r8 - ldr r1, [r0] - movs r2, 0x3 - bl GetSubstruct - adds r5, r0, 0 - mov r0, r8 - bl DecryptBoxMon - mov r0, r8 - bl CalculateBoxMonChecksum - lsls r0, 16 - lsrs r0, 16 - mov r1, r8 - ldrh r1, [r1, 0x1C] - cmp r0, r1 - beq _0806A6F2 - mov r2, r8 - ldrb r0, [r2, 0x13] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x13] - ldrb r0, [r5, 0x7] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x7] -_0806A6F2: - ldr r0, [sp] - cmp r0, 0x53 - bls _0806A6FA - b _0806AC8C -_0806A6FA: - lsls r0, 2 - ldr r1, =_0806A708 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806A708: - .4byte _0806A858 - .4byte _0806A85E - .4byte _0806A864 - .4byte _0806A918 - .4byte _0806A91E - .4byte _0806A924 - .4byte _0806A92A - .4byte _0806A930 - .4byte _0806A94C - .4byte _0806A952 - .4byte _0806A958 - .4byte _0806A95E - .4byte _0806A976 - .4byte _0806A98E - .4byte _0806A98E - .4byte _0806A98E - .4byte _0806A98E - .4byte _0806A99A - .4byte _0806A99A - .4byte _0806A99A - .4byte _0806A99A - .4byte _0806A982 - .4byte _0806A9BC - .4byte _0806A9C0 - .4byte _0806A9C4 - .4byte _0806A97C - .4byte _0806A9A4 - .4byte _0806A9A8 - .4byte _0806A9AC - .4byte _0806A9B0 - .4byte _0806A9B4 - .4byte _0806A9B8 - .4byte _0806A988 - .4byte _0806A9C8 - .4byte _0806A9D4 - .4byte _0806A9D8 - .4byte _0806A9DC - .4byte _0806A9E4 - .4byte _0806A9EC - .4byte _0806A9F6 - .4byte _0806A9FE - .4byte _0806AA06 - .4byte _0806AA0E - .4byte _0806AA16 - .4byte _0806AA1E - .4byte _0806AA26 - .4byte _0806AA2A - .4byte _0806A9CC - .4byte _0806A9D0 - .4byte _0806A9F0 - .4byte _0806AA30 - .4byte _0806AA38 - .4byte _0806AA40 - .4byte _0806AA48 - .4byte _0806AA50 - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AC8C - .4byte _0806AAB6 - .4byte _0806AADC - .4byte _0806AA58 - .4byte _0806AA5E - .4byte _0806AA62 - .4byte _0806AA66 - .4byte _0806AA6A - .4byte _0806AA72 - .4byte _0806AA7A - .4byte _0806AA82 - .4byte _0806AA8A - .4byte _0806AA90 - .4byte _0806AA98 - .4byte _0806AAA0 - .4byte _0806AAA8 - .4byte _0806AAB0 - .4byte _0806AB16 - .4byte _0806AB70 - .4byte _0806ABF2 -_0806A858: - mov r1, r8 - ldr r4, [r1] - b _0806AC8C -_0806A85E: - mov r2, r8 - ldr r4, [r2, 0x4] - b _0806AC8C -_0806A864: - mov r0, r8 - ldrb r1, [r0, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0806A89C - movs r4, 0 - ldr r0, =gUnknown_085CCB90 - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0xFF - beq _0806A944 - adds r3, r2, 0 -_0806A87E: - adds r0, r6, r4 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x9 - bhi _0806A944 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0806A87E - b _0806A944 - .pool -_0806A89C: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0806A8BC - ldr r1, =gUnknown_085E8264 - adds r0, r6, 0 - bl StringCopy - adds r0, r6, 0 - bl StringLength - lsls r0, 16 - lsrs r4, r0, 16 - b _0806AC8C - .pool -_0806A8BC: - mov r1, r8 - ldrb r0, [r1, 0x12] - cmp r0, 0x1 - bne _0806A902 - movs r0, 0xFC - strb r0, [r6] - movs r0, 0x15 - strb r0, [r6, 0x1] - movs r4, 0x2 - movs r3, 0 - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _0806A8F0 - mov r2, r8 - adds r2, 0x8 -_0806A8DA: - adds r1, r6, r4 - ldrb r0, [r2] - strb r0, [r1] - adds r4, 0x1 - adds r2, 0x1 - adds r3, 0x1 - cmp r3, 0x4 - bgt _0806A8F0 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0806A8DA -_0806A8F0: - adds r1, r6, r4 - movs r0, 0xFC - strb r0, [r1] - adds r4, 0x1 - adds r1, r6, r4 - movs r0, 0x16 - strb r0, [r1] - adds r4, 0x1 - b _0806A944 -_0806A902: - movs r4, 0 - mov r2, r8 - adds r2, 0x8 -_0806A908: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x9 - bls _0806A908 - b _0806A944 -_0806A918: - mov r2, r8 - ldrb r4, [r2, 0x12] - b _0806AC8C -_0806A91E: - mov r6, r8 - ldrb r0, [r6, 0x13] - b _0806AA92 -_0806A924: - mov r1, r8 - ldrb r0, [r1, 0x13] - b _0806AA9A -_0806A92A: - mov r2, r8 - ldrb r0, [r2, 0x13] - b _0806AAA2 -_0806A930: - movs r4, 0 - mov r2, r8 - adds r2, 0x14 -_0806A936: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - bls _0806A936 -_0806A944: - adds r1, r6, r4 - movs r0, 0xFF - strb r0, [r1] - b _0806AC8C -_0806A94C: - mov r6, r8 - ldrb r4, [r6, 0x1B] - b _0806AC8C -_0806A952: - mov r0, r8 - ldrh r4, [r0, 0x1C] - b _0806AC8C -_0806A958: - mov r1, r8 - ldrh r4, [r1, 0x1E] - b _0806AC8C -_0806A95E: - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - movs r4, 0xCE - lsls r4, 1 - cmp r0, 0 - beq _0806A970 - b _0806AC8C -_0806A970: - mov r6, r9 - ldrh r4, [r6] - b _0806AC8C -_0806A976: - mov r0, r9 - ldrh r4, [r0, 0x2] - b _0806AC8C -_0806A97C: - mov r1, r9 - ldr r4, [r1, 0x4] - b _0806AC8C -_0806A982: - mov r2, r9 - ldrb r4, [r2, 0x8] - b _0806AC8C -_0806A988: - mov r6, r9 - ldrb r4, [r6, 0x9] - b _0806AC8C -_0806A98E: - ldr r0, [sp] - subs r0, 0xD - lsls r0, 1 - add r0, r10 - ldrh r4, [r0] - b _0806AC8C -_0806A99A: - ldr r0, [sp] - add r0, r10 - subs r0, 0x9 - ldrb r4, [r0] - b _0806AC8C -_0806A9A4: - ldrb r4, [r7] - b _0806AC8C -_0806A9A8: - ldrb r4, [r7, 0x1] - b _0806AC8C -_0806A9AC: - ldrb r4, [r7, 0x2] - b _0806AC8C -_0806A9B0: - ldrb r4, [r7, 0x3] - b _0806AC8C -_0806A9B4: - ldrb r4, [r7, 0x4] - b _0806AC8C -_0806A9B8: - ldrb r4, [r7, 0x5] - b _0806AC8C -_0806A9BC: - ldrb r4, [r7, 0x6] - b _0806AC8C -_0806A9C0: - ldrb r4, [r7, 0x7] - b _0806AC8C -_0806A9C4: - ldrb r4, [r7, 0x8] - b _0806AC8C -_0806A9C8: - ldrb r4, [r7, 0x9] - b _0806AC8C -_0806A9CC: - ldrb r4, [r7, 0xA] - b _0806AC8C -_0806A9D0: - ldrb r4, [r7, 0xB] - b _0806AC8C -_0806A9D4: - ldrb r4, [r5] - b _0806AC8C -_0806A9D8: - ldrb r4, [r5, 0x1] - b _0806AC8C -_0806A9DC: - ldrb r0, [r5, 0x2] - lsls r0, 25 - lsrs r4, r0, 25 - b _0806AC8C -_0806A9E4: - ldrh r0, [r5, 0x2] - lsls r0, 21 - lsrs r4, r0, 28 - b _0806AC8C -_0806A9EC: - ldrb r0, [r5, 0x3] - b _0806AAAA -_0806A9F0: - ldrb r0, [r5, 0x3] - lsrs r4, r0, 7 - b _0806AC8C -_0806A9F6: - ldrb r0, [r5, 0x4] - lsls r0, 27 - lsrs r4, r0, 27 - b _0806AC8C -_0806A9FE: - ldrh r0, [r5, 0x4] - lsls r0, 22 - lsrs r4, r0, 27 - b _0806AC8C -_0806AA06: - ldrb r0, [r5, 0x5] - lsls r0, 25 - lsrs r4, r0, 27 - b _0806AC8C -_0806AA0E: - ldr r0, [r5, 0x4] - lsls r0, 12 - lsrs r4, r0, 27 - b _0806AC8C -_0806AA16: - ldrh r0, [r5, 0x6] - lsls r0, 23 - lsrs r4, r0, 27 - b _0806AC8C -_0806AA1E: - ldrb r0, [r5, 0x7] - lsls r0, 26 - lsrs r4, r0, 27 - b _0806AC8C -_0806AA26: - ldrb r0, [r5, 0x7] - b _0806AA84 -_0806AA2A: - ldrb r0, [r5, 0x7] - lsrs r4, r0, 7 - b _0806AC8C -_0806AA30: - ldrb r0, [r5, 0x8] - lsls r0, 29 - lsrs r4, r0, 29 - b _0806AC8C -_0806AA38: - ldrb r0, [r5, 0x8] - lsls r0, 26 - lsrs r4, r0, 29 - b _0806AC8C -_0806AA40: - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r4, r0, 29 - b _0806AC8C -_0806AA48: - ldrb r0, [r5, 0x9] - lsls r0, 28 - lsrs r4, r0, 29 - b _0806AC8C -_0806AA50: - ldrb r0, [r5, 0x9] - lsls r0, 25 - lsrs r4, r0, 29 - b _0806AC8C -_0806AA58: - ldrb r0, [r5, 0x9] - lsrs r4, r0, 7 - b _0806AC8C -_0806AA5E: - ldrb r0, [r5, 0xA] - b _0806AA92 -_0806AA62: - ldrb r0, [r5, 0xA] - b _0806AA9A -_0806AA66: - ldrb r0, [r5, 0xA] - b _0806AAA2 -_0806AA6A: - ldrb r0, [r5, 0xA] - lsls r0, 28 - lsrs r4, r0, 31 - b _0806AC8C -_0806AA72: - ldrb r0, [r5, 0xA] - lsls r0, 27 - lsrs r4, r0, 31 - b _0806AC8C -_0806AA7A: - ldrb r0, [r5, 0xA] - lsls r0, 26 - lsrs r4, r0, 31 - b _0806AC8C -_0806AA82: - ldrb r0, [r5, 0xA] -_0806AA84: - lsls r0, 25 - lsrs r4, r0, 31 - b _0806AC8C -_0806AA8A: - ldrb r0, [r5, 0xA] - lsrs r4, r0, 7 - b _0806AC8C -_0806AA90: - ldrb r0, [r5, 0xB] -_0806AA92: - lsls r0, 31 - lsrs r4, r0, 31 - b _0806AC8C -_0806AA98: - ldrb r0, [r5, 0xB] -_0806AA9A: - lsls r0, 30 - lsrs r4, r0, 31 - b _0806AC8C -_0806AAA0: - ldrb r0, [r5, 0xB] -_0806AAA2: - lsls r0, 29 - lsrs r4, r0, 31 - b _0806AC8C -_0806AAA8: - ldrb r0, [r5, 0xB] -_0806AAAA: - lsls r0, 25 - lsrs r4, r0, 28 - b _0806AC8C -_0806AAB0: - ldrb r0, [r5, 0xB] - lsrs r4, r0, 7 - b _0806AC8C -_0806AAB6: - mov r0, r9 - ldrh r4, [r0] - cmp r4, 0 - bne _0806AAC0 - b _0806AC8C -_0806AAC0: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _0806AAD6 - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0806AAD6 - b _0806AC8C -_0806AAD6: - movs r4, 0xCE - lsls r4, 1 - b _0806AC8C -_0806AADC: - ldrb r0, [r5, 0x4] - lsls r0, 27 - lsrs r4, r0, 27 - ldrh r1, [r5, 0x4] - movs r0, 0xF8 - lsls r0, 2 - ands r0, r1 - orrs r4, r0 - ldrb r0, [r5, 0x5] - lsls r0, 25 - lsrs r0, 27 - lsls r0, 10 - orrs r4, r0 - ldr r0, [r5, 0x4] - movs r1, 0xF8 - lsls r1, 12 - ands r0, r1 - orrs r4, r0 - ldrh r0, [r5, 0x6] - lsls r0, 23 - lsrs r0, 27 - lsls r0, 20 - orrs r4, r0 - ldrb r0, [r5, 0x7] - lsls r0, 26 - lsrs r0, 27 - lsls r0, 25 - orrs r4, r0 - b _0806AC8C -_0806AB16: - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _0806AB20 - b _0806AC8C -_0806AB20: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0806AB2A - b _0806AC8C -_0806AB2A: - ldrh r0, [r6] - ldr r1, =0x00000163 - cmp r0, r1 - bne _0806AB34 - b _0806AC8C -_0806AB34: - mov r2, r10 - ldrh r5, [r2] - adds r7, r1, 0 - adds r2, r6, 0 - ldr r1, =gBitTable -_0806AB3E: - ldrh r3, [r2] - cmp r5, r3 - beq _0806AB58 - mov r6, r10 - ldrh r0, [r6, 0x2] - cmp r0, r3 - beq _0806AB58 - ldrh r0, [r6, 0x4] - cmp r0, r3 - beq _0806AB58 - ldrh r0, [r6, 0x6] - cmp r0, r3 - bne _0806AB5C -_0806AB58: - ldr r0, [r1] - orrs r4, r0 -_0806AB5C: - adds r2, 0x2 - adds r1, 0x4 - ldrh r0, [r2] - cmp r0, r7 - bne _0806AB3E - b _0806AC8C - .pool -_0806AB70: - movs r4, 0 - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _0806AB7C - b _0806AC8C -_0806AB7C: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0806AB86 - b _0806AC8C -_0806AB86: - ldrb r0, [r5, 0x8] - lsls r1, r0, 29 - lsrs r4, r1, 29 - lsls r0, 26 - lsrs r0, 29 - adds r4, r0 - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r0, 29 - adds r4, r0 - ldrb r1, [r5, 0x9] - lsls r0, r1, 28 - lsrs r0, 29 - adds r4, r0 - lsls r0, r1, 25 - lsrs r0, 29 - adds r4, r0 - lsrs r1, 7 - adds r4, r1 - ldrb r1, [r5, 0xA] - lsls r0, r1, 31 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 29 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 28 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 27 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 26 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 25 - lsrs r0, 31 - adds r4, r0 - lsrs r1, 7 - adds r4, r1 - ldrb r1, [r5, 0xB] - lsls r0, r1, 31 - lsrs r0, 31 - adds r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - adds r4, r0 - lsls r1, 29 - lsrs r1, 31 - adds r4, r1 - b _0806AC8C -_0806ABF2: - movs r4, 0 - mov r2, r9 - ldrh r0, [r2] - cmp r0, 0 - beq _0806AC8C - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _0806AC8C - ldrb r2, [r5, 0x9] - lsrs r4, r2, 7 - ldrb r1, [r5, 0x8] - lsls r0, r1, 29 - lsrs r0, 28 - orrs r4, r0 - lsls r1, 26 - lsrs r1, 29 - lsls r1, 4 - orrs r4, r1 - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r0, 29 - lsls r0, 7 - orrs r4, r0 - lsls r0, r2, 28 - lsrs r0, 29 - lsls r0, 10 - orrs r4, r0 - lsls r2, 25 - lsrs r2, 29 - lsls r2, 13 - orrs r4, r2 - ldrb r1, [r5, 0xA] - lsls r0, r1, 31 - lsrs r0, 31 - lsls r0, 16 - orrs r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - lsls r0, 17 - orrs r4, r0 - lsls r0, r1, 29 - lsrs r0, 31 - lsls r0, 18 - orrs r4, r0 - lsls r0, r1, 28 - lsrs r0, 31 - lsls r0, 19 - orrs r4, r0 - lsls r0, r1, 27 - lsrs r0, 31 - lsls r0, 20 - orrs r4, r0 - lsls r0, r1, 26 - lsrs r0, 31 - lsls r0, 21 - orrs r4, r0 - lsls r0, r1, 25 - lsrs r0, 31 - lsls r0, 22 - orrs r4, r0 - lsrs r1, 7 - lsls r1, 23 - orrs r4, r1 - ldrb r1, [r5, 0xB] - lsls r0, r1, 31 - lsrs r0, 31 - lsls r0, 24 - orrs r4, r0 - lsls r0, r1, 30 - lsrs r0, 31 - lsls r0, 25 - orrs r4, r0 - lsls r1, 29 - lsrs r1, 31 - lsls r1, 26 - orrs r4, r1 -_0806AC8C: - ldr r6, [sp] - cmp r6, 0xA - ble _0806AC98 - mov r0, r8 - bl EncryptBoxMon -_0806AC98: - adds r0, r4, 0 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetBoxMonData - - thumb_func_start SetMonData -@ int SetMonData(pokemon *mon, enum pokemon_data_request req, void *data) -SetMonData: @ 806ACAC - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - subs r0, 0x37 - cmp r0, 0xA - bhi _0806AD90 - lsls r0, 2 - ldr r1, =_0806ACC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806ACC8: - .4byte _0806ACF4 - .4byte _0806AD0C - .4byte _0806AD16 - .4byte _0806AD26 - .4byte _0806AD36 - .4byte _0806AD46 - .4byte _0806AD56 - .4byte _0806AD66 - .4byte _0806AD76 - .4byte _0806AD86 - .4byte _0806AD96 -_0806ACF4: - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3, 0x50] - b _0806AD96 -_0806AD0C: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x54 - strb r1, [r0] - b _0806AD96 -_0806AD16: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x56 - strh r0, [r1] - b _0806AD96 -_0806AD26: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x58 - strh r0, [r1] - b _0806AD96 -_0806AD36: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5A - strh r0, [r1] - b _0806AD96 -_0806AD46: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5C - strh r0, [r1] - b _0806AD96 -_0806AD56: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - b _0806AD96 -_0806AD66: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x60 - strh r0, [r1] - b _0806AD96 -_0806AD76: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x62 - strh r0, [r1] - b _0806AD96 -_0806AD86: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x55 - strb r1, [r0] - b _0806AD96 -_0806AD90: - adds r0, r3, 0 - bl SetBoxMonData -_0806AD96: - pop {r0} - bx r0 - thumb_func_end SetMonData - - thumb_func_start SetBoxMonData -@ int SetBoxMonData(pokemon *mon, enum pokemon_data_request req, void *data) -SetBoxMonData: @ 806AD9C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - mov r10, r1 - adds r4, r2, 0 - movs r0, 0 - mov r8, r0 - mov r9, r0 - movs r6, 0 - movs r5, 0 - cmp r1, 0xA - ble _0806AE1C - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0 - bl GetSubstruct - mov r8, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x1 - bl GetSubstruct - mov r9, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x2 - bl GetSubstruct - adds r6, r0, 0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x3 - bl GetSubstruct - adds r5, r0, 0 - adds r0, r7, 0 - bl DecryptBoxMon - adds r0, r7, 0 - bl CalculateBoxMonChecksum - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r7, 0x1C] - cmp r0, r1 - beq _0806AE1C - ldrb r0, [r7, 0x13] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r7, 0x13] - ldrb r0, [r5, 0x7] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x7] - adds r0, r7, 0 - bl EncryptBoxMon - b _0806B3EC -_0806AE1C: - mov r0, r10 - cmp r0, 0x50 - bls _0806AE24 - b _0806B3D8 -_0806AE24: - lsls r0, 2 - ldr r1, =_0806AE34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806AE34: - .4byte _0806AF78 - .4byte _0806AF90 - .4byte _0806AFA8 - .4byte _0806AFBE - .4byte _0806AFC4 - .4byte _0806AFD4 - .4byte _0806AFE6 - .4byte _0806AFF8 - .4byte _0806B00E - .4byte _0806B014 - .4byte _0806B020 - .4byte _0806B02C - .4byte _0806B04C - .4byte _0806B084 - .4byte _0806B084 - .4byte _0806B084 - .4byte _0806B084 - .4byte _0806B098 - .4byte _0806B098 - .4byte _0806B098 - .4byte _0806B098 - .4byte _0806B074 - .4byte _0806B0C8 - .4byte _0806B0CE - .4byte _0806B0D4 - .4byte _0806B05A - .4byte _0806B0A4 - .4byte _0806B0AA - .4byte _0806B0B0 - .4byte _0806B0B6 - .4byte _0806B0BC - .4byte _0806B0C2 - .4byte _0806B07C - .4byte _0806B0DA - .4byte _0806B0EC - .4byte _0806B0F2 - .4byte _0806B0F8 - .4byte _0806B10C - .4byte _0806B124 - .4byte _0806B14A - .4byte _0806B15E - .4byte _0806B178 - .4byte _0806B18E - .4byte _0806B1A8 - .4byte _0806B1C0 - .4byte _0806B1D4 - .4byte _0806B204 - .4byte _0806B0E0 - .4byte _0806B0E6 - .4byte _0806B13A - .4byte _0806B214 - .4byte _0806B222 - .4byte _0806B238 - .4byte _0806B250 - .4byte _0806B260 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B3D8 - .4byte _0806B35E - .4byte _0806B276 - .4byte _0806B286 - .4byte _0806B294 - .4byte _0806B2A4 - .4byte _0806B2B4 - .4byte _0806B2C4 - .4byte _0806B2D4 - .4byte _0806B2E4 - .4byte _0806B2FA - .4byte _0806B30A - .4byte _0806B318 - .4byte _0806B328 - .4byte _0806B338 - .4byte _0806B34E -_0806AF78: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _0806B3D8 -_0806AF90: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7, 0x4] - b _0806B3D8 -_0806AFA8: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x8 -_0806AFAE: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0806AFAE - b _0806B3D8 -_0806AFBE: - ldrb r0, [r4] - strb r0, [r7, 0x12] - b _0806B3D8 -_0806AFC4: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r7, 0x13] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - b _0806B1F2 -_0806AFD4: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - b _0806B1F2 -_0806AFE6: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _0806B1F2 -_0806AFF8: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x14 -_0806AFFE: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _0806AFFE - b _0806B3D8 -_0806B00E: - ldrb r0, [r4] - strb r0, [r7, 0x1B] - b _0806B3D8 -_0806B014: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1C] - b _0806B3D8 -_0806B020: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1E] - b _0806B3D8 -_0806B02C: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0] - lsls r1, 16 - cmp r1, 0 - beq _0806B044 - ldrb r0, [r7, 0x13] - movs r1, 0x2 - b _0806B1F2 -_0806B044: - ldrb r1, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - b _0806B1FE -_0806B04C: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x2] - b _0806B3D8 -_0806B05A: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - mov r0, r8 - str r1, [r0, 0x4] - b _0806B3D8 -_0806B074: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x8] - b _0806B3D8 -_0806B07C: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x9] - b _0806B3D8 -_0806B084: - mov r2, r10 - subs r2, 0xD - lsls r2, 1 - add r2, r9 - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r2] - b _0806B3D8 -_0806B098: - mov r0, r9 - add r0, r10 - subs r0, 0x9 - ldrb r1, [r4] - strb r1, [r0] - b _0806B3D8 -_0806B0A4: - ldrb r0, [r4] - strb r0, [r6] - b _0806B3D8 -_0806B0AA: - ldrb r0, [r4] - strb r0, [r6, 0x1] - b _0806B3D8 -_0806B0B0: - ldrb r0, [r4] - strb r0, [r6, 0x2] - b _0806B3D8 -_0806B0B6: - ldrb r0, [r4] - strb r0, [r6, 0x3] - b _0806B3D8 -_0806B0BC: - ldrb r0, [r4] - strb r0, [r6, 0x4] - b _0806B3D8 -_0806B0C2: - ldrb r0, [r4] - strb r0, [r6, 0x5] - b _0806B3D8 -_0806B0C8: - ldrb r0, [r4] - strb r0, [r6, 0x6] - b _0806B3D8 -_0806B0CE: - ldrb r0, [r4] - strb r0, [r6, 0x7] - b _0806B3D8 -_0806B0D4: - ldrb r0, [r4] - strb r0, [r6, 0x8] - b _0806B3D8 -_0806B0DA: - ldrb r0, [r4] - strb r0, [r6, 0x9] - b _0806B3D8 -_0806B0E0: - ldrb r0, [r4] - strb r0, [r6, 0xA] - b _0806B3D8 -_0806B0E6: - ldrb r0, [r4] - strb r0, [r6, 0xB] - b _0806B3D8 -_0806B0EC: - ldrb r0, [r4] - strb r0, [r5] - b _0806B3D8 -_0806B0F2: - ldrb r0, [r4] - strb r0, [r5, 0x1] - b _0806B3D8 -_0806B0F8: - ldrb r1, [r4] - movs r0, 0x7F - ands r1, r0 - ldrb r2, [r5, 0x2] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - b _0806B3D8 -_0806B10C: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 7 - ldrh r2, [r5, 0x2] - ldr r0, =0xfffff87f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x2] - b _0806B3D8 - .pool -_0806B124: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x3] - movs r0, 0x79 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - b _0806B3D8 -_0806B13A: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x3] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - b _0806B3D8 -_0806B14A: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - ldrb r2, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - b _0806B3D8 -_0806B15E: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, =0xfffffc1f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - b _0806B3D8 - .pool -_0806B178: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _0806B3D8 -_0806B18E: - ldrb r2, [r4] - movs r0, 0x1F - ands r2, r0 - lsls r2, 15 - ldr r0, [r5, 0x4] - ldr r1, =0xfff07fff - ands r0, r1 - orrs r0, r2 - str r0, [r5, 0x4] - b _0806B3D8 - .pool -_0806B1A8: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 4 - ldrh r2, [r5, 0x6] - ldr r0, =0xfffffe0f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - b _0806B3D8 - .pool -_0806B1C0: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _0806B3D6 -_0806B1D4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0x7] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0806B1F8 - ldrb r0, [r7, 0x13] - movs r1, 0x4 -_0806B1F2: - orrs r0, r1 - strb r0, [r7, 0x13] - b _0806B3D8 -_0806B1F8: - ldrb r1, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 -_0806B1FE: - ands r0, r1 - strb r0, [r7, 0x13] - b _0806B3D8 -_0806B204: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x7] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x7] - b _0806B3D8 -_0806B214: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r5, 0x8] - movs r0, 0x8 - negs r0, r0 - b _0806B230 -_0806B222: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x8] - movs r0, 0x39 - negs r0, r0 -_0806B230: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x8] - b _0806B3D8 -_0806B238: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x8] - ldr r0, =0xfffffe3f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x8] - b _0806B3D8 - .pool -_0806B250: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x9] - movs r0, 0xF - negs r0, r0 - b _0806B26E -_0806B260: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0x9] - movs r0, 0x71 - negs r0, r0 -_0806B26E: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x9] - b _0806B3D8 -_0806B276: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x9] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x9] - b _0806B3D8 -_0806B286: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xA] - movs r0, 0x2 - negs r0, r0 - b _0806B2F2 -_0806B294: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xA] - movs r0, 0x3 - negs r0, r0 - b _0806B2F2 -_0806B2A4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xA] - movs r0, 0x5 - negs r0, r0 - b _0806B2F2 -_0806B2B4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xA] - movs r0, 0x9 - negs r0, r0 - b _0806B2F2 -_0806B2C4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0xA] - movs r0, 0x11 - negs r0, r0 - b _0806B2F2 -_0806B2D4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r5, 0xA] - movs r0, 0x21 - negs r0, r0 - b _0806B2F2 -_0806B2E4: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0xA] - movs r0, 0x41 - negs r0, r0 -_0806B2F2: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xA] - b _0806B3D8 -_0806B2FA: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xA] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xA] - b _0806B3D8 -_0806B30A: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xB] - movs r0, 0x2 - negs r0, r0 - b _0806B346 -_0806B318: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xB] - movs r0, 0x3 - negs r0, r0 - b _0806B346 -_0806B328: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xB] - movs r0, 0x5 - negs r0, r0 - b _0806B346 -_0806B338: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xB] - movs r0, 0x79 - negs r0, r0 -_0806B346: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - b _0806B3D8 -_0806B34E: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xB] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xB] - b _0806B3D8 -_0806B35E: - ldrb r3, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - orrs r3, r0 - movs r4, 0x1F - adds r1, r3, 0 - ands r1, r4 - ldrb r2, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - lsrs r1, r3, 5 - ands r1, r4 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, =0xfffffc1f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - lsrs r1, r3, 10 - ands r1, r4 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - lsrs r1, r3, 15 - ands r1, r4 - lsls r1, 15 - ldr r0, [r5, 0x4] - ldr r2, =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [r5, 0x4] - lsrs r1, r3, 20 - ands r1, r4 - lsls r1, 4 - ldrh r2, [r5, 0x6] - ldr r0, =0xfffffe0f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - lsrs r3, 25 - ands r3, r4 - lsls r3, 1 - ldrb r1, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - orrs r0, r3 -_0806B3D6: - strb r0, [r5, 0x7] -_0806B3D8: - mov r0, r10 - cmp r0, 0xA - ble _0806B3EC - adds r0, r7, 0 - bl CalculateBoxMonChecksum - strh r0, [r7, 0x1C] - adds r0, r7, 0 - bl EncryptBoxMon -_0806B3EC: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SetBoxMonData - - thumb_func_start CopyMon -@ void *CopyMon(void *dest, void *src, unsigned int size) -CopyMon: @ 806B408 - push {lr} - bl memcpy - pop {r0} - bx r0 - thumb_func_end CopyMon - - thumb_func_start GiveMonToPlayer -@ int GiveMonToPlayer(pokemon *mon) -GiveMonToPlayer: @ 806B414 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, =gSaveBlock2Ptr - ldr r2, [r4] - movs r1, 0x7 - bl SetMonData - ldr r2, [r4] - adds r2, 0x8 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - ldr r2, [r4] - adds r2, 0xA - adds r0, r6, 0 - movs r1, 0x1 - bl SetMonData - movs r5, 0 - b _0806B446 - .pool -_0806B444: - adds r5, 0x1 -_0806B446: - cmp r5, 0x5 - bgt _0806B480 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806B444 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x64 - bl CopyMon - ldr r1, =gPlayerPartyCount - adds r0, r5, 0x1 - strb r0, [r1] - movs r0, 0 - b _0806B48A - .pool -_0806B480: - adds r0, r6, 0 - bl SendMonToPC - lsls r0, 24 - lsrs r0, 24 -_0806B48A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GiveMonToPlayer - - thumb_func_start SendMonToPC -@ int SendMonToPC(pokemon *mon) -SendMonToPC: @ 806B490 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - ldr r0, =0x00004036 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl get_preferred_box - lsls r0, 24 - lsrs r5, r0, 24 -_0806B4AE: - movs r6, 0 - lsls r7, r5, 24 -_0806B4B2: - lsls r1, r6, 24 - lsrs r1, 24 - lsrs r0, r7, 24 - bl get_pokemon_by_box_and_pos - adds r4, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0806B514 - mov r0, r8 - bl MonRestorePP - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x50 - bl CopyMon - ldr r0, =gSpecialVar_0x8012 - strh r5, [r0] - ldr r0, =gSpecialVar_0x8013 - strh r6, [r0] - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - beq _0806B4F4 - ldr r0, =0x000008d7 - bl FlagReset -_0806B4F4: - lsls r1, r5, 16 - ldr r0, =0x00004036 - lsrs r1, 16 - bl VarSet - movs r0, 0x1 - b _0806B530 - .pool -_0806B514: - adds r6, 0x1 - cmp r6, 0x1D - ble _0806B4B2 - adds r5, 0x1 - cmp r5, 0xE - bne _0806B522 - movs r5, 0 -_0806B522: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _0806B4AE - movs r0, 0x2 -_0806B530: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end SendMonToPC - - thumb_func_start CalculatePlayerPartyCount -@ u8 CalculatePlayerPartyCount() -CalculatePlayerPartyCount: @ 806B53C - push {r4,lr} - ldr r0, =gPlayerPartyCount - movs r1, 0 - strb r1, [r0] - b _0806B554 - .pool -_0806B54C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_0806B554: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _0806B572 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806B54C -_0806B572: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CalculatePlayerPartyCount - - thumb_func_start CalculateEnemyPartyCount -@ u8 CalculateEnemyPartyCount() -CalculateEnemyPartyCount: @ 806B580 - push {r4,lr} - ldr r0, =gUnknown_020244EA - movs r1, 0 - strb r1, [r0] - b _0806B598 - .pool -_0806B590: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_0806B598: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _0806B5B6 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806B590 -_0806B5B6: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CalculateEnemyPartyCount - - thumb_func_start GetMonsStateToDoubles -GetMonsStateToDoubles: @ 806B5C4 - push {r4-r6,lr} - movs r6, 0 - bl CalculatePlayerPartyCount - ldr r1, =gPlayerPartyCount - ldrb r0, [r1] - cmp r0, 0x1 - beq _0806B628 - movs r5, 0 - ldrb r1, [r1] - cmp r6, r1 - bge _0806B620 -_0806B5DC: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0806B616 - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806B616 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806B616 - adds r6, 0x1 -_0806B616: - adds r5, 0x1 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - blt _0806B5DC -_0806B620: - movs r0, 0 - cmp r6, 0x1 - bgt _0806B628 - movs r0, 0x2 -_0806B628: - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end GetMonsStateToDoubles - - thumb_func_start GetMonsStateToDoubles_2 -@ u8 GetMonsStateToDoubles_2() -GetMonsStateToDoubles_2: @ 806B638 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_0806B63E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0806B670 - cmp r1, 0 - beq _0806B670 - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806B670 - adds r6, 0x1 -_0806B670: - adds r5, 0x1 - cmp r5, 0x5 - ble _0806B63E - cmp r6, 0x1 - bne _0806B684 - movs r0, 0x1 - b _0806B68C - .pool -_0806B684: - movs r0, 0 - cmp r6, 0x1 - bgt _0806B68C - movs r0, 0x2 -_0806B68C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonsStateToDoubles_2 - - thumb_func_start GetAbilityBySpecies -@ int GetAbilityBySpecies(u16 a1, int a2) -GetAbilityBySpecies: @ 806B694 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - cmp r1, 0 - beq _0806B6B8 - ldr r2, =gLastUsedAbility - ldr r1, =gBaseStats - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x17] - b _0806B6C6 - .pool -_0806B6B8: - ldr r2, =gLastUsedAbility - ldr r1, =gBaseStats - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] -_0806B6C6: - strb r0, [r2] - ldrb r0, [r2] - pop {r1} - bx r1 - .pool - thumb_func_end GetAbilityBySpecies - - thumb_func_start GetMonAbility -@ u8 GetMonAbility(pokemon *mon) -GetMonAbility: @ 806B6D8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x2E - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl GetAbilityBySpecies - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMonAbility - - thumb_func_start CreateSecretBaseEnemyParty -CreateSecretBaseEnemyParty: @ 806B70C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r5, r0, 0 - bl ZeroEnemyPartyMons - ldr r4, =gBattleResources - ldr r0, [r4] - ldr r0, [r0] - adds r1, r5, 0 - movs r2, 0xA0 - bl memcpy - movs r0, 0 - mov r9, r0 -_0806B730: - ldr r1, =gBattleResources - ldr r3, [r1] - ldr r2, [r3] - mov r4, r9 - lsls r7, r4, 1 - adds r0, r2, 0 - adds r0, 0x7C - adds r1, r0, r7 - ldrh r0, [r1] - adds r4, 0x1 - str r4, [sp, 0x10] - cmp r0, 0 - beq _0806B80A - movs r0, 0x64 - mov r6, r9 - muls r6, r0 - ldr r4, =gEnemyParty - mov r8, r4 - adds r5, r6, r4 - ldrh r1, [r1] - adds r0, r2, 0 - adds r0, 0x94 - add r0, r9 - ldrb r2, [r0] - movs r0, 0x1 - str r0, [sp] - ldr r0, [r3] - mov r3, r9 - lsls r4, r3, 2 - adds r0, 0x34 - adds r0, r4 - ldr r0, [r0] - str r0, [sp, 0x4] - movs r0, 0x2 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r3, 0xF - bl CreateMon - ldr r1, =gBattleResources - ldr r0, [r1] - adds r1, r7, 0 - adds r1, 0x88 - ldr r2, [r0] - adds r2, r1 - adds r0, r5, 0 - movs r1, 0xC - bl SetMonData - movs r5, 0 - mov r10, r4 - mov r7, r9 - adds r7, 0x9A - mov r4, r8 -_0806B7A0: - adds r1, r5, 0 - adds r1, 0x1A - ldr r2, =gBattleResources - ldr r0, [r2] - ldr r2, [r0] - adds r2, r7 - adds r0, r6, r4 - bl SetMonData - adds r5, 0x1 - cmp r5, 0x5 - ble _0806B7A0 - movs r5, 0 - movs r3, 0x64 - mov r0, r9 - muls r0, r3 - ldr r1, =gEnemyParty - adds r7, r0, r1 - mov r4, r10 - lsls r0, r4, 1 - adds r6, r0, 0 - adds r6, 0x4C - adds r4, r0, 0 -_0806B7CE: - adds r1, r5, 0 - adds r1, 0xD - ldr r2, =gBattleResources - ldr r0, [r2] - ldr r2, [r0] - adds r2, r6 - adds r0, r7, 0 - bl SetMonData - adds r1, r5, 0 - adds r1, 0x11 - ldr r3, =gBattleResources - ldr r0, [r3] - ldr r0, [r0] - adds r0, 0x4C - adds r0, r4 - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, =gBattleMoves + 0x4 @ PP offset - adds r2, r0 - adds r0, r7, 0 - bl SetMonData - adds r6, 0x2 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0806B7CE -_0806B80A: - ldr r4, [sp, 0x10] - mov r9, r4 - cmp r4, 0x5 - ble _0806B730 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CreateSecretBaseEnemyParty - - thumb_func_start GetSecretBaseTrainerPicIndex -GetSecretBaseTrainerPicIndex: @ 806B830 - push {r4,r5,lr} - ldr r5, =gSecretBaseTrainerClasses - ldr r0, =gBattleResources - ldr r0, [r0] - ldr r4, [r0] - ldrb r0, [r4, 0x9] - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x1] - lsls r2, 27 - lsrs r2, 31 - lsls r1, r2, 2 - adds r1, r2 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - ldr r1, =gTrainerPicIndices - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end GetSecretBaseTrainerPicIndex - - thumb_func_start GetSecretBaseTrainerNameIndex -GetSecretBaseTrainerNameIndex: @ 806B870 - push {r4,r5,lr} - ldr r5, =gSecretBaseTrainerClasses - ldr r0, =gBattleResources - ldr r0, [r0] - ldr r4, [r0] - ldrb r0, [r4, 0x9] - movs r1, 0x5 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r4, 0x1] - lsls r2, 27 - lsrs r2, 31 - lsls r1, r2, 2 - adds r1, r2 - adds r0, r1 - adds r0, r5 - ldrb r0, [r0] - ldr r1, =gTrainerClassNameIndices - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end GetSecretBaseTrainerNameIndex - - thumb_func_start PlayerPartyAndPokemonStorageFull -PlayerPartyAndPokemonStorageFull: @ 806B8B0 - push {r4,lr} - movs r4, 0 -_0806B8B4: - movs r0, 0x64 - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806B8D0 - movs r0, 0 - b _0806B8DE - .pool -_0806B8D0: - adds r4, 0x1 - cmp r4, 0x5 - ble _0806B8B4 - bl PokemonStorageFull - lsls r0, 24 - lsrs r0, 24 -_0806B8DE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end PlayerPartyAndPokemonStorageFull - - thumb_func_start PokemonStorageFull -PokemonStorageFull: @ 806B8E4 - push {r4-r6,lr} - movs r6, 0 -_0806B8E8: - movs r4, 0 - lsls r5, r6, 24 -_0806B8EC: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _0806B900 - movs r0, 0 - b _0806B90E -_0806B900: - adds r4, 0x1 - cmp r4, 0x1D - ble _0806B8EC - adds r6, 0x1 - cmp r6, 0xD - ble _0806B8E8 - movs r0, 0x1 -_0806B90E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end PokemonStorageFull - - thumb_func_start GetSpeciesName -@ void GetSpeciesName(u8 *dest, u16 speciesId) -GetSpeciesName: @ 806B914 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r1, 0 - movs r0, 0xCE - lsls r0, 1 - mov r12, r0 - ldr r7, =gSpeciesNames - movs r0, 0xB - muls r0, r5 - adds r3, r0, r7 - adds r2, r6, 0 - b _0806B93A - .pool -_0806B934: - adds r3, 0x1 - adds r2, 0x1 - adds r1, 0x1 -_0806B93A: - adds r4, r6, r1 - cmp r1, 0xA - bgt _0806B954 - cmp r5, r12 - bls _0806B94A - adds r0, r1, r7 - ldrb r0, [r0] - b _0806B94C -_0806B94A: - ldrb r0, [r3] -_0806B94C: - strb r0, [r2] - ldrb r0, [r4] - cmp r0, 0xFF - bne _0806B934 -_0806B954: - movs r0, 0xFF - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetSpeciesName - - thumb_func_start CalculatePPWithBonus -@ u16 CalculatePPWithBonus(u16 moveId, s32 ppUpCounts, u8 monMoveIndex) -CalculatePPWithBonus: @ 806B960 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - lsrs r2, 24 - ldr r4, =gBattleMoves - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrb r4, [r3, 0x4] - ldr r0, =gUnknown_08329D22 - adds r0, r2, r0 - ldrb r3, [r0] - ands r3, r1 - lsls r2, 1 - asrs r3, r2 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CalculatePPWithBonus - - thumb_func_start RemoveMonPPBonus -RemoveMonPPBonus: @ 806B9A8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - ldr r1, =gUnknown_08329D26 - adds r4, r1 - ldrb r1, [r4] - ands r1, r0 - mov r0, sp - strb r1, [r0] - adds r0, r5, 0 - movs r1, 0x15 - mov r2, sp - bl SetMonData - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end RemoveMonPPBonus - - thumb_func_start RemoveBattleMonPPBonus -RemoveBattleMonPPBonus: @ 806B9E4 - lsls r1, 24 - lsrs r1, 24 - adds r0, 0x3B - ldr r2, =gUnknown_08329D26 - adds r1, r2 - ldrb r2, [r0] - ldrb r1, [r1] - ands r1, r2 - strb r1, [r0] - bx lr - .pool - thumb_func_end RemoveBattleMonPPBonus thumb_func_start CopyPlayerPartyMonToBattleData CopyPlayerPartyMonToBattleData: @ 806B9FC diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 15d24d795..4301dccfd 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,4603 +5,7 @@ .text - thumb_func_start HealStatusConditions -@ bool8 HealStatusConditions(struct pokemon *a1, int a2, u32 healMask, u8 a4) -HealStatusConditions: @ 806CD6C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r2, 0 - lsls r3, 24 - lsrs r6, r3, 24 - movs r1, 0x37 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - ands r0, r4 - cmp r0, 0 - beq _0806CDD0 - mvns r4, r4 - ands r1, r4 - str r1, [sp] - adds r0, r5, 0 - movs r1, 0x37 - mov r2, sp - bl SetMonData - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806CDBE - cmp r6, 0x4 - beq _0806CDBE - ldr r0, =gBattleMons - movs r1, 0x58 - muls r1, r6 - adds r0, 0x4C - adds r1, r0 - ldr r0, [r1] - ands r0, r4 - str r0, [r1] -_0806CDBE: - movs r0, 0 - b _0806CDD2 - .pool -_0806CDD0: - movs r0, 0x1 -_0806CDD2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end HealStatusConditions - - thumb_func_start GetItemEffectParamOffset -GetItemEffectParamOffset: @ 806CDDC - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r7, 0x6 - ldr r1, =gItemEffectTable - adds r0, r3, 0 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0806CE08 - cmp r3, 0xAF - beq _0806CE0C -_0806CE00: - movs r0, 0 - b _0806CF1C - .pool -_0806CE08: - cmp r3, 0xAF - bne _0806CE1A -_0806CE0C: - ldr r0, =gActiveBank - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gEnigmaBerries + 8 - adds r0, r1 -_0806CE1A: - mov r12, r0 - movs r2, 0 -_0806CE1E: - cmp r2, 0x4 - beq _0806CE3E - cmp r2, 0x4 - ble _0806CE34 - cmp r2, 0x5 - beq _0806CEC8 - b _0806CF12 - .pool -_0806CE34: - cmp r2, 0 - blt _0806CF12 - cmp r2, r4 - bne _0806CF12 - b _0806CE00 -_0806CE3E: - mov r0, r12 - ldrb r3, [r0, 0x4] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0806CE4E - movs r0, 0xDF - ands r3, r0 -_0806CE4E: - movs r6, 0 - cmp r3, 0 - beq _0806CF12 -_0806CE54: - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0806CEB4 - cmp r6, 0x7 - bhi _0806CEB4 - lsls r0, r6, 2 - ldr r1, =_0806CE70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806CE70: - .4byte _0806CE9C - .4byte _0806CE9C - .4byte _0806CE90 - .4byte _0806CE9C - .4byte _0806CEB4 - .4byte _0806CEB4 - .4byte _0806CEB4 - .4byte _0806CEB0 -_0806CE90: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0806CE9C - movs r0, 0xEF - ands r3, r0 -_0806CE9C: - cmp r2, r4 - bne _0806CEA8 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _0806CF1A -_0806CEA8: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _0806CEB4 -_0806CEB0: - cmp r2, r4 - beq _0806CE00 -_0806CEB4: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _0806CEC2 - lsrs r5, 1 -_0806CEC2: - cmp r3, 0 - bne _0806CE54 - b _0806CF12 -_0806CEC8: - mov r0, r12 - ldrb r3, [r0, 0x5] - movs r6, 0 -_0806CECE: - cmp r3, 0 - beq _0806CF12 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0806CF02 - cmp r6, 0 - blt _0806CF02 - cmp r6, 0x6 - ble _0806CEE8 - cmp r6, 0x7 - beq _0806CEFC - b _0806CF02 -_0806CEE8: - cmp r2, r4 - bne _0806CEF4 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _0806CF1A -_0806CEF4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _0806CF02 -_0806CEFC: - cmp r2, r4 - bne _0806CF02 - b _0806CE00 -_0806CF02: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _0806CECE - lsrs r5, 1 - b _0806CECE -_0806CF12: - adds r2, 0x1 - cmp r2, 0x5 - bgt _0806CF1A - b _0806CE1E -_0806CF1A: - adds r0, r7, 0 -_0806CF1C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetItemEffectParamOffset - - thumb_func_start sub_806CF24 -sub_806CF24: @ 806CF24 - push {lr} - ldr r2, =gBankTarget - ldr r1, =gUnknown_020244B8 - ldrb r1, [r1] - strb r1, [r2] - ldr r3, =gBattleTextBuff1 - ldr r2, =gUnknown_085CBE00 - ldr r1, =gUnknown_08329EC8 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r3, 0 - bl StringCopy - ldr r0, =gBattleTextBuff2 - ldr r1, =gUnknown_085CB38A - bl StringCopy - ldr r0, =gUnknown_085CB3AA - bl StrCpyDecodeToDisplayedStringBattle - pop {r0} - bx r0 - .pool - thumb_func_end sub_806CF24 - - thumb_func_start sub_806CF78 -sub_806CF78: @ 806CF78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0806CFCC - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806CFB8 - ldr r2, =gUnknown_020244B8 - ldrb r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gEnigmaBerries + 8 - adds r7, r0, r1 - b _0806CFD8 - .pool -_0806CFB8: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003214 - adds r7, r0, r1 - b _0806CFD6 - .pool -_0806CFCC: - ldr r1, =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r7, [r0] -_0806CFD6: - ldr r2, =gUnknown_020244B8 -_0806CFD8: - ldr r1, =gUnknown_0202420F - ldrb r0, [r2] - strb r0, [r1] - movs r5, 0 - ldr r0, =gBankAttacker - mov r8, r0 - movs r6, 0 -_0806CFE6: - adds r4, r7, r5 - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _0806CFF8 - adds r0, r6, 0 - bl sub_806CF24 -_0806CFF8: - ldrb r1, [r4] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _0806D02E - cmp r5, 0 - beq _0806D020 - adds r0, r6, 0x1 - bl sub_806CF24 - b _0806D02E - .pool -_0806D020: - ldr r0, =gUnknown_020244B8 - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - ldr r0, =gUnknown_085CA459 - bl StrCpyDecodeToDisplayedStringBattle -_0806D02E: - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x2 - ble _0806CFE6 - ldrb r1, [r7, 0x3] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806D04E - ldr r1, =gBankAttacker - ldr r0, =gUnknown_020244B8 - ldrb r0, [r0] - strb r0, [r1] - ldr r0, =gUnknown_085CA424 - bl StrCpyDecodeToDisplayedStringBattle -_0806D04E: - ldr r0, =gDisplayedStringBattle - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806CF78 - - thumb_func_start GetNature -@ u8 GetNature(pokemon *mon) -GetNature: @ 806D070 - push {lr} - movs r1, 0 - movs r2, 0 - bl GetMonData - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNature - - thumb_func_start GetNatureFromPersonality -@ u8 GetNatureFromPersonality(u32 personality) -GetNatureFromPersonality: @ 806D088 - push {lr} - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNatureFromPersonality - - thumb_func_start GetEvolutionTargetSpecies -GetEvolutionTargetSpecies: @ 806D098 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - movs r0, 0 - mov r10, r0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - mov r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x17 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - lsrs r4, 16 - str r4, [sp, 0x10] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0xAF - bne _0806D10C - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003226 - adds r0, r1 - ldrb r0, [r0] - b _0806D114 - .pool -_0806D10C: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0806D114: - cmp r0, 0x26 - bne _0806D120 - cmp r5, 0x3 - beq _0806D120 - movs r0, 0 - b _0806D3B0 -_0806D120: - cmp r5, 0x1 - bne _0806D126 - b _0806D340 -_0806D126: - cmp r5, 0x1 - bgt _0806D130 - cmp r5, 0 - beq _0806D144 - b _0806D3AE -_0806D130: - cmp r5, 0x3 - ble _0806D136 - b _0806D3AE -_0806D136: - movs r2, 0 - str r2, [sp, 0x4] - ldr r3, =gEvolutionTable - lsls r6, r7, 2 - b _0806D38E - .pool -_0806D144: - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0x4] - lsls r6, r7, 2 -_0806D16A: - ldr r1, =gEvolutionTable - ldr r0, [sp, 0x4] - lsls r2, r0, 3 - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r1 - ldrh r0, [r0] - subs r0, 0x1 - adds r3, r1, 0 - adds r4, r2, 0 - cmp r0, 0xE - bls _0806D186 - b _0806D332 -_0806D186: - lsls r0, 2 - ldr r1, =_0806D198 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806D198: - .4byte _0806D1D4 - .4byte _0806D1E6 - .4byte _0806D208 - .4byte _0806D238 - .4byte _0806D332 - .4byte _0806D332 - .4byte _0806D332 - .4byte _0806D248 - .4byte _0806D272 - .4byte _0806D29C - .4byte _0806D2CA - .4byte _0806D2EA - .4byte _0806D30E - .4byte _0806D332 - .4byte _0806D31E -_0806D1D4: - ldr r1, [sp, 0x8] - cmp r1, 0xDB - bhi _0806D1DC - b _0806D332 -_0806D1DC: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r0, r3 - b _0806D228 -_0806D1E6: - bl RtcCalcLocalTime - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0xC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB - bls _0806D1FA - b _0806D332 -_0806D1FA: - ldr r2, [sp, 0x8] - cmp r2, 0xDB - bhi _0806D202 - b _0806D332 -_0806D202: - b _0806D21E - .pool -_0806D208: - bl RtcCalcLocalTime - ldr r0, =gLocalTime - ldrb r0, [r0, 0x2] - cmp r0, 0xB - bls _0806D216 - b _0806D332 -_0806D216: - ldr r0, [sp, 0x8] - cmp r0, 0xDB - bhi _0806D21E - b _0806D332 -_0806D21E: - ldr r1, =gEvolutionTable - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r0, r1 -_0806D228: - ldrh r0, [r0, 0x4] - mov r10, r0 - b _0806D332 - .pool -_0806D238: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _0806D332 - b _0806D32E -_0806D248: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0806D332 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bls _0806D332 - b _0806D2C4 -_0806D272: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0806D332 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bne _0806D332 - b _0806D2C4 -_0806D29C: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0806D332 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bcs _0806D332 -_0806D2C4: - ldrh r5, [r5, 0x4] - mov r10, r5 - b _0806D332 -_0806D2CA: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _0806D332 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0806D332 - b _0806D308 -_0806D2EA: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _0806D332 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _0806D332 -_0806D308: - ldrh r4, [r4, 0x4] - mov r10, r4 - b _0806D332 -_0806D30E: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _0806D332 - b _0806D32E -_0806D31E: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - ldr r2, [sp, 0xC] - cmp r0, r2 - bhi _0806D332 -_0806D32E: - ldrh r1, [r1, 0x4] - mov r10, r1 -_0806D332: - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] - cmp r0, 0x4 - bgt _0806D33E - b _0806D16A -_0806D33E: - b _0806D3AE -_0806D340: - lsls r6, r7, 2 - ldr r1, =gEvolutionTable - adds r0, r6, r7 - lsls r0, 3 - adds r4, r0, r1 - mov r5, sp - movs r1, 0x4 - str r1, [sp, 0x4] -_0806D350: - ldrh r0, [r4] - cmp r0, 0x5 - beq _0806D370 - cmp r0, 0x6 - bne _0806D374 - ldrh r0, [r4, 0x2] - ldrh r1, [r5] - cmp r0, r1 - bne _0806D374 - movs r0, 0 - strh r0, [r5] - mov r0, r8 - movs r1, 0xC - mov r2, sp - bl SetMonData -_0806D370: - ldrh r2, [r4, 0x4] - mov r10, r2 -_0806D374: - adds r4, 0x8 - ldr r0, [sp, 0x4] - subs r0, 0x1 - str r0, [sp, 0x4] - cmp r0, 0 - bge _0806D350 - b _0806D3AE - .pool -_0806D388: - ldrh r1, [r1, 0x4] - mov r10, r1 - b _0806D3AE -_0806D38E: - adds r0, r6, r7 - ldr r1, [sp, 0x4] - adds r0, r1 - lsls r0, 3 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, 0x7 - bne _0806D3A4 - ldrh r0, [r1, 0x2] - cmp r0, r9 - beq _0806D388 -_0806D3A4: - ldr r2, [sp, 0x4] - adds r2, 0x1 - str r2, [sp, 0x4] - cmp r2, 0x4 - ble _0806D38E -_0806D3AE: - mov r0, r10 -_0806D3B0: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetEvolutionTargetSpecies - - thumb_func_start HoennPokedexNumToSpecies -HoennPokedexNumToSpecies: @ 806D3C0 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0806D404 - movs r1, 0 - ldr r3, =gSpeciesToHoennPokedexNum - ldrh r0, [r3] - cmp r0, r2 - beq _0806D3EC - movs r4, 0xCD - lsls r4, 1 -_0806D3D8: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0806D3EC - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0806D3D8 -_0806D3EC: - ldr r0, =0x0000019b - cmp r1, r0 - beq _0806D404 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0806D406 - .pool -_0806D404: - movs r0, 0 -_0806D406: - pop {r4} - pop {r1} - bx r1 - thumb_func_end HoennPokedexNumToSpecies - - thumb_func_start NationalPokedexNumToSpecies -NationalPokedexNumToSpecies: @ 806D40C - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0806D450 - movs r1, 0 - ldr r3, =gSpeciesToNationalPokedexNum - ldrh r0, [r3] - cmp r0, r2 - beq _0806D438 - movs r4, 0xCD - lsls r4, 1 -_0806D424: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0806D438 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0806D424 -_0806D438: - ldr r0, =0x0000019b - cmp r1, r0 - beq _0806D450 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0806D452 - .pool -_0806D450: - movs r0, 0 -_0806D452: - pop {r4} - pop {r1} - bx r1 - thumb_func_end NationalPokedexNumToSpecies - - thumb_func_start NationalToHoennOrder -NationalToHoennOrder: @ 806D458 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0806D49C - movs r1, 0 - ldr r3, =gHoennToNationalOrder - ldrh r0, [r3] - cmp r0, r2 - beq _0806D484 - movs r4, 0xCD - lsls r4, 1 -_0806D470: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0806D484 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0806D470 -_0806D484: - ldr r0, =0x0000019b - cmp r1, r0 - beq _0806D49C - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0806D49E - .pool -_0806D49C: - movs r0, 0 -_0806D49E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end NationalToHoennOrder - - thumb_func_start SpeciesToNationalPokedexNum -SpeciesToNationalPokedexNum: @ 806D4A4 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806D4C0 - ldr r0, =gSpeciesToNationalPokedexNum - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0806D4C2 - .pool -_0806D4C0: - movs r0, 0 -_0806D4C2: - pop {r1} - bx r1 - thumb_func_end SpeciesToNationalPokedexNum - - thumb_func_start SpeciesToHoennPokedexNum -SpeciesToHoennPokedexNum: @ 806D4C8 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806D4E4 - ldr r0, =gSpeciesToHoennPokedexNum - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0806D4E6 - .pool -_0806D4E4: - movs r0, 0 -_0806D4E6: - pop {r1} - bx r1 - thumb_func_end SpeciesToHoennPokedexNum - - thumb_func_start HoennToNationalOrder -HoennToNationalOrder: @ 806D4EC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0806D508 - ldr r0, =gHoennToNationalOrder - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0806D50A - .pool -_0806D508: - movs r0, 0 -_0806D50A: - pop {r1} - bx r1 - thumb_func_end HoennToNationalOrder - - thumb_func_start SpeciesToCryId -SpeciesToCryId: @ 806D510 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0xFA - bls _0806D53E - ldr r0, =0x00000113 - cmp r1, r0 - bls _0806D53C - ldr r0, =gSpeciesIdToCryId - ldr r2, =0xfffffeec - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0806D53E - .pool -_0806D53C: - movs r0, 0xC8 -_0806D53E: - pop {r1} - bx r1 - thumb_func_end SpeciesToCryId - - thumb_func_start sub_806D544 -sub_806D544: @ 806D544 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r1, 0 - mov r10, r2 - lsls r0, 16 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0806D652 - ldr r0, =gUnknown_020244D4 - ldr r1, [r0] - ldr r0, [r1, 0x4] - cmp r10, r0 - beq _0806D652 - ldr r0, [r1, 0xC] - cmp r10, r0 - beq _0806D652 - movs r5, 0 -_0806D570: - lsls r3, r5, 3 - adds r3, r5 - lsls r3, 2 - ldr r0, =gSpindaSpotGraphics - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r6, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r6 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r6, 8 - str r6, [sp, 0x4] - adds r5, 0x1 - str r5, [sp] - mov r9, r3 -_0806D5A8: - lsls r0, r2, 1 - add r0, r9 - ldr r3, =gSpindaSpotGraphics + 0x2 - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _0806D640 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_0806D5CC: - adds r0, r4, 0 - cmp r4, 0 - bge _0806D5D4 - adds r0, r4, 0x7 -_0806D5D4: - asrs r0, 3 - lsls r2, r0, 5 - add r2, r10 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0806D634 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0806D620 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0806D634 - adds r0, r1, 0 - adds r0, 0x40 - b _0806D632 - .pool -_0806D620: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0806D634 - adds r0, r1, 0x4 -_0806D632: - strb r0, [r2] -_0806D634: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _0806D5CC -_0806D640: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0806D5A8 - ldr r6, [sp, 0x4] - ldr r5, [sp] - cmp r5, 0x3 - ble _0806D570 -_0806D652: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_806D544 - - thumb_func_start DrawSpindaSpots -@ void DrawSpindaSpots(u16 species, u32 personality, u8 *pixels, u8 isFrontPic) -DrawSpindaSpots: @ 806D664 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r1, 0 - str r2, [sp] - lsls r0, 16 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0806D766 - cmp r3, 0 - beq _0806D766 - movs r6, 0 -_0806D688: - lsls r3, r6, 3 - adds r3, r6 - lsls r3, 2 - ldr r0, =gSpindaSpotGraphics - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r5, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r5 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r5, 8 - str r5, [sp, 0x4] - adds r6, 0x1 - mov r10, r6 - mov r9, r3 -_0806D6C0: - lsls r0, r2, 1 - add r0, r9 - ldr r3, =gSpindaSpotGraphics + 0x2 - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _0806D754 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_0806D6E4: - adds r0, r4, 0 - cmp r4, 0 - bge _0806D6EC - adds r0, r4, 0x7 -_0806D6EC: - asrs r0, 3 - lsls r2, r0, 5 - ldr r1, [sp] - adds r2, r1, r2 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0806D748 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0806D734 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0806D748 - adds r0, r1, 0 - adds r0, 0x40 - b _0806D746 - .pool -_0806D734: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0806D748 - adds r0, r1, 0x4 -_0806D746: - strb r0, [r2] -_0806D748: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _0806D6E4 -_0806D754: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0806D6C0 - ldr r5, [sp, 0x4] - mov r6, r10 - cmp r6, 0x3 - ble _0806D688 -_0806D766: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DrawSpindaSpots - - thumb_func_start sub_806D778 -sub_806D778: @ 806D778 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, =gStringVar1 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - bl GetMonData - mov r4, sp - adds r0, r5, 0 - movs r1, 0x3 - mov r2, sp - bl GetMonData - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0806D7D4 - movs r6, 0xB - adds r0, r7, 0 - muls r0, r6 - ldr r4, =gSpeciesNames - adds r0, r4 - mov r1, r9 - bl StringCompare - cmp r0, 0 - bne _0806D7D4 - mov r2, r8 - muls r2, r6 - adds r2, r4 - adds r0, r5, 0 - movs r1, 0x2 - bl SetMonData -_0806D7D4: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806D778 - - thumb_func_start sub_806D7EC -sub_806D7EC: @ 806D7EC - push {r4,r5,lr} - movs r5, 0 - ldr r4, =gLinkPlayers - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0806D818 - cmp r0, 0x1 - bge _0806D820 - cmp r0, 0 - beq _0806D81C - b _0806D822 - .pool -_0806D818: - cmp r0, 0x3 - bne _0806D822 -_0806D81C: - movs r5, 0 - b _0806D822 -_0806D820: - movs r5, 0x1 -_0806D822: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_806D7EC - - thumb_func_start sub_806D82C -sub_806D82C: @ 806D82C - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r2, =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0806D854 - cmp r0, 0x1 - bge _0806D85C - cmp r0, 0 - beq _0806D858 - b _0806D85E - .pool -_0806D854: - cmp r0, 0x3 - bne _0806D85E -_0806D858: - movs r3, 0 - b _0806D85E -_0806D85C: - movs r3, 0x1 -_0806D85E: - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end sub_806D82C - - thumb_func_start sub_806D864 -sub_806D864: @ 806D864 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, =gLinkPlayers - b _0806D87C - .pool -_0806D874: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _0806D882 -_0806D87C: - ldrh r0, [r1, 0x18] - cmp r0, r3 - bne _0806D874 -_0806D882: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_806D864 - - thumb_func_start GetTrainerEncounterMusicId -@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) -GetTrainerEncounterMusicId: @ 806D888 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _0806D8A2 - adds r0, r4, 0 - bl sub_81A9F3C - b _0806D8CA -_0806D8A2: - bl sub_81D5C18 - lsls r0, 24 - cmp r0, 0 - bne _0806D8C4 - ldr r1, =gTrainers - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x2] - movs r0, 0x7F - ands r0, r1 - b _0806D8CE - .pool -_0806D8C4: - adds r0, r5, 0 - bl sub_81D63C8 -_0806D8CA: - lsls r0, 24 - lsrs r0, 24 -_0806D8CE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetTrainerEncounterMusicId - - thumb_func_start nature_stat_mod -nature_stat_mod: @ 806D8D4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xFF - lsls r0, 24 - adds r2, r0 - lsrs r2, 24 - cmp r2, 0x4 - bls _0806D8F2 - adds r0, r3, 0 - b _0806D92E -_0806D8F2: - ldr r0, =gNatureStatTable - lsls r1, r4, 2 - adds r1, r4 - subs r1, 0x1 - adds r1, r5, r1 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0806D918 - cmp r1, 0x1 - bne _0806D92C - movs r0, 0x6E - b _0806D91A - .pool -_0806D918: - movs r0, 0x5A -_0806D91A: - muls r0, r3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - b _0806D92E -_0806D92C: - adds r0, r3, 0 -_0806D92E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end nature_stat_mod - - thumb_func_start AdjustFriendship -AdjustFriendship: @ 806D934 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - bl sub_806F104 - lsls r0, 24 - cmp r0, 0 - beq _0806D94A - b _0806DAC2 -_0806D94A: - adds r0, r7, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0806D9A0 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806D98C - ldr r0, =gEnigmaBerries - ldrb r4, [r0, 0x7] - b _0806D9A8 - .pool -_0806D98C: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, =0x00003226 - adds r0, r1 - ldrb r4, [r0] - b _0806D9A8 - .pool -_0806D9A0: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_0806D9A8: - cmp r6, 0 - bne _0806D9AE - b _0806DAC2 -_0806D9AE: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - bne _0806D9B8 - b _0806DAC2 -_0806D9B8: - movs r6, 0 - adds r0, r7, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x63 - ble _0806D9D6 - movs r6, 0x1 -_0806D9D6: - cmp r0, 0xC7 - ble _0806D9E0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0806D9E0: - cmp r5, 0x5 - bne _0806D9F0 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0806DAC2 -_0806D9F0: - cmp r5, 0x3 - bne _0806DA20 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0806DAC2 - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x1] - adds r0, r1, 0 - subs r0, 0x1F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0806DA20 - cmp r1, 0x26 - bne _0806DAC2 -_0806DA20: - ldr r1, =gUnknown_08329ECE - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _0806DA46 - cmp r4, 0x1B - bne _0806DA46 - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 -_0806DA46: - lsls r2, 24 - asrs r2, 24 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, r2 - mov r1, sp - strh r0, [r1] - cmp r2, 0 - ble _0806DA98 - adds r0, r7, 0 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _0806DA74 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0806DA74: - adds r0, r7, 0 - movs r1, 0x23 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0806DA98 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0806DA98: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0806DAA8 - movs r1, 0 - mov r0, sp - strh r1, [r0] -_0806DAA8: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - ble _0806DAB8 - movs r1, 0xFF - mov r0, sp - strh r1, [r0] -_0806DAB8: - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0806DAC2: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end AdjustFriendship - - thumb_func_start MonGainEVs -MonGainEVs: @ 806DADC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - movs r7, 0 - movs r6, 0 -_0806DAF0: - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - movs r2, 0 - bl GetMonData - mov r2, sp - adds r1, r2, r6 - strb r0, [r1] - ldrb r0, [r1] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r6, 0x1 - cmp r6, 0x5 - ble _0806DAF0 - movs r6, 0 - b _0806DC72 -_0806DB14: - mov r0, r8 - movs r1, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - movs r2, 0x1 - cmp r0, 0 - beq _0806DB26 - movs r2, 0x2 -_0806DB26: - cmp r6, 0x5 - bhi _0806DBC8 - lsls r0, r6, 2 - ldr r1, =_0806DB38 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806DB38: - .4byte _0806DB50 - .4byte _0806DB64 - .4byte _0806DB78 - .4byte _0806DB8C - .4byte _0806DBA0 - .4byte _0806DBB4 -_0806DB50: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 30 - b _0806DBC2 - .pool -_0806DB64: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _0806DBC0 - .pool -_0806DB78: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 26 - b _0806DBC2 - .pool -_0806DB8C: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsrs r0, 6 - b _0806DBC4 - .pool -_0806DBA0: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] - lsls r0, 30 - b _0806DBC2 - .pool -_0806DBB4: - ldr r0, =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] -_0806DBC0: - lsls r0, 28 -_0806DBC2: - lsrs r0, 30 -_0806DBC4: - adds r4, r0, 0 - muls r4, r2 -_0806DBC8: - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0806DC14 - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806DC00 - ldr r0, =gEnigmaBerries - ldrb r0, [r0, 0x7] - b _0806DC1C - .pool -_0806DC00: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00003226 - adds r0, r2 - ldrb r0, [r0] - b _0806DC1C - .pool -_0806DC14: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0806DC1C: - cmp r0, 0x18 - bne _0806DC24 - lsls r0, r4, 17 - lsrs r4, r0, 16 -_0806DC24: - lsls r0, r4, 16 - asrs r2, r0, 16 - adds r1, r7, r2 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - ble _0806DC3C - adds r0, r2, r0 - adds r1, r7, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0806DC3C: - mov r0, sp - adds r2, r0, r6 - ldrb r3, [r2] - lsls r0, r4, 16 - asrs r1, r0, 16 - adds r0, r3, r1 - cmp r0, 0xFF - ble _0806DC58 - adds r0, r1, 0 - adds r0, 0xFF - adds r1, r3, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0806DC58: - adds r0, r3, r4 - strb r0, [r2] - adds r0, r7, r4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - bl SetMonData - adds r6, 0x1 - cmp r6, 0x5 - bgt _0806DC7A -_0806DC72: - ldr r0, =0x000001fd - cmp r7, r0 - bhi _0806DC7A - b _0806DB14 -_0806DC7A: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end MonGainEVs - - thumb_func_start GetMonEVCount -GetMonEVCount: @ 806DC8C - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_0806DC94: - adds r1, r4, 0 - adds r1, 0x1A - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x1 - cmp r4, 0x5 - ble _0806DC94 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonEVCount - - thumb_func_start RandomlyGivePartyPokerus -RandomlyGivePartyPokerus: @ 806DCB4 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - bl Random - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x80 - lsls r0, 7 - cmp r5, r0 - beq _0806DCDA - movs r0, 0x80 - lsls r0, 8 - cmp r5, r0 - beq _0806DCDA - movs r0, 0xC0 - lsls r0, 8 - cmp r5, r0 - bne _0806DD70 -_0806DCDA: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x64 - muls r0, r5 - adds r4, r6, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806DCDA - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806DCDA - ldr r1, =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - cmp r0, 0 - bne _0806DD70 - movs r4, 0x7 -_0806DD24: - bl Random - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - adds r2, r0, 0 - adds r1, r2, 0 - ands r1, r4 - cmp r1, 0 - beq _0806DD24 - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - beq _0806DD46 - mov r0, sp - strb r1, [r0] -_0806DD46: - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - movs r1, 0xF3 - ands r1, r0 - mov r0, sp - strb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - movs r0, 0x64 - muls r0, r5 - adds r0, r6, r0 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_0806DD70: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end RandomlyGivePartyPokerus - - thumb_func_start CheckPartyPokerus -CheckPartyPokerus: @ 806DD7C - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _0806DDC4 -_0806DD90: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0806DDB8 - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - movs r1, 0xF - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _0806DDB8 - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_0806DDB8: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _0806DD90 - b _0806DDD8 -_0806DDC4: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - beq _0806DDD8 - movs r5, 0x1 -_0806DDD8: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyPokerus - - thumb_func_start CheckPartyHasHadPokerus -CheckPartyHasHadPokerus: @ 806DDE4 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _0806DE28 -_0806DDF8: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0806DE1C - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - ldr r3, [sp] - cmp r0, 0 - beq _0806DE1C - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_0806DE1C: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _0806DDF8 - b _0806DE38 -_0806DE28: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806DE38 - movs r5, 0x1 -_0806DE38: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyHasHadPokerus - - thumb_func_start UpdatePartyPokerusTime -UpdatePartyPokerusTime: @ 806DE44 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r5, sp -_0806DE50: - movs r0, 0x64 - adds r1, r6, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806DEB2 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - strb r0, [r5] - movs r1, 0xF - adds r2, r0, 0 - ands r1, r2 - cmp r1, 0 - beq _0806DEB2 - cmp r1, r7 - bcc _0806DE8A - cmp r7, 0x4 - bls _0806DE94 -_0806DE8A: - movs r0, 0xF0 - ands r0, r2 - b _0806DE96 - .pool -_0806DE94: - subs r0, r2, r7 -_0806DE96: - strb r0, [r5] - ldrb r0, [r5] - cmp r0, 0 - bne _0806DEA2 - movs r0, 0x10 - strb r0, [r5] -_0806DEA2: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_0806DEB2: - adds r6, 0x1 - cmp r6, 0x5 - ble _0806DE50 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end UpdatePartyPokerusTime - - thumb_func_start PartySpreadPokerus -PartySpreadPokerus: @ 806DEC4 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _0806DF6A - movs r5, 0 -_0806DEE0: - movs r0, 0x64 - adds r6, r5, 0 - muls r6, r0 - adds r4, r7, r6 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0806DF64 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - mov r0, sp - strb r1, [r0] - cmp r1, 0 - beq _0806DF64 - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _0806DF64 - cmp r5, 0 - beq _0806DF3A - adds r0, r6, 0 - subs r0, 0x64 - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _0806DF3A - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_0806DF3A: - cmp r5, 0x5 - beq _0806DF64 - movs r0, 0x64 - muls r0, r5 - adds r0, 0x64 - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _0806DF64 - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl SetMonData - adds r5, 0x1 -_0806DF64: - adds r5, 0x1 - cmp r5, 0x5 - ble _0806DEE0 -_0806DF6A: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PartySpreadPokerus - - thumb_func_start TryIncrementMonLevel -TryIncrementMonLevel: @ 806DF74 - push {r4-r6,lr} - sub sp, 0x8 - adds r5, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - adds r0, 0x1 - mov r1, sp - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - str r0, [sp, 0x4] - ldr r6, =gExperienceTables - ldr r2, =gBaseStats - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x13] - movs r1, 0xCA - lsls r1, 1 - adds r4, r2, 0 - muls r4, r1 - movs r2, 0xC8 - lsls r2, 1 - adds r1, r6, r2 - adds r1, r4, r1 - ldr r1, [r1] - cmp r0, r1 - bls _0806DFD4 - str r1, [sp, 0x4] - add r2, sp, 0x4 - adds r0, r5, 0 - movs r1, 0x19 - bl SetMonData -_0806DFD4: - mov r0, sp - ldrb r0, [r0] - cmp r0, 0x64 - bhi _0806DFEA - lsls r0, 2 - adds r0, r4 - adds r0, r6 - ldr r1, [sp, 0x4] - ldr r0, [r0] - cmp r1, r0 - bcs _0806DFF8 -_0806DFEA: - movs r0, 0 - b _0806E004 - .pool -_0806DFF8: - adds r0, r5, 0 - movs r1, 0x38 - mov r2, sp - bl SetMonData - movs r0, 0x1 -_0806E004: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end TryIncrementMonLevel - - thumb_func_start CanMonLearnTMHM -CanMonLearnTMHM: @ 806E00C - push {r4,r5,lr} - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - adds r3, r1, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0806E02E - movs r0, 0 - b _0806E05A -_0806E02E: - cmp r4, 0x1F - bls _0806E04C - adds r0, r4, 0 - subs r0, 0x20 - movs r2, 0x1 - lsls r2, r0 - ldr r0, =gTMHMLearnsets - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - ands r0, r2 - b _0806E05A - .pool -_0806E04C: - movs r1, 0x1 - lsls r1, r5 - ldr r2, =gTMHMLearnsets - lsls r0, r3, 3 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 -_0806E05A: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end CanMonLearnTMHM - - thumb_func_start CanSpeciesLearnTMHM -CanSpeciesLearnTMHM: @ 806E064 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - adds r4, r3, 0 - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r3, r0 - bne _0806E07E - movs r0, 0 - b _0806E0AA -_0806E07E: - cmp r1, 0x1F - bls _0806E09C - adds r0, r1, 0 - subs r0, 0x20 - movs r2, 0x1 - lsls r2, r0 - ldr r0, =gTMHMLearnsets - lsls r1, r3, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - ands r0, r2 - b _0806E0AA - .pool -_0806E09C: - movs r1, 0x1 - lsls r1, r2 - ldr r2, =gTMHMLearnsets - lsls r0, r4, 3 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 -_0806E0AA: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end CanSpeciesLearnTMHM - - thumb_func_start GetMoveRelearnerMoves -GetMoveRelearnerMoves: @ 806E0B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r0, 0 - str r1, [sp, 0x8] - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - movs r5, 0 - mov r4, sp -_0806E0EA: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0806E0EA - movs r5, 0 - ldr r6, =gLevelUpLearnsets - lsls r1, r7, 2 - adds r2, r1, r6 - ldr r3, [r2] - ldrh r0, [r3] - ldr r4, =0x0000ffff - str r1, [sp, 0x14] - cmp r0, r4 - beq _0806E1E4 - mov r9, r2 - str r3, [sp, 0x10] -_0806E118: - lsls r2, r5, 1 - ldr r1, [sp, 0x10] - adds r0, r2, r1 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0xC] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _0806E1CE - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _0806E168 - ldr r0, [sp, 0x14] - ldr r1, =gLevelUpLearnsets - adds r6, r0, r1 - ldr r2, =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_0806E150: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0806E168 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _0806E150 -_0806E168: - cmp r4, 0x4 - bne _0806E1CE - movs r4, 0 - cmp r4, r10 - bge _0806E1AC - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x8] - ldrh r2, [r0] - ldr r0, =0x000001ff - ands r0, r1 - cmp r2, r0 - beq _0806E1AC - ldr r1, [sp, 0x14] - ldr r2, =gLevelUpLearnsets - adds r6, r1, r2 - ldr r0, =0x000001ff - mov r8, r0 - ldr r3, [sp, 0x8] - adds r5, r7, 0 -_0806E194: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _0806E1AC - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _0806E194 -_0806E1AC: - cmp r4, r10 - bne _0806E1CE - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r1, [sp, 0x8] - adds r2, r1 - mov r4, r9 - ldr r0, [r4] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, =0x000001ff - ands r0, r1 - strh r0, [r2] -_0806E1CE: - mov r5, r12 - cmp r5, 0x13 - bgt _0806E1E4 - mov r1, r9 - ldr r0, [r1] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r2, =0x0000ffff - cmp r0, r2 - bne _0806E118 -_0806E1E4: - mov r0, r10 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetMoveRelearnerMoves - - thumb_func_start GetLevelUpMovesBySpecies -GetLevelUpMovesBySpecies: @ 806E204 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - movs r5, 0 - movs r4, 0 - ldr r1, =gLevelUpLearnsets - lsrs r0, 14 - adds r0, r1 - ldr r2, [r0] - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0806E248 - ldr r0, =0x000001ff - mov r12, r0 - adds r7, r1, 0 - adds r3, r2, 0 -_0806E226: - adds r1, r5, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 1 - adds r1, r6 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - strh r0, [r1] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x13 - bgt _0806E248 - ldrh r0, [r3] - cmp r0, r7 - bne _0806E226 -_0806E248: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetLevelUpMovesBySpecies - thumb_func_start GetNumberOfRelearnableMoves -GetNumberOfRelearnableMoves: @ 806E25C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - adds r6, r0, 0 - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x30] - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _0806E298 - movs r0, 0 - b _0806E3A2 -_0806E298: - movs r5, 0 - lsls r4, 2 - str r4, [sp, 0x38] - mov r4, sp -_0806E2A0: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0806E2A0 - movs r5, 0 - ldr r3, =gLevelUpLearnsets - ldr r2, [sp, 0x38] - adds r1, r2, r3 - ldr r0, [r1] - ldrh r0, [r0] - ldr r2, =0x0000ffff - cmp r0, r2 - beq _0806E3A0 - mov r9, r1 - mov r4, sp - adds r4, 0x8 - str r4, [sp, 0x34] -_0806E2D0: - mov r1, r9 - ldr r0, [r1] - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0x30] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _0806E38A - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _0806E322 - ldr r0, [sp, 0x38] - ldr r1, =gLevelUpLearnsets - adds r6, r0, r1 - ldr r2, =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_0806E30A: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0806E322 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _0806E30A -_0806E322: - cmp r4, 0x4 - bne _0806E38A - movs r4, 0 - cmp r4, r10 - bge _0806E368 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x34] - ldrh r2, [r0] - ldr r0, =0x000001ff - ands r0, r1 - add r1, sp, 0x8 - cmp r2, r0 - beq _0806E368 - ldr r2, [sp, 0x38] - ldr r0, =gLevelUpLearnsets - adds r6, r2, r0 - ldr r2, =0x000001ff - mov r8, r2 - adds r3, r1, 0 - adds r5, r7, 0 -_0806E350: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _0806E368 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _0806E350 -_0806E368: - cmp r4, r10 - bne _0806E38A - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r4, [sp, 0x34] - adds r2, r4, r2 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, =0x000001ff - ands r0, r1 - strh r0, [r2] -_0806E38A: - mov r5, r12 - cmp r5, 0x13 - bgt _0806E3A0 - mov r2, r9 - ldr r0, [r2] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r4, =0x0000ffff - cmp r0, r4 - bne _0806E2D0 -_0806E3A0: - mov r0, r10 -_0806E3A2: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end GetNumberOfRelearnableMoves - - thumb_func_start SpeciesToPokedexNum -SpeciesToPokedexNum: @ 806E3C0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _0806E3DA - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - b _0806E3F2 -_0806E3DA: - adds r0, r4, 0 - bl SpeciesToHoennPokedexNum - adds r4, r0, 0 - cmp r4, 0xCA - bls _0806E3F0 - ldr r0, =0x0000ffff - b _0806E3F2 - .pool -_0806E3F0: - adds r0, r4, 0 -_0806E3F2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end SpeciesToPokedexNum - - thumb_func_start sub_806E3F8 -sub_806E3F8: @ 806E3F8 - push {lr} - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToHoennPokedexNum - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xCA - bhi _0806E40E - movs r0, 0x1 - b _0806E410 -_0806E40E: - movs r0, 0 -_0806E410: - pop {r1} - bx r1 - thumb_func_end sub_806E3F8 - - thumb_func_start sub_806E414 -sub_806E414: @ 806E414 - push {lr} - ldr r1, =gUnknown_020244E4 - movs r2, 0 - adds r0, r1, 0x3 -_0806E41C: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _0806E41C - pop {r0} - bx r0 - .pool - thumb_func_end sub_806E414 - - thumb_func_start song_id_for_battle -song_id_for_battle: @ 806E42C - push {lr} - ldr r0, =gBattleTypeFlags - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _0806E448 - movs r0, 0xF0 - lsls r0, 1 - b _0806E646 - .pool -_0806E448: - movs r0, 0x80 - lsls r0, 7 - ands r0, r1 - cmp r0, 0 - beq _0806E45C - ldr r0, =0x000001df - b _0806E646 - .pool -_0806E45C: - ldr r0, =0x02000002 - ands r0, r1 - cmp r0, 0 - beq _0806E466 - b _0806E63C -_0806E466: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _0806E470 - b _0806E642 -_0806E470: - ldr r0, =0x003f0100 - ands r0, r1 - cmp r0, 0 - beq _0806E494 - ldr r0, =gTrainerBattleOpponent_A - ldrh r0, [r0] - bl sub_8162BD8 - lsls r0, 24 - lsrs r0, 24 - b _0806E4B2 - .pool -_0806E494: - movs r0, 0x80 - lsls r0, 19 - ands r1, r0 - cmp r1, 0 - beq _0806E4A2 - movs r0, 0xA - b _0806E4B2 -_0806E4A2: - ldr r2, =gTrainers - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] -_0806E4B2: - subs r0, 0x3 - cmp r0, 0x3D - bls _0806E4BA - b _0806E63C -_0806E4BA: - lsls r0, 2 - ldr r1, =_0806E4D0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0806E4D0: - .4byte _0806E5D0 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E5D0 - .4byte _0806E63C - .4byte _0806E5D0 - .4byte _0806E63C - .4byte _0806E5C8 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E62C - .4byte _0806E5D8 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E5E0 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E5D0 - .4byte _0806E5E6 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E5C8 - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E63C - .4byte _0806E632 - .4byte _0806E632 - .4byte _0806E632 - .4byte _0806E632 - .4byte _0806E632 - .4byte _0806E632 - .4byte _0806E632 -_0806E5C8: - ldr r0, =0x000001e3 - b _0806E646 - .pool -_0806E5D0: - ldr r0, =0x000001db - b _0806E646 - .pool -_0806E5D8: - ldr r0, =0x000001dd - b _0806E646 - .pool -_0806E5E0: - movs r0, 0xEF - lsls r0, 1 - b _0806E646 -_0806E5E6: - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x003f0100 - ands r0, r1 - cmp r0, 0 - beq _0806E604 -_0806E5F2: - ldr r0, =0x000001e1 - b _0806E646 - .pool -_0806E604: - ldr r0, =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTrainers + 0x4 @ name offset - adds r0, r1 - ldr r1, =gUnknown_085CCB98 - bl StringCompare - cmp r0, 0 - beq _0806E63C - b _0806E5F2 - .pool -_0806E62C: - movs r0, 0xF1 - lsls r0, 1 - b _0806E646 -_0806E632: - ldr r0, =0x000001d7 - b _0806E646 - .pool -_0806E63C: - movs r0, 0xEE - lsls r0, 1 - b _0806E646 -_0806E642: - movs r0, 0xED - lsls r0, 1 -_0806E646: - pop {r1} - bx r1 - thumb_func_end song_id_for_battle - - thumb_func_start sub_806E64C -sub_806E64C: @ 806E64C - push {lr} - bl ResetMapMusic - bl m4aMPlayAllStop - bl song_id_for_battle - lsls r0, 16 - lsrs r0, 16 - bl PlayBGM - pop {r0} - bx r0 - thumb_func_end sub_806E64C - - thumb_func_start PlayNewMapMusic__default_for_battle -PlayNewMapMusic__default_for_battle: @ 806E668 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl ResetMapMusic - bl m4aMPlayAllStop - cmp r4, 0 - beq _0806E682 - adds r0, r4, 0 - bl PlayNewMapMusic - b _0806E68E -_0806E682: - bl song_id_for_battle - lsls r0, 16 - lsrs r0, 16 - bl PlayNewMapMusic -_0806E68E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayNewMapMusic__default_for_battle - - thumb_func_start sub_806E694 -sub_806E694: @ 806E694 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl ResetMapMusic - bl m4aMPlayAllStop - ldr r0, =sub_806E6CC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806E694 - - thumb_func_start sub_806E6CC -sub_806E6CC: @ 806E6CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0806E6F0 - ldrh r0, [r1, 0x8] - bl PlayNewMapMusic - b _0806E6FC - .pool -_0806E6F0: - bl song_id_for_battle - lsls r0, 16 - lsrs r0, 16 - bl PlayNewMapMusic -_0806E6FC: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_806E6CC - - thumb_func_start pokemon_get_pal -pokemon_get_pal: @ 806E708 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl species_and_otid_get_pal - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_get_pal - - thumb_func_start species_and_otid_get_pal -species_and_otid_get_pal: @ 806E740 - push {r4,r5,lr} - adds r3, r2, 0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _0806E75C - ldr r0, =gMonPaletteTable - ldr r0, [r0] - b _0806E788 - .pool -_0806E75C: - lsrs r0, r1, 16 - ldr r2, =0x0000ffff - ands r1, r2 - eors r0, r1 - lsrs r1, r3, 16 - eors r0, r1 - ands r3, r2 - eors r0, r3 - cmp r0, 0x7 - bls _0806E780 - ldr r0, =gMonPaletteTable - lsls r1, r4, 3 - b _0806E784 - .pool -_0806E780: - ldr r0, =gMonShinyPaletteTable - lsls r1, r5, 3 -_0806E784: - adds r1, r0 - ldr r0, [r1] -_0806E788: - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end species_and_otid_get_pal - - thumb_func_start sub_806E794 -sub_806E794: @ 806E794 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_806E7CC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_806E794 - - thumb_func_start sub_806E7CC -sub_806E7CC: @ 806E7CC - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsrs r0, r1, 16 - ldr r3, =0x0000ffff - ands r1, r3 - eors r0, r1 - lsrs r1, r2, 16 - eors r0, r1 - ands r2, r3 - eors r0, r2 - cmp r0, 0x7 - bls _0806E7F4 - lsls r0, r4, 3 - ldr r1, =gMonPaletteTable - b _0806E7F8 - .pool -_0806E7F4: - lsls r0, r4, 3 - ldr r1, =gMonShinyPaletteTable -_0806E7F8: - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806E7CC - - thumb_func_start IsHMMove2 -IsHMMove2: @ 806E804 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, =gHMMoves - ldrh r0, [r2] - ldr r1, =0x0000ffff - cmp r0, r1 - beq _0806E836 - adds r4, r1, 0 - adds r1, r2, 0 -_0806E818: - ldrh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - cmp r0, r3 - bne _0806E830 - movs r0, 0x1 - b _0806E838 - .pool -_0806E830: - ldrh r0, [r1] - cmp r0, r4 - bne _0806E818 -_0806E836: - movs r0, 0 -_0806E838: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsHMMove2 - - thumb_func_start sub_806E840 -sub_806E840: @ 806E840 - lsls r0, 16 - lsrs r0, 16 - ldr r2, =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x19] - lsrs r0, 7 - bx lr - .pool - thumb_func_end sub_806E840 - - thumb_func_start GetMonFlavourRelation -GetMonFlavourRelation: @ 806E858 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPokeblockFlavorCompatibilityTable - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetMonFlavourRelation - - thumb_func_start GetFlavourRelationByPersonality -GetFlavourRelationByPersonality: @ 806E880 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gPokeblockFlavorCompatibilityTable - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end GetFlavourRelationByPersonality - - thumb_func_start IsTradedMon -IsTradedMon: @ 806E8A8 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - mov r1, sp - bl IsOtherTrainer - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsTradedMon - - thumb_func_start IsOtherTrainer -IsOtherTrainer: @ 806E8D4 - push {r4,r5,lr} - adds r5, r1, 0 - ldr r1, =gSaveBlock2Ptr - ldr r3, [r1] - ldrb r2, [r3, 0xA] - ldrb r1, [r3, 0xB] - lsls r1, 8 - orrs r2, r1 - ldrb r1, [r3, 0xC] - lsls r1, 16 - orrs r2, r1 - ldrb r1, [r3, 0xD] - lsls r1, 24 - orrs r2, r1 - cmp r0, r2 - bne _0806E91C - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _0806E912 - adds r2, r5, 0 -_0806E8FE: - adds r1, r3, r4 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _0806E91C - adds r2, 0x1 - adds r4, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0806E8FE -_0806E912: - movs r0, 0 - b _0806E91E - .pool -_0806E91C: - movs r0, 0x1 -_0806E91E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsOtherTrainer - - thumb_func_start MonRestorePP -MonRestorePP: @ 806E924 - push {lr} - bl BoxMonRestorePP - pop {r0} - bx r0 - thumb_func_end MonRestorePP - - thumb_func_start BoxMonRestorePP -BoxMonRestorePP: @ 806E930 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r6, 0 -_0806E938: - adds r4, r6, 0 - adds r4, 0xD - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - beq _0806E984 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x15 - movs r2, 0 - bl GetBoxMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r6, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl CalculatePPWithBonus - mov r1, sp - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - mov r2, sp - bl SetBoxMonData -_0806E984: - adds r6, 0x1 - cmp r6, 0x3 - ble _0806E938 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end BoxMonRestorePP - - thumb_func_start sub_806E994 -sub_806E994: @ 806E994 - push {r4,r5,lr} - ldr r2, =gLastUsedAbility - ldr r5, =gBattleStruct - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0xB0 - ldrb r0, [r0] - strb r0, [r2] - ldr r4, =gBattleTextBuff1 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - adds r1, 0x49 - ldrb r0, [r1] - strb r0, [r4, 0x2] - movs r0, 0xFF - strb r0, [r4, 0x4] - ldrb r0, [r1] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0806E9E8 - ldr r1, =gBattlePartyID - ldr r0, [r5] - adds r0, 0x49 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - b _0806E9F6 - .pool -_0806E9E8: - ldr r1, =gBattlePartyID - ldr r0, [r5] - adds r0, 0x49 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] -_0806E9F6: - strb r0, [r4, 0x3] - ldr r4, =gBattleTextBuff2 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - ldr r1, =gUnknown_020244B8 - ldrb r0, [r1] - strb r0, [r4, 0x2] - ldr r2, =gBattlePartyID - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - bl pokemon_order_func - strb r0, [r4, 0x3] - movs r0, 0xFF - strb r0, [r4, 0x4] - ldr r0, =gUnknown_085CB2A1 - ldr r1, =gStringVar4 - bl StrCpyDecodeBattle - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806E994 - - thumb_func_start GetWildMonTableIdInAlteringCave -GetWildMonTableIdInAlteringCave: @ 806EA40 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0 - ldr r2, =gUnknown_08329EFC -_0806EA4A: - ldrh r0, [r2] - cmp r0, r3 - bne _0806EA58 - adds r0, r1, 0 - b _0806EA62 - .pool -_0806EA58: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x8 - ble _0806EA4A - movs r0, 0 -_0806EA62: - pop {r1} - bx r1 - thumb_func_end GetWildMonTableIdInAlteringCave - - thumb_func_start SetWildMonHeldItem -SetWildMonHeldItem: @ 806EA68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x00302008 - ands r0, r1 - cmp r0, 0 - beq _0806EA7C - b _0806EB90 -_0806EA7C: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, =gEnemyParty - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x2D - mov r8, r0 - movs r7, 0x5F - ldr r5, =gPlayerParty - adds r0, r5, 0 - movs r1, 0x6 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0806EAC6 - adds r0, r5, 0 - bl GetMonAbility - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE - bne _0806EAC6 - movs r2, 0x14 - mov r8, r2 - movs r7, 0x50 -_0806EAC6: - ldr r0, =gMapHeader - ldrh r1, [r0, 0x12] - movs r0, 0xD2 - lsls r0, 1 - cmp r1, r0 - bne _0806EB2C - adds r0, r4, 0 - bl GetWildMonTableIdInAlteringCave - adds r2, r0, 0 - cmp r2, 0 - beq _0806EB04 - cmp r6, r7 - bcc _0806EB90 - ldr r0, =gEnemyParty - lsls r2, 2 - ldr r1, =gAlteringCaveWildMonHeldItems - b _0806EB6C - .pool -_0806EB04: - cmp r6, r8 - bcc _0806EB90 - cmp r6, r7 - bcs _0806EB18 - ldr r0, =gEnemyParty - lsls r2, r4, 3 - b _0806EB66 - .pool -_0806EB18: - ldr r0, =gEnemyParty - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - ldr r1, =gBaseStats + 0xe @ item 2 offset - b _0806EB6C - .pool -_0806EB2C: - ldr r0, =gBaseStats - mov r12, r0 - lsls r0, r4, 3 - subs r1, r0, r4 - lsls r5, r1, 2 - mov r2, r12 - adds r1, r5, r2 - ldrh r3, [r1, 0xC] - adds r2, r0, 0 - ldrh r1, [r1, 0xE] - cmp r3, r1 - bne _0806EB5C - cmp r3, 0 - beq _0806EB5C - ldr r0, =gEnemyParty - mov r2, r12 - adds r2, 0xC - adds r2, r5, r2 - b _0806EB6E - .pool -_0806EB5C: - cmp r6, r8 - bcc _0806EB90 - cmp r6, r7 - bcs _0806EB80 - ldr r0, =gEnemyParty -_0806EB66: - subs r2, r4 - lsls r2, 2 - ldr r1, =gBaseStats + 0xc @ item 1 offset -_0806EB6C: - adds r2, r1 -_0806EB6E: - movs r1, 0xC - bl SetMonData - b _0806EB90 - .pool -_0806EB80: - ldr r0, =gEnemyParty - subs r2, r4 - lsls r2, 2 - ldr r1, =gBaseStats + 0xe @ item 2 offset - adds r2, r1 - movs r1, 0xC - bl SetMonData -_0806EB90: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SetWildMonHeldItem - - thumb_func_start IsMonShiny -IsMonShiny: @ 806EBA4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - bl IsShinyOtIdPersonality - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end IsMonShiny - - thumb_func_start IsShinyOtIdPersonality -IsShinyOtIdPersonality: @ 806EBD0 - push {r4,lr} - movs r4, 0 - lsrs r2, r0, 16 - ldr r3, =0x0000ffff - ands r0, r3 - eors r2, r0 - lsrs r0, r1, 16 - eors r2, r0 - ands r1, r3 - eors r2, r1 - cmp r2, 0x7 - bhi _0806EBEA - movs r4, 0x1 -_0806EBEA: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end IsShinyOtIdPersonality - - thumb_func_start sub_806EBF8 -sub_806EBF8: @ 806EBF8 - push {r4,lr} - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 15 - ands r0, r1 - cmp r0, 0 - beq _0806EC3C - ldr r2, =gUnknown_02038BCE - ldrh r1, [r2] - ldr r0, =0x00000c03 - cmp r1, r0 - bne _0806EC28 - ldr r0, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name - b _0806EC64 - .pool -_0806EC28: - ldr r4, =gStringVar1 - ldrh r1, [r2] - adds r0, r4, 0 - bl sub_8162E20 - adds r0, r4, 0 - b _0806EC64 - .pool -_0806EC3C: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - ldr r4, =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x18] - movs r0, 0x2 - eors r0, r1 - bl sub_806D864 - adds r1, r0, 0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, 0x8 - adds r0, r4 -_0806EC64: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806EBF8 - - thumb_func_start sub_806EC70 -sub_806EC70: @ 806EC70 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xE] - subs r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0806ECA0 - ldrh r0, [r2, 0x8] - ldrh r1, [r2, 0xA] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0xC] - bl sub_817F544 - adds r0, r4, 0 - bl DestroyTask -_0806ECA0: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806EC70 - - thumb_func_start sub_806ECAC -sub_806ECAC: @ 806ECAC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xE] - subs r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - cmp r0, 0 - bne _0806ECE2 - ldrh r0, [r2, 0x8] - ldrh r1, [r2, 0xA] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0xC] - bl sub_817F578 - movs r0, 0xFF - bl sub_81C488C - adds r0, r4, 0 - bl DestroyTask -_0806ECE2: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806ECAC - - thumb_func_start sub_806ECEC -sub_806ECEC: @ 806ECEC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806ED30 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - bne _0806ED30 - movs r0, 0x80 - orrs r3, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806ED40 - b _0806ED38 - .pool -_0806ED30: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_806ED40 -_0806ED38: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_806ECEC - - thumb_func_start sub_806ED40 -sub_806ED40: @ 806ED40 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x7F - ands r0, r3 - cmp r0, 0 - beq _0806ED60 - cmp r0, 0x1 - beq _0806ED64 - movs r1, 0 - b _0806ED66 -_0806ED60: - movs r1, 0xE7 - b _0806ED66 -_0806ED64: - movs r1, 0x19 -_0806ED66: - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0806ED84 - cmp r2, 0 - bne _0806ED7C - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl PlayCry1 -_0806ED7C: - ldr r0, =SpriteCallbackDummy - b _0806EDFA - .pool -_0806ED84: - cmp r2, 0 - bne _0806EDA6 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl PlayCry1 - adds r0, r4, 0 - bl sub_806F0D4 - lsls r0, 24 - cmp r0, 0 - beq _0806EDA6 - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_0806EDA6: - ldr r0, =gUnknown_08329B87 - subs r4, 0x1 - adds r6, r4, r0 - ldrb r0, [r6] - cmp r0, 0 - beq _0806EDEC - ldr r0, =sub_806EC70 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsrs r0, r5, 16 - strh r0, [r1, 0xA] - ldr r0, =gUnknown_083299EC - adds r0, r4, r0 - ldrb r0, [r0] - strh r0, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - b _0806EDF8 - .pool -_0806EDEC: - ldr r0, =gUnknown_083299EC - adds r0, r4, r0 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_817F544 -_0806EDF8: - ldr r0, =nullsub_18 -_0806EDFA: - str r0, [r5, 0x1C] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806ED40 - - thumb_func_start sub_806EE0C -sub_806EE0C: @ 806EE0C - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - cmp r2, 0 - bne _0806EE2E - adds r0, r4, 0 - bl sub_806F0D4 - lsls r0, 24 - cmp r0, 0 - beq _0806EE2E - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim -_0806EE2E: - ldr r0, =gUnknown_08329B87 - subs r4, 0x1 - adds r6, r4, r0 - ldrb r0, [r6] - cmp r0, 0 - beq _0806EE80 - ldr r0, =sub_806ECAC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - strh r5, [r2, 0x8] - lsrs r1, r5, 16 - strh r1, [r2, 0xA] - ldr r1, =gUnknown_083299EC - adds r1, r4, r1 - ldrb r1, [r1] - strh r1, [r2, 0xC] - ldrb r1, [r6] - strh r1, [r2, 0xE] - bl sub_81C488C - adds r0, r5, 0 - bl sub_817F60C - b _0806EE8C - .pool -_0806EE80: - ldr r0, =gUnknown_083299EC - adds r0, r4, r0 - ldrb r1, [r0] - adds r0, r5, 0 - bl sub_817F578 -_0806EE8C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806EE0C - - thumb_func_start sub_806EE98 -sub_806EE98: @ 806EE98 - push {lr} - ldr r0, =sub_806ECAC - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _0806EEAC - bl DestroyTask -_0806EEAC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_806EE98 - - thumb_func_start sub_806EEB4 -sub_806EEB4: @ 806EEB4 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r2, r1, 16 - ldr r0, =gHitMarker - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0806EEE8 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x02000002 - ands r0, r1 - cmp r0, 0 - bne _0806EEE8 - ldr r0, =SpriteCallbackDummy - b _0806EEFC - .pool -_0806EEE8: - adds r0, r2, 0 - bl sub_817F474 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_817F594 - ldr r0, =nullsub_18 -_0806EEFC: - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_806EEB4 - - thumb_func_start sub_806EF08 -sub_806EF08: @ 806EF08 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x18] - cmp r0, 0x1 - beq _0806EF4C - cmp r0, 0x1 - bgt _0806EF38 - cmp r0, 0 - beq _0806EF42 - b _0806EF56 - .pool -_0806EF38: - cmp r0, 0x2 - beq _0806EF42 - cmp r0, 0x3 - beq _0806EF4C - b _0806EF56 -_0806EF42: - movs r5, 0x3 - cmp r4, 0 - beq _0806EF56 - movs r5, 0x1 - b _0806EF56 -_0806EF4C: - negs r0, r4 - orrs r0, r4 - asrs r5, r0, 31 - movs r0, 0x2 - ands r5, r0 -_0806EF56: - movs r2, 0 - ldr r4, =gLinkPlayers - ldrh r0, [r4, 0x18] - adds r1, r5, 0 - cmp r0, r1 - beq _0806EF74 - adds r3, r1, 0 - adds r1, r4, 0 -_0806EF66: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _0806EF74 - ldrh r0, [r1, 0x18] - cmp r0, r3 - bne _0806EF66 -_0806EF74: - lsls r0, r2, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .pool - thumb_func_end sub_806EF08 - - thumb_func_start sub_806EF84 -sub_806EF84: @ 806EF84 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r4, 0 - ldr r2, =gLinkPlayers - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x18] - cmp r0, 0x1 - beq _0806EFC4 - cmp r0, 0x1 - bgt _0806EFB0 - cmp r0, 0 - beq _0806EFBA - b _0806EFCE - .pool -_0806EFB0: - cmp r0, 0x2 - beq _0806EFBA - cmp r0, 0x3 - beq _0806EFC4 - b _0806EFCE -_0806EFBA: - movs r4, 0x3 - cmp r3, 0 - beq _0806EFCE - movs r4, 0x1 - b _0806EFCE -_0806EFC4: - negs r0, r3 - orrs r0, r3 - asrs r4, r0, 31 - movs r0, 0x2 - ands r4, r0 -_0806EFCE: - movs r3, 0 - ldrh r0, [r2, 0x18] - adds r1, r4, 0 - cmp r0, r1 - beq _0806EFE6 -_0806EFD8: - adds r2, 0x1C - adds r3, 0x1 - cmp r3, 0x3 - bgt _0806EFE6 - ldrh r0, [r2, 0x18] - cmp r0, r1 - bne _0806EFD8 -_0806EFE6: - lsls r0, r3, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_806EF84 - - thumb_func_start TrainerClassToTrainerPic -@ u8 TrainerClassToTrainerPic(u16 trainerClassId) -TrainerClassToTrainerPic: @ 806EFF0 - lsls r0, 16 - lsrs r0, 16 - ldr r1, =gTrainerPicIndices - adds r0, r1 - ldrb r0, [r0] - bx lr - .pool - thumb_func_end TrainerClassToTrainerPic - - thumb_func_start sub_806F000 -sub_806F000: @ 806F000 - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0806F00C - movs r0, 0x3C - b _0806F00E -_0806F00C: - movs r0, 0x3F -_0806F00E: - bl TrainerClassToTrainerPic - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_806F000 - - thumb_func_start SetPokedexFlag -@ void SetPokedexFlag(u16 nationalPokedexNum, u8 op, u32 personality) -SetPokedexFlag: @ 806F01C - push {r4-r7,lr} - adds r7, r2, 0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x2 - eors r0, r5 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - adds r0, r4, 0 - bl pokedex_flag_operation - lsls r0, 24 - cmp r0, 0 - bne _0806F072 - adds r0, r4, 0 - adds r1, r5, 0 - bl pokedex_flag_operation - adds r0, r4, 0 - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _0806F05C - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - str r7, [r0, 0x1C] -_0806F05C: - adds r0, r6, 0 - bl NationalPokedexNumToSpecies - lsls r0, 16 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0806F072 - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - str r7, [r0, 0x20] -_0806F072: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end SetPokedexFlag - - thumb_func_start sub_806F07C -sub_806F07C: @ 806F07C - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, =0x00000356 - cmp r2, r0 - bls _0806F08A - movs r2, 0 -_0806F08A: - ldr r1, =gTrainers - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x1] - movs r0, 0xD - muls r0, r1 - ldr r1, =gTrainerClassNames - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_806F07C - - thumb_func_start sub_806F0B0 -sub_806F0B0: @ 806F0B0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, =0x00000356 - cmp r1, r0 - bls _0806F0BE - movs r1, 0 -_0806F0BE: - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, =gTrainers + 0x4 @ name offset - adds r0, r1 - pop {r1} - bx r1 - .pool - thumb_func_end sub_806F0B0 - - thumb_func_start sub_806F0D4 -sub_806F0D4: @ 806F0D4 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - ldr r0, =0x00000181 - cmp r2, r0 - beq _0806F0F8 - adds r0, 0x19 - cmp r2, r0 - beq _0806F0F8 - subs r0, 0x66 - cmp r2, r0 - beq _0806F0F8 - movs r1, 0xC9 - eors r1, r2 - negs r0, r1 - orrs r0, r1 - lsrs r1, r0, 31 -_0806F0F8: - adds r0, r1, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_806F0D4 - - thumb_func_start sub_806F104 -sub_806F104: @ 806F104 - push {lr} - ldr r2, =gMain - ldr r1, =0x00000439 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0806F122 - ldr r0, =gBattleTypeFlags - ldr r0, [r0] - ldr r1, =0x003f0100 - ands r0, r1 - cmp r0, 0 - bne _0806F144 -_0806F122: - ldr r1, =0x00000439 - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0806F158 - bl InBattlePike - lsls r0, 24 - cmp r0, 0 - bne _0806F144 - bl InBattlePyramid - lsls r0, 24 - cmp r0, 0 - beq _0806F158 -_0806F144: - movs r0, 0x1 - b _0806F15A - .pool -_0806F158: - movs r0, 0 -_0806F15A: - pop {r1} - bx r1 - thumb_func_end sub_806F104 thumb_func_start sub_806F160 sub_806F160: @ 806F160 diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s index 1b0119424..a29ecb729 100644 --- a/asm/pokemon_animation.s +++ b/asm/pokemon_animation.s @@ -89,8 +89,8 @@ _0817F528: .pool thumb_func_end sub_817F498 - thumb_func_start sub_817F544 -sub_817F544: @ 817F544 + thumb_func_start LaunchAnimationTaskForFrontSprite +LaunchAnimationTaskForFrontSprite: @ 817F544 push {r4,r5,lr} adds r5, r0, 0 lsls r4, r1, 24 @@ -113,7 +113,7 @@ sub_817F544: @ 817F544 pop {r0} bx r0 .pool - thumb_func_end sub_817F544 + thumb_func_end LaunchAnimationTaskForFrontSprite thumb_func_start sub_817F578 sub_817F578: @ 817F578 @@ -130,8 +130,8 @@ sub_817F578: @ 817F578 .pool thumb_func_end sub_817F578 - thumb_func_start sub_817F594 -sub_817F594: @ 817F594 + thumb_func_start LaunchAnimationTaskForBackSprite +LaunchAnimationTaskForBackSprite: @ 817F594 push {r4-r6,lr} adds r5, r0, 0 lsls r6, r1, 24 @@ -178,7 +178,7 @@ sub_817F594: @ 817F594 pop {r0} bx r0 .pool - thumb_func_end sub_817F594 + thumb_func_end LaunchAnimationTaskForBackSprite thumb_func_start sub_817F60C sub_817F60C: @ 817F60C diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s index 2002343eb..137f7a5c0 100644 --- a/asm/pokemon_item_effect.s +++ b/asm/pokemon_item_effect.s @@ -77,7 +77,7 @@ ExecuteTableBasedItemEffect: @ 806BD28 cmp r0, 0 beq _0806BDA8 ldr r2, =gEnigmaBerries - ldr r0, =gUnknown_020244B8 + ldr r0, =gBankInMenu ldrb r1, [r0] lsls r0, r1, 3 subs r0, r1 @@ -100,8 +100,8 @@ _0806BDBC: lsrs r0, 24 _0806BDC4: str r0, [sp, 0x34] - ldr r1, =gUnknown_0202420F - ldr r0, =gUnknown_020244B8 + ldr r1, =gStringBank + ldr r0, =gBankInMenu ldrb r2, [r0] strb r2, [r1] ldr r0, =gMain diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s index 5a4a811e6..53824dfea 100644 --- a/asm/recorded_battle.s +++ b/asm/recorded_battle.s @@ -883,7 +883,7 @@ _081854E2: ldr r2, =0x000004f6 adds r0, r7, r2 strh r1, [r0] - ldr r3, =gUnknown_02038BCE + ldr r3, =gPartnerTrainerId ldrh r1, [r3] movs r4, 0x9F lsls r4, 3 @@ -1196,7 +1196,7 @@ _081857B6: b _08185856 .pool _081857E4: - ldr r3, =gUnknown_02038BCE + ldr r3, =gPartnerTrainerId ldrh r3, [r3] adds r0, r1, r3 lsls r0, 16 @@ -1207,7 +1207,7 @@ _081857E4: ldr r4, =0x00000504 adds r3, r7, r4 mov r10, r9 - ldr r5, =gUnknown_02038BCE + ldr r5, =gPartnerTrainerId mov r12, r5 ldr r0, =0xfffffed4 mov r8, r0 @@ -1231,7 +1231,7 @@ _08185804: ble _08185804 mov r0, r9 ldr r1, [r0] - ldr r2, =gUnknown_02038BCE + ldr r2, =gPartnerTrainerId ldrh r0, [r2] ldr r3, =0xfffffed4 adds r0, r3 @@ -1246,7 +1246,7 @@ _08185804: strb r1, [r0] mov r0, r9 ldr r1, [r0] - ldr r4, =gUnknown_02038BCE + ldr r4, =gPartnerTrainerId ldrh r0, [r4] adds r0, r3 muls r0, r2 @@ -1374,7 +1374,7 @@ _08185936: b _081859AC .pool _0818597C: - ldr r3, =gUnknown_02038BCE + ldr r3, =gPartnerTrainerId ldrh r0, [r3] cmp r0, r1 bls _081859C0 @@ -1395,7 +1395,7 @@ _0818597C: adds r1, r7, r5 strb r0, [r1] ldr r2, [r4] - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] adds r1, r3 _081859AC: @@ -1546,7 +1546,7 @@ sub_8185AB0: @ 8185AB0 strh r1, [r0] ldr r0, =gTrainerBattleOpponent_B strh r1, [r0] - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId strh r1, [r0] bl sub_8185EFC ldr r0, =gUnknown_0203C7B0 @@ -1725,7 +1725,7 @@ _08185C2A: adds r0, r7, r3 ldrh r0, [r0] strh r0, [r1] - ldr r1, =gUnknown_02038BCE + ldr r1, =gPartnerTrainerId adds r2, 0x4 adds r0, r7, r2 ldrh r0, [r0] @@ -1905,7 +1905,7 @@ sub_8185E24: @ 8185E24 ldr r0, =gUnknown_0203C7B0 str r5, [r0] movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM ldr r0, =sub_8185E8C bl SetMainCallback2 _08185E6E: diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 10fd6c6ce..f83a11ff1 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -265,7 +265,7 @@ _080A94F8: bl sub_805EE54 _080A955C: ldr r1, =gUnknown_020244AC - ldr r0, =gUnknown_020244B8 + ldr r0, =gBankInMenu ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -587,7 +587,7 @@ _080A9786: adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r7, r1 ldrb r1, [r1] bl StartSpriteAnim @@ -616,7 +616,7 @@ _080A986C: lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r6, =gUnknown_0202499C ldr r1, =gUnknown_08305D2C ldr r0, [r5] @@ -654,7 +654,7 @@ _080A98D0: lsls r1, 24 lsrs r1, 24 movs r0, 0x6 - bl template_build_for_pokemon_or_trainer + bl sub_806A12C ldr r5, =gUnknown_0202499C ldr r0, =gUnknown_08305D2C ldrb r0, [r0, 0x18] @@ -804,7 +804,7 @@ _080A998C: adds r0, r1 lsls r0, 2 adds r0, r5 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r7, r1 ldrb r1, [r1] bl StartSpriteAnim diff --git a/asm/rom3.s b/asm/rom3.s index ac74e0735..e2f268f43 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -76,7 +76,7 @@ _080326B8: movs r5, 0 str r5, [r0] bl sub_80A3934 - bl sub_806E414 + bl ClearBattleMonForms movs r0, 0xF bl BattleAI_HandleItemUseBeforeAISetup ldr r0, =gBattleTypeFlags @@ -2619,7 +2619,7 @@ dp01_build_cmdbuf_x10_TODO: @ 8033BE4 adds r0, 0xB1 ldrb r0, [r0] strb r0, [r3, 0x9] - ldr r0, =gUnknown_0202420F + ldr r0, =gStringBank ldrb r0, [r0] strb r0, [r3, 0xA] ldr r3, =gBattleMoves diff --git a/asm/rom6.s b/asm/rom6.s index 31d385fa9..a88c708a5 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -2140,7 +2140,7 @@ _081366D0: ldr r2, =0x0000ffff adds r1, r2, 0 strh r1, [r0] - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId mov r1, r9 strh r1, [r0] adds r0, r7, 0 @@ -2150,7 +2150,7 @@ _081366D0: _081366F8: movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId strh r4, [r0] adds r0, r7, 0 bl sub_8136938 @@ -2541,7 +2541,7 @@ sub_8136A50: @ 8136A50 sub_8136A74: @ 8136A74 push {lr} ldr r2, =gSaveBlock1Ptr - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] lsls r1, 3 ldr r0, =0x00000848 @@ -2586,7 +2586,7 @@ sub_8136AB4: @ 8136AB4 ldr r3, =gPokeblockNames ldr r1, =gSaveBlock1Ptr ldr r2, [r1] - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] lsls r1, 3 adds r2, r1 @@ -2689,7 +2689,7 @@ sub_8136BC0: @ 8136BC0 ands r0, r1 cmp r0, 0 beq _08136C36 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrb r0, [r0] bl sub_8136F68 movs r0, 0x5 @@ -2772,7 +2772,7 @@ sub_8136C8C: @ 8136C8C lsls r0, 24 lsrs r0, 24 ldr r5, =gSaveBlock1Ptr - ldr r7, =gUnknown_0203CE7C + ldr r7, =gScriptItemId ldrh r2, [r7] lsls r2, 3 ldr r6, =0x00000848 @@ -2836,7 +2836,7 @@ sub_8136D2C: @ 8136D2C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrb r0, [r5] bl SafariZoneActivatePokeblockFeeder ldr r0, =gStringVar1 @@ -2877,7 +2877,7 @@ sub_8136D90: @ 8136D90 lsrs r4, 24 ldr r6, =gSpecialVar_0x8004 ldr r0, =gSaveBlock1Ptr - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r1, [r5] lsls r1, 3 ldr r2, =0x00000848 @@ -4566,7 +4566,7 @@ _08137B7C: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _08137BEA @@ -4576,7 +4576,7 @@ _08137B7C: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 bne _08137BEA @@ -4590,7 +4590,7 @@ _08137BB8: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08137C04 @@ -4600,7 +4600,7 @@ _08137BB8: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08137C04 @@ -11184,7 +11184,7 @@ sub_813B21C: @ 813B21C lsls r0, 24 cmp r0, 0 bne _0813B258 - bl get_preferred_box + bl StorageGetCurrentBox adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -11215,7 +11215,7 @@ sub_813B260: @ 813B260 lsls r0, 24 lsrs r0, 24 bl set_unknown_box_id - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r4, r0, 24 _0813B278: @@ -11226,7 +11226,7 @@ _0813B27E: lsls r1, r5, 24 lsrs r1, 24 lsrs r0, r6, 24 - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr movs r1, 0xB movs r2, 0 bl GetBoxMonData @@ -11257,7 +11257,7 @@ _0813B2C0: bne _0813B2CE movs r4, 0 _0813B2CE: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 cmp r4, r0 diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s index 2690b0f98..8b0c99138 100644 --- a/asm/rom_8034C54.s +++ b/asm/rom_8034C54.s @@ -2524,7 +2524,7 @@ _08036208: ands r1, r0 cmp r1, 0 beq _08036224 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r1, [r0] ldr r0, =0x00000c03 cmp r1, r0 diff --git a/asm/rom_8072304.s b/asm/rom_8072304.s index 87c9f2567..c7db3830a 100644 --- a/asm/rom_8072304.s +++ b/asm/rom_8072304.s @@ -1317,7 +1317,7 @@ _08072D86: movs r2, 0x1 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1333,7 +1333,7 @@ _08072D86: lsls r0, 2 adds r5, r0, r1 _08072DB8: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1536,7 +1536,7 @@ _08072F52: ldr r1, =gUnknown_085E8D3E bl StringCopy _08072F82: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1556,7 +1556,7 @@ _08072F82: _08072FA6: cmp r4, 0x2 bhi _08072FF0 - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r2, 0xBA lsls r2, 1 @@ -1579,7 +1579,7 @@ _08072FA6: b _0807301A .pool _08072FF0: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1609,7 +1609,7 @@ _08073024: mov r3, r8 cmp r3, 0 bne _08073084 - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1702,7 +1702,7 @@ sub_80730D4: @ 80730D4 lsls r0, 24 lsrs r0, 24 bl GetBankIdentity - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] movs r3, 0xBA lsls r3, 1 @@ -1877,7 +1877,7 @@ _08073236: strb r0, [r1, 0x5] movs r0, 0xBA strb r0, [r1, 0x8] - ldr r5, =gUnknown_020244D4 + ldr r5, =gBattleSpritesGfx ldr r0, [r5] movs r2, 0xBA lsls r2, 1 @@ -3922,7 +3922,7 @@ sub_8074310: @ 8074310 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _080743E6 @@ -8234,7 +8234,7 @@ _080766BA: adds r0, r2, 0 movs r2, 0x1 movs r3, 0 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation b _08076708 .pool _080766FC: @@ -8242,7 +8242,7 @@ _080766FC: adds r0, r2, 0 movs r2, 0 movs r3, 0 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation _08076708: adds r0, r4, 0 bl DestroySpriteAndFreeResources diff --git a/asm/rom_80A5C6C.s b/asm/rom_80A5C6C.s index 22e91ecdc..ea75d4e2b 100644 --- a/asm/rom_80A5C6C.s +++ b/asm/rom_80A5C6C.s @@ -263,7 +263,7 @@ _080A5E90: cmp r5, r0 bne _080A5EB0 ldr r0, =gUnknown_08525F8C - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r4, r1 ldrb r1, [r1] adds r1, r0 @@ -353,7 +353,7 @@ _080A5F58: cmp r5, r0 bne _080A5F7C ldr r0, =gUnknown_08525F78 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r4, r1 ldrb r1, [r1] lsls r1, 2 @@ -407,7 +407,7 @@ sub_80A5FA0: @ 80A5FA0 cmp r4, r0 bne _080A5FE8 ldr r0, =gUnknown_08525F88 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms adds r1, r6, r1 ldrb r1, [r1] adds r1, r0 @@ -4541,7 +4541,7 @@ sub_80A7F18: @ 80A7F18 movs r4, 0 ldr r1, =gBankSpriteIds ldr r7, =0x00000181 - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms adds r6, r5, r0 _080A7F38: adds r0, r4, r1 @@ -5155,7 +5155,7 @@ sub_80A8394: @ 80A8394 bl AllocSpritePalette lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_020244D4 + ldr r4, =gBattleSpritesGfx ldr r0, [r4] cmp r0, 0 beq _080A8412 @@ -5213,7 +5213,7 @@ _080A845E: lsls r0, r6, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r3, 0xBE lsls r3, 1 @@ -5226,7 +5226,7 @@ _080A8488: lsls r0, r6, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -5276,7 +5276,7 @@ _080A84F6: lsls r0, r6, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -5294,7 +5294,7 @@ _080A8524: lsls r0, r6, 3 ldr r1, =gMonBackPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] movs r3, 0xBE lsls r3, 1 @@ -5305,7 +5305,7 @@ _080A8524: mov r3, r8 bl LoadSpecialPokePic_2 _080A8540: - ldr r5, =gUnknown_020244D4 + ldr r5, =gBattleSpritesGfx ldr r0, [r5] movs r4, 0xBE lsls r4, 1 @@ -5658,7 +5658,7 @@ _080A882E: cmp r7, r0 bne _080A8850 _080A8834: - ldr r0, =gUnknown_020244E4 + ldr r0, =gBattleMonForms add r0, r8 ldrb r0, [r0] lsls r0, 2 diff --git a/asm/rom_80C6FA0.s b/asm/rom_80C6FA0.s index d6d3bb375..fadda4cdb 100644 --- a/asm/rom_80C6FA0.s +++ b/asm/rom_80C6FA0.s @@ -1763,7 +1763,7 @@ _080C7DA8: bl CreateTask ldr r1, [r4] strb r0, [r1, 0x4] - bl get_preferred_box + bl StorageGetCurrentBox ldr r1, =gUnknown_02039D10 strb r0, [r1] ldr r0, =c2_Box @@ -2102,7 +2102,7 @@ _080C80EC: bl sub_80CA704 b _080C8198 _080C80F2: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 bl sub_80CC32C @@ -2252,7 +2252,7 @@ _080C8230: ldrb r0, [r0] cmp r0, 0x2 bne _080C825C - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] cmp r0, 0 beq _080C825C @@ -2459,7 +2459,7 @@ _080C8440: _080C844C: movs r0, 0x5 bl PlaySE - bl get_preferred_box + bl StorageGetCurrentBox ldr r4, =gUnknown_02039D08 ldr r1, [r4] lsls r0, 24 @@ -2483,7 +2483,7 @@ _080C846E: _080C8484: movs r0, 0x5 bl PlaySE - bl get_preferred_box + bl StorageGetCurrentBox ldr r4, =gUnknown_02039D08 ldr r1, [r4] lsls r0, 24 @@ -4859,7 +4859,7 @@ _080C99FE: movs r1, 0xA movs r3, 0x3 bl sub_80C77E8 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 bl sub_80C78D4 @@ -4888,7 +4888,7 @@ _080C9A2C: cmp r0, 0xC9 beq _080C9A6C adds r4, r0, 0 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -5421,7 +5421,7 @@ _080C9F04: .pool _080C9F1C: bl sub_80C9FC8 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 bl sav3_get_box_name @@ -5458,7 +5458,7 @@ _080C9F56: sub_80C9F6C: @ 80C9F6C push {lr} sub sp, 0x4 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r1, [r0] mov r0, sp strh r1, [r0] @@ -6895,7 +6895,7 @@ _080CABDA: sub_80CABE0: @ 80CABE0 push {r4,lr} ldr r4, =gUnknown_02039D10 - bl get_preferred_box + bl StorageGetCurrentBox ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -6904,7 +6904,7 @@ sub_80CABE0: @ 80CABE0 ldr r0, =0x000008d7 bl FlagReset ldr r4, =0x00004036 - bl get_preferred_box + bl StorageGetCurrentBox adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -10143,7 +10143,7 @@ sub_80CC644: @ 80CC644 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r1, r0, 24 movs r2, 0 @@ -10180,7 +10180,7 @@ sub_80CC680: @ 80CC680 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 @@ -10244,7 +10244,7 @@ _080CC718: lsls r0, 24 cmp r0, 0 bne _080CC794 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -11229,7 +11229,7 @@ _080CCF96: thumb_func_start sub_80CCF9C sub_80CCF9C: @ 80CCF9C push {lr} - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 bl sub_80D20F8 @@ -12975,7 +12975,7 @@ _080CDDFE: b _080CDE2A .pool _080CDE20: - bl get_preferred_box + bl StorageGetCurrentBox ldr r1, [r4] ldr r2, =0x00000d91 adds r1, r2 @@ -13141,7 +13141,7 @@ _080CDF68: ldrb r0, [r0] cmp r0, 0 bne _080CDF8E - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 ldr r4, =gUnknown_02039D79 @@ -13182,7 +13182,7 @@ sub_80CDFAC: @ 80CDFAC b _080CDFF8 .pool _080CDFDC: - bl get_preferred_box + bl StorageGetCurrentBox adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -13417,7 +13417,7 @@ _080CE1DC: ldrb r0, [r5] bl sub_80CBB68 _080CE1F6: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -13539,7 +13539,7 @@ _080CE2F0: b _080CE30C .pool _080CE304: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r2, r0, 24 _080CE30C: @@ -13687,7 +13687,7 @@ _080CE418: b _080CE488 .pool _080CE464: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 ldr r1, =gUnknown_02039D79 @@ -13697,7 +13697,7 @@ _080CE464: ldr r3, =0x00002108 adds r2, r3 bl sub_80D2054 - bl get_preferred_box + bl StorageGetCurrentBox ldr r1, [r4] ldr r2, =0x00002170 adds r1, r2 @@ -14140,11 +14140,11 @@ _080CE838: b _080CE8CA .pool _080CE894: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr ldr r3, =gUnknown_02039D08 ldr r2, [r3] ldr r4, =0x0000218c @@ -14527,12 +14527,12 @@ _080CEBB0: bl sub_80CEC00 b _080CEBD0 _080CEBBA: - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 ldr r1, =gUnknown_02039D79 ldrb r1, [r1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr movs r1, 0x1 bl sub_80CEC00 _080CEBD0: @@ -14847,7 +14847,7 @@ _080CEE94: _080CEEC0: ldr r2, =0x00000cf9 adds r0, r1, r2 - ldr r1, =gUnknown_085E8264 + ldr r1, =gEggNickname movs r2, 0 movs r3, 0x8 bl StringCopyPadded @@ -15491,7 +15491,7 @@ _080CF428: adds r1, r0 movs r0, 0x2 strb r0, [r1] - bl get_preferred_box + bl StorageGetCurrentBox ldr r1, =gUnknown_02039D7B strb r0, [r1] movs r0, 0x17 @@ -18075,7 +18075,7 @@ _080D0902: _080D0914: adds r0, 0x1 strb r0, [r2, 0xB] - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -18111,7 +18111,7 @@ _080D093C: _080D095A: mov r0, r10 adds r1, r5, 0 - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r1, r0, 0 ldr r2, =gUnknown_02039D80 ldr r0, [r2] @@ -18161,7 +18161,7 @@ sub_80D09A4: @ 80D09A4 ldrb r0, [r0, 0xB] adds r1, r0 mov r9, r1 - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -18305,7 +18305,7 @@ sub_80D0AAC: @ 80D0AAC ldrb r0, [r0, 0xB] adds r1, r0 str r1, [sp] - bl get_preferred_box + bl StorageGetCurrentBox lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x4] @@ -20559,15 +20559,15 @@ nullsub_98: @ 80D1D08 bx lr thumb_func_end nullsub_98 - thumb_func_start get_preferred_box -@ char get_preferred_box() -get_preferred_box: @ 80D1D0C + thumb_func_start StorageGetCurrentBox +@ char StorageGetCurrentBox() +StorageGetCurrentBox: @ 80D1D0C ldr r0, =gPokemonStoragePtr ldr r0, [r0] ldrb r0, [r0] bx lr .pool - thumb_func_end get_preferred_box + thumb_func_end StorageGetCurrentBox thumb_func_start sub_80D1D18 sub_80D1D18: @ 80D1D18 @@ -21050,9 +21050,9 @@ _080D2088: .pool thumb_func_end sub_80D2054 - thumb_func_start get_pokemon_by_box_and_pos -@ pokemon *get_pokemon_by_box_and_pos(u8 box_id, u8 pos) -get_pokemon_by_box_and_pos: @ 80D2094 + thumb_func_start GetBoxedMonPtr +@ pokemon *GetBoxedMonPtr(u8 box_id, u8 pos) +GetBoxedMonPtr: @ 80D2094 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 @@ -21083,7 +21083,7 @@ _080D20CA: pop {r4} pop {r1} bx r1 - thumb_func_end get_pokemon_by_box_and_pos + thumb_func_end GetBoxedMonPtr thumb_func_start sav3_get_box_name sav3_get_box_name: @ 80D20D0 @@ -27175,7 +27175,7 @@ sub_80D5070: @ 80D5070 adds r4, r0, 0 cmp r4, 0x2A bne _080D5082 - bl sub_80E162C + bl IsEnigmaBerryValid _080D5082: ldr r5, =gBerryPicTable lsls r4, 3 diff --git a/asm/rom_815A0D4.s b/asm/rom_815A0D4.s index bd09771b0..bdec296c0 100644 --- a/asm/rom_815A0D4.s +++ b/asm/rom_815A0D4.s @@ -3024,12 +3024,12 @@ _0815B8E0: lsls r0, 24 lsrs r1, r0, 24 _0815B8EA: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r2, [r0] lsls r0, r1, 2 adds r2, 0x4 adds r2, r0 - ldr r1, =gUnknown_020244E4 + ldr r1, =gBattleMonForms ldr r0, =gAnimationBankAttacker ldrb r0, [r0] adds r0, r1 diff --git a/asm/rom_8161F74.s b/asm/rom_8161F74.s index 339476c45..75bfc07bb 100644 --- a/asm/rom_8161F74.s +++ b/asm/rom_8161F74.s @@ -391,7 +391,7 @@ _081622B2: adds r4, r1, r0 mov r0, r10 str r2, [sp, 0x38] - bl sub_8165C90 + bl BattleFrontierGetOpponentLvl ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -1340,7 +1340,7 @@ sub_8162AA0: @ 8162AA0 lsls r0, 1 cmp r4, r0 bne _08162AD0 - ldr r1, =gTrainerPicIndices + ldr r1, =gUnknown_0831F578 ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1362,7 +1362,7 @@ _08162AE4: ldr r0, =0x0000012b cmp r4, r0 bhi _08162B08 - ldr r2, =gTrainerPicIndices + ldr r2, =gUnknown_0831F578 ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1383,7 +1383,7 @@ _08162B08: ands r0, r1 cmp r0, 0 beq _08162B38 - ldr r4, =gTrainerPicIndices + ldr r4, =gUnknown_0831F578 bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1391,7 +1391,7 @@ _08162B08: b _08162BC8 .pool _08162B38: - ldr r3, =gTrainerPicIndices + ldr r3, =gUnknown_0831F578 ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1413,7 +1413,7 @@ _08162B64: ands r0, r1 cmp r0, 0 bne _08162BB0 - ldr r4, =gTrainerPicIndices + ldr r4, =gUnknown_0831F578 ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1436,7 +1436,7 @@ _08162B64: b _08162BC8 .pool _08162BB0: - ldr r5, =gTrainerPicIndices + ldr r5, =gUnknown_0831F578 ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1456,8 +1456,8 @@ _08162BCA: .pool thumb_func_end sub_8162AA0 - thumb_func_start sub_8162BD8 -sub_8162BD8: @ 8162BD8 + thumb_func_start GetFrontierOpponentClass +GetFrontierOpponentClass: @ 8162BD8 push {r4,r5,lr} lsls r0, 16 lsrs r4, r0, 16 @@ -1467,7 +1467,7 @@ sub_8162BD8: @ 8162BD8 lsls r0, 1 cmp r4, r0 bne _08162C08 - ldr r1, =gTrainerClassNameIndices + ldr r1, =gTrainerClassToNameIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -1499,7 +1499,7 @@ _08162C38: ldr r0, =0x0000012b cmp r4, r0 bhi _08162C60 - ldr r2, =gTrainerClassNameIndices + ldr r2, =gTrainerClassToNameIndex ldr r0, =gUnknown_0203BC88 ldr r1, [r0] movs r0, 0x34 @@ -1521,7 +1521,7 @@ _08162C60: ands r0, r1 cmp r0, 0 beq _08162C90 - ldr r4, =gTrainerClassNameIndices + ldr r4, =gTrainerClassToNameIndex bl sub_818649C lsls r0, 24 lsrs r0, 24 @@ -1530,7 +1530,7 @@ _08162C60: b _08162D1E .pool _08162C90: - ldr r3, =gTrainerClassNameIndices + ldr r3, =gTrainerClassToNameIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0xfffffed4 @@ -1553,7 +1553,7 @@ _08162CBC: ands r0, r1 cmp r0, 0 beq _08162CF4 - ldr r5, =gTrainerClassNameIndices + ldr r5, =gTrainerClassToNameIndex ldr r4, =gUnknown_08610970 bl sub_81864A8 lsls r0, 24 @@ -1568,7 +1568,7 @@ _08162CBC: b _08162D1E .pool _08162CF4: - ldr r4, =gTrainerClassNameIndices + ldr r4, =gTrainerClassToNameIndex ldr r3, =gUnknown_08610970 ldr r0, =gSaveBlock2Ptr ldr r1, [r0] @@ -1594,7 +1594,7 @@ _08162D1E: pop {r1} bx r1 .pool - thumb_func_end sub_8162BD8 + thumb_func_end GetFrontierOpponentClass thumb_func_start sub_8162D34 sub_8162D34: @ 8162D34 @@ -1697,8 +1697,8 @@ _08162E0C: .pool thumb_func_end sub_8162D34 - thumb_func_start sub_8162E20 -sub_8162E20: @ 8162E20 + thumb_func_start GetFrontierTrainerName +GetFrontierTrainerName: @ 8162E20 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 16 @@ -1846,7 +1846,7 @@ _08162F62: pop {r4-r6} pop {r0} bx r0 - thumb_func_end sub_8162E20 + thumb_func_end GetFrontierTrainerName thumb_func_start sub_8162F68 sub_8162F68: @ 8162F68 @@ -3275,7 +3275,7 @@ _08163B56: _08163B64: movs r0, 0x2 bl sub_816306C - ldr r1, =gUnknown_02038BCE + ldr r1, =gPartnerTrainerId ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000cd6 @@ -3302,7 +3302,7 @@ _08163BA6: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0 b _08163E10 .pool @@ -3334,7 +3334,7 @@ _08163BC4: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0xC b _08163E10 .pool @@ -3369,7 +3369,7 @@ _08163C18: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0xD b _08163E10 .pool @@ -3438,7 +3438,7 @@ _08163D12: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0x4 b _08163E10 .pool @@ -3467,7 +3467,7 @@ _08163D5E: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0x5 b _08163E10 .pool @@ -3490,7 +3490,7 @@ _08163D8E: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0x6 b _08163E10 .pool @@ -3513,7 +3513,7 @@ _08163DC8: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0xA b _08163E10 .pool @@ -3528,7 +3528,7 @@ _08163E00: movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0x7 _08163E10: bl sub_80B100C @@ -3553,13 +3553,13 @@ _08163E2C: strb r0, [r4] ldr r0, =gUnknown_08224167 bl TrainerBattleConfigure - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId strh r5, [r0] ldr r0, =sub_8163A8C movs r1, 0x1 bl CreateTask movs r0, 0 - bl PlayNewMapMusic__default_for_battle + bl PlayMapChosenOrBattleBGM movs r0, 0x12 bl sub_8145EF4 _08163E68: @@ -3979,7 +3979,7 @@ _081641E6: lsls r0, r1, 24 lsrs r0, 24 str r2, [sp, 0x18] - bl sub_8165C90 + bl BattleFrontierGetOpponentLvl ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4464,7 +4464,7 @@ _081645B8: lsls r0, r1, 24 lsrs r0, 24 str r3, [sp, 0x48] - bl sub_8165C90 + bl BattleFrontierGetOpponentLvl ldrb r1, [r4] lsls r0, 24 lsrs r0, 24 @@ -4782,7 +4782,7 @@ _081648D6: _081648E2: ldr r0, =gStringVar1 adds r1, r7, 0 - bl sub_8162E20 + bl GetFrontierTrainerName b _08164AC2 .pool _081648F4: @@ -4841,7 +4841,7 @@ _08164910: ldr r0, =gStringVar3 mov r3, r10 lsrs r1, r3, 16 - bl sub_8162E20 + bl GetFrontierTrainerName b _08164AC2 .pool _08164984: @@ -4867,7 +4867,7 @@ _081649A8: b _08164AC2 .pool _081649BC: - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId strh r7, [r0] ldr r0, =0x0000012b cmp r7, r0 @@ -4944,7 +4944,7 @@ _08164A60: bl sub_8162548 lsls r0, 16 lsrs r3, r0, 16 - ldr r0, =gUnknown_02038BCE + ldr r0, =gPartnerTrainerId ldrh r0, [r0] cmp r0, r3 beq _08164A60 @@ -5340,7 +5340,7 @@ sub_8164E04: @ 8164E04 ldr r5, =gTrainerBattleOpponent_A ldrh r1, [r5] mov r0, sp - bl sub_8162E20 + bl GetFrontierTrainerName mov r0, sp bl StripExtCtrlCodes ldr r4, =gSaveBlock2Ptr @@ -5845,7 +5845,7 @@ _08165206: thumb_func_start sub_8165244 sub_8165244: @ 8165244 - ldr r1, =gTrainerPicIndices + ldr r1, =gUnknown_0831F578 ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -5859,7 +5859,7 @@ sub_8165244: @ 8165244 thumb_func_start sub_8165264 sub_8165264: @ 8165264 - ldr r1, =gTrainerClassNameIndices + ldr r1, =gTrainerClassToNameIndex ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r2, =0x00000bed @@ -7104,7 +7104,7 @@ sub_8165C40: @ 8165C40 ldrb r0, [r2] lsls r0, 30 lsrs r0, 30 - bl sub_8165C90 + bl BattleFrontierGetOpponentLvl b _08165C88 .pool _08165C84: @@ -7116,8 +7116,8 @@ _08165C88: bx r1 thumb_func_end sub_8165C40 - thumb_func_start sub_8165C90 -sub_8165C90: @ 8165C90 + thumb_func_start BattleFrontierGetOpponentLvl +BattleFrontierGetOpponentLvl: @ 8165C90 push {lr} lsls r0, 24 lsrs r0, 24 @@ -7138,7 +7138,7 @@ _08165CA2: _08165CB0: pop {r1} bx r1 - thumb_func_end sub_8165C90 + thumb_func_end BattleFrontierGetOpponentLvl thumb_func_start sub_8165CB4 sub_8165CB4: @ 8165CB4 @@ -8813,7 +8813,7 @@ _08166BB6: lsls r0, 24 cmp r0, 0 bne _08166BDA - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrb r0, [r0] bl sub_8136F68 ldr r0, =sub_8166BEC diff --git a/asm/rom_817C95C.s b/asm/rom_817C95C.s index 68963869a..a08d34cad 100644 --- a/asm/rom_817C95C.s +++ b/asm/rom_817C95C.s @@ -4959,8 +4959,8 @@ sub_817F3F0: @ 817F3F0 bx r0 thumb_func_end sub_817F3F0 - thumb_func_start sub_817F474 -sub_817F474: @ 817F474 + thumb_func_start GetSpeciesBackAnimId +GetSpeciesBackAnimId: @ 817F474 push {lr} lsls r0, 16 lsrs r0, 16 @@ -4979,6 +4979,6 @@ _0817F48C: _0817F492: pop {r1} bx r1 - thumb_func_end sub_817F474 + thumb_func_end GetSpeciesBackAnimId .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_818CFC8.s b/asm/rom_818CFC8.s index 7a703aca4..2661d4667 100644 --- a/asm/rom_818CFC8.s +++ b/asm/rom_818CFC8.s @@ -1263,13 +1263,13 @@ sub_818D97C: @ 818D97C bne _0818D9A2 cmp r0, 0 beq _0818D99C - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x3F ldrb r0, [r0] b _0818D9A2 .pool _0818D99C: - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, 0x3C ldrb r0, [r0] _0818D9A2: diff --git a/asm/rom_818E9AC.s b/asm/rom_818E9AC.s index 0ee8404a6..41af18b05 100644 --- a/asm/rom_818E9AC.s +++ b/asm/rom_818E9AC.s @@ -7171,7 +7171,7 @@ _0819270A: ldr r4, [sp, 0x24] cmp r4, r0 bne _08192784 - ldr r0, =gTrainerClassNameIndices + ldr r0, =gTrainerClassToNameIndex adds r0, 0x3C ldrb r5, [r0] b _081927A2 @@ -7186,7 +7186,7 @@ _08192784: .pool _08192798: ldr r0, [sp, 0x24] - bl sub_8162BD8 + bl GetFrontierOpponentClass _0819279E: lsls r0, 24 lsrs r5, r0, 24 @@ -15869,7 +15869,7 @@ _0819702E: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _08197050 @@ -15882,7 +15882,7 @@ _08197050: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _0819706C @@ -40744,7 +40744,7 @@ sub_81A3DD0: @ 81A3DD0 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _081A3ED6 @@ -41123,7 +41123,7 @@ _081A4112: lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 cmp r0, 0 beq _081A412A @@ -41472,14 +41472,14 @@ _081A4450: ldr r0, =gStringVar1 ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] - bl sub_8162E20 + bl GetFrontierTrainerName b _081A446E .pool _081A4464: ldr r0, =gStringVar2 ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] - bl sub_8162E20 + bl GetFrontierTrainerName _081A446E: pop {r0} bx r0 @@ -44244,7 +44244,7 @@ sub_81A5BE0: @ 81A5BE0 ldr r0, =gStringVar1 ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] - bl sub_8162E20 + bl GetFrontierTrainerName pop {r0} bx r0 .pool @@ -51131,7 +51131,7 @@ sub_81A9424: @ 81A9424 adds r1, r0 mov r8, r1 ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -51179,7 +51179,7 @@ _081A9488: _081A94AE: ldr r3, =gUnknown_08613ED8 ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -51803,7 +51803,7 @@ _081A99CE: cmp r0, r12 bne _081A9A8A adds r2, 0x7 - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -51964,7 +51964,7 @@ sub_81A9B04: @ 81A9B04 beq _081A9B2E movs r0, 0x1 bl sub_80B47E0 - ldr r1, =gUnknown_03005DF0 + ldr r1, =gSelectedMapObject strb r0, [r1] ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] @@ -51987,7 +51987,7 @@ sub_81A9B44: @ 81A9B44 movs r3, 0 ldr r0, =gMapObjects mov r12, r0 - ldr r6, =gUnknown_03005DF0 + ldr r6, =gSelectedMapObject ldr r1, =gSaveBlock1Ptr mov r10, r1 ldr r7, =gSaveBlock2Ptr @@ -52450,13 +52450,13 @@ sub_81A9F1C: @ 81A9F1C .pool thumb_func_end sub_81A9F1C - thumb_func_start sub_81A9F3C -sub_81A9F3C: @ 81A9F3C + thumb_func_start GetTrainerEncounterMusicIdInBattlePyramind +GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C push {r4,lr} lsls r0, 16 lsrs r0, 16 movs r4, 0 - ldr r3, =gTrainerClassNameIndices + ldr r3, =gTrainerClassToNameIndex ldr r1, =gUnknown_0203BC88 ldr r2, [r1] movs r1, 0x34 @@ -52483,7 +52483,7 @@ _081A9F7A: pop {r4} pop {r1} bx r1 - thumb_func_end sub_81A9F3C + thumb_func_end GetTrainerEncounterMusicIdInBattlePyramind thumb_func_start sub_81A9F80 sub_81A9F80: @ 81A9F80 @@ -56182,7 +56182,7 @@ _081ABE32: _081ABE40: movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId mov r1, r10 strh r1, [r0] ldr r0, =gTasks + 0x8 @@ -56216,7 +56216,7 @@ _081ABE68: lsrs r0, 24 adds r1, r4, 0 bl BagGetItemIdByPocketPosition - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId strh r0, [r1] ldr r1, =gUnknown_08614054 ldrb r0, [r5, 0x4] @@ -57126,7 +57126,7 @@ _081AC668: .4byte _081AC70C .4byte _081AC690 _081AC690: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -57171,7 +57171,7 @@ _081AC6E8: b _081ACA10 .pool _081AC70C: - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -57206,7 +57206,7 @@ _081AC748: b _081ACA10 .pool _081AC76C: - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -57241,7 +57241,7 @@ _081AC7A8: b _081ACA10 .pool _081AC7CC: - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -57289,7 +57289,7 @@ _081AC840: ldrb r0, [r0, 0x5] cmp r0, 0x4 beq _081AC856 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl sub_8122148 lsls r0, 24 @@ -57359,7 +57359,7 @@ _081AC8D4: ldr r1, =gUnknown_0861402C movs r2, 0x4 bl memcpy - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl itemid_is_mail lsls r0, 24 @@ -57397,7 +57397,7 @@ _081AC92C: ldr r0, [r0] ldr r1, =0x00000496 adds r0, r1 - ldr r2, =gUnknown_0203CE7C + ldr r2, =gScriptItemId ldrh r0, [r0] ldrh r1, [r2] cmp r0, r1 @@ -57473,7 +57473,7 @@ _081ACA12: bne _081ACA50 movs r0, 0x1 bl ClearWindowTilemap - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl PrintTMHMMoveData movs r0, 0x3 @@ -57485,7 +57485,7 @@ _081ACA12: b _081ACA86 .pool _081ACA50: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -57986,7 +57986,7 @@ ItemMenu_UseOutOfBattle: @ 81ACE7C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] bl ItemId_GetFieldFunc cmp r0, 0 @@ -58016,7 +58016,7 @@ _081ACEB8: ldrb r0, [r0, 0x5] cmp r0, 0x3 beq _081ACEE8 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetFieldFunc adds r1, r0, 0 @@ -58056,7 +58056,7 @@ ItemMenu_Toss: @ 81ACEF4 b _081ACF6A .pool _081ACF24: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -58106,7 +58106,7 @@ BagMenuConfirmToss: @ 81ACF88 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -58243,7 +58243,7 @@ BagMenuActuallyToss: @ 81AD0CC lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -58313,7 +58313,7 @@ Task_ActuallyToss: @ 81AD150 beq _081AD1CE movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldrh r1, [r5, 0x10] bl RemoveBagItem @@ -58370,7 +58370,7 @@ ItemMenu_Register: @ 81AD1EC ldr r0, [r0] ldr r2, =0x00000496 adds r1, r0, r2 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r2, [r0] ldrh r0, [r1] cmp r0, r2 @@ -58413,7 +58413,7 @@ ItemMenu_Give: @ 81AD278 lsrs r4, r0, 24 adds r6, r4, 0 bl bag_menu_remove_some_window - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -58477,7 +58477,7 @@ bag_menu_print_cant_be_held_msg: @ 81AD30C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -58568,7 +58568,7 @@ ItemMenu_UseInBattle: @ 81AD3DC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -58602,7 +58602,7 @@ item_menu_type_2: @ 81AD41C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -58663,7 +58663,7 @@ item_menu_type_b: @ 81AD4B4 push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] bl itemid_is_mail lsls r0, 24 @@ -58752,7 +58752,7 @@ _081AD550: bl player_bitmagic bl sub_808B864 bl sub_808BCF4 - ldr r2, =gUnknown_0203CE7C + ldr r2, =gScriptItemId ldr r0, [r4] adds r0, r5 ldrh r1, [r0] @@ -58799,7 +58799,7 @@ display_sell_item_ask_str: @ 81AD5DC lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r6, =gUnknown_0203CE7C + ldr r6, =gScriptItemId ldrh r0, [r6] bl itemid_get_market_price lsls r0, 16 @@ -58862,7 +58862,7 @@ sub_81AD680: @ 81AD680 ldr r0, =gTasks + 0x8 adds r4, r0 ldr r6, =gStringVar1 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -58945,7 +58945,7 @@ sub_81AD730: @ 81AD730 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -58997,7 +58997,7 @@ sub_81AD794: @ 81AD794 ldrb r4, [r0] movs r2, 0x10 ldrsh r5, [r6, r2] - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl itemid_get_market_price lsls r0, 16 @@ -59062,7 +59062,7 @@ sub_81AD84C: @ 81AD84C lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r6, =gUnknown_0203CE7C + ldr r6, =gScriptItemId ldrh r0, [r6] ldr r1, =gStringVar2 bl CopyItemName @@ -59123,7 +59123,7 @@ sub_81AD8C8: @ 81AD8C8 adds r5, r0 movs r0, 0x5F bl PlaySE - ldr r2, =gUnknown_0203CE7C + ldr r2, =gScriptItemId mov r8, r2 ldrh r0, [r2] mov r3, r10 @@ -59242,7 +59242,7 @@ display_deposit_item_ask_str: @ 81AD9EC b _081ADA5E .pool _081ADA18: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -59367,7 +59367,7 @@ sub_81ADB14: @ 81ADB14 movs r0, 0x1 movs r1, 0 bl FillWindowPixelBuffer - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl itemid_is_unique lsls r0, 24 @@ -59691,7 +59691,7 @@ _081ADDEC: ldrb r0, [r4] movs r1, 0x2 bl bag_menu_print_cursor_ - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId movs r0, 0x4 strh r0, [r1] adds r0, r5, 0 @@ -59727,7 +59727,7 @@ unknown_ItemMenu_Show: @ 81ADE38 lsls r4, 24 lsrs r4, 24 ldr r1, =gSpecialVar_0x8005 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] strh r0, [r1] ldr r1, =gScriptResult @@ -59761,7 +59761,7 @@ unknown_ItemMenu_Give2: @ 81ADE8C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -65475,7 +65475,7 @@ sub_81B0BFC: @ 81B0BFC muls r1, r0 ldr r0, =gPlayerParty adds r6, r1, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 ldrb r0, [r0, 0xB] @@ -72001,7 +72001,7 @@ c2_8123744: @ 81B41F0 mov r7, r8 push {r7} sub sp, 0xC - ldr r6, =gUnknown_0203CE7C + ldr r6, =gScriptItemId ldrh r0, [r6] cmp r0, 0 bne _081B4224 @@ -72107,7 +72107,7 @@ sub_81B42D0: @ 81B42D0 ands r0, r1 cmp r0, 0 bne _081B432C - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r4, [r0] ldr r0, =gUnknown_0203CEC8 mov r8, r0 @@ -72231,7 +72231,7 @@ _081B43FC: beq _081B44DE b _081B44EC _081B4402: - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] movs r1, 0x1 bl RemoveBagItem @@ -72474,7 +72474,7 @@ sub_81B4624: @ 81B4624 muls r0, r1 ldr r1, =gPlayerParty adds r0, r1 - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] movs r2, 0 movs r3, 0 @@ -72482,7 +72482,7 @@ sub_81B4624: @ 81B4624 b _081B467C .pool _081B4670: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldrh r1, [r1] movs r2, 0 @@ -75621,7 +75621,7 @@ _081B61BC: movs r7, 0 movs r6, 0 _081B61C0: - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl GetItemEffectType lsls r0, 24 @@ -76049,7 +76049,7 @@ ItemUseCB_Medicine: @ 81B6588 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r6, [r0] adds r0, r5, 0 adds r1, r6, 0 @@ -76294,7 +76294,7 @@ sub_81B67C8: @ 81B67C8 muls r1, r0 ldr r0, =gPlayerParty adds r5, r1, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r6, [r0] adds r0, r6, 0 bl GetItemEffectType @@ -76653,7 +76653,7 @@ dp05_ether: @ 81B6AFC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] cmp r0, 0xAF bne _081B6B20 @@ -76762,7 +76762,7 @@ ether_effect_related: @ 81B6BEC lsrs r6, r0, 24 movs r4, 0 ldr r7, =gUnknown_0203CED6 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r5, [r0] movs r0, 0xE negs r0, r0 @@ -76991,7 +76991,7 @@ sub_81B6DC4: @ 81B6DC4 movs r0, 0xE adds r0, r7 mov r8, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r4, [r0] ldr r1, =gStringVar1 adds r0, r5, 0 @@ -77080,7 +77080,7 @@ sub_81B6EB4: @ 81B6EB4 adds r5, r1, r0 adds r6, r2, 0 adds r6, 0xE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r4, [r0] movs r1, 0x2 ldrsh r0, [r6, r1] @@ -77671,7 +77671,7 @@ dp05_rare_candy: @ 81B7404 movs r1, 0x86 lsls r1, 2 adds r4, r6, r1 - ldr r2, =gUnknown_0203CE7C + ldr r2, =gScriptItemId mov r8, r2 adds r0, r5, 0 movs r1, 0x38 @@ -77729,7 +77729,7 @@ _081B74B4: ldrb r0, [r0, 0x9] adds r1, r5, 0 bl sub_81B754C - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -78346,7 +78346,7 @@ sub_81B7A28: @ 81B7A28 lsls r0, 16 lsrs r7, r0, 16 ldrb r0, [r6, 0x9] - ldr r1, =gUnknown_0203CE7C + ldr r1, =gScriptItemId ldrh r1, [r1] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -78498,7 +78498,7 @@ _081B7BC8: ldr r1, =gUnknown_0203CEE8 movs r0, 0x1 strb r0, [r1] - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] movs r1, 0x1 bl RemoveBagItem @@ -78574,7 +78574,7 @@ sub_81B7C74: @ 81B7C74 ldr r0, [r1] str r0, [r2] ldrb r0, [r1, 0x9] - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r1, [r4] movs r2, 0 bl ExecuteTableBasedItemEffect__ @@ -78947,7 +78947,7 @@ _081B7F72: movs r3, 0 bl sub_81B0038 ldr r1, =gUnknown_0203CEC8 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] strh r0, [r1, 0xC] add sp, 0xC @@ -80272,7 +80272,7 @@ sub_81B8A7C: @ 81B8A7C bne _081B8AC4 _081B8AA2: ldr r4, =gStringVar1 - bl sub_806EBF8 + bl GetTrainerPartnerName adds r1, r0, 0 adds r0, r4, 0 bl StringCopy @@ -80378,7 +80378,7 @@ _081B8BA8: movs r0, 0x1 strb r0, [r1] ldr r1, =gBattlePartyID - ldr r0, =gUnknown_020244B8 + ldr r0, =gBankInMenu ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -80410,7 +80410,7 @@ _081B8BFC: b _081B8C42 .pool _081B8C20: - ldr r0, =gUnknown_020244B8 + ldr r0, =gBankInMenu ldrb r0, [r0] ldr r1, =gBattlePartyID lsls r0, 1 @@ -82460,7 +82460,7 @@ sub_81B9CF0: @ 81B9CF0 ldr r0, =gStringVar1 ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] - bl sub_8162E20 + bl GetFrontierTrainerName pop {r0} bx r0 .pool diff --git a/asm/rom_81BE66C.s b/asm/rom_81BE66C.s index 46d95ac40..ca42b7f38 100644 --- a/asm/rom_81BE66C.s +++ b/asm/rom_81BE66C.s @@ -2290,7 +2290,7 @@ _081BF9EE: strb r1, [r0] movs r0, 0xFF bl sub_81C488C - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] cmp r0, 0 bne _081BFA12 @@ -3447,7 +3447,7 @@ sub_81C0484: @ 81C0484 movs r2, 0x80 lsls r2, 1 bl m4aMPlayVolumeControl - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r0, [r0] cmp r0, 0 bne _081C04E2 @@ -10970,7 +10970,7 @@ _081C4620: lsls r0, r2, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] b _081C46D6 @@ -10980,12 +10980,12 @@ _081C4668: lsls r0, r2, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] b _081C46B0 .pool _081C4680: - ldr r0, =gUnknown_020244D4 + ldr r0, =gBattleSpritesGfx ldr r3, [r0] adds r4, r0, 0 cmp r3, 0 @@ -11162,7 +11162,7 @@ sub_81C47B4: @ 81C47B4 ands r0, r1 strb r0, [r7, 0x5] ldrh r0, [r6, 0x2] - bl sub_806E840 + bl IsPokeSpriteNotFlipped lsls r0, 24 cmp r0, 0 bne _081C4828 @@ -11210,7 +11210,7 @@ sub_81C4844: @ 81C4844 cmp r0, 0x1 beq _081C487E ldrh r0, [r4, 0x2E] - bl sub_806E840 + bl IsPokeSpriteNotFlipped lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x30] @@ -11218,7 +11218,7 @@ sub_81C4844: @ 81C4844 ldrh r1, [r4, 0x2E] ldrb r2, [r5, 0x4] adds r0, r4, 0 - bl sub_806EE0C + bl PokemonSummaryDoMonAnimation _081C487E: pop {r4,r5} pop {r0} @@ -13574,7 +13574,7 @@ _081C5C5C: _081C5C88: movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId strh r4, [r0] adds r0, r5, 0 bl sub_81C5B14 @@ -13583,7 +13583,7 @@ _081C5C88: _081C5CA0: movs r0, 0x5 bl PlaySE - ldr r2, =gUnknown_0203CE7C + ldr r2, =gScriptItemId mov r12, r2 ldr r0, =gSaveBlock2Ptr ldr r2, [r0] @@ -13670,7 +13670,7 @@ sub_81C5D20: @ 81C5D20 b _081C5DD8 .pool _081C5D74: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] bl ItemId_GetBattleUsage lsls r0, 24 @@ -13711,7 +13711,7 @@ _081C5DCE: _081C5DD8: strb r0, [r1] _081C5DDA: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -14184,7 +14184,7 @@ sub_81C61E0: @ 81C61E0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl ItemId_GetPocket lsls r0, 24 @@ -14304,7 +14304,7 @@ sub_81C62C4: @ 81C62C4 b _081C6334 .pool _081C62F4: - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -14351,7 +14351,7 @@ sub_81C6350: @ 81C6350 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -14566,7 +14566,7 @@ sub_81C654C: @ 81C654C lsls r4, 3 ldr r5, =gTasks + 0x8 adds r6, r4, r5 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -14624,7 +14624,7 @@ sub_81C65CC: @ 81C65CC beq _081C662E movs r0, 0x5 bl PlaySE - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldrh r1, [r4, 0x10] bl RemovePyramidBagItem @@ -14660,7 +14660,7 @@ sub_81C6648: @ 81C6648 lsrs r4, r0, 24 adds r6, r4, 0 bl sub_81C61A8 - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] bl itemid_is_mail lsls r0, 24 @@ -14702,7 +14702,7 @@ sub_81C66AC: @ 81C66AC adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, =gUnknown_0203CE7C + ldr r0, =gScriptItemId ldrh r0, [r0] ldr r1, =gStringVar1 bl CopyItemName @@ -14774,7 +14774,7 @@ sub_81C674C: @ 81C674C lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 - ldr r5, =gUnknown_0203CE7C + ldr r5, =gScriptItemId ldrh r0, [r5] bl itemid_80BF6D8_mail_related lsls r0, 24 @@ -14809,7 +14809,7 @@ sub_81C679C: @ 81C679C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r4, =gUnknown_0203CE7C + ldr r4, =gScriptItemId ldrh r0, [r4] bl ItemId_GetBattleFunc cmp r0, 0 @@ -23949,7 +23949,7 @@ _081CAF34: adds r0, r5, 0 bl sub_81D1BD0 adds r4, r0, 0 - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r0, r4, r0 ldrb r0, [r0] b _081CAF6C @@ -28902,7 +28902,7 @@ sub_81CD624: @ 81CD624 bl sub_81D2C68 cmp r0, 0 beq _081CD690 - ldr r1, =gUnknown_085E8264 + ldr r1, =gEggNickname adds r0, r5, 0 movs r2, 0 movs r3, 0xC @@ -28946,7 +28946,7 @@ _081CD690: _081CD6E0: mov r0, r8 mov r1, r9 - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 bl GetBoxMonGender lsls r0, 24 @@ -33128,7 +33128,7 @@ sub_81CF8E4: @ 81CF8E4 _081CF924: ldrb r0, [r2] ldrb r1, [r2, 0x1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 bl GetBoxMonGender lsls r0, 24 @@ -34505,7 +34505,7 @@ sub_81D035C: @ 81D035C _081D03A4: ldrb r0, [r7] ldrb r1, [r7, 0x1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 bl GetBoxMonGender lsls r0, 24 @@ -34992,7 +34992,7 @@ sub_81D06E4: @ 81D06E4 _081D0730: ldrb r0, [r1] ldrb r1, [r1, 0x1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 bl GetBoxMonGender strb r0, [r6] @@ -35049,7 +35049,7 @@ sub_81D0760: @ 81D0760 _081D07AC: ldrb r0, [r1] ldrb r1, [r1, 0x1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 movs r1, 0xB bl GetBoxMonData @@ -39944,7 +39944,7 @@ sub_81D2CD0: @ 81D2CD0 bl sub_81D2C68 cmp r0, 0 beq _081D2D20 - ldr r1, =gUnknown_085E8264 + ldr r1, =gEggNickname adds r0, r5, 0 movs r2, 0 movs r3, 0xC @@ -39990,7 +39990,7 @@ _081D2D70: lsrs r0, 24 lsls r1, r6, 24 lsrs r1, 24 - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r4, r0, 0 bl GetBoxMonGender lsls r0, 24 @@ -44939,7 +44939,7 @@ sub_81D5530: @ 81D5530 lsls r1, 24 adds r0, r1 lsrs r0, 24 - ldr r2, =gTrainerClassNameIndices + ldr r2, =gTrainerClassToNameIndex ldr r1, =gUnknown_0203CF58 ldr r1, [r1] adds r1, 0x16 @@ -45006,7 +45006,7 @@ sub_81D5588: @ 81D5588 adds r3, r0 ldrb r4, [r3, 0x1B] bl sub_81D5710 - ldr r0, =gTrainerPicIndices + ldr r0, =gUnknown_0831F578 adds r4, r0 ldrb r0, [r4] pop {r4} @@ -46715,7 +46715,7 @@ sub_81D63C8: @ 81D63C8 ldrb r4, [r3, 0x1B] bl sub_81D5710 movs r2, 0 - ldr r0, =gTrainerClassNameIndices + ldr r0, =gTrainerClassToNameIndex adds r4, r0 ldrb r3, [r4] ldr r1, =gUnknown_0862A3B4 diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 6d531821c..39366d29f 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -2988,7 +2988,7 @@ sA9_unknown: @ 809A974 s5A_face_player: @ 809A9A4 push {r4,lr} ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -3164,7 +3164,7 @@ sub_809AAEC: @ 809AAEC b _0809AB3A _0809AAFC: ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -3224,7 +3224,7 @@ s6C_release_2: @ 809AB7C push {r4,lr} bl textbox_close ldr r4, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -5379,7 +5379,7 @@ sub_809BBDC: @ 809BBDC sub_809BBE8: @ 809BBE8 push {lr} bl sub_80B47BC - ldr r1, =gUnknown_03005DF0 + ldr r1, =gSelectedMapObject strb r0, [r1] movs r0, 0 pop {r1} @@ -5398,7 +5398,7 @@ sub_809BBFC: @ 809BBFC b _0809BC30 _0809BC0C: ldr r2, =gMapObjects - ldr r0, =gUnknown_03005DF0 + ldr r0, =gSelectedMapObject ldrb r1, [r0] lsls r0, r1, 3 adds r0, r1 @@ -5630,7 +5630,7 @@ sub_809BDD0: @ 809BDD0 lsls r4, 2 adds r4, r1 ldr r4, [r4] - bl sub_806F07C + bl GetTrainerClassNameFromId adds r1, r0, 0 adds r0, r4, 0 bl StringCopy @@ -5658,7 +5658,7 @@ sub_809BE0C: @ 809BE0C lsls r4, 2 adds r4, r1 ldr r4, [r4] - bl sub_806F0B0 + bl GetTrainerNameFromId adds r1, r0, 0 adds r0, r4, 0 bl StringCopy diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s index e5193c4d2..e26194298 100644 --- a/asm/script_pokemon_util_80F87D8.s +++ b/asm/script_pokemon_util_80F87D8.s @@ -710,7 +710,7 @@ _080F8D44: lsls r0, r6, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r6, 0 @@ -722,7 +722,7 @@ _080F8DC4: lsls r0, r6, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r6, 0 @@ -776,7 +776,7 @@ _080F8DD8: adds r1, r6, 0 movs r2, 0 movs r3, 0 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation b _080F8E6C .pool _080F8E58: @@ -788,7 +788,7 @@ _080F8E58: adds r1, r6, 0 movs r2, 0 movs r3, 0 - bl sub_806ED40 + bl DoMonFrontSpriteAnimation _080F8E6C: ldr r1, =gTasks lsls r0, r7, 2 @@ -1320,10 +1320,10 @@ sub_80F9244: @ 80F9244 blt _080F92B8 adds r0, r5, 0 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag adds r0, r5, 0 movs r1, 0x3 - bl pokedex_flag_operation + bl GetSetPokedexFlag _080F92B8: adds r0, r4, 0 add sp, 0x78 diff --git a/asm/trade.s b/asm/trade.s index 6a46acb8c..3f9323971 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -288,7 +288,7 @@ sub_80773AC: @ 80773AC ldr r0, =gMain movs r1, 0 str r1, [r0] - ldr r0, =gUnknown_020244EA + ldr r0, =gEnemyPartyCount strb r1, [r0] pop {r0} bx r0 @@ -600,7 +600,7 @@ _080776A8: adds r0, 0x36 strb r1, [r0] ldr r0, [r2] - ldr r1, =gUnknown_020244EA + ldr r1, =gEnemyPartyCount ldrb r1, [r1] adds r0, 0x37 strb r1, [r0] @@ -1211,7 +1211,7 @@ _08077C6C: adds r0, 0x36 strb r1, [r0] ldr r0, [r4] - ldr r1, =gUnknown_020244EA + ldr r1, =gEnemyPartyCount ldrb r1, [r1] adds r0, 0x37 strb r1, [r0] @@ -7128,7 +7128,7 @@ _0807AD58: lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -7141,7 +7141,7 @@ _0807AD94: lsls r0, r5, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r2, [r1] lsls r4, r6, 1 adds r1, r4, 0x1 @@ -7885,11 +7885,11 @@ sub_807B464: @ 807B464 lsrs r4, 16 adds r0, r4, 0 movs r1, 0x2 - bl pokedex_flag_operation + bl GetSetPokedexFlag adds r0, r4, 0 movs r1, 0x3 adds r2, r5, 0 - bl SetPokedexFlag + bl HandleSetPokedexFlag _0807B4B8: pop {r4,r5} pop {r0} @@ -9588,7 +9588,7 @@ _0807C66C: ldr r0, [r5] adds r0, 0xF0 ldrh r0, [r0] - bl sub_806E840 + bl IsPokeSpriteNotFlipped lsls r0, 24 cmp r0, 0 bne _0807C6E4 @@ -10369,7 +10369,7 @@ _0807CCEE: lsls r0, r2, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x10] ldr r3, [r3, 0x6C] @@ -11662,7 +11662,7 @@ _0807DA74: ldr r0, [r5] adds r0, 0xF0 ldrh r0, [r0] - bl sub_806E840 + bl IsPokeSpriteNotFlipped lsls r0, 24 cmp r0, 0 bne _0807DAEC @@ -12474,7 +12474,7 @@ _0807E13A: lsls r0, r2, 3 ldr r1, =gMonFrontPicTable adds r0, r1 - ldr r1, =gUnknown_020244D4 + ldr r1, =gBattleSpritesGfx ldr r1, [r1] ldr r1, [r1, 0x10] ldr r3, [r3, 0x6C] diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 202c4f75e..ec0b58653 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -4754,7 +4754,7 @@ sub_80C4FF0: @ 80C4FF0 ldr r1, =0x00000583 adds r0, r1 ldrb r0, [r0] - bl TrainerClassToTrainerPic + bl sub_806EFF0 lsls r0, 16 lsrs r0, 16 ldr r4, =gUnknown_0856FB18 @@ -4795,7 +4795,7 @@ _080C5060: adds r0, r1 adds r0, r2 ldrb r0, [r0] - bl TrainerClassToTrainerPic + bl sub_806EFF0 lsls r0, 16 lsrs r0, 16 ldr r4, =gUnknown_0856FB18 @@ -6988,7 +6988,7 @@ _080EFA62: lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 asrs r0, 24 cmp r0, 0x1 @@ -7570,7 +7570,7 @@ sub_80EFEC4: @ 80EFEC4 ldrb r0, [r0] ldr r1, =gSpecialVar_0x8013 ldrb r1, [r1] - bl get_pokemon_by_box_and_pos + bl GetBoxedMonPtr adds r6, r0, 0 ldr r2, =gStringVar3 movs r1, 0x2 @@ -9041,7 +9041,7 @@ sub_80F0B24: @ 80F0B24 lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl pokedex_flag_operation + bl GetSetPokedexFlag lsls r0, 24 asrs r2, r0, 24 cmp r2, 0 |