diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-08 00:57:51 -0400 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-08 00:57:51 -0400 |
commit | e54247c225bc9605567cc0f2fc9e58e09e50cfdc (patch) | |
tree | 5096651c9f496d0cbae761803fd51d245b1fbe69 | |
parent | f285a81e859bb045725acac3d33f2d7d665ee8c5 (diff) |
partially decompile pokemon.c
78 files changed, 5699 insertions, 12235 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index 086603fe1..2bc93a09f 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -481,7 +481,7 @@ _08010194: cmp r0, 0x1 bne _08010250 movs r5, 0 - ldr r3, _08010238 @ =gUnknown_2023F54 + ldr r3, _08010238 @ =gEnigmaBerries ldr r0, _0801023C @ =gSaveBlock1Ptr mov r8, r0 adds r6, r3, 0 @@ -560,7 +560,7 @@ _080101EC: b _080103FC .align 2, 0 _08010234: .4byte gBattleTypeFlags -_08010238: .4byte gUnknown_2023F54 +_08010238: .4byte gEnigmaBerries _0801023C: .4byte gSaveBlock1Ptr _08010240: .4byte 0x000030ec _08010244: .4byte 0x00003108 @@ -574,7 +574,7 @@ _08010250: bl sub_809C8A0 adds r6, r0, 0 movs r5, 0 - ldr r4, _080102BC @ =gUnknown_2023F54 + ldr r4, _080102BC @ =gEnigmaBerries adds r7, r4, 0 adds r7, 0x38 adds r3, r4, 0 @@ -622,14 +622,14 @@ _0801029C: strb r1, [r0] b _080103FC .align 2, 0 -_080102BC: .4byte gUnknown_2023F54 +_080102BC: .4byte gEnigmaBerries _080102C0: movs r0, 0x40 ands r1, r0 cmp r1, 0 beq _0801034C movs r5, 0 - ldr r3, _08010340 @ =gUnknown_2023F54 + ldr r3, _08010340 @ =gEnigmaBerries ldr r2, _08010344 @ =gUnknown_202273C mov r9, r2 adds r6, r3, 0 @@ -692,12 +692,12 @@ _0801031C: ble _080102D8 b _080103FC .align 2, 0 -_08010340: .4byte gUnknown_2023F54 +_08010340: .4byte gEnigmaBerries _08010344: .4byte gUnknown_202273C _08010348: .4byte gUnknown_202211C _0801034C: movs r5, 0 - ldr r4, _0801040C @ =gUnknown_2023F54 + ldr r4, _0801040C @ =gEnigmaBerries mov r9, r4 _08010352: lsls r0, r5, 8 @@ -750,7 +750,7 @@ _08010378: orrs r0, r4 strb r0, [r1] movs r4, 0 - ldr r0, _0801040C @ =gUnknown_2023F54 + ldr r0, _0801040C @ =gEnigmaBerries adds r0, 0x8 adds r2, r0 adds r3, r0 @@ -796,7 +796,7 @@ _080103FC: pop {r0} bx r0 .align 2, 0 -_0801040C: .4byte gUnknown_2023F54 +_0801040C: .4byte gEnigmaBerries _08010410: .4byte gUnknown_202211C thumb_func_end sub_801017C @@ -2724,7 +2724,7 @@ _080113CE: ldrh r1, [r0, 0x4] movs r0, 0xB muls r0, r1 - ldr r1, _08011450 @ =gUnknown_8245EE0 + ldr r1, _08011450 @ =gSpeciesNames adds r0, r1 ldrb r0, [r0] adds r5, r2, 0 @@ -2779,7 +2779,7 @@ _08011410: bl CreateMon b _0801166C .align 2, 0 -_08011450: .4byte gUnknown_8245EE0 +_08011450: .4byte gSpeciesNames _08011454: adds r0, r2, 0 adds r0, 0x24 @@ -2792,7 +2792,7 @@ _08011454: ldrh r1, [r0, 0x4] movs r0, 0xB muls r0, r1 - ldr r1, _0801150C @ =gUnknown_8245EE0 + ldr r1, _0801150C @ =gSpeciesNames adds r0, r1 ldrb r0, [r0] mov r8, r2 @@ -2856,25 +2856,25 @@ _080114E0: adds r1, 0xD adds r0, r5, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData adds r1, r6, 0 adds r1, 0x11 ldrh r0, [r4] lsls r2, r0, 1 adds r2, r0 lsls r2, 2 - ldr r0, _08011510 @ =gUnknown_8250C08 + ldr r0, _08011510 @ =gBattleMoves+0x4 adds r2, r0 adds r0, r5, 0 - bl sub_804037C + bl SetMonData adds r4, 0x2 adds r6, 0x1 cmp r6, 0x3 ble _080114E0 b _0801166C .align 2, 0 -_0801150C: .4byte gUnknown_8245EE0 -_08011510: .4byte gUnknown_8250C08 +_0801150C: .4byte gSpeciesNames +_08011510: .4byte gBattleMoves+0x4 _08011514: adds r0, r2, 0 adds r0, 0x24 @@ -2887,7 +2887,7 @@ _08011514: ldrh r1, [r0, 0x4] movs r0, 0xB muls r0, r1 - ldr r1, _080115A4 @ =gUnknown_8245EE0 + ldr r1, _080115A4 @ =gSpeciesNames adds r0, r1 ldrb r0, [r0] adds r5, r2, 0 @@ -2945,10 +2945,10 @@ _08011556: adds r0, r4, 0 movs r1, 0xC adds r2, r5, 0 - bl sub_804037C + bl SetMonData b _0801166C .align 2, 0 -_080115A4: .4byte gUnknown_8245EE0 +_080115A4: .4byte gSpeciesNames _080115A8: adds r0, r4, 0 adds r0, 0x24 @@ -2961,7 +2961,7 @@ _080115A8: ldrh r1, [r0, 0x4] movs r0, 0xB muls r0, r1 - ldr r1, _080116BC @ =gUnknown_8245EE0 + ldr r1, _080116BC @ =gSpeciesNames adds r0, r1 ldrb r0, [r0] mov r8, r2 @@ -3020,7 +3020,7 @@ _080115EA: adds r0, r4, 0 movs r1, 0xC adds r2, r5, 0 - bl sub_804037C + bl SetMonData movs r6, 0 adds r5, r4, 0 mov r0, r8 @@ -3031,17 +3031,17 @@ _08011642: adds r1, 0xD adds r0, r5, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData adds r1, r6, 0 adds r1, 0x11 ldrh r0, [r4] lsls r2, r0, 1 adds r2, r0 lsls r2, 2 - ldr r0, _080116C0 @ =gUnknown_8250C08 + ldr r0, _080116C0 @ =gBattleMoves+0x4 adds r2, r0 adds r0, r5, 0 - bl sub_804037C + bl SetMonData adds r4, 0x2 adds r6, 0x1 cmp r6, 0x3 @@ -3092,8 +3092,8 @@ _080116AC: pop {r1} bx r1 .align 2, 0 -_080116BC: .4byte gUnknown_8245EE0 -_080116C0: .4byte gUnknown_8250C08 +_080116BC: .4byte gSpeciesNames +_080116C0: .4byte gBattleMoves+0x4 _080116C4: .4byte gTrainers _080116C8: .4byte gBattleTypeFlags thumb_func_end sub_80112E0 @@ -3881,7 +3881,7 @@ sub_8011D0C: @ 8011D0C adds r0, r4, 0 movs r1, 0x3 adds r2, r5, 0 - bl sub_804037C + bl SetMonData _08011D54: add sp, 0x10 pop {r4,r5} @@ -4233,8 +4233,8 @@ _08011FE8: ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity - ldr r1, _0801203C @ =gUnknown_202401C + bl GetBattlerPosition + ldr r1, _0801203C @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r0, 24 lsrs r0, 22 @@ -4272,7 +4272,7 @@ _08012034: pop {r0} bx r0 .align 2, 0 -_0801203C: .4byte gUnknown_202401C +_0801203C: .4byte gMonSpritesGfxPtr _08012040: .4byte gUnknown_2024024 thumb_func_end sub_8011FB4 @@ -4799,7 +4799,7 @@ sub_80123E4: @ 80123E4 ldr r1, _08012428 @ =gActiveBattler movs r0, 0 strb r0, [r1] - ldr r0, _0801242C @ =gUnknown_2023BCC + ldr r0, _0801242C @ =gBattlersCount ldrb r0, [r0] cmp r0, 0 beq _0801241E @@ -4814,7 +4814,7 @@ _08012400: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _0801242C @ =gUnknown_2023BCC + ldr r1, _0801242C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -4827,7 +4827,7 @@ _0801241E: .align 2, 0 _08012424: .4byte gUnknown_3004F84 _08012428: .4byte gActiveBattler -_0801242C: .4byte gUnknown_2023BCC +_0801242C: .4byte gBattlersCount _08012430: .4byte gUnknown_3004FE0 thumb_func_end sub_80123E4 @@ -4903,7 +4903,7 @@ _0801246C: cmp r2, 0x3 ble _08012464 movs r5, 0 - ldr r3, _080126F8 @ =gUnknown_2023DE4 + ldr r3, _080126F8 @ =gSideTimers ldr r4, _080126FC @ =gSideAffecting movs r2, 0x1 _080124C6: @@ -5182,7 +5182,7 @@ _080126E8: .4byte gStatuses3 _080126EC: .4byte gUnknown_2023DD4 _080126F0: .4byte gUnknown_2023DC0 _080126F4: .4byte gBattleResources -_080126F8: .4byte gUnknown_2023DE4 +_080126F8: .4byte gSideTimers _080126FC: .4byte gSideAffecting _08012700: .4byte sBattler_AI _08012704: .4byte gBattlerTarget @@ -5262,7 +5262,7 @@ _080127B0: cmp r5, 0x7 ble _080127B0 movs r5, 0 - ldr r7, _080128DC @ =gUnknown_2023BCC + ldr r7, _080128DC @ =gBattlersCount ldrb r7, [r7] cmp r5, r7 bge _08012824 @@ -5310,7 +5310,7 @@ _08012816: adds r3, 0x1C adds r4, 0x4 adds r5, 0x1 - ldr r0, _080128DC @ =gUnknown_2023BCC + ldr r0, _080128DC @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _080127D2 @@ -5346,7 +5346,7 @@ _08012838: ands r0, r2 str r0, [r1] movs r5, 0 - ldr r6, _080128DC @ =gUnknown_2023BCC + ldr r6, _080128DC @ =gBattlersCount ldrb r6, [r6] cmp r5, r6 bge _0801290C @@ -5354,11 +5354,11 @@ _08012838: movs r6, 0 _0801286C: ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -5386,7 +5386,7 @@ _0801286C: _080128AC: adds r6, 0x1C adds r5, 0x1 - ldr r0, _080128DC @ =gUnknown_2023BCC + ldr r0, _080128DC @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801286C @@ -5402,7 +5402,7 @@ _080128CC: .4byte gBattleMoves _080128D0: .4byte gCurrentMove _080128D4: .4byte gStatuses3 _080128D8: .4byte gBattleMons -_080128DC: .4byte gUnknown_2023BCC +_080128DC: .4byte gBattlersCount _080128E0: .4byte gUnknown_2023C34 _080128E4: .4byte 0xfbffffff _080128E8: .4byte 0x15100007 @@ -5427,7 +5427,7 @@ _0801290C: ldr r7, _08012B80 @ =gBattleStruct ldr r3, _08012B84 @ =gUnknown_2023FF8 mov r10, r3 - ldr r6, _08012B88 @ =gUnknown_2023BCC + ldr r6, _08012B88 @ =gBattlersCount ldrb r6, [r6] cmp r5, r6 bge _0801296C @@ -5470,7 +5470,7 @@ _08012944: str r1, [r3] _08012962: adds r5, 0x1 - ldr r3, _08012B88 @ =gUnknown_2023BCC + ldr r3, _08012B88 @ =gBattlersCount ldrb r3, [r3] cmp r5, r3 blt _08012924 @@ -5672,7 +5672,7 @@ _08012A1A: adds r0, 0xE7 strb r3, [r0] movs r5, 0 - ldr r0, _08012B88 @ =gUnknown_2023BCC + ldr r0, _08012B88 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _08012B3C @@ -5707,7 +5707,7 @@ _08012B14: adds r0, 0xE1 strb r3, [r0] adds r5, 0x1 - ldr r2, _08012B88 @ =gUnknown_2023BCC + ldr r2, _08012B88 @ =gBattlersCount ldrb r2, [r2] cmp r5, r2 blt _08012AFC @@ -5748,7 +5748,7 @@ _08012B3C: _08012B7C: .4byte gBattleMons _08012B80: .4byte gBattleStruct _08012B84: .4byte gUnknown_2023FF8 -_08012B88: .4byte gUnknown_2023BCC +_08012B88: .4byte gBattlersCount _08012B8C: .4byte gUnknown_2023C34 _08012B90: .4byte gBitTable _08012B94: .4byte gActiveBattler @@ -5809,7 +5809,7 @@ _08012BEE: adds r0, r6 str r1, [r0] movs r3, 0 - ldr r0, _08012F74 @ =gUnknown_2023BCC + ldr r0, _08012F74 @ =gBattlersCount ldrb r0, [r0] cmp r3, r0 bge _08012C8A @@ -5866,7 +5866,7 @@ _08012C7C: adds r4, 0x58 adds r5, 0x1C adds r3, 0x1 - ldr r0, _08012F74 @ =gUnknown_2023BCC + ldr r0, _08012F74 @ =gBattlersCount ldrb r0, [r0] cmp r3, r0 blt _08012C26 @@ -6150,7 +6150,7 @@ _08012CA8: adds r0, 0xE7 strb r3, [r0] movs r3, 0 - ldr r0, _08012F74 @ =gUnknown_2023BCC + ldr r0, _08012F74 @ =gBattlersCount ldrb r0, [r0] cmp r3, r0 bge _08012F04 @@ -6187,7 +6187,7 @@ _08012EDC: adds r0, 0xE1 strb r4, [r0] adds r3, 0x1 - ldr r2, _08012F74 @ =gUnknown_2023BCC + ldr r2, _08012F74 @ =gBattlersCount ldrb r2, [r2] cmp r3, r2 blt _08012EC4 @@ -6243,7 +6243,7 @@ _08012F64: .4byte gUnknown_2023FF8 _08012F68: .4byte gUnknown_2023FFC _08012F6C: .4byte gUnknown_2023E8C _08012F70: .4byte gBattleMons -_08012F74: .4byte gUnknown_2023BCC +_08012F74: .4byte gBattlersCount _08012F78: .4byte gBitTable _08012F7C: .4byte gDisableStructs _08012F80: .4byte 0xfbffffff @@ -6278,7 +6278,7 @@ _08012FC0: movs r0, 0 movs r1, 0 movs r2, 0 - bl EmitGetMonData + bl BtlController_EmitGetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldrb r0, [r5] @@ -6295,7 +6295,7 @@ _08012FE4: ldrb r0, [r5, 0x1] adds r0, 0x1 strb r0, [r5, 0x1] - ldr r1, _0801300C @ =gUnknown_2023BCC + ldr r1, _0801300C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -6307,7 +6307,7 @@ _08012FE4: b _0801301A .align 2, 0 _08013008: .4byte gUnknown_2023BC8 -_0801300C: .4byte gUnknown_2023BCC +_0801300C: .4byte gBattlersCount _08013010: .4byte gUnknown_3004F84 _08013014: .4byte BattleIntroPrepareBackgroundSlide _08013018: @@ -6326,7 +6326,7 @@ BattleIntroPrepareBackgroundSlide: @ 8013020 cmp r5, 0 bne _08013050 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _0801305C @ =gActiveBattler strb r0, [r4] ldr r0, _08013060 @ =gUnknown_2022B50 @@ -6369,7 +6369,7 @@ sub_8013070: @ 8013070 _08013084: ldr r2, _080130D8 @ =gActiveBattler strb r1, [r2] - ldr r0, _080130DC @ =gUnknown_2023BCC + ldr r0, _080130DC @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcc _08013092 @@ -6391,7 +6391,7 @@ _080130A0: beq _080130E8 ldr r4, _080130D8 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080130E8 @@ -6411,7 +6411,7 @@ _080130C6: .align 2, 0 _080130D4: .4byte gUnknown_2023BC8 _080130D8: .4byte gActiveBattler -_080130DC: .4byte gUnknown_2023BCC +_080130DC: .4byte gBattlersCount _080130E0: .4byte gBattleMons _080130E4: .4byte gBattleTypeFlags _080130E8: @@ -6478,7 +6478,7 @@ _080130FA: adds r1, 0x20 strb r0, [r1] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide ldr r1, _0801323C @ =gBattleStruct lsls r0, 24 lsrs r0, 23 @@ -6521,7 +6521,7 @@ _08013196: _080131B6: ldr r4, _08013238 @ =gActiveBattler ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080131D0 @@ -6537,7 +6537,7 @@ _080131D0: cmp r0, 0 beq _0801324C ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6548,7 +6548,7 @@ _080131D0: bl MarkBufferBankForExecution _080131F6: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6582,7 +6582,7 @@ _08013244: .4byte gBattleTypeFlags _08013248: .4byte 0x0001aa02 _0801324C: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6644,13 +6644,13 @@ _080132C2: beq _080132F8 ldr r4, _0801332C @ =gActiveBattler ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 beq _080132EC ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -6665,7 +6665,7 @@ _080132F8: ldrb r0, [r2] adds r0, 0x1 strb r0, [r2] - ldr r1, _08013330 @ =gUnknown_2023BCC + ldr r1, _08013330 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -6688,7 +6688,7 @@ _08013314: _08013324: .4byte 0x0001aa02 _08013328: .4byte gBattleTypeFlags _0801332C: .4byte gActiveBattler -_08013330: .4byte gUnknown_2023BCC +_08013330: .4byte gBattlersCount _08013334: .4byte gUnknown_3004F84 _08013338: .4byte BattleIntroDrawPartySummaryScreens thumb_func_end sub_8013070 @@ -6762,7 +6762,7 @@ _080133B6: cmp r7, 0x5 ble _08013366 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _08013410 @ =gActiveBattler strb r0, [r4] movs r0, 0 @@ -6817,7 +6817,7 @@ _0801342E: cmp r7, 0x5 ble _080133E2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _0801345C @ =gActiveBattler strb r0, [r4] movs r0, 0 @@ -6902,7 +6902,7 @@ BattleIntroPrintTrainerWantsToBattle: @ 80134DC cmp r0, 0 bne _080134FE movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08013508 @ =gActiveBattler strb r0, [r1] ldrb r1, [r1] @@ -6942,7 +6942,7 @@ sub_8013514: @ 8013514 cmp r0, r1 bne _0801354A movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08013560 @ =gBattleScripting strb r0, [r1, 0x17] ldr r0, _08013564 @ =gUnknown_81D91A1 @@ -6967,7 +6967,7 @@ sub_8013568: @ 8013568 cmp r0, 0 bne _0801358A movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -6994,14 +6994,14 @@ sub_801359C: @ 801359C bne _0801360C ldr r2, _08013618 @ =gActiveBattler strb r1, [r2] - ldr r0, _0801361C @ =gUnknown_2023BCC + ldr r0, _0801361C @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _08013606 adds r4, r2, 0 _080135B4: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7018,7 +7018,7 @@ _080135CE: cmp r0, 0 beq _080135F4 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -7031,7 +7031,7 @@ _080135F4: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _0801361C @ =gUnknown_2023BCC + ldr r1, _0801361C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -7048,7 +7048,7 @@ _0801360C: .align 2, 0 _08013614: .4byte gUnknown_2023BC8 _08013618: .4byte gActiveBattler -_0801361C: .4byte gUnknown_2023BCC +_0801361C: .4byte gBattlersCount _08013620: .4byte gBattleTypeFlags _08013624: .4byte gUnknown_3004F84 _08013628: .4byte sub_801362C @@ -7063,7 +7063,7 @@ sub_801362C: @ 801362C bne _0801369C ldr r2, _080136A8 @ =gActiveBattler strb r1, [r2] - ldr r0, _080136AC @ =gUnknown_2023BCC + ldr r0, _080136AC @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _08013696 @@ -7074,7 +7074,7 @@ sub_801362C: @ 801362C adds r7, 0x48 _0801364C: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7102,7 +7102,7 @@ _08013684: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _080136AC @ =gUnknown_2023BCC + ldr r1, _080136AC @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -7119,7 +7119,7 @@ _0801369C: .align 2, 0 _080136A4: .4byte gUnknown_2023BC8 _080136A8: .4byte gActiveBattler -_080136AC: .4byte gUnknown_2023BCC +_080136AC: .4byte gBattlersCount _080136B0: .4byte gBattleMons _080136B4: .4byte gBattleTypeFlags _080136B8: .4byte 0x0001aa02 @@ -7160,7 +7160,7 @@ sub_80136E4: @ 80136E4 cmp r0, 0 bne _0801370C movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 @@ -7189,14 +7189,14 @@ sub_8013728: @ 8013728 bne _080137AC ldr r2, _080137B8 @ =gActiveBattler strb r1, [r2] - ldr r0, _080137BC @ =gUnknown_2023BCC + ldr r0, _080137BC @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _08013790 adds r4, r2, 0 _08013740: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08013758 @@ -7212,7 +7212,7 @@ _08013758: cmp r0, 0 beq _0801377E ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -7225,7 +7225,7 @@ _0801377E: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _080137BC @ =gUnknown_2023BCC + ldr r1, _080137BC @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -7253,7 +7253,7 @@ _080137AC: .align 2, 0 _080137B4: .4byte gUnknown_2023BC8 _080137B8: .4byte gActiveBattler -_080137BC: .4byte gUnknown_2023BCC +_080137BC: .4byte gBattlersCount _080137C0: .4byte gBattleTypeFlags _080137C4: .4byte gBattleStruct _080137C8: .4byte gUnknown_3004F84 @@ -7269,7 +7269,7 @@ sub_80137D0: @ 80137D0 bne _0801383A ldr r2, _08013844 @ =gActiveBattler strb r1, [r2] - ldr r0, _08013848 @ =gUnknown_2023BCC + ldr r0, _08013848 @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _0801381E @@ -7277,7 +7277,7 @@ sub_80137D0: @ 80137D0 ldr r5, _0801384C @ =gBattlerPartyIndexes _080137EA: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801380C @@ -7294,7 +7294,7 @@ _0801380C: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _08013848 @ =gUnknown_2023BCC + ldr r1, _08013848 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -7322,7 +7322,7 @@ _0801383A: .align 2, 0 _08013840: .4byte gUnknown_2023BC8 _08013844: .4byte gActiveBattler -_08013848: .4byte gUnknown_2023BCC +_08013848: .4byte gBattlersCount _0801384C: .4byte gBattlerPartyIndexes _08013850: .4byte gBattleStruct _08013854: .4byte gUnknown_3004F84 @@ -7351,7 +7351,7 @@ _08013874: cmp r0, 0 bne _080138FA movs r5, 0 - ldr r1, _080138A8 @ =gUnknown_2023BCC + ldr r1, _080138A8 @ =gBattlersCount adds r3, r1, 0 ldrb r0, [r1] cmp r5, r0 @@ -7370,7 +7370,7 @@ _0801389A: .align 2, 0 _080138A0: .4byte gUnknown_2023BC8 _080138A4: .4byte gBattleStruct -_080138A8: .4byte gUnknown_2023BCC +_080138A8: .4byte gBattlersCount _080138AC: .4byte gUnknown_2023BDE _080138B0: adds r4, r5, 0x1 @@ -7379,7 +7379,7 @@ _080138B0: cmp r8, r1 bge _080138EE ldr r6, _08013924 @ =gUnknown_2023BDE - ldr r3, _08013928 @ =gUnknown_2023BCC + ldr r3, _08013928 @ =gBattlersCount lsls r7, r5, 24 _080138C0: adds r0, r5, r6 @@ -7400,7 +7400,7 @@ _080138C0: ldr r3, [sp, 0x4] _080138E4: adds r4, 0x1 - ldr r0, _08013928 @ =gUnknown_2023BCC + ldr r0, _08013928 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _080138C0 @@ -7424,7 +7424,7 @@ _080138FA: movs r1, 0 movs r2, 0 movs r3, 0xFF - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08013930 @@ -7435,13 +7435,13 @@ _080138FA: b _08013ADA .align 2, 0 _08013924: .4byte gUnknown_2023BDE -_08013928: .4byte gUnknown_2023BCC +_08013928: .4byte gBattlersCount _0801392C: .4byte gBattleStruct _08013930: ldr r2, _08013AE8 @ =gBattleStruct ldr r0, [r2] adds r0, 0x4C - ldr r1, _08013AEC @ =gUnknown_2023BCC + ldr r1, _08013AEC @ =gBattlersCount ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -7458,7 +7458,7 @@ _08013944: str r0, [sp] movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _0801396A @@ -7480,7 +7480,7 @@ _0801396A: _0801397C: ldr r0, [r4] adds r0, 0x4C - ldr r1, _08013AEC @ =gUnknown_2023BCC + ldr r1, _08013AEC @ =gBattlersCount ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -7492,7 +7492,7 @@ _0801398A: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -7504,7 +7504,7 @@ _080139A4: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _080139BA @@ -7513,7 +7513,7 @@ _080139BA: ldr r2, _08013AE8 @ =gBattleStruct ldr r0, [r2] adds r0, 0xD9 - ldr r1, _08013AEC @ =gUnknown_2023BCC + ldr r1, _08013AEC @ =gBattlersCount ldrb r0, [r0] adds r3, r1, 0 ldrb r1, [r3] @@ -7551,7 +7551,7 @@ _080139F6: bne _08013ADA ldr r0, [r4] adds r0, 0xD9 - ldr r1, _08013AEC @ =gUnknown_2023BCC + ldr r1, _08013AEC @ =gBattlersCount ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -7611,7 +7611,7 @@ _08013A74: cmp r0, r1 bge _08013A74 movs r5, 0 - ldr r3, _08013AEC @ =gUnknown_2023BCC + ldr r3, _08013AEC @ =gBattlersCount ldr r2, _08013AE8 @ =gBattleStruct ldr r6, _08013B0C @ =gBattleScripting ldr r7, _08013B10 @ =gMoveResultFlags @@ -7668,7 +7668,7 @@ _08013ADA: bx r0 .align 2, 0 _08013AE8: .4byte gBattleStruct -_08013AEC: .4byte gUnknown_2023BCC +_08013AEC: .4byte gBattlersCount _08013AF0: .4byte gUnknown_2023BDE _08013AF4: .4byte gUnknown_2023D7C _08013AF8: .4byte gUnknown_2023DC4 @@ -7692,7 +7692,7 @@ sub_8013B1C: @ 8013B1C ldr r1, _08013BB8 @ =gUnknown_3004F84 ldr r0, _08013BBC @ =sub_8013BD4 str r0, [r1] - ldr r3, _08013BC0 @ =gUnknown_2023BCC + ldr r3, _08013BC0 @ =gBattlersCount ldr r1, _08013BC4 @ =gUnknown_2023E82 movs r2, 0 adds r0, r1, 0x7 @@ -7735,7 +7735,7 @@ _08013B4A: bl CancelMultiTurnMoves _08013B7C: adds r4, 0x1 - ldr r0, _08013BC0 @ =gUnknown_2023BCC + ldr r0, _08013BC0 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _08013B4A @@ -7767,7 +7767,7 @@ _08013BAC: _08013BB4: .4byte gUnknown_2023BC8 _08013BB8: .4byte gUnknown_3004F84 _08013BBC: .4byte sub_8013BD4 -_08013BC0: .4byte gUnknown_2023BCC +_08013BC0: .4byte gBattlersCount _08013BC4: .4byte gUnknown_2023E82 _08013BC8: .4byte gBattleMons _08013BCC: .4byte gBattleStruct @@ -7879,7 +7879,7 @@ _08013CB0: strb r0, [r1, 0x13] _08013CBC: movs r2, 0 - ldr r4, _08013D34 @ =gUnknown_2023BCC + ldr r4, _08013D34 @ =gBattlersCount ldr r0, _08013D38 @ =gBattleStruct mov r8, r0 ldr r1, _08013D3C @ =gUnknown_3004F84 @@ -7940,7 +7940,7 @@ _08013D20: bx r0 .align 2, 0 _08013D30: .4byte gBattleResults -_08013D34: .4byte gUnknown_2023BCC +_08013D34: .4byte gBattlersCount _08013D38: .4byte gBattleStruct _08013D3C: .4byte gUnknown_3004F84 _08013D40: .4byte gAbsentBattlerFlags @@ -7963,7 +7963,7 @@ IsRunningFromBattleImpossible: @ 8013D54 ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _08013D84 - ldr r1, _08013D80 @ =gUnknown_2023F54 + ldr r1, _08013D80 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -7973,14 +7973,14 @@ IsRunningFromBattleImpossible: @ 8013D54 .align 2, 0 _08013D78: .4byte gBattleMons _08013D7C: .4byte gActiveBattler -_08013D80: .4byte gUnknown_2023F54 +_08013D80: .4byte gEnigmaBerries _08013D84: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect lsls r0, 24 lsrs r2, r0, 24 _08013D8E: - ldr r1, _08013EA4 @ =gUnknown_2023D6F + ldr r1, _08013EA4 @ =gPotentialItemEffectBattler ldr r3, _08013EA8 @ =gActiveBattler ldrb r0, [r3] strb r0, [r1] @@ -8008,11 +8008,11 @@ _08013DAA: b _08013F18 _08013DBE: adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _08013EB4 @ =gUnknown_2023BCC + ldr r0, _08013EB4 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _08013E52 @@ -8020,7 +8020,7 @@ _08013DBE: _08013DD4: lsrs r4, r7, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -8037,7 +8037,7 @@ _08013DD4: b _08013F20 _08013DF8: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -8077,7 +8077,7 @@ _08013E42: lsls r0, 17 adds r7, r0 adds r5, 0x1 - ldr r0, _08013EB4 @ =gUnknown_2023BCC + ldr r0, _08013EB4 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _08013DD4 @@ -8089,7 +8089,7 @@ _08013E52: movs r0, 0xF movs r2, 0x2A movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -8113,7 +8113,7 @@ _08013E8A: ldr r0, _08013EB8 @ =gBattleScripting subs r1, r5, 0x1 strb r1, [r0, 0x17] - ldr r2, _08013EBC @ =gUnknown_2023D6A + ldr r2, _08013EBC @ =gLastUsedAbility adds r0, r1, 0 muls r0, r3 adds r0, r6 @@ -8124,13 +8124,13 @@ _08013E8A: movs r0, 0x2 b _08013F5C .align 2, 0 -_08013EA4: .4byte gUnknown_2023D6F +_08013EA4: .4byte gPotentialItemEffectBattler _08013EA8: .4byte gActiveBattler _08013EAC: .4byte gBattleTypeFlags _08013EB0: .4byte gBattleMons -_08013EB4: .4byte gUnknown_2023BCC +_08013EB4: .4byte gBattlersCount _08013EB8: .4byte gBattleScripting -_08013EBC: .4byte gUnknown_2023D6A +_08013EBC: .4byte gLastUsedAbility _08013EC0: .4byte gUnknown_2023E82 _08013EC4: ldr r1, _08013EF8 @ =gBattleMons @@ -8181,7 +8181,7 @@ _08013F1C: .4byte gBattleTypeFlags _08013F20: ldr r0, _08013F30 @ =gBattleScripting strb r5, [r0, 0x17] - ldr r1, _08013F34 @ =gUnknown_2023D6A + ldr r1, _08013F34 @ =gLastUsedAbility ldrb r0, [r2] strb r0, [r1] ldr r1, _08013F38 @ =gUnknown_2023E82 @@ -8189,12 +8189,12 @@ _08013F20: b _08013F5C .align 2, 0 _08013F30: .4byte gBattleScripting -_08013F34: .4byte gUnknown_2023D6A +_08013F34: .4byte gLastUsedAbility _08013F38: .4byte gUnknown_2023E82 _08013F3C: ldr r0, _08013F4C @ =gBattleScripting strb r5, [r0, 0x17] - ldr r1, _08013F50 @ =gUnknown_2023D6A + ldr r1, _08013F50 @ =gLastUsedAbility ldrb r0, [r2] strb r0, [r1] ldr r1, _08013F54 @ =gUnknown_2023E82 @@ -8202,7 +8202,7 @@ _08013F3C: b _08013F5C .align 2, 0 _08013F4C: .4byte gBattleScripting -_08013F50: .4byte gUnknown_2023D6A +_08013F50: .4byte gLastUsedAbility _08013F54: .4byte gUnknown_2023E82 _08013F58: ldr r1, _08013F68 @ =gUnknown_2023E82 @@ -8340,7 +8340,7 @@ sub_8014040: @ 8014040 strb r1, [r0, 0x4] ldr r0, _08014090 @ =gActiveBattler strb r1, [r0] - ldr r0, _08014094 @ =gUnknown_2023BCC + ldr r0, _08014094 @ =gBattlersCount adds r2, r0, 0 ldrb r0, [r2] cmp r1, r0 @@ -8349,7 +8349,7 @@ sub_8014040: @ 8014040 _08014064: ldr r4, _08014090 @ =gActiveBattler ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r5, r0, 24 ldr r1, _0801408C @ =gUnknown_2023E82 @@ -8368,7 +8368,7 @@ _08014080: .align 2, 0 _0801408C: .4byte gUnknown_2023E82 _08014090: .4byte gActiveBattler -_08014094: .4byte gUnknown_2023BCC +_08014094: .4byte gBattlersCount _08014098: .4byte _0801409C .align 2, 0 _0801409C: @@ -8401,7 +8401,7 @@ _080140B8: beq _08014114 eors r5, r1 adds r0, r5, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, [r4] adds r1, 0x91 ldrb r1, [r1] @@ -8415,7 +8415,7 @@ _080140B8: bne _08014114 ldr r4, _08014160 @ =gUnknown_2023E82 adds r0, r5, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -8853,7 +8853,7 @@ _080144C0: adds r1, r2, 0 movs r2, 0x17 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -8863,7 +8863,7 @@ _080144C0: movs r0, 0xC movs r2, 0x47 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -8894,7 +8894,7 @@ _08014510: movs r0, 0xF movs r2, 0x2A movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -8921,7 +8921,7 @@ _08014548: orrs r1, r0 lsls r1, 24 lsrs r1, 24 - ldr r0, _0801457C @ =gUnknown_2023D6A + ldr r0, _0801457C @ =gLastUsedAbility ldrb r3, [r0] ldr r4, _08014580 @ =gBattleStruct ldr r0, _08014574 @ =gActiveBattler @@ -8939,7 +8939,7 @@ _08014548: .align 2, 0 _08014574: .4byte gActiveBattler _08014578: .4byte gBattleMons -_0801457C: .4byte gUnknown_2023D6A +_0801457C: .4byte gLastUsedAbility _08014580: .4byte gBattleStruct _08014584: ldr r0, _080145A8 @ =gActiveBattler @@ -9061,12 +9061,12 @@ _08014670: movs r0, 0x6 strb r0, [r1] ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -9587,7 +9587,7 @@ _08014ACA: bne _08014AFE adds r0, r5, 0 eors r0, r1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08014B18 @ =gBattleStruct ldr r1, [r1] adds r1, 0x91 @@ -9762,7 +9762,7 @@ _08014C4E: ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r0, _08014C98 @ =gUnknown_2023BCC + ldr r0, _08014C98 @ =gBattlersCount lsls r1, 24 lsrs r1, 24 adds r2, r0, 0 @@ -9793,7 +9793,7 @@ _08014C88: .4byte gUnknown_2023BC8 _08014C8C: .4byte gBitTable _08014C90: .4byte gActiveBattler _08014C94: .4byte gUnknown_2023E82 -_08014C98: .4byte gUnknown_2023BCC +_08014C98: .4byte gBattlersCount _08014C9C: .4byte gUnknown_3004F84 _08014CA0: .4byte sub_80150A8 thumb_func_end sub_8014040 @@ -9851,7 +9851,7 @@ GetWhoStrikesFirst: @ 8014CD8 movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _08014DA0 @@ -9861,7 +9861,7 @@ GetWhoStrikesFirst: @ 8014CD8 movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _08014DA0 @@ -9943,7 +9943,7 @@ _08014DA4: adds r4, r0, r1 ldrh r0, [r4, 0x6] muls r3, r0 - ldr r2, _08014DEC @ =gUnknown_825DEAD + ldr r2, _08014DEC @ =gStatStageRatios movs r1, 0x1B ldrsb r1, [r4, r1] lsls r1, 1 @@ -9958,7 +9958,7 @@ _08014DA4: ldrh r0, [r4, 0x2E] cmp r0, 0xAF bne _08014DF4 - ldr r1, _08014DF0 @ =gUnknown_2023F54 + ldr r1, _08014DF0 @ =gEnigmaBerries mov r3, r9 lsls r0, r3, 3 subs r0, r3 @@ -9969,8 +9969,8 @@ _08014DA4: b _08014E08 .align 2, 0 _08014DE8: .4byte gBattleMons -_08014DEC: .4byte gUnknown_825DEAD -_08014DF0: .4byte gUnknown_2023F54 +_08014DEC: .4byte gStatStageRatios +_08014DF0: .4byte gEnigmaBerries _08014DF4: ldrh r0, [r4, 0x2E] bl ItemId_GetHoldEffect @@ -9993,7 +9993,7 @@ _08014E08: cmp r0, 0 beq _08014E3C mov r0, r9 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08014E3C @@ -10050,7 +10050,7 @@ _08014E80: ldrh r0, [r4, 0x6] adds r3, r0, 0 muls r3, r7 - ldr r2, _08014ED4 @ =gUnknown_825DEAD + ldr r2, _08014ED4 @ =gStatStageRatios movs r1, 0x1B ldrsb r1, [r4, r1] lsls r1, 1 @@ -10065,7 +10065,7 @@ _08014E80: ldrh r0, [r4, 0x2E] cmp r0, 0xAF bne _08014EDC - ldr r1, _08014ED8 @ =gUnknown_2023F54 + ldr r1, _08014ED8 @ =gEnigmaBerries mov r3, r10 lsls r0, r3, 3 subs r0, r3 @@ -10079,8 +10079,8 @@ _08014EC4: .4byte gBattleTypeFlags _08014EC8: .4byte 0x00000822 _08014ECC: .4byte gBattleMons _08014ED0: .4byte gUnknown_2023E80 -_08014ED4: .4byte gUnknown_825DEAD -_08014ED8: .4byte gUnknown_2023F54 +_08014ED4: .4byte gStatStageRatios +_08014ED8: .4byte gEnigmaBerries _08014EDC: ldrh r0, [r4, 0x2E] bl ItemId_GetHoldEffect @@ -10103,7 +10103,7 @@ _08014EF0: cmp r0, 0 beq _08014F20 mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08014F20 @@ -10332,7 +10332,7 @@ sub_80150A8: @ 80150A8 beq _08015114 ldr r0, _08015100 @ =gActiveBattler strb r3, [r0] - ldr r4, _08015104 @ =gUnknown_2023BCC + ldr r4, _08015104 @ =gBattlersCount mov r8, r0 ldrb r0, [r4] cmp r3, r0 @@ -10365,7 +10365,7 @@ _080150D8: .align 2, 0 _080150FC: .4byte gBattleTypeFlags _08015100: .4byte gActiveBattler -_08015104: .4byte gUnknown_2023BCC +_08015104: .4byte gBattlersCount _08015108: .4byte gUnknown_2023BDA _0801510C: .4byte gUnknown_2023D7C _08015110: .4byte gUnknown_2023BDE @@ -10376,7 +10376,7 @@ _08015114: beq _08015164 ldr r0, _08015158 @ =gActiveBattler strb r3, [r0] - ldr r1, _0801515C @ =gUnknown_2023BCC + ldr r1, _0801515C @ =gBattlersCount mov r8, r0 adds r2, r1, 0 ldrb r2, [r2] @@ -10394,7 +10394,7 @@ _08015136: strb r0, [r7] lsls r0, 24 lsrs r0, 24 - ldr r1, _0801515C @ =gUnknown_2023BCC + ldr r1, _0801515C @ =gBattlersCount ldrb r1, [r1] cmp r0, r1 bcs _08015174 @@ -10406,7 +10406,7 @@ _08015136: b _08015172 .align 2, 0 _08015158: .4byte gActiveBattler -_0801515C: .4byte gUnknown_2023BCC +_0801515C: .4byte gBattlersCount _08015160: .4byte gUnknown_2023D7C _08015164: ldr r0, _080151D8 @ =gUnknown_2023D7C @@ -10440,14 +10440,14 @@ _08015174: mov r12, r0 ldr r1, _080151F0 @ =gBattleStruct mov r9, r1 - ldr r7, _080151F4 @ =gUnknown_2023BCC + ldr r7, _080151F4 @ =gBattlersCount ldrb r7, [r7] cmp r5, r7 bge _080151CC adds r7, r6, 0 adds r6, r4, 0 adds r4, r2, 0 - ldr r2, _080151F4 @ =gUnknown_2023BCC + ldr r2, _080151F4 @ =gBattlersCount _080151AE: mov r0, r8 ldrb r0, [r0] @@ -10480,12 +10480,12 @@ _080151E4: .4byte gUnknown_2023BDE _080151E8: .4byte gUnknown_3004F84 _080151EC: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts _080151F0: .4byte gBattleStruct -_080151F4: .4byte gUnknown_2023BCC +_080151F4: .4byte gBattlersCount _080151F8: movs r0, 0 mov r1, r8 strb r0, [r1] - ldr r2, _08015288 @ =gUnknown_2023BCC + ldr r2, _08015288 @ =gBattlersCount ldrb r0, [r2] cmp r0, 0 beq _0801523E @@ -10515,7 +10515,7 @@ _0801522C: strb r0, [r2] lsls r0, 24 lsrs r0, 24 - ldr r1, _08015288 @ =gUnknown_2023BCC + ldr r1, _08015288 @ =gBattlersCount ldrb r1, [r1] cmp r0, r1 bcc _0801520E @@ -10523,7 +10523,7 @@ _0801523E: movs r0, 0 mov r2, r8 strb r0, [r2] - ldr r7, _08015288 @ =gUnknown_2023BCC + ldr r7, _08015288 @ =gBattlersCount ldrb r0, [r7] cmp r0, 0 beq _08015282 @@ -10552,7 +10552,7 @@ _08015270: strb r0, [r2] lsls r0, 24 lsrs r0, 24 - ldr r1, _08015288 @ =gUnknown_2023BCC + ldr r1, _08015288 @ =gBattlersCount ldrb r1, [r1] cmp r0, r1 bcc _08015252 @@ -10560,7 +10560,7 @@ _08015282: movs r5, 0 b _080152F0 .align 2, 0 -_08015288: .4byte gUnknown_2023BCC +_08015288: .4byte gBattlersCount _0801528C: .4byte gUnknown_2023D7C _08015290: .4byte gUnknown_2023BDA _08015294: .4byte gUnknown_2023BDE @@ -10604,14 +10604,14 @@ _080152A8: bl SwapTurnOrder _080152E4: adds r4, 0x1 - ldr r0, _08015320 @ =gUnknown_2023BCC + ldr r0, _08015320 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _080152A8 _080152EE: adds r5, r7, 0 _080152F0: - ldr r1, _08015320 @ =gUnknown_2023BCC + ldr r1, _08015320 @ =gBattlersCount ldrb r0, [r1] subs r0, 0x1 cmp r5, r0 @@ -10636,7 +10636,7 @@ _08015304: .align 2, 0 _08015318: .4byte gUnknown_2023BDA _0801531C: .4byte gUnknown_2023BDE -_08015320: .4byte gUnknown_2023BCC +_08015320: .4byte gBattlersCount _08015324: .4byte gUnknown_3004F84 _08015328: .4byte CheckFocusPunch_ClearVarsBeforeTurnStarts _0801532C: .4byte gBattleStruct @@ -10655,7 +10655,7 @@ TurnValuesCleanUp: @ 8015330 ldr r1, _08015388 @ =gActiveBattler movs r0, 0 strb r0, [r1] - ldr r0, _0801538C @ =gUnknown_2023BCC + ldr r0, _0801538C @ =gBattlersCount ldrb r2, [r0] adds r5, r1, 0 cmp r2, 0 @@ -10690,7 +10690,7 @@ _0801535E: b _080153F8 .align 2, 0 _08015388: .4byte gActiveBattler -_0801538C: .4byte gUnknown_2023BCC +_0801538C: .4byte gBattlersCount _08015390: .4byte gUnknown_2023E8C _08015394: .4byte gUnknown_2023C34 _08015398: .4byte gDisableStructs @@ -10765,13 +10765,13 @@ _08015416: strb r0, [r5] lsls r0, 24 lsrs r0, 24 - ldr r1, _08015448 @ =gUnknown_2023BCC + ldr r1, _08015448 @ =gBattlersCount ldrb r1, [r1] cmp r0, r1 bcc _0801535E _08015428: movs r0, 0 - ldr r2, _0801544C @ =gUnknown_2023DE4 + ldr r2, _0801544C @ =gSideTimers strb r0, [r2, 0x8] strb r0, [r2, 0x14] pop {r3-r5} @@ -10784,8 +10784,8 @@ _08015428: .align 2, 0 _08015440: .4byte 0xffbfffff _08015444: .4byte 0xfeffffff -_08015448: .4byte gUnknown_2023BCC -_0801544C: .4byte gUnknown_2023DE4 +_08015448: .4byte gBattlersCount +_0801544C: .4byte gSideTimers thumb_func_end TurnValuesCleanUp thumb_func_start SpecialStatusesClear @@ -10794,7 +10794,7 @@ SpecialStatusesClear: @ 8015450 ldr r2, _08015494 @ =gActiveBattler movs r0, 0 strb r0, [r2] - ldr r0, _08015498 @ =gUnknown_2023BCC + ldr r0, _08015498 @ =gBattlersCount ldrb r1, [r0] adds r6, r0, 0 cmp r1, 0 @@ -10829,7 +10829,7 @@ _0801548E: bx r0 .align 2, 0 _08015494: .4byte gActiveBattler -_08015498: .4byte gUnknown_2023BCC +_08015498: .4byte gBattlersCount _0801549C: .4byte gUnknown_2023ECC thumb_func_end SpecialStatusesClear @@ -10846,7 +10846,7 @@ CheckFocusPunch_ClearVarsBeforeTurnStarts: @ 80154A0 ldr r2, _0801552C @ =gBattleStruct ldr r0, [r2] adds r0, 0x48 - ldr r1, _08015530 @ =gUnknown_2023BCC + ldr r1, _08015530 @ =gBattlersCount ldrb r0, [r0] mov r12, r2 adds r6, r1, 0 @@ -10906,7 +10906,7 @@ _080154CC: .align 2, 0 _08015528: .4byte gUnknown_2023DD0 _0801552C: .4byte gBattleStruct -_08015530: .4byte gUnknown_2023BCC +_08015530: .4byte gBattlersCount _08015534: .4byte gActiveBattler _08015538: .4byte sBattler_AI _0801553C: .4byte gUnknown_2023DC4 @@ -10991,7 +10991,7 @@ _080155D8: adds r0, r1 ldr r0, [r0] bl _call_via_r0 - ldr r0, _08015630 @ =gUnknown_2023BCC + ldr r0, _08015630 @ =gBattlersCount ldrb r1, [r4] ldrb r0, [r0] cmp r1, r0 @@ -11017,7 +11017,7 @@ _08015620: .4byte gUnknown_2023BE3 _08015624: .4byte gBattleStruct _08015628: .4byte gUnknown_2023BE2 _0801562C: .4byte gUnknown_8250038 -_08015630: .4byte gUnknown_2023BCC +_08015630: .4byte gBattlersCount _08015634: .4byte gUnknown_2023DD0 _08015638: .4byte 0xffefffff _0801563C: .4byte gUnknown_3004F84 @@ -11062,7 +11062,7 @@ sub_8015670: @ 8015670 ldrb r0, [r4] strb r0, [r1] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080156B8 @ =sBattler_AI strb r0, [r1] ldr r1, _080156BC @ =gUnknown_2023D74 @@ -11185,7 +11185,7 @@ sub_801578C: @ 801578C ldrb r0, [r4] strb r0, [r1] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080157D4 @ =sBattler_AI strb r0, [r1] ldr r1, _080157D8 @ =gUnknown_2023D74 @@ -11230,7 +11230,7 @@ _0801580C: strb r4, [r0, 0x5] _08015810: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08015820 @ =sBattler_AI strb r0, [r1] b _0801582A @@ -11368,7 +11368,7 @@ sub_8015910: @ 8015910 bne _080159BC ldr r2, _08015980 @ =gActiveBattler strb r1, [r2] - ldr r0, _08015984 @ =gUnknown_2023BCC + ldr r0, _08015984 @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _080159BC @@ -11379,7 +11379,7 @@ sub_8015910: @ 8015910 adds r7, 0x30 _08015942: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080159AA @@ -11405,7 +11405,7 @@ _08015974: .4byte gUnknown_2023BE3 _08015978: .4byte gBattleTypeFlags _0801597C: .4byte 0x00080b92 _08015980: .4byte gActiveBattler -_08015984: .4byte gUnknown_2023BCC +_08015984: .4byte gBattlersCount _08015988: .4byte gBattleMons _0801598C: .4byte gBattleResults _08015990: @@ -11425,7 +11425,7 @@ _080159AA: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _080159EC @ =gUnknown_2023BCC + ldr r1, _080159EC @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -11453,7 +11453,7 @@ _080159D0: str r0, [r1] b _08015A1E .align 2, 0 -_080159EC: .4byte gUnknown_2023BCC +_080159EC: .4byte gBattlersCount _080159F0: .4byte gBattleTypeFlags _080159F4: .4byte gUnknown_3004F84 _080159F8: .4byte sub_8015A30 @@ -11563,7 +11563,7 @@ _08015AAE: adds r4, r1, r0 adds r0, r4, 0 movs r1, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0 @@ -12081,7 +12081,7 @@ _08015F10: _08015F18: ldr r0, _08015F38 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08015F40 @@ -12103,12 +12103,12 @@ _08015F40: _08015F48: ldr r4, _08015FB4 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _08015FB8 @ =gUnknown_2023DE4 + ldr r1, _08015FB8 @ =gSideTimers lsls r0, r6, 1 adds r0, r6 lsls r0, 2 @@ -12128,10 +12128,10 @@ _08015F48: cmp r0, 0 bne _08015FC8 ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r5, 0x9] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -12151,7 +12151,7 @@ _08015F48: _08015FAC: .4byte gBattleResults _08015FB0: .4byte gCurrentMove _08015FB4: .4byte sBattler_AI -_08015FB8: .4byte gUnknown_2023DE4 +_08015FB8: .4byte gSideTimers _08015FBC: .4byte gBattleMoves _08015FC0: .4byte gBattleMons _08015FC4: .4byte gBattlerTarget @@ -12166,7 +12166,7 @@ _08015FC8: bne _08015FDA b _080162A0 _08015FDA: - ldr r1, _080160EC @ =gUnknown_2023DE4 + ldr r1, _080160EC @ =gSideTimers lsls r0, r6, 1 adds r0, r6 lsls r0, 2 @@ -12214,19 +12214,19 @@ _08016028: b _080161F8 _08016030: adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 ldr r1, _08016100 @ =gActiveBattler strb r5, [r1] - ldr r0, _08016104 @ =gUnknown_2023BCC + ldr r0, _08016104 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bcs _080160A8 adds r4, r1, 0 _08016048: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r6, r0 @@ -12265,7 +12265,7 @@ _08016096: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _08016104 @ =gUnknown_2023BCC + ldr r1, _08016104 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -12290,7 +12290,7 @@ _080160B0: beq _08016130 ldr r0, _080160E8 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08016110 @@ -12304,13 +12304,13 @@ _080160B0: .align 2, 0 _080160E4: .4byte gBattleTypeFlags _080160E8: .4byte sBattler_AI -_080160EC: .4byte gUnknown_2023DE4 +_080160EC: .4byte gSideTimers _080160F0: .4byte gBattleMoves _080160F4: .4byte gCurrentMove _080160F8: .4byte gBattleMons _080160FC: .4byte gBattleStruct _08016100: .4byte gActiveBattler -_08016104: .4byte gUnknown_2023BCC +_08016104: .4byte gBattlersCount _08016108: .4byte gUnknown_2023D4C _0801610C: movs r0, 0x3 @@ -12326,7 +12326,7 @@ _08016110: _08016120: movs r0, 0x2 _08016122: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0801612C @ =gBattlerTarget strb r0, [r1] b _08016140 @@ -12358,10 +12358,10 @@ _08016140: _0801615A: ldr r6, _0801617C @ =sBattler_AI ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -12376,12 +12376,12 @@ _08016184: .4byte gAbsentBattlerFlags _08016188: .4byte gBitTable _0801618C: ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] ldrb r1, [r7] ldrb r2, [r5] @@ -12442,7 +12442,7 @@ _080161F8: cmp r0, 0 beq _080162A0 ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08016244 @@ -12470,7 +12470,7 @@ _08016244: _08016254: movs r0, 0x2 _08016256: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08016290 @ =gBattlerTarget strb r0, [r1] ldr r0, _08016294 @ =gAbsentBattlerFlags @@ -12486,10 +12486,10 @@ _08016256: beq _0801632C ldr r0, _0801629C @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -12522,10 +12522,10 @@ _080162A0: beq _0801632C ldrb r0, [r2] str r3, [sp, 0x4] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 ldr r3, [sp, 0x4] @@ -12540,12 +12540,12 @@ _080162EC: .4byte gAbsentBattlerFlags _080162F0: .4byte gBitTable _080162F4: ldrb r0, [r3] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] ldrb r1, [r6] ldrb r2, [r5] @@ -12558,12 +12558,12 @@ _08016310: beq _0801632C adds r0, r2, 0 _0801631A: - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] _0801632C: ldr r4, _08016360 @ =gUnknown_2023D74 @@ -12768,7 +12768,7 @@ _080164E0: .4byte gUnknown_81D99FC _080164E4: .4byte gUnknown_2023BE3 _080164E8: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08016510 @@ -13068,7 +13068,7 @@ sub_8016748: @ 8016748 ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _08016774 - ldr r1, _08016770 @ =gUnknown_2023F54 + ldr r1, _08016770 @ =gEnigmaBerries lsls r0, r4, 3 subs r0, r4 lsls r0, 2 @@ -13077,14 +13077,14 @@ sub_8016748: @ 8016748 b _0801677E .align 2, 0 _0801676C: .4byte gBattleMons -_08016770: .4byte gUnknown_2023F54 +_08016770: .4byte gEnigmaBerries _08016774: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect lsls r0, 24 lsrs r1, r0, 24 _0801677E: - ldr r0, _080167AC @ =gUnknown_2023D6F + ldr r0, _080167AC @ =gPotentialItemEffectBattler strb r4, [r0] cmp r1, 0x25 bne _080167BC @@ -13107,7 +13107,7 @@ _0801677E: strb r0, [r2, 0x1] b _08016816 .align 2, 0 -_080167AC: .4byte gUnknown_2023D6F +_080167AC: .4byte gPotentialItemEffectBattler _080167B0: .4byte gUnknown_2023D68 _080167B4: .4byte gBattleMons _080167B8: .4byte gUnknown_2023E8C @@ -13122,7 +13122,7 @@ _080167BC: ldrb r1, [r0] cmp r1, 0x32 bne _080167F8 - ldr r0, _080167F0 @ =gUnknown_2023D6A + ldr r0, _080167F0 @ =gLastUsedAbility strb r1, [r0] ldr r0, _080167F4 @ =gUnknown_2023E8C lsls r2, r4, 4 @@ -13137,7 +13137,7 @@ _080167BC: b _08016816 .align 2, 0 _080167EC: .4byte gBattleMons -_080167F0: .4byte gUnknown_2023D6A +_080167F0: .4byte gLastUsedAbility _080167F4: .4byte gUnknown_2023E8C _080167F8: ldr r0, _08016820 @ =gBattleTypeFlags @@ -13150,7 +13150,7 @@ _080167F8: cmp r0, r1 bne _08016824 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801687A @@ -13209,7 +13209,7 @@ _0801687A: cmp r6, 0 beq _0801688C ldr r1, _08016898 @ =gUnknown_2023BE2 - ldr r0, _0801689C @ =gUnknown_2023BCC + ldr r0, _0801689C @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] ldr r1, _080168A0 @ =gUnknown_2023E8A @@ -13223,7 +13223,7 @@ _0801688C: .align 2, 0 _08016894: .4byte gBattleStruct _08016898: .4byte gUnknown_2023BE2 -_0801689C: .4byte gUnknown_2023BCC +_0801689C: .4byte gBattlersCount _080168A0: .4byte gUnknown_2023E8A thumb_func_end sub_8016748 @@ -13243,7 +13243,7 @@ sub_80168A4: @ 80168A4 ands r0, r1 cmp r0, 0 beq _0801694C - ldr r0, _08016904 @ =gUnknown_2023BCC + ldr r0, _08016904 @ =gBattlersCount ldrb r1, [r0] strb r1, [r5] ldr r2, _08016908 @ =gActiveBattler @@ -13257,7 +13257,7 @@ sub_80168A4: @ 80168A4 ldr r5, _08016910 @ =gUnknown_2023E8A _080168D8: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08016914 @@ -13274,7 +13274,7 @@ _080168F4: .4byte sBattler_AI _080168F8: .4byte gUnknown_2023BDE _080168FC: .4byte gUnknown_2023BE2 _08016900: .4byte gBattleTypeFlags -_08016904: .4byte gUnknown_2023BCC +_08016904: .4byte gBattlersCount _08016908: .4byte gActiveBattler _0801690C: .4byte gUnknown_2023D7C _08016910: .4byte gUnknown_2023E8A @@ -13293,7 +13293,7 @@ _08016926: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _08016944 @ =gUnknown_2023BCC + ldr r1, _08016944 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -13307,11 +13307,11 @@ _08016938: strb r1, [r0] b _080169D8 .align 2, 0 -_08016944: .4byte gUnknown_2023BCC +_08016944: .4byte gBattlersCount _08016948: .4byte gUnknown_2023E8A _0801694C: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801698C @@ -13365,7 +13365,7 @@ _080169C0: .4byte gUnknown_2023D74 _080169C4: .4byte gUnknown_81D893A _080169C8: .4byte gUnknown_2023BE3 _080169CC: - ldr r0, _080169E0 @ =gUnknown_2023BCC + ldr r0, _080169E0 @ =gBattlersCount ldrb r0, [r0] strb r0, [r5] ldr r1, _080169E4 @ =gUnknown_2023E8A @@ -13377,7 +13377,7 @@ _080169D8: pop {r0} bx r0 .align 2, 0 -_080169E0: .4byte gUnknown_2023BCC +_080169E0: .4byte gBattlersCount _080169E4: .4byte gUnknown_2023E8A thumb_func_end sub_80168A4 @@ -13687,7 +13687,7 @@ HandleAction_SafriZoneRun: @ 8016C60 strb r0, [r2] movs r0, 0x11 bl PlaySE - ldr r0, _08016C94 @ =gUnknown_2023BCC + ldr r0, _08016C94 @ =gBattlersCount ldrb r0, [r0] strb r0, [r4] ldr r1, _08016C98 @ =gUnknown_2023E8A @@ -13700,7 +13700,7 @@ HandleAction_SafriZoneRun: @ 8016C60 _08016C88: .4byte sBattler_AI _08016C8C: .4byte gUnknown_2023BDE _08016C90: .4byte gUnknown_2023BE2 -_08016C94: .4byte gUnknown_2023BCC +_08016C94: .4byte gBattlersCount _08016C98: .4byte gUnknown_2023E8A thumb_func_end HandleAction_SafriZoneRun diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s index f38d58172..bdc1283db 100644 --- a/asm/battle_ai_switch_items.s +++ b/asm/battle_ai_switch_items.s @@ -28,7 +28,7 @@ ShouldSwitchIfPerishSong: @ 8039188 cmp r0, 0 bne _080391E4 adds r0, r2, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _080391E0 @ =gBattleStruct @@ -73,7 +73,7 @@ _08039204: .4byte gBattleTypeFlags _08039208: ldr r0, _0803922C @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _08039230 @ =gBattleStruct @@ -93,7 +93,7 @@ _08039230: .4byte gBattleStruct _08039234: ldr r4, _0803936C @ =gBattleMons movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x58 @@ -106,7 +106,7 @@ _08039234: b _0803935C _08039250: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r2, r0, 24 movs r6, 0 @@ -185,7 +185,7 @@ _080392A4: movs r1, 0x2E bl GetMonData movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r2, r0, 24 movs r4, 0 @@ -305,12 +305,12 @@ _080393D6: beq _08039442 mov r8, r3 mov r0, r8 - bl GetBankIdentity + bl GetBattlerPosition movs r4, 0x2 eors r0, r4 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08039424 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _08039428 @ =gBitTable @@ -333,11 +333,11 @@ _08039424: .4byte gAbsentBattlerFlags _08039428: .4byte gBitTable _0803942C: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition eors r0, r4 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 b _08039446 @@ -396,7 +396,7 @@ _0803949C: .4byte gBattleMons _080394A0: ldr r0, _080394C4 @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _080394C8 @ =gBattleStruct @@ -616,7 +616,7 @@ _08039664: ldr r0, _08039690 @ =gActiveBattler ldrb r0, [r0] _08039668: - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _08039694 @ =gBattleStruct @@ -650,7 +650,7 @@ ai_has_super_effective_move_on_field: @ 8039698 lsrs r0, 24 mov r8, r0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r3, r0, 24 ldr r0, _08039730 @ =gAbsentBattlerFlags @@ -727,7 +727,7 @@ _08039744: b _080397C4 _08039748: movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r3, r0, 24 ldr r0, _080397D0 @ =gAbsentBattlerFlags @@ -898,12 +898,12 @@ _0803987A: beq _08039918 mov r9, r3 mov r0, r9 - bl GetBankIdentity + bl GetBattlerPosition movs r4, 0x2 eors r0, r4 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080398CC @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _080398D0 @ =gBitTable @@ -928,11 +928,11 @@ _080398CC: .4byte gAbsentBattlerFlags _080398D0: .4byte gBitTable _080398D4: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition eors r0, r4 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -940,7 +940,7 @@ _080398D4: _080398EC: ldr r0, _08039910 @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _08039914 @ =gBattleStruct @@ -1170,7 +1170,7 @@ _08039ABA: adds r1, r2, 0 movs r2, 0x17 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -1182,7 +1182,7 @@ _08039AD2: movs r0, 0xC movs r2, 0x47 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -1194,7 +1194,7 @@ _08039AEA: movs r1, 0 movs r2, 0x2A movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08039B1C @@ -1226,12 +1226,12 @@ _08039B1C: ldr r4, _08039B60 @ =gActiveBattler ldrb r7, [r4] adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition movs r5, 0x2 eors r0, r5 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08039B70 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _08039B74 @ =gBitTable @@ -1254,11 +1254,11 @@ _08039B70: .4byte gAbsentBattlerFlags _08039B74: .4byte gBitTable _08039B78: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition eors r0, r5 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 b _08039B94 @@ -1396,7 +1396,7 @@ _08039C94: beq _08039D8C ldr r0, _08039CE0 @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _08039CE4 @ =gBattleStruct @@ -1417,7 +1417,7 @@ _08039C94: cmp r0, 0 bne _08039CE8 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r6, r5, 0 @@ -1428,11 +1428,11 @@ _08039CE0: .4byte gActiveBattler _08039CE4: .4byte gBattleStruct _08039CE8: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 _08039CFC: @@ -1476,7 +1476,7 @@ _08039D3E: _08039D44: ldr r0, _08039D88 @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, _08039D84 @ =gBattleStruct @@ -1487,7 +1487,7 @@ _08039D44: _08039D5A: ldr r4, _08039D88 @ =gActiveBattler ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition ldrb r2, [r4] ldr r1, _08039D84 @ =gBattleStruct ldr r1, [r1] @@ -1628,12 +1628,12 @@ _08039E5E: beq _08039EF8 str r2, [sp, 0xC] adds r0, r2, 0 - bl GetBankIdentity + bl GetBattlerPosition movs r5, 0x2 eors r0, r5 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08039EA4 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _08039EA8 @ =gBitTable @@ -1655,11 +1655,11 @@ _08039EA4: .4byte gAbsentBattlerFlags _08039EA8: .4byte gBitTable _08039EAC: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition eors r0, r5 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x10] @@ -1690,7 +1690,7 @@ _08039EF0: .4byte gAbsentBattlerFlags _08039EF4: .4byte gBitTable _08039EF8: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -2151,7 +2151,7 @@ _0803A26E: bne _0803A286 b _0803A644 _0803A286: - ldr r1, _0803A2B0 @ =gUnknown_82528BC + ldr r1, _0803A2B0 @ =gItemEffectTable subs r0, 0xD lsls r0, 2 adds r0, r1 @@ -2171,7 +2171,7 @@ _0803A296: .align 2, 0 _0803A2A8: .4byte gEnemyParty _0803A2AC: .4byte gBattleResources -_0803A2B0: .4byte gUnknown_82528BC +_0803A2B0: .4byte gItemEffectTable _0803A2B4: .4byte gSaveBlock1Ptr _0803A2B8: .4byte 0x00003108 _0803A2BC: @@ -2576,7 +2576,7 @@ _0803A5C4: .4byte gDisableStructs _0803A5C8: ldr r4, _0803A630 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r3, r0, 24 ldr r2, _0803A634 @ =gDisableStructs @@ -2588,7 +2588,7 @@ _0803A5C8: ldrb r0, [r0, 0x16] cmp r0, 0 beq _0803A5F8 - ldr r0, _0803A638 @ =gUnknown_2023DE4 + ldr r0, _0803A638 @ =gSideTimers lsls r1, r3, 1 adds r1, r3 lsls r1, 2 @@ -2628,7 +2628,7 @@ _0803A5FC: .align 2, 0 _0803A630: .4byte gActiveBattler _0803A634: .4byte gDisableStructs -_0803A638: .4byte gUnknown_2023DE4 +_0803A638: .4byte gSideTimers _0803A63C: .4byte gBattleStruct _0803A640: .4byte gBattleResources _0803A644: diff --git a/asm/battle_anim.s b/asm/battle_anim.s index c258fa7b1..7f9d4d26e 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -156,7 +156,7 @@ sub_80725D4: @ 80725D4 _08072600: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08072624 @@ -994,7 +994,7 @@ _08072C62: cmp r0, 0 beq _08072D12 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -1078,7 +1078,7 @@ _08072D12: cmp r0, 0 beq _08072DCE adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -1325,7 +1325,7 @@ _08072E5E: adds r0, r4, 0 bl CpuSet adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -1451,7 +1451,7 @@ _08072F84: adds r0, r4, 0 bl CpuSet adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -1817,7 +1817,7 @@ sub_807331C: @ 807331C cmp r0, 0x1 beq _0807338E ldrb r0, [r4, 0xC] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -1902,7 +1902,7 @@ _080733CE: cmp r0, 0 beq _08073416 adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -1940,7 +1940,7 @@ _08073416: cmp r0, 0 beq _08073464 adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -2115,7 +2115,7 @@ sub_8073558: @ 8073558 ldrb r4, [r5, 0xC] adds r6, r4, 0 adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 movs r1, 0xFF lsls r1, 24 @@ -2471,7 +2471,7 @@ sub_80737E4: @ 80737E4 lsrs r4, r0, 24 ldr r0, _08073828 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08073830 @@ -2787,7 +2787,7 @@ sub_8073A44: @ 8073A44 cmp r0, 0 beq _08073A80 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r4, 0xC0 cmp r0, 0 @@ -2799,13 +2799,13 @@ _08073A78: .4byte gUnknown_2024018 _08073A7C: .4byte gUnknown_2037F1A _08073A80: adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08073ABA ldr r0, _08073AA8 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08073AE6 @@ -2828,7 +2828,7 @@ _08073AAC: _08073ABA: ldr r0, _08073ADC @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2889,7 +2889,7 @@ sub_8073B08: @ 8073B08 cmp r0, 0 beq _08073B44 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r4, 0xC0 cmp r0, 0 @@ -2901,7 +2901,7 @@ _08073B3C: .4byte gUnknown_2024018 _08073B40: .4byte gUnknown_2037F1A _08073B44: adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08073B56 @@ -3771,7 +3771,7 @@ _080741E4: ldr r0, _08074210 @ =gUnknown_2037F1A _080741E6: ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -3825,11 +3825,11 @@ sub_807423C: @ 807423C str r0, [r1] ldr r7, _08074270 @ =gUnknown_2037F1A ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r5, _08074274 @ =gUnknown_2037F1B ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -3845,7 +3845,7 @@ _08074274: .4byte gUnknown_2037F1B _08074278: ldrb r0, [r7] _0807427A: - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -3948,11 +3948,11 @@ sub_8074320: @ 8074320 beq _080743C2 ldr r6, _08074368 @ =gUnknown_2037F1A ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r5, _0807436C @ =gUnknown_2037F1B ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -4030,11 +4030,11 @@ sub_80743C8: @ 80743C8 beq _0807444C ldr r6, _08074410 @ =gUnknown_2037F1A ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r5, _08074414 @ =gUnknown_2037F1B ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 diff --git a/asm/battle_anim_8074480.s b/asm/battle_anim_8074480.s index 5e4dfecb0..a80d7f759 100644 --- a/asm/battle_anim_8074480.s +++ b/asm/battle_anim_8074480.s @@ -31,7 +31,7 @@ _0807449C: _080744B0: ldr r4, _080744D0 @ =gUnknown_83AE01C adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, _080744D4 @ =gBattleTypeFlags @@ -49,7 +49,7 @@ _080744D4: .4byte gBattleTypeFlags _080744D8: ldr r4, _080744F8 @ =gUnknown_83AE01C adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 22 ldr r1, _080744FC @ =gBattleTypeFlags @@ -66,7 +66,7 @@ _080744F8: .4byte gUnknown_83AE01C _080744FC: .4byte gBattleTypeFlags _08074500: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08074538 @@ -148,7 +148,7 @@ sub_8074590: @ 8074590 lsrs r4, r1, 16 adds r7, r4, 0 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08074674 @@ -373,7 +373,7 @@ sub_807474C: @ 807474C adds r7, r4, 0 movs r5, 0 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -425,7 +425,7 @@ sub_80747AC: @ 80747AC lsls r2, 24 lsrs r7, r2, 24 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080747D4 @@ -451,7 +451,7 @@ _080747D4: lsrs r5, r0, 16 _080747F2: adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition ldr r3, _0807483C @ =gUnknown_83AE01C lsls r0, 24 lsrs r0, 22 @@ -469,7 +469,7 @@ _080747F2: cmp r7, 0 beq _08074832 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0807482C @@ -564,7 +564,7 @@ GetSubstituteSpriteDefault_Y: @ 80748BC lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080748E0 @@ -600,7 +600,7 @@ sub_8074900: @ 8074900 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -631,7 +631,7 @@ sub_807492C: @ 807492C lsls r0, 24 lsrs r6, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08074978 @@ -686,7 +686,7 @@ _080749B0: ldrh r4, [r1, 0x2] _080749B2: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080749CC @@ -1605,7 +1605,7 @@ _08075030: .4byte gUnknown_2037F1A _08075034: .4byte gUnknown_2037F1B _08075038: ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075050 @@ -1820,8 +1820,8 @@ _080751BC: .4byte gUnknown_2037F1A _080751C0: .4byte gUnknown_2037F02 thumb_func_end sub_8075160 - thumb_func_start GetBankSide -GetBankSide: @ 80751C4 + thumb_func_start GetBattlerSide +GetBattlerSide: @ 80751C4 lsls r0, 24 lsrs r0, 24 ldr r1, _080751D4 @ =gUnknown_2023BD6 @@ -1832,10 +1832,10 @@ GetBankSide: @ 80751C4 bx lr .align 2, 0 _080751D4: .4byte gUnknown_2023BD6 - thumb_func_end GetBankSide + thumb_func_end GetBattlerSide - thumb_func_start GetBankIdentity -GetBankIdentity: @ 80751D8 + thumb_func_start GetBattlerPosition +GetBattlerPosition: @ 80751D8 lsls r0, 24 lsrs r0, 24 ldr r1, _080751E4 @ =gUnknown_2023BD6 @@ -1844,15 +1844,15 @@ GetBankIdentity: @ 80751D8 bx lr .align 2, 0 _080751E4: .4byte gUnknown_2023BD6 - thumb_func_end GetBankIdentity + thumb_func_end GetBattlerPosition - thumb_func_start GetBankByIdentity -GetBankByIdentity: @ 80751E8 + thumb_func_start GetBattlerAtPosition +GetBattlerAtPosition: @ 80751E8 push {r4,lr} lsls r0, 24 lsrs r3, r0, 24 movs r1, 0 - ldr r0, _0807521C @ =gUnknown_2023BCC + ldr r0, _0807521C @ =gBattlersCount ldrb r2, [r0] cmp r1, r2 bcs _08075212 @@ -1876,9 +1876,9 @@ _08075212: pop {r1} bx r1 .align 2, 0 -_0807521C: .4byte gUnknown_2023BCC +_0807521C: .4byte gBattlersCount _08075220: .4byte gUnknown_2023BD6 - thumb_func_end GetBankByIdentity + thumb_func_end GetBattlerAtPosition thumb_func_start sub_8075224 sub_8075224: @ 8075224 @@ -1892,7 +1892,7 @@ sub_8075224: @ 8075224 cmp r0, 0xFF beq _08075288 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075260 @@ -3346,7 +3346,7 @@ sub_8075CB8: @ 8075CB8 cmp r0, 0 beq _08075CF2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_8072DF0 @@ -3354,7 +3354,7 @@ sub_8075CB8: @ 8075CB8 cmp r0, 0 beq _08075CF2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, 0x10 @@ -3364,7 +3364,7 @@ _08075CF2: cmp r5, 0 beq _08075D1E movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_8072DF0 @@ -3372,7 +3372,7 @@ _08075CF2: cmp r0, 0 beq _08075D1E movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3384,7 +3384,7 @@ _08075D1E: cmp r6, 0 beq _08075D4A movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_8072DF0 @@ -3392,7 +3392,7 @@ _08075D1E: cmp r0, 0 beq _08075D4A movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3404,7 +3404,7 @@ _08075D4A: cmp r7, 0 beq _08075D76 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_8072DF0 @@ -3412,7 +3412,7 @@ _08075D4A: cmp r0, 0 beq _08075D76 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r1, r0, 0 @@ -3439,7 +3439,7 @@ sub_8075D88: @ 8075D88 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 pop {r1} @@ -3520,7 +3520,7 @@ _08075E16: bl sub_8075160 ldr r0, _08075E70 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075E30 @@ -3571,7 +3571,7 @@ sub_8075E80: @ 8075E80 bl sub_8075160 ldr r0, _08075EE0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075EA0 @@ -3670,7 +3670,7 @@ _08075F4A: ldrb r6, [r0] ldr r0, _08075FAC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08075F62 @@ -4437,7 +4437,7 @@ _08076508: bne _080765AC lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08076568 @@ -4825,7 +4825,7 @@ _080767EC: .4byte gUnknown_2037F1A sub_80767F0: @ 80767F0 push {r4-r6,lr} movs r5, 0 - ldr r0, _08076850 @ =gUnknown_2023BCC + ldr r0, _08076850 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _0807684A @@ -4864,7 +4864,7 @@ _080767FE: strb r2, [r0, 0x5] _08076840: adds r5, 0x1 - ldr r0, _08076850 @ =gUnknown_2023BCC + ldr r0, _08076850 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _080767FE @@ -4873,7 +4873,7 @@ _0807684A: pop {r0} bx r0 .align 2, 0 -_08076850: .4byte gUnknown_2023BCC +_08076850: .4byte gBattlersCount _08076854: .4byte gSprites _08076858: .4byte gUnknown_2023D44 thumb_func_end sub_80767F0 @@ -4883,7 +4883,7 @@ sub_807685C: @ 807685C push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1E @@ -4907,7 +4907,7 @@ sub_8076884: @ 8076884 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4933,7 +4933,7 @@ sub_80768B0: @ 80768B0 push {lr} lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4994,7 +4994,7 @@ sub_80768D0: @ 80768D0 bl AllocSpritePalette lsls r0, 24 lsrs r5, r0, 24 - ldr r4, _080769B8 @ =gUnknown_202401C + ldr r4, _080769B8 @ =gMonSpritesGfxPtr ldr r0, [r4] cmp r0, 0 beq _0807694E @@ -5052,7 +5052,7 @@ _0807699A: lsls r0, r6, 3 ldr r1, _080769C0 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080769B8 @ =gUnknown_202401C + ldr r1, _080769B8 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r3, 0xBE lsls r3, 1 @@ -5063,14 +5063,14 @@ _0807699A: .align 2, 0 _080769B0: .4byte gUnknown_83AE084 _080769B4: .4byte gUnknown_83AE054 -_080769B8: .4byte gUnknown_202401C +_080769B8: .4byte gMonSpritesGfxPtr _080769BC: .4byte gUnknown_2024018 _080769C0: .4byte gUnknown_82350AC _080769C4: lsls r0, r6, 3 ldr r1, _080769E4 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080769E8 @ =gUnknown_202401C + ldr r1, _080769E8 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -5084,7 +5084,7 @@ _080769C4: b _08076A7C .align 2, 0 _080769E4: .4byte gUnknown_82350AC -_080769E8: .4byte gUnknown_202401C +_080769E8: .4byte gMonSpritesGfxPtr _080769EC: adds r0, r6, 0 ldr r1, [sp, 0x3C] @@ -5122,7 +5122,7 @@ _08076A32: lsls r0, r6, 3 ldr r1, _08076A58 @ =gUnknown_823654C adds r0, r1 - ldr r1, _08076A5C @ =gUnknown_202401C + ldr r1, _08076A5C @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -5138,12 +5138,12 @@ _08076A46: .align 2, 0 _08076A54: .4byte gUnknown_2024018 _08076A58: .4byte gUnknown_823654C -_08076A5C: .4byte gUnknown_202401C +_08076A5C: .4byte gMonSpritesGfxPtr _08076A60: lsls r0, r6, 3 ldr r1, _08076AC8 @ =gUnknown_823654C adds r0, r1 - ldr r1, _08076ACC @ =gUnknown_202401C + ldr r1, _08076ACC @ =gMonSpritesGfxPtr ldr r1, [r1] movs r3, 0xBE lsls r3, 1 @@ -5154,7 +5154,7 @@ _08076A60: mov r3, r8 bl sub_800ECF0 _08076A7C: - ldr r5, _08076ACC @ =gUnknown_202401C + ldr r5, _08076ACC @ =gMonSpritesGfxPtr ldr r0, [r5] movs r4, 0xBE lsls r4, 1 @@ -5191,7 +5191,7 @@ _08076A7C: b _08076AEE .align 2, 0 _08076AC8: .4byte gUnknown_823654C -_08076ACC: .4byte gUnknown_202401C +_08076ACC: .4byte gMonSpritesGfxPtr _08076AD0: .4byte 0x06010000 _08076AD4: .4byte gUnknown_83AE054 _08076AD8: .4byte gUnknown_82349CC @@ -5250,7 +5250,7 @@ sub_8076B2C: @ 8076B2C lsls r1, 24 lsrs r1, 24 mov r9, r1 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08076C08 @@ -5721,7 +5721,7 @@ sub_8076ED8: @ 8076ED8 bl sub_8074FCC ldr r0, _08076F10 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076F18 @@ -5783,7 +5783,7 @@ sub_8076F58: @ 8076F58 adds r4, r0, 0 ldr r0, _08076F80 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076F88 @@ -5844,7 +5844,7 @@ sub_8076FD0: @ 8076FD0 bl sub_8074FCC ldr r0, _08076FF4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08076FFC @@ -5901,7 +5901,7 @@ sub_8077030: @ 8077030 strh r0, [r5, 0x8] ldr r7, _080770C8 @ =gUnknown_2037F1A ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -6212,7 +6212,7 @@ sub_807729C: @ 807729C lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080772D4 @@ -6302,7 +6302,7 @@ sub_8077350: @ 8077350 strh r0, [r4, 0x36] ldr r0, _0807738C @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08077390 diff --git a/asm/battle_anim_80989F8.s b/asm/battle_anim_80989F8.s index 5d2362087..41dc60f9f 100644 --- a/asm/battle_anim_80989F8.s +++ b/asm/battle_anim_80989F8.s @@ -207,7 +207,7 @@ _08098B6C: _08098B70: movs r0, 0x3 _08098B72: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 @@ -878,7 +878,7 @@ sub_809907C: @ 809907C lsrs r4, r0, 24 ldr r0, _080990A4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099098 @@ -909,7 +909,7 @@ sub_80990AC: @ 80990AC strb r0, [r2] ldr r0, _080990D4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080990DC @@ -1206,7 +1206,7 @@ _080992FE: adds r0, r2, r0 ldrb r6, [r0] adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099328 @@ -1299,7 +1299,7 @@ _080993BE: adds r0, r1, r0 ldrb r7, [r0] adds r0, r1, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080993E8 @@ -1418,7 +1418,7 @@ sub_809949C: @ 809949C lsrs r7, r0, 16 ldr r0, _08099524 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080994CE @@ -1642,7 +1642,7 @@ _08099664: strh r2, [r5, 0x8] ldr r0, _08099688 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099690 @@ -1723,7 +1723,7 @@ sub_8099704: @ 8099704 lsrs r5, r0, 24 ldr r6, _08099754 @ =gUnknown_2037F1A ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099720 @@ -1829,7 +1829,7 @@ _080997D8: .4byte gTasks _080997DC: .4byte gSprites _080997E0: ldrb r0, [r4, 0x12] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08099808 @@ -2121,7 +2121,7 @@ _08099A14: ldr r0, _08099A6C @ =gUnknown_2037F1B _08099A16: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -2208,7 +2208,7 @@ _08099AC0: ldr r0, _08099AF0 @ =gUnknown_2037F1B _08099AC2: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08099AD4 diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index 90b0c8c86..7eaeff07e 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -24,7 +24,7 @@ sub_80A22E8: @ 80A22E8 strh r0, [r4, 0x30] ldr r0, _080A2320 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2324 @@ -412,7 +412,7 @@ sub_80A25EC: @ 80A25EC lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2638 @@ -523,7 +523,7 @@ sub_80A26F0: @ 80A26F0 bl sub_8075160 ldr r0, _080A2750 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2710 @@ -1080,7 +1080,7 @@ sub_80A2B38: @ 80A2B38 adds r4, r0, 0 ldr r0, _080A2B58 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2B5C @@ -1135,7 +1135,7 @@ sub_80A2B9C: @ 80A2B9C bl sub_8075160 ldr r0, _080A2BF0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2BBC @@ -1197,11 +1197,11 @@ _080A2C1C: bl sub_8075068 ldr r0, _080A2C50 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r0, _080A2C48 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -1664,7 +1664,7 @@ sub_80A2F74: @ 80A2F74 strh r1, [r5, 0x24] ldr r0, _080A2FFC @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A2FBE @@ -1793,7 +1793,7 @@ sub_80A3098: @ 80A3098 _080A30AA: ldr r6, _080A30FC @ =gUnknown_2037F1B ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A30C2 @@ -2485,7 +2485,7 @@ sub_80A35F4: @ 80A35F4 lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -3021,7 +3021,7 @@ sub_80A39C0: @ 80A39C0 bl sub_8076B2C strh r0, [r5, 0x1E] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 movs r2, 0x1 @@ -3833,7 +3833,7 @@ _080A405C: _080A405E: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A4088 @@ -4310,7 +4310,7 @@ sub_80A43F8: @ 80A43F8 adds r4, r0, 0 ldr r0, _080A4418 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A4420 @@ -4355,7 +4355,7 @@ sub_80A4450: @ 80A4450 adds r5, r0, 0 ldr r0, _080A4488 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A446A @@ -4439,7 +4439,7 @@ sub_80A44E0: @ 80A44E0 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4514 @@ -4600,7 +4600,7 @@ _080A463E: strh r4, [r6, 0x22] ldr r0, _080A4670 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4656 @@ -4854,7 +4854,7 @@ sub_80A481C: @ 80A481C strh r0, [r5, 0x2E] ldr r0, _080A4840 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A4844 @@ -4987,7 +4987,7 @@ _080A4906: adds r0, r4 strh r0, [r5, 0x22] ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A4944 @@ -5649,7 +5649,7 @@ sub_80A4E40: @ 80A4E40 bl sub_8074FCC ldr r0, _080A4E6C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4E74 @@ -5741,7 +5741,7 @@ sub_80A4EF4: @ 80A4EF4 bl sub_8074FCC ldr r0, _080A4F24 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A4F2C @@ -6368,7 +6368,7 @@ sub_80A5398: @ 80A5398 strh r0, [r4, 0x2E] ldr r5, _080A53D8 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x2 negs r2, r2 @@ -6417,7 +6417,7 @@ sub_80A53E8: @ 80A53E8 movs r1, 0 bl sub_80758E0 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] @@ -6478,7 +6478,7 @@ sub_80A5474: @ 80A5474 strh r0, [r4, 0x2E] ldr r5, _080A54B4 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3 cmp r0, 0 @@ -6547,12 +6547,12 @@ sub_80A54E8: @ 80A54E8 ldrb r0, [r0] strh r0, [r5, 0x34] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x3A] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A552C @@ -6656,7 +6656,7 @@ _080A55BC: ldrb r0, [r0] strh r0, [r4, 0x32] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x34] @@ -6770,7 +6770,7 @@ sub_80A5694: @ 80A5694 movs r4, 0 strh r0, [r5, 0x8] ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 strh r2, [r5, 0xA] @@ -7776,7 +7776,7 @@ sub_80A5E34: @ 80A5E34 lsls r0, 24 lsrs r7, r0, 24 movs r4, 0 - ldr r0, _080A5E9C @ =gUnknown_2023BCC + ldr r0, _080A5E9C @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcs _080A5E90 @@ -7788,7 +7788,7 @@ _080A5E48: cmp r0, 0x1 bne _080A5E64 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A5E64 @@ -7801,7 +7801,7 @@ _080A5E64: cmp r0, 0x1 bne _080A5E82 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7813,7 +7813,7 @@ _080A5E82: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A5E9C @ =gUnknown_2023BCC + ldr r0, _080A5E9C @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _080A5E48 @@ -7824,7 +7824,7 @@ _080A5E90: pop {r0} bx r0 .align 2, 0 -_080A5E9C: .4byte gUnknown_2023BCC +_080A5E9C: .4byte gBattlersCount _080A5EA0: .4byte gUnknown_2037F02 _080A5EA4: .4byte gUnknown_3004FF0 thumb_func_end sub_80A5E34 @@ -7845,7 +7845,7 @@ _080A5EB2: lsls r0, 24 lsrs r4, r0, 24 _080A5EC2: - ldr r0, _080A5EDC @ =gUnknown_2023BCC + ldr r0, _080A5EDC @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _080A5EB2 @@ -7856,7 +7856,7 @@ _080A5EC2: bx r0 .align 2, 0 _080A5ED8: .4byte gUnknown_3004FF0 -_080A5EDC: .4byte gUnknown_2023BCC +_080A5EDC: .4byte gBattlersCount thumb_func_end sub_80A5EA8 thumb_func_start sub_80A5EE0 @@ -8380,7 +8380,7 @@ _080A62D0: .4byte 0xffffec00 _080A62D4: ldr r0, _080A6314 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A631C @@ -9148,7 +9148,7 @@ sub_80A68B0: @ 80A68B0 adds r6, r0, 0 ldr r7, _080A6934 @ =gUnknown_2037F1A ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9452,7 +9452,7 @@ sub_80A6B0C: @ 80A6B0C lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A6B2C @@ -9513,7 +9513,7 @@ _080A6B82: adds r1, r5, 0 bl sub_80A6B0C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 @@ -9802,7 +9802,7 @@ _080A6DAE: adds r1, r5, 0 bl sub_80A6B0C adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A6DD4 @@ -10075,7 +10075,7 @@ sub_80A6F8C: @ 80A6F8C adds r0, r1 ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A6FE4 @@ -10231,7 +10231,7 @@ sub_80A70DC: @ 80A70DC ldrb r0, [r0] adds r1, r0, r1 ldrb r4, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A7118 @@ -10356,7 +10356,7 @@ sub_80A71D8: @ 80A71D8 bl sub_8074FCC ldr r0, _080A71FC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A7204 @@ -10384,7 +10384,7 @@ _080A7210: strh r0, [r4, 0x22] ldr r0, _080A7248 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A724C @@ -10492,7 +10492,7 @@ _080A72E8: .4byte gUnknown_2037F02 _080A72EC: ldr r0, _080A73B4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A730E @@ -11485,7 +11485,7 @@ sub_80A7A88: @ 80A7A88 lsrs r7, r0, 16 ldr r0, _080A7B30 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A7ACC @@ -11571,7 +11571,7 @@ sub_80A7B54: @ 80A7B54 strh r0, [r4, 0x24] ldr r0, _080A7BC0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A7B78 @@ -11784,7 +11784,7 @@ sub_80A7D04: @ 80A7D04 bl sub_8075160 ldr r0, _080A7D54 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A7D22 @@ -12824,7 +12824,7 @@ sub_80A851C: @ 80A851C adds r4, r0, 0 ldr r5, _080A854C @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A8550 @@ -12903,7 +12903,7 @@ _080A85C8: _080A85CA: ldrb r5, [r0] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -13053,7 +13053,7 @@ sub_80A86A4: @ 80A86A4 strh r0, [r4, 0x1A] ldr r0, _080A8720 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -13754,7 +13754,7 @@ _080A8C34: lsls r0, 24 lsrs r4, r0, 24 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8C60 @@ -13863,7 +13863,7 @@ _080A8D08: str r3, [sp, 0x4] _080A8D10: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8D6C @@ -14025,7 +14025,7 @@ _080A8E4C: strh r0, [r2, 0x2] _080A8E6C: mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A8E90 @@ -14129,7 +14129,7 @@ sub_80A8F38: @ 80A8F38 bl sub_8075160 ldr r0, _080A8F6C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -14174,7 +14174,7 @@ sub_80A8F7C: @ 80A8F7C strh r2, [r4, 0x2E] ldr r0, _080A8FE8 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0xA0 cmp r0, 0 @@ -14523,7 +14523,7 @@ sub_80A9210: @ 80A9210 strh r0, [r4, 0x20] ldr r0, _080A9248 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080A9250 @@ -15155,7 +15155,7 @@ _080A96CC: lsls r0, 6 bl AllocZeroed adds r1, r0, 0 - ldr r0, _080A9758 @ =gUnknown_202401C + ldr r0, _080A9758 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r2, 0xBE lsls r2, 1 @@ -15165,7 +15165,7 @@ _080A96CC: bl LZDecompressWram movs r4, 0 _080A9700: - ldr r5, _080A9758 @ =gUnknown_202401C + ldr r5, _080A9758 @ =gMonSpritesGfxPtr ldr r0, [r5] movs r1, 0xBE lsls r1, 1 @@ -15205,7 +15205,7 @@ _080A9700: .align 2, 0 _080A9750: .4byte 0x000027de _080A9754: .4byte 0x00002710 -_080A9758: .4byte gUnknown_202401C +_080A9758: .4byte gMonSpritesGfxPtr _080A975C: .4byte gUnknown_8D227E4 thumb_func_end sub_80A96B4 @@ -15288,7 +15288,7 @@ sub_80A97E8: @ 80A97E8 bl sub_8075160 ldr r6, _080A9850 @ =gUnknown_2037F1A ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080A9808 @@ -16226,7 +16226,7 @@ _080A9F94: .4byte gUnknown_8E7F874 _080A9F98: ldr r0, _080A9FB4 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17369,7 +17369,7 @@ _080AA854: _080AA856: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -17936,7 +17936,7 @@ sub_80AAC98: @ 80AAC98 adds r6, r0, 0 ldr r5, _080AACC0 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AACC8 @@ -17979,7 +17979,7 @@ _080AACDA: strb r0, [r2] ldr r0, _080AADA4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AAD10 @@ -18176,7 +18176,7 @@ sub_80AAE84: @ 80AAE84 bl sub_8075160 ldr r0, _080AAEAC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AAEB4 @@ -18570,7 +18570,7 @@ sub_80AB168: @ 80AB168 cmp r0, 0 bne _080AB1C2 ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AB1BC @@ -18624,11 +18624,11 @@ sub_80AB1F8: @ 80AB1F8 adds r6, r0, 0 ldr r5, _080AB2B8 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r0, _080AB2BC @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -18639,12 +18639,12 @@ sub_80AB1F8: @ 80AB1F8 negs r0, r0 strh r0, [r4] ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _080AB23A ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18676,7 +18676,7 @@ _080AB260: bl sub_8075160 ldr r0, _080AB2B8 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AB27A @@ -18858,7 +18858,7 @@ sub_80AB38C: @ 80AB38C bl SetAnimBgAttribute ldr r0, _080AB400 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -18982,7 +18982,7 @@ _080AB4F4: .4byte gUnknown_202297A _080AB4F8: ldr r0, _080AB528 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x1 @@ -20131,7 +20131,7 @@ sub_80ABDC8: @ 80ABDC8 push {r4,r5,lr} ldr r4, _080ABDEC @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080ABDFC @@ -20438,7 +20438,7 @@ sub_80AC00C: @ 80AC00C strh r0, [r4, 0xA] ldr r0, _080AC040 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AC044 @@ -20849,7 +20849,7 @@ sub_80AC328: @ 80AC328 lsrs r0, 24 strh r0, [r5, 0x10] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -21656,7 +21656,7 @@ sub_80AC990: @ 80AC990 bl sub_8074FCC ldr r0, _080AC9C4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AC9CC @@ -21712,7 +21712,7 @@ sub_80ACA00: @ 80ACA00 adds r4, r0, 0 ldr r0, _080ACA2C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ACA34 @@ -21804,7 +21804,7 @@ sub_80ACAA8: @ 80ACAA8 bl sub_8074FCC ldr r0, _080ACACC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ACAD4 @@ -21963,24 +21963,24 @@ sub_80ACBDC: @ 80ACBDC adds r6, r0, 0 ldr r5, _080ACC34 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r0, _080ACC38 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _080ACC22 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 cmp r1, r0 beq _080ACC1A movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldrb r1, [r5] lsls r0, 24 lsrs r0, 24 @@ -22352,7 +22352,7 @@ sub_80ACEA4: @ 80ACEA4 strh r0, [r4, 0x10] ldr r0, _080ACF0C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x12] @@ -22778,7 +22778,7 @@ sub_80AD1F8: @ 80AD1F8 ldrh r4, [r0, 0x20] ldr r0, _080AD24C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AD250 @@ -22960,7 +22960,7 @@ sub_80AD374: @ 80AD374 lsrs r4, r0, 16 ldr r0, _080AD3B0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AD3B4 @@ -23223,7 +23223,7 @@ _080AD55C: strh r0, [r5, 0x3C] ldr r0, _080AD588 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AD58C @@ -23258,7 +23258,7 @@ _080AD5B4: strh r0, [r5, 0x30] ldr r0, _080AD5D4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AD5D8 @@ -23564,7 +23564,7 @@ sub_80AD800: @ 80AD800 adds r4, r1, r0 ldr r0, _080AD864 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -24082,7 +24082,7 @@ sub_80ADBEC: @ 80ADBEC adds r4, r0, 0 ldr r0, _080ADC0C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADC14 @@ -24140,7 +24140,7 @@ sub_80ADC58: @ 80ADC58 adds r4, r0, 0 ldr r0, _080ADC78 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADC80 @@ -24206,7 +24206,7 @@ sub_80ADCB8: @ 80ADCB8 strh r0, [r5, 0x22] ldr r0, _080ADD00 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080ADD08 @@ -24613,7 +24613,7 @@ sub_80AE000: @ 80AE000 bne _080AE01C ldr r0, _080AE060 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AE024 @@ -24685,7 +24685,7 @@ _080AE092: cmp r0, 0 bne _080AE0AA adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AE0B2 @@ -25637,7 +25637,7 @@ sub_80AE7DC: @ 80AE7DC movs r0, 0x10 strh r0, [r5, 0x3C] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -25756,7 +25756,7 @@ _080AE8D4: lsrs r0, 24 strh r0, [r5, 0x24] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AE910 @@ -25932,7 +25932,7 @@ _080AEA3E: _080AEA40: ldr r4, _080AEA80 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -27131,7 +27131,7 @@ sub_80AF330: @ 80AF330 strh r0, [r4, 0x32] ldr r0, _080AF368 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF370 @@ -27205,7 +27205,7 @@ _080AF3D4: bl sub_8076D9C ldr r0, _080AF420 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF3FA @@ -27319,7 +27319,7 @@ _080AF4B8: _080AF4CA: ldr r0, _080AF4E8 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF4F0 @@ -27445,7 +27445,7 @@ sub_80AF5A4: @ 80AF5A4 strh r0, [r4, 0x2E] ldr r0, _080AF600 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _080AF604 @ =0x0000ffec cmp r0, 0 @@ -27483,7 +27483,7 @@ sub_80AF60C: @ 80AF60C adds r4, r0, 0 ldr r0, _080AF660 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _080AF664 @ =0x0000ffec cmp r0, 0 @@ -27632,7 +27632,7 @@ _080AF724: _080AF736: ldr r0, _080AF758 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF760 @@ -27835,7 +27835,7 @@ _080AF8B0: bl sub_8076D9C ldr r0, _080AF8F4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF8D6 @@ -27904,7 +27904,7 @@ _080AF938: movs r1, 0 bl sub_8076D9C ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF964 @@ -27950,7 +27950,7 @@ _080AF996: movs r1, 0 bl sub_8076D9C ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080AF9C0 @@ -27997,7 +27997,7 @@ _080AF9FA: strh r0, [r5, 0x3A] ldr r0, _080AFA40 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080AFA10 @@ -29317,7 +29317,7 @@ sub_80B0458: @ 80B0458 ldrh r0, [r4, 0x2] lsls r0, 20 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 @@ -29648,7 +29648,7 @@ _080B071A: strh r0, [r5, 0x2E] ldr r0, _080B0784 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B0742 @@ -29874,7 +29874,7 @@ sub_80B08DC: @ 80B08DC bne _080B0904 ldr r0, _080B0924 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B0904 @@ -30296,7 +30296,7 @@ sub_80B0C28: @ 80B0C28 cmp r0, r1 bne _080B0C54 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -30312,7 +30312,7 @@ _080B0C54: bl sub_8075114 ldr r0, _080B0CA4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B0C72 @@ -31225,7 +31225,7 @@ _080B1364: .4byte gUnknown_2037F1A _080B1368: .4byte gUnknown_2037F1B _080B136C: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B138C @@ -31324,7 +31324,7 @@ sub_80B13F8: @ 80B13F8 ldr r0, _080B147C @ =gUnknown_2037F16 ldrb r6, [r0] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B1442 @@ -31395,7 +31395,7 @@ _080B14A8: _080B14BC: ldr r0, _080B14E4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B14D2 @@ -31510,7 +31510,7 @@ _080B158E: strh r0, [r4, 0x1C] ldr r0, _080B15BC @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B15C4 @@ -31662,7 +31662,7 @@ _080B16B8: bl sub_8076D9C ldr r0, _080B171C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B16E6 @@ -31795,7 +31795,7 @@ sub_80B17C4: @ 80B17C4 bl sub_8076D9C ldr r0, _080B1828 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B17F0 @@ -31862,7 +31862,7 @@ _080B1854: bl sub_8076D9C ldr r0, _080B1898 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B187A @@ -32096,7 +32096,7 @@ sub_80B1A1C: @ 80B1A1C bl sub_8075160 ldr r0, _080B1A88 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B1A3C @@ -32169,7 +32169,7 @@ sub_80B1AB8: @ 80B1AB8 adds r5, r0, 0 ldr r4, _080B1B54 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B1AE4 @@ -32360,7 +32360,7 @@ sub_80B1C3C: @ 80B1C3C adds r5, r0, 0 ldr r0, _080B1C64 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B1C6C @@ -32546,7 +32546,7 @@ _080B1DB0: _080B1DB2: ldrb r6, [r0] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B1DC8 @@ -33875,7 +33875,7 @@ _080B27A4: bne _080B27BC ldr r0, _080B2810 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B27D2 @@ -33886,7 +33886,7 @@ _080B27BC: bne _080B27D8 ldr r0, _080B2814 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B27D8 @@ -34833,7 +34833,7 @@ sub_80B2ECC: @ 80B2ECC adds r6, r0, 0 ldr r0, _080B2F84 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B2EE8 @@ -34859,7 +34859,7 @@ _080B2EFE: cmp r0, 0 bne _080B2F5A movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r7, r4, 0 @@ -34905,7 +34905,7 @@ _080B2F5A: beq _080B2F90 ldr r0, _080B2F84 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B2F88 @@ -34923,7 +34923,7 @@ _080B2F88: _080B2F90: ldr r5, _080B3000 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B2FA6 @@ -35098,7 +35098,7 @@ sub_80B30B0: @ 80B30B0 cmp r0, 0 bne _080B3146 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r6, r4, 0 @@ -35172,7 +35172,7 @@ sub_80B3168: @ 80B3168 cmp r0, 0 bne _080B31C0 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 @@ -35239,7 +35239,7 @@ _080B31EA: beq _080B3232 ldr r0, _080B3220 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B3224 @@ -35317,7 +35317,7 @@ sub_80B3278: @ 80B3278 lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B32C8 @@ -35384,7 +35384,7 @@ sub_80B32F4: @ 80B32F4 lsls r1, 16 lsrs r7, r1, 16 ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -35581,7 +35581,7 @@ sub_80B3480: @ 80B3480 strh r1, [r4, 0xC] ldr r0, _080B34D0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x8 cmp r0, 0 @@ -37023,7 +37023,7 @@ _080B3FD4: .4byte gUnknown_2037F02 _080B3FD8: ldr r0, _080B406C @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B4008 @@ -37116,7 +37116,7 @@ _080B409C: .4byte gUnknown_2037F02 _080B40A0: ldr r0, _080B4118 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B40BC @@ -37293,7 +37293,7 @@ sub_80B41F8: @ 80B41F8 bl sub_8076D9C ldr r0, _080B422C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B4234 @@ -37321,7 +37321,7 @@ _080B4240: strh r0, [r4, 0x22] ldr r0, _080B426C @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B425C @@ -37492,7 +37492,7 @@ _080B4380: .4byte gUnknown_2037F02 _080B4384: ldr r0, _080B4480 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B43A6 @@ -37513,22 +37513,22 @@ _080B43A6: bne _080B43F6 ldr r0, _080B4480 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r5, _080B4488 @ =gUnknown_2037F1B ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 bne _080B43F6 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 beq _080B43E4 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -37622,7 +37622,7 @@ sub_80B4494: @ 80B4494 bl sub_8075160 ldr r0, _080B4500 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B44B4 @@ -37923,7 +37923,7 @@ sub_80B46F8: @ 80B46F8 bl AnimateSprite ldr r0, _080B4724 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B4728 @@ -38132,7 +38132,7 @@ _080B48B0: beq _080B48CA ldr r0, _080B4900 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B48CA @@ -38378,7 +38378,7 @@ sub_80B4AA8: @ 80B4AA8 beq _080B4AF4 ldr r0, _080B4AF0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B4AF4 @@ -39121,7 +39121,7 @@ sub_80B5074: @ 80B5074 adds r4, r0, 0 ldr r0, _080B509C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -40248,7 +40248,7 @@ _080B58DC: strh r1, [r0, 0x2E] ldr r0, _080B5948 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B5950 @@ -41614,7 +41614,7 @@ sub_80B63B4: @ 80B63B4 bl SetGpuReg ldr r0, _080B6410 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B63FC @@ -41897,7 +41897,7 @@ sub_80B664C: @ 80B664C bl sub_8075160 ldr r0, _080B6678 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B6680 @@ -42103,7 +42103,7 @@ sub_80B67D4: @ 80B67D4 strh r0, [r5, 0x24] ldr r0, _080B683C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B67F8 @@ -42348,7 +42348,7 @@ _080B69B2: strh r7, [r5, 0x2E] ldr r0, _080B6A1C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0 lsls r0, 24 cmp r0, 0 @@ -42824,7 +42824,7 @@ _080B6D8C: lsls r0, 6 bl AllocZeroed adds r1, r0, 0 - ldr r5, _080B6DFC @ =gUnknown_202401C + ldr r5, _080B6DFC @ =gMonSpritesGfxPtr ldr r0, [r5] movs r4, 0xBE lsls r4, 1 @@ -42866,7 +42866,7 @@ _080B6D8C: str r1, [r0] b _080B6F1E .align 2, 0 -_080B6DFC: .4byte gUnknown_202401C +_080B6DFC: .4byte gMonSpritesGfxPtr _080B6E00: .4byte gUnknown_8E7F4AC _080B6E04: ldrh r0, [r6, 0xA] @@ -43435,7 +43435,7 @@ sub_80B725C: @ 80B725C lsrs r0, 24 strh r0, [r5, 0x22] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B72AC @@ -43514,7 +43514,7 @@ sub_80B72F8: @ 80B72F8 strh r0, [r5, 0x36] ldr r0, _080B7354 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B735C @@ -43637,7 +43637,7 @@ sub_80B741C: @ 80B741C adds r4, r0, 0 ldr r0, _080B7444 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B7436 @@ -44901,7 +44901,7 @@ sub_80B7DA4: @ 80B7DA4 adds r0, 0x20 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B7E14 @@ -45351,7 +45351,7 @@ _080B817C: adds r0, 0x4 strh r0, [r5, 0x26] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080B81D0 @@ -46085,13 +46085,13 @@ _080B8750: bne _080B87CA ldr r4, _080B8804 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080B8780 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080B87CA @@ -46134,7 +46134,7 @@ _080B8780: _080B87CA: ldr r4, _080B8804 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B8818 @@ -46489,7 +46489,7 @@ _080B8ADA: beq _080B8B06 _080B8AE0: adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 @@ -46680,7 +46680,7 @@ sub_80B8C54: @ 80B8C54 bl sub_8075114 ldr r0, _080B8CB4 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080B8C74 @@ -48355,7 +48355,7 @@ sub_80B9904: @ 80B9904 strh r0, [r4, 0x2E] ldr r0, _080B9940 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -48887,7 +48887,7 @@ sub_80B9CE4: @ 80B9CE4 strh r1, [r0, 0x12] strh r5, [r0, 0x18] movs r4, 0 - ldr r0, _080B9D90 @ =gUnknown_2023BCC + ldr r0, _080B9D90 @ =gBattlersCount ldrb r1, [r0] mov r9, r3 mov r8, r2 @@ -48947,7 +48947,7 @@ _080B9D5A: .align 2, 0 _080B9D88: .4byte gTasks _080B9D8C: .4byte gUnknown_2037F02 -_080B9D90: .4byte gUnknown_2023BCC +_080B9D90: .4byte gBattlersCount _080B9D94: .4byte gUnknown_2037F1A _080B9D98: .4byte gUnknown_2037F1B _080B9D9C: .4byte sub_80B9DF0 @@ -49732,7 +49732,7 @@ _080BA362: cmp r0, 0x1 bhi _080BA3B4 movs r4, 0 - ldr r5, _080BA3C0 @ =gUnknown_2023BCC + ldr r5, _080BA3C0 @ =gBattlersCount ldrb r0, [r5] cmp r4, r0 bcs _080BA3B4 @@ -49767,7 +49767,7 @@ _080BA3BA: pop {r0} bx r0 .align 2, 0 -_080BA3C0: .4byte gUnknown_2023BCC +_080BA3C0: .4byte gBattlersCount _080BA3C4: .4byte gSprites _080BA3C8: .4byte gUnknown_2023D44 thumb_func_end sub_80BA320 @@ -50062,7 +50062,7 @@ sub_80BA5F8: @ 80BA5F8 adds r4, r0, 0 ldr r0, _080BA628 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080BA61C @@ -51035,13 +51035,13 @@ _080BAD7A: bne _080BADFE ldr r5, _080BAE38 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080BADAA ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080BADFE @@ -51089,7 +51089,7 @@ _080BADAA: _080BADFE: ldr r4, _080BAE38 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080BAE4C @@ -51506,14 +51506,14 @@ _080BB18E: cmp r0, 0 bne _080BB20A ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080BB1C0 ldr r0, [r4] ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _080BB20A @@ -51557,7 +51557,7 @@ _080BB20A: ldr r4, _080BB234 @ =gUnknown_20399B4 ldr r0, [r4] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080BB25C @@ -52348,7 +52348,7 @@ sub_80BB82C: @ 80BB82C beq _080BB868 ldr r0, _080BB89C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080BB868 @@ -52456,7 +52456,7 @@ sub_80BB920: @ 80BB920 lsrs r4, 24 ldr r0, _080BB944 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, _080BB948 @ =gUnknown_2037F02 lsls r0, 24 lsrs r0, 24 @@ -52479,7 +52479,7 @@ sub_80BB94C: @ 80BB94C lsrs r4, 24 ldr r0, _080BB970 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide ldr r1, _080BB974 @ =gUnknown_2037F02 lsls r0, 24 lsrs r0, 24 @@ -52689,7 +52689,7 @@ _080BBAFC: movs r0, 0xA bl SetGpuReg adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080BBB3C @@ -53068,7 +53068,7 @@ sub_80BBE10: @ 80BBE10 movs r0, 0x80 lsls r0, 6 bl AllocZeroed - ldr r1, _080BBE38 @ =gUnknown_202401C + ldr r1, _080BBE38 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBE lsls r2, 1 @@ -53080,7 +53080,7 @@ sub_80BBE10: @ 80BBE10 pop {r0} bx r0 .align 2, 0 -_080BBE38: .4byte gUnknown_202401C +_080BBE38: .4byte gMonSpritesGfxPtr thumb_func_end sub_80BBE10 thumb_func_start sub_80BBE3C @@ -53089,7 +53089,7 @@ sub_80BBE3C: @ 80BBE3C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r6, _080BBE68 @ =gUnknown_202401C + ldr r6, _080BBE68 @ =gMonSpritesGfxPtr ldr r0, [r6] movs r5, 0xBE lsls r5, 1 @@ -53106,7 +53106,7 @@ sub_80BBE3C: @ 80BBE3C pop {r0} bx r0 .align 2, 0 -_080BBE68: .4byte gUnknown_202401C +_080BBE68: .4byte gMonSpritesGfxPtr thumb_func_end sub_80BBE3C thumb_func_start sub_80BBE6C @@ -53161,7 +53161,7 @@ _080BBEC2: adds r4, r0, 0 adds r4, 0x10 _080BBEC8: - ldr r0, _080BBEFC @ =gUnknown_202401C + ldr r0, _080BBEFC @ =gMonSpritesGfxPtr ldr r1, [r0] ldr r0, _080BBF00 @ =gUnknown_2037F02 movs r2, 0x2 @@ -53185,7 +53185,7 @@ _080BBEC8: bx r0 .align 2, 0 _080BBEF8: .4byte gUnknown_2037F1B -_080BBEFC: .4byte gUnknown_202401C +_080BBEFC: .4byte gMonSpritesGfxPtr _080BBF00: .4byte gUnknown_2037F02 _080BBF04: .4byte gUnknown_20371F8 thumb_func_end sub_80BBE6C @@ -53245,7 +53245,7 @@ _080BBF64: lsls r0, r4, 5 ldr r1, _080BBF98 @ =gUnknown_20371F8 adds r0, r1 - ldr r1, _080BBF9C @ =gUnknown_202401C + ldr r1, _080BBF9C @ =gMonSpritesGfxPtr ldr r2, [r1] ldr r1, _080BBFA0 @ =gUnknown_2037F02 movs r3, 0x2 @@ -53267,7 +53267,7 @@ _080BBF64: .align 2, 0 _080BBF94: .4byte gUnknown_2037F1B _080BBF98: .4byte gUnknown_20371F8 -_080BBF9C: .4byte gUnknown_202401C +_080BBF9C: .4byte gMonSpritesGfxPtr _080BBFA0: .4byte gUnknown_2037F02 thumb_func_end sub_80BBF08 @@ -53401,11 +53401,11 @@ sub_80BC090: @ 80BC090 lsrs r5, r0, 24 ldr r0, _080BC0B8 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldr r0, _080BC0BC @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -55242,10 +55242,10 @@ sub_80BCEF4: @ 80BCEF4 lsls r5, 16 lsrs r5, 16 adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 - ldr r1, _080BCFC4 @ =gUnknown_202401C + ldr r1, _080BCFC4 @ =gMonSpritesGfxPtr ldr r2, [r1] lsls r4, 2 adds r2, 0x4 @@ -55319,7 +55319,7 @@ _080BCFA0: pop {r0} bx r0 .align 2, 0 -_080BCFC4: .4byte gUnknown_202401C +_080BCFC4: .4byte gMonSpritesGfxPtr _080BCFC8: .4byte gUnknown_2024024 thumb_func_end sub_80BCEF4 @@ -55355,7 +55355,7 @@ sub_80BCFCC: @ 80BCFCC lsls r0, 24 mov r9, r0 ldr r4, _080BD090 @ =0x040000d4 - ldr r0, _080BD094 @ =gUnknown_202401C + ldr r0, _080BD094 @ =gMonSpritesGfxPtr ldr r0, [r0] lsrs r2, 22 adds r0, 0x4 @@ -55429,7 +55429,7 @@ _080BD080: bx r0 .align 2, 0 _080BD090: .4byte 0x040000d4 -_080BD094: .4byte gUnknown_202401C +_080BD094: .4byte gMonSpritesGfxPtr _080BD098: .4byte 0x80000400 thumb_func_end sub_80BCFCC diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index b80374308..7ee2d2075 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -810,7 +810,7 @@ sub_80DE8B0: @ 80DE8B0 bl sub_8076D9C ldr r0, _080DE918 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DE8E4 @@ -963,7 +963,7 @@ sub_80DE9D8: @ 80DE9D8 bne _080DEA2C ldr r0, _080DEA18 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DEA1C @@ -1063,7 +1063,7 @@ sub_80DEAB4: @ 80DEAB4 lsrs r4, r0, 24 ldr r0, _080DEAD0 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2604,7 +2604,7 @@ sub_80DF688: @ 80DF688 adds r4, r0, 0 ldr r0, _080DF6A0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DF6A8 @@ -2638,7 +2638,7 @@ sub_80DF6C0: @ 80DF6C0 strh r0, [r4, 0x2E] ldr r0, _080DF6E0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DF6E4 @@ -3155,11 +3155,11 @@ _080DFAB4: .4byte gUnknown_2037F1A _080DFAB8: .4byte gUnknown_2037F1B _080DFABC: ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r1, r0, 24 _080DFAC6: - ldr r0, _080DFB08 @ =gUnknown_202401C + ldr r0, _080DFB08 @ =gMonSpritesGfxPtr ldr r2, [r0] lsls r0, r1, 2 adds r2, 0x4 @@ -3192,7 +3192,7 @@ _080DFB00: strh r0, [r1, 0x8] b _080DFBCE .align 2, 0 -_080DFB08: .4byte gUnknown_202401C +_080DFB08: .4byte gMonSpritesGfxPtr _080DFB0C: .4byte gUnknown_2024024 _080DFB10: .4byte gUnknown_2037F1A _080DFB14: .4byte 0x04000200 @@ -3258,7 +3258,7 @@ _080DFB8A: bne _080DFBC8 ldr r4, _080DFBD8 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -3447,7 +3447,7 @@ _080DFD2C: .4byte 0x0000ffc8 _080DFD30: ldr r0, _080DFD48 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DFD54 @@ -4091,7 +4091,7 @@ _080E0260: .4byte 0x0000ffc8 _080E0264: ldr r0, _080E02A4 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r4, r0, 24 bl sub_8075290 @@ -4176,7 +4176,7 @@ _080E0304: strh r0, [r5, 0xE] ldr r0, _080E033C @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4428,7 +4428,7 @@ _080E04FE: strh r0, [r4, 0x32] ldr r0, _080E052C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E0530 @@ -4539,7 +4539,7 @@ _080E05E8: ldr r0, _080E0620 @ =gUnknown_2037F1B _080E05EA: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4756,7 +4756,7 @@ sub_80E0790: @ 80E0790 adds r4, r0, 0 ldr r0, _080E07AC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4800,7 +4800,7 @@ sub_80E07E0: @ 80E07E0 strh r0, [r4, 0x2E] ldr r0, _080E0820 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E0824 @@ -5301,7 +5301,7 @@ _080E0BB2: cmp r0, 0 bne _080E0BD8 ldrb r0, [r6, 0x1E] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsls r2, r5, 4 cmp r0, 0 @@ -5828,7 +5828,7 @@ sub_80E0FB8: @ 80E0FB8 bl GetAnimBankSpriteId ldr r0, _080E1040 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E107C @@ -5866,7 +5866,7 @@ sub_80E0FB8: @ 80E0FB8 cmp r0, 0 bne _080E1074 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E1054 @@ -5940,7 +5940,7 @@ _080E107C: cmp r0, 0 bne _080E110C adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E10F4 @@ -6251,7 +6251,7 @@ _080E1326: movs r0, 0x18 strh r0, [r4, 0x18] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -7020,7 +7020,7 @@ sub_80E1928: @ 80E1928 bl StartSpriteAffineAnim ldr r0, _080E1984 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E194E @@ -7465,7 +7465,7 @@ sub_80E1C48: @ 80E1C48 strh r0, [r4, 0x14] _080E1C8C: ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E1CBC @@ -8019,7 +8019,7 @@ sub_80E20D4: @ 80E20D4 adds r5, r0, 0 ldr r6, _080E212C @ =gUnknown_2037F1A ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -8084,7 +8084,7 @@ _080E2152: _080E2160: ldr r0, _080E218C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080E2180 @@ -8158,7 +8158,7 @@ sub_80E21CC: @ 80E21CC strh r1, [r6, 0x16] ldr r5, _080E2220 @ =gUnknown_2037F1A ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E2224 @@ -8697,7 +8697,7 @@ _080E258A: bl sub_8075068 mov r1, r10 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9651,7 +9651,7 @@ _080E2D40: .4byte 0x0000ffff _080E2D44: ldr r0, _080E2D58 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E2D60 @@ -9916,7 +9916,7 @@ _080E2F3A: ldrh r0, [r4, 0x3C] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -10303,7 +10303,7 @@ sub_80E321C: @ 80E321C movs r1, 0x3 bl sub_8074480 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E3258 @@ -10649,7 +10649,7 @@ sub_80E34D0: @ 80E34D0 adds r5, r0, 0 ldr r4, _080E34F4 @ =gUnknown_2037F1B ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E34FC @@ -11268,7 +11268,7 @@ _080E3978: strh r0, [r6, 0xA] ldr r0, _080E39C8 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11339,7 +11339,7 @@ _080E3A28: .4byte gTasks _080E3A2C: ldr r4, _080E3A90 @ =gUnknown_2037F1A ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E3ACC @@ -11561,7 +11561,7 @@ _080E3BEC: strh r0, [r6, 0xA] ldr r0, _080E3C3C @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11618,7 +11618,7 @@ _080E3C5A: bne _080E3CDA ldr r0, _080E3CB0 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E3CB8 @@ -11702,7 +11702,7 @@ _080E3D0C: bl sub_8076B20 ldr r0, _080E3D60 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -11765,7 +11765,7 @@ _080E3D90: mov r10, r0 ldrb r0, [r0] str r2, [sp, 0x18] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 mov r9, r4 ldr r2, [sp, 0x18] @@ -11911,7 +11911,7 @@ _080E3E96: strb r0, [r2] ldr r0, _080E3F20 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -11981,7 +11981,7 @@ _080E3F6A: strh r0, [r4, 0x32] ldr r0, _080E3F94 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E3F98 @@ -12242,7 +12242,7 @@ sub_80E4160: @ 80E4160 strh r0, [r4, 0xE] ldr r0, _080E41CC @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r2, 0x1 negs r2, r2 @@ -12425,7 +12425,7 @@ sub_80E42DC: @ 80E42DC adds r4, r0, 0 ldr r0, _080E4330 @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldrh r0, [r4, 0x2E] ldrh r1, [r4, 0x30] @@ -12469,7 +12469,7 @@ sub_80E4334: @ 80E4334 adds r4, r0, 0 ldr r0, _080E436C @ =gUnknown_2037F1B ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E4378 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index 84c8c93e2..bb6d8d8d8 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -906,7 +906,7 @@ sub_80EF344: @ 80EF344 adds r1, r0, r1 ldrb r1, [r1] mov r9, r1 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080EF38C @@ -1376,7 +1376,7 @@ _080EF708: lsls r4, 24 lsrs r4, 24 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_807685C @@ -1429,7 +1429,7 @@ _080EF708: ldr r0, _080EF7D8 @ =SpriteCallbackDummy str r0, [r4] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080EF7DC @ =gUnknown_2023D44 lsls r0, 24 lsrs r0, 24 @@ -1475,7 +1475,7 @@ sub_80EF7EC: @ 80EF7EC lsrs r5, r0, 24 ldr r6, _080EF84C @ =gSprites movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080EF850 @ =gUnknown_2023D44 lsls r0, 24 lsrs r0, 24 @@ -1532,7 +1532,7 @@ sub_80EF864: @ 80EF864 lsrs r5, r0, 24 ldr r6, _080EF8B8 @ =gSprites movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _080EF8BC @ =gUnknown_2023D44 lsls r0, 24 lsrs r0, 24 @@ -1548,7 +1548,7 @@ sub_80EF864: @ 80EF864 cmp r0, 0 bge _080EF8B0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 adds r0, r4 @@ -5120,7 +5120,7 @@ _080F1466: adds r0, r4 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080F14A8 @@ -5198,7 +5198,7 @@ _080F150A: adds r0, r2 strh r0, [r5, 0x8] ldrb r0, [r3] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080F1540 @@ -5240,7 +5240,7 @@ _080F1558: strh r1, [r0, 0x8] ldr r0, _080F1594 @ =gUnknown_2037F1A ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -5745,7 +5745,7 @@ _080F1948: cmp r0, 0 bne _080F1990 mov r0, r8 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r1, 0x3F cmp r0, 0 @@ -5986,7 +5986,7 @@ sub_80F1B3C: @ 80F1B3C movs r0, 0x1E strh r0, [r4, 0x2E] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0 @@ -5998,7 +5998,7 @@ sub_80F1B3C: @ 80F1B3C adds r0, r1 strh r0, [r4, 0x32] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -6159,7 +6159,7 @@ sub_80F1C8C: @ 80F1C8C _080F1CA4: .4byte gUnknown_2037F02 _080F1CA8: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080F1CB8 @ =gUnknown_2037F1A strb r0, [r1] movs r0, 0x1 @@ -6168,12 +6168,12 @@ _080F1CA8: _080F1CB8: .4byte gUnknown_2037F1A _080F1CBC: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080F1CDC @ =gUnknown_2037F1A strb r0, [r1] movs r0, 0 _080F1CC8: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080F1CE0 @ =gUnknown_2037F1B strb r0, [r1] _080F1CD0: diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s index d6e095db4..016e8b093 100644 --- a/asm/battle_anim_sound_tasks.s +++ b/asm/battle_anim_sound_tasks.s @@ -375,7 +375,7 @@ _080DD0E0: .4byte gUnknown_2037F1B _080DD0E4: .4byte gUnknown_2037F02 _080DD0E8: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DD10C @@ -487,7 +487,7 @@ _080DD1BC: .4byte gUnknown_2037F1B _080DD1C0: .4byte gUnknown_2037F02 _080DD1C4: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080DD1E8 diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index 405114d91..d08554a15 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -286,7 +286,7 @@ _0803A888: ldr r0, _0803A964 @ =gActiveBattler mov r8, r0 ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0x1 @@ -376,7 +376,7 @@ _0803A936: beq _0803A97C mov r1, r8 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -523,7 +523,7 @@ _0803AA6C: cmp r0, 0 beq _0803AABA ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 @@ -2541,12 +2541,12 @@ _0803BB54: adds r0, r4, 0 movs r1, 0xB adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r2, r7, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -2587,12 +2587,12 @@ _0803BBBA: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2608,15 +2608,15 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData ldrb r0, [r7, 0x14] lsls r0, 27 lsrs r0, 27 @@ -2625,7 +2625,7 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r7, 0x14] lsls r0, 22 @@ -2634,7 +2634,7 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r7, 0x15] lsls r0, 25 @@ -2643,7 +2643,7 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldr r0, [r7, 0x14] lsls r0, 12 @@ -2652,7 +2652,7 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r7, 0x16] lsls r0, 23 @@ -2661,7 +2661,7 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r7, 0x17] lsls r0, 26 @@ -2670,47 +2670,47 @@ _0803BBBA: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BCE8: .4byte gEnemyParty @@ -2723,7 +2723,7 @@ _0803BCEC: lsls r2, 9 adds r2, r3 movs r1, 0xB - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BD04: .4byte gEnemyParty @@ -2736,7 +2736,7 @@ _0803BD08: lsls r2, 9 adds r2, r3 movs r1, 0xC - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BD20: .4byte gEnemyParty @@ -2758,12 +2758,12 @@ _0803BD3C: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2777,7 +2777,7 @@ _0803BD3C: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BD74: .4byte gEnemyParty @@ -2809,7 +2809,7 @@ _0803BD98: adds r0, r4, 0 movs r1, 0x11 str r3, [sp, 0x34] - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2817,7 +2817,7 @@ _0803BD98: adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2825,7 +2825,7 @@ _0803BD98: adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2833,7 +2833,7 @@ _0803BD98: adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2841,7 +2841,7 @@ _0803BD98: adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BDFC: .4byte gEnemyParty @@ -2860,7 +2860,7 @@ _0803BE00: _0803BE16: adds r3, 0x3 adds r2, r3 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BE20: .4byte gEnemyParty @@ -2874,7 +2874,7 @@ _0803BE28: lsls r2, 9 adds r2, r3 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BE40: .4byte gEnemyParty @@ -2887,7 +2887,7 @@ _0803BE44: lsls r2, 9 adds r2, r3 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BE5C: .4byte gEnemyParty @@ -2900,7 +2900,7 @@ _0803BE60: lsls r2, 9 adds r2, r3 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BE78: .4byte gEnemyParty @@ -2913,7 +2913,7 @@ _0803BE7C: lsls r2, 9 adds r2, r3 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BE94: .4byte gEnemyParty @@ -2926,7 +2926,7 @@ _0803BE98: lsls r2, 9 adds r2, r3 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BEB0: .4byte gEnemyParty @@ -2939,7 +2939,7 @@ _0803BEB4: lsls r2, 9 adds r2, r3 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BECC: .4byte gEnemyParty @@ -2952,7 +2952,7 @@ _0803BED0: lsls r2, 9 adds r2, r3 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BEE8: .4byte gEnemyParty @@ -2965,7 +2965,7 @@ _0803BEEC: lsls r2, 9 adds r2, r3 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF04: .4byte gEnemyParty @@ -2978,7 +2978,7 @@ _0803BF08: lsls r2, 9 adds r2, r3 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF20: .4byte gEnemyParty @@ -2991,7 +2991,7 @@ _0803BF24: lsls r2, 9 adds r2, r3 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF3C: .4byte gEnemyParty @@ -3004,7 +3004,7 @@ _0803BF40: lsls r2, 9 adds r2, r3 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF58: .4byte gEnemyParty @@ -3017,7 +3017,7 @@ _0803BF5C: lsls r2, 9 adds r2, r3 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF74: .4byte gEnemyParty @@ -3030,7 +3030,7 @@ _0803BF78: lsls r2, 9 adds r2, r3 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BF90: .4byte gEnemyParty @@ -3043,7 +3043,7 @@ _0803BF94: lsls r2, 9 adds r2, r3 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803BFAC: .4byte gEnemyParty @@ -3059,7 +3059,7 @@ _0803BFB0: adds r0, r4, 0 movs r1, 0x27 str r3, [sp, 0x34] - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3067,7 +3067,7 @@ _0803BFB0: adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3075,7 +3075,7 @@ _0803BFB0: adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3083,7 +3083,7 @@ _0803BFB0: adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3091,7 +3091,7 @@ _0803BFB0: adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3110,7 +3110,7 @@ _0803C024: lsls r2, 9 adds r2, r3 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C03C: .4byte gEnemyParty @@ -3123,7 +3123,7 @@ _0803C040: lsls r2, 9 adds r2, r3 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C058: .4byte gEnemyParty @@ -3136,7 +3136,7 @@ _0803C05C: lsls r2, 9 adds r2, r3 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C074: .4byte gEnemyParty @@ -3149,7 +3149,7 @@ _0803C078: lsls r2, 9 adds r2, r3 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C090: .4byte gEnemyParty @@ -3162,7 +3162,7 @@ _0803C094: lsls r2, 9 adds r2, r3 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C0AC: .4byte gEnemyParty @@ -3176,7 +3176,7 @@ _0803C0B0: adds r2, r3 _0803C0BE: movs r1, 0x2C - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C0C8: .4byte gEnemyParty @@ -3189,7 +3189,7 @@ _0803C0CC: lsls r2, 9 adds r2, r3 movs r1, 0 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C0E4: .4byte gEnemyParty @@ -3202,7 +3202,7 @@ _0803C0E8: lsls r2, 9 adds r2, r3 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C100: .4byte gEnemyParty @@ -3215,7 +3215,7 @@ _0803C104: lsls r2, 9 adds r2, r3 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C11C: .4byte gEnemyParty @@ -3228,7 +3228,7 @@ _0803C120: lsls r2, 9 adds r2, r3 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C138: .4byte gEnemyParty @@ -3241,7 +3241,7 @@ _0803C13C: lsls r2, 9 adds r2, r3 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C154: .4byte gEnemyParty @@ -3254,7 +3254,7 @@ _0803C158: lsls r2, 9 adds r2, r3 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C170: .4byte gEnemyParty @@ -3267,7 +3267,7 @@ _0803C174: lsls r2, 9 adds r2, r3 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C18C: .4byte gEnemyParty @@ -3280,7 +3280,7 @@ _0803C190: lsls r2, 9 adds r2, r3 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C1A8: .4byte gEnemyParty @@ -3293,7 +3293,7 @@ _0803C1AC: lsls r2, 9 adds r2, r3 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C1C4: .4byte gEnemyParty @@ -3306,7 +3306,7 @@ _0803C1C8: lsls r2, 9 adds r2, r3 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C1E0: .4byte gEnemyParty @@ -3319,7 +3319,7 @@ _0803C1E4: lsls r2, 9 adds r2, r3 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C1FC: .4byte gEnemyParty @@ -3332,7 +3332,7 @@ _0803C200: lsls r2, 9 adds r2, r3 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C218: .4byte gEnemyParty @@ -3345,7 +3345,7 @@ _0803C21C: lsls r2, 9 adds r2, r3 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C234: .4byte gEnemyParty @@ -3358,7 +3358,7 @@ _0803C238: lsls r2, 9 adds r2, r3 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C250: .4byte gEnemyParty @@ -3371,7 +3371,7 @@ _0803C254: lsls r2, 9 adds r2, r3 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C26C: .4byte gEnemyParty @@ -3384,7 +3384,7 @@ _0803C270: lsls r2, 9 adds r2, r3 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C288: .4byte gEnemyParty @@ -3397,7 +3397,7 @@ _0803C28C: lsls r2, 9 adds r2, r3 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C2A4: .4byte gEnemyParty @@ -3410,7 +3410,7 @@ _0803C2A8: lsls r2, 9 adds r2, r3 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C2C0: .4byte gEnemyParty @@ -3423,7 +3423,7 @@ _0803C2C4: lsls r2, 9 adds r2, r3 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C2DC: .4byte gEnemyParty @@ -3436,7 +3436,7 @@ _0803C2E0: lsls r2, 9 adds r2, r3 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C2F8: .4byte gEnemyParty @@ -3449,7 +3449,7 @@ _0803C2FC: lsls r2, 9 adds r2, r3 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _0803C32C .align 2, 0 _0803C314: .4byte gEnemyParty @@ -3462,7 +3462,7 @@ _0803C318: lsls r2, 9 adds r2, r3 movs r1, 0x36 - bl sub_804037C + bl SetMonData _0803C32C: add sp, 0x38 pop {r3-r5} @@ -3571,13 +3571,13 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 add r0, r9 bl BattleLoadOpponentMonSpriteGfx ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl sub_803F7D4 - ldr r0, _0803C4E8 @ =gUnknown_20244DC + ldr r0, _0803C4E8 @ =gMultiuseSpriteTemplate mov r8, r0 ldrb r0, [r6] movs r1, 0x2 @@ -3677,7 +3677,7 @@ LinkOpponentHandleLoadPokeSprite: @ 803C3B4 _0803C4DC: .4byte gBattlerPartyIndexes _0803C4E0: .4byte gActiveBattler _0803C4E4: .4byte gEnemyParty -_0803C4E8: .4byte gUnknown_20244DC +_0803C4E8: .4byte gMultiuseSpriteTemplate _0803C4EC: .4byte gUnknown_2023D44 _0803C4F0: .4byte gSprites _0803C4F4: .4byte 0x0000ff10 @@ -3775,13 +3775,13 @@ sub_803C550: @ 803C550 adds r1, r6, 0 bl BattleLoadOpponentMonSpriteGfx adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _0803C6C0 @ =gUnknown_20244DC + ldr r0, _0803C6C0 @ =gMultiuseSpriteTemplate mov r9, r0 adds r0, r6, 0 movs r1, 0x2 @@ -3892,7 +3892,7 @@ _0803C6B0: .4byte gUnknown_2022BC4 _0803C6B4: .4byte gEnemyParty _0803C6B8: .4byte sub_8033E3C _0803C6BC: .4byte gUnknown_3004FFC -_0803C6C0: .4byte gUnknown_20244DC +_0803C6C0: .4byte gMultiuseSpriteTemplate _0803C6C4: .4byte gUnknown_2023D44 _0803C6C8: .4byte gSprites _0803C6CC: .4byte gUnknown_2024024 @@ -4056,7 +4056,7 @@ sub_803C7F8: @ 803C7F8 beq _0803C8C0 ldr r6, _0803C888 @ =gActiveBattler ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 ands r1, r0 movs r7, 0xC8 @@ -4108,20 +4108,20 @@ _0803C866: ldrb r0, [r1, 0x13] cmp r0, 0 beq _0803C894 - ldr r0, _0803C890 @ =gUnknown_82538A8 + ldr r0, _0803C890 @ =gFacilityClassToPicIndex adds r0, 0x3D b _0803C990 .align 2, 0 _0803C884: .4byte gBattleTypeFlags _0803C888: .4byte gActiveBattler _0803C88C: .4byte gUnknown_202273C -_0803C890: .4byte gUnknown_82538A8 +_0803C890: .4byte gFacilityClassToPicIndex _0803C894: - ldr r0, _0803C89C @ =gUnknown_82538A8 + ldr r0, _0803C89C @ =gFacilityClassToPicIndex adds r0, 0x3A b _0803C990 .align 2, 0 -_0803C89C: .4byte gUnknown_82538A8 +_0803C89C: .4byte gFacilityClassToPicIndex _0803C8A0: ldrb r0, [r6] bl GetBankMultiplayerId @@ -4132,11 +4132,11 @@ _0803C8A0: ldrb r0, [r1, 0x13] cmp r0, 0 beq _0803C98C - ldr r0, _0803C8BC @ =gUnknown_82538A8 + ldr r0, _0803C8BC @ =gFacilityClassToPicIndex adds r0, 0x87 b _0803C990 .align 2, 0 -_0803C8BC: .4byte gUnknown_82538A8 +_0803C8BC: .4byte gFacilityClassToPicIndex _0803C8C0: movs r7, 0xB0 ldr r0, _0803C8D8 @ =gTrainerBattleOpponent_A @@ -4205,18 +4205,18 @@ _0803C930: ldrb r0, [r1, 0x13] cmp r0, 0 beq _0803C95C - ldr r0, _0803C958 @ =gUnknown_82538A8 + ldr r0, _0803C958 @ =gFacilityClassToPicIndex adds r0, 0x3D b _0803C990 .align 2, 0 _0803C954: .4byte gUnknown_202273C -_0803C958: .4byte gUnknown_82538A8 +_0803C958: .4byte gFacilityClassToPicIndex _0803C95C: - ldr r0, _0803C964 @ =gUnknown_82538A8 + ldr r0, _0803C964 @ =gFacilityClassToPicIndex adds r0, 0x3A b _0803C990 .align 2, 0 -_0803C964: .4byte gUnknown_82538A8 +_0803C964: .4byte gFacilityClassToPicIndex _0803C968: bl GetMultiplayerId eors r0, r5 @@ -4229,13 +4229,13 @@ _0803C968: ldrb r0, [r1, 0x13] cmp r0, 0 beq _0803C98C - ldr r0, _0803C988 @ =gUnknown_82538A8 + ldr r0, _0803C988 @ =gFacilityClassToPicIndex adds r0, 0x87 b _0803C990 .align 2, 0 -_0803C988: .4byte gUnknown_82538A8 +_0803C988: .4byte gFacilityClassToPicIndex _0803C98C: - ldr r0, _0803CAC8 @ =gUnknown_82538A8 + ldr r0, _0803CAC8 @ =gFacilityClassToPicIndex adds r0, 0x86 _0803C990: ldrb r0, [r0] @@ -4248,13 +4248,13 @@ _0803C992: bl sub_80346C4 mov r1, r8 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r9 - bl sub_803F864 - ldr r5, _0803CAD0 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r5, _0803CAD0 @ =gMultiuseSpriteTemplate adds r6, r7, 0 ldr r1, _0803CAD4 @ =gUnknown_823932C mov r2, r9 @@ -4388,9 +4388,9 @@ _0803C992: pop {r0} bx r0 .align 2, 0 -_0803CAC8: .4byte gUnknown_82538A8 +_0803CAC8: .4byte gFacilityClassToPicIndex _0803CACC: .4byte gActiveBattler -_0803CAD0: .4byte gUnknown_20244DC +_0803CAD0: .4byte gMultiuseSpriteTemplate _0803CAD4: .4byte gUnknown_823932C _0803CAD8: .4byte gUnknown_2023D44 _0803CADC: .4byte gSprites @@ -5501,7 +5501,7 @@ RecordedOpponentHandlePlaySE: @ 803D370 push {r4,lr} ldr r4, _0803D3AC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r3, 0x3F cmp r0, 0 @@ -5883,7 +5883,7 @@ RecordedOpponentHandleDrawPartyStatusSummary: @ 803D67C cmp r0, 0 beq _0803D6AC adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0803D6AC diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 876d380ee..4f9dcbfe3 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -2244,12 +2244,12 @@ _080D5478: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -2290,12 +2290,12 @@ _080D54DE: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2311,15 +2311,15 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -2328,7 +2328,7 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -2337,7 +2337,7 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -2346,7 +2346,7 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -2355,7 +2355,7 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -2364,7 +2364,7 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -2373,47 +2373,47 @@ _080D54DE: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D560C: .4byte gPlayerParty @@ -2427,7 +2427,7 @@ _080D5610: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5628: .4byte gPlayerParty @@ -2442,7 +2442,7 @@ _080D5630: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5648: .4byte gPlayerParty @@ -2466,12 +2466,12 @@ _080D566A: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2485,7 +2485,7 @@ _080D566A: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D56A4: .4byte gPlayerParty @@ -2519,35 +2519,35 @@ _080D56D0: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D572C: .4byte gPlayerParty @@ -2568,7 +2568,7 @@ _080D5734: _080D574C: adds r3, 0x3 adds r2, r3 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5758: .4byte gPlayerParty @@ -2584,7 +2584,7 @@ _080D5764: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D577C: .4byte gPlayerParty @@ -2599,7 +2599,7 @@ _080D5784: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D579C: .4byte gPlayerParty @@ -2614,7 +2614,7 @@ _080D57A4: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D57BC: .4byte gPlayerParty @@ -2629,7 +2629,7 @@ _080D57C4: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D57DC: .4byte gPlayerParty @@ -2644,7 +2644,7 @@ _080D57E4: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D57FC: .4byte gPlayerParty @@ -2659,7 +2659,7 @@ _080D5804: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D581C: .4byte gPlayerParty @@ -2674,7 +2674,7 @@ _080D5824: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D583C: .4byte gPlayerParty @@ -2689,7 +2689,7 @@ _080D5844: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D585C: .4byte gPlayerParty @@ -2704,7 +2704,7 @@ _080D5864: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D587C: .4byte gPlayerParty @@ -2719,7 +2719,7 @@ _080D5884: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D589C: .4byte gPlayerParty @@ -2734,7 +2734,7 @@ _080D58A4: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D58BC: .4byte gPlayerParty @@ -2749,7 +2749,7 @@ _080D58C4: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D58DC: .4byte gPlayerParty @@ -2764,7 +2764,7 @@ _080D58E4: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D58FC: .4byte gPlayerParty @@ -2779,7 +2779,7 @@ _080D5904: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D591C: .4byte gPlayerParty @@ -2796,35 +2796,35 @@ _080D5924: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -2844,7 +2844,7 @@ _080D5994: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D59AC: .4byte gPlayerParty @@ -2859,7 +2859,7 @@ _080D59B4: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D59CC: .4byte gPlayerParty @@ -2874,7 +2874,7 @@ _080D59D4: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D59EC: .4byte gPlayerParty @@ -2889,7 +2889,7 @@ _080D59F4: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5A0C: .4byte gPlayerParty @@ -2904,7 +2904,7 @@ _080D5A14: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5A2C: .4byte gPlayerParty @@ -2920,7 +2920,7 @@ _080D5A34: adds r2, r7 _080D5A44: movs r1, 0x2C - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5A4C: .4byte gPlayerParty @@ -2935,7 +2935,7 @@ _080D5A54: lsls r2, 9 adds r2, r7 movs r1, 0 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5A6C: .4byte gPlayerParty @@ -2950,7 +2950,7 @@ _080D5A74: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5A8C: .4byte gPlayerParty @@ -2965,7 +2965,7 @@ _080D5A94: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5AAC: .4byte gPlayerParty @@ -2980,7 +2980,7 @@ _080D5AB4: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5ACC: .4byte gPlayerParty @@ -2995,7 +2995,7 @@ _080D5AD4: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5AEC: .4byte gPlayerParty @@ -3010,7 +3010,7 @@ _080D5AF4: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5B0C: .4byte gPlayerParty @@ -3025,7 +3025,7 @@ _080D5B14: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5B2C: .4byte gPlayerParty @@ -3040,7 +3040,7 @@ _080D5B34: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5B4C: .4byte gPlayerParty @@ -3055,7 +3055,7 @@ _080D5B54: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5B6C: .4byte gPlayerParty @@ -3070,7 +3070,7 @@ _080D5B74: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5B8C: .4byte gPlayerParty @@ -3085,7 +3085,7 @@ _080D5B94: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5BAC: .4byte gPlayerParty @@ -3100,7 +3100,7 @@ _080D5BB4: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5BCC: .4byte gPlayerParty @@ -3115,7 +3115,7 @@ _080D5BD4: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5BEC: .4byte gPlayerParty @@ -3130,7 +3130,7 @@ _080D5BF4: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5C0C: .4byte gPlayerParty @@ -3145,7 +3145,7 @@ _080D5C14: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5C2C: .4byte gPlayerParty @@ -3160,7 +3160,7 @@ _080D5C34: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5C4C: .4byte gPlayerParty @@ -3175,7 +3175,7 @@ _080D5C54: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5C6C: .4byte gPlayerParty @@ -3190,7 +3190,7 @@ _080D5C74: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5C8C: .4byte gPlayerParty @@ -3205,7 +3205,7 @@ _080D5C94: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5CAC: .4byte gPlayerParty @@ -3220,7 +3220,7 @@ _080D5CB4: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5CCC: .4byte gPlayerParty @@ -3235,7 +3235,7 @@ _080D5CD4: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _080D5D0A .align 2, 0 _080D5CEC: .4byte gPlayerParty @@ -3250,7 +3250,7 @@ _080D5CF4: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl sub_804037C + bl SetMonData _080D5D0A: ldr r2, _080D5D3C @ =gBattlerPartyIndexes ldr r0, _080D5D38 @ =gActiveBattler @@ -3365,13 +3365,13 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 lsls r4, 16 lsrs r4, 16 ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl sub_803F7D4 - ldr r0, _080D5EB4 @ =gUnknown_20244DC + ldr r0, _080D5EB4 @ =gMultiuseSpriteTemplate mov r8, r0 ldrb r0, [r6] movs r1, 0x2 @@ -3454,7 +3454,7 @@ LinkPartnerHandleLoadPokeSprite: @ 80D5DB4 _080D5EA8: .4byte gBattlerPartyIndexes _080D5EAC: .4byte gActiveBattler _080D5EB0: .4byte gPlayerParty -_080D5EB4: .4byte gUnknown_20244DC +_080D5EB4: .4byte gMultiuseSpriteTemplate _080D5EB8: .4byte gUnknown_2023D44 _080D5EBC: .4byte gSprites _080D5EC0: .4byte 0x0000ff10 @@ -3557,13 +3557,13 @@ sub_80D5F40: @ 80D5F40 mov r1, r9 strb r0, [r1] adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _080D6098 @ =gUnknown_20244DC + ldr r0, _080D6098 @ =gMultiuseSpriteTemplate mov r10, r0 adds r0, r6, 0 movs r1, 0x2 @@ -3674,7 +3674,7 @@ _080D6088: .4byte gUnknown_2022BC4 _080D608C: .4byte gPlayerParty _080D6090: .4byte sub_8033E3C _080D6094: .4byte gUnknown_3004FFC -_080D6098: .4byte gUnknown_20244DC +_080D6098: .4byte gMultiuseSpriteTemplate _080D609C: .4byte gUnknown_2023D44 _080D60A0: .4byte gSprites _080D60A4: .4byte gUnknown_2024024 @@ -3829,7 +3829,7 @@ sub_80D61C8: @ 80D61C8 push {r7} ldr r6, _080D6240 @ =gActiveBattler ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 ands r1, r0 movs r7, 0x20 @@ -3898,13 +3898,13 @@ _080D6258: adds r0, r4, 0 bl sub_8034750 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_803F864 - ldr r6, _080D631C @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r6, _080D631C @ =gMultiuseSpriteTemplate mov r8, r7 ldr r0, _080D6320 @ =gUnknown_8239F8C lsls r4, 2 @@ -3985,7 +3985,7 @@ _080D6258: bx r0 .align 2, 0 _080D6318: .4byte gActiveBattler -_080D631C: .4byte gUnknown_20244DC +_080D631C: .4byte gMultiuseSpriteTemplate _080D6320: .4byte gUnknown_8239F8C _080D6324: .4byte gUnknown_2023D44 _080D6328: .4byte gSprites @@ -5122,7 +5122,7 @@ LinkPartnerHandleEffectivenessSound: @ 80D6BEC push {r4,lr} ldr r4, _080D6C28 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r3, 0x3F cmp r0, 0 @@ -5605,7 +5605,7 @@ sub_80D6FDC: @ 80D6FDC cmp r0, 0 beq _080D700C adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D700C diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index b5905ade8..4cb53b5d7 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -275,13 +275,13 @@ _080E77AC: cmp r0, 0 beq _080E7838 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 bne _080E7838 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080E7824 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _080E7828 @ =gBitTable @@ -1104,7 +1104,7 @@ _080E7E4A: movs r1, 0x19 bl GetMonData str r0, [sp, 0x4] - ldr r3, _080E7F10 @ =gUnknown_8253AE4 + ldr r3, _080E7F10 @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _080E7F14 @ =gBaseStats @@ -1129,7 +1129,7 @@ _080E7E4A: adds r0, r6, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r6, 0 bl CalculateMonStats ldr r2, [sp] @@ -1173,7 +1173,7 @@ _080E7EFE: _080E7F04: .4byte gTasks _080E7F08: .4byte gBattlerPartyIndexes _080E7F0C: .4byte gPlayerParty -_080E7F10: .4byte gUnknown_8253AE4 +_080E7F10: .4byte gExperienceTables _080E7F14: .4byte gBaseStats _080E7F18: .4byte gActiveBattler _080E7F1C: .4byte sub_80E8190 @@ -1194,7 +1194,7 @@ _080E7F38: add r2, sp, 0x4 adds r0, r6, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _080E7F58 @ =gUnknown_3004FE0 ldr r3, [sp, 0x8] lsls r0, r3, 2 @@ -1273,7 +1273,7 @@ sub_80E7F7C: @ 80E7F7C movs r1, 0x19 bl GetMonData adds r3, r0, 0 - ldr r6, _080E803C @ =gUnknown_8253AE4 + ldr r6, _080E803C @ =gExperienceTables lsls r1, r4, 2 ldr r2, _080E8040 @ =gBaseStats lsls r0, r5, 3 @@ -1318,7 +1318,7 @@ sub_80E7F7C: @ 80E7F7C .align 2, 0 _080E8034: .4byte gTasks _080E8038: .4byte gPlayerParty -_080E803C: .4byte gUnknown_8253AE4 +_080E803C: .4byte gExperienceTables _080E8040: .4byte gBaseStats _080E8044: .4byte gUnknown_3004FF0 _080E8048: .4byte sub_80E804C @@ -1396,7 +1396,7 @@ _080E807C: bl GetMonData lsls r0, 16 lsrs r0, 16 - ldr r3, _080E814C @ =gUnknown_8253AE4 + ldr r3, _080E814C @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _080E8150 @ =gBaseStats @@ -1422,7 +1422,7 @@ _080E807C: adds r0, r5, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r5, 0 bl CalculateMonStats ldr r2, [sp] @@ -1445,7 +1445,7 @@ _080E807C: .align 2, 0 _080E8144: .4byte gUnknown_3004FF0 _080E8148: .4byte gPlayerParty -_080E814C: .4byte gUnknown_8253AE4 +_080E814C: .4byte gExperienceTables _080E8150: .4byte gBaseStats _080E8154: .4byte gActiveBattler _080E8158: .4byte sub_80E8190 @@ -1454,7 +1454,7 @@ _080E815C: add r2, sp, 0x4 adds r0, r5, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _080E8188 @ =gUnknown_3004FE0 lsls r0, r7, 2 adds r0, r1 @@ -1746,7 +1746,7 @@ _080E83BA: adds r5, 0x95 adds r4, 0x97 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -1924,7 +1924,7 @@ _080E8530: cmp r4, 0 bne _080E855E movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_80EF0E0 @@ -2124,7 +2124,7 @@ _080E86B4: bl sub_80EB524 ldr r0, _080E86DC @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080E86E0 @@ -3833,12 +3833,12 @@ _080E94FC: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -3879,12 +3879,12 @@ _080E9562: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -3900,15 +3900,15 @@ _080E9562: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -3917,7 +3917,7 @@ _080E9562: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -3926,7 +3926,7 @@ _080E9562: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -3935,7 +3935,7 @@ _080E9562: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -3944,7 +3944,7 @@ _080E9562: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -3953,7 +3953,7 @@ _080E9562: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -3962,47 +3962,47 @@ _080E9562: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9690: .4byte gPlayerParty @@ -4016,7 +4016,7 @@ _080E9694: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E96AC: .4byte gPlayerParty @@ -4031,7 +4031,7 @@ _080E96B4: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E96CC: .4byte gPlayerParty @@ -4055,12 +4055,12 @@ _080E96EE: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -4074,7 +4074,7 @@ _080E96EE: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9728: .4byte gPlayerParty @@ -4108,35 +4108,35 @@ _080E9754: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E97B0: .4byte gPlayerParty @@ -4157,7 +4157,7 @@ _080E97B8: _080E97D0: adds r3, 0x3 adds r2, r3 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E97DC: .4byte gPlayerParty @@ -4173,7 +4173,7 @@ _080E97E8: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9800: .4byte gPlayerParty @@ -4188,7 +4188,7 @@ _080E9808: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9820: .4byte gPlayerParty @@ -4203,7 +4203,7 @@ _080E9828: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9840: .4byte gPlayerParty @@ -4218,7 +4218,7 @@ _080E9848: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9860: .4byte gPlayerParty @@ -4233,7 +4233,7 @@ _080E9868: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9880: .4byte gPlayerParty @@ -4248,7 +4248,7 @@ _080E9888: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E98A0: .4byte gPlayerParty @@ -4263,7 +4263,7 @@ _080E98A8: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E98C0: .4byte gPlayerParty @@ -4278,7 +4278,7 @@ _080E98C8: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E98E0: .4byte gPlayerParty @@ -4293,7 +4293,7 @@ _080E98E8: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9900: .4byte gPlayerParty @@ -4308,7 +4308,7 @@ _080E9908: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9920: .4byte gPlayerParty @@ -4323,7 +4323,7 @@ _080E9928: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9940: .4byte gPlayerParty @@ -4338,7 +4338,7 @@ _080E9948: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9960: .4byte gPlayerParty @@ -4353,7 +4353,7 @@ _080E9968: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9980: .4byte gPlayerParty @@ -4368,7 +4368,7 @@ _080E9988: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E99A0: .4byte gPlayerParty @@ -4385,35 +4385,35 @@ _080E99A8: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -4433,7 +4433,7 @@ _080E9A18: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9A30: .4byte gPlayerParty @@ -4448,7 +4448,7 @@ _080E9A38: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9A50: .4byte gPlayerParty @@ -4463,7 +4463,7 @@ _080E9A58: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9A70: .4byte gPlayerParty @@ -4478,7 +4478,7 @@ _080E9A78: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9A90: .4byte gPlayerParty @@ -4493,7 +4493,7 @@ _080E9A98: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9AB0: .4byte gPlayerParty @@ -4509,7 +4509,7 @@ _080E9AB8: adds r2, r7 _080E9AC8: movs r1, 0x2C - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9AD0: .4byte gPlayerParty @@ -4524,7 +4524,7 @@ _080E9AD8: lsls r2, 9 adds r2, r7 movs r1, 0 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9AF0: .4byte gPlayerParty @@ -4539,7 +4539,7 @@ _080E9AF8: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9B10: .4byte gPlayerParty @@ -4554,7 +4554,7 @@ _080E9B18: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9B30: .4byte gPlayerParty @@ -4569,7 +4569,7 @@ _080E9B38: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9B50: .4byte gPlayerParty @@ -4584,7 +4584,7 @@ _080E9B58: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9B70: .4byte gPlayerParty @@ -4599,7 +4599,7 @@ _080E9B78: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9B90: .4byte gPlayerParty @@ -4614,7 +4614,7 @@ _080E9B98: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9BB0: .4byte gPlayerParty @@ -4629,7 +4629,7 @@ _080E9BB8: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9BD0: .4byte gPlayerParty @@ -4644,7 +4644,7 @@ _080E9BD8: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9BF0: .4byte gPlayerParty @@ -4659,7 +4659,7 @@ _080E9BF8: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9C10: .4byte gPlayerParty @@ -4674,7 +4674,7 @@ _080E9C18: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9C30: .4byte gPlayerParty @@ -4689,7 +4689,7 @@ _080E9C38: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9C50: .4byte gPlayerParty @@ -4704,7 +4704,7 @@ _080E9C58: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9C70: .4byte gPlayerParty @@ -4719,7 +4719,7 @@ _080E9C78: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9C90: .4byte gPlayerParty @@ -4734,7 +4734,7 @@ _080E9C98: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9CB0: .4byte gPlayerParty @@ -4749,7 +4749,7 @@ _080E9CB8: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9CD0: .4byte gPlayerParty @@ -4764,7 +4764,7 @@ _080E9CD8: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9CF0: .4byte gPlayerParty @@ -4779,7 +4779,7 @@ _080E9CF8: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9D10: .4byte gPlayerParty @@ -4794,7 +4794,7 @@ _080E9D18: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9D30: .4byte gPlayerParty @@ -4809,7 +4809,7 @@ _080E9D38: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9D50: .4byte gPlayerParty @@ -4824,7 +4824,7 @@ _080E9D58: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _080E9D8E .align 2, 0 _080E9D70: .4byte gPlayerParty @@ -4839,7 +4839,7 @@ _080E9D78: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl sub_804037C + bl SetMonData _080E9D8E: ldr r2, _080E9DC0 @ =gBattlerPartyIndexes ldr r0, _080E9DBC @ =gActiveBattler @@ -4970,13 +4970,13 @@ sub_80E9E6C: @ 80E9E6C ldr r0, [r4] ldrb r5, [r0, 0x8] ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl sub_803F864 - ldr r0, _080E9ED4 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _080E9ED4 @ =gMultiuseSpriteTemplate ldr r2, _080E9ED8 @ =gUnknown_8239F8C ldr r1, [r4] ldrb r1, [r1, 0x8] @@ -5000,7 +5000,7 @@ sub_80E9E6C: @ 80E9E6C _080E9EC8: .4byte gBattleTypeFlags _080E9ECC: .4byte gSaveBlock2Ptr _080E9ED0: .4byte gActiveBattler -_080E9ED4: .4byte gUnknown_20244DC +_080E9ED4: .4byte gMultiuseSpriteTemplate _080E9ED8: .4byte gUnknown_8239F8C _080E9EDC: .4byte gUnknown_2023D44 _080E9EE0: @@ -5009,13 +5009,13 @@ _080E9EE0: movs r0, 0x5 bl sub_8034750 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x5 - bl sub_803F864 - ldr r0, _080E9F90 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _080E9F90 @ =gMultiuseSpriteTemplate ldr r1, _080E9F94 @ =gUnknown_8239F8C ldrb r1, [r1, 0x14] movs r2, 0x8 @@ -5088,7 +5088,7 @@ _080E9F1C: bx r0 .align 2, 0 _080E9F8C: .4byte gActiveBattler -_080E9F90: .4byte gUnknown_20244DC +_080E9F90: .4byte gMultiuseSpriteTemplate _080E9F94: .4byte gUnknown_8239F8C _080E9F98: .4byte gUnknown_2023D44 _080E9F9C: .4byte gSprites @@ -5116,13 +5116,13 @@ sub_80E9FB0: @ 80E9FB0 ldr r0, [r4] ldrb r5, [r0, 0x8] ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r5, 0 - bl sub_803F864 - ldr r0, _080EA018 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _080EA018 @ =gMultiuseSpriteTemplate ldr r2, _080EA01C @ =gUnknown_8239F8C ldr r1, [r4] ldrb r1, [r1, 0x8] @@ -5146,7 +5146,7 @@ sub_80E9FB0: @ 80E9FB0 _080EA00C: .4byte gBattleTypeFlags _080EA010: .4byte gSaveBlock2Ptr _080EA014: .4byte gActiveBattler -_080EA018: .4byte gUnknown_20244DC +_080EA018: .4byte gMultiuseSpriteTemplate _080EA01C: .4byte gUnknown_8239F8C _080EA020: .4byte gUnknown_2023D44 _080EA024: @@ -5155,13 +5155,13 @@ _080EA024: movs r0, 0x5 bl sub_8034750 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x5 - bl sub_803F864 - ldr r0, _080EA0D4 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _080EA0D4 @ =gMultiuseSpriteTemplate ldr r1, _080EA0D8 @ =gUnknown_8239F8C ldrb r1, [r1, 0x14] movs r2, 0x8 @@ -5234,7 +5234,7 @@ _080EA060: bx r0 .align 2, 0 _080EA0D0: .4byte gActiveBattler -_080EA0D4: .4byte gUnknown_20244DC +_080EA0D4: .4byte gMultiuseSpriteTemplate _080EA0D8: .4byte gUnknown_8239F8C _080EA0DC: .4byte gUnknown_2023D44 _080EA0E0: .4byte gSprites @@ -5388,7 +5388,7 @@ sub_80EA1F8: @ 80EA1F8 ldr r5, _080EA240 @ =gActiveBattler ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -5432,7 +5432,7 @@ sub_80EA24C: @ 80EA24C strb r0, [r1] ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -5928,7 +5928,7 @@ sub_80EA66C: @ 80EA66C push {lr} ldr r0, _080EA684 @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080EA688 @@ -6189,7 +6189,7 @@ sub_80EA870: @ 80EA870 adds r0, r1 ldr r1, _080EA8C4 @ =sub_80E7A70 str r1, [r0] - ldr r1, _080EA8C8 @ =gUnknown_2024004 + ldr r1, _080EA8C8 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] movs r3, 0 @@ -6215,7 +6215,7 @@ _080EA89E: _080EA8BC: .4byte gUnknown_3004FE0 _080EA8C0: .4byte gActiveBattler _080EA8C4: .4byte sub_80E7A70 -_080EA8C8: .4byte gUnknown_2024004 +_080EA8C8: .4byte gBattlerInMenuId _080EA8CC: .4byte gUnknown_203B0DC _080EA8D0: .4byte gUnknown_2022BC4 thumb_func_end sub_80EA870 @@ -6301,7 +6301,7 @@ _080EA940: adds r0, r1 ldr r1, _080EA9A4 @ =sub_80E79B8 str r1, [r0] - ldr r1, _080EA9A8 @ =gUnknown_2024004 + ldr r1, _080EA9A8 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] add sp, 0x4 @@ -6318,7 +6318,7 @@ _080EA998: .4byte gBattleStruct _080EA99C: .4byte gUnknown_203B0DC _080EA9A0: .4byte gUnknown_3004FE0 _080EA9A4: .4byte sub_80E79B8 -_080EA9A8: .4byte gUnknown_2024004 +_080EA9A8: .4byte gBattlerInMenuId thumb_func_end sub_80EA8D4 thumb_func_start sub_80EA9AC @@ -7066,13 +7066,13 @@ sub_80EAF34: @ 80EAF34 mov r1, r9 strb r0, [r1] adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _080EB094 @ =gUnknown_20244DC + ldr r0, _080EB094 @ =gMultiuseSpriteTemplate mov r10, r0 adds r0, r6, 0 movs r1, 0x2 @@ -7184,7 +7184,7 @@ _080EB084: .4byte gUnknown_2022BC4 _080EB088: .4byte gPlayerParty _080EB08C: .4byte sub_8033E3C _080EB090: .4byte gUnknown_3004FFC -_080EB094: .4byte gUnknown_20244DC +_080EB094: .4byte gMultiuseSpriteTemplate _080EB098: .4byte gUnknown_2023D44 _080EB09C: .4byte gSprites _080EB0A0: .4byte gUnknown_2024024 @@ -7262,7 +7262,7 @@ sub_80EB11C: @ 80EB11C cmp r0, 0 beq _080EB14C adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080EB14C diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 5a7b6d684..4d16e6425 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -2567,12 +2567,12 @@ _08036F9C: adds r0, r4, 0 movs r1, 0xB adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r2, r7, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -2613,12 +2613,12 @@ _08037002: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2634,15 +2634,15 @@ _08037002: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData ldrb r0, [r7, 0x14] lsls r0, 27 lsrs r0, 27 @@ -2651,7 +2651,7 @@ _08037002: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r7, 0x14] lsls r0, 22 @@ -2660,7 +2660,7 @@ _08037002: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r7, 0x15] lsls r0, 25 @@ -2669,7 +2669,7 @@ _08037002: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldr r0, [r7, 0x14] lsls r0, 12 @@ -2678,7 +2678,7 @@ _08037002: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r7, 0x16] lsls r0, 23 @@ -2687,7 +2687,7 @@ _08037002: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r7, 0x17] lsls r0, 26 @@ -2696,47 +2696,47 @@ _08037002: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037130: .4byte gEnemyParty @@ -2749,7 +2749,7 @@ _08037134: lsls r2, 9 adds r2, r3 movs r1, 0xB - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803714C: .4byte gEnemyParty @@ -2762,7 +2762,7 @@ _08037150: lsls r2, 9 adds r2, r3 movs r1, 0xC - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037168: .4byte gEnemyParty @@ -2784,12 +2784,12 @@ _08037184: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -2803,7 +2803,7 @@ _08037184: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080371BC: .4byte gEnemyParty @@ -2835,7 +2835,7 @@ _080371E0: adds r0, r4, 0 movs r1, 0x11 str r3, [sp, 0x34] - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2843,7 +2843,7 @@ _080371E0: adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2851,7 +2851,7 @@ _080371E0: adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2859,7 +2859,7 @@ _080371E0: adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -2867,7 +2867,7 @@ _080371E0: adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037244: .4byte gEnemyParty @@ -2886,7 +2886,7 @@ _08037248: _0803725E: adds r3, 0x3 adds r2, r3 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037268: .4byte gEnemyParty @@ -2900,7 +2900,7 @@ _08037270: lsls r2, 9 adds r2, r3 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037288: .4byte gEnemyParty @@ -2913,7 +2913,7 @@ _0803728C: lsls r2, 9 adds r2, r3 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080372A4: .4byte gEnemyParty @@ -2926,7 +2926,7 @@ _080372A8: lsls r2, 9 adds r2, r3 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080372C0: .4byte gEnemyParty @@ -2939,7 +2939,7 @@ _080372C4: lsls r2, 9 adds r2, r3 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080372DC: .4byte gEnemyParty @@ -2952,7 +2952,7 @@ _080372E0: lsls r2, 9 adds r2, r3 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080372F8: .4byte gEnemyParty @@ -2965,7 +2965,7 @@ _080372FC: lsls r2, 9 adds r2, r3 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037314: .4byte gEnemyParty @@ -2978,7 +2978,7 @@ _08037318: lsls r2, 9 adds r2, r3 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037330: .4byte gEnemyParty @@ -2991,7 +2991,7 @@ _08037334: lsls r2, 9 adds r2, r3 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803734C: .4byte gEnemyParty @@ -3004,7 +3004,7 @@ _08037350: lsls r2, 9 adds r2, r3 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037368: .4byte gEnemyParty @@ -3017,7 +3017,7 @@ _0803736C: lsls r2, 9 adds r2, r3 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037384: .4byte gEnemyParty @@ -3030,7 +3030,7 @@ _08037388: lsls r2, 9 adds r2, r3 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080373A0: .4byte gEnemyParty @@ -3043,7 +3043,7 @@ _080373A4: lsls r2, 9 adds r2, r3 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080373BC: .4byte gEnemyParty @@ -3056,7 +3056,7 @@ _080373C0: lsls r2, 9 adds r2, r3 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080373D8: .4byte gEnemyParty @@ -3069,7 +3069,7 @@ _080373DC: lsls r2, 9 adds r2, r3 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080373F4: .4byte gEnemyParty @@ -3085,7 +3085,7 @@ _080373F8: adds r0, r4, 0 movs r1, 0x27 str r3, [sp, 0x34] - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3093,7 +3093,7 @@ _080373F8: adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3101,7 +3101,7 @@ _080373F8: adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3109,7 +3109,7 @@ _080373F8: adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3117,7 +3117,7 @@ _080373F8: adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r6] lsls r2, 9 ldr r3, [sp, 0x34] @@ -3136,7 +3136,7 @@ _0803746C: lsls r2, 9 adds r2, r3 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037484: .4byte gEnemyParty @@ -3149,7 +3149,7 @@ _08037488: lsls r2, 9 adds r2, r3 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080374A0: .4byte gEnemyParty @@ -3162,7 +3162,7 @@ _080374A4: lsls r2, 9 adds r2, r3 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080374BC: .4byte gEnemyParty @@ -3175,7 +3175,7 @@ _080374C0: lsls r2, 9 adds r2, r3 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080374D8: .4byte gEnemyParty @@ -3188,7 +3188,7 @@ _080374DC: lsls r2, 9 adds r2, r3 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080374F4: .4byte gEnemyParty @@ -3202,7 +3202,7 @@ _080374F8: adds r2, r3 _08037506: movs r1, 0x2C - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037510: .4byte gEnemyParty @@ -3215,7 +3215,7 @@ _08037514: lsls r2, 9 adds r2, r3 movs r1, 0 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803752C: .4byte gEnemyParty @@ -3228,7 +3228,7 @@ _08037530: lsls r2, 9 adds r2, r3 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037548: .4byte gEnemyParty @@ -3241,7 +3241,7 @@ _0803754C: lsls r2, 9 adds r2, r3 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037564: .4byte gEnemyParty @@ -3254,7 +3254,7 @@ _08037568: lsls r2, 9 adds r2, r3 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037580: .4byte gEnemyParty @@ -3267,7 +3267,7 @@ _08037584: lsls r2, 9 adds r2, r3 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803759C: .4byte gEnemyParty @@ -3280,7 +3280,7 @@ _080375A0: lsls r2, 9 adds r2, r3 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080375B8: .4byte gEnemyParty @@ -3293,7 +3293,7 @@ _080375BC: lsls r2, 9 adds r2, r3 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080375D4: .4byte gEnemyParty @@ -3306,7 +3306,7 @@ _080375D8: lsls r2, 9 adds r2, r3 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080375F0: .4byte gEnemyParty @@ -3319,7 +3319,7 @@ _080375F4: lsls r2, 9 adds r2, r3 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803760C: .4byte gEnemyParty @@ -3332,7 +3332,7 @@ _08037610: lsls r2, 9 adds r2, r3 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037628: .4byte gEnemyParty @@ -3345,7 +3345,7 @@ _0803762C: lsls r2, 9 adds r2, r3 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037644: .4byte gEnemyParty @@ -3358,7 +3358,7 @@ _08037648: lsls r2, 9 adds r2, r3 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037660: .4byte gEnemyParty @@ -3371,7 +3371,7 @@ _08037664: lsls r2, 9 adds r2, r3 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803767C: .4byte gEnemyParty @@ -3384,7 +3384,7 @@ _08037680: lsls r2, 9 adds r2, r3 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037698: .4byte gEnemyParty @@ -3397,7 +3397,7 @@ _0803769C: lsls r2, 9 adds r2, r3 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080376B4: .4byte gEnemyParty @@ -3410,7 +3410,7 @@ _080376B8: lsls r2, 9 adds r2, r3 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080376D0: .4byte gEnemyParty @@ -3423,7 +3423,7 @@ _080376D4: lsls r2, 9 adds r2, r3 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _080376EC: .4byte gEnemyParty @@ -3436,7 +3436,7 @@ _080376F0: lsls r2, 9 adds r2, r3 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037708: .4byte gEnemyParty @@ -3449,7 +3449,7 @@ _0803770C: lsls r2, 9 adds r2, r3 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037724: .4byte gEnemyParty @@ -3462,7 +3462,7 @@ _08037728: lsls r2, 9 adds r2, r3 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _08037740: .4byte gEnemyParty @@ -3475,7 +3475,7 @@ _08037744: lsls r2, 9 adds r2, r3 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _08037774 .align 2, 0 _0803775C: .4byte gEnemyParty @@ -3488,7 +3488,7 @@ _08037760: lsls r2, 9 adds r2, r3 movs r1, 0x36 - bl sub_804037C + bl SetMonData _08037774: add sp, 0x38 pop {r3-r5} @@ -3644,13 +3644,13 @@ _08037890: _080378AA: ldr r7, _0803799C @ =gActiveBattler ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r6, _080379A0 @ =gUnknown_20244DC + ldr r6, _080379A0 @ =gMultiuseSpriteTemplate ldrb r0, [r7] movs r1, 0x2 bl sub_8074480 @@ -3758,7 +3758,7 @@ _08037986: bx r0 .align 2, 0 _0803799C: .4byte gActiveBattler -_080379A0: .4byte gUnknown_20244DC +_080379A0: .4byte gMultiuseSpriteTemplate _080379A4: .4byte gUnknown_2023D44 _080379A8: .4byte gSprites _080379AC: .4byte 0x0000ff10 @@ -3867,13 +3867,13 @@ sub_8037A28: @ 8037A28 adds r1, r6, 0 bl BattleLoadOpponentMonSpriteGfx adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _08037B98 @ =gUnknown_20244DC + ldr r0, _08037B98 @ =gMultiuseSpriteTemplate mov r9, r0 adds r0, r6, 0 movs r1, 0x2 @@ -3984,7 +3984,7 @@ _08037B88: .4byte gUnknown_2022BC4 _08037B8C: .4byte gEnemyParty _08037B90: .4byte sub_8033E3C _08037B94: .4byte gUnknown_3004FFC -_08037B98: .4byte gUnknown_20244DC +_08037B98: .4byte gMultiuseSpriteTemplate _08037B9C: .4byte gUnknown_2023D44 _08037BA0: .4byte gSprites _08037BA4: .4byte gUnknown_2024024 @@ -4198,13 +4198,13 @@ _08037D3A: bl sub_80346C4 mov r1, r8 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r9 - bl sub_803F864 - ldr r5, _08037E74 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r5, _08037E74 @ =gMultiuseSpriteTemplate ldr r1, _08037E78 @ =gUnknown_823932C mov r2, r9 lsls r0, r2, 2 @@ -4339,7 +4339,7 @@ _08037D3A: .align 2, 0 _08037E6C: .4byte gTrainers _08037E70: .4byte gActiveBattler -_08037E74: .4byte gUnknown_20244DC +_08037E74: .4byte gMultiuseSpriteTemplate _08037E78: .4byte gUnknown_823932C _08037E7C: .4byte gUnknown_2023D44 _08037E80: .4byte gSprites @@ -4417,13 +4417,13 @@ _08037F0E: bl sub_80346C4 mov r1, r8 ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r9 - bl sub_803F864 - ldr r0, _08038048 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _08038048 @ =gMultiuseSpriteTemplate ldr r2, _0803804C @ =gUnknown_823932C mov r3, r9 lsls r1, r3, 2 @@ -4559,7 +4559,7 @@ _08037F0E: .align 2, 0 _08038040: .4byte gTrainers _08038044: .4byte gActiveBattler -_08038048: .4byte gUnknown_20244DC +_08038048: .4byte gMultiuseSpriteTemplate _0803804C: .4byte gUnknown_823932C _08038050: .4byte gUnknown_2023D44 _08038054: .4byte gSprites @@ -5292,7 +5292,7 @@ _0803861C: cmp r0, 0 beq _08038656 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r5, _08038674 @ =gBattlerTarget strb r0, [r5] ldr r0, _08038678 @ =gAbsentBattlerFlags @@ -5306,7 +5306,7 @@ _0803861C: cmp r1, 0 beq _08038656 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] _08038656: ldr r0, _08038674 @ =gBattlerTarget @@ -5371,7 +5371,7 @@ _080386C4: lsls r1, 24 lsrs r1, 24 adds r0, r1, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 16 @@ -5384,7 +5384,7 @@ _080386C4: _080386F4: .4byte gBattleTypeFlags _080386F8: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 16 @@ -5427,7 +5427,7 @@ sub_8038744: @ 8038744 push {r4-r6,lr} ldr r6, _08038788 @ =gActiveBattler ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r5, _0803878C @ =gBattleStruct @@ -5449,7 +5449,7 @@ sub_8038744: @ 8038744 cmp r0, 0 bne _08038794 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 adds r6, r5, 0 @@ -5460,11 +5460,11 @@ _0803878C: .4byte gBattleStruct _08038790: .4byte gBattleTypeFlags _08038794: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 _080387A8: @@ -5500,7 +5500,7 @@ _080387DC: .4byte gEnemyParty _080387E0: .4byte gBattlerPartyIndexes _080387E4: ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, [r5] @@ -5508,7 +5508,7 @@ _080387E4: adds r0, 0x92 ldrb r4, [r0] ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 25 ldr r1, [r5] @@ -5990,7 +5990,7 @@ OpponentHandleEffectivenessSound: @ 8038B9C push {r4,lr} ldr r4, _08038BD8 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r3, 0x3F cmp r0, 0 @@ -6372,7 +6372,7 @@ sub_8038EA8: @ 8038EA8 cmp r0, 0 beq _08038ED8 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08038ED8 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 6c6587e9c..c4f0635c6 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -348,13 +348,13 @@ _0802E5A8: cmp r0, 0 beq _0802E634 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 bne _0802E634 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802E620 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _0802E624 @ =gBitTable @@ -451,7 +451,7 @@ sub_802E674: @ 802E674 movs r3, 0x1 bl dp11b_obj_instanciate movs r4, 0 - ldr r0, _0802E710 @ =gUnknown_2023BCC + ldr r0, _0802E710 @ =gBattlersCount ldrb r0, [r0] cmp r0, 0 beq _0802E6B6 @@ -466,7 +466,7 @@ _0802E69A: bl dp11b_obj_free _0802E6AC: adds r4, 0x1 - ldr r0, _0802E710 @ =gUnknown_2023BCC + ldr r0, _0802E710 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _0802E69A @@ -511,7 +511,7 @@ _0802E6B6: .align 2, 0 _0802E708: .4byte gUnknown_8250980 _0802E70C: .4byte gUnknown_3004FF4 -_0802E710: .4byte gUnknown_2023BCC +_0802E710: .4byte gBattlersCount _0802E714: .4byte gMain _0802E718: .4byte gSprites _0802E71C: .4byte gUnknown_2023D44 @@ -592,7 +592,7 @@ _0802E7AA: adds r5, r3, 0 _0802E7CC: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r1, r0, 24 movs r4, 0 @@ -622,9 +622,9 @@ _0802E804: mov r1, sp adds r0, r1, r4 ldrb r0, [r0] - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] - ldr r1, _0802E838 @ =gUnknown_2023BCC + ldr r1, _0802E838 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -632,7 +632,7 @@ _0802E804: beq _0802E7FC movs r4, 0 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -643,7 +643,7 @@ _0802E804: beq _0802E846 b _0802E884 .align 2, 0 -_0802E838: .4byte gUnknown_2023BCC +_0802E838: .4byte gBattlersCount _0802E83C: cmp r0, 0x2 beq _0802E846 @@ -733,7 +733,7 @@ _0802E8CE: adds r5, r3, 0 _0802E8F0: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r1, r0, 24 movs r4, 0 @@ -763,9 +763,9 @@ _0802E928: mov r1, sp adds r0, r1, r4 ldrb r0, [r0] - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r5] - ldr r1, _0802E95C @ =gUnknown_2023BCC + ldr r1, _0802E95C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -773,7 +773,7 @@ _0802E928: beq _0802E920 movs r4, 0 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -784,7 +784,7 @@ _0802E928: beq _0802E96A b _0802E9A8 .align 2, 0 -_0802E95C: .4byte gUnknown_2023BCC +_0802E95C: .4byte gBattlersCount _0802E960: cmp r0, 0x2 beq _0802E96A @@ -948,13 +948,13 @@ _0802EAA4: .4byte gActiveBattler _0802EAA8: ldr r0, _0802EAEC @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r2, 0x1 movs r0, 0x1 ands r0, r1 eors r0, r2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802EAF0 @ =gUnknown_3004FF4 strb r0, [r1] _0802EAC2: @@ -1005,7 +1005,7 @@ _0802EB04: cmp r0, 0 bne _0802EB3A movs r0, 0 - bl sub_803F5B4 + bl CountAliveMons lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1071,7 +1071,7 @@ _0802EBAC: .4byte sub_802E674 _0802EBB0: .4byte gUnknown_3004FF4 _0802EBB4: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802EBD4 @ =gAbsentBattlerFlags ldrb r1, [r1] ldr r2, _0802EBD8 @ =gBitTable @@ -1090,7 +1090,7 @@ _0802EBD8: .4byte gBitTable _0802EBDC: movs r0, 0x1 _0802EBDE: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802EC00 @ =gUnknown_3004FF4 _0802EBE4: strb r0, [r1] @@ -1925,7 +1925,7 @@ _0802F26A: adds r1, r6, 0 adds r1, 0xD adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r9 ldrb r0, [r1] lsls r0, 1 @@ -1938,7 +1938,7 @@ _0802F26A: adds r1, r6, 0 adds r1, 0x11 adds r2, r5, 0 - bl sub_804037C + bl SetMonData adds r5, 0x1 adds r4, 0x2 adds r6, 0x1 @@ -1956,7 +1956,7 @@ _0802F26A: adds r0, r1 movs r1, 0x15 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData _0802F2C8: ldr r0, _0802F30C @ =gBattleTypeFlags ldr r0, [r0] @@ -3433,7 +3433,7 @@ _0802FEF2: movs r1, 0x19 bl GetMonData str r0, [sp, 0x4] - ldr r3, _0802FFB8 @ =gUnknown_8253AE4 + ldr r3, _0802FFB8 @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _0802FFBC @ =gBaseStats @@ -3458,7 +3458,7 @@ _0802FEF2: adds r0, r6, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r6, 0 bl CalculateMonStats ldr r2, [sp] @@ -3502,7 +3502,7 @@ _0802FFA6: _0802FFAC: .4byte gTasks _0802FFB0: .4byte gBattlerPartyIndexes _0802FFB4: .4byte gPlayerParty -_0802FFB8: .4byte gUnknown_8253AE4 +_0802FFB8: .4byte gExperienceTables _0802FFBC: .4byte gBaseStats _0802FFC0: .4byte gActiveBattler _0802FFC4: .4byte sub_8030238 @@ -3523,7 +3523,7 @@ _0802FFE0: add r2, sp, 0x4 adds r0, r6, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _08030000 @ =gUnknown_3004FE0 ldr r3, [sp, 0x8] lsls r0, r3, 2 @@ -3602,7 +3602,7 @@ sub_8030024: @ 8030024 movs r1, 0x19 bl GetMonData adds r3, r0, 0 - ldr r6, _080300E4 @ =gUnknown_8253AE4 + ldr r6, _080300E4 @ =gExperienceTables lsls r1, r4, 2 ldr r2, _080300E8 @ =gBaseStats lsls r0, r5, 3 @@ -3647,7 +3647,7 @@ sub_8030024: @ 8030024 .align 2, 0 _080300DC: .4byte gTasks _080300E0: .4byte gPlayerParty -_080300E4: .4byte gUnknown_8253AE4 +_080300E4: .4byte gExperienceTables _080300E8: .4byte gBaseStats _080300EC: .4byte gUnknown_3004FF0 _080300F0: .4byte sub_80300F4 @@ -3725,7 +3725,7 @@ _08030124: bl GetMonData lsls r0, 16 lsrs r0, 16 - ldr r3, _080301F4 @ =gUnknown_8253AE4 + ldr r3, _080301F4 @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _080301F8 @ =gBaseStats @@ -3751,7 +3751,7 @@ _08030124: adds r0, r5, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r5, 0 bl CalculateMonStats ldr r2, [sp] @@ -3774,7 +3774,7 @@ _08030124: .align 2, 0 _080301EC: .4byte gUnknown_3004FF0 _080301F0: .4byte gPlayerParty -_080301F4: .4byte gUnknown_8253AE4 +_080301F4: .4byte gExperienceTables _080301F8: .4byte gBaseStats _080301FC: .4byte gActiveBattler _08030200: .4byte sub_8030238 @@ -3783,7 +3783,7 @@ _08030204: add r2, sp, 0x4 adds r0, r5, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _08030230 @ =gUnknown_3004FE0 lsls r0, r7, 2 adds r0, r1 @@ -6192,12 +6192,12 @@ _080315C4: adds r0, r4, 0 movs r1, 0xB adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r2, r6, 0 adds r2, 0x2E adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r0, 0 mov r8, r0 movs r0, 0x3B @@ -6238,12 +6238,12 @@ _0803162A: adds r1, 0xD mov r0, r9 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 mov r0, r9 adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r7, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -6259,15 +6259,15 @@ _0803162A: adds r0, r4, 0 movs r1, 0x15 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x20 ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x19 ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData ldrb r0, [r6, 0x14] lsls r0, 27 lsrs r0, 27 @@ -6276,7 +6276,7 @@ _0803162A: adds r0, r4, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x14] lsls r0, 22 @@ -6285,7 +6285,7 @@ _0803162A: adds r0, r4, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x15] lsls r0, 25 @@ -6294,7 +6294,7 @@ _0803162A: adds r0, r4, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldr r0, [r6, 0x14] lsls r0, 12 @@ -6303,7 +6303,7 @@ _0803162A: adds r0, r4, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrh r0, [r6, 0x16] lsls r0, 23 @@ -6312,7 +6312,7 @@ _0803162A: adds r0, r4, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp ldrb r0, [r6, 0x17] lsls r0, 26 @@ -6321,47 +6321,47 @@ _0803162A: adds r0, r4, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0 ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x37 ldr r2, [sp, 0x30] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x38 ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x39 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3A ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3B ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031758: .4byte gPlayerParty @@ -6375,7 +6375,7 @@ _0803175C: lsls r2, 9 adds r2, r7 movs r1, 0xB - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031774: .4byte gPlayerParty @@ -6390,7 +6390,7 @@ _0803177C: lsls r2, 9 adds r2, r7 movs r1, 0xC - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031794: .4byte gPlayerParty @@ -6414,12 +6414,12 @@ _080317B6: adds r1, 0xD adds r0, r7, 0 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r1, r8 adds r1, 0x11 adds r0, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData adds r6, 0x1 adds r4, 0x2 movs r0, 0x1 @@ -6433,7 +6433,7 @@ _080317B6: adds r0, r1 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080317F0: .4byte gPlayerParty @@ -6467,35 +6467,35 @@ _0803181C: adds r2, r7 adds r0, r4, 0 movs r1, 0x11 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031878: .4byte gPlayerParty @@ -6516,7 +6516,7 @@ _08031880: _08031898: adds r3, 0x3 adds r2, r3 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080318A4: .4byte gPlayerParty @@ -6532,7 +6532,7 @@ _080318B0: lsls r2, 9 adds r2, r7 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080318C8: .4byte gPlayerParty @@ -6547,7 +6547,7 @@ _080318D0: lsls r2, 9 adds r2, r7 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080318E8: .4byte gPlayerParty @@ -6562,7 +6562,7 @@ _080318F0: lsls r2, 9 adds r2, r7 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031908: .4byte gPlayerParty @@ -6577,7 +6577,7 @@ _08031910: lsls r2, 9 adds r2, r7 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031928: .4byte gPlayerParty @@ -6592,7 +6592,7 @@ _08031930: lsls r2, 9 adds r2, r7 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031948: .4byte gPlayerParty @@ -6607,7 +6607,7 @@ _08031950: lsls r2, 9 adds r2, r7 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031968: .4byte gPlayerParty @@ -6622,7 +6622,7 @@ _08031970: lsls r2, 9 adds r2, r7 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031988: .4byte gPlayerParty @@ -6637,7 +6637,7 @@ _08031990: lsls r2, 9 adds r2, r7 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080319A8: .4byte gPlayerParty @@ -6652,7 +6652,7 @@ _080319B0: lsls r2, 9 adds r2, r7 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080319C8: .4byte gPlayerParty @@ -6667,7 +6667,7 @@ _080319D0: lsls r2, 9 adds r2, r7 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _080319E8: .4byte gPlayerParty @@ -6682,7 +6682,7 @@ _080319F0: lsls r2, 9 adds r2, r7 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031A08: .4byte gPlayerParty @@ -6697,7 +6697,7 @@ _08031A10: lsls r2, 9 adds r2, r7 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031A28: .4byte gPlayerParty @@ -6712,7 +6712,7 @@ _08031A30: lsls r2, 9 adds r2, r7 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031A48: .4byte gPlayerParty @@ -6727,7 +6727,7 @@ _08031A50: lsls r2, 9 adds r2, r7 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031A68: .4byte gPlayerParty @@ -6744,35 +6744,35 @@ _08031A70: adds r2, r7 adds r0, r4, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x1 adds r2, r0 adds r0, r4, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x2 adds r2, r0 adds r0, r4, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x3 adds r2, r0 adds r0, r4, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x4 adds r2, r0 adds r0, r4, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r7, 0x5 @@ -6792,7 +6792,7 @@ _08031AE0: lsls r2, 9 adds r2, r7 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031AF8: .4byte gPlayerParty @@ -6807,7 +6807,7 @@ _08031B00: lsls r2, 9 adds r2, r7 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031B18: .4byte gPlayerParty @@ -6822,7 +6822,7 @@ _08031B20: lsls r2, 9 adds r2, r7 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031B38: .4byte gPlayerParty @@ -6837,7 +6837,7 @@ _08031B40: lsls r2, 9 adds r2, r7 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031B58: .4byte gPlayerParty @@ -6852,7 +6852,7 @@ _08031B60: lsls r2, 9 adds r2, r7 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031B78: .4byte gPlayerParty @@ -6868,7 +6868,7 @@ _08031B80: adds r2, r7 _08031B90: movs r1, 0x2C - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031B98: .4byte gPlayerParty @@ -6883,7 +6883,7 @@ _08031BA0: lsls r2, 9 adds r2, r7 movs r1, 0 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031BB8: .4byte gPlayerParty @@ -6898,7 +6898,7 @@ _08031BC0: lsls r2, 9 adds r2, r7 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031BD8: .4byte gPlayerParty @@ -6913,7 +6913,7 @@ _08031BE0: lsls r2, 9 adds r2, r7 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031BF8: .4byte gPlayerParty @@ -6928,7 +6928,7 @@ _08031C00: lsls r2, 9 adds r2, r7 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031C18: .4byte gPlayerParty @@ -6943,7 +6943,7 @@ _08031C20: lsls r2, 9 adds r2, r7 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031C38: .4byte gPlayerParty @@ -6958,7 +6958,7 @@ _08031C40: lsls r2, 9 adds r2, r7 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031C58: .4byte gPlayerParty @@ -6973,7 +6973,7 @@ _08031C60: lsls r2, 9 adds r2, r7 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031C78: .4byte gPlayerParty @@ -6988,7 +6988,7 @@ _08031C80: lsls r2, 9 adds r2, r7 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031C98: .4byte gPlayerParty @@ -7003,7 +7003,7 @@ _08031CA0: lsls r2, 9 adds r2, r7 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031CB8: .4byte gPlayerParty @@ -7018,7 +7018,7 @@ _08031CC0: lsls r2, 9 adds r2, r7 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031CD8: .4byte gPlayerParty @@ -7033,7 +7033,7 @@ _08031CE0: lsls r2, 9 adds r2, r7 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031CF8: .4byte gPlayerParty @@ -7048,7 +7048,7 @@ _08031D00: lsls r2, 9 adds r2, r7 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031D18: .4byte gPlayerParty @@ -7063,7 +7063,7 @@ _08031D20: lsls r2, 9 adds r2, r7 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031D38: .4byte gPlayerParty @@ -7078,7 +7078,7 @@ _08031D40: lsls r2, 9 adds r2, r7 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031D58: .4byte gPlayerParty @@ -7093,7 +7093,7 @@ _08031D60: lsls r2, 9 adds r2, r7 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031D78: .4byte gPlayerParty @@ -7108,7 +7108,7 @@ _08031D80: lsls r2, 9 adds r2, r7 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031D98: .4byte gPlayerParty @@ -7123,7 +7123,7 @@ _08031DA0: lsls r2, 9 adds r2, r7 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031DB8: .4byte gPlayerParty @@ -7138,7 +7138,7 @@ _08031DC0: lsls r2, 9 adds r2, r7 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031DD8: .4byte gPlayerParty @@ -7153,7 +7153,7 @@ _08031DE0: lsls r2, 9 adds r2, r7 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031DF8: .4byte gPlayerParty @@ -7168,7 +7168,7 @@ _08031E00: lsls r2, 9 adds r2, r7 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031E18: .4byte gPlayerParty @@ -7183,7 +7183,7 @@ _08031E20: lsls r2, 9 adds r2, r7 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _08031E56 .align 2, 0 _08031E38: .4byte gPlayerParty @@ -7198,7 +7198,7 @@ _08031E40: lsls r2, 9 adds r2, r7 movs r1, 0x36 - bl sub_804037C + bl SetMonData _08031E56: ldr r2, _08031E88 @ =gBattlerPartyIndexes ldr r0, _08031E84 @ =gActiveBattler @@ -7437,13 +7437,13 @@ sub_8031FF4: @ 8031FF4 mov r1, r9 strb r0, [r1] adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _0803214C @ =gUnknown_20244DC + ldr r0, _0803214C @ =gMultiuseSpriteTemplate mov r10, r0 adds r0, r6, 0 movs r1, 0x2 @@ -7554,7 +7554,7 @@ _0803213C: .4byte gUnknown_2022BC4 _08032140: .4byte gPlayerParty _08032144: .4byte sub_8033E3C _08032148: .4byte gUnknown_3004FFC -_0803214C: .4byte gUnknown_20244DC +_0803214C: .4byte gMultiuseSpriteTemplate _08032150: .4byte gUnknown_2023D44 _08032154: .4byte gSprites _08032158: .4byte gUnknown_2024024 @@ -7715,7 +7715,7 @@ sub_803227C: @ 803227C beq _080322AC ldr r0, _080322A8 @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 ands r1, r0 movs r7, 0x20 @@ -7805,13 +7805,13 @@ _08032342: adds r0, r4, 0 bl sub_8034750 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_803F864 - ldr r6, _08032408 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r6, _08032408 @ =gMultiuseSpriteTemplate mov r8, r7 ldr r0, _0803240C @ =gUnknown_8239F8C lsls r4, 2 @@ -7893,7 +7893,7 @@ _08032342: .align 2, 0 _08032400: .4byte gSaveBlock2Ptr _08032404: .4byte gActiveBattler -_08032408: .4byte gUnknown_20244DC +_08032408: .4byte gMultiuseSpriteTemplate _0803240C: .4byte gUnknown_8239F8C _08032410: .4byte gUnknown_2023D44 _08032414: .4byte gSprites @@ -7982,13 +7982,13 @@ _080324BE: adds r0, r4, 0 bl sub_8034750 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_803F864 - ldr r0, _08032570 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _08032570 @ =gMultiuseSpriteTemplate ldr r1, _08032574 @ =gUnknown_8239F8C lsls r4, 2 adds r4, r1 @@ -8061,7 +8061,7 @@ _080324BE: .align 2, 0 _08032568: .4byte gSaveBlock2Ptr _0803256C: .4byte gActiveBattler -_08032570: .4byte gUnknown_20244DC +_08032570: .4byte gMultiuseSpriteTemplate _08032574: .4byte gUnknown_8239F8C _08032578: .4byte gUnknown_2023D44 _0803257C: .4byte gSprites @@ -8307,7 +8307,7 @@ sub_803275C: @ 803275C ldr r5, _080327A4 @ =gActiveBattler ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -8351,7 +8351,7 @@ PlayerHandleBallThrowAnim: @ 80327B0 strb r0, [r1] ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -8801,7 +8801,7 @@ sub_8032B70: @ 8032B70 push {lr} ldr r0, _08032B88 @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08032B8C @@ -8997,7 +8997,7 @@ sub_8032CEC: @ 8032CEC adds r0, r1 ldr r1, _08032D40 @ =sub_8030700 str r1, [r0] - ldr r1, _08032D44 @ =gUnknown_2024004 + ldr r1, _08032D44 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] movs r3, 0 @@ -9023,7 +9023,7 @@ _08032D1A: _08032D38: .4byte gUnknown_3004FE0 _08032D3C: .4byte gActiveBattler _08032D40: .4byte sub_8030700 -_08032D44: .4byte gUnknown_2024004 +_08032D44: .4byte gBattlerInMenuId _08032D48: .4byte gUnknown_203B0DC _08032D4C: .4byte gUnknown_2022BC4 thumb_func_end sub_8032CEC @@ -9109,7 +9109,7 @@ _08032DBC: adds r0, r1 ldr r1, _08032E20 @ =sub_8030628 str r1, [r0] - ldr r1, _08032E24 @ =gUnknown_2024004 + ldr r1, _08032E24 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] add sp, 0x4 @@ -9126,7 +9126,7 @@ _08032E14: .4byte gBattleStruct _08032E18: .4byte gUnknown_203B0DC _08032E1C: .4byte gUnknown_3004FE0 _08032E20: .4byte sub_8030628 -_08032E24: .4byte gUnknown_2024004 +_08032E24: .4byte gBattlerInMenuId thumb_func_end sub_8032D50 thumb_func_start sub_8032E28 @@ -9479,7 +9479,7 @@ PlayerHandleStatusXor: @ 80330C8 adds r0, r5 movs r1, 0x37 mov r2, sp - bl sub_804037C + bl SetMonData bl PlayerBufferExecCompleted add sp, 0x4 pop {r3} @@ -9818,7 +9818,7 @@ PlayerHandlePlaySE: @ 8033390 push {r4,lr} ldr r4, _080333CC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r3, 0x3F cmp r0, 0 @@ -10290,7 +10290,7 @@ PlayerHandleDrawPartyStatusSummary: @ 803376C cmp r0, 0 beq _0803379C adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0803379C @@ -10846,10 +10846,10 @@ _08033C4C: b _08033D92 _08033C54: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08033C7C @ =gBitTable lsls r4, 24 lsrs r4, 22 @@ -10927,10 +10927,10 @@ _08033CE4: b _08033D90 _08033CEA: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08033D10 @ =gBitTable lsls r4, 24 lsrs r4, 22 @@ -10947,12 +10947,12 @@ _08033CEA: _08033D10: .4byte gBitTable _08033D14: ldrb r0, [r3] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08033D34 @ =gBitTable lsls r0, 24 lsrs r0, 22 @@ -10974,19 +10974,19 @@ _08033D42: _08033D48: .4byte gBitTable _08033D4C: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r5, r0, 0 ldr r0, _08033DAC @ =gActiveBattler ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r3, _08033DB0 @ =gBitTable lsls r5, 24 lsrs r5, 22 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index fcfa5d275..59692c9f4 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -1080,7 +1080,7 @@ _08156922: movs r1, 0x19 bl GetMonData str r0, [sp, 0x4] - ldr r3, _081569E8 @ =gUnknown_8253AE4 + ldr r3, _081569E8 @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _081569EC @ =gBaseStats @@ -1105,7 +1105,7 @@ _08156922: adds r0, r6, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r6, 0 bl CalculateMonStats ldr r2, [sp] @@ -1149,7 +1149,7 @@ _081569D6: _081569DC: .4byte gTasks _081569E0: .4byte gBattlerPartyIndexes _081569E4: .4byte gPlayerParty -_081569E8: .4byte gUnknown_8253AE4 +_081569E8: .4byte gExperienceTables _081569EC: .4byte gBaseStats _081569F0: .4byte gActiveBattler _081569F4: .4byte sub_8156C68 @@ -1170,7 +1170,7 @@ _08156A10: add r2, sp, 0x4 adds r0, r6, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _08156A30 @ =gUnknown_3004FE0 ldr r3, [sp, 0x8] lsls r0, r3, 2 @@ -1249,7 +1249,7 @@ sub_8156A54: @ 8156A54 movs r1, 0x19 bl GetMonData adds r3, r0, 0 - ldr r6, _08156B14 @ =gUnknown_8253AE4 + ldr r6, _08156B14 @ =gExperienceTables lsls r1, r4, 2 ldr r2, _08156B18 @ =gBaseStats lsls r0, r5, 3 @@ -1294,7 +1294,7 @@ sub_8156A54: @ 8156A54 .align 2, 0 _08156B0C: .4byte gTasks _08156B10: .4byte gPlayerParty -_08156B14: .4byte gUnknown_8253AE4 +_08156B14: .4byte gExperienceTables _08156B18: .4byte gBaseStats _08156B1C: .4byte gUnknown_3004FF0 _08156B20: .4byte sub_8156B24 @@ -1372,7 +1372,7 @@ _08156B54: bl GetMonData lsls r0, 16 lsrs r0, 16 - ldr r3, _08156C24 @ =gUnknown_8253AE4 + ldr r3, _08156C24 @ =gExperienceTables adds r4, 0x1 lsls r4, 2 ldr r2, _08156C28 @ =gBaseStats @@ -1398,7 +1398,7 @@ _08156B54: adds r0, r5, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r5, 0 bl CalculateMonStats ldr r2, [sp] @@ -1421,7 +1421,7 @@ _08156B54: .align 2, 0 _08156C1C: .4byte gUnknown_3004FF0 _08156C20: .4byte gPlayerParty -_08156C24: .4byte gUnknown_8253AE4 +_08156C24: .4byte gExperienceTables _08156C28: .4byte gBaseStats _08156C2C: .4byte gActiveBattler _08156C30: .4byte sub_8156C68 @@ -1430,7 +1430,7 @@ _08156C34: add r2, sp, 0x4 adds r0, r5, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData ldr r1, _08156C60 @ =gUnknown_3004FE0 lsls r0, r7, 2 adds r0, r1 @@ -1630,7 +1630,7 @@ sub_8156DCC: @ 8156DCC push {r4-r6,lr} ldr r4, _08156E2C @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08156E3C @@ -2124,7 +2124,7 @@ sub_81571A0: @ 81571A0 movs r4, 0 ldr r0, _081571CC @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081571D4 @@ -2865,7 +2865,7 @@ sub_81577B4: @ 81577B4 ldr r1, _081577E8 @ =gUnknown_2022BC7 adds r5, r2, r1 mov r8, r5 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081577F0 @@ -2973,12 +2973,12 @@ _0815791C: adds r0, r6, 0 movs r1, 0xB mov r2, r8 - bl sub_804037C + bl SetMonData mov r2, r8 adds r2, 0x2E adds r0, r6, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData movs r4, 0 movs r0, 0x3B add r0, r8 @@ -3020,12 +3020,12 @@ _0815797A: adds r1, 0xD adds r0, r6, 0 adds r2, r5, 0 - bl sub_804037C + bl SetMonData adds r1, r4, 0 adds r1, 0x11 adds r0, r6, 0 adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r7, 0x1 adds r5, 0x2 adds r4, 0x1 @@ -3034,15 +3034,15 @@ _0815797A: adds r0, r6, 0 movs r1, 0x15 mov r2, r9 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x20 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x19 ldr r2, [sp, 0x10] - bl sub_804037C + bl SetMonData mov r1, r8 ldrb r0, [r1, 0x14] lsls r0, 27 @@ -3052,7 +3052,7 @@ _0815797A: adds r0, r6, 0 movs r1, 0x27 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp mov r2, r8 ldrh r0, [r2, 0x14] @@ -3062,7 +3062,7 @@ _0815797A: adds r0, r6, 0 movs r1, 0x28 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp mov r2, r8 ldrb r0, [r2, 0x15] @@ -3072,7 +3072,7 @@ _0815797A: adds r0, r6, 0 movs r1, 0x29 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp mov r2, r8 ldr r0, [r2, 0x14] @@ -3082,7 +3082,7 @@ _0815797A: adds r0, r6, 0 movs r1, 0x2A mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp mov r2, r8 ldrh r0, [r2, 0x16] @@ -3092,7 +3092,7 @@ _0815797A: adds r0, r6, 0 movs r1, 0x2B mov r2, sp - bl sub_804037C + bl SetMonData mov r1, sp mov r2, r8 ldrb r0, [r2, 0x17] @@ -3102,47 +3102,47 @@ _0815797A: adds r0, r6, 0 movs r1, 0x2C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0 ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x37 ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x38 ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x39 ldr r2, [sp, 0x4] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3A ldr r2, [sp, 0xC] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3B ldr r2, [sp, 0x1C] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3C ldr r2, [sp, 0x20] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3D ldr r2, [sp, 0x24] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3E ldr r2, [sp, 0x28] - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3F ldr r2, [sp, 0x2C] - bl sub_804037C + bl SetMonData b _0815809A _08157AA4: ldr r0, _08157AB8 @ =gActiveBattler @@ -3152,7 +3152,7 @@ _08157AA4: adds r2, r0 adds r0, r6, 0 movs r1, 0xB - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157AB8: .4byte gActiveBattler @@ -3165,7 +3165,7 @@ _08157AC0: adds r2, r0 adds r0, r6, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157AD4: .4byte gActiveBattler @@ -3182,12 +3182,12 @@ _08157AE8: adds r1, 0xD adds r0, r6, 0 adds r2, r5, 0 - bl sub_804037C + bl SetMonData adds r1, r4, 0 adds r1, 0x11 adds r0, r6, 0 adds r2, r7, 0 - bl sub_804037C + bl SetMonData adds r7, 0x1 adds r5, 0x2 adds r4, 0x1 @@ -3196,7 +3196,7 @@ _08157AE8: adds r0, r6, 0 movs r1, 0x15 mov r2, r8 - bl sub_804037C + bl SetMonData b _0815809A _08157B16: ldr r0, _08157B28 @ =gActiveBattler @@ -3217,35 +3217,35 @@ _08157B2C: adds r2, r4 adds r0, r6, 0 movs r1, 0x11 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x1 adds r2, r0 adds r0, r6, 0 movs r1, 0x12 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x2 adds r2, r0 adds r0, r6, 0 movs r1, 0x13 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x3 adds r2, r0 adds r0, r6, 0 movs r1, 0x14 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r4, 0x4 adds r2, r4 adds r0, r6, 0 movs r1, 0x15 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157B80: .4byte gActiveBattler @@ -3262,7 +3262,7 @@ _08157B96: adds r0, r3, 0x3 adds r2, r0 adds r0, r6, 0 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157BA4: .4byte gActiveBattler @@ -3274,7 +3274,7 @@ _08157BA8: adds r2, r0 adds r0, r6, 0 movs r1, 0x1 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157BBC: .4byte gActiveBattler @@ -3287,7 +3287,7 @@ _08157BC4: adds r2, r0 adds r0, r6, 0 movs r1, 0x19 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157BD8: .4byte gActiveBattler @@ -3300,7 +3300,7 @@ _08157BE0: adds r2, r0 adds r0, r6, 0 movs r1, 0x1A - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157BF4: .4byte gActiveBattler @@ -3313,7 +3313,7 @@ _08157BFC: adds r2, r0 adds r0, r6, 0 movs r1, 0x1B - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C10: .4byte gActiveBattler @@ -3326,7 +3326,7 @@ _08157C18: adds r2, r0 adds r0, r6, 0 movs r1, 0x1C - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C2C: .4byte gActiveBattler @@ -3339,7 +3339,7 @@ _08157C34: adds r2, r0 adds r0, r6, 0 movs r1, 0x1D - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C48: .4byte gActiveBattler @@ -3352,7 +3352,7 @@ _08157C50: adds r2, r0 adds r0, r6, 0 movs r1, 0x1E - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C64: .4byte gActiveBattler @@ -3365,7 +3365,7 @@ _08157C6C: adds r2, r0 adds r0, r6, 0 movs r1, 0x1F - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C80: .4byte gActiveBattler @@ -3378,7 +3378,7 @@ _08157C88: adds r2, r0 adds r0, r6, 0 movs r1, 0x20 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157C9C: .4byte gActiveBattler @@ -3391,7 +3391,7 @@ _08157CA4: adds r2, r0 adds r0, r6, 0 movs r1, 0x22 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157CB8: .4byte gActiveBattler @@ -3404,7 +3404,7 @@ _08157CC0: adds r2, r0 adds r0, r6, 0 movs r1, 0x23 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157CD4: .4byte gActiveBattler @@ -3417,7 +3417,7 @@ _08157CDC: adds r2, r0 adds r0, r6, 0 movs r1, 0x24 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157CF0: .4byte gActiveBattler @@ -3430,7 +3430,7 @@ _08157CF8: adds r2, r0 adds r0, r6, 0 movs r1, 0x25 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157D0C: .4byte gActiveBattler @@ -3443,7 +3443,7 @@ _08157D14: adds r2, r0 adds r0, r6, 0 movs r1, 0x26 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157D28: .4byte gActiveBattler @@ -3456,35 +3456,35 @@ _08157D30: adds r2, r4 adds r0, r6, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x1 adds r2, r0 adds r0, r6, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x2 adds r2, r0 adds r0, r6, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x3 adds r2, r0 adds r0, r6, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r0, r4, 0x4 adds r2, r0 adds r0, r6, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData ldrb r2, [r5] lsls r2, 9 adds r4, 0x5 @@ -3501,7 +3501,7 @@ _08157D94: adds r2, r0 adds r0, r6, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157DA8: .4byte gActiveBattler @@ -3514,7 +3514,7 @@ _08157DB0: adds r2, r0 adds r0, r6, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157DC4: .4byte gActiveBattler @@ -3527,7 +3527,7 @@ _08157DCC: adds r2, r0 adds r0, r6, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157DE0: .4byte gActiveBattler @@ -3540,7 +3540,7 @@ _08157DE8: adds r2, r0 adds r0, r6, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157DFC: .4byte gActiveBattler @@ -3553,7 +3553,7 @@ _08157E04: adds r2, r0 adds r0, r6, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157E18: .4byte gActiveBattler @@ -3567,7 +3567,7 @@ _08157E20: _08157E2A: adds r0, r6, 0 movs r1, 0x2C - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157E34: .4byte gActiveBattler @@ -3580,7 +3580,7 @@ _08157E3C: adds r2, r0 adds r0, r6, 0 movs r1, 0 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157E50: .4byte gActiveBattler @@ -3593,7 +3593,7 @@ _08157E58: adds r2, r0 adds r0, r6, 0 movs r1, 0x9 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157E6C: .4byte gActiveBattler @@ -3606,7 +3606,7 @@ _08157E74: adds r2, r0 adds r0, r6, 0 movs r1, 0x37 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157E88: .4byte gActiveBattler @@ -3619,7 +3619,7 @@ _08157E90: adds r2, r0 adds r0, r6, 0 movs r1, 0x38 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157EA4: .4byte gActiveBattler @@ -3632,7 +3632,7 @@ _08157EAC: adds r2, r0 adds r0, r6, 0 movs r1, 0x39 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157EC0: .4byte gActiveBattler @@ -3645,7 +3645,7 @@ _08157EC8: adds r2, r0 adds r0, r6, 0 movs r1, 0x3A - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157EDC: .4byte gActiveBattler @@ -3658,7 +3658,7 @@ _08157EE4: adds r2, r0 adds r0, r6, 0 movs r1, 0x3B - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157EF8: .4byte gActiveBattler @@ -3671,7 +3671,7 @@ _08157F00: adds r2, r0 adds r0, r6, 0 movs r1, 0x3C - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157F14: .4byte gActiveBattler @@ -3684,7 +3684,7 @@ _08157F1C: adds r2, r0 adds r0, r6, 0 movs r1, 0x3D - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157F30: .4byte gActiveBattler @@ -3697,7 +3697,7 @@ _08157F38: adds r2, r0 adds r0, r6, 0 movs r1, 0x3E - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157F4C: .4byte gActiveBattler @@ -3710,7 +3710,7 @@ _08157F54: adds r2, r0 adds r0, r6, 0 movs r1, 0x3F - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157F68: .4byte gActiveBattler @@ -3723,7 +3723,7 @@ _08157F70: adds r2, r0 adds r0, r6, 0 movs r1, 0x16 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157F84: .4byte gActiveBattler @@ -3736,7 +3736,7 @@ _08157F8C: adds r2, r0 adds r0, r6, 0 movs r1, 0x17 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157FA0: .4byte gActiveBattler @@ -3749,7 +3749,7 @@ _08157FA8: adds r2, r0 adds r0, r6, 0 movs r1, 0x18 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157FBC: .4byte gActiveBattler @@ -3762,7 +3762,7 @@ _08157FC4: adds r2, r0 adds r0, r6, 0 movs r1, 0x21 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157FD8: .4byte gActiveBattler @@ -3775,7 +3775,7 @@ _08157FE0: adds r2, r0 adds r0, r6, 0 movs r1, 0x2F - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08157FF4: .4byte gActiveBattler @@ -3788,7 +3788,7 @@ _08157FFC: adds r2, r0 adds r0, r6, 0 movs r1, 0x30 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08158010: .4byte gActiveBattler @@ -3801,7 +3801,7 @@ _08158018: adds r2, r0 adds r0, r6, 0 movs r1, 0x32 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _0815802C: .4byte gActiveBattler @@ -3814,7 +3814,7 @@ _08158034: adds r2, r0 adds r0, r6, 0 movs r1, 0x33 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08158048: .4byte gActiveBattler @@ -3827,7 +3827,7 @@ _08158050: adds r2, r0 adds r0, r6, 0 movs r1, 0x34 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08158064: .4byte gActiveBattler @@ -3840,7 +3840,7 @@ _0815806C: adds r2, r0 adds r0, r6, 0 movs r1, 0x35 - bl sub_804037C + bl SetMonData b _0815809A .align 2, 0 _08158080: .4byte gActiveBattler @@ -3853,7 +3853,7 @@ _08158088: adds r2, r0 adds r0, r6, 0 movs r1, 0x36 - bl sub_804037C + bl SetMonData _0815809A: ldr r2, _081580CC @ =gBattlerPartyIndexes ldr r0, _081580C4 @ =gActiveBattler @@ -3927,13 +3927,13 @@ sub_81580E0: @ 81580E0 lsls r5, 24 lsrs r5, 24 ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _08158220 @ =gUnknown_20244DC + ldr r0, _08158220 @ =gMultiuseSpriteTemplate mov r9, r0 ldrb r0, [r6] movs r1, 0x2 @@ -4037,7 +4037,7 @@ sub_81580E0: @ 81580E0 _08158214: .4byte gActiveBattler _08158218: .4byte gBattlerPartyIndexes _0815821C: .4byte gEnemyParty -_08158220: .4byte gUnknown_20244DC +_08158220: .4byte gMultiuseSpriteTemplate _08158224: .4byte gUnknown_2023D44 _08158228: .4byte gSprites _0815822C: .4byte 0x0000ff10 @@ -4175,7 +4175,7 @@ sub_8158344: @ 8158344 push {r7} ldr r7, _081583D8 @ =gActiveBattler ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081583F0 @@ -4183,13 +4183,13 @@ sub_8158344: @ 8158344 movs r0, 0x4 bl sub_8034750 ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x4 - bl sub_803F864 - ldr r0, _081583DC @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _081583DC @ =gMultiuseSpriteTemplate ldr r1, _081583E0 @ =gUnknown_8239F8C ldrb r1, [r1, 0x10] movs r2, 0x8 @@ -4241,7 +4241,7 @@ sub_8158344: @ 8158344 b _081584E2 .align 2, 0 _081583D8: .4byte gActiveBattler -_081583DC: .4byte gUnknown_20244DC +_081583DC: .4byte gMultiuseSpriteTemplate _081583E0: .4byte gUnknown_8239F8C _081583E4: .4byte gUnknown_2023D44 _081583E8: .4byte gSprites @@ -4251,13 +4251,13 @@ _081583F0: movs r0, 0x84 bl sub_80346C4 ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x84 - bl sub_803F864 - ldr r5, _08158510 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r5, _08158510 @ =gMultiuseSpriteTemplate ldr r0, _08158514 @ =gUnknown_823932C movs r1, 0x84 mov r8, r1 @@ -4385,7 +4385,7 @@ _081584E2: pop {r0} bx r0 .align 2, 0 -_08158510: .4byte gUnknown_20244DC +_08158510: .4byte gMultiuseSpriteTemplate _08158514: .4byte gUnknown_823932C _08158518: .4byte gUnknown_2023D44 _0815851C: .4byte gSprites @@ -4408,13 +4408,13 @@ sub_8158544: @ 8158544 movs r0, 0x4 bl sub_8034750 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x4 - bl sub_803F864 - ldr r0, _081585F0 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _081585F0 @ =gMultiuseSpriteTemplate ldr r1, _081585F4 @ =gUnknown_8239F8C ldrb r1, [r1, 0x10] movs r2, 0x8 @@ -4484,7 +4484,7 @@ sub_8158544: @ 8158544 bx r0 .align 2, 0 _081585EC: .4byte gActiveBattler -_081585F0: .4byte gUnknown_20244DC +_081585F0: .4byte gMultiuseSpriteTemplate _081585F4: .4byte gUnknown_8239F8C _081585F8: .4byte gUnknown_2023D44 _081585FC: .4byte gSprites @@ -4554,7 +4554,7 @@ _08158670: bne _0815872A strb r0, [r3, 0x4] ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -4667,7 +4667,7 @@ sub_8158754: @ 8158754 ldr r5, _0815879C @ =gActiveBattler ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -4711,7 +4711,7 @@ sub_81587A8: @ 81587A8 strb r0, [r1] ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -5109,7 +5109,7 @@ sub_8158AFC: @ 8158AFC push {lr} ldr r0, _08158B14 @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08158B18 @@ -5160,7 +5160,7 @@ sub_8158B60: @ 8158B60 push {r4,lr} ldr r4, _08158BBC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08158BDC @@ -5268,7 +5268,7 @@ sub_8158C48: @ 8158C48 push {r4,lr} ldr r4, _08158C68 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08158C74 @@ -5317,7 +5317,7 @@ sub_8158C90: @ 8158C90 adds r0, r1 ldr r1, _08158CE4 @ =sub_8156594 str r1, [r0] - ldr r1, _08158CE8 @ =gUnknown_2024004 + ldr r1, _08158CE8 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] movs r3, 0 @@ -5343,7 +5343,7 @@ _08158CBE: _08158CDC: .4byte gUnknown_3004FE0 _08158CE0: .4byte gActiveBattler _08158CE4: .4byte sub_8156594 -_08158CE8: .4byte gUnknown_2024004 +_08158CE8: .4byte gBattlerInMenuId _08158CEC: .4byte gUnknown_203B0DC _08158CF0: .4byte gUnknown_2022BC4 thumb_func_end sub_8158C90 @@ -5429,7 +5429,7 @@ _08158D60: adds r0, r1 ldr r1, _08158DC4 @ =sub_81564F0 str r1, [r0] - ldr r1, _08158DC8 @ =gUnknown_2024004 + ldr r1, _08158DC8 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] add sp, 0x4 @@ -5446,7 +5446,7 @@ _08158DB8: .4byte gBattleStruct _08158DBC: .4byte gUnknown_203B0DC _08158DC0: .4byte gUnknown_3004FE0 _08158DC4: .4byte sub_81564F0 -_08158DC8: .4byte gUnknown_2024004 +_08158DC8: .4byte gBattlerInMenuId thumb_func_end sub_8158CF4 thumb_func_start sub_8158DCC @@ -5463,7 +5463,7 @@ sub_8158DD8: @ 8158DD8 sub sp, 0x4 ldr r4, _08158DFC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08158E08 @@ -5653,7 +5653,7 @@ sub_8158F6C: @ 8158F6C cmp r0, 0 bne _08158FF2 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08158FA8 @@ -5779,7 +5779,7 @@ sub_815907C: @ 815907C sub sp, 0x4 ldr r4, _081590A0 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081590AC @@ -5823,7 +5823,7 @@ _081590BC: adds r0, r4, 0 movs r1, 0x37 mov r2, sp - bl sub_804037C + bl SetMonData bl PlayerPartnerBufferExecCompleted add sp, 0x4 pop {r4} @@ -6048,7 +6048,7 @@ sub_815926C: @ 815926C push {r4,lr} ldr r4, _08159290 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815929C @@ -6331,13 +6331,13 @@ sub_8159478: @ 8159478 mov r1, r9 strb r0, [r1] adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 mov r0, r8 bl sub_803F7D4 - ldr r0, _081595D8 @ =gUnknown_20244DC + ldr r0, _081595D8 @ =gMultiuseSpriteTemplate mov r10, r0 adds r0, r6, 0 movs r1, 0x2 @@ -6449,7 +6449,7 @@ _081595C8: .4byte gUnknown_2022BC4 _081595CC: .4byte gPlayerParty _081595D0: .4byte sub_8033E3C _081595D4: .4byte gUnknown_3004FFC -_081595D8: .4byte gUnknown_20244DC +_081595D8: .4byte gMultiuseSpriteTemplate _081595DC: .4byte gUnknown_2023D44 _081595E0: .4byte gSprites _081595E4: .4byte gUnknown_2024024 @@ -6527,7 +6527,7 @@ sub_8159660: @ 8159660 cmp r0, 0 beq _08159690 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08159690 @@ -6757,7 +6757,7 @@ sub_8159824: @ 8159824 ldr r7, [r0] ldr r4, _081598BC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0815985C @@ -6786,7 +6786,7 @@ _0815985C: cmp r0, r1 bne _0815992C adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08159888 @@ -6956,7 +6956,7 @@ sub_8159998: @ 8159998 cmp r0, r4 bne _08159A48 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _081599DE @@ -7402,7 +7402,7 @@ _08159D62: adds r5, 0x95 adds r4, 0x94 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -7566,7 +7566,7 @@ _08159EA4: bl PlayBGM _08159EC8: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 bl sub_80EF0E0 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index a4e877dcb..44bdd5572 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -623,13 +623,13 @@ SafariHandleDrawTrainerPic: @ 80DD9C4 ldr r0, [r4] ldrb r6, [r0, 0x8] ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r6, 0 - bl sub_803F864 - ldr r0, _080DDA84 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r0, _080DDA84 @ =gMultiuseSpriteTemplate ldr r2, _080DDA88 @ =gUnknown_8239F8C ldr r1, [r4] ldrb r1, [r1, 0x8] @@ -704,7 +704,7 @@ SafariHandleDrawTrainerPic: @ 80DD9C4 .align 2, 0 _080DDA7C: .4byte gSaveBlock2Ptr _080DDA80: .4byte gActiveBattler -_080DDA84: .4byte gUnknown_20244DC +_080DDA84: .4byte gMultiuseSpriteTemplate _080DDA88: .4byte gUnknown_8239F8C _080DDA8C: .4byte gUnknown_2023D44 _080DDA90: .4byte gSprites @@ -760,7 +760,7 @@ sub_80DDAD4: @ 80DDAD4 ldr r5, _080DDB1C @ =gActiveBattler ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -804,7 +804,7 @@ sub_80DDB28: @ 80DDB28 strb r0, [r1] ldrb r4, [r5] movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r2, r0, 0 lsls r2, 24 lsrs r2, 24 @@ -903,7 +903,7 @@ sub_80DDC14: @ 80DDC14 push {lr} ldr r0, _080DDC2C @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080DDC30 @@ -1033,7 +1033,7 @@ sub_80DDD04: @ 80DDD04 adds r0, r1 ldr r1, _080DDD3C @ =sub_80DD82C str r1, [r0] - ldr r1, _080DDD40 @ =gUnknown_2024004 + ldr r1, _080DDD40 @ =gBattlerInMenuId ldrb r0, [r2] strb r0, [r1] add sp, 0x4 @@ -1043,7 +1043,7 @@ sub_80DDD04: @ 80DDD04 _080DDD34: .4byte gUnknown_3004FE0 _080DDD38: .4byte gActiveBattler _080DDD3C: .4byte sub_80DD82C -_080DDD40: .4byte gUnknown_2024004 +_080DDD40: .4byte gBattlerInMenuId thumb_func_end sub_80DDD04 thumb_func_start sub_80DDD44 @@ -1239,7 +1239,7 @@ SafariHandlePlaySE: @ 80DDE70 push {r4,lr} ldr r4, _080DDEAC @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 movs r3, 0x3F cmp r0, 0 diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index feb5fb81c..1795e4b8f 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -129,7 +129,7 @@ _0800D328: cmp r0, 0 bne _0800D356 movs r4, 0 - ldr r0, _0800D360 @ =gUnknown_2023BCC + ldr r0, _0800D360 @ =gBattlersCount ldrb r1, [r0] cmp r4, r1 bge _0800D356 @@ -149,7 +149,7 @@ _0800D356: bx r0 .align 2, 0 _0800D35C: .4byte gBattleTypeFlags -_0800D360: .4byte gUnknown_2023BCC +_0800D360: .4byte gBattlersCount thumb_func_end sub_800D30C thumb_func_start sub_800D364 @@ -177,7 +177,7 @@ sub_800D364: @ 800D364 strb r3, [r0] str r1, [r2, 0x4] strb r4, [r0, 0x1] - ldr r1, _0800D3B0 @ =gUnknown_2023BCC + ldr r1, _0800D3B0 @ =gBattlersCount movs r0, 0x2 b _0800D478 .align 2, 0 @@ -187,7 +187,7 @@ _0800D3A0: .4byte sub_80123C0 _0800D3A4: .4byte gUnknown_3004FE0 _0800D3A8: .4byte sub_81560A4 _0800D3AC: .4byte gUnknown_2023BD6 -_0800D3B0: .4byte gUnknown_2023BCC +_0800D3B0: .4byte gBattlersCount _0800D3B4: movs r0, 0x80 ands r0, r2 @@ -224,7 +224,7 @@ _0800D3E8: str r0, [r2, 0x4] movs r0, 0x1 strb r0, [r1, 0x1] - ldr r1, _0800D410 @ =gUnknown_2023BCC + ldr r1, _0800D410 @ =gBattlersCount movs r0, 0x2 b _0800D478 .align 2, 0 @@ -232,7 +232,7 @@ _0800D400: .4byte gUnknown_3004FE0 _0800D404: .4byte SetBankFuncToPlayerBufferRunCommand _0800D408: .4byte gUnknown_2023BD6 _0800D40C: .4byte sub_8035A7C -_0800D410: .4byte gUnknown_2023BCC +_0800D410: .4byte gBattlersCount _0800D414: ldr r1, _0800D444 @ =gUnknown_3004F84 ldr r0, _0800D448 @ =sub_80123C0 @@ -279,7 +279,7 @@ _0800D458: movs r0, 0x3 strb r0, [r1, 0x3] _0800D474: - ldr r1, _0800D490 @ =gUnknown_2023BCC + ldr r1, _0800D490 @ =gBattlersCount movs r0, 0x4 _0800D478: strb r0, [r1] @@ -291,7 +291,7 @@ _0800D480: .4byte gUnknown_3004FE0 _0800D484: .4byte SetBankFuncToPlayerBufferRunCommand _0800D488: .4byte gUnknown_2023BD6 _0800D48C: .4byte sub_8035A7C -_0800D490: .4byte gUnknown_2023BCC +_0800D490: .4byte gBattlersCount thumb_func_end sub_800D364 thumb_func_start sub_800D494 @@ -323,7 +323,7 @@ sub_800D494: @ 800D494 ldr r0, _0800D4E8 @ =sub_803A668 str r0, [r2, 0x4] strb r5, [r1, 0x1] - ldr r1, _0800D4EC @ =gUnknown_2023BCC + ldr r1, _0800D4EC @ =gBattlersCount movs r0, 0x2 b _0800D752 .align 2, 0 @@ -334,7 +334,7 @@ _0800D4DC: .4byte gUnknown_3004FE0 _0800D4E0: .4byte SetBankFuncToPlayerBufferRunCommand _0800D4E4: .4byte gUnknown_2023BD6 _0800D4E8: .4byte sub_803A668 -_0800D4EC: .4byte gUnknown_2023BCC +_0800D4EC: .4byte gBattlersCount _0800D4F0: ldr r2, _0800D508 @ =gUnknown_3004FE0 ldr r0, _0800D50C @ =SetBankFuncToPlayerBufferRunCommand @@ -344,7 +344,7 @@ _0800D4F0: ldr r0, _0800D514 @ =sub_803A668 str r0, [r2] strb r5, [r1] - ldr r1, _0800D518 @ =gUnknown_2023BCC + ldr r1, _0800D518 @ =gBattlersCount movs r0, 0x2 b _0800D752 .align 2, 0 @@ -352,7 +352,7 @@ _0800D508: .4byte gUnknown_3004FE0 _0800D50C: .4byte SetBankFuncToPlayerBufferRunCommand _0800D510: .4byte gUnknown_2023BD6 _0800D514: .4byte sub_803A668 -_0800D518: .4byte gUnknown_2023BCC +_0800D518: .4byte gBattlersCount _0800D51C: movs r5, 0x41 ands r5, r0 @@ -405,7 +405,7 @@ _0800D56C: movs r0, 0x3 strb r0, [r1, 0x2] _0800D588: - ldr r0, _0800D5A0 @ =gUnknown_2023BCC + ldr r0, _0800D5A0 @ =gBattlersCount strb r6, [r0] b _0800D754 .align 2, 0 @@ -413,7 +413,7 @@ _0800D590: .4byte gUnknown_3004FE0 _0800D594: .4byte SetBankFuncToPlayerBufferRunCommand _0800D598: .4byte gUnknown_2023BD6 _0800D59C: .4byte sub_803A668 -_0800D5A0: .4byte gUnknown_2023BCC +_0800D5A0: .4byte gBattlersCount _0800D5A4: bl GetMultiplayerId lsls r0, 24 @@ -639,7 +639,7 @@ _0800D740: bgt _0800D74E b _0800D5D0 _0800D74E: - ldr r1, _0800D764 @ =gUnknown_2023BCC + ldr r1, _0800D764 @ =gBattlersCount movs r0, 0x4 _0800D752: strb r0, [r1] @@ -652,7 +652,7 @@ _0800D754: pop {r0} bx r0 .align 2, 0 -_0800D764: .4byte gUnknown_2023BCC +_0800D764: .4byte gBattlersCount thumb_func_end sub_800D494 thumb_func_start sub_800D768 @@ -801,7 +801,7 @@ _0800D888: _0800D890: mov r8, r10 _0800D892: - ldr r0, _0800D8AC @ =gUnknown_2023BCC + ldr r0, _0800D8AC @ =gBattlersCount ldrb r0, [r0] cmp r8, r0 bge _0800D89C @@ -815,7 +815,7 @@ _0800D89C: pop {r0} bx r0 .align 2, 0 -_0800D8AC: .4byte gUnknown_2023BCC +_0800D8AC: .4byte gBattlersCount thumb_func_end sub_800D768 thumb_func_start PrepareBufferDataTransfer @@ -1709,8 +1709,8 @@ _0800DF9C: .4byte gBitTable _0800DFA0: .4byte gTasks thumb_func_end Task_HandleCopyReceivedLinkBuffersData - thumb_func_start EmitGetMonData -EmitGetMonData: @ 800DFA4 + thumb_func_start BtlController_EmitGetMonData +BtlController_EmitGetMonData: @ 800DFA4 push {r4,lr} adds r4, r1, 0 lsls r0, 24 @@ -1728,7 +1728,7 @@ EmitGetMonData: @ 800DFA4 bx r0 .align 2, 0 _0800DFC4: .4byte gUnknown_2022874 - thumb_func_end EmitGetMonData + thumb_func_end BtlController_EmitGetMonData thumb_func_start EmitGetRawMonData EmitGetRawMonData: @ 800DFC8 @@ -2106,7 +2106,7 @@ EmitMoveAnimation: @ 800E1FC movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -2116,7 +2116,7 @@ EmitMoveAnimation: @ 800E1FC movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0800E29C @@ -2194,7 +2194,7 @@ EmitPrintString: @ 800E2D4 ldr r0, _0800E3C4 @ =gUnknown_2023D68 ldrh r0, [r0] strh r0, [r1, 0x4] - ldr r0, _0800E3C8 @ =gUnknown_2023D6A + ldr r0, _0800E3C8 @ =gLastUsedAbility ldrb r0, [r0] strb r0, [r1, 0x6] ldr r0, _0800E3CC @ =gBattleScripting @@ -2210,7 +2210,7 @@ EmitPrintString: @ 800E2D4 adds r0, 0xAD ldrb r0, [r0] strb r0, [r3, 0x9] - ldr r0, _0800E3D4 @ =gUnknown_2023D6F + ldr r0, _0800E3D4 @ =gPotentialItemEffectBattler ldrb r0, [r0] strb r0, [r3, 0xA] ldr r3, _0800E3D8 @ =gBattleMoves @@ -2281,10 +2281,10 @@ _0800E3B8: .4byte gUnknown_2023E8A _0800E3BC: .4byte gCurrentMove _0800E3C0: .4byte gUnknown_2023D4C _0800E3C4: .4byte gUnknown_2023D68 -_0800E3C8: .4byte gUnknown_2023D6A +_0800E3C8: .4byte gLastUsedAbility _0800E3CC: .4byte gBattleScripting _0800E3D0: .4byte gBattleStruct -_0800E3D4: .4byte gUnknown_2023D6F +_0800E3D4: .4byte gPotentialItemEffectBattler _0800E3D8: .4byte gBattleMoves _0800E3DC: .4byte gUnknown_2022AD8 _0800E3E0: .4byte gBattleMons @@ -2323,7 +2323,7 @@ EmitPrintSelectionString: @ 800E3EC ldr r0, _0800E4B4 @ =gUnknown_2023D68 ldrh r0, [r0] strh r0, [r1, 0x4] - ldr r0, _0800E4B8 @ =gUnknown_2023D6A + ldr r0, _0800E4B8 @ =gLastUsedAbility ldrb r0, [r0] strb r0, [r1, 0x6] ldr r0, _0800E4BC @ =gBattleScripting @@ -2393,7 +2393,7 @@ _0800E4A8: .4byte gUnknown_2022874 _0800E4AC: .4byte gCurrentMove _0800E4B0: .4byte gUnknown_2023D4C _0800E4B4: .4byte gUnknown_2023D68 -_0800E4B8: .4byte gUnknown_2023D6A +_0800E4B8: .4byte gLastUsedAbility _0800E4BC: .4byte gBattleScripting _0800E4C0: .4byte gBattleStruct _0800E4C4: .4byte gUnknown_2022AD8 diff --git a/asm/battle_dome_cards.s b/asm/battle_dome_cards.s index 877f1ee42..3ff8f9318 100644 --- a/asm/battle_dome_cards.s +++ b/asm/battle_dome_cards.s @@ -291,7 +291,7 @@ _0810BD90: .4byte gUnknown_203AD40 _0810BD94: .4byte gUnknown_82349BC _0810BD98: ldr r0, _0810BDA4 @ =gUnknown_203AD40 - ldr r1, _0810BDA8 @ =gUnknown_82390DC + ldr r1, _0810BDA8 @ =gTrainerFrontAnimsPtrTable ldr r1, [r1] str r1, [r0, 0x8] _0810BDA0: @@ -299,7 +299,7 @@ _0810BDA0: bx r0 .align 2, 0 _0810BDA4: .4byte gUnknown_203AD40 -_0810BDA8: .4byte gUnknown_82390DC +_0810BDA8: .4byte gTrainerFrontAnimsPtrTable thumb_func_end uns_builder_assign_animtable1 thumb_func_start oamt_spawn_poke_or_trainer_picture @@ -1082,21 +1082,21 @@ sub_810C374: @ 810C374 bne _0810C39A cmp r0, 0 beq _0810C394 - ldr r0, _0810C390 @ =gUnknown_82538A8 + ldr r0, _0810C390 @ =gFacilityClassToPicIndex adds r0, 0x87 ldrb r0, [r0] b _0810C39A .align 2, 0 -_0810C390: .4byte gUnknown_82538A8 +_0810C390: .4byte gFacilityClassToPicIndex _0810C394: - ldr r0, _0810C3A0 @ =gUnknown_82538A8 + ldr r0, _0810C3A0 @ =gFacilityClassToPicIndex adds r0, 0x86 ldrb r0, [r0] _0810C39A: pop {r1} bx r1 .align 2, 0 -_0810C3A0: .4byte gUnknown_82538A8 +_0810C3A0: .4byte gFacilityClassToPicIndex thumb_func_end sub_810C374 .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index e56df1923..1aa87e8a4 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -753,12 +753,12 @@ _0803436C: bl GetMonData mov r10, r0 mov r0, r8 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsls r2, r5, 3 ldr r1, _080343C4 @ =gUnknown_82350AC adds r2, r1 - ldr r1, _080343C8 @ =gUnknown_202401C + ldr r1, _080343C8 @ =gMonSpritesGfxPtr ldr r1, [r1] lsrs r0, 22 adds r1, 0x4 @@ -789,7 +789,7 @@ _0803436C: .align 2, 0 _080343C0: .4byte gUnknown_2024008 _080343C4: .4byte gUnknown_82350AC -_080343C8: .4byte gUnknown_202401C +_080343C8: .4byte gMonSpritesGfxPtr _080343CC: .4byte gUnknown_2024018 _080343D0: adds r0, r5, 0 @@ -924,7 +924,7 @@ _080344E4: bl GetMonData str r0, [sp, 0x4] mov r0, r8 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r7, r0, 24 movs r0, 0x1 @@ -948,7 +948,7 @@ _0803451C: lsls r0, r5, 3 ldr r1, _08034540 @ =gUnknown_823654C adds r0, r1 - ldr r1, _08034544 @ =gUnknown_202401C + ldr r1, _08034544 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r2, r7, 2 adds r1, 0x4 @@ -962,12 +962,12 @@ _0803451C: _08034538: .4byte gUnknown_2024008 _0803453C: .4byte gUnknown_2024018 _08034540: .4byte gUnknown_823654C -_08034544: .4byte gUnknown_202401C +_08034544: .4byte gMonSpritesGfxPtr _08034548: lsls r0, r5, 3 ldr r1, _08034584 @ =gUnknown_823654C adds r0, r1 - ldr r1, _08034588 @ =gUnknown_202401C + ldr r1, _08034588 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r2, r7, 2 adds r1, 0x4 @@ -995,7 +995,7 @@ _08034562: b _0803459A .align 2, 0 _08034584: .4byte gUnknown_823654C -_08034588: .4byte gUnknown_202401C +_08034588: .4byte gMonSpritesGfxPtr _0803458C: .4byte gUnknown_2024018 _08034590: adds r0, r5, 0 @@ -1091,10 +1091,10 @@ sub_8034658: @ 8034658 lsls r4, r1, 24 lsrs r4, 24 adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 ldr r2, _080346B8 @ =gUnknown_8E93B38 - ldr r1, _080346BC @ =gUnknown_202401C + ldr r1, _080346BC @ =gMonSpritesGfxPtr ldr r1, [r1] lsrs r0, 22 adds r1, 0x4 @@ -1129,7 +1129,7 @@ sub_8034658: @ 8034658 bx r0 .align 2, 0 _080346B8: .4byte gUnknown_8E93B38 -_080346BC: .4byte gUnknown_202401C +_080346BC: .4byte gMonSpritesGfxPtr _080346C0: .4byte gUnknown_8E93B14 thumb_func_end sub_8034658 @@ -1145,13 +1145,13 @@ sub_80346C4: @ 80346C4 lsrs r5, 16 lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition adds r4, r0, 0 lsls r4, 24 lsls r5, 3 ldr r6, _0803473C @ =gUnknown_823957C adds r6, r5, r6 - ldr r0, _08034740 @ =gUnknown_202401C + ldr r0, _08034740 @ =gMonSpritesGfxPtr mov r8, r0 ldr r0, [r0] lsrs r4, 22 @@ -1193,7 +1193,7 @@ sub_80346C4: @ 80346C4 bx r0 .align 2, 0 _0803473C: .4byte gUnknown_823957C -_08034740: .4byte gUnknown_202401C +_08034740: .4byte gMonSpritesGfxPtr _08034744: .4byte 0xffff0000 _08034748: .4byte 0x0000ffff _0803474C: .4byte gUnknown_8239A1C @@ -1467,7 +1467,7 @@ _0803495A: LoadBattleBarGfx: @ 8034964 push {lr} ldr r0, _0803497C @ =gUnknown_8D093D8 - ldr r1, _08034980 @ =gUnknown_202401C + ldr r1, _08034980 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBA lsls r2, 1 @@ -1478,7 +1478,7 @@ LoadBattleBarGfx: @ 8034964 bx r0 .align 2, 0 _0803497C: .4byte gUnknown_8D093D8 -_08034980: .4byte gUnknown_202401C +_08034980: .4byte gMonSpritesGfxPtr thumb_func_end LoadBattleBarGfx thumb_func_start BattleInitAllSprites @@ -1577,7 +1577,7 @@ _08034A34: _08034A44: .4byte gUnknown_3004FF0 _08034A48: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08034A90 @@ -1632,7 +1632,7 @@ _08034ABA: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _08034AE4 @ =gUnknown_2023BCC + ldr r1, _08034AE4 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -1650,7 +1650,7 @@ _08034AD0: _08034AD8: .4byte gUnknown_3004FF0 _08034ADC: .4byte gBattlerPartyIndexes _08034AE0: .4byte gEnemyParty -_08034AE4: .4byte gUnknown_2023BCC +_08034AE4: .4byte gBattlersCount _08034AE8: bl LoadAndCreateEnemyShadowSprites bl sub_8127CAC @@ -1706,7 +1706,7 @@ CopyAllBattleSpritesInvisibilities: @ 8034B40 mov r6, r8 push {r6,r7} movs r4, 0 - ldr r5, _08034BA4 @ =gUnknown_2023BCC + ldr r5, _08034BA4 @ =gBattlersCount ldrb r0, [r5] cmp r4, r0 bge _08034B96 @@ -1753,7 +1753,7 @@ _08034B96: pop {r0} bx r0 .align 2, 0 -_08034BA4: .4byte gUnknown_2023BCC +_08034BA4: .4byte gBattlersCount _08034BA8: .4byte gSprites _08034BAC: .4byte gUnknown_2024018 _08034BB0: .4byte gUnknown_2023D44 @@ -1813,7 +1813,7 @@ sub_8034BF4: @ 8034BF4 beq _08034C16 b _08034D88 _08034C16: - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 mov r10, r0 @@ -1854,7 +1854,7 @@ _08034C16: lsls r0, r1, 3 ldr r1, _08034D60 @ =gUnknown_82350AC adds r0, r1 - ldr r4, _08034D64 @ =gUnknown_202401C + ldr r4, _08034D64 @ =gMonSpritesGfxPtr ldr r1, [r4] mov r2, r10 lsls r5, r2, 2 @@ -1940,10 +1940,10 @@ _08034C16: movs r1, 0xB mov r2, r8 muls r2, r1 - ldr r1, _08034D80 @ =gUnknown_8245EE0 + ldr r1, _08034D80 @ =gSpeciesNames adds r2, r1 movs r1, 0x2 - bl sub_804037C + bl SetMonData ldr r4, _08034D84 @ =gUnknown_3004FF0 add r4, r9 ldrb r0, [r4] @@ -1962,14 +1962,14 @@ _08034C16: _08034D58: .4byte gBattlerPartyIndexes _08034D5C: .4byte gEnemyParty _08034D60: .4byte gUnknown_82350AC -_08034D64: .4byte gUnknown_202401C +_08034D64: .4byte gMonSpritesGfxPtr _08034D68: .4byte gSprites _08034D6C: .4byte gUnknown_2023D44 _08034D70: .4byte 0x06010000 _08034D74: .4byte 0x040000d4 _08034D78: .4byte 0x84000200 _08034D7C: .4byte gUnknown_2024024 -_08034D80: .4byte gUnknown_8245EE0 +_08034D80: .4byte gSpeciesNames _08034D84: .4byte gUnknown_3004FF0 _08034D88: cmp r2, 0 @@ -2059,12 +2059,12 @@ _08034E44: .4byte gUnknown_20371F8 _08034E48: .4byte 0x04000008 _08034E4C: mov r0, r9 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 mov r10, r0 ldr r0, [sp] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2098,7 +2098,7 @@ _08034E90: lsrs r0, 16 mov r8, r0 mov r0, r9 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08034F10 @@ -2124,7 +2124,7 @@ _08034E90: lsls r0, r2, 3 ldr r1, _08034F04 @ =gUnknown_823654C adds r0, r1 - ldr r1, _08034F08 @ =gUnknown_202401C + ldr r1, _08034F08 @ =gMonSpritesGfxPtr ldr r1, [r1] mov r3, r10 lsls r5, r3, 2 @@ -2143,7 +2143,7 @@ _08034E90: _08034EFC: .4byte gBattlerPartyIndexes _08034F00: .4byte gPlayerParty _08034F04: .4byte gUnknown_823654C -_08034F08: .4byte gUnknown_202401C +_08034F08: .4byte gMonSpritesGfxPtr _08034F0C: .4byte gUnknown_2024008 _08034F10: ldr r0, _08035074 @ =gBattlerPartyIndexes @@ -2168,7 +2168,7 @@ _08034F10: lsls r0, r2, 3 ldr r1, _0803507C @ =gUnknown_82350AC adds r0, r1 - ldr r1, _08035080 @ =gUnknown_202401C + ldr r1, _08035080 @ =gMonSpritesGfxPtr ldr r1, [r1] mov r3, r10 lsls r5, r3, 2 @@ -2184,7 +2184,7 @@ _08034F10: bl HandleLoadSpecialPokePic_DontHandleDeoxys _08034F5E: str r4, [sp, 0x14] - ldr r0, _08035080 @ =gUnknown_202401C + ldr r0, _08035080 @ =gMonSpritesGfxPtr ldr r0, [r0] adds r0, 0x4 adds r0, r5 @@ -2316,7 +2316,7 @@ _08035062: _08035074: .4byte gBattlerPartyIndexes _08035078: .4byte gEnemyParty _0803507C: .4byte gUnknown_82350AC -_08035080: .4byte gUnknown_202401C +_08035080: .4byte gMonSpritesGfxPtr _08035084: .4byte gUnknown_2024008 _08035088: .4byte gUnknown_2023D44 _0803508C: .4byte gSprites @@ -2343,16 +2343,16 @@ sub_80350BC: @ 80350BC cmp r1, 0 bne _08035158 adds r0, r4, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080350FC ldr r0, _080350F4 @ =gUnknown_8D2D0B4 - ldr r1, _080350F8 @ =gUnknown_202401C + ldr r1, _080350F8 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r4, r5, 2 adds r1, 0x4 @@ -2362,10 +2362,10 @@ sub_80350BC: @ 80350BC b _0803510E .align 2, 0 _080350F4: .4byte gUnknown_8D2D0B4 -_080350F8: .4byte gUnknown_202401C +_080350F8: .4byte gMonSpritesGfxPtr _080350FC: ldr r0, _08035144 @ =gUnknown_8D2D2F4 - ldr r1, _08035148 @ =gUnknown_202401C + ldr r1, _08035148 @ =gMonSpritesGfxPtr ldr r1, [r1] lsls r4, r5, 2 adds r1, 0x4 @@ -2376,7 +2376,7 @@ _0803510E: movs r3, 0x1 lsls r6, 4 ldr r7, _0803514C @ =gUnknown_8D2D090 - ldr r0, _08035148 @ =gUnknown_202401C + ldr r0, _08035148 @ =gMonSpritesGfxPtr ldr r0, [r0] adds r0, 0x4 adds r4, r0, r4 @@ -2402,13 +2402,13 @@ _08035120: b _0803519A .align 2, 0 _08035144: .4byte gUnknown_8D2D2F4 -_08035148: .4byte gUnknown_202401C +_08035148: .4byte gMonSpritesGfxPtr _0803514C: .4byte gUnknown_8D2D090 _08035150: .4byte 0x040000d4 _08035154: .4byte 0x84000200 _08035158: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08035184 @@ -2640,7 +2640,7 @@ _0803530E: BattleStopLowHpSound: @ 8035314 push {r4-r6,lr} movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 ldr r5, _08035364 @ =gUnknown_2024018 @@ -2720,12 +2720,12 @@ sub_803539C: @ 803539C cmp r0, 0 beq _08035432 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 mov r8, r0 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -2799,7 +2799,7 @@ sub_8035450: @ 8035450 lsrs r0, 24 mov r8, r0 movs r5, 0 - ldr r0, _080354E0 @ =gUnknown_2023BCC + ldr r0, _080354E0 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _08035520 @@ -2862,7 +2862,7 @@ _0803547C: strb r1, [r0, 0x3] b _08035514 .align 2, 0 -_080354E0: .4byte gUnknown_2023BCC +_080354E0: .4byte gBattlersCount _080354E4: .4byte gSprites _080354E8: .4byte gUnknown_2023D44 _080354EC: .4byte gUnknown_2024018 @@ -2888,7 +2888,7 @@ _080354F0: _08035514: adds r6, 0xC adds r5, 0x1 - ldr r0, _08035534 @ =gUnknown_2023BCC + ldr r0, _08035534 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0803547C @@ -2902,7 +2902,7 @@ _08035520: bx r0 .align 2, 0 _08035530: .4byte gUnknown_2024018 -_08035534: .4byte gUnknown_2023BCC +_08035534: .4byte gBattlersCount thumb_func_end sub_8035450 thumb_func_start LoadAndCreateEnemyShadowSprites @@ -2913,7 +2913,7 @@ LoadAndCreateEnemyShadowSprites: @ 8035538 ldr r0, _08035614 @ =gUnknown_8250A0C bl sub_800F034 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -2962,7 +2962,7 @@ LoadAndCreateEnemyShadowSprites: @ 8035538 cmp r0, 0 beq _0803560A movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 @@ -3147,7 +3147,7 @@ SetBankEnemyShadowSpriteCallback: @ 8035708 lsls r1, 16 lsrs r5, r1, 16 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08035784 @@ -3395,7 +3395,7 @@ AllocateMonSpritesGfx: @ 80358D4 mov r5, r8 push {r5-r7} movs r6, 0 - ldr r4, _080359A4 @ =gUnknown_202401C + ldr r4, _080359A4 @ =gMonSpritesGfxPtr str r6, [r4] movs r0, 0xC0 lsls r0, 1 @@ -3407,7 +3407,7 @@ AllocateMonSpritesGfx: @ 80358D4 ldr r1, [r4] str r0, [r1] _080358FA: - ldr r0, _080359A4 @ =gUnknown_202401C + ldr r0, _080359A4 @ =gMonSpritesGfxPtr ldr r1, [r0] lsls r4, r6, 2 adds r2, r1, 0x4 @@ -3436,7 +3436,7 @@ _080358FA: mov r12, r8 adds r7, r4, 0 _08035932: - ldr r2, _080359A4 @ =gUnknown_202401C + ldr r2, _080359A4 @ =gMonSpritesGfxPtr ldr r1, [r2] lsls r4, r5, 3 add r4, r12 @@ -3459,7 +3459,7 @@ _08035932: lsrs r5, r0, 24 cmp r5, 0x3 bls _08035932 - ldr r1, _080359A4 @ =gUnknown_202401C + ldr r1, _080359A4 @ =gMonSpritesGfxPtr ldr r2, [r1] mov r5, r9 adds r0, r5, r6 @@ -3479,7 +3479,7 @@ _08035932: movs r0, 0x80 lsls r0, 5 bl AllocZeroed - ldr r1, _080359A4 @ =gUnknown_202401C + ldr r1, _080359A4 @ =gMonSpritesGfxPtr ldr r1, [r1] movs r2, 0xBA lsls r2, 1 @@ -3493,14 +3493,14 @@ _08035932: pop {r0} bx r0 .align 2, 0 -_080359A4: .4byte gUnknown_202401C +_080359A4: .4byte gMonSpritesGfxPtr _080359A8: .4byte gUnknown_825DEF0 thumb_func_end AllocateMonSpritesGfx thumb_func_start FreeMonSpritesGfx FreeMonSpritesGfx: @ 80359AC push {r4-r6,lr} - ldr r6, _08035A24 @ =gUnknown_202401C + ldr r6, _08035A24 @ =gMonSpritesGfxPtr ldr r0, [r6] cmp r0, 0 beq _08035A1E @@ -3558,7 +3558,7 @@ _08035A1E: pop {r0} bx r0 .align 2, 0 -_08035A24: .4byte gUnknown_202401C +_08035A24: .4byte gMonSpritesGfxPtr thumb_func_end FreeMonSpritesGfx thumb_func_start ShouldPlayNormalPokeCry diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 3e3fb6500..76fc42280 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -273,7 +273,7 @@ CreateBankHealthboxSprites: @ 8047CE0 cmp r0, 0 bne _08047DF4 mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08047D78 @@ -385,12 +385,12 @@ _08047DEC: .4byte 0xfffffc00 _08047DF0: .4byte sub_8048128 _08047DF4: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08047E98 mov r0, r10 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 25 @@ -406,7 +406,7 @@ _08047DF4: lsls r0, 24 lsrs r6, r0, 24 mov r0, r10 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 25 @@ -459,7 +459,7 @@ _08047E90: .4byte 0xfffffc00 _08047E94: .4byte sub_8048128 _08047E98: mov r0, r10 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 25 @@ -475,7 +475,7 @@ _08047E98: lsls r0, 24 lsrs r6, r0, 24 mov r0, r10 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 25 @@ -544,7 +544,7 @@ _08047F1C: mov r8, r1 add r4, r8 mov r0, r10 - bl GetBankSide + bl GetBattlerSide adds r1, r0, 0 lsls r1, 24 lsrs r1, 21 @@ -984,7 +984,7 @@ UpdateOamPriorityInAllHealthboxes: @ 804828C lsls r0, 24 lsrs r0, 24 movs r6, 0 - ldr r1, _08048310 @ =gUnknown_2023BCC + ldr r1, _08048310 @ =gBattlersCount mov r8, r1 ldrb r2, [r1] cmp r6, r2 @@ -1046,7 +1046,7 @@ _08048304: pop {r0} bx r0 .align 2, 0 -_08048310: .4byte gUnknown_2023BCC +_08048310: .4byte gBattlersCount _08048314: .4byte gSprites _08048318: .4byte gUnknown_3004FF0 thumb_func_end UpdateOamPriorityInAllHealthboxes @@ -1063,7 +1063,7 @@ SetBankHealthboxSpritePos: @ 804831C cmp r0, 0 bne _08048348 adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08048342 @@ -1076,7 +1076,7 @@ _08048342: b _08048380 _08048348: adds r0, r6, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1165,7 +1165,7 @@ UpdateLvlInHealthbox: @ 8048398 ldrh r0, [r1, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048420 @@ -1226,7 +1226,7 @@ sub_8048440: @ 8048440 ldrh r0, [r4, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048514 @@ -1321,7 +1321,7 @@ _08048514: cmp r0, 0x1 beq _0804854C adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1341,7 +1341,7 @@ _08048564: ldrh r0, [r7, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048580 @@ -1366,7 +1366,7 @@ _0804858A: movs r2, 0x1 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r0, _08048608 @ =gUnknown_202401C + ldr r0, _08048608 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1387,7 +1387,7 @@ _0804858A: lsls r0, 2 adds r4, r0, r1 _080485C6: - ldr r0, _08048608 @ =gUnknown_202401C + ldr r0, _08048608 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1421,7 +1421,7 @@ _080485F8: pop {r0} bx r0 .align 2, 0 -_08048608: .4byte gUnknown_202401C +_08048608: .4byte gMonSpritesGfxPtr _0804860C: .4byte gSprites _08048610: .4byte 0x06010000 _08048614: .4byte 0x04000008 @@ -1492,7 +1492,7 @@ _0804866A: ldr r1, _08048704 @ =gUnknown_8260540 bl StringCopy _08048698: - ldr r0, _08048708 @ =gUnknown_202401C + ldr r0, _08048708 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r3, 0xBA lsls r3, 1 @@ -1517,7 +1517,7 @@ _08048698: _080486C6: cmp r4, 0x2 bhi _08048714 - ldr r0, _08048708 @ =gUnknown_202401C + ldr r0, _08048708 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1543,11 +1543,11 @@ _080486F8: .4byte gUnknown_8260542 _080486FC: .4byte gSprites _08048700: .4byte gUnknown_2024018 _08048704: .4byte gUnknown_8260540 -_08048708: .4byte gUnknown_202401C +_08048708: .4byte gMonSpritesGfxPtr _0804870C: .4byte 0x06010000 _08048710: .4byte 0x04000008 _08048714: - ldr r0, _08048790 @ =gUnknown_202401C + ldr r0, _08048790 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r3, 0xBA lsls r3, 1 @@ -1577,7 +1577,7 @@ _08048748: mov r3, r8 cmp r3, 0 bne _080487A8 - ldr r0, _08048790 @ =gUnknown_202401C + ldr r0, _08048790 @ =gMonSpritesGfxPtr ldr r0, [r0] movs r1, 0xBA lsls r1, 1 @@ -1608,7 +1608,7 @@ _08048748: bl CpuSet b _080487DC .align 2, 0 -_08048790: .4byte gUnknown_202401C +_08048790: .4byte gMonSpritesGfxPtr _08048794: .4byte 0x06010020 _08048798: .4byte 0x04000008 _0804879C: .4byte gSprites @@ -1616,7 +1616,7 @@ _080487A0: .4byte 0x06010000 _080487A4: .4byte 0x05000008 _080487A8: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080487DC @@ -1678,8 +1678,8 @@ sub_80487F8: @ 80487F8 ldrh r0, [r0, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankIdentity - ldr r1, _080488B4 @ =gUnknown_202401C + bl GetBattlerPosition + ldr r1, _080488B4 @ =gMonSpritesGfxPtr ldr r2, [r1] movs r3, 0xBA lsls r3, 1 @@ -1745,7 +1745,7 @@ _080488A8: .align 2, 0 _080488AC: .4byte gUnknown_826052C _080488B0: .4byte gSprites -_080488B4: .4byte gUnknown_202401C +_080488B4: .4byte gMonSpritesGfxPtr _080488B8: .4byte gUnknown_8463E60 _080488BC: adds r0, r1, 0 @@ -1866,7 +1866,7 @@ _08048966: adds r2, r0, 0 movs r0, 0xBA strb r0, [r2, 0x8] - ldr r5, _08048A08 @ =gUnknown_202401C + ldr r5, _08048A08 @ =gMonSpritesGfxPtr ldr r0, [r5] movs r2, 0xBA lsls r2, 1 @@ -1910,7 +1910,7 @@ _080489F8: .4byte 0x04000008 _080489FC: .4byte gSprites _08048A00: .4byte 0x06010000 _08048A04: .4byte gBattleStruct -_08048A08: .4byte gUnknown_202401C +_08048A08: .4byte gMonSpritesGfxPtr _08048A0C: ldr r0, [r5] movs r3, 0xBA @@ -1955,7 +1955,7 @@ sub_8048A4C: @ 8048A4C sub sp, 0x4 movs r0, 0 mov r9, r0 - ldr r0, _08048B78 @ =gUnknown_2023BCC + ldr r0, _08048B78 @ =gBattlersCount ldrb r0, [r0] cmp r9, r0 blt _08048A66 @@ -1986,7 +1986,7 @@ _08048A8C: lsls r0, r2, 24 lsrs r7, r0, 24 adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1998,7 +1998,7 @@ _08048AA2: cmp r0, 0 bne _08048ABA adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048ABA @@ -2032,7 +2032,7 @@ _08048ABA: lsls r0, 27 lsrs r4, r0, 31 adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048BE8 @@ -2096,7 +2096,7 @@ _08048B16: ldr r2, _08048B9C @ =gPlayerParty b _08048C6E .align 2, 0 -_08048B78: .4byte gUnknown_2023BCC +_08048B78: .4byte gBattlersCount _08048B7C: .4byte gSprites _08048B80: .4byte gBattlerPartyIndexes _08048B84: .4byte gUnknown_3004FF0 @@ -2258,7 +2258,7 @@ _08048CE0: add r8, r0 movs r1, 0x1 add r9, r1 - ldr r0, _08048D10 @ =gUnknown_2023BCC + ldr r0, _08048D10 @ =gBattlersCount ldrb r0, [r0] cmp r9, r0 bge _08048CF2 @@ -2276,7 +2276,7 @@ _08048CF2: _08048D04: .4byte gEnemyParty _08048D08: .4byte gBattleTypeFlags _08048D0C: .4byte gUnknown_3004FF0 -_08048D10: .4byte gUnknown_2023BCC +_08048D10: .4byte gBattlersCount thumb_func_end sub_8048A4C thumb_func_start sub_8048D14 @@ -2299,14 +2299,14 @@ sub_8048D14: @ 8048D14 str r3, [sp, 0x10] cmp r4, 0 beq _08048D44 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _08048D88 _08048D44: ldr r0, [sp, 0x8] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08048D64 @@ -2588,7 +2588,7 @@ _08048F66: b _08048E80 _08048F86: ldr r0, [sp, 0x8] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0804906E @@ -2966,7 +2966,7 @@ _0804925A: _08049268: ldr r0, [sp, 0x8] str r3, [sp, 0x14] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 ldr r3, [sp, 0x14] @@ -3592,7 +3592,7 @@ sub_80496C0: @ 80496C0 _08049720: movs r0, 0xB muls r1, r0 - ldr r0, _08049768 @ =gUnknown_8245EE0 + ldr r0, _08049768 @ =gSpeciesNames adds r1, r0 mov r0, sp bl StringCompare @@ -3625,7 +3625,7 @@ _08049754: .align 2, 0 _08049760: .4byte gUnknown_202298C _08049764: .4byte gUnknown_8260556 -_08049768: .4byte gUnknown_8245EE0 +_08049768: .4byte gSpeciesNames _0804976C: .4byte gSprites _08049770: movs r0, 0xB @@ -3659,7 +3659,7 @@ _08049782: ldrh r0, [r1, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080497F8 @@ -3742,7 +3742,7 @@ sub_804981C: @ 804981C lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0804991C @@ -3862,7 +3862,7 @@ UpdateStatusIconInHealthbox: @ 8049934 lsrs r0, 24 mov r10, r0 adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080499A4 @@ -4090,7 +4090,7 @@ _08049AF4: cmp r0, 0x1 beq _08049B62 adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -4386,7 +4386,7 @@ UpdateHealthboxAttribute: @ 8049D98 cmp r0, 0 bne _08049DD4 mov r0, r9 - bl GetBankSide + bl GetBattlerSide _08049DD4: ldr r1, _08049F44 @ =gSprites lsls r0, r6, 4 @@ -4396,7 +4396,7 @@ _08049DD4: ldrh r0, [r0, 0x3A] lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08049DF0 @@ -4499,7 +4499,7 @@ _08049E96: movs r1, 0x19 bl GetMonData adds r3, r0, 0 - ldr r0, _08049F48 @ =gUnknown_8253AE4 + ldr r0, _08049F48 @ =gExperienceTables mov r12, r0 lsls r1, r4, 2 ldr r2, _08049F4C @ =gBaseStats @@ -4565,7 +4565,7 @@ _08049F2E: b _08049FC6 .align 2, 0 _08049F44: .4byte gSprites -_08049F48: .4byte gUnknown_8253AE4 +_08049F48: .4byte gExperienceTables _08049F4C: .4byte gBaseStats _08049F50: cmp r7, 0x3 diff --git a/asm/battle_message.s b/asm/battle_message.s index 9a9ca1f2f..5b98e90f0 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -26,7 +26,7 @@ sub_80D7274: @ 80D7274 ldr r2, _080D733C @ =gUnknown_2023D68 ldrh r0, [r1, 0x4] strh r0, [r2] - ldr r2, _080D7340 @ =gUnknown_2023D6A + ldr r2, _080D7340 @ =gLastUsedAbility ldrb r0, [r1, 0x6] strb r0, [r2] ldr r5, _080D7344 @ =gBattleScripting @@ -42,7 +42,7 @@ sub_80D7274: @ 80D7274 ldr r1, [r4] ldrb r1, [r1, 0x9] strb r1, [r0] - ldr r1, _080D734C @ =gUnknown_2023D6F + ldr r1, _080D734C @ =gPotentialItemEffectBattler ldr r2, [r4] ldrb r0, [r2, 0xA] strb r0, [r1] @@ -109,10 +109,10 @@ _080D7330: .4byte gUnknown_2039A34 _080D7334: .4byte gActiveBattler _080D7338: .4byte gUnknown_2022BC8 _080D733C: .4byte gUnknown_2023D68 -_080D7340: .4byte gUnknown_2023D6A +_080D7340: .4byte gLastUsedAbility _080D7344: .4byte gBattleScripting _080D7348: .4byte gBattleStruct -_080D734C: .4byte gUnknown_2023D6F +_080D734C: .4byte gPotentialItemEffectBattler _080D7350: .4byte gUnknown_2022AB8 _080D7354: .4byte gUnknown_2039A30 _080D7358: .4byte gUnknown_2022AC8 @@ -217,7 +217,7 @@ _080D7424: .4byte gUnknown_83FD2AA _080D7428: mov r1, r12 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D7468 @@ -297,7 +297,7 @@ _080D74C4: .4byte gUnknown_83FD3B1 _080D74C8: mov r1, r12 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D7520 @@ -369,7 +369,7 @@ _080D7554: .4byte gUnknown_83FD522 _080D7558: mov r1, r10 ldrb r0, [r1, 0x17] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D75B0 @@ -497,7 +497,7 @@ _080D7654: strb r0, [r4] mov r1, r12 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -552,7 +552,7 @@ _080D76D0: .4byte gUnknown_83FE9D4 _080D76D4: mov r1, r12 ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -924,7 +924,7 @@ _080D79F4: _080D79FC: .4byte gStringVar3 _080D7A00: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7A1C @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -940,7 +940,7 @@ _080D7A1C: .4byte gBattlerPartyIndexes _080D7A20: .4byte gPlayerParty _080D7A24: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7A40 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -956,7 +956,7 @@ _080D7A40: .4byte gBattlerPartyIndexes _080D7A44: .4byte gEnemyParty _080D7A48: movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7A64 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -972,7 +972,7 @@ _080D7A64: .4byte gBattlerPartyIndexes _080D7A68: .4byte gPlayerParty _080D7A6C: movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7A88 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -1075,7 +1075,7 @@ _080D7B48: .4byte gEnemyParty _080D7B4C: ldr r4, _080D7B70 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 adds r2, r4, 0 cmp r0, 0 @@ -1106,11 +1106,11 @@ _080D7B8A: cmp r0, 0xFF bne _080D7B80 ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r0, 0x1 ands r0, r1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7BB8 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -1126,11 +1126,11 @@ _080D7BB8: .4byte gBattlerPartyIndexes _080D7BBC: .4byte gEnemyParty _080D7BC0: ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r0, 0x1 ands r0, r1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7BDC @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -1142,16 +1142,16 @@ _080D7BDC: .4byte gBattlerPartyIndexes _080D7BE0: ldr r4, _080D7C14 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D7C20 ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r0, 0x1 ands r0, r1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7C18 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -1169,11 +1169,11 @@ _080D7C18: .4byte gBattlerPartyIndexes _080D7C1C: .4byte gPlayerParty _080D7C20: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r0, 0x1 ands r0, r1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _080D7C44 @ =gBattlerPartyIndexes lsls r0, 24 lsrs r0, 23 @@ -1190,7 +1190,7 @@ _080D7C48: .4byte gEnemyParty _080D7C4C: ldr r5, _080D7C98 @ =sBattler_AI ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7CB0 @@ -1246,7 +1246,7 @@ _080D7CBC: .4byte gBattlerPartyIndexes _080D7CC0: ldr r5, _080D7D0C @ =gBattlerTarget ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7D24 @@ -1302,7 +1302,7 @@ _080D7D30: .4byte gBattlerPartyIndexes _080D7D34: ldr r5, _080D7D80 @ =gUnknown_2023D6E ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7D98 @@ -1358,7 +1358,7 @@ _080D7DA4: .4byte gBattlerPartyIndexes _080D7DA8: ldr r5, _080D7DF4 @ =gActiveBattler ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7E0C @@ -1414,7 +1414,7 @@ _080D7E18: .4byte gBattlerPartyIndexes _080D7E1C: ldr r5, _080D7E68 @ =gBattleScripting ldrb r0, [r5, 0x17] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D7E80 @@ -1531,7 +1531,7 @@ _080D7EE4: ldrb r0, [r0] cmp r0, 0 beq _080D7F2C - ldr r2, _080D7F28 @ =gUnknown_2023D6F + ldr r2, _080D7F28 @ =gPotentialItemEffectBattler ldrb r1, [r2] movs r0, 0x1 ands r0, r1 @@ -1542,9 +1542,9 @@ _080D7EE4: _080D7F1C: .4byte gBattleTypeFlags _080D7F20: .4byte gUnknown_2023D68 _080D7F24: .4byte gBattleStruct -_080D7F28: .4byte gUnknown_2023D6F +_080D7F28: .4byte gPotentialItemEffectBattler _080D7F2C: - ldr r2, _080D7F40 @ =gUnknown_2023D6F + ldr r2, _080D7F40 @ =gPotentialItemEffectBattler ldrb r1, [r2] movs r0, 0x1 ands r0, r1 @@ -1556,7 +1556,7 @@ _080D7F38: subs r1, r0 b _080D7F64 .align 2, 0 -_080D7F40: .4byte gUnknown_2023D6F +_080D7F40: .4byte gPotentialItemEffectBattler _080D7F44: ldr r2, _080D7F7C @ =gUnknown_202273C ldr r0, _080D7F80 @ =gBattleStruct @@ -1567,7 +1567,7 @@ _080D7F44: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _080D7F84 @ =gUnknown_2023D6F + ldr r1, _080D7F84 @ =gPotentialItemEffectBattler ldrb r2, [r1] ldrh r0, [r0, 0x18] cmp r0, r2 @@ -1576,7 +1576,7 @@ _080D7F44: subs r1, r2 _080D7F64: lsls r1, 2 - ldr r0, _080D7F88 @ =gUnknown_2023F54 + ldr r0, _080D7F88 @ =gEnigmaBerries adds r1, r0 mov r0, sp bl StringCopy @@ -1588,8 +1588,8 @@ _080D7F64: .align 2, 0 _080D7F7C: .4byte gUnknown_202273C _080D7F80: .4byte gBattleStruct -_080D7F84: .4byte gUnknown_2023D6F -_080D7F88: .4byte gUnknown_2023F54 +_080D7F84: .4byte gPotentialItemEffectBattler +_080D7F88: .4byte gEnigmaBerries _080D7F8C: .4byte gUnknown_83FD8AF _080D7F90: ldr r4, _080D7F94 @ =gUnknown_83FD8A2 @@ -1610,10 +1610,10 @@ _080D7FA0: .align 2, 0 _080D7FAC: .4byte gUnknown_2023D68 _080D7FB0: - ldr r0, _080D7FB4 @ =gUnknown_2023D6A + ldr r0, _080D7FB4 @ =gLastUsedAbility b _080D7FF0 .align 2, 0 -_080D7FB4: .4byte gUnknown_2023D6A +_080D7FB4: .4byte gLastUsedAbility _080D7FB8: ldr r1, _080D7FC0 @ =gUnknown_2039A30 ldr r0, _080D7FC4 @ =sBattler_AI @@ -1959,7 +1959,7 @@ _080D825C: .4byte gStringVar4 _080D8260: ldr r0, _080D82B4 @ =gBattleScripting ldrb r0, [r0, 0x17] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _080D82CC @@ -2053,7 +2053,7 @@ _080D8320: ldr r0, _080D8334 @ =gBattlerTarget _080D8322: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r4, _080D8338 @ =gUnknown_83FD569 cmp r0, 0 @@ -2073,7 +2073,7 @@ _080D8348: ldr r0, _080D835C @ =gBattlerTarget _080D834A: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r4, _080D8360 @ =gUnknown_83FD560 cmp r0, 0 @@ -2093,7 +2093,7 @@ _080D8370: ldr r0, _080D83D4 @ =gBattlerTarget _080D8372: ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r4, _080D83D8 @ =gUnknown_83FD572 cmp r0, 0 @@ -2310,7 +2310,7 @@ _080D8504: _080D8510: .4byte gUnknown_824F1A0 _080D8514: ldrb r0, [r4, 0x1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D8538 @@ -2385,7 +2385,7 @@ _080D85A0: _080D85B2: adds r4, r5, r7 ldrb r0, [r4, 0x1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080D85D8 @@ -2463,7 +2463,7 @@ _080D8628: subs r0, r1 lsls r0, 2 adds r0, r2 - ldr r1, _080D8680 @ =gUnknown_2023D6F + ldr r1, _080D8680 @ =gPotentialItemEffectBattler ldrb r2, [r1] ldrh r0, [r0, 0x18] cmp r0, r2 @@ -2471,7 +2471,7 @@ _080D8628: lsls r1, r2, 3 subs r1, r2 lsls r1, 2 - ldr r0, _080D8684 @ =gUnknown_2023F54 + ldr r0, _080D8684 @ =gEnigmaBerries adds r1, r0 adds r0, r6, 0 bl StringCopy @@ -2481,8 +2481,8 @@ _080D8628: _080D8674: .4byte gBattleTypeFlags _080D8678: .4byte gUnknown_202273C _080D867C: .4byte gBattleStruct -_080D8680: .4byte gUnknown_2023D6F -_080D8684: .4byte gUnknown_2023F54 +_080D8680: .4byte gPotentialItemEffectBattler +_080D8684: .4byte gEnigmaBerries _080D8688: .4byte gUnknown_83FD8AF _080D868C: ldr r1, _080D8698 @ =gUnknown_83FD8A2 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 9d165dd4c..ee6b44113 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -67,7 +67,7 @@ _0801D7D6: movs r0, 0x2 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _0801D7EE @@ -230,7 +230,7 @@ _0801D944: .4byte gUnknown_2023D74 _0801D948: .4byte gUnknown_81D8FAA _0801D94C: movs r2, 0 - ldr r0, _0801D9C8 @ =gUnknown_2023BCC + ldr r0, _0801D9C8 @ =gBattlersCount ldrb r0, [r0] cmp r2, r0 bge _0801D98E @@ -280,7 +280,7 @@ _0801D98E: negs r0, r0 ands r0, r3 strb r0, [r1] - ldr r4, _0801D9E0 @ =gUnknown_2023D6A + ldr r4, _0801D9E0 @ =gLastUsedAbility movs r0, 0x1F strb r0, [r4] bl BattleScriptPushCursor @@ -293,13 +293,13 @@ _0801D98E: bl sub_80C71D0 b _0801DAFC .align 2, 0 -_0801D9C8: .4byte gUnknown_2023BCC +_0801D9C8: .4byte gBattlersCount _0801D9CC: .4byte gUnknown_2023E8C _0801D9D0: .4byte gBattleMoves _0801D9D4: .4byte gUnknown_2023BDE _0801D9D8: .4byte gCurrentMove _0801D9DC: .4byte gUnknown_2023ECC -_0801D9E0: .4byte gUnknown_2023D6A +_0801D9E0: .4byte gLastUsedAbility _0801D9E4: .4byte gUnknown_2023D74 _0801D9E8: .4byte gUnknown_81D938D _0801D9EC: @@ -495,7 +495,7 @@ _0801DB70: movs r0, 0x3 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0801DB8E @@ -724,7 +724,7 @@ _0801DD36: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 lsls r4, r5, 1 @@ -735,7 +735,7 @@ _0801DD36: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0801DD86 @@ -818,7 +818,7 @@ sub_801DDC4: @ 801DDC4 beq _0801DE12 ldr r0, _0801DE6C @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0801DE56 @@ -844,7 +844,7 @@ _0801DE12: bne _0801DE48 ldr r0, _0801DE6C @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0801DE56 @@ -1047,7 +1047,7 @@ _0801DFC0: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 str r4, [sp, 0x4] @@ -1058,7 +1058,7 @@ _0801DFC0: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0801E012 @@ -1110,7 +1110,7 @@ _0801E050: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -1120,7 +1120,7 @@ _0801E050: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0801E0A8 @@ -1179,7 +1179,7 @@ _0801E0D4: ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _0801E118 - ldr r1, _0801E114 @ =gUnknown_2023F54 + ldr r1, _0801E114 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -1194,7 +1194,7 @@ _0801E104: .4byte gBattleWeather _0801E108: .4byte gUnknown_82504FC _0801E10C: .4byte gBattleMons _0801E110: .4byte gBattlerTarget -_0801E114: .4byte gUnknown_2023F54 +_0801E114: .4byte gEnigmaBerries _0801E118: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -1209,7 +1209,7 @@ _0801E118: lsls r0, 24 lsrs r2, r0, 24 _0801E134: - ldr r0, _0801E198 @ =gUnknown_2023D6F + ldr r0, _0801E198 @ =gPotentialItemEffectBattler ldr r1, _0801E19C @ =gBattlerTarget ldrb r1, [r1] strb r1, [r0] @@ -1259,7 +1259,7 @@ _0801E192: movs r0, 0x2 b _0801E1B4 .align 2, 0 -_0801E198: .4byte gUnknown_2023D6F +_0801E198: .4byte gPotentialItemEffectBattler _0801E19C: .4byte gBattlerTarget _0801E1A0: .4byte gMoveResultFlags _0801E1A4: .4byte gBattleTypeFlags @@ -1389,7 +1389,7 @@ _0801E296: adds r1, r3, 0 movs r2, 0x2E movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 adds r6, r0, 0x1 @@ -1402,7 +1402,7 @@ _0801E2AC: movs r0, 0x10 movs r2, 0x2E movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 adds r6, r0 @@ -1575,7 +1575,7 @@ sub_801E408: @ 801E408 ldrh r0, [r0, 0x2E] cmp r0, 0xAF bne _0801E438 - ldr r1, _0801E434 @ =gUnknown_2023F54 + ldr r1, _0801E434 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -1585,13 +1585,13 @@ sub_801E408: @ 801E408 .align 2, 0 _0801E42C: .4byte gBattleMons _0801E430: .4byte sBattler_AI -_0801E434: .4byte gUnknown_2023F54 +_0801E434: .4byte gEnigmaBerries _0801E438: bl ItemId_GetHoldEffect lsls r0, 24 lsrs r6, r0, 24 _0801E440: - ldr r1, _0801E4CC @ =gUnknown_2023D6F + ldr r1, _0801E4CC @ =gPotentialItemEffectBattler ldr r3, _0801E4D0 @ =sBattler_AI ldrb r0, [r3] strb r0, [r1] @@ -1668,7 +1668,7 @@ _0801E4C0: adds r0, r2, r0 b _0801E4E2 .align 2, 0 -_0801E4CC: .4byte gUnknown_2023D6F +_0801E4CC: .4byte gPotentialItemEffectBattler _0801E4D0: .4byte sBattler_AI _0801E4D4: .4byte gBattleMons _0801E4D8: .4byte gBattleMoves @@ -1774,7 +1774,7 @@ atk05_damagecalc: @ 801E59C ldr r4, _0801E654 @ =gSideAffecting ldr r5, _0801E658 @ =gBattlerTarget ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -1802,7 +1802,7 @@ atk05_damagecalc: @ 801E59C str r4, [sp, 0x8] ldrb r4, [r5] str r4, [sp, 0xC] - bl sub_803ECEC + bl CalculateBaseDamage ldr r4, _0801E670 @ =gBattleMoveDamage ldr r1, _0801E674 @ =gCritMultiplier ldrb r1, [r1] @@ -1889,7 +1889,7 @@ AI_CalcDmg: @ 801E68C lsrs r5, 24 ldr r4, _0801E744 @ =gSideAffecting adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -1914,7 +1914,7 @@ AI_CalcDmg: @ 801E68C str r4, [sp, 0x4] str r7, [sp, 0x8] str r5, [sp, 0xC] - bl sub_803ECEC + bl CalculateBaseDamage ldr r4, _0801E758 @ =gBattleMoveDamage movs r1, 0 strh r1, [r6] @@ -2175,7 +2175,7 @@ _0801E8C0: mov r1, r8 cmp r1, 0x4 bne _0801E938 - ldr r3, _0801E924 @ =gUnknown_2023D6A + ldr r3, _0801E924 @ =gLastUsedAbility strb r0, [r3] ldr r2, _0801E928 @ =gMoveResultFlags ldrb r0, [r2] @@ -2206,7 +2206,7 @@ _0801E914: .4byte gBattleMons _0801E918: .4byte sBattler_AI _0801E91C: .4byte gBattleMoveDamage _0801E920: .4byte gBattlerTarget -_0801E924: .4byte gUnknown_2023D6A +_0801E924: .4byte gLastUsedAbility _0801E928: .4byte gMoveResultFlags _0801E92C: .4byte gUnknown_2023DA0 _0801E930: .4byte gUnknown_2023DA8 @@ -2333,7 +2333,7 @@ _0801EA10: ldrb r0, [r0, 0x1] cmp r0, 0 beq _0801EA52 - ldr r3, _0801EAA0 @ =gUnknown_2023D6A + ldr r3, _0801EAA0 @ =gLastUsedAbility strb r6, [r3] movs r0, 0x1 orrs r0, r4 @@ -2391,7 +2391,7 @@ _0801EA90: .4byte sBattler_AI _0801EA94: .4byte gCurrentMove _0801EA98: .4byte gMoveResultFlags _0801EA9C: .4byte gBattleMoves -_0801EAA0: .4byte gUnknown_2023D6A +_0801EAA0: .4byte gLastUsedAbility _0801EAA4: .4byte gUnknown_2023DA0 _0801EAA8: .4byte gUnknown_2023DA8 _0801EAAC: .4byte gUnknown_2023E82 @@ -2458,7 +2458,7 @@ _0801EB08: mov r0, r12 cmp r0, 0x4 bne _0801EB4C - ldr r0, _0801EB44 @ =gUnknown_2023D6A + ldr r0, _0801EB44 @ =gLastUsedAbility strb r1, [r0] ldr r0, _0801EB48 @ =gUnknown_2023E82 mov r1, r12 @@ -2470,7 +2470,7 @@ _0801EB08: .align 2, 0 _0801EB3C: .4byte gBattleMons _0801EB40: .4byte gBattlerTarget -_0801EB44: .4byte gUnknown_2023D6A +_0801EB44: .4byte gLastUsedAbility _0801EB48: .4byte gUnknown_2023E82 _0801EB4C: ldr r1, _0801EB58 @ =gUnknown_824F050 @@ -2702,7 +2702,7 @@ _0801ECC2: ldrb r0, [r0, 0x1] cmp r0, 0 beq _0801ED18 - ldr r0, _0801ED34 @ =gUnknown_2023D6A + ldr r0, _0801ED34 @ =gLastUsedAbility strb r4, [r0] ldr r1, _0801ED38 @ =gUnknown_2023E82 movs r0, 0x3 @@ -2723,7 +2723,7 @@ _0801ED24: .4byte gMoveResultFlags _0801ED28: .4byte gUnknown_2023E8C _0801ED2C: .4byte sBattler_AI _0801ED30: .4byte gBattleMoves -_0801ED34: .4byte gUnknown_2023D6A +_0801ED34: .4byte gLastUsedAbility _0801ED38: .4byte gUnknown_2023E82 thumb_func_end CheckWonderGuardAndLevitate @@ -3278,7 +3278,7 @@ _0801F136: ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _0801F16C - ldr r1, _0801F168 @ =gUnknown_2023F54 + ldr r1, _0801F168 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -3290,7 +3290,7 @@ _0801F136: _0801F15C: .4byte gBattleMoveDamage _0801F160: .4byte gBattleMons _0801F164: .4byte gBattlerTarget -_0801F168: .4byte gUnknown_2023F54 +_0801F168: .4byte gEnigmaBerries _0801F16C: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -3304,7 +3304,7 @@ _0801F16C: lsls r0, 24 lsrs r6, r0, 24 _0801F186: - ldr r1, _0801F248 @ =gUnknown_2023D6F + ldr r1, _0801F248 @ =gPotentialItemEffectBattler ldr r5, _0801F24C @ =gBattlerTarget ldrb r0, [r5] strb r0, [r1] @@ -3401,7 +3401,7 @@ _0801F216: strb r1, [r0] b _0801F294 .align 2, 0 -_0801F248: .4byte gUnknown_2023D6F +_0801F248: .4byte gPotentialItemEffectBattler _0801F24C: .4byte gBattlerTarget _0801F250: .4byte gUnknown_2023ECC _0801F254: .4byte gBattleMons @@ -3482,7 +3482,7 @@ _0801F2E6: ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _0801F31C - ldr r1, _0801F318 @ =gUnknown_2023F54 + ldr r1, _0801F318 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -3494,7 +3494,7 @@ _0801F2E6: _0801F30C: .4byte gBattleMoveDamage _0801F310: .4byte gBattleMons _0801F314: .4byte gBattlerTarget -_0801F318: .4byte gUnknown_2023F54 +_0801F318: .4byte gEnigmaBerries _0801F31C: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -3508,7 +3508,7 @@ _0801F31C: lsls r0, 24 lsrs r6, r0, 24 _0801F336: - ldr r1, _0801F3DC @ =gUnknown_2023D6F + ldr r1, _0801F3DC @ =gPotentialItemEffectBattler ldr r5, _0801F3E0 @ =gBattlerTarget ldrb r0, [r5] strb r0, [r1] @@ -3591,7 +3591,7 @@ _0801F3B2: strb r1, [r0] b _0801F420 .align 2, 0 -_0801F3DC: .4byte gUnknown_2023D6F +_0801F3DC: .4byte gPotentialItemEffectBattler _0801F3E0: .4byte gBattlerTarget _0801F3E4: .4byte gUnknown_2023ECC _0801F3E8: .4byte gBattleMons @@ -3719,7 +3719,7 @@ _0801F4CE: ldrh r1, [r3] ldr r6, _0801F540 @ =gBattleScripting ldrb r2, [r6, 0x18] - ldr r0, _0801F550 @ =gUnknown_2024020 + ldr r0, _0801F550 @ =gBattleMovePower ldrh r3, [r0] ldr r0, _0801F554 @ =gBattleMoveDamage ldr r0, [r0] @@ -3764,7 +3764,7 @@ _0801F540: .4byte gBattleScripting _0801F544: .4byte gMoveResultFlags _0801F548: .4byte gActiveBattler _0801F54C: .4byte sBattler_AI -_0801F550: .4byte gUnknown_2024020 +_0801F550: .4byte gBattleMovePower _0801F554: .4byte gBattleMoveDamage _0801F558: .4byte gBattleMons _0801F55C: .4byte gDisableStructs @@ -3880,7 +3880,7 @@ _0801F636: ldrb r0, [r4] bl MarkBufferBankForExecution ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801F662 @@ -4645,7 +4645,7 @@ _0801FC38: adds r0, r2 ldrh r0, [r0, 0x2E] strh r0, [r4] - ldr r1, _0801FC6C @ =gUnknown_2023D6F + ldr r1, _0801FC6C @ =gPotentialItemEffectBattler ldrb r0, [r3] strb r0, [r1] movs r0, 0x3F @@ -4659,7 +4659,7 @@ _0801FC38: _0801FC60: .4byte gUnknown_2023D68 _0801FC64: .4byte gBattleMons _0801FC68: .4byte gBattlerTarget -_0801FC6C: .4byte gUnknown_2023D6F +_0801FC6C: .4byte gPotentialItemEffectBattler _0801FC70: .4byte gUnknown_2023D74 _0801FC74: .4byte gUnknown_81D9641 _0801FC78: @@ -4720,7 +4720,7 @@ _0801FCD0: adds r0, r2 ldrh r0, [r0, 0x2E] strh r0, [r4] - ldr r1, _0801FD0C @ =gUnknown_2023D6F + ldr r1, _0801FD0C @ =gPotentialItemEffectBattler ldrb r0, [r3] strb r0, [r1] movs r0, 0x3F @@ -4734,7 +4734,7 @@ _0801FCD0: _0801FD00: .4byte gUnknown_2023D68 _0801FD04: .4byte gBattleMons _0801FD08: .4byte gBattlerTarget -_0801FD0C: .4byte gUnknown_2023D6F +_0801FD0C: .4byte gPotentialItemEffectBattler _0801FD10: .4byte gUnknown_2023D74 _0801FD14: .4byte gUnknown_81D9641 _0801FD18: @@ -4985,7 +4985,7 @@ BankGetTurnOrder: @ 801FEE8 lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 - ldr r0, _0801FF18 @ =gUnknown_2023BCC + ldr r0, _0801FF18 @ =gBattlersCount ldrb r3, [r0] cmp r1, r3 bge _0801FF0E @@ -5008,7 +5008,7 @@ _0801FF0E: pop {r1} bx r1 .align 2, 0 -_0801FF18: .4byte gUnknown_2023BCC +_0801FF18: .4byte gBattlersCount _0801FF1C: .4byte gUnknown_2023BDE thumb_func_end BankGetTurnOrder @@ -5076,7 +5076,7 @@ _0801FF84: beq _0801FFB2 mov r2, r9 ldrb r0, [r2] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -5111,7 +5111,7 @@ _0801FFB2: _0801FFE6: mov r3, r9 ldrb r0, [r3] - bl GetBankIdentity + bl GetBattlerPosition ldr r2, _080200B4 @ =gSideAffecting movs r1, 0x1 ands r1, r0 @@ -5240,7 +5240,7 @@ _080200D6: ldr r0, _08020130 @ =gActiveBattler movs r1, 0 strb r1, [r0] - ldr r1, _08020134 @ =gUnknown_2023BCC + ldr r1, _08020134 @ =gBattlersCount ldrb r3, [r1] adds r7, r0, 0 mov r12, r1 @@ -5275,10 +5275,10 @@ _08020110: b _08020144 .align 2, 0 _08020130: .4byte gActiveBattler -_08020134: .4byte gUnknown_2023BCC +_08020134: .4byte gBattlersCount _08020138: ldr r0, _08020184 @ =gActiveBattler - ldr r2, _08020188 @ =gUnknown_2023BCC + ldr r2, _08020188 @ =gBattlersCount ldrb r1, [r2] strb r1, [r0] adds r7, r0, 0 @@ -5321,7 +5321,7 @@ _0802017C: b _08020560 .align 2, 0 _08020184: .4byte gActiveBattler -_08020188: .4byte gUnknown_2023BCC +_08020188: .4byte gBattlersCount _0802018C: mov r2, r9 ldrb r1, [r2] @@ -5337,7 +5337,7 @@ _0802018C: cmp r5, 0x80 bne _080201E4 _080201A6: - ldr r0, _080201D4 @ =gUnknown_2023D6A + ldr r0, _080201D4 @ =gLastUsedAbility strb r1, [r0] mov r3, r9 ldrb r0, [r3] @@ -5361,7 +5361,7 @@ _080201C0: _080201D2: b _080204A8 .align 2, 0 -_080201D4: .4byte gUnknown_2023D6A +_080201D4: .4byte gLastUsedAbility _080201D8: .4byte gUnknown_2023D74 _080201DC: .4byte gUnknown_81D9438 _080201E0: .4byte gUnknown_2023DD0 @@ -5460,7 +5460,7 @@ _08020270: cmp r5, 0x80 bne _080202B4 _0802028A: - ldr r0, _080202A8 @ =gUnknown_2023D6A + ldr r0, _080202A8 @ =gLastUsedAbility strb r1, [r0] mov r3, r9 ldrb r0, [r3] @@ -5473,7 +5473,7 @@ _0802028A: ldr r0, _080202B0 @ =gUnknown_81D9420 b _080201C0 .align 2, 0 -_080202A8: .4byte gUnknown_2023D6A +_080202A8: .4byte gLastUsedAbility _080202AC: .4byte gUnknown_2023D74 _080202B0: .4byte gUnknown_81D9420 _080202B4: @@ -5561,7 +5561,7 @@ _08020346: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -5571,7 +5571,7 @@ _08020346: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _08020382 @@ -5651,7 +5651,7 @@ _080203E4: beq _08020402 b _08020570 _08020402: - ldr r0, _08020420 @ =gUnknown_2023D6A + ldr r0, _08020420 @ =gLastUsedAbility strb r2, [r0] mov r3, r9 ldrb r0, [r3] @@ -5664,7 +5664,7 @@ _08020402: ldr r0, _08020428 @ =gUnknown_81D942C b _080201C0 .align 2, 0 -_08020420: .4byte gUnknown_2023D6A +_08020420: .4byte gLastUsedAbility _08020424: .4byte gUnknown_2023D74 _08020428: .4byte gUnknown_81D942C _0802042C: @@ -5694,7 +5694,7 @@ _08020440: cmp r5, 0x80 bne _080204AE _0802045A: - ldr r0, _08020494 @ =gUnknown_2023D6A + ldr r0, _08020494 @ =gLastUsedAbility strb r1, [r0] mov r1, r9 ldrb r0, [r1] @@ -5721,7 +5721,7 @@ _08020484: str r1, [r2] bl _0802110A .align 2, 0 -_08020494: .4byte gUnknown_2023D6A +_08020494: .4byte gLastUsedAbility _08020498: .4byte gUnknown_2023D74 _0802049C: .4byte gUnknown_81D9438 _080204A0: .4byte gUnknown_2023DD0 @@ -6123,7 +6123,7 @@ _0802082C: beq _0802084C bl _080210EC _0802084C: - ldr r0, _08020864 @ =gUnknown_2023D6A + ldr r0, _08020864 @ =gLastUsedAbility strb r1, [r0] mov r1, r9 ldrb r0, [r1] @@ -6134,7 +6134,7 @@ _0802084C: str r0, [r1] bl _0802110A .align 2, 0 -_08020864: .4byte gUnknown_2023D6A +_08020864: .4byte gLastUsedAbility _08020868: .4byte gUnknown_2023D74 _0802086C: .4byte gUnknown_81D9452 _08020870: @@ -6228,7 +6228,7 @@ _08020930: .4byte gUnknown_2023E82 _08020934: ldr r5, _08020984 @ =sBattler_AI ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 cmp r1, 0 @@ -6656,11 +6656,11 @@ _08020CA8: _08020CB8: ldr r4, _08020D68 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -6728,7 +6728,7 @@ _08020D26: ldr r1, _08020D88 @ =gUnknown_2023D74 ldr r0, _08020D8C @ =gUnknown_81D948E str r0, [r1] - ldr r1, _08020D90 @ =gUnknown_2023D6A + ldr r1, _08020D90 @ =gLastUsedAbility ldrb r0, [r7] muls r0, r3 add r0, r8 @@ -6751,7 +6751,7 @@ _08020D80: .4byte gBattleMons _08020D84: .4byte gBattlerTarget _08020D88: .4byte gUnknown_2023D74 _08020D8C: .4byte gUnknown_81D948E -_08020D90: .4byte gUnknown_2023D6A +_08020D90: .4byte gLastUsedAbility _08020D94: ldr r4, _08020E60 @ =sBattler_AI mov r10, r4 @@ -7068,7 +7068,7 @@ _08021018: ldrh r0, [r1, 0x2E] cmp r0, 0 beq _080210EC - ldr r0, _0802104C @ =gUnknown_2023D6A + ldr r0, _0802104C @ =gLastUsedAbility strb r2, [r0] ldr r1, _08021050 @ =gUnknown_2023D74 ldr r0, _08021054 @ =gUnknown_81D948E @@ -7078,7 +7078,7 @@ _08021018: bl sub_80C71D0 b _0802110A .align 2, 0 -_0802104C: .4byte gUnknown_2023D6A +_0802104C: .4byte gLastUsedAbility _08021050: .4byte gUnknown_2023D74 _08021054: .4byte gUnknown_81D948E _08021058: @@ -7086,7 +7086,7 @@ _08021058: cmp r0, 0 beq _080210EC adds r0, r3, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 ldr r1, _080210D0 @ =gUnknown_2023D68 @@ -7415,7 +7415,7 @@ _080212E4: bl BattleScriptPop str r4, [r6] ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide ldr r1, _08021328 @ =gSideAffecting lsls r0, 24 lsrs r0, 23 @@ -7493,7 +7493,7 @@ _08021392: bl BattleScriptPush str r4, [r6] ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080213F4 @@ -7608,10 +7608,10 @@ _08021492: ldr r0, _0802155C @ =sBattler_AI mov r8, r0 ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -7955,12 +7955,12 @@ atk1E_jumpifability: @ 8021730 movs r0, 0xD adds r2, r5, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _08021804 - ldr r1, _0802178C @ =gUnknown_2023D6A + ldr r1, _0802178C @ =gLastUsedAbility strb r5, [r1] str r7, [r6] subs r4, 0x1 @@ -7971,7 +7971,7 @@ atk1E_jumpifability: @ 8021730 .align 2, 0 _08021784: .4byte gUnknown_2023D74 _08021788: .4byte sBattler_AI -_0802178C: .4byte gUnknown_2023D6A +_0802178C: .4byte gLastUsedAbility _08021790: cmp r0, 0x9 bne _080217C8 @@ -7982,12 +7982,12 @@ _08021790: movs r0, 0xC adds r2, r5, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _08021804 - ldr r1, _080217C4 @ =gUnknown_2023D6A + ldr r1, _080217C4 @ =gLastUsedAbility strb r5, [r1] str r7, [r6] subs r4, 0x1 @@ -7997,7 +7997,7 @@ _08021790: b _080217EC .align 2, 0 _080217C0: .4byte sBattler_AI -_080217C4: .4byte gUnknown_2023D6A +_080217C4: .4byte gLastUsedAbility _080217C8: ldrb r0, [r2, 0x1] bl sub_8016E24 @@ -8011,7 +8011,7 @@ _080217C8: ldrb r1, [r0] cmp r1, r8 bne _08021804 - ldr r0, _080217FC @ =gUnknown_2023D6A + ldr r0, _080217FC @ =gLastUsedAbility strb r1, [r0] str r7, [r6] ldrb r1, [r0] @@ -8023,7 +8023,7 @@ _080217EC: b _0802180A .align 2, 0 _080217F8: .4byte gBattleMons -_080217FC: .4byte gUnknown_2023D6A +_080217FC: .4byte gLastUsedAbility _08021800: .4byte gBattleScripting _08021804: ldr r0, [r6] @@ -8048,7 +8048,7 @@ atk1F_jumpifsideaffecting: @ 8021818 bne _08021838 ldr r0, _08021834 @ =sBattler_AI ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition b _08021842 .align 2, 0 _08021830: .4byte gUnknown_2023D74 @@ -8056,7 +8056,7 @@ _08021834: .4byte sBattler_AI _08021838: ldr r0, _08021878 @ =gBattlerTarget ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition movs r4, 0x1 _08021842: ands r4, r0 @@ -8402,7 +8402,7 @@ _08021AC8: _08021AE4: ldr r4, _08021B34 @ =gUnknown_2023D6D ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -9573,7 +9573,7 @@ _08022498: beq _08022582 movs r3, 0 movs r5, 0 - ldr r0, _08022548 @ =gUnknown_2023BCC + ldr r0, _08022548 @ =gBattlersCount ldrb r1, [r0] mov r12, r0 ldr r7, _0802254C @ =gUnknown_2023D74 @@ -9650,7 +9650,7 @@ _08022538: .4byte gPlayerParty _0802253C: .4byte gUnknown_2023E8A _08022540: .4byte gEnemyParty _08022544: .4byte gBattleTypeFlags -_08022548: .4byte gUnknown_2023BCC +_08022548: .4byte gBattlersCount _0802254C: .4byte gUnknown_2023D74 _08022550: .4byte gUnknown_2023DD0 _08022554: .4byte gUnknown_2023ECC @@ -10859,7 +10859,7 @@ atk43_jumpifabilitypresent: @ 8022DCC movs r0, 0x13 movs r1, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08022E08 @@ -11226,13 +11226,13 @@ _0802309C: ldr r6, _08023120 @ =gActiveBattler ldrb r0, [r6] str r3, [sp] - bl GetBankIdentity + bl GetBattlerPosition mov r1, r10 ands r1, r0 lsls r0, r1, 1 adds r0, r1 lsls r0, 2 - ldr r1, _08023124 @ =gUnknown_2023DE4 + ldr r1, _08023124 @ =gSideTimers adds r0, r1 ldrb r0, [r0, 0x4] ldr r3, [sp] @@ -11295,7 +11295,7 @@ _08023104: b _08023190 .align 2, 0 _08023120: .4byte gActiveBattler -_08023124: .4byte gUnknown_2023DE4 +_08023124: .4byte gSideTimers _08023128: .4byte gBattleMons _0802312C: .4byte gUnknown_2023D74 _08023130: @@ -11454,7 +11454,7 @@ _08023232: ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _08023278 - ldr r1, _08023274 @ =gUnknown_2023F54 + ldr r1, _08023274 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -11467,7 +11467,7 @@ _08023264: .4byte 0x0000ffff _08023268: .4byte gUnknown_2023D74 _0802326C: .4byte gBattleMons _08023270: .4byte sBattler_AI -_08023274: .4byte gUnknown_2023F54 +_08023274: .4byte gEnigmaBerries _08023278: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -11639,10 +11639,10 @@ _080233EE: b _080237C8 _080233F8: adds r0, r1, 0 - bl GetBankSide + bl GetBattlerSide adds r4, r0, 0 ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -11813,7 +11813,7 @@ _0802355C: movs r0, 0x7 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _08023576 @@ -11832,7 +11832,7 @@ _08023580: movs r0, 0x4 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects b _080236F6 .align 2, 0 _08023594: .4byte gBattlerTarget @@ -11843,7 +11843,7 @@ _08023598: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _080235B0 @@ -11864,7 +11864,7 @@ _080235C0: movs r0, 0x8 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _080235DA @@ -11963,7 +11963,7 @@ _08023684: .4byte gBattleMons _08023688: .4byte sBattler_AI _0802368C: movs r4, 0 - ldr r0, _080236C0 @ =gUnknown_2023BCC + ldr r0, _080236C0 @ =gBattlersCount ldrb r3, [r0] cmp r4, r3 blt _08023698 @@ -11991,7 +11991,7 @@ _080236B0: blt _080236A2 b _08023846 .align 2, 0 -_080236C0: .4byte gUnknown_2023BCC +_080236C0: .4byte gBattlersCount _080236C4: .4byte gBattleStruct _080236C8: .4byte gBattleMons _080236CC: @@ -12135,7 +12135,7 @@ _080237D8: lsls r0, 29 cmp r0, 0 blt _08023846 - ldr r0, _08023810 @ =gUnknown_2023BCC + ldr r0, _08023810 @ =gBattlersCount ldrb r0, [r0] cmp r2, r0 bcs _08023846 @@ -12152,12 +12152,12 @@ _08023806: .align 2, 0 _08023808: .4byte gUnknown_2023ECC _0802380C: .4byte gBattlerTarget -_08023810: .4byte gUnknown_2023BCC +_08023810: .4byte gBattlersCount _08023814: .4byte gStatuses3 _08023818: .4byte 0x000400c0 _0802381C: movs r4, 0 - ldr r0, _08023850 @ =gUnknown_2023BCC + ldr r0, _08023850 @ =gBattlersCount ldrb r2, [r0] cmp r4, r2 bge _08023846 @@ -12186,7 +12186,7 @@ _08023846: strb r0, [r1, 0x14] b _08023BB4 .align 2, 0 -_08023850: .4byte gUnknown_2023BCC +_08023850: .4byte gBattlersCount _08023854: .4byte gDisableStructs _08023858: .4byte 0xfeffffff _0802385C: .4byte gUnknown_2023C34 @@ -12571,12 +12571,12 @@ _08023B28: bne _08023BAC ldr r7, _08023C28 @ =gBattlerTarget ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r2, r0, 24 ldr r1, _08023C2C @ =gBattleMons @@ -12692,7 +12692,7 @@ atk4A_typecalc2: @ 8023C38 mov r1, r8 cmp r1, 0x4 bne _08023CCC - ldr r3, _08023CAC @ =gUnknown_2023D6A + ldr r3, _08023CAC @ =gLastUsedAbility strb r0, [r3] ldr r2, _08023CB0 @ =gMoveResultFlags ldrb r0, [r2] @@ -12716,7 +12716,7 @@ _08023C9C: .4byte gBattleMoves _08023CA0: .4byte gCurrentMove _08023CA4: .4byte gBattleMons _08023CA8: .4byte gBattlerTarget -_08023CAC: .4byte gUnknown_2023D6A +_08023CAC: .4byte gLastUsedAbility _08023CB0: .4byte gMoveResultFlags _08023CB4: .4byte gUnknown_2023DA0 _08023CB8: .4byte gUnknown_2023E82 @@ -12892,7 +12892,7 @@ _08023DF0: ldrb r0, [r0, 0x1] cmp r0, 0 beq _08023E2A - ldr r3, _08023E70 @ =gUnknown_2023D6A + ldr r3, _08023E70 @ =gLastUsedAbility strb r6, [r3] ldr r2, _08023E74 @ =gMoveResultFlags ldrb r0, [r2] @@ -12943,7 +12943,7 @@ _08023E60: .4byte gBattlerTarget _08023E64: .4byte sBattler_AI _08023E68: .4byte gCurrentMove _08023E6C: .4byte gBattleMoves -_08023E70: .4byte gUnknown_2023D6A +_08023E70: .4byte gLastUsedAbility _08023E74: .4byte gMoveResultFlags _08023E78: .4byte gUnknown_2023DA0 _08023E7C: .4byte gUnknown_2023E82 @@ -13023,7 +13023,7 @@ atk4C_getswitchedmondata: @ 8023ED8 ldrb r2, [r0] movs r0, 0 movs r1, 0 - bl EmitGetMonData + bl BtlController_EmitGetMonData ldrb r0, [r4] bl MarkBufferBankForExecution ldr r0, [r5] @@ -13126,7 +13126,7 @@ _08023F84: adds r1, 0x20 strb r0, [r1] ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 ldr r0, _080240B8 @ =gUnknown_2023F20 @@ -13247,7 +13247,7 @@ sub_80240D4: @ 80240D4 ldr r6, _08024170 @ =gActiveBattler strb r0, [r6] ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -13383,7 +13383,7 @@ _08024204: beq _080242A4 ldr r4, _08024294 @ =gActiveBattler ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 ldr r1, _08024298 @ =gPlayerParty @@ -13453,13 +13453,13 @@ _080242A0: .4byte gBattlerPartyIndexes _080242A4: ldr r0, _080242D4 @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 bne _080242E4 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 ldr r0, [r5] @@ -13467,7 +13467,7 @@ _080242A4: cmp r0, 0 beq _080242D8 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 b _080242DA @@ -13483,7 +13483,7 @@ _080242DA: _080242E0: .4byte gEnemyParty _080242E4: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 ldr r0, [r5] @@ -13492,7 +13492,7 @@ _080242E4: cmp r0, 0 beq _08024304 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 b _08024306 @@ -13654,7 +13654,7 @@ _08024422: beq _08024510 ldr r1, _080244A0 @ =gActiveBattler strb r7, [r1] - ldr r0, _080244A4 @ =gUnknown_2023BCC + ldr r0, _080244A4 @ =gBattlersCount ldrb r0, [r0] cmp r7, r0 bcc _0802443C @@ -13708,7 +13708,7 @@ _08024446: _08024498: .4byte gUnknown_2023D74 _0802449C: .4byte gBattleTypeFlags _080244A0: .4byte gActiveBattler -_080244A4: .4byte gUnknown_2023BCC +_080244A4: .4byte gBattlersCount _080244A8: .4byte gUnknown_2023DD0 _080244AC: .4byte gBitTable _080244B0: .4byte gAbsentBattlerFlags @@ -13747,7 +13747,7 @@ _080244F6: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _0802450C @ =gUnknown_2023BCC + ldr r1, _0802450C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -13755,7 +13755,7 @@ _080244F6: bcc _08024446 b _080248A6 .align 2, 0 -_0802450C: .4byte gUnknown_2023BCC +_0802450C: .4byte gBattlersCount _08024510: ands r0, r1 cmp r0, 0 @@ -14387,7 +14387,7 @@ _08024A4C: ldr r4, _08024AA4 @ =gBitTable ldr r2, [r4] ands r2, r5 - ldr r6, _08024AA8 @ =gUnknown_2023BCC + ldr r6, _08024AA8 @ =gBattlersCount cmp r2, 0 bne _08024A88 adds r7, r6, 0 @@ -14424,7 +14424,7 @@ _08024A92: _08024A9C: .4byte gUnknown_2023DD0 _08024AA0: .4byte gUnknown_2023D6D _08024AA4: .4byte gBitTable -_08024AA8: .4byte gUnknown_2023BCC +_08024AA8: .4byte gBattlersCount _08024AAC: movs r0, 0x80 ands r0, r1 @@ -14525,7 +14525,7 @@ _08024B34: adds r0, 0x6 str r0, [r6] ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 cmp r0, 0 bne _08024B94 @@ -14545,7 +14545,7 @@ _08024B94: ldr r1, _08024BD8 @ =gActiveBattler movs r0, 0 strb r0, [r1] - ldr r0, _08024BEC @ =gUnknown_2023BCC + ldr r0, _08024BEC @ =gBattlersCount ldrb r0, [r0] cmp r0, 0 beq _08024C2E @@ -14563,7 +14563,7 @@ _08024BC4: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _08024BEC @ =gUnknown_2023BCC + ldr r1, _08024BEC @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -14576,15 +14576,15 @@ _08024BDC: .4byte gBattleStruct _08024BE0: .4byte gBattlerPartyIndexes _08024BE4: .4byte gBattleResults _08024BE8: .4byte gBattleTypeFlags -_08024BEC: .4byte gUnknown_2023BCC +_08024BEC: .4byte gBattlersCount _08024BF0: adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _08024C3C @ =gActiveBattler strb r0, [r4] ldr r0, _08024C40 @ =gAbsentBattlerFlags @@ -14654,7 +14654,7 @@ _08024C80: b _08024E0E _08024C86: movs r3, 0 - ldr r0, _08024CB8 @ =gUnknown_2023BCC + ldr r0, _08024CB8 @ =gBattlersCount ldrb r1, [r0] cmp r3, r1 blt _08024C92 @@ -14682,7 +14682,7 @@ _08024CAC: blt _08024C9C b _08024E0E .align 2, 0 -_08024CB8: .4byte gUnknown_2023BCC +_08024CB8: .4byte gBattlersCount _08024CBC: .4byte gBattleStruct _08024CC0: .4byte gUnknown_20233C4 _08024CC4: @@ -14905,7 +14905,7 @@ sub_8024E38: @ 8024E38 ands r0, r2 strb r0, [r1] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide ldr r5, _08024F54 @ =gSideAffecting lsls r0, 24 lsrs r0, 23 @@ -14918,7 +14918,7 @@ sub_8024E38: @ 8024E38 cmp r0, 0 bne _08024F88 ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 23 adds r0, r5 @@ -14950,7 +14950,7 @@ sub_8024E38: @ 8024E38 cmp r0, 0x1A beq _08024F88 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 23 adds r0, r5 @@ -14959,8 +14959,8 @@ sub_8024E38: @ 8024E38 orrs r1, r2 strh r1, [r0] ldrb r0, [r4] - bl GetBankSide - ldr r2, _08024F5C @ =gUnknown_2023DE4 + bl GetBattlerSide + ldr r2, _08024F5C @ =gSideTimers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -15003,7 +15003,7 @@ _08024F4C: .4byte gBitTable _08024F50: .4byte gUnknown_2023ECC _08024F54: .4byte gSideAffecting _08024F58: .4byte gBattleMons -_08024F5C: .4byte gUnknown_2023DE4 +_08024F5C: .4byte gSideTimers _08024F60: .4byte gBattleMoveDamage _08024F64: .4byte gBattleScripting _08024F68: .4byte gUnknown_81D8CBE @@ -15047,7 +15047,7 @@ _08024FAE: str r0, [sp] movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08024FC4 @@ -15061,7 +15061,7 @@ _08024FC4: cmp r0, 0 bne _080250C6 ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide ldr r1, _08025070 @ =gSideAffecting lsls r0, 24 lsrs r0, 23 @@ -15071,7 +15071,7 @@ _08024FC4: ands r1, r2 strh r1, [r0] movs r4, 0 - ldr r0, _08025078 @ =gUnknown_2023BCC + ldr r0, _08025078 @ =gBattlersCount ldrb r3, [r0] cmp r4, r3 bge _08025012 @@ -15094,7 +15094,7 @@ _0802500A: blt _08024FFC _08025012: movs r4, 0 - ldr r0, _08025078 @ =gUnknown_2023BCC + ldr r0, _08025078 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bge _08025046 @@ -15103,7 +15103,7 @@ _08025012: _08025020: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 23 adds r0, 0xA8 @@ -15115,7 +15115,7 @@ _08025020: ldrh r0, [r0, 0x28] strh r0, [r1] adds r4, 0x1 - ldr r0, _08025078 @ =gUnknown_2023BCC + ldr r0, _08025078 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _08025020 @@ -15141,7 +15141,7 @@ _08025068: .4byte gActiveBattler _0802506C: .4byte gDisableStructs _08025070: .4byte gSideAffecting _08025074: .4byte 0x0000fdff -_08025078: .4byte gUnknown_2023BCC +_08025078: .4byte gBattlersCount _0802507C: .4byte gUnknown_2023BDE _08025080: .4byte gUnknown_2023BDA _08025084: .4byte gBattleStruct @@ -15150,7 +15150,7 @@ _0802508C: .4byte gUnknown_2023DD0 _08025090: .4byte gUnknown_2023D6D _08025094: .4byte gBitTable _08025098: - ldr r0, _080250D4 @ =gUnknown_2023BCC + ldr r0, _080250D4 @ =gBattlersCount ldrb r3, [r1] ldrb r0, [r0] cmp r3, r0 @@ -15184,7 +15184,7 @@ _080250C6: pop {r0} bx r0 .align 2, 0 -_080250D4: .4byte gUnknown_2023BCC +_080250D4: .4byte gBattlersCount _080250D8: .4byte gAbsentBattlerFlags thumb_func_end sub_8024E38 @@ -15203,7 +15203,7 @@ _080250EC: .4byte gUnknown_2023D74 _080250F0: movs r0, 0x1 _080250F2: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08025114 @ =gActiveBattler strb r0, [r1] movs r0, 0 @@ -15308,7 +15308,7 @@ _080251C0: .4byte gActiveBattler atk57: @ 80251C4 push {r4,lr} movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _080251F0 @ =gActiveBattler strb r0, [r4] ldr r0, _080251F4 @ =gUnknown_2023E8A @@ -15434,7 +15434,7 @@ _080252C4: .4byte 0x0000ffff _080252C8: .4byte gUnknown_2023D74 _080252CC: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08025364 @ =gActiveBattler strb r0, [r1] ldr r2, _08025368 @ =gBattlerPartyIndexes @@ -15471,7 +15471,7 @@ _0802530C: cmp r0, 0 beq _08025358 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08025364 @ =gActiveBattler strb r0, [r1] ldr r2, _08025368 @ =gBattlerPartyIndexes @@ -15667,13 +15667,13 @@ _080254B6: ldr r1, _080254EC @ =gBattleStruct ldr r1, [r1] ldrb r1, [r1, 0x10] - ldr r2, _080254F0 @ =gUnknown_2024029 + ldr r2, _080254F0 @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 lsrs r2, 24 ldr r3, _080254F4 @ =sub_8077764 - ldr r4, _080254F8 @ =gUnknown_2024022 + ldr r4, _080254F8 @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] bl sub_8134738 @@ -15687,9 +15687,9 @@ _080254D8: _080254E4: .4byte gUnknown_2037AB8 _080254E8: .4byte gPlayerParty _080254EC: .4byte gBattleStruct -_080254F0: .4byte gUnknown_2024029 +_080254F0: .4byte gPlayerPartyCount _080254F4: .4byte sub_8077764 -_080254F8: .4byte gUnknown_2024022 +_080254F8: .4byte gMoveToLearn _080254FC: .4byte gBattleScripting _08025500: ldr r0, _0802552C @ =gUnknown_2037AB8 @@ -15792,7 +15792,7 @@ _0802558C: muls r1, r0 adds r0, r1, 0 adds r0, r7 - ldr r7, _08025688 @ =gUnknown_2024022 + ldr r7, _08025688 @ =gMoveToLearn ldrh r1, [r7] adds r2, r5, 0 bl SetMonMoveSlot @@ -15865,7 +15865,7 @@ _08025622: adds r0, r4, 0 adds r1, r5, 0 bl RemoveBattleMonPPBonus - ldr r0, _08025688 @ =gUnknown_2024022 + ldr r0, _08025688 @ =gMoveToLearn ldrh r1, [r0] adds r0, r4, 0 adds r2, r5, 0 @@ -15874,7 +15874,7 @@ _08025622: .align 2, 0 _08025680: .4byte gUnknown_2023D74 _08025684: .4byte gUnknown_2022AC8 -_08025688: .4byte gUnknown_2024022 +_08025688: .4byte gMoveToLearn _0802568C: .4byte gBattlerPartyIndexes _08025690: .4byte gBattleMons _08025694: .4byte gDisableStructs @@ -16393,7 +16393,7 @@ _08025AA0: movs r0, 0 movs r1, 0 movs r2, 0 - bl EmitGetMonData + bl BtlController_EmitGetMonData ldrb r0, [r6] bl MarkBufferBankForExecution ldrb r0, [r5] @@ -16503,7 +16503,7 @@ atk60_incrementgamestat: @ 8025B74 push {lr} ldr r0, _08025B9C @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08025B8E @@ -16540,7 +16540,7 @@ atk61_drawpartystatussummary: @ 8025BA4 ldr r1, _08025C10 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _08025C14 @ =gEnemyParty mov r8, r1 @@ -17020,7 +17020,7 @@ _08025FA4: .4byte gUnknown_2023D74 atk68_cancelallactions: @ 8025FA8 push {r4,r5,lr} movs r1, 0 - ldr r2, _08025FD4 @ =gUnknown_2023BCC + ldr r2, _08025FD4 @ =gBattlersCount ldr r5, _08025FD8 @ =gUnknown_2023D74 ldrb r0, [r2] cmp r1, r0 @@ -17042,7 +17042,7 @@ _08025FC6: pop {r0} bx r0 .align 2, 0 -_08025FD4: .4byte gUnknown_2023BCC +_08025FD4: .4byte gBattlersCount _08025FD8: .4byte gUnknown_2023D74 _08025FDC: .4byte gUnknown_2023BDA thumb_func_end atk68_cancelallactions @@ -17060,7 +17060,7 @@ atk69_adjustsetdamage: @ 8025FE0 ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _08026014 - ldr r1, _08026010 @ =gUnknown_2023F54 + ldr r1, _08026010 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -17071,7 +17071,7 @@ atk69_adjustsetdamage: @ 8025FE0 .align 2, 0 _08026008: .4byte gBattleMons _0802600C: .4byte gBattlerTarget -_08026010: .4byte gUnknown_2023F54 +_08026010: .4byte gEnigmaBerries _08026014: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -17085,7 +17085,7 @@ _08026014: lsls r0, 24 lsrs r6, r0, 24 _0802602E: - ldr r1, _080260F0 @ =gUnknown_2023D6F + ldr r1, _080260F0 @ =gPotentialItemEffectBattler ldr r5, _080260F4 @ =gBattlerTarget ldrb r0, [r5] strb r0, [r1] @@ -17182,7 +17182,7 @@ _080260BE: strb r1, [r0] b _0802613C .align 2, 0 -_080260F0: .4byte gUnknown_2023D6F +_080260F0: .4byte gPotentialItemEffectBattler _080260F4: .4byte gBattlerTarget _080260F8: .4byte gUnknown_2023ECC _080260FC: .4byte gBattleMons @@ -18039,7 +18039,7 @@ _080267EC: .4byte gUnknown_2023D74 atk6E_setatktoplayer0: @ 80267F0 push {lr} movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _08026808 @ =sBattler_AI strb r0, [r1] ldr r1, _0802680C @ =gUnknown_2023D74 @@ -18088,7 +18088,7 @@ atk70_recordlastability: @ 8026844 ldr r1, _08026870 @ =gActiveBattler strb r0, [r1] ldrb r0, [r1] - ldr r1, _08026874 @ =gUnknown_2023D6A + ldr r1, _08026874 @ =gLastUsedAbility ldrb r1, [r1] bl sub_80C71D0 ldr r0, [r4] @@ -18100,7 +18100,7 @@ atk70_recordlastability: @ 8026844 .align 2, 0 _0802686C: .4byte gUnknown_2023D74 _08026870: .4byte gActiveBattler -_08026874: .4byte gUnknown_2023D6A +_08026874: .4byte gLastUsedAbility thumb_func_end atk70_recordlastability thumb_func_start BufferMoveToLearnIntoBattleTextBuff2 @@ -18110,7 +18110,7 @@ BufferMoveToLearnIntoBattleTextBuff2: @ 8026878 strb r0, [r2] movs r0, 0x2 strb r0, [r2, 0x1] - ldr r0, _0802689C @ =gUnknown_2024022 + ldr r0, _0802689C @ =gMoveToLearn ldrh r1, [r0] strb r1, [r2, 0x2] movs r0, 0xFF @@ -18123,7 +18123,7 @@ BufferMoveToLearnIntoBattleTextBuff2: @ 8026878 bx lr .align 2, 0 _08026898: .4byte gUnknown_2022AC8 -_0802689C: .4byte gUnknown_2024022 +_0802689C: .4byte gMoveToLearn thumb_func_end BufferMoveToLearnIntoBattleTextBuff2 thumb_func_start atk71_buffermovetolearn @@ -18290,7 +18290,7 @@ atk74_hpthresholds2: @ 80269A8 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _08026A18 @ =gBattleStruct ldr r6, [r1] @@ -18360,7 +18360,7 @@ _08026A54: .4byte gUnknown_2023D74 atk75_useitemonopponent: @ 8026A58 push {lr} sub sp, 0x4 - ldr r2, _08026A98 @ =gUnknown_2024004 + ldr r2, _08026A98 @ =gBattlerInMenuId ldr r1, _08026A9C @ =sBattler_AI ldrb r0, [r1] strb r0, [r2] @@ -18380,7 +18380,7 @@ atk75_useitemonopponent: @ 8026A58 movs r3, 0x1 str r3, [sp] movs r3, 0 - bl sub_80413E4 + bl PokemonUseItemEffects ldr r1, _08026AAC @ =gUnknown_2023D74 ldr r0, [r1] adds r0, 0x1 @@ -18389,7 +18389,7 @@ atk75_useitemonopponent: @ 8026A58 pop {r0} bx r0 .align 2, 0 -_08026A98: .4byte gUnknown_2024004 +_08026A98: .4byte gBattlerInMenuId _08026A9C: .4byte sBattler_AI _08026AA0: .4byte gBattlerPartyIndexes _08026AA4: .4byte gEnemyParty @@ -18453,12 +18453,12 @@ _08026B2C: ldrb r0, [r4] strb r0, [r1] ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r2, _08026B70 @ =gUnknown_2023DE4 + ldr r2, _08026B70 @ =gSideTimers lsls r1, r0, 1 adds r1, r0 lsls r1, 2 @@ -18479,7 +18479,7 @@ _08026B2C: .align 2, 0 _08026B68: .4byte sBattler_AI _08026B6C: .4byte gBattlerTarget -_08026B70: .4byte gUnknown_2023DE4 +_08026B70: .4byte gSideTimers _08026B74: .4byte gBattleMons _08026B78: ldr r0, _08026B84 @ =gBattlerTarget @@ -18677,7 +18677,7 @@ _08026CF4: movs r0, 0x1 strb r0, [r1] mov r8, r1 - ldr r0, _08026D44 @ =gUnknown_2023BCC + ldr r0, _08026D44 @ =gBattlersCount mov r4, r8 ldrb r5, [r0] ldr r6, _08026D48 @ =gBattleMons @@ -18711,7 +18711,7 @@ _08026D2A: .align 2, 0 _08026D3C: .4byte gUnknown_2023E82 _08026D40: .4byte gActiveBattler -_08026D44: .4byte gUnknown_2023BCC +_08026D44: .4byte gBattlersCount _08026D48: .4byte gBattleMons _08026D4C: .4byte gBitTable _08026D50: @@ -18725,7 +18725,7 @@ _08026D50: _08026D5C: .4byte gActiveBattler _08026D60: .4byte gBattleMons _08026D64: - ldr r0, _08026D94 @ =gUnknown_2023BCC + ldr r0, _08026D94 @ =gBattlersCount ldrb r0, [r0] cmp r0, 0x3 bhi _08026D6E @@ -18751,7 +18751,7 @@ _08026D84: bl MarkBufferBankForExecution b _08026F4E .align 2, 0 -_08026D94: .4byte gUnknown_2023BCC +_08026D94: .4byte gBattlersCount _08026D98: .4byte gActiveBattler _08026D9C: .4byte gBattleMons _08026DA0: @@ -18760,7 +18760,7 @@ _08026DA0: strb r1, [r0, 0x5] mov r8, r1 movs r7, 0 - ldr r0, _08026F2C @ =gUnknown_2023BCC + ldr r0, _08026F2C @ =gBattlersCount mov r12, r0 ldrb r2, [r0] cmp r8, r2 @@ -18850,7 +18850,7 @@ _08026E4E: cmp r0, 0 beq _08026E88 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _08026F3C @ =gActiveBattler strb r0, [r4] movs r0, 0 @@ -18925,7 +18925,7 @@ _08026EEC: cmp r2, 0 beq _08026F4E movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _08026F3C @ =gActiveBattler strb r0, [r4] movs r0, 0 @@ -18947,7 +18947,7 @@ _08026EEC: b _08026F4E .align 2, 0 _08026F28: .4byte gUnknown_2023E82 -_08026F2C: .4byte gUnknown_2023BCC +_08026F2C: .4byte gBattlersCount _08026F30: .4byte gBattleMons _08026F34: .4byte 0xf7ffffff _08026F38: .4byte gPlayerParty @@ -19004,7 +19004,7 @@ atk77_setprotectlike: @ 8026F68 _08026F98: ldr r0, _08027040 @ =gUnknown_2023BE2 ldrb r1, [r0] - ldr r0, _08027044 @ =gUnknown_2023BCC + ldr r0, _08027044 @ =gBattlersCount ldrb r0, [r0] subs r0, 0x1 cmp r1, r0 @@ -19086,7 +19086,7 @@ _08027034: .4byte gUnknown_2023DB0 _08027038: .4byte sBattler_AI _0802703C: .4byte gDisableStructs _08027040: .4byte gUnknown_2023BE2 -_08027044: .4byte gUnknown_2023BCC +_08027044: .4byte gBattlersCount _08027048: .4byte gUnknown_82507E0 _0802704C: .4byte gBattleMoves _08027050: .4byte gCurrentMove @@ -19139,7 +19139,7 @@ atk78_faintifabilitynotdamp: @ 80270A4 bne _080271A8 ldr r1, _08027164 @ =gBattlerTarget strb r2, [r1] - ldr r0, _08027168 @ =gUnknown_2023BCC + ldr r0, _08027168 @ =gBattlersCount ldrb r3, [r0] adds r5, r1, 0 mov r8, r0 @@ -19229,7 +19229,7 @@ _08027152: .align 2, 0 _08027160: .4byte gUnknown_2023BC8 _08027164: .4byte gBattlerTarget -_08027168: .4byte gUnknown_2023BCC +_08027168: .4byte gBattlersCount _0802716C: .4byte gBattleMons _08027170: .4byte gActiveBattler _08027174: .4byte sBattler_AI @@ -19239,7 +19239,7 @@ _08027180: .4byte gUnknown_2023D74 _08027184: .4byte gBitTable _08027188: .4byte gAbsentBattlerFlags _0802718C: - ldr r1, _080271B4 @ =gUnknown_2023D6A + ldr r1, _080271B4 @ =gLastUsedAbility movs r0, 0x6 strb r0, [r1] ldrb r0, [r5] @@ -19259,7 +19259,7 @@ _080271A8: pop {r0} bx r0 .align 2, 0 -_080271B4: .4byte gUnknown_2023D6A +_080271B4: .4byte gLastUsedAbility _080271B8: .4byte gUnknown_2023D74 _080271BC: .4byte gUnknown_81D93AF thumb_func_end atk78_faintifabilitynotdamp @@ -19343,7 +19343,7 @@ atk7A_jumpifnexttargetvalid: @ 8027220 adds r3, r0, 0 ldr r6, _080272A8 @ =gAbsentBattlerFlags ldr r5, _080272AC @ =gBitTable - ldr r0, _080272B0 @ =gUnknown_2023BCC + ldr r0, _080272B0 @ =gBattlersCount mov r12, r0 ldrb r0, [r2] cmp r1, r0 @@ -19382,7 +19382,7 @@ _080272A0: .4byte gBattlerTarget _080272A4: .4byte sBattler_AI _080272A8: .4byte gAbsentBattlerFlags _080272AC: .4byte gBitTable -_080272B0: .4byte gUnknown_2023BCC +_080272B0: .4byte gBattlersCount _080272B4: str r4, [r7] b _080272BC @@ -19468,7 +19468,7 @@ atk7C_trymirrormove: @ 8027340 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r2, _080273E0 @ =gUnknown_2023BCC + ldr r2, _080273E0 @ =gBattlersCount ldr r0, _080273E4 @ =gBattleStruct mov r10, r0 movs r1, 0 @@ -19547,7 +19547,7 @@ _080273AC: strh r3, [r4] b _08027426 .align 2, 0 -_080273E0: .4byte gUnknown_2023BCC +_080273E0: .4byte gBattlersCount _080273E4: .4byte gBattleStruct _080273E8: .4byte sBattler_AI _080273EC: .4byte 0x0000ffff @@ -19682,7 +19682,7 @@ atk7E_setreflect: @ 80274FC push {r4-r6,lr} ldr r6, _0802752C @ =sBattler_AI ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition ldr r4, _08027530 @ =gSideAffecting movs r5, 0x1 adds r1, r5, 0 @@ -19709,7 +19709,7 @@ _08027534: .4byte gMoveResultFlags _08027538: .4byte gUnknown_2023E82 _0802753C: ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r5, 0 ands r1, r0 lsls r1, 1 @@ -19719,8 +19719,8 @@ _0802753C: orrs r0, r2 strh r0, [r1] ldrb r0, [r6] - bl GetBankIdentity - ldr r4, _080275A0 @ =gUnknown_2023DE4 + bl GetBattlerPosition + ldr r4, _080275A0 @ =gSideTimers adds r1, r5, 0 ands r1, r0 lsls r0, r1, 1 @@ -19730,7 +19730,7 @@ _0802753C: movs r1, 0x5 strb r1, [r0] ldrb r0, [r6] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r5, 0 ands r1, r0 lsls r0, r1, 1 @@ -19745,7 +19745,7 @@ _0802753C: cmp r0, 0 beq _080275AC movs r0, 0x1 - bl sub_803F5B4 + bl CountAliveMons lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0x2 @@ -19754,7 +19754,7 @@ _0802753C: strb r1, [r0, 0x5] b _080275B2 .align 2, 0 -_080275A0: .4byte gUnknown_2023DE4 +_080275A0: .4byte gSideTimers _080275A4: .4byte gBattleTypeFlags _080275A8: .4byte gUnknown_2023E82 _080275AC: @@ -20108,7 +20108,7 @@ UproarWakeUpCheck: @ 8027830 lsls r0, 24 lsrs r3, r0, 24 movs r2, 0 - ldr r0, _08027888 @ =gUnknown_2023BCC + ldr r0, _08027888 @ =gBattlersCount ldrb r1, [r0] mov r8, r0 cmp r2, r1 @@ -20148,7 +20148,7 @@ _0802785C: strb r0, [r7, 0x5] b _080278A4 .align 2, 0 -_08027888: .4byte gUnknown_2023BCC +_08027888: .4byte gBattlersCount _0802788C: .4byte gBattleMons _08027890: .4byte gBattleScripting _08027894: .4byte gUnknown_2023E82 @@ -20224,7 +20224,7 @@ _08027900: cmp r1, 0x48 bne _0802793C _08027918: - ldr r2, _08027934 @ =gUnknown_2023D6A + ldr r2, _08027934 @ =gLastUsedAbility strb r0, [r2] ldr r1, _08027938 @ =gUnknown_2023E82 movs r0, 0x2 @@ -20236,7 +20236,7 @@ _08027918: b _08027942 .align 2, 0 _08027930: .4byte gBattleMons -_08027934: .4byte gUnknown_2023D6A +_08027934: .4byte gLastUsedAbility _08027938: .4byte gUnknown_2023E82 _0802793C: ldr r0, [r5] @@ -20355,7 +20355,7 @@ _08027A08: ldr r4, _08027AC0 @ =gSideAffecting ldr r5, _08027AC4 @ =gBattlerTarget ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -20378,7 +20378,7 @@ _08027A08: str r4, [sp, 0x8] ldrb r4, [r5] str r4, [sp, 0xC] - bl sub_803ECEC + bl CalculateBaseDamage ldrb r2, [r6] lsls r1, r2, 3 subs r1, r2 @@ -20663,10 +20663,10 @@ _08027C64: blt _08027C88 b _08027F6C _08027C88: - ldr r4, _08027CE0 @ =gUnknown_2023DE4 + ldr r4, _08027CE0 @ =gSideTimers ldr r1, _08027CD4 @ =gActiveBattler ldrb r0, [r1] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 lsls r0, r1, 1 @@ -20704,7 +20704,7 @@ _08027C88: _08027CD4: .4byte gActiveBattler _08027CD8: .4byte gBattlerTarget _08027CDC: .4byte gUnknown_2022AB8 -_08027CE0: .4byte gUnknown_2023DE4 +_08027CE0: .4byte gSideTimers _08027CE4: .4byte gCurrentMove _08027CE8: .4byte gUnknown_2023ECC _08027CEC: .4byte gUnknown_2023D74 @@ -20810,7 +20810,7 @@ _08027DB4: ldr r1, _08027E00 @ =gUnknown_2023D74 ldr r0, _08027E04 @ =gUnknown_81D9416 str r0, [r1] - ldr r1, _08027E08 @ =gUnknown_2023D6A + ldr r1, _08027E08 @ =gLastUsedAbility ldrb r0, [r2] movs r3, 0x58 muls r0, r3 @@ -20837,7 +20837,7 @@ _08027DF8: .4byte gBattleScripting _08027DFC: .4byte gActiveBattler _08027E00: .4byte gUnknown_2023D74 _08027E04: .4byte gUnknown_81D9416 -_08027E08: .4byte gUnknown_2023D6A +_08027E08: .4byte gLastUsedAbility _08027E0C: ldr r1, _08027E58 @ =gActiveBattler ldrb r0, [r1] @@ -20864,7 +20864,7 @@ _08027E0C: ldr r1, _08027E60 @ =gUnknown_2023D74 ldr r0, _08027E64 @ =gUnknown_81D947E str r0, [r1] - ldr r1, _08027E68 @ =gUnknown_2023D6A + ldr r1, _08027E68 @ =gLastUsedAbility ldrb r0, [r3] muls r0, r4 add r0, r10 @@ -20880,7 +20880,7 @@ _08027E58: .4byte gActiveBattler _08027E5C: .4byte gBattleScripting _08027E60: .4byte gUnknown_2023D74 _08027E64: .4byte gUnknown_81D947E -_08027E68: .4byte gUnknown_2023D6A +_08027E68: .4byte gLastUsedAbility _08027E6C: ldr r4, _08027EBC @ =gActiveBattler ldrb r0, [r4] @@ -20909,7 +20909,7 @@ _08027E8E: ldr r1, _08027EC4 @ =gUnknown_2023D74 ldr r0, _08027EC8 @ =gUnknown_81D947E str r0, [r1] - ldr r1, _08027ECC @ =gUnknown_2023D6A + ldr r1, _08027ECC @ =gLastUsedAbility ldrb r0, [r2] muls r0, r4 add r0, r10 @@ -20925,7 +20925,7 @@ _08027EBC: .4byte gActiveBattler _08027EC0: .4byte gBattleScripting _08027EC4: .4byte gUnknown_2023D74 _08027EC8: .4byte gUnknown_81D947E -_08027ECC: .4byte gUnknown_2023D6A +_08027ECC: .4byte gLastUsedAbility _08027ED0: ldr r3, _08027F5C @ =gActiveBattler ldrb r1, [r3] @@ -21193,7 +21193,7 @@ _080280C8: .4byte gBattleScripting atk8A_normalisebuffs: @ 80280CC push {r4-r7,lr} movs r2, 0 - ldr r0, _08028114 @ =gUnknown_2023BCC + ldr r0, _08028114 @ =gBattlersCount ldrb r1, [r0] ldr r0, _08028118 @ =gUnknown_2023D74 mov r12, r0 @@ -21230,7 +21230,7 @@ _08028104: pop {r0} bx r0 .align 2, 0 -_08028114: .4byte gUnknown_2023BCC +_08028114: .4byte gBattlersCount _08028118: .4byte gUnknown_2023D74 _0802811C: .4byte gBattleMons thumb_func_end atk8A_normalisebuffs @@ -21500,7 +21500,7 @@ sub_802830C: @ 802830C _08028320: ldr r5, _080283A8 @ =gBattlerTarget ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _080283AC @ =gEnemyParty mov r8, r1 @@ -22144,7 +22144,7 @@ atk92_setlightscreen: @ 802883C push {r4-r6,lr} ldr r5, _0802886C @ =sBattler_AI ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition ldr r4, _08028870 @ =gSideAffecting movs r6, 0x1 adds r1, r6, 0 @@ -22171,7 +22171,7 @@ _08028874: .4byte gMoveResultFlags _08028878: .4byte gUnknown_2023E82 _0802887C: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r6, 0 ands r1, r0 lsls r1, 1 @@ -22181,8 +22181,8 @@ _0802887C: orrs r0, r2 strh r0, [r1] ldrb r0, [r5] - bl GetBankIdentity - ldr r4, _080288E0 @ =gUnknown_2023DE4 + bl GetBattlerPosition + ldr r4, _080288E0 @ =gSideTimers adds r1, r6, 0 ands r1, r0 lsls r0, r1, 1 @@ -22192,7 +22192,7 @@ _0802887C: movs r1, 0x5 strb r1, [r0, 0x2] ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r6, 0 ands r1, r0 lsls r0, r1, 1 @@ -22207,7 +22207,7 @@ _0802887C: cmp r0, 0 beq _080288EC movs r0, 0x1 - bl sub_803F5B4 + bl CountAliveMons lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -22216,7 +22216,7 @@ _0802887C: movs r0, 0x4 b _080288F0 .align 2, 0 -_080288E0: .4byte gUnknown_2023DE4 +_080288E0: .4byte gSideTimers _080288E4: .4byte gBattleTypeFlags _080288E8: .4byte gUnknown_2023E82 _080288EC: @@ -22252,7 +22252,7 @@ atk93_tryKO: @ 8028908 ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _08028940 - ldr r1, _0802893C @ =gUnknown_2023F54 + ldr r1, _0802893C @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -22263,7 +22263,7 @@ atk93_tryKO: @ 8028908 .align 2, 0 _08028934: .4byte gBattleMons _08028938: .4byte gBattlerTarget -_0802893C: .4byte gUnknown_2023F54 +_0802893C: .4byte gEnigmaBerries _08028940: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect @@ -22277,7 +22277,7 @@ _08028940: lsls r0, 24 lsrs r6, r0, 24 _0802895A: - ldr r1, _080289D4 @ =gUnknown_2023D6F + ldr r1, _080289D4 @ =gPotentialItemEffectBattler ldr r5, _080289D8 @ =gBattlerTarget ldrb r0, [r5] strb r0, [r1] @@ -22325,7 +22325,7 @@ _08028998: movs r1, 0x1 orrs r0, r1 strb r0, [r2] - ldr r0, _080289E8 @ =gUnknown_2023D6A + ldr r0, _080289E8 @ =gLastUsedAbility strb r4, [r0] ldr r1, _080289EC @ =gUnknown_2023D74 ldr r0, _080289F0 @ =gUnknown_81D93A1 @@ -22336,12 +22336,12 @@ _08028998: bl sub_80C71D0 b _08028C48 .align 2, 0 -_080289D4: .4byte gUnknown_2023D6F +_080289D4: .4byte gPotentialItemEffectBattler _080289D8: .4byte gBattlerTarget _080289DC: .4byte gUnknown_2023ECC _080289E0: .4byte gBattleMons _080289E4: .4byte gMoveResultFlags -_080289E8: .4byte gUnknown_2023D6A +_080289E8: .4byte gLastUsedAbility _080289EC: .4byte gUnknown_2023D74 _080289F0: .4byte gUnknown_81D93A1 _080289F4: @@ -22733,7 +22733,7 @@ sub_8028CF0: @ 8028CF0 bne _08028D18 ldr r0, _08028DC0 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -22746,7 +22746,7 @@ _08028D18: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -22758,7 +22758,7 @@ _08028D32: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08028D48 @@ -22934,7 +22934,7 @@ sub_8028E90: @ 8028E90 push {r5-r7} ldr r4, _08028EBC @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08028EC8 @@ -22964,7 +22964,7 @@ _08028ED8: adds r5, r1, r0 ldr r4, _08028F04 @ =gBattlerTarget ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08028F0C @@ -23026,7 +23026,7 @@ _08028F1C: ldr r1, _08028F88 @ =gUnknown_2023D74 ldr r0, _08028F8C @ =gUnknown_81D9444 str r0, [r1] - ldr r0, _08028F90 @ =gUnknown_2023D6A + ldr r0, _08028F90 @ =gLastUsedAbility strb r2, [r0] ldrb r0, [r5] movs r1, 0xC @@ -23039,7 +23039,7 @@ _08028F80: .4byte gBattlerTarget _08028F84: .4byte gBattleMons _08028F88: .4byte gUnknown_2023D74 _08028F8C: .4byte gUnknown_81D9444 -_08028F90: .4byte gUnknown_2023D6A +_08028F90: .4byte gLastUsedAbility _08028F94: mov r0, r10 mov r1, r9 @@ -23144,7 +23144,7 @@ _08029054: bne _080290D4 ldr r2, _080290C0 @ =gActiveBattler strb r1, [r2] - ldr r0, _080290C4 @ =gUnknown_2023BCC + ldr r0, _080290C4 @ =gBattlersCount ldrb r0, [r0] cmp r1, r0 bcs _08029164 @@ -23179,7 +23179,7 @@ _080290A2: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _080290C4 @ =gUnknown_2023BCC + ldr r1, _080290C4 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -23190,7 +23190,7 @@ _080290A2: _080290B8: .4byte gUnknown_2023BC8 _080290BC: .4byte gUnknown_2023D74 _080290C0: .4byte gActiveBattler -_080290C4: .4byte gUnknown_2023BCC +_080290C4: .4byte gBattlersCount _080290C8: .4byte gBitTable _080290CC: .4byte gBattleMons _080290D0: .4byte gAbsentBattlerFlags @@ -23233,12 +23233,12 @@ _08029114: cmp r0, 0 beq _08029164 ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition strb r0, [r4] ldrb r1, [r6] ldrb r2, [r4] @@ -23312,10 +23312,10 @@ _080291CC: .4byte gBattleMons thumb_func_start atk99_setmist atk99_setmist: @ 80291D0 push {r4-r6,lr} - ldr r6, _08029200 @ =gUnknown_2023DE4 + ldr r6, _08029200 @ =gSideTimers ldr r4, _08029204 @ =sBattler_AI ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition movs r5, 0x1 adds r1, r5, 0 ands r1, r0 @@ -23335,13 +23335,13 @@ atk99_setmist: @ 80291D0 strb r5, [r0, 0x5] b _0802925E .align 2, 0 -_08029200: .4byte gUnknown_2023DE4 +_08029200: .4byte gSideTimers _08029204: .4byte sBattler_AI _08029208: .4byte gMoveResultFlags _0802920C: .4byte gUnknown_2023E82 _08029210: ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r5, 0 ands r1, r0 lsls r0, r1, 1 @@ -23351,7 +23351,7 @@ _08029210: movs r1, 0x5 strb r1, [r0, 0x4] ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r5, 0 ands r1, r0 lsls r0, r1, 1 @@ -23361,7 +23361,7 @@ _08029210: ldrb r1, [r4] strb r1, [r0, 0x5] ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition ldr r2, _0802926C @ =gSideAffecting adds r1, r5, 0 ands r1, r0 @@ -24157,7 +24157,7 @@ atkA1_counterdamagecalculator: @ 8029880 push {r4-r6,lr} ldr r4, _080298F0 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 ldr r5, _080298F4 @ =gUnknown_2023E8C @@ -24165,7 +24165,7 @@ atkA1_counterdamagecalculator: @ 8029880 lsls r0, 4 adds r0, r5 ldrb r0, [r0, 0xC] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 ldrb r0, [r4] @@ -24189,7 +24189,7 @@ atkA1_counterdamagecalculator: @ 8029880 ldr r1, _080298FC @ =gBattleMoveDamage lsls r0, r3, 1 str r0, [r1] - ldr r1, _08029900 @ =gUnknown_2023DE4 + ldr r1, _08029900 @ =gSideTimers lsls r0, r2, 1 adds r0, r2 lsls r0, 2 @@ -24212,7 +24212,7 @@ _080298F0: .4byte sBattler_AI _080298F4: .4byte gUnknown_2023E8C _080298F8: .4byte gBattleMons _080298FC: .4byte gBattleMoveDamage -_08029900: .4byte gUnknown_2023DE4 +_08029900: .4byte gSideTimers _08029904: .4byte gBattlerTarget _08029908: ldr r2, _08029924 @ =gBattlerTarget @@ -24274,7 +24274,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 push {r4-r6,lr} ldr r4, _080299E8 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 ldr r5, _080299EC @ =gUnknown_2023E8C @@ -24282,7 +24282,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 lsls r0, 4 adds r0, r5 ldrb r0, [r0, 0xD] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r2, r0, 24 ldrb r0, [r4] @@ -24307,7 +24307,7 @@ atkA2_mirrorcoatdamagecalculator: @ 8029978 ldr r1, _080299F4 @ =gBattleMoveDamage lsls r0, r3, 1 str r0, [r1] - ldr r1, _080299F8 @ =gUnknown_2023DE4 + ldr r1, _080299F8 @ =gSideTimers lsls r0, r2, 1 adds r0, r2 lsls r0, 2 @@ -24330,7 +24330,7 @@ _080299E8: .4byte sBattler_AI _080299EC: .4byte gUnknown_2023E8C _080299F0: .4byte gBattleMons _080299F4: .4byte gBattleMoveDamage -_080299F8: .4byte gUnknown_2023DE4 +_080299F8: .4byte gSideTimers _080299FC: .4byte gBattlerTarget _08029A00: ldr r2, _08029A1C @ =gBattlerTarget @@ -25628,12 +25628,12 @@ TrySetDestinyBondToHappen: @ 802A3F8 push {r4,r5,lr} ldr r0, _0802A448 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r5, r0, 24 ldr r4, _0802A44C @ =gBattlerTarget ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r3, r0, 24 ldr r1, _0802A450 @ =gBattleMons @@ -25993,7 +25993,7 @@ _0802A6CC: strb r0, [r6, 0x5] ldr r5, _0802A728 @ =sBattler_AI ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _0802A72C @ =gEnemyParty mov r10, r1 @@ -26049,14 +26049,14 @@ _0802A74C: ldr r7, _0802A7C0 @ =gActiveBattler ldr r0, _0802A7C4 @ =sBattler_AI ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition movs r2, 0x2 mov r9, r2 mov r1, r9 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802A7C8 @ =gBattleScripting strb r0, [r1, 0x17] strb r0, [r7] @@ -26242,12 +26242,12 @@ _0802A8B6: ands r0, r6 str r0, [r1] ldrb r0, [r2] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _0802A980 @ =gActiveBattler strb r0, [r4] ldr r0, _0802A984 @ =gBattleTypeFlags @@ -26390,12 +26390,12 @@ atkB0_trysetspikes: @ 802AA18 push {r4,lr} ldr r4, _0802AA6C @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r1, _0802AA70 @ =gUnknown_2023DE4 + ldr r1, _0802AA70 @ =gSideTimers lsls r2, r0, 1 adds r0, r2, r0 lsls r0, 2 @@ -26429,7 +26429,7 @@ atkB0_trysetspikes: @ 802AA18 b _0802AA96 .align 2, 0 _0802AA6C: .4byte sBattler_AI -_0802AA70: .4byte gUnknown_2023DE4 +_0802AA70: .4byte gSideTimers _0802AA74: .4byte gUnknown_2023ECC _0802AA78: .4byte gUnknown_2023D74 _0802AA7C: @@ -26488,7 +26488,7 @@ atkB2_trysetperishsong: @ 802AAD4 push {r6,r7} movs r6, 0 movs r3, 0 - ldr r0, _0802AB18 @ =gUnknown_2023BCC + ldr r0, _0802AB18 @ =gBattlersCount adds r7, r0, 0 ldr r0, _0802AB1C @ =sBattler_AI mov r8, r0 @@ -26519,7 +26519,7 @@ _0802AB14: adds r6, 0x1 b _0802AB34 .align 2, 0 -_0802AB18: .4byte gUnknown_2023BCC +_0802AB18: .4byte gBattlersCount _0802AB1C: .4byte sBattler_AI _0802AB20: .4byte gBattleMons _0802AB24: .4byte gDisableStructs @@ -26540,7 +26540,7 @@ _0802AB40: mov r1, r8 ldrb r0, [r1] bl PressurePPLoseOnUsingPerishSong - ldr r0, _0802AB6C @ =gUnknown_2023BCC + ldr r0, _0802AB6C @ =gBattlersCount ldrb r0, [r0] cmp r6, r0 bne _0802AB74 @@ -26559,7 +26559,7 @@ _0802AB40: str r1, [r3] b _0802AB7C .align 2, 0 -_0802AB6C: .4byte gUnknown_2023BCC +_0802AB6C: .4byte gBattlersCount _0802AB70: .4byte gUnknown_2023D74 _0802AB74: ldr r1, _0802AB88 @ =gUnknown_2023D74 @@ -27078,7 +27078,7 @@ atkB8_setsafeguard: @ 802AF74 push {r4-r7,lr} ldr r7, _0802AFA8 @ =sBattler_AI ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition ldr r4, _0802AFAC @ =gSideAffecting movs r6, 0x1 adds r1, r6, 0 @@ -27106,7 +27106,7 @@ _0802AFB0: .4byte gMoveResultFlags _0802AFB4: .4byte gUnknown_2023E82 _0802AFB8: ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r6, 0 ands r1, r0 lsls r1, 1 @@ -27116,8 +27116,8 @@ _0802AFB8: orrs r0, r2 strh r0, [r1] ldrb r0, [r7] - bl GetBankIdentity - ldr r5, _0802B010 @ =gUnknown_2023DE4 + bl GetBattlerPosition + ldr r5, _0802B010 @ =gSideTimers adds r1, r6, 0 ands r1, r0 lsls r0, r1, 1 @@ -27127,7 +27127,7 @@ _0802AFB8: movs r4, 0x5 strb r4, [r0, 0x6] ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r6, 0 ands r1, r0 lsls r0, r1, 1 @@ -27147,7 +27147,7 @@ _0802B000: pop {r0} bx r0 .align 2, 0 -_0802B010: .4byte gUnknown_2023DE4 +_0802B010: .4byte gSideTimers _0802B014: .4byte gUnknown_2023E82 _0802B018: .4byte gUnknown_2023D74 thumb_func_end atkB8_setsafeguard @@ -27243,7 +27243,7 @@ _0802B0B4: strb r0, [r1, 0x5] ldr r1, _0802B128 @ =gBattlerTarget strb r2, [r1] - ldr r0, _0802B12C @ =gUnknown_2023BCC + ldr r0, _0802B12C @ =gBattlersCount ldrb r3, [r0] adds r6, r1, 0 ldr r0, _0802B130 @ =gUnknown_2023D74 @@ -27289,7 +27289,7 @@ _0802B10C: _0802B120: .4byte gDynamicBasePower _0802B124: .4byte gUnknown_2022AB8 _0802B128: .4byte gBattlerTarget -_0802B12C: .4byte gUnknown_2023BCC +_0802B12C: .4byte gBattlersCount _0802B130: .4byte gUnknown_2023D74 _0802B134: .4byte sBattler_AI _0802B138: .4byte gBitTable @@ -27309,7 +27309,7 @@ atkBA_jumpifnopursuitswitchdmg: @ 802B140 bne _0802B170 ldr r0, _0802B168 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0802B16C @@ -27324,7 +27324,7 @@ _0802B16C: _0802B170: ldr r0, _0802B184 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0802B188 @@ -27335,7 +27335,7 @@ _0802B184: .4byte sBattler_AI _0802B188: movs r0, 0x2 _0802B18A: - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0802B264 @ =gBattlerTarget strb r0, [r1] ldr r0, _0802B268 @ =gUnknown_2023D7C @@ -27389,7 +27389,7 @@ _0802B1A2: cmp r0, 0xE4 bne _0802B2A8 movs r1, 0 - ldr r0, _0802B280 @ =gUnknown_2023BCC + ldr r0, _0802B280 @ =gBattlersCount ldr r2, _0802B284 @ =gCurrentMove mov r8, r2 ldr r7, _0802B288 @ =gUnknown_2023D48 @@ -27455,7 +27455,7 @@ _0802B270: .4byte gBattleStruct _0802B274: .4byte gBattleMons _0802B278: .4byte gDisableStructs _0802B27C: .4byte gUnknown_2023DC4 -_0802B280: .4byte gUnknown_2023BCC +_0802B280: .4byte gBattlersCount _0802B284: .4byte gCurrentMove _0802B288: .4byte gUnknown_2023D48 _0802B28C: .4byte gUnknown_2023D49 @@ -27739,7 +27739,7 @@ _0802B4C0: .4byte gUnknown_2023D74 _0802B4C4: .4byte gUnknown_81D8E04 _0802B4C8: adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide ldr r4, _0802B518 @ =gSideAffecting lsls r0, 24 lsrs r0, 23 @@ -27750,7 +27750,7 @@ _0802B4C8: cmp r0, 0 beq _0802B52C ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -27760,8 +27760,8 @@ _0802B4C8: movs r4, 0 strh r1, [r0] ldrb r0, [r5] - bl GetBankSide - ldr r2, _0802B520 @ =gUnknown_2023DE4 + bl GetBattlerSide + ldr r2, _0802B520 @ =gSideTimers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -27776,7 +27776,7 @@ _0802B4C8: .align 2, 0 _0802B518: .4byte gSideAffecting _0802B51C: .4byte 0x0000ffef -_0802B520: .4byte gUnknown_2023DE4 +_0802B520: .4byte gSideTimers _0802B524: .4byte gUnknown_2023D74 _0802B528: .4byte gUnknown_81D8E0B _0802B52C: @@ -27844,7 +27844,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -27854,7 +27854,7 @@ atkC0_recoverbasedonsunlight: @ 802B570 movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _0802B5F0 @@ -28081,7 +28081,7 @@ atkC2_selectfirstvalidtarget: @ 802B774 ldr r0, _0802B7D0 @ =gBattlerTarget movs r1, 0 strb r1, [r0] - ldr r1, _0802B7D4 @ =gUnknown_2023BCC + ldr r1, _0802B7D4 @ =gBattlersCount ldrb r1, [r1] adds r6, r0, 0 ldr r0, _0802B7D8 @ =gUnknown_2023D74 @@ -28126,7 +28126,7 @@ _0802B7BE: bx r0 .align 2, 0 _0802B7D0: .4byte gBattlerTarget -_0802B7D4: .4byte gUnknown_2023BCC +_0802B7D4: .4byte gBattlersCount _0802B7D8: .4byte gUnknown_2023D74 _0802B7DC: .4byte sBattler_AI _0802B7E0: .4byte gBitTable @@ -28189,7 +28189,7 @@ _0802B82C: strb r1, [r0] ldr r4, _0802B8D4 @ =gSideAffecting ldrb r0, [r7] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 mov r10, r1 ands r1, r0 @@ -28212,7 +28212,7 @@ _0802B82C: str r4, [sp, 0x8] ldrb r4, [r7] str r4, [sp, 0xC] - bl sub_803ECEC + bl CalculateBaseDamage ldrb r1, [r7] lsls r1, 2 mov r2, r8 @@ -28285,7 +28285,7 @@ atkC4_trydobeatup: @ 802B910 push {r6,r7} ldr r0, _0802B954 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r7, _0802B958 @ =gEnemyParty cmp r0, 0 @@ -28828,8 +28828,8 @@ atkCA_setforcedtarget: @ 802BD68 push {r4,r5,lr} ldr r4, _0802BDA8 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide - ldr r5, _0802BDAC @ =gUnknown_2023DE4 + bl GetBattlerSide + ldr r5, _0802BDAC @ =gSideTimers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -28839,7 +28839,7 @@ atkCA_setforcedtarget: @ 802BD68 movs r0, 0x1 strb r0, [r1, 0x8] ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -28857,7 +28857,7 @@ atkCA_setforcedtarget: @ 802BD68 bx r0 .align 2, 0 _0802BDA8: .4byte sBattler_AI -_0802BDAC: .4byte gUnknown_2023DE4 +_0802BDAC: .4byte gSideTimers _0802BDB0: .4byte gUnknown_2023D74 thumb_func_end atkCA_setforcedtarget @@ -29193,12 +29193,12 @@ atkD1_trysethelpinghand: @ 802C038 push {r4,lr} ldr r4, _0802C0A0 @ =sBattler_AI ldrb r0, [r4] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r3, _0802C0A4 @ =gBattlerTarget strb r0, [r3] ldr r0, _0802C0A8 @ =gBattleTypeFlags @@ -29286,7 +29286,7 @@ sub_802C0E0: @ 802C0E0 bne _0802C1DE ldr r0, _0802C200 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -29305,12 +29305,12 @@ sub_802C0E0: @ 802C0E0 _0802C120: ldr r6, _0802C200 @ =sBattler_AI ldrb r0, [r6] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 ldr r7, _0802C20C @ =gBattlerTarget ldrb r0, [r7] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r5, r0, 24 ldr r0, _0802C1FC @ =gBattleTypeFlags @@ -29433,7 +29433,7 @@ _0802C224: ldr r1, _0802C24C @ =gUnknown_2023D74 ldr r0, _0802C250 @ =gUnknown_81D948E str r0, [r1] - ldr r1, _0802C254 @ =gUnknown_2023D6A + ldr r1, _0802C254 @ =gLastUsedAbility ldrb r0, [r7] muls r0, r5 add r0, r8 @@ -29447,7 +29447,7 @@ _0802C224: .align 2, 0 _0802C24C: .4byte gUnknown_2023D74 _0802C250: .4byte gUnknown_81D948E -_0802C254: .4byte gUnknown_2023D6A +_0802C254: .4byte gLastUsedAbility _0802C258: ldr r3, _0802C344 @ =gBattleStruct mov r10, r3 @@ -29621,7 +29621,7 @@ atkD3_trycopyability: @ 802C390 adds r0, r3 adds r0, 0x20 strb r1, [r0] - ldr r1, _0802C3DC @ =gUnknown_2023D6A + ldr r1, _0802C3DC @ =gLastUsedAbility ldrb r0, [r4] muls r0, r2 adds r0, r3 @@ -29637,7 +29637,7 @@ atkD3_trycopyability: @ 802C390 _0802C3D0: .4byte gBattleMons _0802C3D4: .4byte gBattlerTarget _0802C3D8: .4byte sBattler_AI -_0802C3DC: .4byte gUnknown_2023D6A +_0802C3DC: .4byte gLastUsedAbility _0802C3E0: .4byte gUnknown_2023D74 _0802C3E4: ldr r3, _0802C404 @ =gUnknown_2023D74 @@ -30150,7 +30150,7 @@ _0802C7B4: .4byte gStatuses3 _0802C7B8: .4byte gUnknown_2023D74 _0802C7BC: adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -30160,7 +30160,7 @@ _0802C7BC: b _0802C82E _0802C7D2: adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r8, r0 @@ -30211,12 +30211,12 @@ _0802C828: lsls r0, 24 lsrs r6, r0, 24 _0802C82E: - ldr r0, _0802C86C @ =gUnknown_2023BCC + ldr r0, _0802C86C @ =gBattlersCount ldrb r0, [r0] cmp r6, r0 bcc _0802C7D2 _0802C836: - ldr r0, _0802C86C @ =gUnknown_2023BCC + ldr r0, _0802C86C @ =gBattlersCount ldrb r0, [r0] cmp r6, r0 bne _0802C858 @@ -30244,7 +30244,7 @@ _0802C858: .align 2, 0 _0802C864: .4byte sBattler_AI _0802C868: .4byte gBattleMons -_0802C86C: .4byte gUnknown_2023BCC +_0802C86C: .4byte gBattlersCount _0802C870: .4byte gUnknown_2023D74 thumb_func_end atkDB_tryimprision @@ -30388,7 +30388,7 @@ atkDE_asistattackselect: @ 802C964 str r0, [sp, 0x4] ldr r0, _0802CA88 @ =sBattler_AI ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 ands r1, r0 ldr r0, _0802CA8C @ =gPlayerParty @@ -30577,7 +30577,7 @@ atkDF_trysetmagiccoat: @ 802CAE4 strb r1, [r0] ldr r0, _0802CB38 @ =gUnknown_2023BE2 ldrb r1, [r0] - ldr r0, _0802CB3C @ =gUnknown_2023BCC + ldr r0, _0802CB3C @ =gBattlersCount ldrb r0, [r0] subs r0, 0x1 cmp r1, r0 @@ -30601,7 +30601,7 @@ _0802CB2C: .4byte gBattlerTarget _0802CB30: .4byte sBattler_AI _0802CB34: .4byte gUnknown_2023ECC _0802CB38: .4byte gUnknown_2023BE2 -_0802CB3C: .4byte gUnknown_2023BCC +_0802CB3C: .4byte gBattlersCount _0802CB40: .4byte gUnknown_2023D74 _0802CB44: ldr r0, _0802CB60 @ =gUnknown_2023E8C @@ -30640,7 +30640,7 @@ atkE0_trysetsnatch: @ 802CB68 strb r1, [r0] ldr r0, _0802CBB4 @ =gUnknown_2023BE2 ldrb r1, [r0] - ldr r0, _0802CBB8 @ =gUnknown_2023BCC + ldr r0, _0802CBB8 @ =gBattlersCount ldrb r0, [r0] subs r0, 0x1 cmp r1, r0 @@ -30663,7 +30663,7 @@ atkE0_trysetsnatch: @ 802CB68 _0802CBAC: .4byte gUnknown_2023ECC _0802CBB0: .4byte sBattler_AI _0802CBB4: .4byte gUnknown_2023BE2 -_0802CBB8: .4byte gUnknown_2023BCC +_0802CBB8: .4byte gBattlersCount _0802CBBC: .4byte gUnknown_2023D74 _0802CBC0: ldr r0, _0802CBDC @ =gUnknown_2023E8C @@ -30695,7 +30695,7 @@ atkE1_trygetintimidatetarget: @ 802CBE4 ldrb r0, [r0] strb r0, [r4, 0x17] ldrb r0, [r4, 0x17] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r5, r0, 24 ldr r2, _0802CC90 @ =gUnknown_2022AB8 @@ -30714,7 +30714,7 @@ atkE1_trygetintimidatetarget: @ 802CBE4 movs r0, 0xFF strb r0, [r2, 0x3] ldr r2, _0802CC98 @ =gBattlerTarget - ldr r1, _0802CC9C @ =gUnknown_2023BCC + ldr r1, _0802CC9C @ =gBattlersCount ldrb r0, [r2] ldrb r1, [r1] cmp r0, r1 @@ -30723,7 +30723,7 @@ atkE1_trygetintimidatetarget: @ 802CBE4 ldr r6, _0802CCA0 @ =gBitTable _0802CC2A: ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, r5 @@ -30735,14 +30735,14 @@ _0802CC2A: adds r0, r6 ldr r0, [r0] ands r1, r0 - ldr r2, _0802CC9C @ =gUnknown_2023BCC + ldr r2, _0802CC9C @ =gBattlersCount cmp r1, 0 beq _0802CC60 _0802CC4C: ldrb r0, [r4] adds r0, 0x1 strb r0, [r4] - ldr r1, _0802CC9C @ =gUnknown_2023BCC + ldr r1, _0802CC9C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 adds r2, r1, 0 @@ -30776,7 +30776,7 @@ _0802CC8C: .4byte gBattleStruct _0802CC90: .4byte gUnknown_2022AB8 _0802CC94: .4byte gBattleMons _0802CC98: .4byte gBattlerTarget -_0802CC9C: .4byte gUnknown_2023BCC +_0802CC9C: .4byte gBattlersCount _0802CCA0: .4byte gBitTable _0802CCA4: .4byte gAbsentBattlerFlags _0802CCA8: .4byte gUnknown_2023D74 @@ -31080,7 +31080,7 @@ _0802CEF6: ldr r1, _0802CF28 @ =gUnknown_8250848 adds r2, r1 movs r1, 0xC - bl sub_804037C + bl SetMonData _0802CF0A: adds r7, r4, 0 cmp r7, 0x5 @@ -31284,7 +31284,7 @@ atkE9_setweatherballtype: @ 802D090 movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -31294,7 +31294,7 @@ atkE9_setweatherballtype: @ 802D090 movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0802D130 @@ -31546,12 +31546,12 @@ atkEC_pursuitrelated: @ 802D2A0 push {r4-r6,lr} ldr r5, _0802D314 @ =sBattler_AI ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x2 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r4, _0802D318 @ =gActiveBattler strb r0, [r4] ldr r0, _0802D31C @ =gBattleTypeFlags @@ -31681,12 +31681,12 @@ atkEE_removelightscreenreflect: @ 802D3B8 push {r4,lr} ldr r0, _0802D400 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r1, _0802D404 @ =gUnknown_2023DE4 + ldr r1, _0802D404 @ =gSideTimers lsls r3, r0, 1 adds r0, r3, r0 lsls r0, 2 @@ -31716,7 +31716,7 @@ _0802D3E0: b _0802D41E .align 2, 0 _0802D400: .4byte sBattler_AI -_0802D404: .4byte gUnknown_2023DE4 +_0802D404: .4byte gSideTimers _0802D408: .4byte gSideAffecting _0802D40C: .4byte 0x0000fffe _0802D410: .4byte 0x0000fffd @@ -32067,7 +32067,7 @@ _0802D6BC: adds r0, r1 ldr r2, _0802D71C @ =gUnknown_2023D68 movs r1, 0x26 - bl sub_804037C + bl SetMonData bl CalculatePlayerPartyCount lsls r0, 24 lsrs r0, 24 @@ -32144,7 +32144,7 @@ _0802D76C: adds r0, r1 movs r1, 0x26 adds r2, r5, 0 - bl sub_804037C + bl SetMonData bl CalculatePlayerPartyCount lsls r0, 24 lsrs r0, 24 @@ -33070,7 +33070,7 @@ _0802DF18: ldr r2, [r1] adds r2, 0x6D movs r1, 0x2 - bl sub_804037C + bl SetMonData b _0802DF8C .align 2, 0 _0802DF54: .4byte gMain @@ -33183,14 +33183,14 @@ sub_802E020: @ 802E020 movs r0, 0xC strb r0, [r1] ldr r1, _0802E034 @ =gUnknown_2023BE2 - ldr r0, _0802E038 @ =gUnknown_2023BCC + ldr r0, _0802E038 @ =gBattlersCount ldrb r0, [r0] strb r0, [r1] bx lr .align 2, 0 _0802E030: .4byte gUnknown_2023BE3 _0802E034: .4byte gUnknown_2023BE2 -_0802E038: .4byte gUnknown_2023BCC +_0802E038: .4byte gBattlersCount thumb_func_end sub_802E020 .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 27ac6b473..d9c84dcc4 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -260,7 +260,7 @@ sub_807F810: @ 807F810 ldr r0, _0807F860 @ =gEnemyParty ldr r2, _0807F864 @ =gUnknown_841D148 movs r1, 0x2 - bl sub_804037C + bl SetMonData movs r0, 0x7 bl IncrementGameStat movs r0, 0x8 @@ -396,7 +396,7 @@ _0807F960: ldr r0, _0807F990 @ =gEnemyParty ldr r2, _0807F994 @ =gUnknown_841D148 movs r1, 0x2 - bl sub_804037C + bl SetMonData movs r0, 0x7 bl IncrementGameStat movs r0, 0x8 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 45107fad1..34b80978c 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -939,7 +939,7 @@ sub_80E6078: @ 80E6078 ldrb r0, [r1] cmp r0, 0xC8 bne _080E60A4 - ldr r1, _080E609C @ =gUnknown_82538A8 + ldr r1, _080E609C @ =gFacilityClassToPicIndex ldr r2, _080E60A0 @ =0x000004a1 adds r0, r3, r2 ldrb r0, [r0] @@ -948,12 +948,12 @@ sub_80E6078: @ 80E6078 .align 2, 0 _080E6094: .4byte gSaveBlock2Ptr _080E6098: .4byte 0x0000056c -_080E609C: .4byte gUnknown_82538A8 +_080E609C: .4byte gFacilityClassToPicIndex _080E60A0: .4byte 0x000004a1 _080E60A4: cmp r0, 0x63 bls _080E60C4 - ldr r2, _080E60C0 @ =gUnknown_82538A8 + ldr r2, _080E60C0 @ =gFacilityClassToPicIndex ldrb r0, [r1] subs r0, 0x64 movs r1, 0xA4 @@ -965,9 +965,9 @@ _080E60A4: adds r0, r2 b _080E60D6 .align 2, 0 -_080E60C0: .4byte gUnknown_82538A8 +_080E60C0: .4byte gFacilityClassToPicIndex _080E60C4: - ldr r3, _080E60DC @ =gUnknown_82538A8 + ldr r3, _080E60DC @ =gFacilityClassToPicIndex ldr r2, _080E60E0 @ =gUnknown_83FFAC4 ldrb r1, [r1] lsls r0, r1, 2 @@ -981,7 +981,7 @@ _080E60D6: pop {r1} bx r1 .align 2, 0 -_080E60DC: .4byte gUnknown_82538A8 +_080E60DC: .4byte gFacilityClassToPicIndex _080E60E0: .4byte gUnknown_83FFAC4 thumb_func_end sub_80E6078 @@ -995,7 +995,7 @@ sub_80E60E4: @ 80E60E4 ldrb r0, [r1] cmp r0, 0xC8 bne _080E6110 - ldr r1, _080E6108 @ =gUnknown_825393E + ldr r1, _080E6108 @ =gFacilityClassToTrainerClass ldr r2, _080E610C @ =0x000004a1 adds r0, r3, r2 ldrb r0, [r0] @@ -1004,12 +1004,12 @@ sub_80E60E4: @ 80E60E4 .align 2, 0 _080E6100: .4byte gSaveBlock2Ptr _080E6104: .4byte 0x0000056c -_080E6108: .4byte gUnknown_825393E +_080E6108: .4byte gFacilityClassToTrainerClass _080E610C: .4byte 0x000004a1 _080E6110: cmp r0, 0x63 bhi _080E6130 - ldr r3, _080E6128 @ =gUnknown_825393E + ldr r3, _080E6128 @ =gFacilityClassToTrainerClass ldr r2, _080E612C @ =gUnknown_83FFAC4 ldrb r1, [r1] lsls r0, r1, 2 @@ -1020,10 +1020,10 @@ _080E6110: adds r0, r3 b _080E6144 .align 2, 0 -_080E6128: .4byte gUnknown_825393E +_080E6128: .4byte gFacilityClassToTrainerClass _080E612C: .4byte gUnknown_83FFAC4 _080E6130: - ldr r2, _080E614C @ =gUnknown_825393E + ldr r2, _080E614C @ =gFacilityClassToTrainerClass ldrb r0, [r1] subs r0, 0x64 movs r1, 0xA4 @@ -1038,7 +1038,7 @@ _080E6144: pop {r1} bx r1 .align 2, 0 -_080E614C: .4byte gUnknown_825393E +_080E614C: .4byte gFacilityClassToTrainerClass thumb_func_end sub_80E60E4 thumb_func_start sub_80E6150 @@ -1465,7 +1465,7 @@ _080E646E: adds r0, r4, 0 movs r1, 0x20 add r2, sp, 0xC - bl sub_804037C + bl SetMonData mov r0, r8 add r0, r10 ldrb r2, [r0, 0x2] @@ -1474,7 +1474,7 @@ _080E646E: adds r2, r0 adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData mov r6, r9 _080E64A0: cmp r6, 0x3 @@ -1523,7 +1523,7 @@ _080E64EC: movs r0, 0xB adds r1, r5, 0 muls r1, r0 - ldr r0, _080E651C @ =gUnknown_8245EE0 + ldr r0, _080E651C @ =gSpeciesNames adds r1, r0 adds r0, r6, 0 bl StringAppend @@ -1537,7 +1537,7 @@ _080E64EC: .align 2, 0 _080E6514: .4byte gStringVar1 _080E6518: .4byte gUnknown_83FE859 -_080E651C: .4byte gUnknown_8245EE0 +_080E651C: .4byte gSpeciesNames _080E6520: cmp r4, 0x8 beq _080E6538 @@ -1999,7 +1999,7 @@ _080E6874: adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData adds r5, 0x1 cmp r5, 0x5 ble _080E6874 @@ -2101,7 +2101,7 @@ _080E6948: adds r0, r4 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData adds r5, 0x1 cmp r5, 0x5 ble _080E6948 @@ -3306,7 +3306,7 @@ _080E72EA: adds r0, r4, 0 adds r1, r7, 0 adds r2, r6, 0 - bl sub_804037C + bl SetMonData _080E731A: adds r5, 0x1 cmp r5, 0x2 @@ -3437,7 +3437,7 @@ _080E741C: .4byte gPlayerParty thumb_func_start GetEreaderTrainerFrontSpriteId GetEreaderTrainerFrontSpriteId: @ 80E7420 - ldr r1, _080E7434 @ =gUnknown_82538A8 + ldr r1, _080E7434 @ =gFacilityClassToPicIndex ldr r0, _080E7438 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _080E743C @ =0x000004a1 @@ -3447,14 +3447,14 @@ GetEreaderTrainerFrontSpriteId: @ 80E7420 ldrb r0, [r0] bx lr .align 2, 0 -_080E7434: .4byte gUnknown_82538A8 +_080E7434: .4byte gFacilityClassToPicIndex _080E7438: .4byte gSaveBlock2Ptr _080E743C: .4byte 0x000004a1 thumb_func_end GetEreaderTrainerFrontSpriteId thumb_func_start GetEreaderTrainerClassId GetEreaderTrainerClassId: @ 80E7440 - ldr r1, _080E7454 @ =gUnknown_825393E + ldr r1, _080E7454 @ =gFacilityClassToTrainerClass ldr r0, _080E7458 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _080E745C @ =0x000004a1 @@ -3464,7 +3464,7 @@ GetEreaderTrainerClassId: @ 80E7440 ldrb r0, [r0] bx lr .align 2, 0 -_080E7454: .4byte gUnknown_825393E +_080E7454: .4byte gFacilityClassToTrainerClass _080E7458: .4byte gSaveBlock2Ptr _080E745C: .4byte 0x000004a1 thumb_func_end GetEreaderTrainerClassId diff --git a/asm/battle_util.s b/asm/battle_util.s index 1c180978d..cab42d908 100644 --- a/asm/battle_util.s +++ b/asm/battle_util.s @@ -74,7 +74,7 @@ _08016EB4: _08016EB8: movs r0, 0x1 _08016EBA: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r2, r0, 24 _08016EC2: @@ -199,12 +199,12 @@ PressurePPLoseOnUsingImprision: @ 8016F90 movs r0, 0x4 mov r8, r0 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 movs r4, 0 - ldr r0, _080170B0 @ =gUnknown_2023BCC + ldr r0, _080170B0 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bge _08017038 @@ -217,7 +217,7 @@ PressurePPLoseOnUsingImprision: @ 8016F90 _08016FC6: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 adds r6, r4, 0x1 @@ -270,7 +270,7 @@ _08017016: strb r0, [r1] _0801702E: adds r4, r6, 0 - ldr r0, _080170B0 @ =gUnknown_2023BCC + ldr r0, _080170B0 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _08016FC6 @@ -335,7 +335,7 @@ _080170A0: pop {r0} bx r0 .align 2, 0 -_080170B0: .4byte gUnknown_2023BCC +_080170B0: .4byte gBattlersCount _080170B4: .4byte gBattleMons _080170B8: .4byte gDisableStructs _080170BC: .4byte gBitTable @@ -354,7 +354,7 @@ PressurePPLoseOnUsingPerishSong: @ 80170C4 lsrs r3, r0, 24 movs r6, 0x4 movs r1, 0 - ldr r0, _080171BC @ =gUnknown_2023BCC + ldr r0, _080171BC @ =gBattlersCount mov r8, r0 ldrb r0, [r0] cmp r1, r0 @@ -472,7 +472,7 @@ _080171AA: pop {r0} bx r0 .align 2, 0 -_080171BC: .4byte gUnknown_2023BCC +_080171BC: .4byte gBattlersCount _080171C0: .4byte gBattleMons _080171C4: .4byte gUnknown_2023BF0 _080171C8: .4byte gUnknown_2023C08 @@ -491,7 +491,7 @@ MarkAllBufferBanksForExecution: @ 80171D8 cmp r0, 0 beq _08017218 movs r2, 0 - ldr r4, _0801720C @ =gUnknown_2023BCC + ldr r4, _0801720C @ =gBattlersCount ldrb r0, [r4] cmp r2, r0 bge _08017236 @@ -510,12 +510,12 @@ _080171F4: b _08017236 .align 2, 0 _08017208: .4byte gBattleTypeFlags -_0801720C: .4byte gUnknown_2023BCC +_0801720C: .4byte gBattlersCount _08017210: .4byte gUnknown_2023BC8 _08017214: .4byte gBitTable _08017218: movs r2, 0 - ldr r4, _0801723C @ =gUnknown_2023BCC + ldr r4, _0801723C @ =gBattlersCount ldrb r0, [r4] cmp r2, r0 bge _08017236 @@ -535,7 +535,7 @@ _08017236: pop {r0} bx r0 .align 2, 0 -_0801723C: .4byte gUnknown_2023BCC +_0801723C: .4byte gBattlersCount _08017240: .4byte gUnknown_2023BC8 _08017244: .4byte gBitTable thumb_func_end MarkAllBufferBanksForExecution @@ -752,7 +752,7 @@ ResetSentPokesToOpponentValue: @ 80173D0 strb r3, [r0] strb r3, [r0, 0x1] movs r1, 0 - ldr r0, _08017428 @ =gUnknown_2023BCC + ldr r0, _08017428 @ =gBattlersCount ldrb r2, [r0] adds r6, r0, 0 cmp r1, r2 @@ -794,7 +794,7 @@ _0801741E: bx r0 .align 2, 0 _08017424: .4byte gUnknown_2023F4E -_08017428: .4byte gUnknown_2023BCC +_08017428: .4byte gBattlersCount _0801742C: .4byte gBitTable _08017430: .4byte gBattlerPartyIndexes thumb_func_end ResetSentPokesToOpponentValue @@ -808,7 +808,7 @@ sub_8017434: @ 8017434 lsrs r5, r0, 24 movs r4, 0 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -822,7 +822,7 @@ sub_8017434: @ 8017434 adds r0, r1 strb r4, [r0] adds r5, r4, 0 - ldr r0, _080174A8 @ =gUnknown_2023BCC + ldr r0, _080174A8 @ =gBattlersCount ldrb r2, [r0] mov r8, r1 cmp r4, r2 @@ -861,7 +861,7 @@ _08017498: bx r0 .align 2, 0 _080174A4: .4byte gUnknown_2023F4E -_080174A8: .4byte gUnknown_2023BCC +_080174A8: .4byte gBattlersCount _080174AC: .4byte gAbsentBattlerFlags _080174B0: .4byte gBitTable _080174B4: .4byte gBattlerPartyIndexes @@ -873,7 +873,7 @@ sub_80174B8: @ 80174B8 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -883,7 +883,7 @@ sub_80174B8: @ 80174B8 b _0801750A _080174D4: movs r3, 0x1 - ldr r5, _08017510 @ =gUnknown_2023BCC + ldr r5, _08017510 @ =gBattlersCount ldrb r0, [r5] cmp r3, r0 bge _0801750A @@ -915,7 +915,7 @@ _0801750A: pop {r0} bx r0 .align 2, 0 -_08017510: .4byte gUnknown_2023BCC +_08017510: .4byte gBattlersCount _08017514: .4byte gUnknown_2023F4E _08017518: .4byte gBitTable _0801751C: .4byte gBattlerPartyIndexes @@ -1124,7 +1124,7 @@ _0801768E: ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _080176E8 - ldr r1, _080176E4 @ =gUnknown_2023F54 + ldr r1, _080176E4 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -1146,14 +1146,14 @@ _080176D4: .4byte gUnknown_81D8EB7 _080176D8: .4byte gBattleMoves _080176DC: .4byte gUnknown_81D8EC6 _080176E0: .4byte gUnknown_81D8F9F -_080176E4: .4byte gUnknown_2023F54 +_080176E4: .4byte gEnigmaBerries _080176E8: ldrh r0, [r1, 0x2E] bl ItemId_GetHoldEffect lsls r0, 24 lsrs r3, r0, 24 _080176F2: - ldr r2, _08017774 @ =gUnknown_2023D6F + ldr r2, _08017774 @ =gPotentialItemEffectBattler ldr r1, _08017778 @ =gActiveBattler ldrb r0, [r1] strb r0, [r2] @@ -1221,7 +1221,7 @@ _08017768: pop {r1} bx r1 .align 2, 0 -_08017774: .4byte gUnknown_2023D6F +_08017774: .4byte gPotentialItemEffectBattler _08017778: .4byte gActiveBattler _0801777C: .4byte gBattleMons _08017780: .4byte 0x0000ffff @@ -1260,7 +1260,7 @@ CheckMoveLimitations: @ 801779C ldrh r0, [r1, 0x2E] cmp r0, 0xAF bne _080177EC - ldr r2, _080177E8 @ =gUnknown_2023F54 + ldr r2, _080177E8 @ =gEnigmaBerries lsls r1, r7, 3 subs r0, r1, r7 lsls r0, 2 @@ -1271,7 +1271,7 @@ CheckMoveLimitations: @ 801779C .align 2, 0 _080177E0: .4byte gBattleStruct _080177E4: .4byte gBattleMons -_080177E8: .4byte gUnknown_2023F54 +_080177E8: .4byte gEnigmaBerries _080177EC: ldrh r0, [r1, 0x2E] str r3, [sp, 0x14] @@ -1282,7 +1282,7 @@ _080177EC: lsls r1, r7, 3 ldr r3, [sp, 0x14] _080177FE: - ldr r0, _08017978 @ =gUnknown_2023D6F + ldr r0, _08017978 @ =gPotentialItemEffectBattler strb r7, [r0] movs r0, 0 mov r9, r0 @@ -1481,7 +1481,7 @@ _08017966: pop {r1} bx r1 .align 2, 0 -_08017978: .4byte gUnknown_2023D6F +_08017978: .4byte gPotentialItemEffectBattler _0801797C: .4byte gDisableStructs _08017980: .4byte gBattleMons _08017984: .4byte gUnknown_2023BF0 @@ -1524,7 +1524,7 @@ sub_8017998: @ 8017998 cmp r0, 0 beq _08017A1C ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition adds r4, r0, 0 bl Random movs r1, 0x1 @@ -1535,7 +1535,7 @@ sub_8017998: @ 8017998 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r2, _08017A18 @ =gUnknown_20233C4 ldrb r1, [r5] lsls r1, 9 @@ -1551,12 +1551,12 @@ _08017A14: .4byte gBattleTypeFlags _08017A18: .4byte gUnknown_20233C4 _08017A1C: ldrb r0, [r5] - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r0, 24 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r2, _08017A3C @ =gUnknown_20233C4 ldrb r1, [r5] lsls r1, 9 @@ -1599,12 +1599,12 @@ GetImprisonedMovesCount: @ 8017A64 lsls r1, 16 lsrs r5, r1, 16 movs r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 mov r9, r0 movs r4, 0 - ldr r0, _08017AF8 @ =gUnknown_2023BCC + ldr r0, _08017AF8 @ =gBattlersCount ldrb r0, [r0] cmp r6, r0 bge _08017AE8 @@ -1613,7 +1613,7 @@ GetImprisonedMovesCount: @ 8017A64 _08017A8E: lsls r0, r4, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 adds r3, r4, 0x1 @@ -1654,7 +1654,7 @@ _08017AD4: lsrs r6, r0, 24 _08017ADE: adds r4, r3, 0 - ldr r0, _08017AF8 @ =gUnknown_2023BCC + ldr r0, _08017AF8 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _08017A8E @@ -1667,7 +1667,7 @@ _08017AE8: pop {r1} bx r1 .align 2, 0 -_08017AF8: .4byte gUnknown_2023BCC +_08017AF8: .4byte gBattlersCount _08017AFC: .4byte gUnknown_2023BF0 _08017B00: .4byte gStatuses3 thumb_func_end GetImprisonedMovesCount @@ -1684,7 +1684,7 @@ UpdateTurnCounters: @ 8017B04 ldr r1, _08017BA8 @ =sBattler_AI mov r2, r9 strb r2, [r1] - ldr r0, _08017BAC @ =gUnknown_2023BCC + ldr r0, _08017BAC @ =gBattlersCount ldrb r4, [r0] adds r6, r1, 0 mov r10, r0 @@ -1763,7 +1763,7 @@ _08017B9E: mov pc, r0 .align 2, 0 _08017BA8: .4byte sBattler_AI -_08017BAC: .4byte gUnknown_2023BCC +_08017BAC: .4byte gBattlersCount _08017BB0: .4byte gBattlerTarget _08017BB4: .4byte gBattleStruct _08017BB8: .4byte gAbsentBattlerFlags @@ -1784,7 +1784,7 @@ _08017BC4: .4byte _08018220 _08017BF0: movs r5, 0 - ldr r1, _08017C10 @ =gUnknown_2023BCC + ldr r1, _08017C10 @ =gBattlersCount mov r10, r1 ldrb r2, [r1] cmp r5, r2 @@ -1801,7 +1801,7 @@ _08017C0A: movs r5, 0 b _08017C58 .align 2, 0 -_08017C10: .4byte gUnknown_2023BCC +_08017C10: .4byte gBattlersCount _08017C14: .4byte gUnknown_2023BDE _08017C18: adds r4, r5, 0x1 @@ -1810,7 +1810,7 @@ _08017C18: cmp r6, r1 bge _08017C56 ldr r7, _08017D14 @ =gUnknown_2023BDE - ldr r0, _08017D18 @ =gUnknown_2023BCC + ldr r0, _08017D18 @ =gBattlersCount mov r10, r0 lsls r1, r5, 24 mov r8, r1 @@ -1831,7 +1831,7 @@ _08017C2C: bl SwapTurnOrder _08017C4C: adds r4, 0x1 - ldr r0, _08017D18 @ =gUnknown_2023BCC + ldr r0, _08017D18 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 blt _08017C2C @@ -1871,7 +1871,7 @@ _08017C8E: ldr r0, [r1] adds r0, 0xDB ldrb r4, [r0] - ldr r2, _08017D2C @ =gUnknown_2023DE4 + ldr r2, _08017D2C @ =gSideTimers lsls r1, r4, 1 adds r0, r1, r4 lsls r0, 2 @@ -1938,12 +1938,12 @@ _08017D06: b _08017F60 .align 2, 0 _08017D14: .4byte gUnknown_2023BDE -_08017D18: .4byte gUnknown_2023BCC +_08017D18: .4byte gBattlersCount _08017D1C: .4byte gBattleStruct _08017D20: .4byte gActiveBattler _08017D24: .4byte sBattler_AI _08017D28: .4byte gUnknown_2022AB8 -_08017D2C: .4byte gUnknown_2023DE4 +_08017D2C: .4byte gSideTimers _08017D30: .4byte gSideAffecting _08017D34: .4byte 0x0000fffe _08017D38: .4byte gUnknown_81D8B32 @@ -1966,7 +1966,7 @@ _08017D56: ldr r0, [r1] adds r0, 0xDB ldrb r4, [r0] - ldr r2, _08017DEC @ =gUnknown_2023DE4 + ldr r2, _08017DEC @ =gSideTimers lsls r1, r4, 1 adds r0, r1, r4 lsls r0, 2 @@ -2037,7 +2037,7 @@ _08017DD4: .align 2, 0 _08017DE4: .4byte sBattler_AI _08017DE8: .4byte gUnknown_2022AB8 -_08017DEC: .4byte gUnknown_2023DE4 +_08017DEC: .4byte gSideTimers _08017DF0: .4byte gActiveBattler _08017DF4: .4byte gSideAffecting _08017DF8: .4byte 0x0000fffd @@ -2061,7 +2061,7 @@ _08017E20: ldr r0, [r1] adds r0, 0xDB ldrb r4, [r0] - ldr r1, _08017ECC @ =gUnknown_2023DE4 + ldr r1, _08017ECC @ =gSideTimers lsls r3, r4, 1 adds r0, r3, r4 lsls r0, 2 @@ -2144,7 +2144,7 @@ _08017EAC: _08017EC0: .4byte gActiveBattler _08017EC4: .4byte sBattler_AI _08017EC8: .4byte gUnknown_2022AB8 -_08017ECC: .4byte gUnknown_2023DE4 +_08017ECC: .4byte gSideTimers _08017ED0: .4byte gSideAffecting _08017ED4: .4byte 0x0000feff _08017ED8: .4byte gUnknown_81D8B32 @@ -2163,7 +2163,7 @@ _08017EF4: ldr r0, [r1] adds r0, 0xDB ldrb r4, [r0] - ldr r2, _08017F88 @ =gUnknown_2023DE4 + ldr r2, _08017F88 @ =gSideTimers lsls r1, r4, 1 adds r0, r1, r4 lsls r0, 2 @@ -2235,7 +2235,7 @@ _08017F68: .align 2, 0 _08017F80: .4byte gActiveBattler _08017F84: .4byte sBattler_AI -_08017F88: .4byte gUnknown_2023DE4 +_08017F88: .4byte gSideTimers _08017F8C: .4byte gSideAffecting _08017F90: .4byte 0x0000ffdf _08017F94: .4byte gUnknown_81D8B43 @@ -2244,7 +2244,7 @@ _08017F9C: mov r2, r12 ldr r0, [r2] adds r0, 0xDB - ldr r1, _08018030 @ =gUnknown_2023BCC + ldr r1, _08018030 @ =gBattlersCount ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -2302,7 +2302,7 @@ _08017FF8: _0801800E: ldr r0, [r2] adds r0, 0xDB - ldr r1, _08018030 @ =gUnknown_2023BCC + ldr r1, _08018030 @ =gBattlersCount ldrb r0, [r0] ldrb r1, [r1] cmp r0, r1 @@ -2320,7 +2320,7 @@ _08018024: strb r0, [r1, 0x3] b _0801822A .align 2, 0 -_08018030: .4byte gUnknown_2023BCC +_08018030: .4byte gBattlersCount _08018034: .4byte gActiveBattler _08018038: .4byte gUnknown_2023BDE _0801803C: .4byte gUnknown_2023F20 @@ -2597,7 +2597,7 @@ TurnBasedEffects: @ 8018258 str r0, [r2] ldr r5, _08018294 @ =gBattleStruct ldr r2, [r5] - ldr r0, _08018298 @ =gUnknown_2023BCC + ldr r0, _08018298 @ =gBattlersCount ldrb r1, [r2, 0x1] adds r7, r5, 0 mov r8, r0 @@ -2611,7 +2611,7 @@ _08018288: _0801828C: .4byte gUnknown_2023DD0 _08018290: .4byte 0x01000020 _08018294: .4byte gBattleStruct -_08018298: .4byte gUnknown_2023BCC +_08018298: .4byte gBattlersCount _0801829C: ldr r3, _080182D0 @ =gActiveBattler ldr r4, _080182D4 @ =sBattler_AI @@ -2731,7 +2731,7 @@ _080183AC: movs r0, 0x1 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _080183C6 @@ -3270,7 +3270,7 @@ _080187EE: bcc _080187CE _080187FC: ldr r2, _08018814 @ =sBattler_AI - ldr r1, _08018818 @ =gUnknown_2023BCC + ldr r1, _08018818 @ =gBattlersCount ldrb r0, [r2] ldrb r1, [r1] cmp r0, r1 @@ -3281,7 +3281,7 @@ _080187FC: .align 2, 0 _08018810: .4byte gBattleMons _08018814: .4byte sBattler_AI -_08018818: .4byte gUnknown_2023BCC +_08018818: .4byte gBattlersCount _0801881C: ldr r5, _08018854 @ =gActiveBattler ldrb r0, [r5] @@ -3825,7 +3825,7 @@ _08018C4C: _08018C50: ldr r5, _08018C88 @ =gBattleStruct ldr r2, [r5] - ldr r0, _08018C8C @ =gUnknown_2023BCC + ldr r0, _08018C8C @ =gBattlersCount ldrb r1, [r2, 0x1] adds r7, r5, 0 mov r8, r0 @@ -3855,7 +3855,7 @@ _08018C78: bx r1 .align 2, 0 _08018C88: .4byte gBattleStruct -_08018C8C: .4byte gUnknown_2023BCC +_08018C8C: .4byte gBattlersCount _08018C90: .4byte gUnknown_2023DD0 _08018C94: .4byte 0xfeffffdf thumb_func_end TurnBasedEffects @@ -3893,7 +3893,7 @@ _08018CD0: .4byte gBattleStruct _08018CD4: ldr r2, _08018D20 @ =0x00000181 adds r0, r3, r2 - ldr r1, _08018D24 @ =gUnknown_2023BCC + ldr r1, _08018D24 @ =gBattlersCount ldrb r0, [r0] mov r8, r1 ldrb r6, [r1] @@ -3933,7 +3933,7 @@ _08018CFC: b _08018E04 .align 2, 0 _08018D20: .4byte 0x00000181 -_08018D24: .4byte gUnknown_2023BCC +_08018D24: .4byte gBattlersCount _08018D28: .4byte gActiveBattler _08018D2C: .4byte gUnknown_2022AB8 _08018D30: .4byte gUnknown_2023F20 @@ -4059,7 +4059,7 @@ _08018E2C: ldr r0, [r3] ldr r2, _08018E7C @ =0x00000181 adds r0, r2 - ldr r1, _08018E80 @ =gUnknown_2023BCC + ldr r1, _08018E80 @ =gBattlersCount ldrb r0, [r0] mov r8, r1 ldrb r4, [r1] @@ -4099,7 +4099,7 @@ _08018E4E: b _08018F54 .align 2, 0 _08018E7C: .4byte 0x00000181 -_08018E80: .4byte gUnknown_2023BCC +_08018E80: .4byte gBattlersCount _08018E84: .4byte gActiveBattler _08018E88: .4byte gUnknown_2022AB8 _08018E8C: .4byte gDisableStructs @@ -4305,7 +4305,7 @@ _0801901C: adds r0, 0x1 strb r0, [r1] movs r5, 0 - ldr r0, _080190E8 @ =gUnknown_2023BCC + ldr r0, _080190E8 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _0801906E @@ -4332,7 +4332,7 @@ _0801903C: strb r0, [r6] _08019064: adds r5, 0x1 - ldr r0, _080190E8 @ =gUnknown_2023BCC + ldr r0, _080190E8 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801903C @@ -4388,7 +4388,7 @@ _080190C6: ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r0, _080190E8 @ =gUnknown_2023BCC + ldr r0, _080190E8 @ =gBattlersCount lsls r1, 24 lsrs r1, 24 ldrb r0, [r0] @@ -4401,7 +4401,7 @@ _080190C6: strb r1, [r0] b _08019264 .align 2, 0 -_080190E8: .4byte gUnknown_2023BCC +_080190E8: .4byte gBattlersCount _080190EC: .4byte gAbsentBattlerFlags _080190F0: .4byte gBitTable _080190F4: .4byte gBattleStruct @@ -4419,7 +4419,7 @@ _08019108: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - ldr r1, _0801913C @ =gUnknown_2023BCC + ldr r1, _0801913C @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -4433,7 +4433,7 @@ _08019108: .align 2, 0 _08019134: .4byte gUnknown_2023D6D _08019138: .4byte gBattleStruct -_0801913C: .4byte gUnknown_2023BCC +_0801913C: .4byte gBattlersCount _08019140: ldr r0, [r2] adds r0, 0x4D @@ -4485,7 +4485,7 @@ _0801916A: _08019198: adds r0, r3, 0x1 strb r0, [r4] - ldr r1, _080191C4 @ =gUnknown_2023BCC + ldr r1, _080191C4 @ =gBattlersCount lsls r0, 24 lsrs r0, 24 ldrb r1, [r1] @@ -4499,7 +4499,7 @@ _080191B4: .4byte gBattleStruct _080191B8: .4byte gBattleMons _080191BC: .4byte gBitTable _080191C0: .4byte gAbsentBattlerFlags -_080191C4: .4byte gUnknown_2023BCC +_080191C4: .4byte gBattlersCount _080191C8: mov r1, r8 ldr r0, [r1] @@ -4507,7 +4507,7 @@ _080191C8: ldrb r1, [r0] adds r1, 0x1 strb r1, [r0] - ldr r0, _080191EC @ =gUnknown_2023BCC + ldr r0, _080191EC @ =gBattlersCount lsls r1, 24 lsrs r1, 24 ldrb r0, [r0] @@ -4521,7 +4521,7 @@ _080191E0: strb r1, [r0] b _08019264 .align 2, 0 -_080191EC: .4byte gUnknown_2023BCC +_080191EC: .4byte gBattlersCount _080191F0: mov r1, r8 ldr r0, [r1] @@ -4536,7 +4536,7 @@ _080191FC: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -4548,7 +4548,7 @@ _08019216: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _0801922C @@ -4569,7 +4569,7 @@ _08019240: movs r1, 0 movs r2, 0 movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08019256 @@ -4608,7 +4608,7 @@ _08019280: .4byte gBattleStruct TryClearRageStatuses: @ 8019284 push {r4-r6,lr} movs r3, 0 - ldr r0, _080192C4 @ =gUnknown_2023BCC + ldr r0, _080192C4 @ =gBattlersCount adds r5, r0, 0 ldrb r0, [r5] cmp r3, r0 @@ -4641,7 +4641,7 @@ _080192BC: pop {r0} bx r0 .align 2, 0 -_080192C4: .4byte gUnknown_2023BCC +_080192C4: .4byte gBattlersCount _080192C8: .4byte gUnknown_2023DC4 _080192CC: .4byte gUnknown_2023C34 _080192D0: .4byte 0xff7fffff @@ -5315,7 +5315,7 @@ _08019868: adds r0, r1, 0 movs r2, 0x1 movs r3, 0 - bl sub_803ECEC + bl CalculateBaseDamage ldr r1, _080198C0 @ =gBattleMoveDamage str r0, [r1] ldr r0, _080198C4 @ =gUnknown_2023E8C @@ -5432,7 +5432,7 @@ _08019974: _08019988: ldr r0, _080199A0 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _080199AC @@ -5765,7 +5765,7 @@ _08019C40: lsls r0, 24 lsrs r7, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 ldr r1, _08019CC4 @ =gEnemyParty mov r8, r1 @@ -5826,17 +5826,17 @@ _08019CC4: .4byte gEnemyParty _08019CC8: .4byte gPlayerParty _08019CCC: adds r0, r3, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08019CF8 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 ldr r0, _08019CF4 @ =gEnemyParty @@ -5846,11 +5846,11 @@ _08019CCC: _08019CF4: .4byte gEnemyParty _08019CF8: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 ldr r1, _08019DA0 @ =gPlayerParty @@ -5964,7 +5964,7 @@ sub_8019DAC: @ 8019DAC movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _08019DFE @@ -5973,7 +5973,7 @@ sub_8019DAC: @ 8019DAC movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08019E24 @@ -6002,7 +6002,7 @@ _08019E24: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -6012,7 +6012,7 @@ _08019E24: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _08019E54 @@ -6124,8 +6124,8 @@ _08019F10: .4byte gBattleWeather _08019F14: .4byte gBattleMons thumb_func_end sub_8019DAC - thumb_func_start sub_8019F18 -sub_8019F18: @ 8019F18 + thumb_func_start AbilityBattleEffects +AbilityBattleEffects: @ 8019F18 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -6149,7 +6149,7 @@ sub_8019F18: @ 8019F18 movs r0, 0 mov r9, r0 ldr r5, _08019F74 @ =sBattler_AI - ldr r1, _08019F78 @ =gUnknown_2023BCC + ldr r1, _08019F78 @ =gBattlersCount ldrb r0, [r5] ldrb r1, [r1] cmp r0, r1 @@ -6158,7 +6158,7 @@ sub_8019F18: @ 8019F18 strb r1, [r5] _08019F54: ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08019F84 @@ -6173,7 +6173,7 @@ _08019F54: b _08019F94 .align 2, 0 _08019F74: .4byte sBattler_AI -_08019F78: .4byte gUnknown_2023BCC +_08019F78: .4byte gBattlersCount _08019F7C: .4byte gBattlerPartyIndexes _08019F80: .4byte gPlayerParty _08019F84: @@ -6188,7 +6188,7 @@ _08019F84: _08019F94: adds r6, r1, r0 ldr r5, _08019FCC @ =gBattlerTarget - ldr r1, _08019FD0 @ =gUnknown_2023BCC + ldr r1, _08019FD0 @ =gBattlersCount ldrb r0, [r5] ldrb r1, [r1] cmp r0, r1 @@ -6197,7 +6197,7 @@ _08019F94: strb r2, [r5] _08019FA6: ldrb r0, [r5] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08019FD8 @@ -6214,7 +6214,7 @@ _08019FA6: _08019FC4: .4byte gBattlerPartyIndexes _08019FC8: .4byte gEnemyParty _08019FCC: .4byte gBattlerTarget -_08019FD0: .4byte gUnknown_2023BCC +_08019FD0: .4byte gBattlersCount _08019FD4: .4byte gPlayerParty _08019FD8: ldr r1, _0801A038 @ =gBattlerPartyIndexes @@ -6258,7 +6258,7 @@ _0801A02A: mov r3, r8 cmp r3, 0 beq _0801A048 - ldr r0, _0801A044 @ =gUnknown_2023D6A + ldr r0, _0801A044 @ =gLastUsedAbility strb r3, [r0] mov r8, r0 b _0801A05E @@ -6266,9 +6266,9 @@ _0801A02A: _0801A038: .4byte gBattlerPartyIndexes _0801A03C: .4byte gEnemyParty _0801A040: .4byte gBattleTypeFlags -_0801A044: .4byte gUnknown_2023D6A +_0801A044: .4byte gLastUsedAbility _0801A048: - ldr r2, _0801A078 @ =gUnknown_2023D6A + ldr r2, _0801A078 @ =gLastUsedAbility ldr r1, _0801A07C @ =gBattleMons movs r0, 0x58 mov r3, r10 @@ -6295,7 +6295,7 @@ _0801A066: ands r5, r0 b _0801A094 .align 2, 0 -_0801A078: .4byte gUnknown_2023D6A +_0801A078: .4byte gLastUsedAbility _0801A07C: .4byte gBattleMons _0801A080: .4byte gCurrentMove _0801A084: .4byte gBattleStruct @@ -6364,7 +6364,7 @@ _0801A0DC: .4byte _0801B8B4 _0801A12C: ldr r2, _0801A160 @ =sBattler_AI - ldr r0, _0801A164 @ =gUnknown_2023BCC + ldr r0, _0801A164 @ =gBattlersCount ldrb r1, [r2] adds r3, r0, 0 ldrb r4, [r3] @@ -6394,7 +6394,7 @@ _0801A15C: bl _0801BBAA .align 2, 0 _0801A160: .4byte sBattler_AI -_0801A164: .4byte gUnknown_2023BCC +_0801A164: .4byte gBattlersCount _0801A168: cmp r0, 0x16 bne _0801A16E @@ -6681,13 +6681,13 @@ _0801A3C8: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0801A3DC @ =gUnknown_2023BCC + ldr r0, _0801A3DC @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _0801A3B4 bl _0801BBAA .align 2, 0 -_0801A3DC: .4byte gUnknown_2023BCC +_0801A3DC: .4byte gBattlersCount _0801A3E0: ldr r7, _0801A410 @ =gBattleMons movs r0, 0x58 @@ -6731,7 +6731,7 @@ _0801A426: movs r1, 0 movs r2, 0xD movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 lsrs r0, 24 cmp r0, 0 @@ -6743,7 +6743,7 @@ _0801A442: movs r1, 0 movs r2, 0x4D movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 beq _0801A45A @@ -8085,7 +8085,7 @@ _0801B00C: .4byte gUnknown_81D94BE _0801B010: movs r4, 0 mov r10, r4 - ldr r0, _0801B044 @ =gUnknown_2023BCC + ldr r0, _0801B044 @ =gBattlersCount ldrb r0, [r0] cmp r10, r0 bcc _0801B020 @@ -8111,7 +8111,7 @@ _0801B03A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0801B044: .4byte gUnknown_2023BCC +_0801B044: .4byte gBattlersCount _0801B048: .4byte gBattleMons _0801B04C: .4byte _0801B050 .align 2, 0 @@ -8435,7 +8435,7 @@ _0801B358: lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r0, _0801B370 @ =gUnknown_2023BCC + ldr r0, _0801B370 @ =gBattlersCount ldrb r0, [r0] cmp r10, r0 bcs _0801B36C @@ -8443,11 +8443,11 @@ _0801B358: _0801B36C: bl _0801BBAA .align 2, 0 -_0801B370: .4byte gUnknown_2023BCC +_0801B370: .4byte gBattlersCount _0801B374: movs r2, 0 mov r10, r2 - ldr r0, _0801B3C0 @ =gUnknown_2023BCC + ldr r0, _0801B3C0 @ =gBattlersCount ldrb r0, [r0] cmp r10, r0 bcc _0801B384 @@ -8478,13 +8478,13 @@ _0801B3AA: lsls r0, 24 lsrs r0, 24 mov r10, r0 - ldr r0, _0801B3C0 @ =gUnknown_2023BCC + ldr r0, _0801B3C0 @ =gBattlersCount ldrb r0, [r0] cmp r10, r0 bcc _0801B386 bl _0801BBAA .align 2, 0 -_0801B3C0: .4byte gUnknown_2023BCC +_0801B3C0: .4byte gBattlersCount _0801B3C4: .4byte gBattleMons _0801B3C8: mov r4, r8 @@ -8612,7 +8612,7 @@ _0801B4CC: .4byte gUnknown_2023D74 _0801B4D0: .4byte gUnknown_81D94CE _0801B4D4: movs r5, 0 - ldr r0, _0801B50C @ =gUnknown_2023BCC + ldr r0, _0801B50C @ =gBattlersCount ldrb r1, [r0] cmp r5, r1 blt _0801B4E0 @@ -8642,12 +8642,12 @@ _0801B4FE: blt _0801B4EE b _0801BBAA .align 2, 0 -_0801B50C: .4byte gUnknown_2023BCC +_0801B50C: .4byte gBattlersCount _0801B510: .4byte gBattleMons _0801B514: .4byte gStatuses3 _0801B518: movs r5, 0 - ldr r0, _0801B5F4 @ =gUnknown_2023BCC + ldr r0, _0801B5F4 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B524 @@ -8681,17 +8681,17 @@ _0801B53C: _0801B552: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankIdentity + bl GetBattlerPosition movs r1, 0x1 adds r6, r0, 0 eors r6, r1 ands r6, r1 adds r0, r6, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 adds r0, r6, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r7, r0, 24 ldr r0, _0801B604 @ =gBattleTypeFlags @@ -8735,7 +8735,7 @@ _0801B584: lsls r1, 1 orrs r6, r1 adds r0, r6, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r2, r8 strb r0, [r2] ldrb r0, [r2] @@ -8752,16 +8752,16 @@ _0801B584: adds r0, r4 adds r0, 0x20 ldrb r0, [r0] - ldr r2, _0801B608 @ =gUnknown_2023D6A + ldr r2, _0801B608 @ =gLastUsedAbility strb r0, [r2] b _0801B6C4 .align 2, 0 -_0801B5F4: .4byte gUnknown_2023BCC +_0801B5F4: .4byte gBattlersCount _0801B5F8: .4byte gActiveBattler _0801B5FC: .4byte gBattleMons _0801B600: .4byte gStatuses3 _0801B604: .4byte gBattleTypeFlags -_0801B608: .4byte gUnknown_2023D6A +_0801B608: .4byte gLastUsedAbility _0801B60C: ldr r3, _0801B650 @ =gBattleMons movs r2, 0x58 @@ -8794,12 +8794,12 @@ _0801B60C: adds r0, r3 adds r0, 0x20 ldrb r0, [r0] - ldr r2, _0801B654 @ =gUnknown_2023D6A + ldr r2, _0801B654 @ =gLastUsedAbility strb r0, [r2] b _0801B6C4 .align 2, 0 _0801B650: .4byte gBattleMons -_0801B654: .4byte gUnknown_2023D6A +_0801B654: .4byte gLastUsedAbility _0801B658: ldr r3, _0801B698 @ =gBattleMons movs r2, 0x58 @@ -8854,7 +8854,7 @@ _0801B69C: strb r1, [r0] ldrb r0, [r2] _0801B6C0: - ldr r1, _0801B6F4 @ =gUnknown_2023D6A + ldr r1, _0801B6F4 @ =gLastUsedAbility strb r0, [r1] _0801B6C4: mov r0, r9 @@ -8875,7 +8875,7 @@ _0801B6D6: adds r4, 0x4 str r4, [sp, 0x20] adds r5, 0x1 - ldr r0, _0801B6F8 @ =gUnknown_2023BCC + ldr r0, _0801B6F8 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _0801B6EE @@ -8884,11 +8884,11 @@ _0801B6EE: b _0801BBAA .align 2, 0 _0801B6F0: .4byte gBattleMons -_0801B6F4: .4byte gUnknown_2023D6A -_0801B6F8: .4byte gUnknown_2023BCC +_0801B6F4: .4byte gLastUsedAbility +_0801B6F8: .4byte gBattlersCount _0801B6FC: movs r5, 0 - ldr r0, _0801B734 @ =gUnknown_2023BCC + ldr r0, _0801B734 @ =gBattlersCount ldrb r1, [r0] cmp r5, r1 blt _0801B708 @@ -8918,16 +8918,16 @@ _0801B726: blt _0801B716 b _0801BBAA .align 2, 0 -_0801B734: .4byte gUnknown_2023BCC +_0801B734: .4byte gBattlersCount _0801B738: .4byte gBattleMons _0801B73C: .4byte gStatuses3 _0801B740: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _0801B790 @ =gUnknown_2023BCC + ldr r0, _0801B790 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B756 @@ -8938,7 +8938,7 @@ _0801B756: _0801B75A: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 adds r4, r5, 0x1 @@ -8951,29 +8951,29 @@ _0801B75A: ldrb r0, [r0] cmp r0, r7 bne _0801B784 - ldr r0, _0801B798 @ =gUnknown_2023D6A + ldr r0, _0801B798 @ =gLastUsedAbility strb r7, [r0] lsls r0, r4, 24 lsrs r0, 24 mov r9, r0 _0801B784: adds r5, r4, 0 - ldr r0, _0801B790 @ =gUnknown_2023BCC + ldr r0, _0801B790 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B75A b _0801BBAA .align 2, 0 -_0801B790: .4byte gUnknown_2023BCC +_0801B790: .4byte gBattlersCount _0801B794: .4byte gBattleMons -_0801B798: .4byte gUnknown_2023D6A +_0801B798: .4byte gLastUsedAbility _0801B79C: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _0801B7EC @ =gUnknown_2023BCC + ldr r0, _0801B7EC @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B7B2 @@ -8984,7 +8984,7 @@ _0801B7B2: _0801B7B6: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 adds r4, r5, 0x1 @@ -8997,22 +8997,22 @@ _0801B7B6: ldrb r0, [r0] cmp r0, r7 bne _0801B7E0 - ldr r0, _0801B7F4 @ =gUnknown_2023D6A + ldr r0, _0801B7F4 @ =gLastUsedAbility strb r7, [r0] lsls r0, r4, 24 lsrs r0, 24 mov r9, r0 _0801B7E0: adds r5, r4, 0 - ldr r0, _0801B7EC @ =gUnknown_2023BCC + ldr r0, _0801B7EC @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B7B6 b _0801BBAA .align 2, 0 -_0801B7EC: .4byte gUnknown_2023BCC +_0801B7EC: .4byte gBattlersCount _0801B7F0: .4byte gBattleMons -_0801B7F4: .4byte gUnknown_2023D6A +_0801B7F4: .4byte gLastUsedAbility _0801B7F8: mov r2, r8 ldrb r0, [r2] @@ -9021,7 +9021,7 @@ _0801B7F8: cmp r0, 0xFE beq _0801B858 movs r5, 0 - ldr r0, _0801B818 @ =gUnknown_2023BCC + ldr r0, _0801B818 @ =gBattlersCount adds r3, r0, 0 ldrb r4, [r3] cmp r5, r4 @@ -9031,11 +9031,11 @@ _0801B812: ldr r2, _0801B81C @ =gBattleMons b _0801B890 .align 2, 0 -_0801B818: .4byte gUnknown_2023BCC +_0801B818: .4byte gBattlersCount _0801B81C: .4byte gBattleMons _0801B820: movs r5, 0 - ldr r0, _0801B850 @ =gUnknown_2023BCC + ldr r0, _0801B850 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B82C @@ -9062,11 +9062,11 @@ _0801B848: blt _0801B834 b _0801BBAA .align 2, 0 -_0801B850: .4byte gUnknown_2023BCC +_0801B850: .4byte gBattlersCount _0801B854: .4byte gStatuses3 _0801B858: movs r5, 0 - ldr r0, _0801B888 @ =gUnknown_2023BCC + ldr r0, _0801B888 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B864 @@ -9093,7 +9093,7 @@ _0801B880: blt _0801B86C b _0801BBAA .align 2, 0 -_0801B888: .4byte gUnknown_2023BCC +_0801B888: .4byte gBattlersCount _0801B88C: .4byte gStatuses3 _0801B890: movs r0, 0x58 @@ -9117,7 +9117,7 @@ _0801B8AA: b _0801BBAA _0801B8B4: movs r5, 0 - ldr r0, _0801B8F0 @ =gUnknown_2023BCC + ldr r0, _0801B8F0 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B8C0 @@ -9150,10 +9150,10 @@ _0801B8E8: blt _0801B8C6 b _0801BBAA .align 2, 0 -_0801B8F0: .4byte gUnknown_2023BCC +_0801B8F0: .4byte gBattlersCount _0801B8F4: .4byte gBattleMons _0801B8F8: - ldr r0, _0801B908 @ =gUnknown_2023D6A + ldr r0, _0801B908 @ =gLastUsedAbility strb r7, [r0] adds r0, r5, 0x1 lsls r0, 24 @@ -9161,14 +9161,14 @@ _0801B8F8: mov r9, r0 b _0801B94A .align 2, 0 -_0801B908: .4byte gUnknown_2023D6A +_0801B908: .4byte gLastUsedAbility _0801B90C: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _0801B99C @ =gUnknown_2023BCC + ldr r0, _0801B99C @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bge _0801B94A @@ -9176,7 +9176,7 @@ _0801B90C: _0801B922: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, r6 @@ -9190,7 +9190,7 @@ _0801B922: beq _0801B8F8 _0801B940: adds r5, 0x1 - ldr r0, _0801B99C @ =gUnknown_2023BCC + ldr r0, _0801B99C @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B922 @@ -9201,7 +9201,7 @@ _0801B94A: b _0801BBB0 _0801B952: movs r5, 0 - ldr r0, _0801B99C @ =gUnknown_2023BCC + ldr r0, _0801B99C @ =gBattlersCount ldrb r0, [r0] cmp r9, r0 blt _0801B95E @@ -9220,36 +9220,36 @@ _0801B962: bne _0801B990 lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, r6 bne _0801B990 cmp r5, r10 beq _0801B990 - ldr r0, _0801B9A4 @ =gUnknown_2023D6A + ldr r0, _0801B9A4 @ =gLastUsedAbility strb r7, [r0] lsls r0, r4, 24 lsrs r0, 24 mov r9, r0 _0801B990: adds r5, r4, 0 - ldr r0, _0801B99C @ =gUnknown_2023BCC + ldr r0, _0801B99C @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B962 b _0801BBAA .align 2, 0 -_0801B99C: .4byte gUnknown_2023BCC +_0801B99C: .4byte gBattlersCount _0801B9A0: .4byte gBattleMons -_0801B9A4: .4byte gUnknown_2023D6A +_0801B9A4: .4byte gLastUsedAbility _0801B9A8: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _0801B9F8 @ =gUnknown_2023BCC + ldr r0, _0801B9F8 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B9BE @@ -9259,7 +9259,7 @@ _0801B9BE: _0801B9C0: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, r6 @@ -9271,7 +9271,7 @@ _0801B9C0: ldrb r0, [r0] cmp r0, r7 bne _0801B9EC - ldr r0, _0801BA00 @ =gUnknown_2023D6A + ldr r0, _0801BA00 @ =gLastUsedAbility strb r7, [r0] mov r0, r9 adds r0, 0x1 @@ -9280,22 +9280,22 @@ _0801B9C0: mov r9, r0 _0801B9EC: adds r5, 0x1 - ldr r0, _0801B9F8 @ =gUnknown_2023BCC + ldr r0, _0801B9F8 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801B9C0 b _0801BBAA .align 2, 0 -_0801B9F8: .4byte gUnknown_2023BCC +_0801B9F8: .4byte gBattlersCount _0801B9FC: .4byte gBattleMons -_0801BA00: .4byte gUnknown_2023D6A +_0801BA00: .4byte gLastUsedAbility _0801BA04: mov r0, r10 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r6, r0, 24 movs r5, 0 - ldr r0, _0801BA54 @ =gUnknown_2023BCC + ldr r0, _0801BA54 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801BA1A @@ -9305,7 +9305,7 @@ _0801BA1A: _0801BA1C: lsls r0, r5, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, r6 @@ -9317,7 +9317,7 @@ _0801BA1C: ldrb r0, [r0] cmp r0, r7 bne _0801BA48 - ldr r0, _0801BA5C @ =gUnknown_2023D6A + ldr r0, _0801BA5C @ =gLastUsedAbility strb r7, [r0] mov r0, r9 adds r0, 0x1 @@ -9326,15 +9326,15 @@ _0801BA1C: mov r9, r0 _0801BA48: adds r5, 0x1 - ldr r0, _0801BA54 @ =gUnknown_2023BCC + ldr r0, _0801BA54 @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 blt _0801BA1C b _0801BBAA .align 2, 0 -_0801BA54: .4byte gUnknown_2023BCC +_0801BA54: .4byte gBattlersCount _0801BA58: .4byte gBattleMons -_0801BA5C: .4byte gUnknown_2023D6A +_0801BA5C: .4byte gLastUsedAbility _0801BA60: ldr r0, _0801BA78 @ =gUnknown_81D92F8 bl BattleScriptPushCursorAndCallback @@ -9414,7 +9414,7 @@ _0801BAC8: strb r4, [r1] movs r0, 0x9 strb r0, [r1, 0x1] - ldr r0, _0801BB38 @ =gUnknown_2023D6A + ldr r0, _0801BB38 @ =gLastUsedAbility ldrb r0, [r0] strb r0, [r1, 0x2] movs r0, 0x1 @@ -9430,7 +9430,7 @@ _0801BB28: .4byte gUnknown_2022AB8 _0801BB2C: .4byte gActiveBattler _0801BB30: .4byte gBattlerPartyIndexes _0801BB34: .4byte gUnknown_2022AC8 -_0801BB38: .4byte gUnknown_2023D6A +_0801BB38: .4byte gLastUsedAbility _0801BB3C: mov r3, r8 strb r1, [r3] @@ -9461,7 +9461,7 @@ _0801BB70: .4byte gUnknown_81D9310 _0801BB74: .4byte gBattleStruct _0801BB78: movs r5, 0 - ldr r0, _0801BBD8 @ =gUnknown_2023BCC + ldr r0, _0801BBD8 @ =gBattlersCount ldrb r1, [r0] cmp r5, r1 bge _0801BBAA @@ -9469,7 +9469,7 @@ _0801BB78: adds r2, r1, 0 adds r1, r0, 0 adds r1, 0x20 - ldr r3, _0801BBE0 @ =gUnknown_2023D6A + ldr r3, _0801BBE0 @ =gLastUsedAbility _0801BB8C: ldrb r0, [r1] cmp r0, r7 @@ -9495,7 +9495,7 @@ _0801BBB0: ldr r0, [sp, 0x4] cmp r0, 0xB bhi _0801BBC6 - ldr r1, _0801BBE0 @ =gUnknown_2023D6A + ldr r1, _0801BBE0 @ =gLastUsedAbility ldrb r0, [r1] cmp r0, 0xFF beq _0801BBC6 @@ -9513,10 +9513,10 @@ _0801BBC6: pop {r1} bx r1 .align 2, 0 -_0801BBD8: .4byte gUnknown_2023BCC +_0801BBD8: .4byte gBattlersCount _0801BBDC: .4byte gBattleMons -_0801BBE0: .4byte gUnknown_2023D6A - thumb_func_end sub_8019F18 +_0801BBE0: .4byte gLastUsedAbility + thumb_func_end AbilityBattleEffects thumb_func_start BattleScriptExecute BattleScriptExecute: @ 801BBE4 @@ -9615,7 +9615,7 @@ sub_801BC68: @ 801BC68 lsrs r0, 16 cmp r0, 0xAF bne _0801BCC0 - ldr r1, _0801BCBC @ =gUnknown_2023F54 + ldr r1, _0801BCBC @ =gEnigmaBerries lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -9626,7 +9626,7 @@ sub_801BC68: @ 801BC68 .align 2, 0 _0801BCB4: .4byte gUnknown_2023D68 _0801BCB8: .4byte gBattleMons -_0801BCBC: .4byte gUnknown_2023F54 +_0801BCBC: .4byte gEnigmaBerries _0801BCC0: ldrh r0, [r4] bl ItemId_GetHoldEffect @@ -9648,7 +9648,7 @@ _0801BCD4: str r0, [sp, 0x14] cmp r0, 0xAF bne _0801BD08 - ldr r1, _0801BD04 @ =gUnknown_2023F54 + ldr r1, _0801BD04 @ =gEnigmaBerries lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -9660,7 +9660,7 @@ _0801BCD4: .align 2, 0 _0801BCFC: .4byte gBattleMons _0801BD00: .4byte sBattler_AI -_0801BD04: .4byte gUnknown_2023F54 +_0801BD04: .4byte gEnigmaBerries _0801BD08: ldr r0, [sp, 0x14] bl ItemId_GetHoldEffect @@ -9758,7 +9758,7 @@ _0801BDB8: _0801BDD0: ldr r0, _0801BDF0 @ =gBattleScripting strb r7, [r0, 0x17] - ldr r0, _0801BDF4 @ =gUnknown_2023D6F + ldr r0, _0801BDF4 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r1, _0801BDF8 @ =gActiveBattler ldr r0, _0801BDFC @ =sBattler_AI @@ -9770,7 +9770,7 @@ _0801BDD0: .align 2, 0 _0801BDEC: .4byte gBattleMons _0801BDF0: .4byte gBattleScripting -_0801BDF4: .4byte gUnknown_2023D6F +_0801BDF4: .4byte gPotentialItemEffectBattler _0801BDF8: .4byte gActiveBattler _0801BDFC: .4byte sBattler_AI _0801BE00: .4byte gUnknown_81D95D9 @@ -9886,7 +9886,7 @@ _0801BF2C: bl _0801C952 _0801BF34: adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801BF58 @@ -10036,7 +10036,7 @@ _0801C04A: _0801C066: ldr r0, _0801C084 @ =gBattleScripting strb r7, [r0, 0x17] - ldr r0, _0801C088 @ =gUnknown_2023D6F + ldr r0, _0801C088 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r1, _0801C08C @ =gActiveBattler ldr r0, _0801C090 @ =sBattler_AI @@ -10048,7 +10048,7 @@ _0801C066: .align 2, 0 _0801C080: .4byte gBattleMons _0801C084: .4byte gBattleScripting -_0801C088: .4byte gUnknown_2023D6F +_0801C088: .4byte gPotentialItemEffectBattler _0801C08C: .4byte gActiveBattler _0801C090: .4byte sBattler_AI _0801C094: .4byte gUnknown_81D95D9 @@ -11175,7 +11175,7 @@ _0801C952: _0801C95A: ldr r0, _0801C98C @ =gBattleScripting strb r7, [r0, 0x17] - ldr r0, _0801C990 @ =gUnknown_2023D6F + ldr r0, _0801C990 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r4, _0801C994 @ =gActiveBattler ldr r0, _0801C998 @ =sBattler_AI @@ -11194,7 +11194,7 @@ _0801C980: .4byte gUnknown_82500C4 _0801C984: .4byte gUnknown_81D95BF _0801C988: .4byte gUnknown_2023E82 _0801C98C: .4byte gBattleScripting -_0801C990: .4byte gUnknown_2023D6F +_0801C990: .4byte gPotentialItemEffectBattler _0801C994: .4byte gActiveBattler _0801C998: .4byte sBattler_AI _0801C99C: @@ -11248,7 +11248,7 @@ _0801C9F4: .4byte gDisableStructs _0801C9F8: .4byte gBitTable _0801C9FC: movs r7, 0 - ldr r0, _0801CA2C @ =gUnknown_2023BCC + ldr r0, _0801CA2C @ =gBattlersCount ldrb r0, [r0] cmp r7, r0 bcc _0801CA08 @@ -11265,7 +11265,7 @@ _0801CA08: lsrs r0, 16 cmp r0, 0xAF bne _0801CA3C - ldr r1, _0801CA38 @ =gUnknown_2023F54 + ldr r1, _0801CA38 @ =gEnigmaBerries lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -11273,10 +11273,10 @@ _0801CA08: ldrb r5, [r0, 0x7] b _0801CA4C .align 2, 0 -_0801CA2C: .4byte gUnknown_2023BCC +_0801CA2C: .4byte gBattlersCount _0801CA30: .4byte gUnknown_2023D68 _0801CA34: .4byte gBattleMons -_0801CA38: .4byte gUnknown_2023F54 +_0801CA38: .4byte gEnigmaBerries _0801CA3C: ldrh r0, [r4] bl ItemId_GetHoldEffect @@ -11684,7 +11684,7 @@ _0801CDB4: beq _0801CE34 ldr r0, _0801CDE0 @ =gBattleScripting strb r7, [r0, 0x17] - ldr r0, _0801CDE4 @ =gUnknown_2023D6F + ldr r0, _0801CDE4 @ =gPotentialItemEffectBattler strb r7, [r0] bl BattleScriptPushCursor ldr r1, _0801CDE8 @ =gUnknown_2023D74 @@ -11694,7 +11694,7 @@ _0801CDB4: .align 2, 0 _0801CDDC: .4byte gBattleMons _0801CDE0: .4byte gBattleScripting -_0801CDE4: .4byte gUnknown_2023D6F +_0801CDE4: .4byte gPotentialItemEffectBattler _0801CDE8: .4byte gUnknown_2023D74 _0801CDEC: .4byte gUnknown_81D95DF _0801CDF0: @@ -11704,7 +11704,7 @@ _0801CDF0: _0801CDF6: ldr r0, _0801CE24 @ =gBattleScripting strb r7, [r0, 0x17] - ldr r0, _0801CE28 @ =gUnknown_2023D6F + ldr r0, _0801CE28 @ =gPotentialItemEffectBattler strb r7, [r0] ldr r4, _0801CE2C @ =gActiveBattler strb r7, [r4] @@ -11725,14 +11725,14 @@ _0801CE08: b _0801CFA6 .align 2, 0 _0801CE24: .4byte gBattleScripting -_0801CE28: .4byte gUnknown_2023D6F +_0801CE28: .4byte gPotentialItemEffectBattler _0801CE2C: .4byte gActiveBattler _0801CE30: .4byte gUnknown_2023C30 _0801CE34: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _0801CE48 @ =gUnknown_2023BCC + ldr r0, _0801CE48 @ =gBattlersCount ldrb r0, [r0] cmp r7, r0 bcs _0801CE44 @@ -11740,7 +11740,7 @@ _0801CE34: _0801CE44: b _0801CFA6 .align 2, 0 -_0801CE48: .4byte gUnknown_2023BCC +_0801CE48: .4byte gBattlersCount _0801CE4C: ldr r7, _0801CE64 @ =gBattleMoveDamage ldr r0, [r7] @@ -11871,7 +11871,7 @@ _0801CF10: mov r2, sp ldrh r2, [r2, 0x14] strh r2, [r0] - ldr r0, _0801CFD4 @ =gUnknown_2023D6F + ldr r0, _0801CFD4 @ =gPotentialItemEffectBattler strb r3, [r0] ldr r0, _0801CFD8 @ =gBattleScripting strb r3, [r0, 0x17] @@ -11924,7 +11924,7 @@ _0801CFC4: .4byte 0x0000ffff _0801CFC8: .4byte sBattler_AI _0801CFCC: .4byte gBattleMons _0801CFD0: .4byte gUnknown_2023D68 -_0801CFD4: .4byte gUnknown_2023D6F +_0801CFD4: .4byte gPotentialItemEffectBattler _0801CFD8: .4byte gBattleScripting _0801CFDC: .4byte gUnknown_2023D74 _0801CFE0: .4byte gUnknown_81D9622 @@ -12098,12 +12098,12 @@ _0801D0A0: _0801D1A4: ldr r0, _0801D284 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r4, r0, 24 - ldr r1, _0801D288 @ =gUnknown_2023DE4 + ldr r1, _0801D288 @ =gSideTimers lsls r0, r4, 1 adds r0, r4 lsls r0, 2 @@ -12123,7 +12123,7 @@ _0801D1A4: _0801D1D6: ldr r0, _0801D284 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r4, r0, 24 lsls r0, r7, 1 @@ -12132,7 +12132,7 @@ _0801D1E6: bl Random lsls r0, 16 lsrs r0, 16 - ldr r1, _0801D290 @ =gUnknown_2023BCC + ldr r1, _0801D290 @ =gBattlersCount ldrb r1, [r1] bl __modsi3 lsls r0, 24 @@ -12142,7 +12142,7 @@ _0801D1E6: cmp r5, r3 beq _0801D1E6 adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -12171,7 +12171,7 @@ _0801D234: movs r0, 0x10 movs r2, 0x1F movs r3, 0 - bl sub_8019F18 + bl AbilityBattleEffects lsls r0, 24 cmp r0, 0 bne _0801D24A @@ -12208,9 +12208,9 @@ _0801D25E: b _0801D39C .align 2, 0 _0801D284: .4byte sBattler_AI -_0801D288: .4byte gUnknown_2023DE4 +_0801D288: .4byte gSideTimers _0801D28C: .4byte gBattleMons -_0801D290: .4byte gUnknown_2023BCC +_0801D290: .4byte gBattlersCount _0801D294: .4byte gAbsentBattlerFlags _0801D298: .4byte gBitTable _0801D29C: .4byte gBattleMoves @@ -12218,7 +12218,7 @@ _0801D2A0: .4byte gUnknown_2023ECC _0801D2A4: ldr r0, _0801D2B8 @ =sBattler_AI ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r2, 0x1 movs r0, 0x1 @@ -12230,12 +12230,12 @@ _0801D2B8: .4byte sBattler_AI _0801D2BC: ldr r0, _0801D2F0 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide movs r1, 0x1 eors r0, r1 lsls r0, 24 lsrs r4, r0, 24 - ldr r1, _0801D2F4 @ =gUnknown_2023DE4 + ldr r1, _0801D2F4 @ =gSideTimers lsls r0, r4, 1 adds r0, r4 lsls r0, 2 @@ -12256,7 +12256,7 @@ _0801D2EC: b _0801D39C .align 2, 0 _0801D2F0: .4byte sBattler_AI -_0801D2F4: .4byte gUnknown_2023DE4 +_0801D2F4: .4byte gSideTimers _0801D2F8: .4byte gBattleMons _0801D2FC: ldr r0, _0801D330 @ =gBattleTypeFlags @@ -12271,7 +12271,7 @@ _0801D2FC: beq _0801D378 ldr r0, _0801D334 @ =sBattler_AI ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0801D33C @@ -12299,7 +12299,7 @@ _0801D33C: _0801D34C: movs r0, 0x2 _0801D34E: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 ldr r0, _0801D370 @ =gAbsentBattlerFlags @@ -12320,13 +12320,13 @@ _0801D374: .4byte gBitTable _0801D378: ldr r0, _0801D394 @ =sBattler_AI ldrb r0, [r0] - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 movs r2, 0x1 movs r0, 0x1 ands r0, r1 eors r0, r2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r5, r0, 24 b _0801D39C @@ -12360,7 +12360,7 @@ HasObedientBitSet: @ 801D3C0 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12429,7 +12429,7 @@ sub_801D438: @ 801D438 bne _0801D4F4 ldr r4, _0801D500 @ =sBattler_AI ldrb r0, [r4] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -12686,7 +12686,7 @@ _0801D634: cmp r0, 0xF beq _0801D6CC movs r2, 0 - ldr r0, _0801D6C0 @ =gUnknown_2023BCC + ldr r0, _0801D6C0 @ =gBattlersCount ldrb r3, [r0] adds r7, r0, 0 cmp r2, r3 @@ -12718,7 +12718,7 @@ _0801D6AA: .align 2, 0 _0801D6B8: .4byte gBattleMons _0801D6BC: .4byte sBattler_AI -_0801D6C0: .4byte gUnknown_2023BCC +_0801D6C0: .4byte gBattlersCount _0801D6C4: .4byte gUnknown_2023D74 _0801D6C8: .4byte gUnknown_81D9504 _0801D6CC: @@ -12759,7 +12759,7 @@ _0801D6F4: adds r0, r1, 0 movs r2, 0x1 movs r3, 0 - bl sub_803ECEC + bl CalculateBaseDamage ldr r1, _0801D74C @ =gBattleMoveDamage str r0, [r1] ldr r1, _0801D750 @ =gBattlerTarget diff --git a/asm/battle_util2.s b/asm/battle_util2.s index d83b79202..77c4a5a51 100644 --- a/asm/battle_util2.s +++ b/asm/battle_util2.s @@ -229,11 +229,11 @@ sub_802E228: @ 802E228 cmp r0, 0 beq _0802E274 movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r3, r0, 24 ldr r2, _0802E270 @ =gBattleMons @@ -256,7 +256,7 @@ _0802E26C: .4byte gBattleTypeFlags _0802E270: .4byte gBattleMons _0802E274: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 _0802E27E: diff --git a/asm/calculate_base_damage.s b/asm/calculate_base_damage.s deleted file mode 100644 index b474a1249..000000000 --- a/asm/calculate_base_damage.s +++ /dev/null @@ -1,1123 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_803ECEC -sub_803ECEC: @ 803ECEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - adds r6, r0, 0 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r2, [sp, 0x54] - ldr r4, [sp, 0x58] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r4, 24 - lsrs r4, 24 - movs r5, 0 - cmp r3, 0 - bne _0803ED40 - ldr r2, _0803ED38 @ =gUnknown_2024020 - ldr r1, _0803ED3C @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strh r0, [r2] - b _0803ED44 - .align 2, 0 -_0803ED38: .4byte gUnknown_2024020 -_0803ED3C: .4byte gBattleMoves -_0803ED40: - ldr r0, _0803ED5C @ =gUnknown_2024020 - strh r3, [r0] -_0803ED44: - cmp r7, 0 - bne _0803ED64 - ldr r1, _0803ED60 @ =gBattleMoves - ldr r7, [sp, 0x8] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r9, r0 - b _0803ED6E - .align 2, 0 -_0803ED5C: .4byte gUnknown_2024020 -_0803ED60: .4byte gBattleMoves -_0803ED64: - movs r0, 0x3F - mov r9, r0 - mov r1, r9 - ands r1, r7 - mov r9, r1 -_0803ED6E: - ldrh r7, [r6, 0x2] - ldr r2, [sp, 0x4] - ldrh r2, [r2, 0x4] - str r2, [sp, 0x14] - ldrh r3, [r6, 0x8] - mov r8, r3 - ldr r0, [sp, 0x4] - ldrh r0, [r0, 0xA] - str r0, [sp, 0x18] - ldrh r0, [r6, 0x2E] - cmp r0, 0xAF - bne _0803EDA0 - ldr r1, _0803ED9C @ =gUnknown_2023F54 - ldr r2, [sp, 0x10] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x7] - mov r10, r3 - ldrb r0, [r0, 0x1A] - b _0803EDB6 - .align 2, 0 -_0803ED9C: .4byte gUnknown_2023F54 -_0803EDA0: - ldrh r0, [r6, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrh r0, [r6, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r0, 24 -_0803EDB6: - str r0, [sp, 0x20] - ldr r1, [sp, 0x4] - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0803EDE6 - ldr r1, _0803EDD0 @ =gUnknown_2023F54 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - str r0, [sp, 0x1C] - b _0803EDFC - .align 2, 0 -_0803EDD0: .4byte gUnknown_2023F54 -_0803EDD4: - ldr r0, [sp, 0x20] - adds r0, 0x64 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - b _0803EF44 -_0803EDE6: - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - ldr r3, [sp, 0x4] - ldrh r0, [r3, 0x2E] - bl ItemId_GetHoldEffectParam -_0803EDFC: - adds r0, r6, 0 - adds r0, 0x20 - ldrb r1, [r0] - str r0, [sp, 0x24] - cmp r1, 0x25 - beq _0803EE0C - cmp r1, 0x4A - bne _0803EE10 -_0803EE0C: - lsls r0, r7, 17 - lsrs r7, r0, 16 -_0803EE10: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - movs r0, 0x82 - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EE44 - ldr r0, [sp, 0x10] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EE44 - movs r0, 0x6E - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803EE44: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF30 @ =0x00000824 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EE7A - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EE7A - movs r0, 0x6E - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803EE7A: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF34 @ =0x00000826 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EEB2 - ldr r0, [sp, 0x10] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EEB2 - movs r0, 0x6E - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803EEB2: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF34 @ =0x00000826 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EEE8 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EEE8 - movs r0, 0x6E - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EEE8: - movs r2, 0 - ldr r4, _0803EF38 @ =gUnknown_825DECC - ldr r0, [sp, 0x4] - adds r0, 0x20 - str r0, [sp, 0x28] - adds r3, r4, 0 -_0803EEF4: - lsls r1, r2, 1 - ldrb r0, [r3] - cmp r10, r0 - bne _0803EF3C - adds r0, r4, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r9, r0 - bne _0803EF3C - mov r1, r9 - cmp r1, 0x8 - bhi _0803EF0E - b _0803EDD4 -_0803EF0E: - ldr r0, [sp, 0x20] - adds r0, 0x64 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _0803EF44 - .align 2, 0 -_0803EF28: .4byte gBattleTypeFlags -_0803EF2C: .4byte 0x00000802 -_0803EF30: .4byte 0x00000824 -_0803EF34: .4byte 0x00000826 -_0803EF38: .4byte gUnknown_825DECC -_0803EF3C: - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x10 - bls _0803EEF4 -_0803EF44: - mov r3, r10 - cmp r3, 0x1D - bne _0803EF58 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803EF58: - mov r0, r10 - cmp r0, 0x22 - bne _0803EF90 - ldr r0, _0803F244 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0803EF90 - ldr r1, _0803F248 @ =0xfffffe69 - adds r0, r1, 0 - ldrh r2, [r6] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803EF90 - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803EF90: - ldr r0, [sp, 0x1C] - cmp r0, 0x22 - bne _0803EFC8 - ldr r0, _0803F244 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0803EFC8 - ldr r1, _0803F248 @ =0xfffffe69 - adds r0, r1, 0 - ldr r2, [sp, 0x4] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803EFC8 - movs r0, 0x96 - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EFC8: - mov r0, r10 - cmp r0, 0x23 - bne _0803EFDE - ldrh r1, [r6] - ldr r0, _0803F24C @ =0x00000175 - cmp r1, r0 - bne _0803EFDE - mov r1, r8 - lsls r0, r1, 17 - lsrs r0, 16 - mov r8, r0 -_0803EFDE: - ldr r2, [sp, 0x1C] - cmp r2, 0x24 - bne _0803EFF6 - ldr r3, [sp, 0x4] - ldrh r1, [r3] - ldr r0, _0803F24C @ =0x00000175 - cmp r1, r0 - bne _0803EFF6 - ldr r1, [sp, 0x18] - lsls r0, r1, 17 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EFF6: - mov r2, r10 - cmp r2, 0x2D - bne _0803F00A - ldrh r0, [r6] - cmp r0, 0x19 - bne _0803F00A - mov r3, r8 - lsls r0, r3, 17 - lsrs r0, 16 - mov r8, r0 -_0803F00A: - ldr r0, [sp, 0x1C] - cmp r0, 0x40 - bne _0803F020 - ldr r1, [sp, 0x4] - ldrh r0, [r1] - cmp r0, 0x84 - bne _0803F020 - ldr r2, [sp, 0x14] - lsls r0, r2, 17 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803F020: - mov r3, r10 - cmp r3, 0x41 - bne _0803F036 - ldrh r0, [r6] - subs r0, 0x68 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803F036 - lsls r0, r7, 17 - lsrs r7, r0, 16 -_0803F036: - ldr r1, [sp, 0x28] - ldrb r0, [r1] - cmp r0, 0x2F - bne _0803F04E - mov r2, r9 - cmp r2, 0xA - beq _0803F048 - cmp r2, 0xF - bne _0803F04E -_0803F048: - mov r3, r8 - lsrs r3, 1 - mov r8, r3 -_0803F04E: - ldr r0, [sp, 0x24] - ldrb r4, [r0] - cmp r4, 0x37 - bne _0803F064 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803F064: - cmp r4, 0x39 - bne _0803F092 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x3A - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F092 - movs r0, 0x96 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803F092: - ldr r2, [sp, 0x24] - ldrb r0, [r2] - cmp r0, 0x3A - bne _0803F0C4 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x39 - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F0C4 - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803F0C4: - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - bne _0803F0E0 - ldr r0, [r6, 0x4C] - cmp r0, 0 - beq _0803F0E0 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803F0E0: - ldr r2, [sp, 0x28] - ldrb r0, [r2] - cmp r0, 0x3F - bne _0803F102 - ldr r3, [sp, 0x4] - ldr r0, [r3, 0x4C] - cmp r0, 0 - beq _0803F102 - movs r0, 0x96 - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803F102: - mov r2, r9 - cmp r2, 0xD - bne _0803F126 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFD - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F126 - ldr r1, _0803F250 @ =gUnknown_2024020 - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803F126: - mov r3, r9 - cmp r3, 0xA - bne _0803F14A - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFE - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F14A - ldr r1, _0803F250 @ =gUnknown_2024020 - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803F14A: - mov r0, r9 - cmp r0, 0xC - bne _0803F17A - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x41 - bne _0803F17A - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F17A - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F17A: - mov r2, r9 - cmp r2, 0xA - bne _0803F1AA - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x42 - bne _0803F1AA - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F1AA - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F1AA: - mov r0, r9 - cmp r0, 0xB - bne _0803F1DA - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x43 - bne _0803F1DA - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F1DA - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F1DA: - mov r2, r9 - cmp r2, 0x6 - bne _0803F20A - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x44 - bne _0803F20A - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F20A - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F20A: - ldr r2, _0803F254 @ =gBattleMoves - ldr r0, _0803F258 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0803F224 - ldr r0, [sp, 0x14] - lsrs r0, 1 - str r0, [sp, 0x14] -_0803F224: - mov r1, r9 - cmp r1, 0x8 - bls _0803F22C - b _0803F38A -_0803F22C: - ldr r0, _0803F25C @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803F268 - movs r0, 0x19 - ldrsb r0, [r6, r0] - cmp r0, 0x6 - ble _0803F264 - ldr r2, _0803F260 @ =gUnknown_825DEAD - b _0803F26E - .align 2, 0 -_0803F244: .4byte gBattleTypeFlags -_0803F248: .4byte 0xfffffe69 -_0803F24C: .4byte 0x00000175 -_0803F250: .4byte gUnknown_2024020 -_0803F254: .4byte gBattleMoves -_0803F258: .4byte gCurrentMove -_0803F25C: .4byte gCritMultiplier -_0803F260: .4byte gUnknown_825DEAD -_0803F264: - adds r5, r7, 0 - b _0803F286 -_0803F268: - ldr r2, _0803F2B8 @ =gUnknown_825DEAD - movs r0, 0x19 - ldrsb r0, [r6, r0] -_0803F26E: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - adds r5, r7, 0 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803F286: - ldr r0, _0803F2BC @ =gUnknown_2024020 - ldrh r0, [r0] - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803F2C4 - ldr r2, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r2, r0] - cmp r0, 0x5 - bgt _0803F2C0 - ldr r2, _0803F2B8 @ =gUnknown_825DEAD - ldr r3, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r3, r0] - b _0803F2CC - .align 2, 0 -_0803F2B8: .4byte gUnknown_825DEAD -_0803F2BC: .4byte gUnknown_2024020 -_0803F2C0: - ldr r3, [sp, 0x14] - b _0803F2E6 -_0803F2C4: - ldr r2, _0803F344 @ =gUnknown_825DEAD - ldr r1, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r1, r0] -_0803F2CC: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r7, [sp, 0x14] - adds r3, r7, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803F2E6: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - ldr r0, [r6, 0x4C] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803F310 - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - beq _0803F310 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F310: - movs r0, 0x1 - ldr r2, [sp, 0xC] - ands r0, r2 - cmp r0, 0 - beq _0803F352 - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803F352 - ldr r0, _0803F348 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0803F34C - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F34C - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803F352 - .align 2, 0 -_0803F344: .4byte gUnknown_825DEAD -_0803F348: .4byte gBattleTypeFlags -_0803F34C: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F352: - ldr r0, _0803F3B0 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F384 - ldr r0, _0803F3B4 @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803F384 - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F384 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F384: - cmp r5, 0 - bne _0803F38A - movs r5, 0x1 -_0803F38A: - mov r7, r9 - cmp r7, 0x9 - bne _0803F392 - movs r5, 0 -_0803F392: - mov r0, r9 - cmp r0, 0x9 - bhi _0803F39A - b _0803F59C -_0803F39A: - ldr r0, _0803F3B8 @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803F3C4 - movs r0, 0x1C - ldrsb r0, [r6, r0] - cmp r0, 0x6 - ble _0803F3C0 - ldr r2, _0803F3BC @ =gUnknown_825DEAD - b _0803F3CA - .align 2, 0 -_0803F3B0: .4byte gBattleTypeFlags -_0803F3B4: .4byte gBattleMoves -_0803F3B8: .4byte gCritMultiplier -_0803F3BC: .4byte gUnknown_825DEAD -_0803F3C0: - mov r5, r8 - b _0803F3E2 -_0803F3C4: - ldr r2, _0803F410 @ =gUnknown_825DEAD - movs r0, 0x1C - ldrsb r0, [r6, r0] -_0803F3CA: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - mov r5, r8 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803F3E2: - ldr r0, _0803F414 @ =gUnknown_2024020 - ldrh r0, [r0] - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803F41C - ldr r1, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0803F418 - ldr r2, _0803F410 @ =gUnknown_825DEAD - b _0803F424 - .align 2, 0 -_0803F410: .4byte gUnknown_825DEAD -_0803F414: .4byte gUnknown_2024020 -_0803F418: - ldr r3, [sp, 0x18] - b _0803F43E -_0803F41C: - ldr r2, _0803F484 @ =gUnknown_825DEAD - ldr r7, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r7, r0] -_0803F424: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, [sp, 0x18] - adds r3, r6, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803F43E: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0x2 - ldr r7, [sp, 0xC] - ands r0, r7 - cmp r0, 0 - beq _0803F492 - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803F492 - ldr r0, _0803F488 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0803F48C - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F48C - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803F492 - .align 2, 0 -_0803F484: .4byte gUnknown_825DEAD -_0803F488: .4byte gBattleTypeFlags -_0803F48C: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F492: - ldr r0, _0803F50C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F4C4 - ldr r0, _0803F510 @ =gBattleMoves - ldr r2, [sp, 0x8] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803F4C4 - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F4C4 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F4C4: - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803F574 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - bne _0803F574 - ldr r2, _0803F514 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0803F52C - mov r3, r9 - cmp r3, 0xA - beq _0803F518 - cmp r3, 0xB - beq _0803F520 - b _0803F52C - .align 2, 0 -_0803F50C: .4byte gBattleTypeFlags -_0803F510: .4byte gBattleMoves -_0803F514: .4byte gBattleWeather -_0803F518: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 - b _0803F52C -_0803F520: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803F52C: - ldrh r1, [r4] - movs r0, 0x9F - ands r0, r1 - cmp r0, 0 - beq _0803F544 - ldr r0, _0803F55C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0x4C - bne _0803F544 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F544: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0803F574 - mov r6, r9 - cmp r6, 0xA - beq _0803F560 - cmp r6, 0xB - beq _0803F56E - b _0803F574 - .align 2, 0 -_0803F55C: .4byte gCurrentMove -_0803F560: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - b _0803F574 -_0803F56E: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F574: - ldr r0, _0803F5B0 @ =gBattleResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - ldr r7, [sp, 0x10] - lsls r1, r7, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F59C - mov r0, r9 - cmp r0, 0xA - bne _0803F59C - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803F59C: - adds r0, r5, 0x2 - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803F5B0: .4byte gBattleResources - thumb_func_end sub_803ECEC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/daycare.s b/asm/daycare.s index 9357c5cdb..88e4a235f 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -331,7 +331,7 @@ _08045628: movs r6, 0 cmp r0, r7 bne _08045638 - ldr r0, _08045658 @ =gUnknown_2024022 + ldr r0, _08045658 @ =gMoveToLearn ldrh r1, [r0] adds r0, r4, 0 bl DeleteFirstMoveAndGiveMoveToMon @@ -352,7 +352,7 @@ _0804564C: pop {r0} bx r0 .align 2, 0 -_08045658: .4byte gUnknown_2024022 +_08045658: .4byte gMoveToLearn thumb_func_end ApplyDaycareExperience thumb_func_start TakeSelectedPokemonFromDaycare @@ -386,7 +386,7 @@ TakeSelectedPokemonFromDaycare: @ 804565C add r2, sp, 0x64 mov r0, sp movs r1, 0x19 - bl sub_804037C + bl SetMonData mov r0, sp bl ApplyDaycareExperience _080456AA: @@ -488,7 +488,7 @@ GetLevelAfterDaycareSteps: @ 804574C add r2, sp, 0x50 mov r0, sp movs r1, 0x19 - bl sub_80404D0 + bl SetBoxMonData mov r0, sp bl GetLevelFromBoxMonExp lsls r0, 24 @@ -1039,7 +1039,7 @@ _08045B64: strb r0, [r2] mov r0, r9 movs r1, 0x27 - bl sub_804037C + bl SetMonData b _08045C0E _08045B82: add r4, sp, 0x10 @@ -1094,7 +1094,7 @@ _08045BD0: movs r1, 0x2B _08045BE8: adds r2, r4, 0 - bl sub_804037C + bl SetMonData b _08045C0E _08045BF0: add r4, sp, 0x10 @@ -1109,7 +1109,7 @@ _08045BF0: mov r0, r9 movs r1, 0x2C adds r2, r4, 0 - bl sub_804037C + bl SetMonData _08045C0E: adds r0, r5, 0x1 lsls r0, 24 @@ -1783,7 +1783,7 @@ sub_80460D4: @ 80460D4 strb r0, [r2] mov r0, sp movs r1, 0x2D - bl sub_804037C + bl SetMonData ldr r0, _0804614C @ =gPlayerParty movs r1, 0xFA lsls r1, 1 @@ -1842,11 +1842,11 @@ CreateEgg: @ 8046150 adds r0, r7, 0 movs r1, 0x26 add r2, sp, 0x10 - bl sub_804037C + bl SetMonData ldr r2, _08046200 @ =gUnknown_825F83E adds r0, r7, 0 movs r1, 0x2 - bl sub_804037C + bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 @@ -1854,15 +1854,15 @@ CreateEgg: @ 8046150 adds r2, r0 adds r0, r7, 0 movs r1, 0x20 - bl sub_804037C + bl SetMonData adds r0, r7, 0 movs r1, 0x24 mov r2, r8 - bl sub_804037C + bl SetMonData adds r0, r7, 0 movs r1, 0x3 adds r2, r4, 0 - bl sub_804037C + bl SetMonData cmp r6, 0 beq _080461E2 add r2, sp, 0x14 @@ -1870,7 +1870,7 @@ CreateEgg: @ 8046150 strb r0, [r2] adds r0, r7, 0 movs r1, 0x23 - bl sub_804037C + bl SetMonData _080461E2: mov r2, sp adds r2, 0x15 @@ -1878,7 +1878,7 @@ _080461E2: strb r0, [r2] adds r0, r7, 0 movs r1, 0x2D - bl sub_804037C + bl SetMonData add sp, 0x18 pop {r3,r4} mov r8, r3 @@ -1936,11 +1936,11 @@ SetInitialEggData: @ 8046208 adds r0, r6, 0 movs r1, 0x26 add r2, sp, 0x10 - bl sub_804037C + bl SetMonData ldr r2, _080462A4 @ =gUnknown_825F83E adds r0, r6, 0 movs r1, 0x2 - bl sub_804037C + bl SetMonData lsls r2, r5, 3 subs r2, r5 lsls r2, 2 @@ -1948,15 +1948,15 @@ SetInitialEggData: @ 8046208 adds r2, r0 adds r0, r6, 0 movs r1, 0x20 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x24 mov r2, r9 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x3 adds r2, r4, 0 - bl sub_804037C + bl SetMonData add sp, 0x14 pop {r3,r4} mov r8, r3 @@ -2089,11 +2089,11 @@ _08046390: adds r0, r4, 0 movs r1, 0x20 mov r2, sp - bl sub_804037C + bl SetMonData _0804639E: adds r5, 0x1 _080463A0: - ldr r0, _080463B4 @ =gUnknown_2024029 + ldr r0, _080463B4 @ =gPlayerPartyCount ldrb r0, [r0] cmp r5, r0 bcc _08046350 @@ -2105,7 +2105,7 @@ _080463AA: pop {r1} bx r1 .align 2, 0 -_080463B4: .4byte gUnknown_2024029 +_080463B4: .4byte gPlayerPartyCount thumb_func_end sub_80462C4 thumb_func_start sub_80463B8 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 6e20b06da..05a45baa1 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -158,11 +158,11 @@ _080BD810: _080BD814: movs r0, 0xB muls r0, r2 - ldr r1, _080BD820 @ =gUnknown_8245EE0 + ldr r1, _080BD820 @ =gSpeciesNames adds r0, r1 b _080BD846 .align 2, 0 -_080BD820: .4byte gUnknown_8245EE0 +_080BD820: .4byte gSpeciesNames _080BD824: movs r0, 0xD muls r0, r2 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 16732a4d3..02d8f123f 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -110,7 +110,7 @@ _08046CC8: adds r2, r0 adds r2, 0x10 adds r0, r5, 0 - bl sub_804037C + bl SetMonData adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -123,7 +123,7 @@ _08046CE6: lsls r2, r4, 2 adds r2, r7, r2 adds r0, r5, 0 - bl sub_804037C + bl SetMonData adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 @@ -135,30 +135,30 @@ _08046CE6: adds r0, r5, 0 movs r1, 0x3 mov r2, r9 - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0x25 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0x8 ldr r2, [sp, 0x40] - bl sub_804037C + bl SetMonData movs r0, 0x78 ldr r1, [sp, 0x44] strb r0, [r1] adds r0, r5, 0 movs r1, 0x20 ldr r2, [sp, 0x44] - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0x22 ldr r2, [sp, 0x4C] - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0x50 ldr r2, [sp, 0x48] - bl sub_804037C + bl SetMonData adds r0, r6, 0 adds r1, r5, 0 movs r2, 0x64 @@ -193,7 +193,7 @@ AddHatchedMonToParty: @ 8046D60 adds r0, r5, 0 movs r1, 0x2D adds r2, r4, 0 - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0xB bl GetMonData @@ -206,7 +206,7 @@ AddHatchedMonToParty: @ 8046D60 adds r0, r5, 0 movs r1, 0x2 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 bl SpeciesToNationalPokedexNum adds r4, r0, 0 @@ -227,20 +227,20 @@ AddHatchedMonToParty: @ 8046D60 strh r0, [r2] adds r0, r5, 0 movs r1, 0x26 - bl sub_804037C + bl SetMonData add r2, sp, 0x10 movs r0, 0 strh r0, [r2] adds r0, r5, 0 movs r1, 0x24 - bl sub_804037C + bl SetMonData bl sav1_map_get_name mov r2, sp adds r2, 0x12 strb r0, [r2] adds r0, r5, 0 movs r1, 0x23 - bl sub_804037C + bl SetMonData adds r0, r5, 0 bl MonRestorePP adds r0, r5, 0 @@ -400,7 +400,7 @@ _08046F1C: lsls r0, r4, 3 ldr r1, _08046F64 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _08046F68 @ =gUnknown_202401C + ldr r1, _08046F68 @ =gMonSpritesGfxPtr ldr r2, [r1] mov r6, r8 lsls r1, r6, 1 @@ -419,14 +419,14 @@ _08046F1C: b _08046FA6 .align 2, 0 _08046F64: .4byte gUnknown_82350AC -_08046F68: .4byte gUnknown_202401C +_08046F68: .4byte gMonSpritesGfxPtr _08046F6C: adds r0, r5, 0 bl GetMonSpritePalStruct ldrh r0, [r0, 0x4] adds r1, r4, 0 bl sub_803F7D4 - ldr r0, _08046FB4 @ =gUnknown_20244DC + ldr r0, _08046FB4 @ =gMultiuseSpriteTemplate movs r1, 0x78 movs r2, 0x46 movs r3, 0x6 @@ -456,7 +456,7 @@ _08046FA6: pop {r1} bx r1 .align 2, 0 -_08046FB4: .4byte gUnknown_20244DC +_08046FB4: .4byte gMultiuseSpriteTemplate _08046FB8: .4byte gSprites _08046FBC: .4byte SpriteCallbackDummy thumb_func_end sub_8046ED0 @@ -778,7 +778,7 @@ EggHatchSetMonNickname: @ 80472A0 adds r0, r1 ldr r2, _080472D8 @ =gStringVar3 movs r1, 0x2 - bl sub_804037C + bl SetMonData bl FreeMonSpritesGfx ldr r0, _080472DC @ =gUnknown_3000E74 ldr r0, [r0] diff --git a/asm/event_data.s b/asm/event_data.s index e2758639f..1875449fa 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -829,9 +829,9 @@ sub_806E6FC: @ 806E6FC strh r0, [r1] ldr r1, _0806E790 @ =gUnknown_20370D2 strh r0, [r1] - ldr r1, _0806E794 @ =gUnknown_20370D6 + ldr r1, _0806E794 @ =gSpecialVar_MonBoxId strh r0, [r1] - ldr r1, _0806E798 @ =gUnknown_20370D8 + ldr r1, _0806E798 @ =gSpecialVar_MonBoxPos strh r0, [r1] ldr r1, _0806E79C @ =gUnknown_20370DA strh r0, [r1] @@ -857,8 +857,8 @@ _0806E784: .4byte gUnknown_20370D4 _0806E788: .4byte gUnknown_20370D0 _0806E78C: .4byte gUnknown_203AD30 _0806E790: .4byte gUnknown_20370D2 -_0806E794: .4byte gUnknown_20370D6 -_0806E798: .4byte gUnknown_20370D8 +_0806E794: .4byte gSpecialVar_MonBoxId +_0806E798: .4byte gSpecialVar_MonBoxPos _0806E79C: .4byte gUnknown_20370DA _0806E7A0: .4byte gUnknown_20370DC _0806E7A4: .4byte gUnknown_20370DE diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 1966dcaca..ed01b9e63 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -221,7 +221,7 @@ EvolutionScene: @ 80CDDF4 mov r2, r10 muls r2, r1 adds r1, r2, 0 - ldr r2, _080CE0B4 @ =gUnknown_8245EE0 + ldr r2, _080CE0B4 @ =gSpeciesNames adds r1, r2 bl StringCopy adds r0, r4, 0 @@ -241,7 +241,7 @@ EvolutionScene: @ 80CDDF4 lsls r0, r5, 3 ldr r1, _080CE0B8 @ =gUnknown_82350AC adds r0, r1 - ldr r2, _080CE0BC @ =gUnknown_202401C + ldr r2, _080CE0BC @ =gMonSpritesGfxPtr ldr r1, [r2] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -258,7 +258,7 @@ EvolutionScene: @ 80CDDF4 adds r0, r5, 0 movs r1, 0x1 bl sub_803F7D4 - ldr r0, _080CE0C0 @ =gUnknown_20244DC + ldr r0, _080CE0C0 @ =gMultiuseSpriteTemplate mov r8, r0 ldr r1, _080CE0C4 @ =gDummySpriteAffineAnimTable str r1, [r0, 0x10] @@ -297,7 +297,7 @@ EvolutionScene: @ 80CDDF4 lsls r0, r1, 3 ldr r2, _080CE0B8 @ =gUnknown_82350AC adds r0, r2 - ldr r2, _080CE0BC @ =gUnknown_202401C + ldr r2, _080CE0BC @ =gMonSpritesGfxPtr ldr r1, [r2] ldr r1, [r1, 0x10] mov r2, r10 @@ -414,10 +414,10 @@ _080CE0A4: .4byte gReservedSpritePaletteCount _080CE0A8: .4byte gUnknown_2039A20 _080CE0AC: .4byte gStringVar1 _080CE0B0: .4byte gStringVar2 -_080CE0B4: .4byte gUnknown_8245EE0 +_080CE0B4: .4byte gSpeciesNames _080CE0B8: .4byte gUnknown_82350AC -_080CE0BC: .4byte gUnknown_202401C -_080CE0C0: .4byte gUnknown_20244DC +_080CE0BC: .4byte gMonSpritesGfxPtr +_080CE0C0: .4byte gMultiuseSpriteTemplate _080CE0C4: .4byte gDummySpriteAffineAnimTable _080CE0C8: .4byte gSprites _080CE0CC: .4byte nullsub_10 @@ -526,7 +526,7 @@ CB2_EvolutionSceneLoadGraphics: @ 80CE0E8 lsls r0, r5, 3 ldr r1, _080CE2B8 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080CE2BC @ =gUnknown_202401C + ldr r1, _080CE2BC @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x10] adds r2, r5, 0 @@ -543,7 +543,7 @@ CB2_EvolutionSceneLoadGraphics: @ 80CE0E8 adds r0, r5, 0 movs r1, 0x3 bl sub_803F7D4 - ldr r0, _080CE2C0 @ =gUnknown_20244DC + ldr r0, _080CE2C0 @ =gMultiuseSpriteTemplate ldr r1, _080CE2C4 @ =gDummySpriteAffineAnimTable str r1, [r0, 0x10] movs r1, 0x78 @@ -619,8 +619,8 @@ _080CE2AC: .4byte gUnknown_2022982 _080CE2B0: .4byte gUnknown_2022B50 _080CE2B4: .4byte gReservedSpritePaletteCount _080CE2B8: .4byte gUnknown_82350AC -_080CE2BC: .4byte gUnknown_202401C -_080CE2C0: .4byte gUnknown_20244DC +_080CE2BC: .4byte gMonSpritesGfxPtr +_080CE2C0: .4byte gMultiuseSpriteTemplate _080CE2C4: .4byte gDummySpriteAffineAnimTable _080CE2C8: .4byte gSprites _080CE2CC: .4byte nullsub_10 @@ -772,7 +772,7 @@ _080CE414: lsls r0, r6, 3 ldr r1, _080CE454 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080CE458 @ =gUnknown_202401C + ldr r1, _080CE458 @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x10] adds r2, r6, 0 @@ -789,12 +789,12 @@ _080CE414: b _080CE4EC .align 2, 0 _080CE454: .4byte gUnknown_82350AC -_080CE458: .4byte gUnknown_202401C +_080CE458: .4byte gMonSpritesGfxPtr _080CE45C: adds r0, r6, 0 movs r1, 0x1 bl sub_803F7D4 - ldr r0, _080CE4B4 @ =gUnknown_20244DC + ldr r0, _080CE4B4 @ =gMultiuseSpriteTemplate ldr r1, _080CE4B8 @ =gDummySpriteAffineAnimTable str r1, [r0, 0x10] movs r1, 0x78 @@ -832,7 +832,7 @@ _080CE45C: bl sub_80504B0 b _080CE534 .align 2, 0 -_080CE4B4: .4byte gUnknown_20244DC +_080CE4B4: .4byte gMultiuseSpriteTemplate _080CE4B8: .4byte gDummySpriteAffineAnimTable _080CE4BC: .4byte gUnknown_2039A20 _080CE4C0: .4byte gSprites @@ -921,7 +921,7 @@ TradeEvolutionScene: @ 80CE540 ldr r0, _080CE6B4 @ =gStringVar2 movs r1, 0xB muls r1, r5 - ldr r2, _080CE6B8 @ =gUnknown_8245EE0 + ldr r2, _080CE6B8 @ =gSpeciesNames adds r1, r2 bl StringCopy ldr r1, _080CE6BC @ =gAffineAnimsDisabled @@ -953,7 +953,7 @@ TradeEvolutionScene: @ 80CE540 lsls r0, r5, 3 ldr r1, _080CE6C4 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080CE6C8 @ =gUnknown_202401C + ldr r1, _080CE6C8 @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -970,7 +970,7 @@ TradeEvolutionScene: @ 80CE540 adds r0, r5, 0 movs r1, 0x1 bl sub_803F7D4 - ldr r0, _080CE6CC @ =gUnknown_20244DC + ldr r0, _080CE6CC @ =gMultiuseSpriteTemplate ldr r1, _080CE6D0 @ =gDummySpriteAffineAnimTable str r1, [r0, 0x10] movs r1, 0x78 @@ -1066,12 +1066,12 @@ TradeEvolutionScene: @ 80CE540 .align 2, 0 _080CE6B0: .4byte gStringVar1 _080CE6B4: .4byte gStringVar2 -_080CE6B8: .4byte gUnknown_8245EE0 +_080CE6B8: .4byte gSpeciesNames _080CE6BC: .4byte gAffineAnimsDisabled _080CE6C0: .4byte gUnknown_2039A20 _080CE6C4: .4byte gUnknown_82350AC -_080CE6C8: .4byte gUnknown_202401C -_080CE6CC: .4byte gUnknown_20244DC +_080CE6C8: .4byte gMonSpritesGfxPtr +_080CE6CC: .4byte gMultiuseSpriteTemplate _080CE6D0: .4byte gDummySpriteAffineAnimTable _080CE6D4: .4byte gSprites _080CE6D8: .4byte nullsub_10 @@ -1141,7 +1141,7 @@ CreateShedinja: @ 80CE748 beq _080CE778 b _080CE8B2 _080CE778: - ldr r6, _080CE8C8 @ =gUnknown_2024029 + ldr r6, _080CE8C8 @ =gPlayerPartyCount ldrb r0, [r6] cmp r0, 0x5 bls _080CE782 @@ -1162,7 +1162,7 @@ _080CE782: adds r2, r1, r7 adds r2, 0xC movs r1, 0xB - bl sub_804037C + bl SetMonData ldrb r0, [r6] muls r0, r5 adds r0, r4 @@ -1170,28 +1170,28 @@ _080CE782: ldrh r2, [r1, 0xC] movs r1, 0xB muls r2, r1 - ldr r1, _080CE8D0 @ =gUnknown_8245EE0 + ldr r1, _080CE8D0 @ =gSpeciesNames adds r2, r1 movs r1, 0x2 - bl sub_804037C + bl SetMonData ldrb r0, [r6] muls r0, r5 adds r0, r4 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData ldrb r0, [r6] muls r0, r5 adds r0, r4 movs r1, 0x8 mov r2, sp - bl sub_804037C + bl SetMonData ldrb r0, [r6] muls r0, r5 adds r0, r4 movs r1, 0xA mov r2, sp - bl sub_804037C + bl SetMonData movs r4, 0x32 ldr r0, [sp, 0x8] mov r8, r0 @@ -1204,12 +1204,12 @@ _080CE7F0: adds r0, r1 adds r1, r4, 0 mov r2, sp - bl sub_804037C + bl SetMonData adds r4, 0x1 cmp r4, 0x36 ble _080CE7F0 movs r4, 0x43 - ldr r7, _080CE8C8 @ =gUnknown_2024029 + ldr r7, _080CE8C8 @ =gPlayerPartyCount _080CE80C: ldrb r0, [r7] movs r6, 0x64 @@ -1218,17 +1218,17 @@ _080CE80C: adds r0, r5 adds r1, r4, 0 mov r2, sp - bl sub_804037C + bl SetMonData adds r4, 0x1 cmp r4, 0x4F ble _080CE80C - ldr r4, _080CE8C8 @ =gUnknown_2024029 + ldr r4, _080CE8C8 @ =gPlayerPartyCount ldrb r0, [r4] muls r0, r6 adds r0, r5 movs r1, 0x37 mov r2, sp - bl sub_804037C + bl SetMonData movs r0, 0xFF str r0, [sp] ldrb r0, [r4] @@ -1236,7 +1236,7 @@ _080CE80C: adds r0, r5 movs r1, 0x40 mov r2, sp - bl sub_804037C + bl SetMonData ldrb r0, [r4] muls r0, r6 adds r0, r5 @@ -1280,7 +1280,7 @@ _080CE80C: ldr r2, _080CE8D8 @ =gUnknown_83F8440 mov r0, r9 movs r1, 0x2 - bl sub_804037C + bl SetMonData _080CE8B2: add sp, 0xC pop {r3-r5} @@ -1292,9 +1292,9 @@ _080CE8B2: bx r0 .align 2, 0 _080CE8C4: .4byte gUnknown_8259754 -_080CE8C8: .4byte gUnknown_2024029 +_080CE8C8: .4byte gPlayerPartyCount _080CE8CC: .4byte gPlayerParty -_080CE8D0: .4byte gUnknown_8245EE0 +_080CE8D0: .4byte gSpeciesNames _080CE8D4: .4byte 0x0000012f _080CE8D8: .4byte gUnknown_83F8440 thumb_func_end CreateShedinja @@ -1817,7 +1817,7 @@ _080CED3A: adds r2, 0xC mov r0, r9 movs r1, 0xB - bl sub_804037C + bl SetMonData mov r0, r9 bl CalculateMonStats ldrh r1, [r4, 0xA] @@ -2440,13 +2440,13 @@ _080CF2C2: lsls r5, 3 adds r5, r1 ldrb r1, [r5, 0x1C] - ldr r2, _080CF300 @ =gUnknown_2024029 + ldr r2, _080CF300 @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 lsrs r2, 24 ldr r3, _080CF304 @ =CB2_EvolutionSceneLoadGraphics - ldr r4, _080CF308 @ =gUnknown_2024022 + ldr r4, _080CF308 @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] bl sub_8134738 @@ -2458,9 +2458,9 @@ _080CF2C2: _080CF2F4: .4byte gUnknown_2037AB8 _080CF2F8: .4byte gPlayerParty _080CF2FC: .4byte gTasks -_080CF300: .4byte gUnknown_2024029 +_080CF300: .4byte gPlayerPartyCount _080CF304: .4byte CB2_EvolutionSceneLoadGraphics -_080CF308: .4byte gUnknown_2024022 +_080CF308: .4byte gMoveToLearn _080CF30C: ldr r0, _080CF340 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -2540,7 +2540,7 @@ _080CF398: mov r0, r9 adds r1, r4, 0 bl RemoveMonPPBonus - ldr r0, _080CF3D8 @ =gUnknown_2024022 + ldr r0, _080CF3D8 @ =gMoveToLearn ldrh r1, [r0] mov r0, r9 adds r2, r4, 0 @@ -2555,7 +2555,7 @@ _080CF398: b _080CF526 .align 2, 0 _080CF3D4: .4byte gUnknown_2022AC8 -_080CF3D8: .4byte gUnknown_2024022 +_080CF3D8: .4byte gMoveToLearn _080CF3DC: .4byte gTasks _080CF3E0: ldr r0, _080CF408 @ =gUnknown_83FDF3C @@ -3124,7 +3124,7 @@ _080CF8A8: adds r2, 0xC mov r0, r8 movs r1, 0xB - bl sub_804037C + bl SetMonData mov r0, r8 bl CalculateMonStats ldrh r1, [r4, 0xA] @@ -3709,13 +3709,13 @@ _080CFDC6: lsls r5, 3 adds r5, r1 ldrb r1, [r5, 0x1C] - ldr r2, _080CFE24 @ =gUnknown_2024029 + ldr r2, _080CFE24 @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 lsrs r2, 24 ldr r3, _080CFE28 @ =CB2_TradeEvolutionSceneLoadGraphics - ldr r4, _080CFE2C @ =gUnknown_2024022 + ldr r4, _080CFE2C @ =gMoveToLearn ldrh r4, [r4] str r4, [sp] bl sub_8134738 @@ -3728,9 +3728,9 @@ _080CFE14: .4byte gUnknown_2037AB8 _080CFE18: .4byte gUnknown_3003F3C _080CFE1C: .4byte gPlayerParty _080CFE20: .4byte gTasks -_080CFE24: .4byte gUnknown_2024029 +_080CFE24: .4byte gPlayerPartyCount _080CFE28: .4byte CB2_TradeEvolutionSceneLoadGraphics -_080CFE2C: .4byte gUnknown_2024022 +_080CFE2C: .4byte gMoveToLearn _080CFE30: ldr r0, _080CFE64 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -3811,7 +3811,7 @@ _080CFEC0: mov r0, r8 adds r1, r4, 0 bl RemoveMonPPBonus - ldr r0, _080CFF18 @ =gUnknown_2024022 + ldr r0, _080CFF18 @ =gMoveToLearn ldrh r1, [r0] mov r0, r8 adds r2, r4, 0 @@ -3835,7 +3835,7 @@ _080CFEC0: b _080D0038 .align 2, 0 _080CFF14: .4byte gUnknown_2022AC8 -_080CFF18: .4byte gUnknown_2024022 +_080CFF18: .4byte gMoveToLearn _080CFF1C: .4byte gUnknown_83FDF3C _080CFF20: .4byte gUnknown_202298C _080CFF24: .4byte gTasks diff --git a/asm/field_poison.s b/asm/field_poison.s index 348812b06..f875d985b 100644 --- a/asm/field_poison.s +++ b/asm/field_poison.s @@ -78,7 +78,7 @@ MonFaintFromPoisonOnField: @ 80A04B8 adds r0, r4, 0 movs r1, 0x37 mov r2, sp - bl sub_804037C + bl SetMonData ldr r5, _080A0500 @ =gStringVar1 adds r0, r4, 0 movs r1, 0x2 @@ -279,7 +279,7 @@ _080A065C: adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl sub_804037C + bl SetMonData adds r7, 0x1 _080A0668: adds r4, 0x64 diff --git a/asm/field_specials.s b/asm/field_specials.s index 5132df30e..5a2f26625 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -713,7 +713,7 @@ GivLeadMonEffortRibbon: @ 80CAB08 adds r0, r1 movs r1, 0x47 mov r2, sp - bl sub_804037C + bl SetMonData add sp, 0x4 pop {r0} bx r0 @@ -1457,7 +1457,7 @@ _080CB0EA: lsrs r0, 16 movs r1, 0xB muls r1, r0 - ldr r0, _080CB120 @ =gUnknown_8245EE0 + ldr r0, _080CB120 @ =gSpeciesNames adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -1470,7 +1470,7 @@ _080CB110: .4byte 0x0000ffff _080CB114: .4byte 0x0000403b _080CB118: .4byte 0x00004035 _080CB11C: .4byte gStringVar1 -_080CB120: .4byte gUnknown_8245EE0 +_080CB120: .4byte gSpeciesNames thumb_func_end sub_80CB0A8 thumb_func_start sub_80CB124 @@ -3225,7 +3225,7 @@ sub_80CBE50: @ 80CBE50 bl GetMonData movs r1, 0xB muls r0, r1 - ldr r1, _080CBEAC @ =gUnknown_8245EE0 + ldr r1, _080CBEAC @ =gSpeciesNames adds r0, r1 adds r1, r6, 0 bl StringCompare @@ -3236,7 +3236,7 @@ sub_80CBE50: @ 80CBE50 .align 2, 0 _080CBEA4: .4byte gPlayerParty _080CBEA8: .4byte gStringVar1 -_080CBEAC: .4byte gUnknown_8245EE0 +_080CBEAC: .4byte gSpeciesNames _080CBEB0: movs r0, 0x1 _080CBEB2: @@ -3407,9 +3407,9 @@ ChangeBoxPokemonNickname: @ 80CBFE0 mov r6, r8 push {r6} sub sp, 0x8 - ldr r0, _080CC050 @ =gUnknown_20370D6 + ldr r0, _080CC050 @ =gSpecialVar_MonBoxId ldrb r0, [r0] - ldr r1, _080CC054 @ =gUnknown_20370D8 + ldr r1, _080CC054 @ =gSpecialVar_MonBoxPos ldrb r1, [r1] bl GetBoxedMonPtr adds r6, r0, 0 @@ -3453,8 +3453,8 @@ ChangeBoxPokemonNickname: @ 80CBFE0 pop {r0} bx r0 .align 2, 0 -_080CC050: .4byte gUnknown_20370D6 -_080CC054: .4byte gUnknown_20370D8 +_080CC050: .4byte gSpecialVar_MonBoxId +_080CC054: .4byte gSpecialVar_MonBoxPos _080CC058: .4byte gStringVar3 _080CC05C: .4byte gStringVar2 _080CC060: .4byte ChangeBoxPokemonNickname_CB @@ -3463,9 +3463,9 @@ _080CC060: .4byte ChangeBoxPokemonNickname_CB thumb_func_start ChangeBoxPokemonNickname_CB ChangeBoxPokemonNickname_CB: @ 80CC064 push {lr} - ldr r0, _080CC07C @ =gUnknown_20370D6 + ldr r0, _080CC07C @ =gSpecialVar_MonBoxId ldrb r0, [r0] - ldr r1, _080CC080 @ =gUnknown_20370D8 + ldr r1, _080CC080 @ =gSpecialVar_MonBoxPos ldrb r1, [r1] ldr r2, _080CC084 @ =gStringVar2 bl SetBoxMonNickFromAnyBox @@ -3473,8 +3473,8 @@ ChangeBoxPokemonNickname_CB: @ 80CC064 pop {r0} bx r0 .align 2, 0 -_080CC07C: .4byte gUnknown_20370D6 -_080CC080: .4byte gUnknown_20370D8 +_080CC07C: .4byte gSpecialVar_MonBoxId +_080CC080: .4byte gSpecialVar_MonBoxPos _080CC084: .4byte gStringVar2 thumb_func_end ChangeBoxPokemonNickname_CB @@ -3576,7 +3576,7 @@ ChangePokemonNickname_CB: @ 80CC144 adds r0, r1 ldr r2, _080CC16C @ =gStringVar2 movs r1, 0x2 - bl sub_804037C + bl SetMonData bl c2_exit_to_overworld_1_continue_scripts_restart_music pop {r0} bx r0 diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 0f66e62de..3f29ac11c 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -2624,7 +2624,7 @@ _080F32C4: lsrs r1, 23 movs r2, 0xB muls r1, r2 - ldr r2, _080F3324 @ =gUnknown_8245EE0 + ldr r2, _080F3324 @ =gSpeciesNames adds r1, r2 bl StringCopy adds r6, r0, 0 @@ -2641,7 +2641,7 @@ _080F3318: .align 2, 0 _080F331C: .4byte gUnknown_840C23C _080F3320: .4byte 0x000001ff -_080F3324: .4byte gUnknown_8245EE0 +_080F3324: .4byte gSpeciesNames _080F3328: lsls r0, r1, 23 lsrs r0, 23 diff --git a/asm/item_use.s b/asm/item_use.s index e2cad1322..8229f5a2b 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -743,7 +743,7 @@ _080A1578: movs r1, 0x11 adds r2, r4, 0 movs r3, 0 - bl ExecuteTableBasedItemEffect_ + bl ExecuteTableBasedItemEffect lsls r0, 24 cmp r0, 0 bne _080A1592 @@ -1886,7 +1886,7 @@ sub_80A1E7C: @ 80A1E7C lsls r0, 24 lsrs r4, r0, 24 ldr r1, _080A1EBC @ =gBattlerPartyIndexes - ldr r0, _080A1EC0 @ =gUnknown_2024004 + ldr r0, _080A1EC0 @ =gBattlerInMenuId ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -1900,7 +1900,7 @@ sub_80A1E7C: @ 80A1E7C lsls r2, 24 lsrs r2, 24 movs r3, 0 - bl ExecuteTableBasedItemEffect_ + bl ExecuteTableBasedItemEffect lsls r0, 24 lsrs r2, r0, 24 cmp r2, 0 @@ -1913,7 +1913,7 @@ sub_80A1E7C: @ 80A1E7C b _080A1EE4 .align 2, 0 _080A1EBC: .4byte gBattlerPartyIndexes -_080A1EC0: .4byte gUnknown_2024004 +_080A1EC0: .4byte gBattlerInMenuId _080A1EC4: .4byte gPlayerParty _080A1EC8: .4byte gUnknown_203AD30 _080A1ECC: .4byte gUnknown_84169DC diff --git a/asm/learn_move.s b/asm/learn_move.s index eba23b712..743067bfe 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -744,7 +744,7 @@ _080E4C7E: lsls r2, 2 adds r1, r5, r2 ldrb r1, [r1] - ldr r2, _080E4CDC @ =gUnknown_2024029 + ldr r2, _080E4CDC @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 @@ -768,7 +768,7 @@ _080E4CCC: .4byte 0x00000263 _080E4CD0: .4byte 0x00000a68 _080E4CD4: .4byte 0x00000a6a _080E4CD8: .4byte gPlayerParty -_080E4CDC: .4byte gUnknown_2024029 +_080E4CDC: .4byte gPlayerPartyCount _080E4CE0: .4byte sub_80E4800 _080E4CE4: ldr r1, [r7] diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index f4e12b60f..2e431b6de 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -6885,7 +6885,7 @@ _08119414: lsrs r0, 22 movs r1, 0xB muls r1, r0 - ldr r0, _08119458 @ =gUnknown_8245EE0 + ldr r0, _08119458 @ =gSpeciesNames adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -6907,7 +6907,7 @@ _0811944A: b _081198DC .align 2, 0 _08119454: .4byte gStringVar1 -_08119458: .4byte gUnknown_8245EE0 +_08119458: .4byte gSpeciesNames _0811945C: .4byte gStringVar2 _08119460: .4byte gStringVar4 _08119464: .4byte gUnknown_8458DBC @@ -10003,7 +10003,7 @@ _0811AC3C: movs r0, 0xB mov r2, r8 muls r2, r0 - ldr r0, _0811ACA0 @ =gUnknown_8245EE0 + ldr r0, _0811ACA0 @ =gSpeciesNames adds r2, r0 str r5, [sp] str r4, [sp, 0x4] @@ -10041,7 +10041,7 @@ _0811AC90: pop {r0} bx r0 .align 2, 0 -_0811ACA0: .4byte gUnknown_8245EE0 +_0811ACA0: .4byte gSpeciesNames thumb_func_end sub_811ABE4 thumb_func_start sub_811ACA4 @@ -10227,7 +10227,7 @@ _0811ADE0: beq _0811AE40 adds r4, 0x1 _0811ADFA: - ldr r0, _0811AE0C @ =gUnknown_2024029 + ldr r0, _0811AE0C @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 blt _0811ADE0 @@ -10235,10 +10235,10 @@ _0811ADFA: b _0811AE5C .align 2, 0 _0811AE08: .4byte gPlayerParty -_0811AE0C: .4byte gUnknown_2024029 +_0811AE0C: .4byte gPlayerPartyCount _0811AE10: movs r4, 0 - ldr r0, _0811AE44 @ =gUnknown_2024029 + ldr r0, _0811AE44 @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 bge _0811AE5A @@ -10265,12 +10265,12 @@ _0811AE40: movs r0, 0 b _0811AE5C .align 2, 0 -_0811AE44: .4byte gUnknown_2024029 +_0811AE44: .4byte gPlayerPartyCount _0811AE48: .4byte gBaseStats _0811AE4C: .4byte gPlayerParty _0811AE50: adds r4, 0x1 - ldr r0, _0811AE64 @ =gUnknown_2024029 + ldr r0, _0811AE64 @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 blt _0811AE1C @@ -10281,7 +10281,7 @@ _0811AE5C: pop {r1} bx r1 .align 2, 0 -_0811AE64: .4byte gUnknown_2024029 +_0811AE64: .4byte gPlayerPartyCount thumb_func_end sub_811ADD0 thumb_func_start sub_811AE68 @@ -10480,14 +10480,14 @@ _0811AFC8: ldrh r2, [r4, 0xA] movs r1, 0xB muls r1, r2 - ldr r2, _0811AFF4 @ =gUnknown_8245EE0 + ldr r2, _0811AFF4 @ =gSpeciesNames adds r1, r2 bl StringCopy movs r4, 0 b _0811AFFA .align 2, 0 _0811AFF0: .4byte gUnknown_203B06C -_0811AFF4: .4byte gUnknown_8245EE0 +_0811AFF4: .4byte gSpeciesNames _0811AFF8: adds r4, 0x1 _0811AFFA: @@ -10509,7 +10509,7 @@ _0811AFFA: ldrh r1, [r5, 0x2] movs r0, 0xB muls r1, r0 - ldr r0, _0811B048 @ =gUnknown_8245EE0 + ldr r0, _0811B048 @ =gSpeciesNames adds r1, r0 adds r0, r6, 0 adds r0, 0x79 @@ -10527,7 +10527,7 @@ _0811B030: b _0811B080 .align 2, 0 _0811B044: .4byte gUnknown_3007460 -_0811B048: .4byte gUnknown_8245EE0 +_0811B048: .4byte gSpeciesNames _0811B04C: .4byte gUnknown_8457DB8 _0811B050: movs r4, 0 @@ -10626,7 +10626,7 @@ sub_811B0F0: @ 811B0F0 push {r4-r6,lr} movs r6, 0 movs r5, 0 - ldr r0, _0811B138 @ =gUnknown_2024029 + ldr r0, _0811B138 @ =gPlayerPartyCount ldrb r0, [r0] cmp r6, r0 bge _0811B130 @@ -10651,7 +10651,7 @@ _0811B0FE: adds r6, 0x1 _0811B126: adds r5, 0x1 - ldr r0, _0811B138 @ =gUnknown_2024029 + ldr r0, _0811B138 @ =gPlayerPartyCount ldrb r0, [r0] cmp r5, r0 blt _0811B0FE @@ -10661,7 +10661,7 @@ _0811B130: movs r0, 0 b _0811B142 .align 2, 0 -_0811B138: .4byte gUnknown_2024029 +_0811B138: .4byte gPlayerPartyCount _0811B13C: .4byte gPlayerParty _0811B140: movs r0, 0x1 @@ -10807,7 +10807,7 @@ _0811B212: _0811B238: adds r5, 0x1 _0811B23A: - ldr r0, _0811B254 @ =gUnknown_2024029 + ldr r0, _0811B254 @ =gPlayerPartyCount ldrb r0, [r0] cmp r5, r0 blt _0811B212 @@ -10820,7 +10820,7 @@ _0811B242: bx r1 .align 2, 0 _0811B250: .4byte gPlayerParty -_0811B254: .4byte gUnknown_2024029 +_0811B254: .4byte gPlayerPartyCount thumb_func_end sub_811B1EC thumb_func_start sub_811B258 diff --git a/asm/load_save.s b/asm/load_save.s index f18414c41..836abd78e 100644 --- a/asm/load_save.s +++ b/asm/load_save.s @@ -273,7 +273,7 @@ copy_player_party_to_sav1: @ 804C1F0 push {r4,lr} ldr r0, _0804C224 @ =gSaveBlock1Ptr ldr r0, [r0] - ldr r1, _0804C228 @ =gUnknown_2024029 + ldr r1, _0804C228 @ =gPlayerPartyCount ldrb r1, [r1] adds r0, 0x34 strb r1, [r0] @@ -297,14 +297,14 @@ _0804C200: bx r0 .align 2, 0 _0804C224: .4byte gSaveBlock1Ptr -_0804C228: .4byte gUnknown_2024029 +_0804C228: .4byte gPlayerPartyCount _0804C22C: .4byte gPlayerParty thumb_func_end copy_player_party_to_sav1 thumb_func_start sub_804C230 sub_804C230: @ 804C230 push {r4,r5,lr} - ldr r1, _0804C264 @ =gUnknown_2024029 + ldr r1, _0804C264 @ =gPlayerPartyCount ldr r0, _0804C268 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x34 @@ -330,7 +330,7 @@ _0804C242: pop {r0} bx r0 .align 2, 0 -_0804C264: .4byte gUnknown_2024029 +_0804C264: .4byte gPlayerPartyCount _0804C268: .4byte gSaveBlock1Ptr _0804C26C: .4byte gPlayerParty thumb_func_end sub_804C230 diff --git a/asm/mail_data.s b/asm/mail_data.s index 5f577039b..421aaf452 100644 --- a/asm/mail_data.s +++ b/asm/mail_data.s @@ -301,11 +301,11 @@ _08097E36: mov r0, r8 movs r1, 0x40 mov r2, r9 - bl sub_804037C + bl SetMonData mov r0, r8 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData mov r1, r9 ldrb r0, [r1] b _08097EEE @@ -413,7 +413,7 @@ GiveMailToMon2: @ 8097F44 adds r0, r6, 0 movs r1, 0x40 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r0, sp strb r5, [r0] mov r1, sp @@ -422,7 +422,7 @@ GiveMailToMon2: @ 8097F44 adds r0, r6, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData ldrb r0, [r4] b _08097FAA .align 2, 0 @@ -476,11 +476,11 @@ TakeMailFromMon: @ 8097FB8 strb r1, [r0, 0x1] adds r0, r4, 0 movs r1, 0x40 - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData _08098008: add sp, 0x8 pop {r4} @@ -577,11 +577,11 @@ _08098060: adds r0, r5, 0 movs r1, 0x40 mov r2, r9 - bl sub_804037C + bl SetMonData adds r0, r5, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r7, 0 b _080980E8 .align 2, 0 diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index 18b6066d9..b150bb586 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -511,20 +511,20 @@ sub_80DAB80: @ 80DAB80 cmp r4, r0 bne _080DABD0 ldr r0, _080DABC8 @ =gStringVar1 - ldr r1, _080DABCC @ =gUnknown_8415A62 + ldr r1, _080DABCC @ =gText_EggNickname movs r2, 0xB bl StringCopyN b _080DABDA .align 2, 0 _080DABC8: .4byte gStringVar1 -_080DABCC: .4byte gUnknown_8415A62 +_080DABCC: .4byte gText_EggNickname _080DABD0: ldr r0, _080DABF0 @ =gStringVar1 ldr r1, _080DABF4 @ =gUnknown_8415A66 movs r2, 0xB bl StringCopyN _080DABDA: - ldr r0, _080DABF8 @ =gUnknown_2024029 + ldr r0, _080DABF8 @ =gPlayerPartyCount ldrb r0, [r0] cmp r0, 0x6 bne _080DAC04 @@ -536,7 +536,7 @@ _080DABDA: .align 2, 0 _080DABF0: .4byte gStringVar1 _080DABF4: .4byte gUnknown_8415A66 -_080DABF8: .4byte gUnknown_2024029 +_080DABF8: .4byte gPlayerPartyCount _080DABFC: .4byte gStringVar4 _080DAC00: .4byte gUnknown_8488D8E _080DAC04: diff --git a/asm/naming_screen.s b/asm/naming_screen.s index e42ed45d8..2601ab1f1 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -3524,7 +3524,7 @@ sub_809F4F0: @ 809F4F0 ldrh r1, [r0] movs r0, 0xB muls r1, r0 - ldr r0, _0809F560 @ =gUnknown_8245EE0 + ldr r0, _0809F560 @ =gSpeciesNames adds r1, r0 add r0, sp, 0xC bl StringCopy @@ -3565,7 +3565,7 @@ sub_809F4F0: @ 809F4F0 .align 2, 0 _0809F558: .4byte gUnknown_203998C _0809F55C: .4byte 0x00001e34 -_0809F560: .4byte gUnknown_8245EE0 +_0809F560: .4byte gSpeciesNames _0809F564: .4byte 0x00001e28 _0809F568: .4byte 0x00001e14 thumb_func_end sub_809F4F0 diff --git a/asm/new_game.s b/asm/new_game.s index d7808dba7..b8f6515ef 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -253,7 +253,7 @@ sub_8054A60: @ 8054A60 bl sub_80A0904 bl sub_80A0958 bl sub_806E190 - ldr r0, _08054B64 @ =gUnknown_2024029 + ldr r0, _08054B64 @ =gPlayerPartyCount strb r5, [r0] bl ZeroPlayerPartyMons bl sub_808C7E0 @@ -291,7 +291,7 @@ _08054B54: .4byte 0x00003a4c _08054B58: .4byte gUnknown_2031DB0 _08054B5C: .4byte gSaveBlock2Ptr _08054B60: .4byte 0x00000bb8 -_08054B64: .4byte gUnknown_2024029 +_08054B64: .4byte gPlayerPartyCount _08054B68: .4byte 0x00000296 _08054B6C: .4byte gUnknown_81A6481 thumb_func_end sub_8054A60 diff --git a/asm/oak_speech.s b/asm/oak_speech.s index c5591fc0e..54451e618 100644 --- a/asm/oak_speech.s +++ b/asm/oak_speech.s @@ -4637,7 +4637,7 @@ sub_8130F2C: @ 8130F2C movs r0, 0x1D movs r1, 0 bl sub_803F7D4 - ldr r0, _08130FA8 @ =gUnknown_20244DC + ldr r0, _08130FA8 @ =gMultiuseSpriteTemplate movs r1, 0x60 movs r2, 0x60 movs r3, 0x1 @@ -4677,7 +4677,7 @@ sub_8130F2C: @ 8130F2C .align 2, 0 _08130FA0: .4byte gUnknown_8235194 _08130FA4: .4byte gUnknown_82373F4 -_08130FA8: .4byte gUnknown_20244DC +_08130FA8: .4byte gMultiuseSpriteTemplate _08130FAC: .4byte gSprites _08130FB0: .4byte SpriteCallbackDummy _08130FB4: .4byte gTasks diff --git a/asm/party_menu.s b/asm/party_menu.s index c23e401ef..d21f709a3 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -1299,7 +1299,7 @@ _0811F4A2: adds r0, r6, 0 movs r1, 0x3 adds r2, r4, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 cmp r0, 0 bne _0811F492 @@ -2796,12 +2796,12 @@ _08120016: _08120024: cmp r1, 0x6 bne _08120034 - ldr r0, _08120030 @ =gUnknown_2024029 + ldr r0, _08120030 @ =gPlayerPartyCount ldrb r0, [r0] subs r0, 0x1 b _081200EC .align 2, 0 -_08120030: .4byte gUnknown_2024029 +_08120030: .4byte gPlayerPartyCount _08120034: cmp r1, 0x7 bne _08120058 @@ -2816,12 +2816,12 @@ _08120034: .align 2, 0 _08120048: .4byte gUnknown_203B09C _0812004C: - ldr r0, _08120054 @ =gUnknown_2024029 + ldr r0, _08120054 @ =gPlayerPartyCount ldrb r0, [r0] subs r0, 0x1 b _081200EC .align 2, 0 -_08120054: .4byte gUnknown_2024029 +_08120054: .4byte gPlayerPartyCount _08120058: subs r0, 0x1 b _081200EC @@ -2833,7 +2833,7 @@ _0812005C: beq _081200EA movs r1, 0 ldrsb r1, [r4, r1] - ldr r0, _08120084 @ =gUnknown_2024029 + ldr r0, _08120084 @ =gPlayerPartyCount ldrb r0, [r0] subs r0, 0x1 cmp r1, r0 @@ -2847,7 +2847,7 @@ _0812005C: movs r0, 0x6 b _081200EC .align 2, 0 -_08120084: .4byte gUnknown_2024029 +_08120084: .4byte gPlayerPartyCount _08120088: .4byte gUnknown_203B09C _0812008C: movs r0, 0x7 @@ -2856,7 +2856,7 @@ _08120090: adds r0, r2, 0x1 b _081200EC _08120094: - ldr r0, _081200B8 @ =gUnknown_2024029 + ldr r0, _081200B8 @ =gPlayerPartyCount ldrb r0, [r0] cmp r0, 0x1 beq _081200EE @@ -2874,7 +2874,7 @@ _08120094: movs r0, 0x1 b _081200EC .align 2, 0 -_081200B8: .4byte gUnknown_2024029 +_081200B8: .4byte gPlayerPartyCount _081200BC: .4byte gUnknown_203B09C _081200C0: movs r0, 0 @@ -2947,12 +2947,12 @@ _08120124: _08120132: cmp r0, 0x6 bne _08120144 - ldr r0, _08120140 @ =gUnknown_2024029 + ldr r0, _08120140 @ =gPlayerPartyCount ldrb r0, [r0] subs r0, 0x1 b _0812028E .align 2, 0 -_08120140: .4byte gUnknown_2024029 +_08120140: .4byte gPlayerPartyCount _08120144: cmp r0, 0x7 bne _08120160 @@ -3557,7 +3557,7 @@ _081205F2: adds r0, r6, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData _08120606: add sp, 0x4 pop {r4-r7} @@ -3592,7 +3592,7 @@ _0812062C: adds r0, r4, 0 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData movs r0, 0x2 b _0812064E _0812064C: @@ -3672,7 +3672,7 @@ sub_81206A8: @ 81206A8 adds r0, r4 movs r1, 0x39 adds r2, r7, 0 - bl sub_804037C + bl SetMonData movs r3, 0x8 ldrsh r2, [r7, r3] adds r0, r2, 0 @@ -3961,7 +3961,7 @@ sub_81208E4: @ 81208E4 cmp r0, 0 bne _08120944 movs r4, 0 - ldr r0, _0812093C @ =gUnknown_2024029 + ldr r0, _0812093C @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 bcs _0812096E @@ -3980,7 +3980,7 @@ _0812090C: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0812093C @ =gUnknown_2024029 + ldr r0, _0812093C @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 bcc _0812090C @@ -3988,7 +3988,7 @@ _0812090C: .align 2, 0 _08120934: .4byte gUnknown_203B0A0 _08120938: .4byte gUnknown_20370C2 -_0812093C: .4byte gUnknown_2024029 +_0812093C: .4byte gPlayerPartyCount _08120940: .4byte gPlayerParty _08120944: movs r4, 0 @@ -4009,7 +4009,7 @@ _08120948: lsls r0, 24 lsrs r4, r0, 24 _08120966: - ldr r0, _08120978 @ =gUnknown_2024029 + ldr r0, _08120978 @ =gPlayerPartyCount ldrb r0, [r0] cmp r4, r0 bcc _08120948 @@ -4019,7 +4019,7 @@ _0812096E: bx r0 .align 2, 0 _08120974: .4byte gPlayerParty -_08120978: .4byte gUnknown_2024029 +_08120978: .4byte gPlayerPartyCount thumb_func_end sub_81208E4 thumb_func_start sub_812097C @@ -6010,7 +6010,7 @@ _081218EC: movs r0, 0xB adds r1, r5, 0 muls r1, r0 - ldr r0, _0812190C @ =gUnknown_8245EE0 + ldr r0, _0812190C @ =gSpeciesNames adds r1, r0 mov r0, r9 bl StringCompare @@ -6024,7 +6024,7 @@ _08121900: beq _08121950 b _08121982 .align 2, 0 -_0812190C: .4byte gUnknown_8245EE0 +_0812190C: .4byte gSpeciesNames _08121910: ldr r5, _08121944 @ =gUnknown_845A2B8 ldrb r0, [r5] @@ -8673,7 +8673,7 @@ sub_8122D78: @ 8122D78 _08122D8C: ldr r0, _08122DB0 @ =gPlayerParty ldrb r1, [r4, 0x9] - ldr r2, _08122DB4 @ =gUnknown_2024029 + ldr r2, _08122DB4 @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 @@ -8689,7 +8689,7 @@ _08122D8C: .align 2, 0 _08122DAC: .4byte gUnknown_203B0A0 _08122DB0: .4byte gPlayerParty -_08122DB4: .4byte gUnknown_2024029 +_08122DB4: .4byte gPlayerPartyCount _08122DB8: .4byte sub_8122DBC thumb_func_end sub_8122D78 @@ -10327,7 +10327,7 @@ sub_8123ACC: @ 8123ACC adds r0, r5, 0 movs r1, 0xC adds r2, r4, 0 - bl sub_804037C + bl SetMonData ldrh r0, [r4] movs r1, 0x1 bl sub_809A1D8 @@ -12920,7 +12920,7 @@ IsHPRecoveryItem: @ 8125018 _0812502C: .4byte gSaveBlock1Ptr _08125030: .4byte 0x00003108 _08125034: - ldr r1, _0812504C @ =gUnknown_82528BC + ldr r1, _0812504C @ =gItemEffectTable subs r0, 0xD lsls r0, 2 adds r0, r1 @@ -12934,7 +12934,7 @@ _0812503E: movs r0, 0 b _08125052 .align 2, 0 -_0812504C: .4byte gUnknown_82528BC +_0812504C: .4byte gItemEffectTable _08125050: movs r0, 0x1 _08125052: @@ -13217,7 +13217,7 @@ _081252A0: adds r1, r5, 0 _081252BA: adds r3, r6, 0 - bl ExecuteTableBasedItemEffect_ + bl ExecuteTableBasedItemEffect lsls r0, 24 lsrs r0, 24 pop {r4-r6} @@ -13749,7 +13749,7 @@ _08125710: .4byte gUnknown_203AD30 _08125714: .4byte gSaveBlock1Ptr _08125718: .4byte 0x00003108 _0812571C: - ldr r1, _0812574C @ =gUnknown_82528BC + ldr r1, _0812574C @ =gItemEffectTable subs r0, 0xD lsls r0, 2 adds r0, r1 @@ -13773,7 +13773,7 @@ _08125726: bl sub_8125958 b _0812577E .align 2, 0 -_0812574C: .4byte gUnknown_82528BC +_0812574C: .4byte gItemEffectTable _08125750: .4byte gUnknown_203B0A0 _08125754: adds r0, r4, 0 @@ -14637,7 +14637,7 @@ sub_8125E4C: @ 8125E4C ldr r0, _08125E74 @ =gPlayerParty ldr r4, _08125E78 @ =gUnknown_203B0A0 ldrb r1, [r4, 0x9] - ldr r2, _08125E7C @ =gUnknown_2024029 + ldr r2, _08125E7C @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 @@ -14653,7 +14653,7 @@ sub_8125E4C: @ 8125E4C .align 2, 0 _08125E74: .4byte gPlayerParty _08125E78: .4byte gUnknown_203B0A0 -_08125E7C: .4byte gUnknown_2024029 +_08125E7C: .4byte gPlayerPartyCount _08125E80: .4byte sub_8125E84 thumb_func_end sub_8125E4C @@ -15693,7 +15693,7 @@ sub_8126704: @ 8126704 adds r0, r7, 0 movs r1, 0 movs r2, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -15750,7 +15750,7 @@ sub_8126770: @ 8126770 ldr r1, _081267E4 @ =gStringVar1 bl GetMonNickname ldr r0, _081267E8 @ =gStringVar2 - ldr r6, _081267EC @ =gUnknown_2024022 + ldr r6, _081267EC @ =gMoveToLearn ldrh r2, [r6] movs r1, 0xD muls r1, r2 @@ -15786,7 +15786,7 @@ _081267DC: .4byte gUnknown_203B0A0 _081267E0: .4byte gPlayerParty _081267E4: .4byte gStringVar1 _081267E8: .4byte gStringVar2 -_081267EC: .4byte gUnknown_2024022 +_081267EC: .4byte gMoveToLearn _081267F0: .4byte gUnknown_8247094 _081267F4: .4byte gStringVar4 _081267F8: .4byte gUnknown_8416DF7 @@ -16297,7 +16297,7 @@ sub_8126C24: @ 8126C24 ldr r1, _08126C5C @ =gUnknown_203AD30 ldrh r2, [r1] movs r1, 0x2 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r0, 16 cmp r0, 0x97 @@ -16339,7 +16339,7 @@ _08126C7C: _08126C8C: .4byte gSaveBlock1Ptr _08126C90: .4byte 0x00003108 _08126C94: - ldr r1, _08126CC4 @ =gUnknown_82528BC + ldr r1, _08126CC4 @ =gItemEffectTable lsls r0, r2, 2 adds r0, r1 ldr r4, [r0] @@ -16365,7 +16365,7 @@ _08126CBE: movs r0, 0 b _08126DC2 .align 2, 0 -_08126CC4: .4byte gUnknown_82528BC +_08126CC4: .4byte gItemEffectTable _08126CC8: movs r2, 0x40 adds r0, r2, 0 @@ -16968,7 +16968,7 @@ sub_812713C: @ 812713C adds r0, r5, 0 movs r1, 0xC adds r2, r4, 0 - bl sub_804037C + bl SetMonData ldrh r0, [r4] movs r1, 0x1 bl sub_809A1D8 @@ -18220,7 +18220,7 @@ _08127B3C: b _08127B68 _08127B40: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08127B62 @@ -18239,7 +18239,7 @@ _08127B62: lsls r0, 24 lsrs r4, r0, 24 _08127B68: - ldr r0, _08127B94 @ =gUnknown_2023BCC + ldr r0, _08127B94 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _08127B40 @@ -18259,7 +18259,7 @@ _08127B68: b _08127C86 .align 2, 0 _08127B90: .4byte gBattlerPartyIndexes -_08127B94: .4byte gUnknown_2023BCC +_08127B94: .4byte gBattlersCount _08127B98: .4byte gPlayerParty _08127B9C: .4byte gStringVar4 _08127BA0: .4byte gUnknown_8416ACB @@ -18305,7 +18305,7 @@ _08127BEC: movs r0, 0x1 strb r0, [r1] ldr r1, _08127C38 @ =gBattlerPartyIndexes - ldr r0, _08127C3C @ =gUnknown_2024004 + ldr r0, _08127C3C @ =gBattlerInMenuId ldrb r0, [r0] lsls r0, 1 adds r0, r1 @@ -18328,7 +18328,7 @@ _08127BEC: _08127C30: .4byte gUnknown_203B0C1 _08127C34: .4byte gUnknown_203B0C0 _08127C38: .4byte gBattlerPartyIndexes -_08127C3C: .4byte gUnknown_2024004 +_08127C3C: .4byte gBattlerInMenuId _08127C40: movs r0, 0x64 muls r0, r5 @@ -18345,7 +18345,7 @@ _08127C58: .4byte gStringVar1 _08127C5C: .4byte gStringVar4 _08127C60: .4byte gUnknown_8416A3A _08127C64: - ldr r0, _08127C98 @ =gUnknown_2024004 + ldr r0, _08127C98 @ =gBattlerInMenuId ldrb r0, [r0] ldr r1, _08127C9C @ =gBattlerPartyIndexes lsls r0, 1 @@ -18371,7 +18371,7 @@ _08127C8C: pop {r1} bx r1 .align 2, 0 -_08127C98: .4byte gUnknown_2024004 +_08127C98: .4byte gBattlerInMenuId _08127C9C: .4byte gBattlerPartyIndexes _08127CA0: .4byte gStringVar1 _08127CA4: .4byte gStringVar4 @@ -18431,7 +18431,7 @@ _08127D02: bne _08127D40 movs r5, 0x1 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r2, sp ldr r1, _08127D3C @ =gBattlerPartyIndexes lsls r0, 24 @@ -18459,7 +18459,7 @@ _08127D3C: .4byte gBattlerPartyIndexes _08127D40: movs r5, 0x2 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp ldr r4, _08127DA4 @ =gBattlerPartyIndexes lsls r0, 24 @@ -18468,7 +18468,7 @@ _08127D40: ldrh r0, [r0] strb r0, [r1] movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition mov r1, sp lsls r0, 24 lsrs r0, 23 @@ -18545,24 +18545,24 @@ sub_8127DCC: @ 8127DCC lsrs r7, r1, 24 lsls r0, 24 lsrs r0, 24 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08127DF4 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x2 b _08127E00 _08127DF4: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r4, r0, 24 movs r0, 0x3 _08127E00: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r6, r0, 24 bl sub_811FA20 diff --git a/asm/pokeball.s b/asm/pokeball.s index 5408e5567..998c7cdc4 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -90,7 +90,7 @@ _0804A9D8: mov r9, r0 ldrb r6, [r1, 0xE] adds r0, r6, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0804AA04 @@ -247,7 +247,7 @@ _0804AB30: .4byte gSprites _0804AB34: .4byte SpriteCB_OpponentMonSendOut _0804AB38: movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r1, _0804AB64 @ =gBattlerTarget strb r0, [r1] movs r2, 0x1 @@ -1213,7 +1213,7 @@ sub_804B268: @ 804B268 b _0804B420 _0804B2DA: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0804B310 @@ -1253,13 +1253,13 @@ _0804B324: lsrs r0, 16 mov r8, r0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r5, r0 beq _0804B34E movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r5, r0 @@ -1323,13 +1323,13 @@ _0804B3C8: .4byte 0x0000ffff _0804B3CC: .4byte gUnknown_2024018 _0804B3D0: movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r5, r0 beq _0804B3EC movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r5, r0 @@ -1858,7 +1858,7 @@ _0804B7C8: movs r0, 0x3A ldrsh r4, [r5, r0] movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -1935,7 +1935,7 @@ SpriteCB_OpponentMonSendOut: @ 804B868 movs r0, 0x3A ldrsh r4, [r5, r0] movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 cmp r4, r0 @@ -2612,7 +2612,7 @@ sub_804BD94: @ 804BD94 ldr r0, _0804BE1C @ =sub_804BE48 str r0, [r4, 0x1C] adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0804BDE2 @@ -2641,7 +2641,7 @@ _0804BDE2: ldr r1, [r1] bl _call_via_r1 adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -2856,7 +2856,7 @@ GetBankPokeballItemId: @ 804BF90 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0804BFBC diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 9cd8b78f0..8277af735 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -1967,7 +1967,7 @@ _0810356C: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _081035C0 @ =gUnknown_8245EE0 + ldr r1, _081035C0 @ =gSpeciesNames adds r0, r1 str r0, [r2] mov r10, r5 @@ -1975,7 +1975,7 @@ _0810356C: b _081035D6 .align 2, 0 _081035BC: .4byte gUnknown_203ACF0 -_081035C0: .4byte gUnknown_8245EE0 +_081035C0: .4byte gSpeciesNames _081035C4: ldr r2, _081035FC @ =gUnknown_203ACF0 ldr r0, [r2] @@ -2048,7 +2048,7 @@ _0810360C: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _08103698 @ =gUnknown_8245EE0 + ldr r1, _08103698 @ =gSpeciesNames adds r0, r1 str r0, [r2] adds r0, r5, 0 @@ -2080,7 +2080,7 @@ _08103682: .align 2, 0 _08103690: .4byte gUnknown_203ACF0 _08103694: .4byte gUnknown_8443FC0 -_08103698: .4byte gUnknown_8245EE0 +_08103698: .4byte gSpeciesNames _0810369C: movs r1, 0 mov r8, r1 @@ -2124,7 +2124,7 @@ _081036A4: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _08103738 @ =gUnknown_8245EE0 + ldr r1, _08103738 @ =gSpeciesNames adds r0, r1 str r0, [r2] adds r0, r5, 0 @@ -2156,7 +2156,7 @@ _08103722: .align 2, 0 _08103730: .4byte gUnknown_203ACF0 _08103734: .4byte gUnknown_84448FE -_08103738: .4byte gUnknown_8245EE0 +_08103738: .4byte gSpeciesNames _0810373C: movs r1, 0 mov r8, r1 @@ -2197,7 +2197,7 @@ _08103744: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _081037D0 @ =gUnknown_8245EE0 + ldr r1, _081037D0 @ =gSpeciesNames adds r0, r1 str r0, [r2] adds r0, r5, 0 @@ -2228,7 +2228,7 @@ _081037BA: .align 2, 0 _081037C8: .4byte gUnknown_203ACF0 _081037CC: .4byte gUnknown_84442F6 -_081037D0: .4byte gUnknown_8245EE0 +_081037D0: .4byte gSpeciesNames _081037D4: .4byte 0x00000181 _081037D8: movs r1, 0 @@ -2270,7 +2270,7 @@ _081037E0: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _0810386C @ =gUnknown_8245EE0 + ldr r1, _0810386C @ =gSpeciesNames adds r0, r1 str r0, [r2] adds r0, r5, 0 @@ -2301,7 +2301,7 @@ _08103856: .align 2, 0 _08103864: .4byte gUnknown_203ACF0 _08103868: .4byte gUnknown_84445FA -_0810386C: .4byte gUnknown_8245EE0 +_0810386C: .4byte gSpeciesNames _08103870: .4byte 0x00000181 _08103874: movs r1, 0 @@ -2338,7 +2338,7 @@ _08103878: lsrs r0, 16 movs r1, 0xB muls r0, r1 - ldr r1, _081038CC @ =gUnknown_8245EE0 + ldr r1, _081038CC @ =gSpeciesNames adds r0, r1 str r0, [r2] mov r10, r5 @@ -2346,7 +2346,7 @@ _08103878: b _081038E2 .align 2, 0 _081038C8: .4byte gUnknown_203ACF0 -_081038CC: .4byte gUnknown_8245EE0 +_081038CC: .4byte gSpeciesNames _081038D0: ldr r2, _08103918 @ =gUnknown_203ACF0 ldr r0, [r2] @@ -4988,7 +4988,7 @@ _08104D72: movs r1, 0xB mov r2, r8 muls r2, r1 - ldr r1, _08104E70 @ =gUnknown_8245EE0 + ldr r1, _08104E70 @ =gSpeciesNames adds r2, r1 movs r1, 0xD str r1, [sp] @@ -5038,7 +5038,7 @@ _08104E60: .4byte gUnknown_203ACF0 _08104E64: .4byte gUnknown_84521CC _08104E68: .4byte gUnknown_8452334 _08104E6C: .4byte gUnknown_8440124 -_08104E70: .4byte gUnknown_8245EE0 +_08104E70: .4byte gSpeciesNames _08104E74: .4byte gUnknown_8443600 _08104E78: ldrb r0, [r1] @@ -7091,7 +7091,7 @@ sub_8105E1C: @ 8105E1C ldrh r2, [r1] movs r1, 0xB muls r2, r1 - ldr r1, _08105FE0 @ =gUnknown_8245EE0 + ldr r1, _08105FE0 @ =gSpeciesNames adds r2, r1 str r5, [sp] mov r1, r8 @@ -7189,7 +7189,7 @@ _08105FD0: .4byte gUnknown_84521D4 _08105FD4: .4byte gUnknown_203ACF0 _08105FD8: .4byte gUnknown_84521DC _08105FDC: .4byte gUnknown_84521E4 -_08105FE0: .4byte gUnknown_8245EE0 +_08105FE0: .4byte gSpeciesNames _08105FE4: .4byte gUnknown_8415FAD _08105FE8: .4byte gUnknown_8415FB3 _08105FEC: @@ -7710,7 +7710,7 @@ _08106478: ldr r3, [sp, 0x1C] adds r2, r3, 0 muls r2, r1 - ldr r1, _081066B0 @ =gUnknown_8245EE0 + ldr r1, _081066B0 @ =gSpeciesNames adds r2, r1 movs r1, 0xC str r1, [sp] @@ -7973,7 +7973,7 @@ _08106534: bl SetOamMatrix b _081066E2 .align 2, 0 -_081066B0: .4byte gUnknown_8245EE0 +_081066B0: .4byte gSpeciesNames _081066B4: .4byte gBaseStats _081066B8: .4byte gUnknown_203ACF0 _081066BC: .4byte gUnknown_8452368 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s deleted file mode 100644 index 5a1bd568a..000000000 --- a/asm/pokemon_1.s +++ /dev/null @@ -1,2431 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ZeroBoxMonData -ZeroBoxMonData: @ 803D97C - push {lr} - adds r2, r0, 0 - movs r1, 0 - movs r3, 0 -_0803D984: - adds r0, r2, r1 - strb r3, [r0] - adds r1, 0x1 - cmp r1, 0x4F - bls _0803D984 - pop {r0} - bx r0 - thumb_func_end ZeroBoxMonData - - thumb_func_start ZeroMonData -ZeroMonData: @ 803D994 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl ZeroBoxMonData - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x37 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x38 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3A - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3B - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3C - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3D - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3E - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3F - mov r2, sp - bl sub_804037C - movs r0, 0xFF - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x40 - mov r2, sp - bl sub_804037C - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end ZeroMonData - - thumb_func_start ZeroPlayerPartyMons -ZeroPlayerPartyMons: @ 803DA14 - push {r4,r5,lr} - ldr r4, _0803DA30 @ =gPlayerParty - movs r0, 0xFA - lsls r0, 1 - adds r5, r4, r0 -_0803DA1E: - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - cmp r4, r5 - ble _0803DA1E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803DA30: .4byte gPlayerParty - thumb_func_end ZeroPlayerPartyMons - - thumb_func_start ZeroEnemyPartyMons -ZeroEnemyPartyMons: @ 803DA34 - push {r4,r5,lr} - ldr r4, _0803DA50 @ =gEnemyParty - movs r0, 0xFA - lsls r0, 1 - adds r5, r4, r0 -_0803DA3E: - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - cmp r4, r5 - ble _0803DA3E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803DA50: .4byte gEnemyParty - thumb_func_end ZeroEnemyPartyMons - - thumb_func_start CreateMon -CreateMon: @ 803DA54 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x1C - mov r8, r0 - adds r6, r1, 0 - ldr r4, [sp, 0x34] - ldr r7, [sp, 0x38] - ldr r5, [sp, 0x3C] - lsls r6, 16 - lsrs r6, 16 - add r0, sp, 0x10 - strb r2, [r0] - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r0, r8 - str r3, [sp, 0x18] - bl ZeroMonData - str r4, [sp] - str r7, [sp, 0x4] - str r5, [sp, 0x8] - ldr r0, [sp, 0x40] - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r6, 0 - add r2, sp, 0x10 - ldrb r2, [r2] - ldr r3, [sp, 0x18] - bl CreateBoxMon - mov r0, r8 - movs r1, 0x38 - add r2, sp, 0x10 - bl sub_804037C - movs r0, 0xFF - str r0, [sp, 0x14] - add r2, sp, 0x14 - mov r0, r8 - movs r1, 0x40 - bl sub_804037C - mov r0, r8 - bl CalculateMonStats - add sp, 0x1C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMon - - thumb_func_start CreateBoxMon -CreateBoxMon: @ 803DAC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r7, r0, 0 - ldr r4, [sp, 0x40] - ldr r0, [sp, 0x48] - movs r5, 0xE - add r5, sp - strh r1, [r5] - add r6, sp, 0x10 - strb r2, [r6] - mov r5, sp - adds r5, 0x11 - strb r3, [r5] - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r7, 0 - bl ZeroBoxMonData - cmp r4, 0 - beq _0803DB00 - ldr r0, [sp, 0x44] - str r0, [sp, 0x14] - b _0803DB14 -_0803DB00: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - str r4, [sp, 0x14] -_0803DB14: - add r2, sp, 0x14 - adds r0, r7, 0 - movs r1, 0 - bl sub_80404D0 - add r0, sp, 0x18 - mov r9, r0 - add r5, sp, 0xC - mov r1, r10 - cmp r1, 0x2 - bne _0803DB6C - ldr r2, _0803DB64 @ =0xffff0000 - mov r8, r2 - ldr r6, _0803DB68 @ =0x0000ffff -_0803DB30: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - str r4, [sp, 0x18] - adds r1, r4, 0 - mov r3, r8 - ands r1, r3 - lsrs r1, 16 - ands r4, r6 - eors r1, r4 - ldr r2, [sp, 0x14] - adds r0, r2, 0 - ands r0, r3 - lsrs r0, 16 - eors r1, r0 - ands r2, r6 - eors r1, r2 - cmp r1, 0x7 - bls _0803DB30 - b _0803DB92 - .align 2, 0 -_0803DB64: .4byte 0xffff0000 -_0803DB68: .4byte 0x0000ffff -_0803DB6C: - mov r0, r10 - cmp r0, 0x1 - bne _0803DB78 - ldr r0, [sp, 0x4C] - str r0, [sp, 0x18] - b _0803DB92 -_0803DB78: - ldr r0, _0803DCBC @ =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r1, [r2, 0xA] - ldrb r0, [r2, 0xB] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0xC] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0xD] - lsls r0, 24 - orrs r1, r0 - str r1, [sp, 0x18] -_0803DB92: - adds r0, r7, 0 - movs r1, 0x1 - mov r2, r9 - bl sub_80404D0 - adds r0, r7, 0 - bl CalculateBoxMonChecksum - strh r0, [r5] - adds r0, r7, 0 - movs r1, 0x9 - adds r2, r5, 0 - bl sub_80404D0 - adds r0, r7, 0 - bl EncryptBoxMon - mov r0, sp - ldrh r1, [r0, 0xE] - bl GetSpeciesName - adds r0, r7, 0 - movs r1, 0x2 - mov r2, sp - bl sub_80404D0 - ldr r2, _0803DCC0 @ =gGameLanguage - adds r0, r7, 0 - movs r1, 0x3 - bl sub_80404D0 - ldr r5, _0803DCBC @ =gSaveBlock2Ptr - ldr r2, [r5] - adds r0, r7, 0 - movs r1, 0x7 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0xB - mov r2, sp - adds r2, 0xE - bl sub_80404D0 - ldr r4, _0803DCC4 @ =gBaseStats - mov r2, sp - ldrh r1, [r2, 0xE] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x13] - movs r0, 0xCA - lsls r0, 1 - adds r2, r1, 0 - muls r2, r0 - mov r3, sp - ldrb r0, [r3, 0x10] - lsls r0, 2 - ldr r1, _0803DCC8 @ =gUnknown_8253AE4 - adds r0, r1 - adds r2, r0 - adds r0, r7, 0 - movs r1, 0x19 - bl sub_80404D0 - mov r1, sp - ldrh r0, [r1, 0xE] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r4, 0x12 - adds r2, r4 - adds r0, r7, 0 - movs r1, 0x20 - bl sub_80404D0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - adds r0, r7, 0 - movs r1, 0x23 - mov r2, r9 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x24 - add r2, sp, 0x10 - bl sub_80404D0 - ldr r2, _0803DCCC @ =gGameVersion - adds r0, r7, 0 - movs r1, 0x25 - bl sub_80404D0 - movs r0, 0x4 - str r0, [sp, 0x18] - adds r0, r7, 0 - movs r1, 0x26 - mov r2, r9 - bl sub_80404D0 - ldr r2, [r5] - adds r2, 0x8 - adds r0, r7, 0 - movs r1, 0x31 - bl sub_80404D0 - mov r2, sp - ldrb r0, [r2, 0x11] - cmp r0, 0x1F - bhi _0803DCD0 - adds r0, r7, 0 - movs r1, 0x27 - adds r2, 0x11 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x28 - mov r2, sp - adds r2, 0x11 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x29 - mov r2, sp - adds r2, 0x11 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x2A - mov r2, sp - adds r2, 0x11 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x2B - mov r2, sp - adds r2, 0x11 - bl sub_80404D0 - adds r0, r7, 0 - movs r1, 0x2C - mov r2, sp - adds r2, 0x11 - bl sub_80404D0 - b _0803DD58 - .align 2, 0 -_0803DCBC: .4byte gSaveBlock2Ptr -_0803DCC0: .4byte gGameLanguage -_0803DCC4: .4byte gBaseStats -_0803DCC8: .4byte gUnknown_8253AE4 -_0803DCCC: .4byte gGameVersion -_0803DCD0: - bl Random - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] - movs r3, 0x1F - mov r8, r3 - ands r0, r3 - str r0, [sp, 0x1C] - add r4, sp, 0x1C - adds r0, r7, 0 - movs r1, 0x27 - adds r2, r4, 0 - bl sub_80404D0 - ldr r0, [sp, 0x18] - movs r6, 0xF8 - lsls r6, 2 - ands r0, r6 - lsrs r0, 5 - str r0, [sp, 0x1C] - adds r0, r7, 0 - movs r1, 0x28 - adds r2, r4, 0 - bl sub_80404D0 - ldr r0, [sp, 0x18] - movs r5, 0xF8 - lsls r5, 7 - ands r0, r5 - lsrs r0, 10 - str r0, [sp, 0x1C] - adds r0, r7, 0 - movs r1, 0x29 - adds r2, r4, 0 - bl sub_80404D0 - bl Random - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] - mov r1, r8 - ands r0, r1 - str r0, [sp, 0x1C] - adds r0, r7, 0 - movs r1, 0x2A - adds r2, r4, 0 - bl sub_80404D0 - ldr r0, [sp, 0x18] - ands r0, r6 - lsrs r0, 5 - str r0, [sp, 0x1C] - adds r0, r7, 0 - movs r1, 0x2B - adds r2, r4, 0 - bl sub_80404D0 - ldr r0, [sp, 0x18] - ands r0, r5 - lsrs r0, 10 - str r0, [sp, 0x1C] - adds r0, r7, 0 - movs r1, 0x2C - adds r2, r4, 0 - bl sub_80404D0 -_0803DD58: - ldr r2, _0803DD94 @ =gBaseStats - mov r3, sp - ldrh r1, [r3, 0xE] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x17] - cmp r0, 0 - beq _0803DD7E - ldr r0, [sp, 0x14] - movs r1, 0x1 - ands r0, r1 - str r0, [sp, 0x18] - adds r0, r7, 0 - movs r1, 0x2E - mov r2, r9 - bl sub_80404D0 -_0803DD7E: - adds r0, r7, 0 - bl GiveBoxMonInitialMoveset - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803DD94: .4byte gBaseStats - thumb_func_end CreateBoxMon - - thumb_func_start CreateMonWithNature -CreateMonWithNature: @ 803DD98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r9, r0 - ldr r0, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r0, 24 - lsrs r5, r0, 24 -_0803DDB8: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _0803DDB8 - movs r0, 0x1 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r9 - mov r1, r8 - adds r2, r7, 0 - adds r3, r6, 0 - bl CreateMon - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMonWithNature - - thumb_func_start CreateMonWithGenderNatureLetter -CreateMonWithGenderNatureLetter: @ 803DE00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - str r0, [sp, 0x10] - ldr r4, [sp, 0x38] - ldr r5, [sp, 0x3C] - ldr r0, [sp, 0x40] - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x14] - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r4, 24 - lsrs r4, 24 - mov r8, r4 - lsls r5, 24 - lsrs r6, r5, 24 - lsls r0, 24 - lsrs r1, r0, 24 - mov r9, r1 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1B - bhi _0803DEA6 -_0803DE40: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - movs r0, 0xC0 - lsls r0, 18 - ands r0, r4 - lsrs r0, 18 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r4 - lsrs r1, 12 - orrs r0, r1 - movs r1, 0xC0 - lsls r1, 2 - ands r1, r4 - lsrs r1, 6 - orrs r0, r1 - movs r1, 0x3 - ands r1, r4 - orrs r0, r1 - movs r1, 0x1C - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0803DE40 - adds r0, r7, 0 - adds r1, r4, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bne _0803DE40 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - bne _0803DE40 - b _0803DED6 -_0803DEA6: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r6, r0 - bne _0803DEA6 - adds r0, r7, 0 - adds r1, r4, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r8, r0 - bne _0803DEA6 -_0803DED6: - movs r0, 0x1 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - ldr r0, [sp, 0x10] - adds r1, r7, 0 - ldr r2, [sp, 0x14] - mov r3, r10 - bl CreateMon - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMonWithGenderNatureLetter - - thumb_func_start CreateMaleMon -CreateMaleMon: @ 803DF00 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - mov r8, r0 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r7, r2, 24 -_0803DF12: - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r5, r4, 16 - lsls r0, 16 - orrs r5, r0 - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsrs r4, 16 - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r1, r4, 0 - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - cmp r0, 0 - bne _0803DF12 - movs r0, 0x1 - str r0, [sp] - str r4, [sp, 0x4] - str r0, [sp, 0x8] - str r5, [sp, 0xC] - mov r0, r8 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x20 - bl CreateMon - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMaleMon - - thumb_func_start CreateMonWithIVsPersonality -CreateMonWithIVsPersonality: @ 803DF68 - push {r4,lr} - sub sp, 0x14 - adds r4, r0, 0 - str r3, [sp, 0x10] - ldr r3, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0x1 - str r0, [sp] - str r3, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r4, 0 - movs r3, 0 - bl CreateMon - adds r0, r4, 0 - movs r1, 0x42 - add r2, sp, 0x10 - bl sub_804037C - adds r0, r4, 0 - bl CalculateMonStats - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - thumb_func_end CreateMonWithIVsPersonality - - thumb_func_start CreateMonWithIVsOTID -CreateMonWithIVsOTID: @ 803DFA8 - push {r4,r5,lr} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r3, 0 - ldr r3, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - str r3, [sp, 0xC] - adds r0, r5, 0 - movs r3, 0 - bl CreateMon - adds r0, r5, 0 - movs r1, 0x27 - adds r2, r4, 0 - bl sub_804037C - adds r2, r4, 0x1 - adds r0, r5, 0 - movs r1, 0x28 - bl sub_804037C - adds r2, r4, 0x2 - adds r0, r5, 0 - movs r1, 0x29 - bl sub_804037C - adds r2, r4, 0x3 - adds r0, r5, 0 - movs r1, 0x2A - bl sub_804037C - adds r2, r4, 0x4 - adds r0, r5, 0 - movs r1, 0x2B - bl sub_804037C - adds r4, 0x5 - adds r0, r5, 0 - movs r1, 0x2C - adds r2, r4, 0 - bl sub_804037C - adds r0, r5, 0 - bl CalculateMonStats - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end CreateMonWithIVsOTID - - thumb_func_start CreateMonWithEVSpread -CreateMonWithEVSpread: @ 803E01C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r7, r0, 0 - ldr r0, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 - str r6, [sp] - str r6, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - adds r0, r7, 0 - bl CreateMon - mov r4, r8 - movs r1, 0x1 - movs r5, 0x5 -_0803E050: - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0803E05A - adds r6, 0x1 -_0803E05A: - lsrs r4, 1 - subs r5, 0x1 - cmp r5, 0 - bge _0803E050 - movs r0, 0xFF - lsls r0, 1 - adds r1, r6, 0 - bl __divsi3 - add r1, sp, 0x10 - strh r0, [r1] - movs r4, 0x1 - movs r5, 0 -_0803E074: - mov r0, r8 - ands r0, r4 - cmp r0, 0 - beq _0803E088 - adds r1, r5, 0 - adds r1, 0x1A - adds r0, r7, 0 - add r2, sp, 0x10 - bl sub_804037C -_0803E088: - lsls r0, r4, 25 - lsrs r4, r0, 24 - adds r5, 0x1 - cmp r5, 0x5 - ble _0803E074 - adds r0, r7, 0 - bl CalculateMonStats - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMonWithEVSpread - - thumb_func_start sub_803E0A4 -sub_803E0A4: @ 803E0A4 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - adds r6, r1, 0 - ldrh r1, [r6] - ldrb r2, [r6, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r6, 0x1C] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r6, 0x14] - str r0, [sp, 0xC] - adds r0, r7, 0 - movs r3, 0 - bl CreateMon - movs r5, 0 - adds r4, r6, 0x4 -_0803E0CA: - 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 _0803E0CA - adds r2, r6, 0 - adds r2, 0xD - adds r0, r7, 0 - movs r1, 0x15 - bl sub_804037C - adds r2, r6, 0x2 - adds r0, r7, 0 - movs r1, 0xC - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x20 - adds r0, r7, 0 - movs r1, 0x2 - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x2B - adds r0, r7, 0 - movs r1, 0x20 - bl sub_804037C - adds r2, r6, 0 - adds r2, 0xE - adds r0, r7, 0 - movs r1, 0x1A - bl sub_804037C - adds r2, r6, 0 - adds r2, 0xF - adds r0, r7, 0 - movs r1, 0x1B - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x10 - adds r0, r7, 0 - movs r1, 0x1C - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x11 - adds r0, r7, 0 - movs r1, 0x1D - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x12 - adds r0, r7, 0 - movs r1, 0x1E - bl sub_804037C - adds r2, r6, 0 - adds r2, 0x13 - adds r0, r7, 0 - movs r1, 0x1F - bl sub_804037C - ldrb r0, [r6, 0x1B] - lsrs r0, 7 - add r1, sp, 0x10 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldrb r0, [r6, 0x18] - lsls r0, 27 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x27 - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldrh r0, [r6, 0x18] - lsls r0, 22 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x28 - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldrb r0, [r6, 0x19] - lsls r0, 25 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x29 - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldr r0, [r6, 0x18] - lsls r0, 12 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2A - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldrh r0, [r6, 0x1A] - lsls r0, 23 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2B - add r2, sp, 0x10 - bl sub_804037C - add r1, sp, 0x10 - ldrb r0, [r6, 0x1B] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x2C - add r2, sp, 0x10 - bl sub_804037C - adds r0, r7, 0 - bl CalculateMonStats - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803E0A4 - - thumb_func_start sub_803E1EC -sub_803E1EC: @ 803E1EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - mov r8, r0 - ldr r4, [sp, 0x2C] - ldr r6, [sp, 0x30] - ldr r5, [sp, 0x34] - ldr r7, [sp, 0x38] - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x1 - str r0, [sp, 0x10] - str r4, [sp] - str r6, [sp, 0x4] - str r5, [sp, 0x8] - str r7, [sp, 0xC] - mov r0, r8 - bl CreateMon - mov r0, r8 - movs r1, 0x50 - add r2, sp, 0x10 - bl sub_804037C - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_803E1EC - - thumb_func_start sub_803E23C -sub_803E23C: @ 803E23C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r6, r1, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - strh r0, [r6] - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803E266 - movs r0, 0 -_0803E266: - strh r0, [r6, 0x2] - movs r5, 0 - movs r0, 0x2B - adds r0, r6 - mov r8, r0 - movs r1, 0x20 - adds r1, r6 - mov r9, r1 - adds r4, r6, 0x4 -_0803E278: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r7, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _0803E278 - adds r0, r7, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - strb r0, [r6, 0xC] - adds r0, r7, 0 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - strb r0, [r6, 0xD] - adds r0, r7, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - str r0, [r6, 0x14] - adds r0, r7, 0 - movs r1, 0x1A - movs r2, 0 - bl GetMonData - strb r0, [r6, 0xE] - adds r0, r7, 0 - movs r1, 0x1B - movs r2, 0 - bl GetMonData - strb r0, [r6, 0xF] - adds r0, r7, 0 - movs r1, 0x1C - movs r2, 0 - bl GetMonData - strb r0, [r6, 0x10] - adds r0, r7, 0 - movs r1, 0x1D - movs r2, 0 - bl GetMonData - strb r0, [r6, 0x11] - adds r0, r7, 0 - movs r1, 0x1E - movs r2, 0 - bl GetMonData - strb r0, [r6, 0x12] - adds r0, r7, 0 - movs r1, 0x1F - movs r2, 0 - bl GetMonData - strb r0, [r6, 0x13] - adds r0, r7, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - mov r1, r8 - strb r0, [r1] - adds r0, r7, 0 - movs r1, 0x27 - movs r2, 0 - bl GetMonData - movs r4, 0x1F - ands r0, r4 - ldrb r2, [r6, 0x18] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x18] - adds r0, r7, 0 - movs r1, 0x28 - movs r2, 0 - bl GetMonData - movs r5, 0x1F - ands r0, r5 - lsls r0, 5 - ldrh r2, [r6, 0x18] - ldr r1, _0803E3DC @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r6, 0x18] - adds r0, r7, 0 - movs r1, 0x29 - movs r2, 0 - bl GetMonData - ands r0, r4 - lsls r0, 2 - ldrb r2, [r6, 0x19] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x19] - adds r0, r7, 0 - movs r1, 0x2A - movs r2, 0 - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [r6, 0x18] - ldr r2, _0803E3E0 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [r6, 0x18] - adds r0, r7, 0 - movs r1, 0x2B - movs r2, 0 - bl GetMonData - ands r0, r5 - lsls r0, 4 - ldrh r2, [r6, 0x1A] - ldr r1, _0803E3E4 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r6, 0x1A] - adds r0, r7, 0 - movs r1, 0x2C - movs r2, 0 - bl GetMonData - ands r0, r4 - lsls r0, 1 - ldrb r2, [r6, 0x1B] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x1B] - adds r0, r7, 0 - movs r1, 0x2E - movs r2, 0 - bl GetMonData - lsls r0, 7 - ldrb r2, [r6, 0x1B] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r6, 0x1B] - adds r0, r7, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - str r0, [r6, 0x1C] - adds r0, r7, 0 - movs r1, 0x2 - mov r2, r9 - bl GetMonData - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803E3DC: .4byte 0xfffffc1f -_0803E3E0: .4byte 0xfff07fff -_0803E3E4: .4byte 0xfffffe0f - thumb_func_end sub_803E23C - - thumb_func_start CalculateBoxMonChecksum -CalculateBoxMonChecksum: @ 803E3E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - movs r6, 0 - ldr r1, [r4] - movs r2, 0 - bl GetSubstruct - adds r5, r0, 0 - ldr r1, [r4] - adds r0, r4, 0 - movs r2, 0x1 - bl GetSubstruct - adds r7, r0, 0 - ldr r1, [r4] - adds r0, r4, 0 - movs r2, 0x2 - bl GetSubstruct - mov r8, r0 - ldr r1, [r4] - adds r0, r4, 0 - movs r2, 0x3 - bl GetSubstruct - adds r3, r0, 0 - movs r1, 0x5 -_0803E422: - ldrh r0, [r5] - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r5, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0803E422 - adds r2, r7, 0 - movs r1, 0x5 -_0803E436: - ldrh r0, [r2] - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0803E436 - mov r2, r8 - movs r1, 0x5 -_0803E44A: - ldrh r0, [r2] - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0803E44A - adds r2, r3, 0 - movs r1, 0x5 -_0803E45E: - ldrh r0, [r2] - adds r0, r6, r0 - lsls r0, 16 - lsrs r6, r0, 16 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0803E45E - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CalculateBoxMonChecksum - - thumb_func_start CalculateMonStats -CalculateMonStats: @ 803E47C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x40 - adds r5, r0, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - mov r8, r0 - adds r0, r5, 0 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - str r0, [sp, 0x1C] - adds r0, r5, 0 - movs r1, 0x27 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0x1A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r5, 0 - movs r1, 0x28 - movs r2, 0 - bl GetMonData - mov r10, r0 - adds r0, r5, 0 - movs r1, 0x1B - movs r2, 0 - bl GetMonData - mov r9, r0 - adds r0, r5, 0 - movs r1, 0x29 - movs r2, 0 - bl GetMonData - str r0, [sp, 0x20] - adds r0, r5, 0 - movs r1, 0x1C - movs r2, 0 - bl GetMonData - str r0, [sp, 0x24] - adds r0, r5, 0 - movs r1, 0x2A - movs r2, 0 - bl GetMonData - str r0, [sp, 0x28] - adds r0, r5, 0 - movs r1, 0x1D - movs r2, 0 - bl GetMonData - str r0, [sp, 0x2C] - adds r0, r5, 0 - movs r1, 0x2B - movs r2, 0 - bl GetMonData - str r0, [sp, 0x30] - adds r0, r5, 0 - movs r1, 0x1E - movs r2, 0 - bl GetMonData - str r0, [sp, 0x34] - adds r0, r5, 0 - movs r1, 0x2C - movs r2, 0 - bl GetMonData - str r0, [sp, 0x38] - adds r0, r5, 0 - movs r1, 0x1F - movs r2, 0 - bl GetMonData - str r0, [sp, 0x3C] - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r5, 0 - bl GetLevelFromMonExp - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0x38 - mov r2, sp - bl sub_804037C - ldr r0, _0803E564 @ =0x0000012f - cmp r7, r0 - bne _0803E568 - movs r0, 0x1 - str r0, [sp, 0x4] - lsls r6, r7, 3 - b _0803E596 - .align 2, 0 -_0803E564: .4byte 0x0000012f -_0803E568: - ldr r1, _0803E734 @ =gBaseStats - lsls r2, r7, 3 - subs r0, r2, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 1 - adds r1, r0, r6 - adds r0, r4, 0 - adds r6, r2, 0 - cmp r0, 0 - bge _0803E582 - adds r0, 0x3 -_0803E582: - asrs r0, 2 - adds r0, r1, r0 - ldr r4, [sp] - muls r0, r4 - movs r1, 0x64 - bl __divsi3 - adds r0, r4 - adds r0, 0xA - str r0, [sp, 0x4] -_0803E596: - ldr r1, _0803E738 @ =gBattleScripting - add r2, sp, 0x4 - ldrb r0, [r2] - mov r3, r8 - subs r0, r3 - adds r1, 0x23 - strb r0, [r1] - lsls r0, 24 - cmp r0, 0 - bne _0803E5AE - movs r0, 0x1 - strb r0, [r1] -_0803E5AE: - adds r0, r5, 0 - movs r1, 0x3A - bl sub_804037C - ldr r0, _0803E734 @ =gBaseStats - subs r1, r6, r7 - lsls r1, 2 - adds r6, r1, r0 - ldrb r0, [r6, 0x1] - lsls r0, 1 - mov r2, r10 - adds r1, r0, r2 - mov r0, r9 - cmp r0, 0 - bge _0803E5CE - adds r0, 0x3 -_0803E5CE: - asrs r0, 2 - adds r0, r1, r0 - ldr r1, [sp] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, 0x5 - str r0, [sp, 0x8] - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - add r4, sp, 0x8 - ldrh r1, [r4] - movs r2, 0x1 - bl nature_stat_mod - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r1, 0x3B - adds r2, r4, 0 - bl sub_804037C - ldrb r0, [r6, 0x2] - lsls r0, 1 - ldr r3, [sp, 0x20] - adds r1, r0, r3 - ldr r0, [sp, 0x24] - cmp r0, 0 - bge _0803E614 - adds r0, 0x3 -_0803E614: - asrs r0, 2 - adds r0, r1, r0 - ldr r1, [sp] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, 0x5 - str r0, [sp, 0xC] - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - add r4, sp, 0xC - ldrh r1, [r4] - movs r2, 0x2 - bl nature_stat_mod - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0x3C - adds r2, r4, 0 - bl sub_804037C - ldrb r0, [r6, 0x3] - lsls r0, 1 - ldr r2, [sp, 0x28] - adds r1, r0, r2 - ldr r0, [sp, 0x2C] - cmp r0, 0 - bge _0803E65A - adds r0, 0x3 -_0803E65A: - asrs r0, 2 - adds r0, r1, r0 - ldr r1, [sp] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, 0x5 - str r0, [sp, 0x10] - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - add r4, sp, 0x10 - ldrh r1, [r4] - movs r2, 0x3 - bl nature_stat_mod - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x3D - adds r2, r4, 0 - bl sub_804037C - ldrb r0, [r6, 0x4] - lsls r0, 1 - ldr r3, [sp, 0x30] - adds r1, r0, r3 - ldr r0, [sp, 0x34] - cmp r0, 0 - bge _0803E6A0 - adds r0, 0x3 -_0803E6A0: - asrs r0, 2 - adds r0, r1, r0 - ldr r1, [sp] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, 0x5 - str r0, [sp, 0x14] - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - add r4, sp, 0x14 - ldrh r1, [r4] - movs r2, 0x4 - bl nature_stat_mod - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] - adds r0, r5, 0 - movs r1, 0x3E - adds r2, r4, 0 - bl sub_804037C - ldrb r0, [r6, 0x5] - lsls r0, 1 - ldr r2, [sp, 0x38] - adds r1, r0, r2 - ldr r0, [sp, 0x3C] - cmp r0, 0 - bge _0803E6E6 - adds r0, 0x3 -_0803E6E6: - asrs r0, 2 - adds r0, r1, r0 - ldr r1, [sp] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, 0x5 - str r0, [sp, 0x18] - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - add r4, sp, 0x18 - ldrh r1, [r4] - movs r2, 0x5 - bl nature_stat_mod - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] - adds r0, r5, 0 - movs r1, 0x3F - adds r2, r4, 0 - bl sub_804037C - ldr r0, _0803E73C @ =0x0000012f - cmp r7, r0 - bne _0803E740 - ldr r0, [sp, 0x1C] - cmp r0, 0 - bne _0803E72E - mov r3, r8 - cmp r3, 0 - bne _0803E764 -_0803E72E: - movs r0, 0x1 - b _0803E758 - .align 2, 0 -_0803E734: .4byte gBaseStats -_0803E738: .4byte gBattleScripting -_0803E73C: .4byte 0x0000012f -_0803E740: - ldr r1, [sp, 0x1C] - cmp r1, 0 - bne _0803E750 - mov r0, r8 - cmp r0, 0 - bne _0803E764 - ldr r0, [sp, 0x4] - b _0803E758 -_0803E750: - ldr r0, [sp, 0x4] - mov r2, r8 - subs r0, r2 - adds r0, r1, r0 -_0803E758: - str r0, [sp, 0x1C] - add r2, sp, 0x1C - adds r0, r5, 0 - movs r1, 0x39 - bl sub_804037C -_0803E764: - add sp, 0x40 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CalculateMonStats - - thumb_func_start BoxMonToMon -BoxMonToMon: @ 803E774 - push {r4,lr} - sub sp, 0x4 - adds r2, r0, 0 - adds r4, r1, 0 - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - adds r1, r2, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - movs r1, 0x37 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - movs r1, 0x3A - mov r2, sp - bl sub_804037C - movs r0, 0xFF - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x40 - mov r2, sp - bl sub_804037C - adds r0, r4, 0 - bl CalculateMonStats - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end BoxMonToMon - - thumb_func_start GetLevelFromMonExp -GetLevelFromMonExp: @ 803E7C4 - push {r4-r6,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, 0x19 - movs r2, 0 - bl GetMonData - adds r3, r0, 0 - movs r2, 0x1 - ldr r6, _0803E828 @ =gUnknown_8253AE4 - ldr r1, _0803E82C @ =gBaseStats - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x13] - movs r5, 0xCA - lsls r5, 1 - muls r0, r5 - adds r0, 0x4 - adds r0, r6 - ldr r0, [r0] - cmp r0, r3 - bhi _0803E81A - adds r4, r1, 0 -_0803E804: - adds r2, 0x1 - cmp r2, 0x64 - bgt _0803E81A - lsls r1, r2, 2 - ldrb r0, [r4, 0x13] - muls r0, r5 - adds r1, r0 - adds r1, r6 - ldr r0, [r1] - cmp r0, r3 - bls _0803E804 -_0803E81A: - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0803E828: .4byte gUnknown_8253AE4 -_0803E82C: .4byte gBaseStats - thumb_func_end GetLevelFromMonExp - - thumb_func_start GetLevelFromBoxMonExp -GetLevelFromBoxMonExp: @ 803E830 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x19 - movs r2, 0 - bl GetBoxMonData - adds r3, r0, 0 - movs r2, 0x1 - ldr r6, _0803E894 @ =gUnknown_8253AE4 - ldr r1, _0803E898 @ =gBaseStats - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r1, r0, r1 - ldrb r0, [r1, 0x13] - movs r5, 0xCA - lsls r5, 1 - muls r0, r5 - adds r0, 0x4 - adds r0, r6 - ldr r0, [r0] - cmp r0, r3 - bhi _0803E886 - adds r4, r1, 0 -_0803E870: - adds r2, 0x1 - cmp r2, 0x64 - bgt _0803E886 - lsls r1, r2, 2 - ldrb r0, [r4, 0x13] - muls r0, r5 - adds r1, r0 - adds r1, r6 - ldr r0, [r1] - cmp r0, r3 - bls _0803E870 -_0803E886: - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0803E894: .4byte gUnknown_8253AE4 -_0803E898: .4byte gBaseStats - thumb_func_end GetLevelFromBoxMonExp - - thumb_func_start GiveMoveToMon -GiveMoveToMon: @ 803E89C - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl GiveMoveToBoxMon - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GiveMoveToMon - - thumb_func_start GiveMoveToBoxMon -GiveMoveToBoxMon: @ 803E8B0 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - mov r0, sp - strh r1, [r0] - movs r5, 0 - mov r6, sp -_0803E8BE: - adds r4, r5, 0 - adds r4, 0xD - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803E8FC - adds r0, r7, 0 - adds r1, r4, 0 - mov r2, sp - bl sub_80404D0 - adds r1, r5, 0 - adds r1, 0x11 - ldrh r0, [r6] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, _0803E8F8 @ =gUnknown_8250C08 - adds r2, r0 - adds r0, r7, 0 - bl sub_80404D0 - ldrh r0, [r6] - b _0803E914 - .align 2, 0 -_0803E8F8: .4byte gUnknown_8250C08 -_0803E8FC: - ldrh r1, [r6] - cmp r0, r1 - bne _0803E90C - ldr r0, _0803E908 @ =0x0000fffe - b _0803E914 - .align 2, 0 -_0803E908: .4byte 0x0000fffe -_0803E90C: - adds r5, 0x1 - cmp r5, 0x3 - ble _0803E8BE - ldr r0, _0803E91C @ =0x0000ffff -_0803E914: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803E91C: .4byte 0x0000ffff - thumb_func_end GiveMoveToBoxMon - - thumb_func_start GiveMoveToBattleMon -GiveMoveToBattleMon: @ 803E920 - push {r4,r5,lr} - lsls r1, 16 - lsrs r4, r1, 16 - movs r3, 0 - adds r5, r0, 0 - adds r5, 0x24 - ldr r2, _0803E94C @ =gBattleMoves - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - adds r2, r1, r2 - adds r1, r0, 0 - adds r1, 0xC -_0803E93A: - ldrh r0, [r1] - cmp r0, 0 - bne _0803E950 - strh r4, [r1] - adds r1, r5, r3 - ldrb r0, [r2, 0x4] - strb r0, [r1] - adds r0, r4, 0 - b _0803E95A - .align 2, 0 -_0803E94C: .4byte gBattleMoves -_0803E950: - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _0803E93A - ldr r0, _0803E960 @ =0x0000ffff -_0803E95A: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803E960: .4byte 0x0000ffff - thumb_func_end GiveMoveToBattleMon - - thumb_func_start SetMonMoveSlot -SetMonMoveSlot: @ 803E964 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r2, 0 - mov r0, sp - strh r1, [r0] - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - adds r1, 0xD - adds r0, r5, 0 - mov r2, sp - bl sub_804037C - adds r4, 0x11 - mov r0, sp - ldrh r0, [r0] - lsls r2, r0, 1 - adds r2, r0 - lsls r2, 2 - ldr r0, _0803E9A0 @ =gUnknown_8250C08 - adds r2, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_804037C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803E9A0: .4byte gUnknown_8250C08 - thumb_func_end SetMonMoveSlot - - thumb_func_start SetBattleMonMoveSlot -SetBattleMonMoveSlot: @ 803E9A4 - push {r4,lr} - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r4, r2, 1 - adds r3, r0, 0 - adds r3, 0xC - adds r3, r4 - strh r1, [r3] - adds r0, 0x24 - adds r0, r2 - ldr r3, _0803E9D0 @ =gBattleMoves - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 2 - adds r2, r3 - ldrb r1, [r2, 0x4] - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803E9D0: .4byte gBattleMoves - thumb_func_end SetBattleMonMoveSlot - - thumb_func_start GiveMonInitialMoveset -GiveMonInitialMoveset: @ 803E9D4 - push {lr} - bl GiveBoxMonInitialMoveset - pop {r0} - bx r0 - thumb_func_end GiveMonInitialMoveset - - thumb_func_start GiveBoxMonInitialMoveset -GiveBoxMonInitialMoveset: @ 803E9E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _0803EA7C @ =gUnknown_825D7B4 - lsls r6, r4, 2 - adds r0, r6, r0 - ldr r0, [r0] - ldrh r1, [r0] - ldr r2, _0803EA80 @ =0xffff0000 - lsrs r0, r2, 16 - cmp r1, r0 - beq _0803EA6C - mov r9, r2 - movs r3, 0 -_0803EA1E: - ldr r0, _0803EA7C @ =gUnknown_825D7B4 - adds r7, r6, r0 - ldr r0, [r7] - adds r0, r3, r0 - ldrh r2, [r0] - movs r1, 0xFE - lsls r1, 8 - adds r0, r1, 0 - ands r0, r2 - mov r4, r10 - lsls r1, r4, 9 - cmp r0, r1 - bgt _0803EA6C - ldr r1, _0803EA84 @ =0x000001ff - adds r0, r1, 0 - adds r4, r0, 0 - ands r4, r2 - mov r0, r8 - adds r1, r4, 0 - str r3, [sp] - bl GiveMoveToBoxMon - lsls r0, 16 - mov r1, r9 - lsrs r5, r1, 16 - ldr r3, [sp] - cmp r0, r9 - bne _0803EA60 - mov r0, r8 - adds r1, r4, 0 - bl DeleteFirstMoveAndGiveMoveToBoxMon - ldr r3, [sp] -_0803EA60: - adds r3, 0x2 - ldr r0, [r7] - adds r0, r3, r0 - ldrh r0, [r0] - cmp r0, r5 - bne _0803EA1E -_0803EA6C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803EA7C: .4byte gUnknown_825D7B4 -_0803EA80: .4byte 0xffff0000 -_0803EA84: .4byte 0x000001ff - thumb_func_end GiveBoxMonInitialMoveset - - thumb_func_start MonTryLearningNewMove -MonTryLearningNewMove: @ 803EA88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r8, r0 - lsls r4, r1, 24 - lsrs r4, 24 - movs r0, 0 - str r0, [sp] - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - cmp r4, 0 - beq _0803EB20 - ldr r4, _0803EB0C @ =gUnknown_2024028 - mov r1, sp - ldrb r1, [r1] - strb r1, [r4] - ldr r2, _0803EB10 @ =gUnknown_825D7B4 - mov r5, r9 - lsls r3, r5, 2 - adds r5, r3, r2 - ldr r0, [r5] - ldrh r1, [r0] - movs r7, 0xFE - lsls r7, 8 - adds r0, r7, 0 - ands r0, r1 - adds r6, r4, 0 - mov r12, r2 - mov r1, r10 - lsls r4, r1, 9 - cmp r0, r4 - beq _0803EB48 - adds r2, r6, 0 - ldr r0, _0803EB14 @ =0x0000ffff - mov r12, r0 - adds r6, r7, 0 - adds r3, r5, 0 -_0803EAF4: - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] - ldrb r0, [r2] - ldr r1, [r3] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, r12 - bne _0803EB18 - movs r0, 0 - b _0803EB74 - .align 2, 0 -_0803EB0C: .4byte gUnknown_2024028 -_0803EB10: .4byte gUnknown_825D7B4 -_0803EB14: .4byte 0x0000ffff -_0803EB18: - adds r0, r6, 0 - ands r0, r1 - cmp r0, r4 - bne _0803EAF4 -_0803EB20: - ldr r3, _0803EB84 @ =gUnknown_825D7B4 - mov r1, r9 - lsls r4, r1, 2 - adds r1, r4, r3 - ldr r2, _0803EB88 @ =gUnknown_2024028 - ldrb r0, [r2] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - mov r5, r10 - lsls r1, r5, 9 - adds r6, r2, 0 - mov r12, r3 - adds r3, r4, 0 - cmp r0, r1 - bne _0803EB72 -_0803EB48: - ldr r2, _0803EB8C @ =gUnknown_2024022 - mov r0, r12 - adds r1, r3, r0 - ldrb r0, [r6] - ldr r1, [r1] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, _0803EB90 @ =0x000001ff - ands r0, r1 - strh r0, [r2] - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - ldrh r1, [r2] - mov r0, r8 - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] -_0803EB72: - ldr r0, [sp] -_0803EB74: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803EB84: .4byte gUnknown_825D7B4 -_0803EB88: .4byte gUnknown_2024028 -_0803EB8C: .4byte gUnknown_2024022 -_0803EB90: .4byte 0x000001ff - thumb_func_end MonTryLearningNewMove - - thumb_func_start DeleteFirstMoveAndGiveMoveToMon -DeleteFirstMoveAndGiveMoveToMon: @ 803EB94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r4, 0 - add r7, sp, 0x8 - add r0, sp, 0xC - mov r9, r0 - mov r5, sp -_0803EBB0: - adds r1, r4, 0 - adds r1, 0xE - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r5] - adds r1, r4, 0 - adds r1, 0x12 - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - adds r1, r7, r4 - strb r0, [r1] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _0803EBB0 - adds r0, r6, 0 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - mov r1, r9 - strb r0, [r1] - ldrb r0, [r1] - lsrs r0, 2 - strb r0, [r1] - mov r0, sp - mov r2, r8 - strh r2, [r0, 0x6] - ldr r1, _0803EC3C @ =gBattleMoves - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - strb r0, [r7, 0x3] - movs r4, 0 - mov r5, sp -_0803EC04: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r6, 0 - adds r2, r5, 0 - bl sub_804037C - adds r1, r4, 0 - adds r1, 0x11 - adds r2, r7, r4 - adds r0, r6, 0 - bl sub_804037C - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0803EC04 - adds r0, r6, 0 - movs r1, 0x15 - mov r2, r9 - bl sub_804037C - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803EC3C: .4byte gBattleMoves - thumb_func_end DeleteFirstMoveAndGiveMoveToMon - - thumb_func_start DeleteFirstMoveAndGiveMoveToBoxMon -DeleteFirstMoveAndGiveMoveToBoxMon: @ 803EC40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r4, 0 - add r7, sp, 0x8 - add r0, sp, 0xC - mov r9, r0 - mov r5, sp -_0803EC5C: - adds r1, r4, 0 - adds r1, 0xE - adds r0, r6, 0 - movs r2, 0 - bl GetBoxMonData - strh r0, [r5] - adds r1, r4, 0 - adds r1, 0x12 - adds r0, r6, 0 - movs r2, 0 - bl GetBoxMonData - adds r1, r7, r4 - strb r0, [r1] - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - ble _0803EC5C - adds r0, r6, 0 - movs r1, 0x15 - movs r2, 0 - bl GetBoxMonData - mov r1, r9 - strb r0, [r1] - ldrb r0, [r1] - lsrs r0, 2 - strb r0, [r1] - mov r0, sp - mov r2, r8 - strh r2, [r0, 0x6] - ldr r1, _0803ECE8 @ =gBattleMoves - mov r2, r8 - lsls r0, r2, 1 - add r0, r8 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x4] - strb r0, [r7, 0x3] - movs r4, 0 - mov r5, sp -_0803ECB0: - adds r1, r4, 0 - adds r1, 0xD - adds r0, r6, 0 - adds r2, r5, 0 - bl sub_80404D0 - adds r1, r4, 0 - adds r1, 0x11 - adds r2, r7, r4 - adds r0, r6, 0 - bl sub_80404D0 - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _0803ECB0 - adds r0, r6, 0 - movs r1, 0x15 - mov r2, r9 - bl sub_80404D0 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803ECE8: .4byte gBattleMoves - thumb_func_end DeleteFirstMoveAndGiveMoveToBoxMon - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s deleted file mode 100644 index 22246bf87..000000000 --- a/asm/pokemon_2.s +++ /dev/null @@ -1,3902 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_803F5B4 -sub_803F5B4: @ 803F5B4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - movs r6, 0 - cmp r0, 0x1 - beq _0803F608 - cmp r0, 0x1 - bgt _0803F5CC - cmp r0, 0 - beq _0803F5D2 - b _0803F68A -_0803F5CC: - cmp r1, 0x2 - beq _0803F650 - b _0803F68A -_0803F5D2: - movs r5, 0 - ldr r0, _0803F5FC @ =gActiveBattler - ldrb r3, [r0] - ldr r4, _0803F600 @ =gAbsentBattlerFlags - ldr r2, _0803F604 @ =gBitTable -_0803F5DC: - cmp r5, r3 - beq _0803F5F0 - ldrb r0, [r4] - ldr r1, [r2] - ands r0, r1 - cmp r0, 0 - bne _0803F5F0 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0803F5F0: - adds r2, 0x4 - adds r5, 0x1 - cmp r5, 0x3 - ble _0803F5DC - b _0803F68A - .align 2, 0 -_0803F5FC: .4byte gActiveBattler -_0803F600: .4byte gAbsentBattlerFlags -_0803F604: .4byte gBitTable -_0803F608: - movs r5, 0 -_0803F60A: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBankSide - adds r4, r0, 0 - ldr r0, _0803F644 @ =sBattler_AI - ldrb r0, [r0] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0803F63C - ldr r0, _0803F648 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0803F64C @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803F63C - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0803F63C: - adds r5, 0x1 - cmp r5, 0x3 - ble _0803F60A - b _0803F68A - .align 2, 0 -_0803F644: .4byte sBattler_AI -_0803F648: .4byte gAbsentBattlerFlags -_0803F64C: .4byte gBitTable -_0803F650: - movs r5, 0 -_0803F652: - lsls r0, r5, 24 - lsrs r0, 24 - bl GetBankSide - adds r4, r0, 0 - ldr r0, _0803F694 @ =gBattlerTarget - ldrb r0, [r0] - bl GetBankSide - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0803F684 - ldr r0, _0803F698 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0803F69C @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803F684 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0803F684: - adds r5, 0x1 - cmp r5, 0x3 - ble _0803F652 -_0803F68A: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0803F694: .4byte gBattlerTarget -_0803F698: .4byte gAbsentBattlerFlags -_0803F69C: .4byte gBitTable - thumb_func_end sub_803F5B4 - - thumb_func_start GetDefaultMoveTarget -GetDefaultMoveTarget: @ 803F6A0 - 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, _0803F6C4 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r6 - cmp r0, 0 - bne _0803F6C8 - adds r0, r4, 0 - b _0803F712 - .align 2, 0 -_0803F6C4: .4byte gBattleTypeFlags -_0803F6C8: - movs r0, 0 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0803F6EC - bl Random - adds r1, r6, 0 - ands r1, r0 - cmp r1, 0 - bne _0803F6E8 - movs r0, 0x2 - eors r0, r4 - b _0803F712 -_0803F6E8: - adds r0, r4, 0 - b _0803F712 -_0803F6EC: - ldr r0, _0803F704 @ =gAbsentBattlerFlags - ldrb r1, [r0] - ldr r2, _0803F708 @ =gBitTable - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803F70C - adds r0, r4, 0 - b _0803F712 - .align 2, 0 -_0803F704: .4byte gAbsentBattlerFlags -_0803F708: .4byte gBitTable -_0803F70C: - movs r0, 0x2 - eors r5, r0 - adds r0, r5, 0 -_0803F712: - bl GetBankByIdentity - lsls r0, 24 - lsrs r0, 24 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetDefaultMoveTarget - - thumb_func_start GetMonGender -GetMonGender: @ 803F720 - push {lr} - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetMonGender - - thumb_func_start GetBoxMonGender -GetBoxMonGender: @ 803F730 - 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, _0803F780 @ =gBaseStats - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0803F786 - cmp r0, 0 - blt _0803F768 - cmp r0, 0xFF - bgt _0803F768 - cmp r0, 0xFE - bge _0803F786 -_0803F768: - ldr r1, _0803F780 @ =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 _0803F784 - movs r0, 0 - b _0803F786 - .align 2, 0 -_0803F780: .4byte gBaseStats -_0803F784: - movs r0, 0xFE -_0803F786: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetBoxMonGender - - thumb_func_start GetGenderFromSpeciesAndPersonality -GetGenderFromSpeciesAndPersonality: @ 803F78C - push {lr} - adds r3, r1, 0 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r1, _0803F7C8 @ =gBaseStats - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x10] - cmp r0, 0 - beq _0803F7CE - cmp r0, 0 - blt _0803F7B0 - cmp r0, 0xFF - bgt _0803F7B0 - cmp r0, 0xFE - bge _0803F7CE -_0803F7B0: - 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 _0803F7CC - movs r0, 0 - b _0803F7CE - .align 2, 0 -_0803F7C8: .4byte gBaseStats -_0803F7CC: - movs r0, 0xFE -_0803F7CE: - pop {r1} - bx r1 - thumb_func_end GetGenderFromSpeciesAndPersonality - - thumb_func_start sub_803F7D4 -sub_803F7D4: @ 803F7D4 - push {r4-r6,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _0803F808 @ =gUnknown_202401C - ldr r2, [r0] - cmp r2, 0 - beq _0803F810 - cmp r4, 0x3 - bls _0803F7EC - movs r4, 0 -_0803F7EC: - ldr r0, _0803F80C @ =gUnknown_20244DC - 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 _0803F84C - .align 2, 0 -_0803F808: .4byte gUnknown_202401C -_0803F80C: .4byte gUnknown_20244DC -_0803F810: - ldr r0, _0803F828 @ =gUnknown_20244F4 - ldr r1, [r0] - cmp r1, 0 - beq _0803F830 - ldrb r0, [r1] - lsrs r0, 4 - cmp r4, r0 - blt _0803F822 - movs r4, 0 -_0803F822: - ldr r3, _0803F82C @ =gUnknown_20244DC - ldr r2, [r1, 0x10] - b _0803F83A - .align 2, 0 -_0803F828: .4byte gUnknown_20244F4 -_0803F82C: .4byte gUnknown_20244DC -_0803F830: - cmp r4, 0x3 - bls _0803F836 - movs r4, 0 -_0803F836: - ldr r3, _0803F858 @ =gUnknown_20244DC - ldr r2, _0803F85C @ =gUnknown_825DEF0 -_0803F83A: - 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} -_0803F84C: - strh r5, [r3, 0x2] - ldr r0, _0803F860 @ =gUnknown_82349BC - str r0, [r3, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803F858: .4byte gUnknown_20244DC -_0803F85C: .4byte gUnknown_825DEF0 -_0803F860: .4byte gUnknown_82349BC - thumb_func_end sub_803F7D4 - - thumb_func_start sub_803F864 -sub_803F864: @ 803F864 - push {r4-r6,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r1, 24 - lsrs r3, r1, 24 - ldr r0, _0803F89C @ =gUnknown_20244DC - strh r4, [r0, 0x2] - adds r5, r0, 0 - cmp r3, 0 - beq _0803F87C - cmp r3, 0x2 - bne _0803F8A8 -_0803F87C: - ldr r2, _0803F8A0 @ =gUnknown_825DF50 - 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, _0803F8A4 @ =gUnknown_8239F74 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - b _0803F8E8 - .align 2, 0 -_0803F89C: .4byte gUnknown_20244DC -_0803F8A0: .4byte gUnknown_825DF50 -_0803F8A4: .4byte gUnknown_8239F74 -_0803F8A8: - ldr r0, _0803F8C8 @ =gUnknown_202401C - ldr r1, [r0] - cmp r1, 0 - beq _0803F8CC - 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 _0803F8E0 - .align 2, 0 -_0803F8C8: .4byte gUnknown_202401C -_0803F8CC: - ldr r0, _0803F8F0 @ =gUnknown_825DEF0 - 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} -_0803F8E0: - ldr r0, _0803F8F4 @ =gUnknown_82390DC - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] -_0803F8E8: - str r0, [r5, 0x8] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803F8F0: .4byte gUnknown_825DEF0 -_0803F8F4: .4byte gUnknown_82390DC - thumb_func_end sub_803F864 - - thumb_func_start EncryptBoxMon -EncryptBoxMon: @ 803F8F8 - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0803F902: - 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 _0803F902 - pop {r4} - pop {r0} - bx r0 - thumb_func_end EncryptBoxMon - - thumb_func_start DecryptBoxMon -DecryptBoxMon: @ 803F91C - push {r4,lr} - adds r3, r0, 0 - movs r4, 0 - adds r2, r3, 0 - adds r2, 0x20 -_0803F926: - 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 _0803F926 - pop {r4} - pop {r0} - bx r0 - thumb_func_end DecryptBoxMon - - thumb_func_start GetSubstruct -GetSubstruct: @ 803F940 - 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 _0803F958 - b _0803FBE0 -_0803F958: - lsls r0, 2 - ldr r1, _0803F964 @ =_0803F968 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803F964: .4byte _0803F968 - .align 2, 0 -_0803F968: - .4byte _0803F9C8 - .4byte _0803F9EC - .4byte _0803FA08 - .4byte _0803FA1E - .4byte _0803FA34 - .4byte _0803FA50 - .4byte _0803FA66 - .4byte _0803FA7C - .4byte _0803FA8C - .4byte _0803FAAA - .4byte _0803FAC2 - .4byte _0803FAD2 - .4byte _0803FAE6 - .4byte _0803FAF8 - .4byte _0803FB0A - .4byte _0803FB1C - .4byte _0803FB2E - .4byte _0803FB40 - .4byte _0803FB52 - .4byte _0803FB68 - .4byte _0803FB7C - .4byte _0803FB8A - .4byte _0803FB9C - .4byte _0803FBB0 -_0803F9C8: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803F9D2 - b _0803FBD8 -_0803F9D2: - cmp r4, 0x1 - bgt _0803F9DE -_0803F9D6: - cmp r4, 0 - bne _0803F9DC - b _0803FBDE -_0803F9DC: - b _0803FBE0 -_0803F9DE: - cmp r4, 0x2 - bne _0803F9E4 - b _0803FBD2 -_0803F9E4: - cmp r4, 0x3 - beq _0803F9EA - b _0803FBE0 -_0803F9EA: - b _0803FBCC -_0803F9EC: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803F9F6 - b _0803FBD8 -_0803F9F6: - cmp r4, 0x1 - ble _0803F9D6 -_0803F9FA: - cmp r4, 0x2 - bne _0803FA00 - b _0803FBCC -_0803FA00: - cmp r4, 0x3 - beq _0803FA06 - b _0803FBE0 -_0803FA06: - b _0803FBD2 -_0803FA08: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA12 - b _0803FBD2 -_0803FA12: - cmp r4, 0x1 - ble _0803F9D6 - cmp r4, 0x2 - bne _0803FA1C - b _0803FBD8 -_0803FA1C: - b _0803F9E4 -_0803FA1E: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA28 - b _0803FBCC -_0803FA28: - cmp r4, 0x1 - ble _0803F9D6 - cmp r4, 0x2 - bne _0803FA32 - b _0803FBD8 -_0803FA32: - b _0803FA00 -_0803FA34: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA3E - b _0803FBD2 -_0803FA3E: - cmp r4, 0x1 - ble _0803F9D6 -_0803FA42: - cmp r4, 0x2 - bne _0803FA48 - b _0803FBCC -_0803FA48: - cmp r4, 0x3 - beq _0803FA4E - b _0803FBE0 -_0803FA4E: - b _0803FBD8 -_0803FA50: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA5A - b _0803FBCC -_0803FA5A: - cmp r4, 0x1 - ble _0803F9D6 - cmp r4, 0x2 - bne _0803FA64 - b _0803FBD2 -_0803FA64: - b _0803FA48 -_0803FA66: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA70 - b _0803FBDE -_0803FA70: - cmp r4, 0x1 - bgt _0803F9DE -_0803FA74: - cmp r4, 0 - bne _0803FA7A - b _0803FBD8 -_0803FA7A: - b _0803FBE0 -_0803FA7C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA86 - b _0803FBDE -_0803FA86: - cmp r4, 0x1 - ble _0803FA74 - b _0803F9FA -_0803FA8C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FA96 - b _0803FBDE -_0803FA96: - cmp r4, 0x1 - bgt _0803FAA2 -_0803FA9A: - cmp r4, 0 - bne _0803FAA0 - b _0803FBD2 -_0803FAA0: - b _0803FBE0 -_0803FAA2: - cmp r4, 0x2 - bne _0803FAA8 - b _0803FBD8 -_0803FAA8: - b _0803F9E4 -_0803FAAA: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FAB4 - b _0803FBDE -_0803FAB4: - cmp r4, 0x1 - bgt _0803FABA - b _0803FBBC -_0803FABA: - cmp r4, 0x2 - bne _0803FAC0 - b _0803FBD8 -_0803FAC0: - b _0803FA00 -_0803FAC2: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FACC - b _0803FBDE -_0803FACC: - cmp r4, 0x1 - ble _0803FA9A - b _0803FA42 -_0803FAD2: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - bne _0803FADC - b _0803FBDE -_0803FADC: - cmp r4, 0x1 - ble _0803FBBC - cmp r4, 0x2 - beq _0803FBD2 - b _0803FA48 -_0803FAE6: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD2 - cmp r4, 0x1 - ble _0803FA74 - cmp r4, 0x2 - beq _0803FBDE - b _0803F9E4 -_0803FAF8: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBCC - cmp r4, 0x1 - ble _0803FA74 - cmp r4, 0x2 - beq _0803FBDE - b _0803FA00 -_0803FB0A: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD8 - cmp r4, 0x1 - ble _0803FA9A - cmp r4, 0x2 - beq _0803FBDE - b _0803F9E4 -_0803FB1C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD8 - cmp r4, 0x1 - ble _0803FBBC - cmp r4, 0x2 - beq _0803FBDE - b _0803FA00 -_0803FB2E: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBCC - cmp r4, 0x1 - ble _0803FA9A - cmp r4, 0x2 - beq _0803FBDE - b _0803FA48 -_0803FB40: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD2 - cmp r4, 0x1 - ble _0803FBBC - cmp r4, 0x2 - beq _0803FBDE - b _0803FA48 -_0803FB52: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD2 - cmp r4, 0x1 - ble _0803FA74 -_0803FB5E: - cmp r4, 0x2 - beq _0803FBCC -_0803FB62: - cmp r4, 0x3 - bne _0803FBE0 - b _0803FBDE -_0803FB68: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBCC - cmp r4, 0x1 - bgt _0803FB76 - b _0803FA74 -_0803FB76: - cmp r4, 0x2 - beq _0803FBD2 - b _0803FB62 -_0803FB7C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD8 - cmp r4, 0x1 - ble _0803FA9A - b _0803FB5E -_0803FB8A: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD8 - cmp r4, 0x1 - ble _0803FBBC - cmp r4, 0x2 - beq _0803FBD2 - b _0803FB62 -_0803FB9C: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBCC - cmp r4, 0x1 - bgt _0803FBAA - b _0803FA9A -_0803FBAA: - cmp r4, 0x2 - beq _0803FBD8 - b _0803FB62 -_0803FBB0: - adds r0, r5, 0 - adds r0, 0x20 - cmp r4, 0x1 - beq _0803FBD2 - cmp r4, 0x1 - bgt _0803FBC2 -_0803FBBC: - cmp r4, 0 - beq _0803FBCC - b _0803FBE0 -_0803FBC2: - cmp r4, 0x2 - beq _0803FBD8 - cmp r4, 0x3 - beq _0803FBDE - b _0803FBE0 -_0803FBCC: - adds r6, r5, 0 - adds r6, 0x44 - b _0803FBE0 -_0803FBD2: - adds r6, r5, 0 - adds r6, 0x38 - b _0803FBE0 -_0803FBD8: - adds r6, r5, 0 - adds r6, 0x2C - b _0803FBE0 -_0803FBDE: - adds r6, r0, 0 -_0803FBE0: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetSubstruct - - thumb_func_start GetMonData -GetMonData: @ 803FBE8 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - adds r0, r3, 0 - subs r0, 0x37 - cmp r0, 0x21 - bls _0803FBF8 - b _0803FD36 -_0803FBF8: - lsls r0, 2 - ldr r1, _0803FC04 @ =_0803FC08 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803FC04: .4byte _0803FC08 - .align 2, 0 -_0803FC08: - .4byte _0803FC90 - .4byte _0803FC94 - .4byte _0803FC9C - .4byte _0803FCA4 - .4byte _0803FCAC - .4byte _0803FCBE - .4byte _0803FCD0 - .4byte _0803FCE2 - .4byte _0803FCF4 - .4byte _0803FD2E - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD36 - .4byte _0803FD06 - .4byte _0803FD0E - .4byte _0803FD16 - .4byte _0803FD1E - .4byte _0803FD26 -_0803FC90: - ldr r0, [r4, 0x50] - b _0803FD3E -_0803FC94: - adds r0, r4, 0 - adds r0, 0x54 - ldrb r0, [r0] - b _0803FD3E -_0803FC9C: - adds r0, r4, 0 - adds r0, 0x56 - ldrh r0, [r0] - b _0803FD3E -_0803FCA4: - adds r0, r4, 0 - adds r0, 0x58 - ldrh r0, [r0] - b _0803FD3E -_0803FCAC: - adds r0, r4, 0 - movs r1, 0x1 - bl GetDeoxysStat - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803FD3E - b _0803FD06 -_0803FCBE: - adds r0, r4, 0 - movs r1, 0x2 - bl GetDeoxysStat - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803FD3E - b _0803FD0E -_0803FCD0: - adds r0, r4, 0 - movs r1, 0x3 - bl GetDeoxysStat - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803FD3E - b _0803FD16 -_0803FCE2: - adds r0, r4, 0 - movs r1, 0x4 - bl GetDeoxysStat - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803FD3E - b _0803FD1E -_0803FCF4: - adds r0, r4, 0 - movs r1, 0x5 - bl GetDeoxysStat - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0803FD3E - b _0803FD26 -_0803FD06: - adds r0, r4, 0 - adds r0, 0x5A - ldrh r0, [r0] - b _0803FD3E -_0803FD0E: - adds r0, r4, 0 - adds r0, 0x5C - ldrh r0, [r0] - b _0803FD3E -_0803FD16: - adds r0, r4, 0 - adds r0, 0x5E - ldrh r0, [r0] - b _0803FD3E -_0803FD1E: - adds r0, r4, 0 - adds r0, 0x60 - ldrh r0, [r0] - b _0803FD3E -_0803FD26: - adds r0, r4, 0 - adds r0, 0x62 - ldrh r0, [r0] - b _0803FD3E -_0803FD2E: - adds r0, r4, 0 - adds r0, 0x55 - ldrb r0, [r0] - b _0803FD3E -_0803FD36: - adds r0, r4, 0 - adds r1, r3, 0 - bl GetBoxMonData -_0803FD3E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonData - - thumb_func_start GetBoxMonData -GetBoxMonData: @ 803FD44 - 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 _0803FDC2 - 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 _0803FDC2 - 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] -_0803FDC2: - ldr r0, [sp] - cmp r0, 0x53 - bls _0803FDCA - b _0804035C -_0803FDCA: - lsls r0, 2 - ldr r1, _0803FDD4 @ =_0803FDD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803FDD4: .4byte _0803FDD8 - .align 2, 0 -_0803FDD8: - .4byte _0803FF28 - .4byte _0803FF2E - .4byte _0803FF34 - .4byte _0803FFE8 - .4byte _0803FFEE - .4byte _0803FFF4 - .4byte _0803FFFA - .4byte _08040000 - .4byte _0804001C - .4byte _08040022 - .4byte _08040028 - .4byte _0804002E - .4byte _08040046 - .4byte _0804005E - .4byte _0804005E - .4byte _0804005E - .4byte _0804005E - .4byte _0804006A - .4byte _0804006A - .4byte _0804006A - .4byte _0804006A - .4byte _08040052 - .4byte _0804008C - .4byte _08040090 - .4byte _08040094 - .4byte _0804004C - .4byte _08040074 - .4byte _08040078 - .4byte _0804007C - .4byte _08040080 - .4byte _08040084 - .4byte _08040088 - .4byte _08040058 - .4byte _08040098 - .4byte _080400A4 - .4byte _080400A8 - .4byte _080400AC - .4byte _080400B4 - .4byte _080400BC - .4byte _080400C6 - .4byte _080400CE - .4byte _080400D6 - .4byte _080400DE - .4byte _080400E6 - .4byte _080400EE - .4byte _080400F6 - .4byte _080400FA - .4byte _0804009C - .4byte _080400A0 - .4byte _080400C0 - .4byte _08040100 - .4byte _08040108 - .4byte _08040110 - .4byte _08040118 - .4byte _08040120 - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _0804035C - .4byte _08040186 - .4byte _080401AC - .4byte _08040128 - .4byte _0804012E - .4byte _08040132 - .4byte _08040136 - .4byte _0804013A - .4byte _08040142 - .4byte _0804014A - .4byte _08040152 - .4byte _0804015A - .4byte _08040160 - .4byte _08040168 - .4byte _08040170 - .4byte _08040178 - .4byte _08040180 - .4byte _080401E6 - .4byte _08040240 - .4byte _080402C2 -_0803FF28: - mov r1, r8 - ldr r4, [r1] - b _0804035C -_0803FF2E: - mov r2, r8 - ldr r4, [r2, 0x4] - b _0804035C -_0803FF34: - mov r0, r8 - ldrb r1, [r0, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803FF6C - movs r4, 0 - ldr r0, _0803FF68 @ =gUnknown_83FE868 - ldrb r1, [r0] - adds r2, r0, 0 - cmp r1, 0xFF - beq _08040014 - adds r3, r2, 0 -_0803FF4E: - adds r0, r6, r4 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x9 - bhi _08040014 - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0803FF4E - b _08040014 - .align 2, 0 -_0803FF68: .4byte gUnknown_83FE868 -_0803FF6C: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803FF8C - ldr r1, _0803FF88 @ =gUnknown_8415A62 - adds r0, r6, 0 - bl StringCopy - adds r0, r6, 0 - bl StringLength - lsls r0, 16 - lsrs r4, r0, 16 - b _0804035C - .align 2, 0 -_0803FF88: .4byte gUnknown_8415A62 -_0803FF8C: - mov r1, r8 - ldrb r0, [r1, 0x12] - cmp r0, 0x1 - bne _0803FFD2 - 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 _0803FFC0 - mov r2, r8 - adds r2, 0x8 -_0803FFAA: - adds r1, r6, r4 - ldrb r0, [r2] - strb r0, [r1] - adds r4, 0x1 - adds r2, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - bgt _0803FFC0 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0803FFAA -_0803FFC0: - 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 _08040014 -_0803FFD2: - movs r4, 0 - mov r2, r8 - adds r2, 0x8 -_0803FFD8: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x9 - bls _0803FFD8 - b _08040014 -_0803FFE8: - mov r2, r8 - ldrb r4, [r2, 0x12] - b _0804035C -_0803FFEE: - mov r6, r8 - ldrb r0, [r6, 0x13] - b _08040162 -_0803FFF4: - mov r1, r8 - ldrb r0, [r1, 0x13] - b _0804016A -_0803FFFA: - mov r2, r8 - ldrb r0, [r2, 0x13] - b _08040172 -_08040000: - movs r4, 0 - mov r2, r8 - adds r2, 0x14 -_08040006: - adds r0, r6, r4 - adds r1, r2, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x6 - bls _08040006 -_08040014: - adds r1, r6, r4 - movs r0, 0xFF - strb r0, [r1] - b _0804035C -_0804001C: - mov r6, r8 - ldrb r4, [r6, 0x1B] - b _0804035C -_08040022: - mov r0, r8 - ldrh r4, [r0, 0x1C] - b _0804035C -_08040028: - mov r1, r8 - ldrh r4, [r1, 0x1E] - b _0804035C -_0804002E: - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - movs r4, 0xCE - lsls r4, 1 - cmp r0, 0 - beq _08040040 - b _0804035C -_08040040: - mov r6, r9 - ldrh r4, [r6] - b _0804035C -_08040046: - mov r0, r9 - ldrh r4, [r0, 0x2] - b _0804035C -_0804004C: - mov r1, r9 - ldr r4, [r1, 0x4] - b _0804035C -_08040052: - mov r2, r9 - ldrb r4, [r2, 0x8] - b _0804035C -_08040058: - mov r6, r9 - ldrb r4, [r6, 0x9] - b _0804035C -_0804005E: - ldr r0, [sp] - subs r0, 0xD - lsls r0, 1 - add r0, r10 - ldrh r4, [r0] - b _0804035C -_0804006A: - ldr r0, [sp] - add r0, r10 - subs r0, 0x9 - ldrb r4, [r0] - b _0804035C -_08040074: - ldrb r4, [r7] - b _0804035C -_08040078: - ldrb r4, [r7, 0x1] - b _0804035C -_0804007C: - ldrb r4, [r7, 0x2] - b _0804035C -_08040080: - ldrb r4, [r7, 0x3] - b _0804035C -_08040084: - ldrb r4, [r7, 0x4] - b _0804035C -_08040088: - ldrb r4, [r7, 0x5] - b _0804035C -_0804008C: - ldrb r4, [r7, 0x6] - b _0804035C -_08040090: - ldrb r4, [r7, 0x7] - b _0804035C -_08040094: - ldrb r4, [r7, 0x8] - b _0804035C -_08040098: - ldrb r4, [r7, 0x9] - b _0804035C -_0804009C: - ldrb r4, [r7, 0xA] - b _0804035C -_080400A0: - ldrb r4, [r7, 0xB] - b _0804035C -_080400A4: - ldrb r4, [r5] - b _0804035C -_080400A8: - ldrb r4, [r5, 0x1] - b _0804035C -_080400AC: - ldrb r0, [r5, 0x2] - lsls r0, 25 - lsrs r4, r0, 25 - b _0804035C -_080400B4: - ldrh r0, [r5, 0x2] - lsls r0, 21 - lsrs r4, r0, 28 - b _0804035C -_080400BC: - ldrb r0, [r5, 0x3] - b _0804017A -_080400C0: - ldrb r0, [r5, 0x3] - lsrs r4, r0, 7 - b _0804035C -_080400C6: - ldrb r0, [r5, 0x4] - lsls r0, 27 - lsrs r4, r0, 27 - b _0804035C -_080400CE: - ldrh r0, [r5, 0x4] - lsls r0, 22 - lsrs r4, r0, 27 - b _0804035C -_080400D6: - ldrb r0, [r5, 0x5] - lsls r0, 25 - lsrs r4, r0, 27 - b _0804035C -_080400DE: - ldr r0, [r5, 0x4] - lsls r0, 12 - lsrs r4, r0, 27 - b _0804035C -_080400E6: - ldrh r0, [r5, 0x6] - lsls r0, 23 - lsrs r4, r0, 27 - b _0804035C -_080400EE: - ldrb r0, [r5, 0x7] - lsls r0, 26 - lsrs r4, r0, 27 - b _0804035C -_080400F6: - ldrb r0, [r5, 0x7] - b _08040154 -_080400FA: - ldrb r0, [r5, 0x7] - lsrs r4, r0, 7 - b _0804035C -_08040100: - ldrb r0, [r5, 0x8] - lsls r0, 29 - lsrs r4, r0, 29 - b _0804035C -_08040108: - ldrb r0, [r5, 0x8] - lsls r0, 26 - lsrs r4, r0, 29 - b _0804035C -_08040110: - ldrh r0, [r5, 0x8] - lsls r0, 23 - lsrs r4, r0, 29 - b _0804035C -_08040118: - ldrb r0, [r5, 0x9] - lsls r0, 28 - lsrs r4, r0, 29 - b _0804035C -_08040120: - ldrb r0, [r5, 0x9] - lsls r0, 25 - lsrs r4, r0, 29 - b _0804035C -_08040128: - ldrb r0, [r5, 0x9] - lsrs r4, r0, 7 - b _0804035C -_0804012E: - ldrb r0, [r5, 0xA] - b _08040162 -_08040132: - ldrb r0, [r5, 0xA] - b _0804016A -_08040136: - ldrb r0, [r5, 0xA] - b _08040172 -_0804013A: - ldrb r0, [r5, 0xA] - lsls r0, 28 - lsrs r4, r0, 31 - b _0804035C -_08040142: - ldrb r0, [r5, 0xA] - lsls r0, 27 - lsrs r4, r0, 31 - b _0804035C -_0804014A: - ldrb r0, [r5, 0xA] - lsls r0, 26 - lsrs r4, r0, 31 - b _0804035C -_08040152: - ldrb r0, [r5, 0xA] -_08040154: - lsls r0, 25 - lsrs r4, r0, 31 - b _0804035C -_0804015A: - ldrb r0, [r5, 0xA] - lsrs r4, r0, 7 - b _0804035C -_08040160: - ldrb r0, [r5, 0xB] -_08040162: - lsls r0, 31 - lsrs r4, r0, 31 - b _0804035C -_08040168: - ldrb r0, [r5, 0xB] -_0804016A: - lsls r0, 30 - lsrs r4, r0, 31 - b _0804035C -_08040170: - ldrb r0, [r5, 0xB] -_08040172: - lsls r0, 29 - lsrs r4, r0, 31 - b _0804035C -_08040178: - ldrb r0, [r5, 0xB] -_0804017A: - lsls r0, 25 - lsrs r4, r0, 28 - b _0804035C -_08040180: - ldrb r0, [r5, 0xB] - lsrs r4, r0, 7 - b _0804035C -_08040186: - mov r0, r9 - ldrh r4, [r0] - cmp r4, 0 - bne _08040190 - b _0804035C -_08040190: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _080401A6 - mov r2, r8 - ldrb r1, [r2, 0x13] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080401A6 - b _0804035C -_080401A6: - movs r4, 0xCE - lsls r4, 1 - b _0804035C -_080401AC: - 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 _0804035C -_080401E6: - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _080401F0 - b _0804035C -_080401F0: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _080401FA - b _0804035C -_080401FA: - ldrh r0, [r6] - ldr r1, _08040238 @ =0x00000163 - cmp r0, r1 - bne _08040204 - b _0804035C -_08040204: - mov r2, r10 - ldrh r5, [r2] - adds r7, r1, 0 - adds r2, r6, 0 - ldr r1, _0804023C @ =gBitTable -_0804020E: - ldrh r3, [r2] - cmp r5, r3 - beq _08040228 - mov r6, r10 - ldrh r0, [r6, 0x2] - cmp r0, r3 - beq _08040228 - ldrh r0, [r6, 0x4] - cmp r0, r3 - beq _08040228 - ldrh r0, [r6, 0x6] - cmp r0, r3 - bne _0804022C -_08040228: - ldr r0, [r1] - orrs r4, r0 -_0804022C: - adds r2, 0x2 - adds r1, 0x4 - ldrh r0, [r2] - cmp r0, r7 - bne _0804020E - b _0804035C - .align 2, 0 -_08040238: .4byte 0x00000163 -_0804023C: .4byte gBitTable -_08040240: - movs r4, 0 - mov r1, r9 - ldrh r0, [r1] - cmp r0, 0 - bne _0804024C - b _0804035C -_0804024C: - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _08040256 - b _0804035C -_08040256: - 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 _0804035C -_080402C2: - movs r4, 0 - mov r2, r9 - ldrh r0, [r2] - cmp r0, 0 - beq _0804035C - ldrb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - blt _0804035C - 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 -_0804035C: - ldr r6, [sp] - cmp r6, 0xA - ble _08040368 - mov r0, r8 - bl EncryptBoxMon -_08040368: - 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 sub_804037C -sub_804037C: @ 804037C - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - subs r0, 0x37 - cmp r0, 0x21 - bls _0804038C - b _080404C0 -_0804038C: - lsls r0, 2 - ldr r1, _08040398 @ =_0804039C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08040398: .4byte _0804039C - .align 2, 0 -_0804039C: - .4byte _08040424 - .4byte _0804043C - .4byte _08040446 - .4byte _08040456 - .4byte _08040466 - .4byte _08040476 - .4byte _08040486 - .4byte _08040496 - .4byte _080404A6 - .4byte _080404B6 - .4byte _080404C8 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _080404C0 - .4byte _08040466 - .4byte _08040476 - .4byte _08040486 - .4byte _08040496 - .4byte _080404A6 -_08040424: - 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 _080404C8 -_0804043C: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x54 - strb r1, [r0] - b _080404C8 -_08040446: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x56 - strh r0, [r1] - b _080404C8 -_08040456: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x58 - strh r0, [r1] - b _080404C8 -_08040466: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5A - strh r0, [r1] - b _080404C8 -_08040476: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5C - strh r0, [r1] - b _080404C8 -_08040486: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - b _080404C8 -_08040496: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x60 - strh r0, [r1] - b _080404C8 -_080404A6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x62 - strh r0, [r1] - b _080404C8 -_080404B6: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x55 - strb r1, [r0] - b _080404C8 -_080404C0: - adds r0, r3, 0 - adds r1, r4, 0 - bl sub_80404D0 -_080404C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804037C - - thumb_func_start sub_80404D0 -sub_80404D0: @ 80404D0 - 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 _08040550 - 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 _08040550 - 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 _08040AEE -_08040550: - mov r0, r10 - cmp r0, 0x50 - bls _08040558 - b _08040ADA -_08040558: - lsls r0, 2 - ldr r1, _08040564 @ =_08040568 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08040564: .4byte _08040568 - .align 2, 0 -_08040568: - .4byte _080406AC - .4byte _080406C4 - .4byte _080406DC - .4byte _080406F2 - .4byte _080406F8 - .4byte _08040708 - .4byte _0804071A - .4byte _0804072C - .4byte _08040742 - .4byte _08040748 - .4byte _08040754 - .4byte _08040760 - .4byte _08040780 - .4byte _080407B8 - .4byte _080407B8 - .4byte _080407B8 - .4byte _080407B8 - .4byte _080407CC - .4byte _080407CC - .4byte _080407CC - .4byte _080407CC - .4byte _080407A8 - .4byte _080407FC - .4byte _08040802 - .4byte _08040808 - .4byte _0804078E - .4byte _080407D8 - .4byte _080407DE - .4byte _080407E4 - .4byte _080407EA - .4byte _080407F0 - .4byte _080407F6 - .4byte _080407B0 - .4byte _0804080E - .4byte _08040820 - .4byte _08040826 - .4byte _0804082C - .4byte _08040840 - .4byte _08040858 - .4byte _0804087E - .4byte _08040892 - .4byte _080408AC - .4byte _080408C2 - .4byte _080408DC - .4byte _080408F4 - .4byte _08040908 - .4byte _08040938 - .4byte _08040814 - .4byte _0804081A - .4byte _0804086E - .4byte _08040948 - .4byte _08040956 - .4byte _0804096C - .4byte _08040984 - .4byte _08040994 - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040ADA - .4byte _08040A92 - .4byte _080409AA - .4byte _080409BA - .4byte _080409C8 - .4byte _080409D8 - .4byte _080409E8 - .4byte _080409F8 - .4byte _08040A08 - .4byte _08040A18 - .4byte _08040A2E - .4byte _08040A3E - .4byte _08040A4C - .4byte _08040A5C - .4byte _08040A6C - .4byte _08040A82 -_080406AC: - 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 _08040ADA -_080406C4: - 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 _08040ADA -_080406DC: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x8 -_080406E2: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _080406E2 - b _08040ADA -_080406F2: - ldrb r0, [r4] - strb r0, [r7, 0x12] - b _08040ADA -_080406F8: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r7, 0x13] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - b _08040926 -_08040708: - 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 _08040926 -_0804071A: - 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 _08040926 -_0804072C: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x14 -_08040732: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _08040732 - b _08040ADA -_08040742: - ldrb r0, [r4] - strb r0, [r7, 0x1B] - b _08040ADA -_08040748: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1C] - b _08040ADA -_08040754: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1E] - b _08040ADA -_08040760: - 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 _08040778 - ldrb r0, [r7, 0x13] - movs r1, 0x2 - b _08040926 -_08040778: - ldrb r1, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - b _08040932 -_08040780: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x2] - b _08040ADA -_0804078E: - 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 _08040ADA -_080407A8: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x8] - b _08040ADA -_080407B0: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x9] - b _08040ADA -_080407B8: - 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 _08040ADA -_080407CC: - mov r0, r9 - add r0, r10 - subs r0, 0x9 - ldrb r1, [r4] - strb r1, [r0] - b _08040ADA -_080407D8: - ldrb r0, [r4] - strb r0, [r6] - b _08040ADA -_080407DE: - ldrb r0, [r4] - strb r0, [r6, 0x1] - b _08040ADA -_080407E4: - ldrb r0, [r4] - strb r0, [r6, 0x2] - b _08040ADA -_080407EA: - ldrb r0, [r4] - strb r0, [r6, 0x3] - b _08040ADA -_080407F0: - ldrb r0, [r4] - strb r0, [r6, 0x4] - b _08040ADA -_080407F6: - ldrb r0, [r4] - strb r0, [r6, 0x5] - b _08040ADA -_080407FC: - ldrb r0, [r4] - strb r0, [r6, 0x6] - b _08040ADA -_08040802: - ldrb r0, [r4] - strb r0, [r6, 0x7] - b _08040ADA -_08040808: - ldrb r0, [r4] - strb r0, [r6, 0x8] - b _08040ADA -_0804080E: - ldrb r0, [r4] - strb r0, [r6, 0x9] - b _08040ADA -_08040814: - ldrb r0, [r4] - strb r0, [r6, 0xA] - b _08040ADA -_0804081A: - ldrb r0, [r4] - strb r0, [r6, 0xB] - b _08040ADA -_08040820: - ldrb r0, [r4] - strb r0, [r5] - b _08040ADA -_08040826: - ldrb r0, [r4] - strb r0, [r5, 0x1] - b _08040ADA -_0804082C: - 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 _08040ADA -_08040840: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 7 - ldrh r2, [r5, 0x2] - ldr r0, _08040854 @ =0xfffff87f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x2] - b _08040ADA - .align 2, 0 -_08040854: .4byte 0xfffff87f -_08040858: - 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 _08040ADA -_0804086E: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x3] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - b _08040ADA -_0804087E: - 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 _08040ADA -_08040892: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _080408A8 @ =0xfffffc1f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - b _08040ADA - .align 2, 0 -_080408A8: .4byte 0xfffffc1f -_080408AC: - 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 _08040ADA -_080408C2: - ldrb r2, [r4] - movs r0, 0x1F - ands r2, r0 - lsls r2, 15 - ldr r0, [r5, 0x4] - ldr r1, _080408D8 @ =0xfff07fff - ands r0, r1 - orrs r0, r2 - str r0, [r5, 0x4] - b _08040ADA - .align 2, 0 -_080408D8: .4byte 0xfff07fff -_080408DC: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 4 - ldrh r2, [r5, 0x6] - ldr r0, _080408F0 @ =0xfffffe0f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - b _08040ADA - .align 2, 0 -_080408F0: .4byte 0xfffffe0f -_080408F4: - 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 _08040AD8 -_08040908: - 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 _0804092C - ldrb r0, [r7, 0x13] - movs r1, 0x4 -_08040926: - orrs r0, r1 - strb r0, [r7, 0x13] - b _08040ADA -_0804092C: - ldrb r1, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 -_08040932: - ands r0, r1 - strb r0, [r7, 0x13] - b _08040ADA -_08040938: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x7] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x7] - b _08040ADA -_08040948: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r5, 0x8] - movs r0, 0x8 - negs r0, r0 - b _08040964 -_08040956: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x8] - movs r0, 0x39 - negs r0, r0 -_08040964: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x8] - b _08040ADA -_0804096C: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x8] - ldr r0, _08040980 @ =0xfffffe3f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x8] - b _08040ADA - .align 2, 0 -_08040980: .4byte 0xfffffe3f -_08040984: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x9] - movs r0, 0xF - negs r0, r0 - b _080409A2 -_08040994: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0x9] - movs r0, 0x71 - negs r0, r0 -_080409A2: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x9] - b _08040ADA -_080409AA: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x9] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x9] - b _08040ADA -_080409BA: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xA] - movs r0, 0x2 - negs r0, r0 - b _08040A26 -_080409C8: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xA] - movs r0, 0x3 - negs r0, r0 - b _08040A26 -_080409D8: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xA] - movs r0, 0x5 - negs r0, r0 - b _08040A26 -_080409E8: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xA] - movs r0, 0x9 - negs r0, r0 - b _08040A26 -_080409F8: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0xA] - movs r0, 0x11 - negs r0, r0 - b _08040A26 -_08040A08: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r5, 0xA] - movs r0, 0x21 - negs r0, r0 - b _08040A26 -_08040A18: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0xA] - movs r0, 0x41 - negs r0, r0 -_08040A26: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xA] - b _08040ADA -_08040A2E: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xA] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xA] - b _08040ADA -_08040A3E: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xB] - movs r0, 0x2 - negs r0, r0 - b _08040A7A -_08040A4C: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xB] - movs r0, 0x3 - negs r0, r0 - b _08040A7A -_08040A5C: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xB] - movs r0, 0x5 - negs r0, r0 - b _08040A7A -_08040A6C: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xB] - movs r0, 0x79 - negs r0, r0 -_08040A7A: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - b _08040ADA -_08040A82: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xB] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xB] - b _08040ADA -_08040A92: - ldrb r1, [r4] - movs r4, 0x1F - adds r2, r1, 0 - ands r2, r4 - ldrb r3, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x4] - lsrs r1, 5 - ands r1, r4 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _08040AFC @ =0xfffffc1f - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldrb r1, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x5] - ldr r0, [r5, 0x4] - ldr r1, _08040B00 @ =0xfff07fff - ands r0, r1 - str r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - ldr r0, _08040B04 @ =0xfffffe0f - ands r0, r1 - strh r0, [r5, 0x6] - ldrb r1, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 -_08040AD8: - strb r0, [r5, 0x7] -_08040ADA: - mov r0, r10 - cmp r0, 0xA - ble _08040AEE - adds r0, r7, 0 - bl CalculateBoxMonChecksum - strh r0, [r7, 0x1C] - adds r0, r7, 0 - bl EncryptBoxMon -_08040AEE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08040AFC: .4byte 0xfffffc1f -_08040B00: .4byte 0xfff07fff -_08040B04: .4byte 0xfffffe0f - thumb_func_end sub_80404D0 - - thumb_func_start CopyMon -CopyMon: @ 8040B08 - push {lr} - bl memcpy - pop {r0} - bx r0 - thumb_func_end CopyMon - - thumb_func_start GiveMonToPlayer -GiveMonToPlayer: @ 8040B14 - push {r4-r6,lr} - adds r6, r0, 0 - ldr r4, _08040B40 @ =gSaveBlock2Ptr - ldr r2, [r4] - movs r1, 0x7 - bl sub_804037C - ldr r2, [r4] - adds r2, 0x8 - adds r0, r6, 0 - movs r1, 0x31 - bl sub_804037C - ldr r2, [r4] - adds r2, 0xA - adds r0, r6, 0 - movs r1, 0x1 - bl sub_804037C - movs r5, 0 - b _08040B46 - .align 2, 0 -_08040B40: .4byte gSaveBlock2Ptr -_08040B44: - adds r5, 0x1 -_08040B46: - cmp r5, 0x5 - bgt _08040B80 - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08040B78 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08040B44 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0x64 - bl CopyMon - ldr r1, _08040B7C @ =gUnknown_2024029 - adds r0, r5, 0x1 - strb r0, [r1] - movs r0, 0 - b _08040B8A - .align 2, 0 -_08040B78: .4byte gPlayerParty -_08040B7C: .4byte gUnknown_2024029 -_08040B80: - adds r0, r6, 0 - bl SendMonToPC - lsls r0, 24 - lsrs r0, 24 -_08040B8A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GiveMonToPlayer - - thumb_func_start SendMonToPC -SendMonToPC: @ 8040B90 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - ldr r0, _08040C04 @ =0x00004037 - bl VarGet - lsls r0, 24 - lsrs r0, 24 - bl set_unknown_box_id - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r5, r0, 24 -_08040BAE: - movs r6, 0 - lsls r7, r5, 24 -_08040BB2: - lsls r1, r6, 24 - lsrs r1, 24 - lsrs r0, r7, 24 - bl GetBoxedMonPtr - adds r4, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _08040C14 - mov r0, r8 - bl MonRestorePP - adds r0, r4, 0 - mov r1, r8 - movs r2, 0x50 - bl CopyMon - ldr r0, _08040C08 @ =gUnknown_20370D6 - strh r5, [r0] - ldr r0, _08040C0C @ =gUnknown_20370D8 - strh r6, [r0] - bl get_unknown_box_id - lsls r0, 16 - lsrs r0, 16 - cmp r0, r5 - beq _08040BF4 - ldr r0, _08040C10 @ =0x00000843 - bl FlagClear -_08040BF4: - lsls r1, r5, 16 - ldr r0, _08040C04 @ =0x00004037 - lsrs r1, 16 - bl VarSet - movs r0, 0x1 - b _08040C30 - .align 2, 0 -_08040C04: .4byte 0x00004037 -_08040C08: .4byte gUnknown_20370D6 -_08040C0C: .4byte gUnknown_20370D8 -_08040C10: .4byte 0x00000843 -_08040C14: - adds r6, 0x1 - cmp r6, 0x1D - ble _08040BB2 - adds r5, 0x1 - cmp r5, 0xE - bne _08040C22 - movs r5, 0 -_08040C22: - bl StorageGetCurrentBox - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08040BAE - movs r0, 0x2 -_08040C30: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end SendMonToPC - - thumb_func_start CalculatePlayerPartyCount -CalculatePlayerPartyCount: @ 8040C3C - push {r4,lr} - ldr r0, _08040C48 @ =gUnknown_2024029 - movs r1, 0 - strb r1, [r0] - b _08040C54 - .align 2, 0 -_08040C48: .4byte gUnknown_2024029 -_08040C4C: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_08040C54: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _08040C72 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _08040C7C @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08040C4C -_08040C72: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040C7C: .4byte gPlayerParty - thumb_func_end CalculatePlayerPartyCount - - thumb_func_start CalculateEnemyPartyCount -CalculateEnemyPartyCount: @ 8040C80 - push {r4,lr} - ldr r0, _08040C8C @ =gUnknown_202402A - movs r1, 0 - strb r1, [r0] - b _08040C98 - .align 2, 0 -_08040C8C: .4byte gUnknown_202402A -_08040C90: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - adds r0, r4, 0 -_08040C98: - adds r4, r0, 0 - ldrb r0, [r4] - cmp r0, 0x5 - bhi _08040CB6 - adds r1, r0, 0 - movs r0, 0x64 - muls r0, r1 - ldr r1, _08040CC0 @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08040C90 -_08040CB6: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040CC0: .4byte gEnemyParty - thumb_func_end CalculateEnemyPartyCount - - thumb_func_start GetMonsStateToDoubles -GetMonsStateToDoubles: @ 8040CC4 - push {r4-r6,lr} - movs r6, 0 - bl CalculatePlayerPartyCount - ldr r1, _08040D30 @ =gUnknown_2024029 - ldrb r0, [r1] - cmp r0, 0x1 - beq _08040D28 - movs r5, 0 - ldrb r1, [r1] - cmp r6, r1 - bge _08040D20 -_08040CDC: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08040D34 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08040D16 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08040D16 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08040D16 - adds r6, 0x1 -_08040D16: - adds r5, 0x1 - ldr r0, _08040D30 @ =gUnknown_2024029 - ldrb r0, [r0] - cmp r5, r0 - blt _08040CDC -_08040D20: - movs r0, 0 - cmp r6, 0x1 - bgt _08040D28 - movs r0, 0x2 -_08040D28: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08040D30: .4byte gUnknown_2024029 -_08040D34: .4byte gPlayerParty - thumb_func_end GetMonsStateToDoubles - - thumb_func_start GetAbilityBySpecies -GetAbilityBySpecies: @ 8040D38 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - cmp r1, 0 - beq _08040D5C - ldr r2, _08040D54 @ =gUnknown_2023D6A - ldr r1, _08040D58 @ =gBaseStats - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x17] - b _08040D6A - .align 2, 0 -_08040D54: .4byte gUnknown_2023D6A -_08040D58: .4byte gBaseStats -_08040D5C: - ldr r2, _08040D74 @ =gUnknown_2023D6A - ldr r1, _08040D78 @ =gBaseStats - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x16] -_08040D6A: - strb r0, [r2] - ldrb r0, [r2] - pop {r1} - bx r1 - .align 2, 0 -_08040D74: .4byte gUnknown_2023D6A -_08040D78: .4byte gBaseStats - thumb_func_end GetAbilityBySpecies - - thumb_func_start GetMonAbility -GetMonAbility: @ 8040D7C - 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: @ 8040DB0 - 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, _08040ED8 @ =gBattleResources - ldr r0, [r4] - ldr r0, [r0] - adds r1, r5, 0 - movs r2, 0xA0 - bl memcpy - movs r0, 0 - mov r9, r0 -_08040DD4: - ldr r1, _08040ED8 @ =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 _08040EAE - movs r0, 0x64 - mov r6, r9 - muls r6, r0 - ldr r4, _08040EDC @ =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, _08040ED8 @ =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 sub_804037C - movs r5, 0 - mov r10, r4 - mov r7, r9 - adds r7, 0x9A - mov r4, r8 -_08040E44: - adds r1, r5, 0 - adds r1, 0x1A - ldr r2, _08040ED8 @ =gBattleResources - ldr r0, [r2] - ldr r2, [r0] - adds r2, r7 - adds r0, r6, r4 - bl sub_804037C - adds r5, 0x1 - cmp r5, 0x5 - ble _08040E44 - movs r5, 0 - movs r3, 0x64 - mov r0, r9 - muls r0, r3 - ldr r1, _08040EDC @ =gEnemyParty - adds r7, r0, r1 - mov r4, r10 - lsls r0, r4, 1 - adds r6, r0, 0 - adds r6, 0x4C - adds r4, r0, 0 -_08040E72: - adds r1, r5, 0 - adds r1, 0xD - ldr r2, _08040ED8 @ =gBattleResources - ldr r0, [r2] - ldr r2, [r0] - adds r2, r6 - adds r0, r7, 0 - bl sub_804037C - adds r1, r5, 0 - adds r1, 0x11 - ldr r3, _08040ED8 @ =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, _08040EE0 @ =gUnknown_8250C08 - adds r2, r0 - adds r0, r7, 0 - bl sub_804037C - adds r6, 0x2 - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08040E72 -_08040EAE: - ldr r4, [sp, 0x10] - mov r9, r4 - cmp r4, 0x5 - ble _08040DD4 - ldr r1, _08040EE4 @ =gBattleTypeFlags - movs r0, 0x8 - str r0, [r1] - ldr r1, _08040EE8 @ =gTrainerBattleOpponent_A - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08040ED8: .4byte gBattleResources -_08040EDC: .4byte gEnemyParty -_08040EE0: .4byte gUnknown_8250C08 -_08040EE4: .4byte gBattleTypeFlags -_08040EE8: .4byte gTrainerBattleOpponent_A - thumb_func_end CreateSecretBaseEnemyParty - - thumb_func_start GetSecretBaseTrainerPicIndex -GetSecretBaseTrainerPicIndex: @ 8040EEC - push {r4,r5,lr} - ldr r5, _08040F20 @ =gUnknown_825DFE0 - ldr r0, _08040F24 @ =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, _08040F28 @ =gUnknown_82538A8 - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08040F20: .4byte gUnknown_825DFE0 -_08040F24: .4byte gBattleResources -_08040F28: .4byte gUnknown_82538A8 - thumb_func_end GetSecretBaseTrainerPicIndex - - thumb_func_start GetSecretBaseTrainerNameIndex -GetSecretBaseTrainerNameIndex: @ 8040F2C - push {r4,r5,lr} - ldr r5, _08040F60 @ =gUnknown_825DFE0 - ldr r0, _08040F64 @ =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, _08040F68 @ =gUnknown_825393E - adds r0, r1 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08040F60: .4byte gUnknown_825DFE0 -_08040F64: .4byte gBattleResources -_08040F68: .4byte gUnknown_825393E - thumb_func_end GetSecretBaseTrainerNameIndex - - thumb_func_start IsPlayerPartyAndPokemonStorageFull -IsPlayerPartyAndPokemonStorageFull: @ 8040F6C - push {r4,lr} - movs r4, 0 -_08040F70: - movs r0, 0x64 - muls r0, r4 - ldr r1, _08040F88 @ =gPlayerParty - adds r0, r1 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08040F8C - movs r0, 0 - b _08040F9A - .align 2, 0 -_08040F88: .4byte gPlayerParty -_08040F8C: - adds r4, 0x1 - cmp r4, 0x5 - ble _08040F70 - bl IsPokemonStorageFull - lsls r0, 24 - lsrs r0, 24 -_08040F9A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end IsPlayerPartyAndPokemonStorageFull - - thumb_func_start IsPokemonStorageFull -IsPokemonStorageFull: @ 8040FA0 - push {r4-r6,lr} - movs r6, 0 -_08040FA4: - movs r4, 0 - lsls r5, r6, 24 -_08040FA8: - lsls r1, r4, 24 - lsrs r1, 24 - lsrs r0, r5, 24 - movs r2, 0xB - bl GetBoxMonDataFromAnyBox - cmp r0, 0 - bne _08040FBC - movs r0, 0 - b _08040FCA -_08040FBC: - adds r4, 0x1 - cmp r4, 0x1D - ble _08040FA8 - adds r6, 0x1 - cmp r6, 0xD - ble _08040FA4 - movs r0, 0x1 -_08040FCA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsPokemonStorageFull - - thumb_func_start GetSpeciesName -GetSpeciesName: @ 8040FD0 - 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, _08040FEC @ =gUnknown_8245EE0 - movs r0, 0xB - muls r0, r5 - adds r3, r0, r7 - adds r2, r6, 0 - b _08040FF6 - .align 2, 0 -_08040FEC: .4byte gUnknown_8245EE0 -_08040FF0: - adds r3, 0x1 - adds r2, 0x1 - adds r1, 0x1 -_08040FF6: - adds r4, r6, r1 - cmp r1, 0x9 - bgt _08041010 - cmp r5, r12 - bls _08041006 - adds r0, r1, r7 - ldrb r0, [r0] - b _08041008 -_08041006: - ldrb r0, [r3] -_08041008: - strb r0, [r2] - ldrb r0, [r4] - cmp r0, 0xFF - bne _08040FF0 -_08041010: - movs r0, 0xFF - strb r0, [r4] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetSpeciesName - - thumb_func_start CalculatePPWithBonus -CalculatePPWithBonus: @ 804101C - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - lsrs r2, 24 - ldr r4, _0804105C @ =gBattleMoves - lsls r3, r0, 1 - adds r3, r0 - lsls r3, 2 - adds r3, r4 - ldrb r4, [r3, 0x4] - ldr r0, _08041060 @ =gUnknown_825DEA1 - 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 - .align 2, 0 -_0804105C: .4byte gBattleMoves -_08041060: .4byte gUnknown_825DEA1 - thumb_func_end CalculatePPWithBonus - - thumb_func_start RemoveMonPPBonus -RemoveMonPPBonus: @ 8041064 - 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, _0804109C @ =gUnknown_825DEA5 - 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 sub_804037C - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804109C: .4byte gUnknown_825DEA5 - thumb_func_end RemoveMonPPBonus - - thumb_func_start RemoveBattleMonPPBonus -RemoveBattleMonPPBonus: @ 80410A0 - lsls r1, 24 - lsrs r1, 24 - adds r0, 0x3B - ldr r2, _080410B4 @ =gUnknown_825DEA5 - adds r1, r2 - ldrb r2, [r0] - ldrb r1, [r1] - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080410B4: .4byte gUnknown_825DEA5 - thumb_func_end RemoveBattleMonPPBonus - - thumb_func_start CopyPlayerPartyMonToBattleData -CopyPlayerPartyMonToBattleData: @ 80410B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - movs r0, 0x64 - mov r5, r9 - muls r5, r0 - ldr r0, _080413A4 @ =gPlayerParty - adds r5, r0 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - ldr r1, _080413A8 @ =gBattleMons - mov r8, r1 - movs r1, 0x58 - ldr r2, [sp, 0x14] - adds r4, r2, 0 - muls r4, r1 - mov r3, r8 - adds r6, r4, r3 - strh r0, [r6] - adds r0, r5, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - strh r0, [r6, 0x2E] - movs r6, 0 - mov r0, r8 - adds r0, 0x24 - adds r7, r4, r0 -_0804110A: - adds r1, r6, 0 - adds r1, 0xD - adds r0, r5, 0 - movs r2, 0 - bl GetMonData - movs r1, 0xC - add r1, r8 - mov r10, r1 - adds r1, r4, r1 - strh r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - movs r2, 0 - bl GetMonData - strb r0, [r7] - adds r7, 0x1 - adds r4, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _0804110A - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _080413A4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - movs r2, 0xC - negs r2, r2 - add r2, r10 - mov r9, r2 - movs r1, 0x58 - ldr r3, [sp, 0x14] - adds r5, r3, 0 - muls r5, r1 - adds r7, r5, r2 - adds r1, r7, 0 - adds r1, 0x3B - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r1, r7, 0 - adds r1, 0x2B - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - mov r1, r10 - adds r1, 0x38 - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x27 - movs r2, 0 - bl GetMonData - movs r6, 0x1F - ands r0, r6 - ldrb r2, [r7, 0x14] - movs r1, 0x20 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x28 - movs r2, 0 - bl GetMonData - movs r1, 0x1F - mov r8, r1 - mov r2, r8 - ands r0, r2 - lsls r0, 5 - ldrh r2, [r7, 0x14] - ldr r1, _080413AC @ =0xfffffc1f - ands r1, r2 - orrs r1, r0 - strh r1, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x29 - movs r2, 0 - bl GetMonData - ands r0, r6 - lsls r0, 2 - ldrb r2, [r7, 0x15] - movs r1, 0x7D - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x15] - adds r0, r4, 0 - movs r1, 0x2A - movs r2, 0 - bl GetMonData - movs r1, 0x1F - ands r1, r0 - lsls r1, 15 - ldr r0, [r7, 0x14] - ldr r2, _080413B0 @ =0xfff07fff - ands r0, r2 - orrs r0, r1 - str r0, [r7, 0x14] - adds r0, r4, 0 - movs r1, 0x2B - movs r2, 0 - bl GetMonData - mov r3, r8 - ands r0, r3 - lsls r0, 4 - ldrh r2, [r7, 0x16] - ldr r1, _080413B4 @ =0xfffffe0f - ands r1, r2 - orrs r1, r0 - strh r1, [r7, 0x16] - adds r0, r4, 0 - movs r1, 0x2C - movs r2, 0 - bl GetMonData - ands r0, r6 - lsls r0, 1 - ldrb r2, [r7, 0x17] - movs r1, 0x3F - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - mov r1, r10 - adds r1, 0x3C - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x37 - movs r2, 0 - bl GetMonData - mov r1, r10 - adds r1, 0x40 - adds r1, r5, r1 - str r0, [r1] - adds r0, r4, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - adds r1, r7, 0 - adds r1, 0x2A - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x28] - adds r0, r4, 0 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x2C] - adds r0, r4, 0 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x2] - adds r0, r4, 0 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x4] - adds r0, r4, 0 - movs r1, 0x3D - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x6] - adds r0, r4, 0 - movs r1, 0x3E - movs r2, 0 - bl GetMonData - strh r0, [r7, 0x8] - adds r0, r4, 0 - movs r1, 0x3F - movs r2, 0 - bl GetMonData - strh r0, [r7, 0xA] - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl GetMonData - movs r1, 0x1 - ands r0, r1 - lsls r0, 6 - ldrb r2, [r7, 0x17] - movs r1, 0x41 - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0x2E - movs r2, 0 - bl GetMonData - lsls r0, 7 - ldrb r2, [r7, 0x17] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x17] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - mov r1, r10 - adds r1, 0x48 - adds r1, r5, r1 - str r0, [r1] - ldr r2, _080413B8 @ =gBaseStats - ldrh r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x6] - adds r1, r7, 0 - adds r1, 0x21 - strb r0, [r1] - ldrh r1, [r7] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - adds r1, r7, 0 - adds r1, 0x22 - strb r0, [r1] - ldrh r0, [r7] - ldrb r1, [r7, 0x17] - lsrs r1, 7 - bl GetAbilityBySpecies - adds r1, r7, 0 - adds r1, 0x20 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, r10 - adds r0, 0x24 - adds r0, r5, r0 - mov r1, sp - bl StringCopy10 - mov r2, r10 - adds r2, 0x30 - adds r2, r5, r2 - adds r0, r4, 0 - movs r1, 0x7 - bl GetMonData - ldr r0, [sp, 0x14] - bl GetBankSide - ldr r1, _080413BC @ =gBattleStruct - lsls r0, 24 - lsrs r0, 23 - adds r0, 0xA8 - ldr r1, [r1] - adds r1, r0 - ldrh r0, [r7, 0x28] - strh r0, [r1] - movs r2, 0x6 - mov r1, r9 - movs r6, 0x7 - add r5, r10 - adds r0, r5, 0 - adds r0, 0x13 -_0804136E: - strb r2, [r0] - subs r0, 0x1 - subs r6, 0x1 - cmp r6, 0 - bge _0804136E - movs r2, 0 - movs r0, 0x58 - ldr r3, [sp, 0x14] - muls r0, r3 - adds r1, 0x50 - adds r0, r1 - str r2, [r0] - ldr r0, [sp, 0x14] - bl sub_80174B8 - ldr r0, [sp, 0x14] - movs r1, 0 - bl ClearTemporarySpeciesSpriteData - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080413A4: .4byte gPlayerParty -_080413A8: .4byte gBattleMons -_080413AC: .4byte 0xfffffc1f -_080413B0: .4byte 0xfff07fff -_080413B4: .4byte 0xfffffe0f -_080413B8: .4byte gBaseStats -_080413BC: .4byte gBattleStruct - thumb_func_end CopyPlayerPartyMonToBattleData - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index b8fc0356d..29fd8ba66 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,63 +5,6 @@ .text - thumb_func_start sub_80423A4 -sub_80423A4: @ 80423A4 - 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 _08042408 - mvns r4, r4 - ands r1, r4 - str r1, [sp] - adds r0, r5, 0 - movs r1, 0x37 - mov r2, sp - bl sub_804037C - ldr r0, _080423FC @ =gMain - ldr r1, _08042400 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080423F6 - cmp r6, 0x4 - beq _080423F6 - ldr r0, _08042404 @ =gBattleMons - movs r1, 0x58 - muls r1, r6 - adds r0, 0x4C - adds r1, r0 - ldr r0, [r1] - ands r0, r4 - str r0, [r1] -_080423F6: - movs r0, 0 - b _0804240A - .align 2, 0 -_080423FC: .4byte gMain -_08042400: .4byte 0x00000439 -_08042404: .4byte gBattleMons -_08042408: - movs r0, 0x1 -_0804240A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80423A4 - thumb_func_start sub_8042414 sub_8042414: @ 8042414 push {r4-r7,lr} @@ -97,8 +40,8 @@ sub_8042414: @ 8042414 beq _08042458 bl ItemId_GetHoldEffect _08042458: - ldr r1, _080424B0 @ =gUnknown_2023D6F - ldr r0, _080424B4 @ =gUnknown_2024004 + ldr r1, _080424B0 @ =gPotentialItemEffectBattler + ldr r0, _080424B4 @ =gBattlerInMenuId ldrb r2, [r0] strb r2, [r1] ldr r0, _080424B8 @ =gMain @@ -114,14 +57,14 @@ _08042458: ldr r0, _080424C0 @ =gActiveBattler strb r2, [r0] ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 negs r1, r0 orrs r1, r0 lsrs r1, 31 str r1, [sp, 0xC] - ldr r0, _080424C4 @ =gUnknown_2023BCC + ldr r0, _080424C4 @ =gBattlersCount ldr r4, [sp] subs r4, 0xD ldrb r0, [r0] @@ -141,18 +84,18 @@ _08042458: str r2, [sp, 0x1C] b _08042504 .align 2, 0 -_080424B0: .4byte gUnknown_2023D6F -_080424B4: .4byte gUnknown_2024004 +_080424B0: .4byte gPotentialItemEffectBattler +_080424B4: .4byte gBattlerInMenuId _080424B8: .4byte gMain _080424BC: .4byte 0x00000439 _080424C0: .4byte gActiveBattler -_080424C4: .4byte gUnknown_2023BCC +_080424C4: .4byte gBattlersCount _080424C8: .4byte gBattlerPartyIndexes _080424CC: ldr r0, [sp, 0xC] adds r0, 0x2 str r0, [sp, 0xC] - ldr r0, _080424F4 @ =gUnknown_2023BCC + ldr r0, _080424F4 @ =gBattlersCount ldr r1, [sp, 0xC] ldrb r0, [r0] cmp r1, r0 @@ -169,7 +112,7 @@ _080424CC: str r0, [sp, 0x1C] b _08042504 .align 2, 0 -_080424F4: .4byte gUnknown_2023BCC +_080424F4: .4byte gBattlersCount _080424F8: ldr r0, _08042520 @ =gActiveBattler strb r1, [r0] @@ -182,7 +125,7 @@ _08042504: lsrs r0, 16 cmp r0, 0xA5 bhi _08042578 - ldr r1, _08042524 @ =gUnknown_82528BC + ldr r1, _08042524 @ =gItemEffectTable lsls r0, r4, 2 adds r0, r1 ldr r0, [r0] @@ -194,7 +137,7 @@ _08042504: b _08042578 .align 2, 0 _08042520: .4byte gActiveBattler -_08042524: .4byte gUnknown_82528BC +_08042524: .4byte gItemEffectTable _08042528: ldr r2, [sp] cmp r2, 0xAF @@ -213,14 +156,14 @@ _0804252E: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _0804255C @ =gUnknown_2023F5C + ldr r1, _0804255C @ =gEnigmaBerries+0x8 adds r0, r1 b _0804257C .align 2, 0 _08042550: .4byte gMain _08042554: .4byte 0x00000439 _08042558: .4byte gActiveBattler -_0804255C: .4byte gUnknown_2023F5C +_0804255C: .4byte gEnigmaBerries+0x8 _08042560: ldr r0, _0804256C @ =gSaveBlock1Ptr ldr r0, [r0] @@ -451,10 +394,10 @@ _08042708: adds r5, r2, 0 cmp r0, 0 beq _0804273A - ldr r4, _08042838 @ =gUnknown_2023DE4 + ldr r4, _08042838 @ =gSideTimers ldr r0, _0804283C @ =gActiveBattler ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 lsrs r0, 24 lsls r1, r0, 1 @@ -599,7 +542,7 @@ _08042832: str r0, [sp, 0x10] b _08042BCA .align 2, 0 -_08042838: .4byte gUnknown_2023DE4 +_08042838: .4byte gSideTimers _0804283C: .4byte gActiveBattler _08042840: .4byte 0x00000f88 _08042844: .4byte gMain @@ -698,7 +641,7 @@ _08042904: bls _08042914 b _08042578 _08042914: - ldr r0, _08042930 @ =gUnknown_825DFEA + ldr r0, _08042930 @ =sGetMonDataEVConstants add r0, r9 ldrb r1, [r0] mov r0, r8 @@ -712,7 +655,7 @@ _0804292A: b _08042A3A .align 2, 0 _0804292C: .4byte 0x01fd0000 -_08042930: .4byte gUnknown_825DFEA +_08042930: .4byte sGetMonDataEVConstants _08042934: movs r0, 0x10 ands r0, r7 @@ -854,7 +797,7 @@ _08042A4A: mov r0, r8 movs r1, 0x2 ldr r2, [sp] - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 cmp r0, 0 beq _08042A5C @@ -916,7 +859,7 @@ _08042ABC: bls _08042ACC b _08042578 _08042ACC: - ldr r0, _08042AF0 @ =gUnknown_825DFEA + ldr r0, _08042AF0 @ =sGetMonDataEVConstants mov r1, r9 adds r1, 0x2 adds r1, r0 @@ -932,7 +875,7 @@ _08042ACC: b _08042BB4 .align 2, 0 _08042AEC: .4byte 0x01fd0000 -_08042AF0: .4byte gUnknown_825DFEA +_08042AF0: .4byte sGetMonDataEVConstants _08042AF4: mov r0, r8 movs r1, 0x15 @@ -1089,7 +1032,7 @@ GetItemEffectParamOffset: @ 8042C08 lsls r2, 24 lsrs r5, r2, 24 movs r7, 0x6 - ldr r1, _08042C30 @ =gUnknown_82528BC + ldr r1, _08042C30 @ =gItemEffectTable adds r0, r3, 0 subs r0, 0xD lsls r0, 2 @@ -1103,7 +1046,7 @@ _08042C2C: movs r0, 0 b _08042D48 .align 2, 0 -_08042C30: .4byte gUnknown_82528BC +_08042C30: .4byte gItemEffectTable _08042C34: cmp r3, 0xAF bne _08042C46 @@ -1113,7 +1056,7 @@ _08042C38: lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _08042C5C @ =gUnknown_2023F5C + ldr r1, _08042C5C @ =gEnigmaBerries+0x8 adds r0, r1 _08042C46: mov r12, r0 @@ -1128,7 +1071,7 @@ _08042C4A: b _08042D3E .align 2, 0 _08042C58: .4byte gActiveBattler -_08042C5C: .4byte gUnknown_2023F5C +_08042C5C: .4byte gEnigmaBerries+0x8 _08042C60: cmp r2, 0 blt _08042D3E @@ -1266,7 +1209,7 @@ _08042D48: sub_8042D50: @ 8042D50 push {lr} ldr r2, _08042D84 @ =gBattlerTarget - ldr r1, _08042D88 @ =gUnknown_2024004 + ldr r1, _08042D88 @ =gBattlerInMenuId ldrb r1, [r1] strb r1, [r2] ldr r3, _08042D8C @ =gUnknown_2022AB8 @@ -1288,7 +1231,7 @@ sub_8042D50: @ 8042D50 bx r0 .align 2, 0 _08042D84: .4byte gBattlerTarget -_08042D88: .4byte gUnknown_2024004 +_08042D88: .4byte gBattlerInMenuId _08042D8C: .4byte gUnknown_2022AB8 _08042D90: .4byte gUnknown_83FD5D0 _08042D94: .4byte gUnknown_825DFF0 @@ -1314,19 +1257,19 @@ sub_8042DA4: @ 8042DA4 ands r0, r1 cmp r0, 0 beq _08042DE4 - ldr r2, _08042DDC @ =gUnknown_2024004 + ldr r2, _08042DDC @ =gBattlerInMenuId ldrb r1, [r2] lsls r0, r1, 3 subs r0, r1 lsls r0, 2 - ldr r1, _08042DE0 @ =gUnknown_2023F5C + ldr r1, _08042DE0 @ =gEnigmaBerries+0x8 adds r7, r0, r1 b _08042E04 .align 2, 0 _08042DD4: .4byte gMain _08042DD8: .4byte 0x00000439 -_08042DDC: .4byte gUnknown_2024004 -_08042DE0: .4byte gUnknown_2023F5C +_08042DDC: .4byte gBattlerInMenuId +_08042DE0: .4byte gEnigmaBerries+0x8 _08042DE4: ldr r0, _08042DF0 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -1337,15 +1280,15 @@ _08042DE4: _08042DF0: .4byte gSaveBlock1Ptr _08042DF4: .4byte 0x00003108 _08042DF8: - ldr r1, _08042E3C @ =gUnknown_82528BC + ldr r1, _08042E3C @ =gItemEffectTable subs r0, 0xD lsls r0, 2 adds r0, r1 ldr r7, [r0] _08042E02: - ldr r2, _08042E40 @ =gUnknown_2024004 + ldr r2, _08042E40 @ =gBattlerInMenuId _08042E04: - ldr r1, _08042E44 @ =gUnknown_2023D6F + ldr r1, _08042E44 @ =gPotentialItemEffectBattler ldrb r0, [r2] strb r0, [r1] movs r5, 0 @@ -1373,12 +1316,12 @@ _08042E24: bl sub_8042D50 b _08042E5A .align 2, 0 -_08042E3C: .4byte gUnknown_82528BC -_08042E40: .4byte gUnknown_2024004 -_08042E44: .4byte gUnknown_2023D6F +_08042E3C: .4byte gItemEffectTable +_08042E40: .4byte gBattlerInMenuId +_08042E44: .4byte gPotentialItemEffectBattler _08042E48: .4byte sBattler_AI _08042E4C: - ldr r0, _08042E88 @ =gUnknown_2024004 + ldr r0, _08042E88 @ =gBattlerInMenuId ldrb r0, [r0] mov r1, r8 strb r0, [r1] @@ -1395,7 +1338,7 @@ _08042E5A: cmp r0, 0 beq _08042E7A ldr r1, _08042E90 @ =sBattler_AI - ldr r0, _08042E88 @ =gUnknown_2024004 + ldr r0, _08042E88 @ =gBattlerInMenuId ldrb r0, [r0] strb r0, [r1] ldr r0, _08042E94 @ =gUnknown_83FBBB4 @@ -1408,7 +1351,7 @@ _08042E7A: pop {r1} bx r1 .align 2, 0 -_08042E88: .4byte gUnknown_2024004 +_08042E88: .4byte gBattlerInMenuId _08042E8C: .4byte gUnknown_83FBBE9 _08042E90: .4byte sBattler_AI _08042E94: .4byte gUnknown_83FBBB4 @@ -1440,8 +1383,8 @@ GetNatureFromPersonality: @ 8042EB4 bx r1 thumb_func_end GetNatureFromPersonality - thumb_func_start sub_8042EC4 -sub_8042EC4: @ 8042EC4 + thumb_func_start GetEvolutionTargetSpecies +GetEvolutionTargetSpecies: @ 8042EC4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -1778,7 +1721,7 @@ _0804315E: mov r0, r8 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData _0804316E: adds r4, 0x8 ldr r2, [sp, 0x4] @@ -1820,7 +1763,7 @@ _080431A4: pop {r4-r7} pop {r1} bx r1 - thumb_func_end sub_8042EC4 + thumb_func_end GetEvolutionTargetSpecies thumb_func_start sub_80431B4 sub_80431B4: @ 80431B4 @@ -2064,7 +2007,7 @@ sub_8043338: @ 8043338 lsls r1, 17 cmp r0, r1 bne _08043446 - ldr r0, _08043408 @ =gUnknown_202401C + ldr r0, _08043408 @ =gMonSpritesGfxPtr ldr r1, [r0] ldr r0, [r1, 0x4] cmp r10, r0 @@ -2159,7 +2102,7 @@ _080433C8: adds r0, 0x40 b _08043426 .align 2, 0 -_08043408: .4byte gUnknown_202401C +_08043408: .4byte gMonSpritesGfxPtr _0804340C: .4byte gUnknown_825265C _08043410: .4byte gUnknown_825265E _08043414: @@ -2383,7 +2326,7 @@ EvolutionRenameMon: @ 804356C movs r6, 0xB adds r0, r7, 0 muls r0, r6 - ldr r4, _080435DC @ =gUnknown_8245EE0 + ldr r4, _080435DC @ =gSpeciesNames adds r0, r4 mov r1, r9 bl StringCompare @@ -2394,7 +2337,7 @@ EvolutionRenameMon: @ 804356C adds r2, r4 adds r0, r5, 0 movs r1, 0x2 - bl sub_804037C + bl SetMonData _080435C8: add sp, 0x4 pop {r3,r4} @@ -2405,7 +2348,7 @@ _080435C8: bx r0 .align 2, 0 _080435D8: .4byte gStringVar1 -_080435DC: .4byte gUnknown_8245EE0 +_080435DC: .4byte gSpeciesNames thumb_func_end EvolutionRenameMon thumb_func_start sub_80435E0 @@ -2606,13 +2549,13 @@ sub_80436F8: @ 80436F8 ands r0, r1 cmp r0, 0 beq _08043744 - ldr r0, _08043740 @ =gUnknown_2023F54 + ldr r0, _08043740 @ =gEnigmaBerries ldrb r4, [r0, 0x7] b _08043760 .align 2, 0 _08043738: .4byte gMain _0804373C: .4byte 0x00000439 -_08043740: .4byte gUnknown_2023F54 +_08043740: .4byte gEnigmaBerries _08043744: ldr r0, _08043750 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -2770,7 +2713,7 @@ _0804386C: adds r0, r7, 0 movs r1, 0x20 mov r2, sp - bl sub_804037C + bl SetMonData _08043876: add sp, 0x4 pop {r4-r7} @@ -2925,14 +2868,14 @@ _0804397C: ands r0, r1 cmp r0, 0 beq _080439B4 - ldr r0, _080439B0 @ =gUnknown_2023F54 + ldr r0, _080439B0 @ =gEnigmaBerries ldrb r0, [r0, 0x7] b _080439D0 .align 2, 0 _080439A4: .4byte gBaseStats _080439A8: .4byte gMain _080439AC: .4byte 0x00000439 -_080439B0: .4byte gUnknown_2023F54 +_080439B0: .4byte gEnigmaBerries _080439B4: ldr r0, _080439C0 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -2989,7 +2932,7 @@ _08043A0C: adds r1, r6, 0 adds r1, 0x1A mov r0, r8 - bl sub_804037C + bl SetMonData adds r6, 0x1 cmp r6, 0x5 bgt _08043A2E @@ -3170,7 +3113,7 @@ sub_8043B48: @ 8043B48 sub sp, 0x4 adds r4, r0, 0 str r3, [sp] - ldr r2, _08043B88 @ =gUnknown_8253AE4 + ldr r2, _08043B88 @ =gExperienceTables ldr r3, _08043B8C @ =gBaseStats lsls r0, r1, 3 subs r0, r1 @@ -3192,14 +3135,14 @@ sub_8043B48: @ 8043B48 adds r0, r4, 0 movs r1, 0x19 mov r2, sp - bl sub_804037C + bl SetMonData _08043B80: add sp, 0x4 pop {r4} pop {r0} bx r0 .align 2, 0 -_08043B88: .4byte gUnknown_8253AE4 +_08043B88: .4byte gExperienceTables _08043B8C: .4byte gBaseStats thumb_func_end sub_8043B48 @@ -3232,7 +3175,7 @@ sub_8043B90: @ 8043B90 adds r5, r0, 0 cmp r7, 0x63 bhi _08043C14 - ldr r3, _08043C0C @ =gUnknown_8253AE4 + ldr r3, _08043C0C @ =gExperienceTables mov r0, sp ldrb r1, [r0] lsls r1, 2 @@ -3253,7 +3196,7 @@ sub_8043B90: @ 8043B90 adds r0, r4, 0 movs r1, 0x38 mov r2, sp - bl sub_804037C + bl SetMonData mov r0, sp ldrb r2, [r0] adds r0, r4, 0 @@ -3263,7 +3206,7 @@ sub_8043B90: @ 8043B90 movs r0, 0x1 b _08043C22 .align 2, 0 -_08043C0C: .4byte gUnknown_8253AE4 +_08043C0C: .4byte gExperienceTables _08043C10: .4byte gBaseStats _08043C14: adds r0, r4, 0 @@ -3369,7 +3312,7 @@ _08043CBA: cmp r5, 0x3 ble _08043CBA movs r5, 0 - ldr r6, _08043DC8 @ =gUnknown_825D7B4 + ldr r6, _08043DC8 @ =gLevelUpLearnsets lsls r1, r7, 2 adds r2, r1, r6 ldr r3, [r2] @@ -3403,7 +3346,7 @@ _08043CE8: cmp r1, r0 beq _08043D38 ldr r0, [sp, 0x14] - ldr r1, _08043DC8 @ =gUnknown_825D7B4 + ldr r1, _08043DC8 @ =gLevelUpLearnsets adds r6, r0, r1 ldr r2, _08043DD0 @ =0x000001ff mov r8, r2 @@ -3439,7 +3382,7 @@ _08043D38: cmp r2, r0 beq _08043D7C ldr r1, [sp, 0x14] - ldr r2, _08043DC8 @ =gUnknown_825D7B4 + ldr r2, _08043DC8 @ =gLevelUpLearnsets adds r6, r1, r2 ldr r0, _08043DD0 @ =0x000001ff mov r8, r0 @@ -3499,7 +3442,7 @@ _08043DB4: pop {r1} bx r1 .align 2, 0 -_08043DC8: .4byte gUnknown_825D7B4 +_08043DC8: .4byte gLevelUpLearnsets _08043DCC: .4byte 0x0000ffff _08043DD0: .4byte 0x000001ff thumb_func_end GetMoveRelearnerMoves @@ -3511,7 +3454,7 @@ GetLevelUpMovesBySpecies: @ 8043DD4 lsls r0, 16 movs r5, 0 movs r4, 0 - ldr r1, _08043E20 @ =gUnknown_825D7B4 + ldr r1, _08043E20 @ =gLevelUpLearnsets lsrs r0, 14 adds r0, r1 ldr r2, [r0] @@ -3547,7 +3490,7 @@ _08043E18: pop {r1} bx r1 .align 2, 0 -_08043E20: .4byte gUnknown_825D7B4 +_08043E20: .4byte gLevelUpLearnsets _08043E24: .4byte 0x0000ffff _08043E28: .4byte 0x000001ff thumb_func_end GetLevelUpMovesBySpecies @@ -3599,7 +3542,7 @@ _08043E70: cmp r5, 0x3 ble _08043E70 movs r5, 0 - ldr r3, _08043F84 @ =gUnknown_825D7B4 + ldr r3, _08043F84 @ =gLevelUpLearnsets ldr r2, [sp, 0x38] adds r1, r2, r3 ldr r0, [r1] @@ -3635,7 +3578,7 @@ _08043EA0: cmp r1, r0 beq _08043EF2 ldr r0, [sp, 0x38] - ldr r1, _08043F84 @ =gUnknown_825D7B4 + ldr r1, _08043F84 @ =gLevelUpLearnsets adds r6, r0, r1 ldr r2, _08043F8C @ =0x000001ff mov r8, r2 @@ -3672,7 +3615,7 @@ _08043EF2: cmp r2, r0 beq _08043F38 ldr r2, [sp, 0x38] - ldr r0, _08043F84 @ =gUnknown_825D7B4 + ldr r0, _08043F84 @ =gLevelUpLearnsets adds r6, r2, r0 ldr r2, _08043F8C @ =0x000001ff mov r8, r2 @@ -3733,7 +3676,7 @@ _08043F72: pop {r1} bx r1 .align 2, 0 -_08043F84: .4byte gUnknown_825D7B4 +_08043F84: .4byte gLevelUpLearnsets _08043F88: .4byte 0x0000ffff _08043F8C: .4byte 0x000001ff thumb_func_end GetNumberOfRelearnableMoves @@ -4245,7 +4188,7 @@ _080442EC: adds r1, 0x11 adds r0, r5, 0 mov r2, sp - bl sub_80404D0 + bl SetBoxMonData _08044338: adds r6, 0x1 cmp r6, 0x3 @@ -4259,7 +4202,7 @@ _08044338: thumb_func_start sub_8044348 sub_8044348: @ 8044348 push {r4,r5,lr} - ldr r2, _0804438C @ =gUnknown_2023D6A + ldr r2, _0804438C @ =gLastUsedAbility ldr r5, _08044390 @ =gBattleStruct ldr r1, [r5] adds r0, r1, 0 @@ -4277,7 +4220,7 @@ sub_8044348: @ 8044348 movs r0, 0xFF strb r0, [r4, 0x4] ldrb r0, [r1] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0804439C @@ -4291,7 +4234,7 @@ sub_8044348: @ 8044348 bl pokemon_order_func b _080443AA .align 2, 0 -_0804438C: .4byte gUnknown_2023D6A +_0804438C: .4byte gLastUsedAbility _08044390: .4byte gBattleStruct _08044394: .4byte gUnknown_2022AB8 _08044398: .4byte gBattlerPartyIndexes @@ -4310,7 +4253,7 @@ _080443AA: strb r0, [r4] movs r0, 0x4 strb r0, [r4, 0x1] - ldr r1, _080443E8 @ =gUnknown_2024004 + ldr r1, _080443E8 @ =gBattlerInMenuId ldrb r0, [r1] strb r0, [r4, 0x2] ldr r2, _080443E0 @ =gBattlerPartyIndexes @@ -4331,7 +4274,7 @@ _080443AA: .align 2, 0 _080443E0: .4byte gBattlerPartyIndexes _080443E4: .4byte gUnknown_2022AC8 -_080443E8: .4byte gUnknown_2024004 +_080443E8: .4byte gBattlerInMenuId _080443EC: .4byte gUnknown_83FCA2C _080443F0: .4byte gStringVar4 thumb_func_end sub_8044348 @@ -4377,7 +4320,7 @@ _0804443E: adds r2, r3, r2 adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData b _08044468 .align 2, 0 _0804444C: .4byte gBattleTypeFlags @@ -4389,7 +4332,7 @@ _0804445C: adds r2, r3, r2 adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData _08044468: pop {r4,r5} pop {r0} @@ -4518,12 +4461,12 @@ _08044548: .4byte gPlayerParty sub_804454C: @ 804454C lsls r0, 16 lsrs r0, 16 - ldr r1, _08044558 @ =gUnknown_82538A8 + ldr r1, _08044558 @ =gFacilityClassToPicIndex adds r0, r1 ldrb r0, [r0] bx lr .align 2, 0 -_08044558: .4byte gUnknown_82538A8 +_08044558: .4byte gFacilityClassToPicIndex thumb_func_end sub_804454C thumb_func_start sub_804455C @@ -4647,7 +4590,7 @@ _08044648: beq _08044632 _08044658: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08044632 @@ -4765,7 +4708,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3B mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3C movs r2, 0 @@ -4774,7 +4717,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3C mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3D movs r2, 0 @@ -4783,7 +4726,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3D mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3E movs r2, 0 @@ -4792,7 +4735,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3E mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x3F movs r2, 0 @@ -4801,7 +4744,7 @@ _0804470E: adds r0, r4, 0 movs r1, 0x3F mov r2, sp - bl sub_804037C + bl SetMonData _08044798: adds r5, 0x1 cmp r5, 0x5 @@ -4870,7 +4813,7 @@ sub_80447F0: @ 80447F0 ldrb r0, [r1, 0x13] lsls r0, 3 orrs r2, r0 - ldr r1, _08044830 @ =gUnknown_825393E + ldr r1, _08044830 @ =gFacilityClassToTrainerClass ldr r0, _08044834 @ =gUnknown_825E032 lsls r2, 1 adds r2, r0 @@ -4881,7 +4824,7 @@ sub_80447F0: @ 80447F0 bx r1 .align 2, 0 _0804482C: .4byte gUnknown_202273C -_08044830: .4byte gUnknown_825393E +_08044830: .4byte gFacilityClassToTrainerClass _08044834: .4byte gUnknown_825E032 thumb_func_end sub_80447F0 @@ -4908,7 +4851,7 @@ sub_8044838: @ 8044838 adds r1, r5, 0 adds r2, r4, 0 movs r3, 0x20 - bl sub_803E1EC + bl CreateObedientMon cmp r6, 0 beq _08044880 add r0, sp, 0x10 @@ -4919,7 +4862,7 @@ sub_8044838: @ 8044838 adds r0, r7, 0 movs r1, 0xC add r2, sp, 0x10 - bl sub_804037C + bl SetMonData _08044880: add sp, 0x14 pop {r4-r7} @@ -4997,7 +4940,7 @@ sub_80448F8: @ 80448F8 cmp r0, 0 beq _08044944 adds r0, r2, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08044944 diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s deleted file mode 100644 index 09be52894..000000000 --- a/asm/pokemon_item_effect.s +++ /dev/null @@ -1,1972 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start ExecuteTableBasedItemEffect_ -ExecuteTableBasedItemEffect_: @ 80413C0 - push {r4,lr} - sub sp, 0x4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_80413E4 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ExecuteTableBasedItemEffect_ - - thumb_func_start sub_80413E4 -sub_80413E4: @ 80413E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - mov r8, r0 - ldr r0, [sp, 0x5C] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0xC] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - movs r0, 0x1 - str r0, [sp, 0x1C] - movs r1, 0x6 - str r1, [sp, 0x24] - movs r2, 0 - str r2, [sp, 0x2C] - movs r3, 0x4 - str r3, [sp, 0x34] - mov r0, r8 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08041474 - ldr r0, _08041450 @ =gMain - ldr r4, _08041454 @ =0x00000439 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08041460 - ldr r2, _08041458 @ =gUnknown_2023F54 - ldr r0, _0804145C @ =gUnknown_2024004 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - b _0804147C - .align 2, 0 -_08041450: .4byte gMain -_08041454: .4byte 0x00000439 -_08041458: .4byte gUnknown_2023F54 -_0804145C: .4byte gUnknown_2024004 -_08041460: - ldr r0, _0804146C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r5, _08041470 @ =0x0000311a - adds r0, r5 - ldrb r0, [r0] - b _0804147C - .align 2, 0 -_0804146C: .4byte gSaveBlock1Ptr -_08041470: .4byte 0x0000311a -_08041474: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0804147C: - str r0, [sp, 0x30] - ldr r1, _080414D8 @ =gUnknown_2023D6F - ldr r0, _080414DC @ =gUnknown_2024004 - ldrb r2, [r0] - strb r2, [r1] - ldr r0, _080414E0 @ =gMain - ldr r1, _080414E4 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0804151C - ldr r0, _080414E8 @ =gActiveBattler - strb r2, [r0] - ldrb r0, [r0] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - str r1, [sp, 0x18] - ldr r0, _080414EC @ =gUnknown_2023BCC - ldr r4, [sp, 0x8] - subs r4, 0xD - ldrb r0, [r0] - cmp r1, r0 - bge _08041528 - ldr r2, _080414F0 @ =gBattlerPartyIndexes - lsls r0, r1, 1 - adds r0, r2 - ldrh r3, [r0] - ldr r5, [sp, 0xC] - lsls r0, r5, 16 - lsrs r1, r0, 16 - adds r5, r0, 0 - cmp r3, r1 - bne _080414F4 - ldr r0, [sp, 0x18] - str r0, [sp, 0x34] - b _08041528 - .align 2, 0 -_080414D8: .4byte gUnknown_2023D6F -_080414DC: .4byte gUnknown_2024004 -_080414E0: .4byte gMain -_080414E4: .4byte 0x00000439 -_080414E8: .4byte gActiveBattler -_080414EC: .4byte gUnknown_2023BCC -_080414F0: .4byte gBattlerPartyIndexes -_080414F4: - ldr r1, [sp, 0x18] - adds r1, 0x2 - str r1, [sp, 0x18] - ldr r0, _08041518 @ =gUnknown_2023BCC - ldrb r0, [r0] - cmp r1, r0 - bge _08041528 - lsls r0, r1, 1 - adds r0, r2 - ldrh r1, [r0] - lsrs r0, r5, 16 - cmp r1, r0 - bne _080414F4 - ldr r2, [sp, 0x18] - lsls r0, r2, 24 - lsrs r0, 24 - str r0, [sp, 0x34] - b _08041528 - .align 2, 0 -_08041518: .4byte gUnknown_2023BCC -_0804151C: - ldr r0, _08041544 @ =gActiveBattler - strb r1, [r0] - movs r3, 0x4 - str r3, [sp, 0x34] - ldr r4, [sp, 0x8] - subs r4, 0xD -_08041528: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0xA5 - bhi _080415A8 - ldr r1, _08041548 @ =gUnknown_82528BC - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0804154C - ldr r4, [sp, 0x8] - cmp r4, 0xAF - beq _08041552 - b _080415A8 - .align 2, 0 -_08041544: .4byte gActiveBattler -_08041548: .4byte gUnknown_82528BC -_0804154C: - ldr r5, [sp, 0x8] - cmp r5, 0xAF - bne _080415AE -_08041552: - ldr r0, _08041574 @ =gMain - ldr r1, _08041578 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08041584 - ldr r0, _0804157C @ =gActiveBattler - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _08041580 @ =gUnknown_2023F5C - adds r0, r1 - b _080415AE - .align 2, 0 -_08041574: .4byte gMain -_08041578: .4byte 0x00000439 -_0804157C: .4byte gActiveBattler -_08041580: .4byte gUnknown_2023F5C -_08041584: - ldr r0, _08041590 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _08041594 @ =0x00003108 - adds r2, r0, r2 - str r2, [sp, 0x20] - b _080415B0 - .align 2, 0 -_08041590: .4byte gSaveBlock1Ptr -_08041594: .4byte 0x00003108 -_08041598: - mov r0, r8 - movs r2, 0 - ldr r3, [sp, 0xC] - bl BeginEvolutionScene - movs r0, 0 - bl _08042394 -_080415A8: - movs r0, 0x1 - bl _08042394 -_080415AE: - str r0, [sp, 0x20] -_080415B0: - movs r3, 0 - str r3, [sp, 0x18] -_080415B4: - ldr r4, [sp, 0x18] - cmp r4, 0x5 - bls _080415BE - bl _08042384 -_080415BE: - lsls r0, r4, 2 - ldr r1, _080415C8 @ =_080415CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080415C8: .4byte _080415CC - .align 2, 0 -_080415CC: - .4byte _080415E4 - .4byte _080416B0 - .4byte _08041744 - .4byte _080417D8 - .4byte _080419B8 - .4byte _08042056 -_080415E4: - ldr r5, [sp, 0x20] - ldr r0, [sp, 0x18] - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _0804162C - ldr r0, _0804169C @ =gMain - ldr r1, _080416A0 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804162C - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _0804162C - ldr r1, _080416A4 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0xF0 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - beq _0804162C - ldr r0, _080416A8 @ =0xfff0ffff - ands r1, r0 - str r1, [r2] - movs r3, 0 - str r3, [sp, 0x1C] -_0804162C: - ldrb r1, [r6] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _0804165A - ldr r1, _080416A4 @ =gBattleMons - ldr r0, _080416AC @ =gActiveBattler - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 13 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0804165A - orrs r1, r3 - str r1, [r2] - movs r4, 0 - str r4, [sp, 0x1C] -_0804165A: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _08041668 - bl _08042384 -_08041668: - ldr r6, _080416A4 @ =gBattleMons - ldr r5, _080416AC @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x19] - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _08041682 - bl _08042384 -_08041682: - adds r0, r2, r3 - strb r0, [r1, 0x19] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xC - bgt _08041696 - b _0804198A -_08041696: - movs r0, 0xC - strb r0, [r1, 0x19] - b _0804198A - .align 2, 0 -_0804169C: .4byte gMain -_080416A0: .4byte 0x00000439 -_080416A4: .4byte gBattleMons -_080416A8: .4byte 0xfff0ffff -_080416AC: .4byte gActiveBattler -_080416B0: - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x18] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - lsls r3, r0, 24 - adds r6, r2, 0 - cmp r3, 0 - beq _080416F6 - ldr r7, _0804173C @ =gBattleMons - ldr r5, _08041740 @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r7 - ldrb r2, [r1, 0x1A] - movs r0, 0x1A - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _080416F6 - lsrs r0, r3, 28 - adds r0, r2, r0 - strb r0, [r1, 0x1A] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r7 - movs r0, 0x1A - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _080416F2 - movs r0, 0xC - strb r0, [r1, 0x1A] -_080416F2: - movs r2, 0 - str r2, [sp, 0x1C] -_080416F6: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _08041704 - bl _08042384 -_08041704: - ldr r6, _0804173C @ =gBattleMons - ldr r5, _08041740 @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x1B] - movs r0, 0x1B - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0804171E - bl _08042384 -_0804171E: - adds r0, r2, r3 - strb r0, [r1, 0x1B] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x1B - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _08041734 - movs r0, 0xC - strb r0, [r1, 0x1B] -_08041734: - movs r3, 0 - str r3, [sp, 0x1C] - bl _08042384 - .align 2, 0 -_0804173C: .4byte gBattleMons -_08041740: .4byte gActiveBattler -_08041744: - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x18] - adds r2, r4, r5 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - lsls r3, r0, 24 - adds r6, r2, 0 - cmp r3, 0 - beq _0804178A - ldr r7, _080417D0 @ =gBattleMons - ldr r5, _080417D4 @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r7 - ldrb r2, [r1, 0x1E] - movs r0, 0x1E - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _0804178A - lsrs r0, r3, 28 - adds r0, r2, r0 - strb r0, [r1, 0x1E] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r7 - movs r0, 0x1E - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _08041786 - movs r0, 0xC - strb r0, [r1, 0x1E] -_08041786: - movs r0, 0 - str r0, [sp, 0x1C] -_0804178A: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _08041798 - bl _08042384 -_08041798: - ldr r6, _080417D0 @ =gBattleMons - ldr r5, _080417D4 @ =gActiveBattler - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x1C] - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _080417B2 - bl _08042384 -_080417B2: - adds r0, r2, r3 - strb r0, [r1, 0x1C] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _080417C8 - movs r0, 0xC - strb r0, [r1, 0x1C] -_080417C8: - movs r1, 0 - str r1, [sp, 0x1C] - bl _08042384 - .align 2, 0 -_080417D0: .4byte gBattleMons -_080417D4: .4byte gActiveBattler -_080417D8: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x18] - adds r2, r3, r4 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _08041820 - ldr r5, _08041994 @ =gUnknown_2023DE4 - ldr r4, _08041998 @ =gActiveBattler - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _08041820 - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x5 - strb r0, [r1, 0x4] - movs r5, 0 - str r5, [sp, 0x1C] -_08041820: - ldrb r1, [r6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08041882 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - cmp r0, 0x64 - beq _08041882 - ldr r5, _0804199C @ =gUnknown_8253AE4 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, 0x1 - lsls r4, 2 - ldr r2, _080419A0 @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r0, r1 - adds r4, r0 - adds r4, r5 - ldr r0, [r4] - str r0, [sp] - mov r0, r8 - movs r1, 0x19 - mov r2, sp - bl sub_804037C - mov r0, r8 - bl CalculateMonStats - movs r0, 0 - str r0, [sp, 0x1C] -_08041882: - ldrb r1, [r6] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _080418BE - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x7 - ldr r3, [sp, 0x34] - bl sub_80423A4 - lsls r0, 24 - cmp r0, 0 - bne _080418BE - ldr r1, [sp, 0x34] - cmp r1, 0x4 - beq _080418BA - ldr r1, _080419A4 @ =gBattleMons - movs r0, 0x58 - ldr r3, [sp, 0x34] - adds r2, r3, 0 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - ldr r1, _080419A8 @ =0xf7ffffff - ands r0, r1 - str r0, [r2] -_080418BA: - movs r4, 0 - str r4, [sp, 0x1C] -_080418BE: - ldrb r1, [r6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080418DE - ldr r2, _080419AC @ =0x00000f88 - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r3, [sp, 0x34] - bl sub_80423A4 - lsls r0, 24 - cmp r0, 0 - bne _080418DE - movs r5, 0 - str r5, [sp, 0x1C] -_080418DE: - ldrb r1, [r6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080418FE - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x10 - ldr r3, [sp, 0x34] - bl sub_80423A4 - lsls r0, 24 - cmp r0, 0 - bne _080418FE - movs r0, 0 - str r0, [sp, 0x1C] -_080418FE: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0804191E - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x20 - ldr r3, [sp, 0x34] - bl sub_80423A4 - lsls r0, 24 - cmp r0, 0 - bne _0804191E - movs r1, 0 - str r1, [sp, 0x1C] -_0804191E: - ldrb r1, [r6] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804193E - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x40 - ldr r3, [sp, 0x34] - bl sub_80423A4 - lsls r0, 24 - cmp r0, 0 - bne _0804193E - movs r2, 0 - str r2, [sp, 0x1C] -_0804193E: - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0804194C - bl _08042384 -_0804194C: - ldr r0, _080419B0 @ =gMain - ldr r3, _080419B4 @ =0x00000439 - adds r0, r3 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08041960 - bl _08042384 -_08041960: - ldr r4, [sp, 0x34] - cmp r4, 0x4 - bne _0804196A - bl _08042384 -_0804196A: - ldr r1, _080419A4 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _08041982 - bl _08042384 -_08041982: - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r2] -_0804198A: - movs r5, 0 - str r5, [sp, 0x1C] - bl _08042384 - .align 2, 0 -_08041994: .4byte gUnknown_2023DE4 -_08041998: .4byte gActiveBattler -_0804199C: .4byte gUnknown_8253AE4 -_080419A0: .4byte gBaseStats -_080419A4: .4byte gBattleMons -_080419A8: .4byte 0xf7ffffff -_080419AC: .4byte 0x00000f88 -_080419B0: .4byte gMain -_080419B4: .4byte 0x00000439 -_080419B8: - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldrb r0, [r0] - mov r10, r0 - movs r0, 0x20 - mov r3, r10 - ands r0, r3 - cmp r0, 0 - beq _08041A90 - movs r0, 0xDF - ands r3, r0 - mov r10, r3 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _08041ABC @ =gUnknown_825DEA1 - ldr r4, [sp, 0x10] - adds r1, r4, r1 - ldrb r1, [r1] - ands r0, r1 - lsls r1, r4, 1 - lsrs r0, r1 - str r0, [sp] - adds r5, r4, 0 - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x28] - ldr r0, [sp] - cmp r0, 0x2 - bhi _08041A90 - ldr r0, [sp, 0x28] - cmp r0, 0x4 - bls _08041A90 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _08041AC0 @ =gUnknown_825DEA9 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - ldrb r1, [r1] - adds r0, r1 - str r0, [sp] - mov r0, r8 - movs r1, 0x15 - mov r2, sp - bl sub_804037C - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x28] - subs r0, r3 - str r0, [sp] - ldr r4, [sp, 0x10] - adds r4, 0x11 - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl sub_804037C - movs r4, 0 - str r4, [sp, 0x1C] -_08041A90: - movs r5, 0 - str r5, [sp, 0x28] - mov r0, r10 - cmp r0, 0 - bne _08041A9E - bl _08042384 -_08041A9E: - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - bne _08041AAA - b _08042042 -_08041AAA: - ldr r2, [sp, 0x28] - cmp r2, 0x7 - bls _08041AB2 - b _08042042 -_08041AB2: - lsls r0, r2, 2 - ldr r1, _08041AC4 @ =_08041AC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08041ABC: .4byte gUnknown_825DEA1 -_08041AC0: .4byte gUnknown_825DEA9 -_08041AC4: .4byte _08041AC8 - .align 2, 0 -_08041AC8: - .4byte _08041AE8 - .4byte _08041AE8 - .4byte _08041B70 - .4byte _08041D94 - .4byte _08042042 - .4byte _08042042 - .4byte _08042042 - .4byte _0804202C -_08041AE8: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _08041B28 @ =0x000001fd - cmp r5, r0 - bls _08041AFA - b _080415A8 -_08041AFA: - ldr r0, _08041B2C @ =gUnknown_825DFEA - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - cmp r1, 0x63 - bls _08041B14 - b _08042042 -_08041B14: - ldr r4, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r4, r2 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x64 - bls _08041B30 - adds r0, 0x64 - subs r4, r0, r1 - b _08041B32 - .align 2, 0 -_08041B28: .4byte 0x000001fd -_08041B2C: .4byte gUnknown_825DFEA -_08041B30: - adds r4, r0, 0 -_08041B32: - adds r1, r5, r4 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - bls _08041B40 - adds r0, r4, r0 - subs r4, r0, r1 -_08041B40: - ldr r0, [sp] - adds r0, r4 - str r0, [sp] - ldr r0, _08041B6C @ =gUnknown_825DFEA - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl sub_804037C - mov r0, r8 - bl CalculateMonStats - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - movs r4, 0 - str r4, [sp, 0x1C] - b _08042042 - .align 2, 0 -_08041B6C: .4byte gUnknown_825DFEA -_08041B70: - movs r0, 0x10 - mov r5, r10 - ands r0, r5 - cmp r0, 0 - beq _08041C30 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08041B90 - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - b _08041ED6 -_08041B90: - ldr r0, _08041BD8 @ =gMain - ldr r1, _08041BDC @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r4, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08041C46 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _08041BF0 - ldr r2, _08041BE0 @ =gAbsentBattlerFlags - ldr r1, _08041BE4 @ =gBitTable - ldr r3, [sp, 0x34] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - ldr r1, _08041BE8 @ =gBattlerPartyIndexes - lsls r0, r3, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, [sp, 0x34] - bl CopyPlayerPartyMonToBattleData - ldr r0, _08041BEC @ =gActiveBattler - ldrb r0, [r0] - b _08041C08 - .align 2, 0 -_08041BD8: .4byte gMain -_08041BDC: .4byte 0x00000439 -_08041BE0: .4byte gAbsentBattlerFlags -_08041BE4: .4byte gBitTable -_08041BE8: .4byte gBattlerPartyIndexes -_08041BEC: .4byte gActiveBattler -_08041BF0: - ldr r3, _08041C20 @ =gAbsentBattlerFlags - ldr r1, _08041C24 @ =gBitTable - ldr r2, _08041C28 @ =gActiveBattler - ldrb r0, [r2] - eors r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r3] - bics r0, r1 - strb r0, [r3] - ldrb r0, [r2] -_08041C08: - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08041C46 - ldr r1, _08041C2C @ =gBattleResults - ldrb r0, [r1, 0x4] - cmp r0, 0xFE - bhi _08041C46 - adds r0, 0x1 - strb r0, [r1, 0x4] - b _08041C46 - .align 2, 0 -_08041C20: .4byte gAbsentBattlerFlags -_08041C24: .4byte gBitTable -_08041C28: .4byte gActiveBattler -_08041C2C: .4byte gBattleResults -_08041C30: - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _08041C46 - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - b _08041ED6 -_08041C46: - ldr r1, [sp, 0x24] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r4, [sp, 0x20] - adds r1, r4, r1 - ldrb r1, [r1] - str r1, [sp] - adds r0, r1, 0 - cmp r0, 0xFE - beq _08041C88 - cmp r0, 0xFE - bhi _08041C68 - cmp r0, 0xFD - beq _08041C9E - b _08041CA6 -_08041C68: - cmp r1, 0xFF - bne _08041CA6 - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - subs r4, r0 - str r4, [sp] - b _08041CA6 -_08041C88: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - lsrs r0, 1 - str r0, [sp] - cmp r0, 0 - bne _08041CA6 - movs r0, 0x1 - b _08041CA4 -_08041C9E: - ldr r0, _08041D60 @ =gBattleScripting - adds r0, 0x23 - ldrb r0, [r0] -_08041CA4: - str r0, [sp] -_08041CA6: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r4, r0 - beq _08041D84 - ldr r5, [sp, 0x14] - cmp r5, 0 - bne _08041D78 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r1, [sp] - cmp r1, r0 - bls _08041CF2 - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - str r0, [sp] -_08041CF2: - mov r0, r8 - movs r1, 0x39 - mov r2, sp - bl sub_804037C - ldr r0, _08041D64 @ =gMain - ldr r1, _08041D68 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08041D80 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _08041D80 - ldr r1, _08041D6C @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldr r1, [sp] - strh r1, [r0, 0x28] - movs r0, 0x10 - mov r3, r10 - ands r0, r3 - cmp r0, 0 - bne _08041D80 - ldr r4, _08041D70 @ =gActiveBattler - ldrb r0, [r4] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _08041D80 - ldr r1, _08041D74 @ =gBattleResults - ldrb r0, [r1, 0x3] - cmp r0, 0xFE - bhi _08041D42 - adds r0, 0x1 - strb r0, [r1, 0x3] -_08041D42: - ldrb r5, [r4] - add r0, sp, 0x34 - ldrb r0, [r0] - strb r0, [r4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl EmitGetMonData - ldrb r0, [r4] - bl MarkBufferBankForExecution - strb r5, [r4] - b _08041D80 - .align 2, 0 -_08041D60: .4byte gBattleScripting -_08041D64: .4byte gMain -_08041D68: .4byte 0x00000439 -_08041D6C: .4byte gBattleMons -_08041D70: .4byte gActiveBattler -_08041D74: .4byte gBattleResults -_08041D78: - ldr r1, _08041D90 @ =gBattleMoveDamage - ldr r0, [sp] - negs r0, r0 - str r0, [r1] -_08041D80: - movs r1, 0 - str r1, [sp, 0x1C] -_08041D84: - movs r0, 0xEF - mov r2, r10 - ands r2, r0 - mov r10, r2 - b _08042042 - .align 2, 0 -_08041D90: .4byte gBattleMoveDamage -_08041D94: - movs r7, 0x2 - mov r0, r10 - ands r0, r7 - cmp r0, 0 - beq _08041DA0 - b _08041EF0 -_08041DA0: - movs r5, 0 - ldr r3, [sp, 0x24] - adds r3, 0x1 - str r3, [sp, 0x38] -_08041DA8: - movs r4, 0x11 - adds r4, r5 - mov r9, r4 - mov r0, r8 - mov r1, r9 - movs r2, 0 - bl GetMonData - str r0, [sp] - adds r7, r5, 0 - adds r7, 0xD - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r5, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - beq _08041ECA - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x24] - adds r0, r2, r3 - ldrb r0, [r0] - adds r0, r1, r0 - str r0, [sp] - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - bls _08041E60 - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_08041E60: - mov r0, r8 - mov r1, r9 - mov r2, sp - bl sub_804037C - ldr r0, _08041EDC @ =gMain - ldr r4, _08041EE0 @ =0x00000439 - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08041EC6 - ldr r0, [sp, 0x34] - cmp r0, 0x4 - beq _08041EC6 - ldr r4, _08041EE4 @ =gBattleMons - movs r0, 0x58 - ldr r1, [sp, 0x34] - adds r3, r1, 0 - muls r3, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - cmp r1, 0 - bne _08041EC6 - ldr r1, _08041EE8 @ =gDisableStructs - ldr r2, [sp, 0x34] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08041EEC @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08041EC6 - adds r0, r5, r3 - adds r1, r4, 0 - adds r1, 0x24 - adds r0, r1 - ldr r1, [sp] - strb r1, [r0] -_08041EC6: - movs r3, 0 - str r3, [sp, 0x1C] -_08041ECA: - adds r5, 0x1 - cmp r5, 0x3 - bgt _08041ED2 - b _08041DA8 -_08041ED2: - ldr r4, [sp, 0x38] - lsls r0, r4, 24 -_08041ED6: - lsrs r0, 24 - str r0, [sp, 0x24] - b _08042042 - .align 2, 0 -_08041EDC: .4byte gMain -_08041EE0: .4byte 0x00000439 -_08041EE4: .4byte gBattleMons -_08041EE8: .4byte gDisableStructs -_08041EEC: .4byte gBitTable -_08041EF0: - ldr r6, [sp, 0x10] - adds r6, 0x11 - mov r0, r8 - adds r1, r6, 0 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r5, [sp, 0x10] - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - cmp r2, r0 - bne _08041F38 - b _08042042 -_08041F38: - ldr r1, [sp, 0x24] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r0, [sp, 0x20] - adds r1, r0, r1 - ldrb r0, [r1] - adds r0, r2, r0 - str r0, [sp] - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - bls _08041FAC - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_08041FAC: - mov r0, r8 - adds r1, r6, 0 - mov r2, sp - bl sub_804037C - ldr r0, _08042018 @ =gMain - ldr r1, _0804201C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _08042010 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _08042010 - ldr r4, _08042020 @ =gBattleMons - movs r0, 0x58 - adds r3, r2, 0 - muls r3, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _08042010 - ldr r1, _08042024 @ =gDisableStructs - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _08042028 @ =gBitTable - ldr r5, [sp, 0x10] - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _08042010 - adds r0, r5, r3 - adds r1, r4, 0 - adds r1, 0x24 - adds r0, r1 - ldr r1, [sp] - strb r1, [r0] -_08042010: - movs r0, 0 - str r0, [sp, 0x1C] - b _08042042 - .align 2, 0 -_08042018: .4byte gMain -_0804201C: .4byte 0x00000439 -_08042020: .4byte gBattleMons -_08042024: .4byte gDisableStructs -_08042028: .4byte gBitTable -_0804202C: - mov r0, r8 - movs r1, 0x2 - ldr r2, [sp, 0x8] - bl sub_8042EC4 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _08042042 - bl _08041598 -_08042042: - ldr r1, [sp, 0x28] - adds r1, 0x1 - str r1, [sp, 0x28] - mov r2, r10 - lsrs r2, 1 - mov r10, r2 - cmp r2, 0 - beq _08042054 - b _08041A9E -_08042054: - b _08042384 -_08042056: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x18] - adds r0, r3, r4 - ldrb r0, [r0] - mov r10, r0 - movs r5, 0 - str r5, [sp, 0x28] - cmp r0, 0 - bne _0804206A - b _08042384 -_0804206A: - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - bne _08042076 - b _08042372 -_08042076: - ldr r2, [sp, 0x28] - cmp r2, 0x7 - bls _0804207E - b _08042372 -_0804207E: - lsls r0, r2, 2 - ldr r1, _08042088 @ =_0804208C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08042088: .4byte _0804208C - .align 2, 0 -_0804208C: - .4byte _080420AC - .4byte _080420AC - .4byte _080420AC - .4byte _080420AC - .4byte _08042130 - .4byte _08042204 - .4byte _0804225E - .4byte _080422B4 -_080420AC: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _080420F4 @ =0x000001fd - cmp r5, r0 - bls _080420C0 - bl _080415A8 -_080420C0: - ldr r0, _080420F8 @ =gUnknown_825DFEA - ldr r4, [sp, 0x28] - adds r4, 0x2 - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - adds r2, r4, 0 - cmp r1, 0x63 - bls _080420DE - b _08042372 -_080420DE: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x24] - adds r0, r3, r4 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x64 - bls _080420FC - adds r0, 0x64 - subs r4, r0, r1 - b _080420FE - .align 2, 0 -_080420F4: .4byte 0x000001fd -_080420F8: .4byte gUnknown_825DFEA -_080420FC: - adds r4, r0, 0 -_080420FE: - adds r1, r5, r4 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - bls _0804210C - adds r0, r4, r0 - subs r4, r0, r1 -_0804210C: - ldr r0, [sp] - adds r0, r4 - str r0, [sp] - ldr r0, _0804212C @ =gUnknown_825DFEA - adds r0, r2, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl sub_804037C - mov r0, r8 - bl CalculateMonStats - movs r5, 0 - str r5, [sp, 0x1C] - b _08042368 - .align 2, 0 -_0804212C: .4byte gUnknown_825DFEA -_08042130: - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _080421F8 @ =gUnknown_825DEA1 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - ldrb r1, [r1] - ands r0, r1 - lsls r1, r2, 1 - lsrs r0, r1 - str r0, [sp] - cmp r0, 0x2 - bls _08042150 - b _08042372 -_08042150: - adds r5, r2, 0 - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r1, _080421FC @ =gUnknown_825DEA5 - ldr r3, [sp, 0x10] - adds r1, r3, r1 - ldrb r2, [r1] - ands r2, r0 - str r2, [sp] - ldr r0, _08042200 @ =gUnknown_825DEA9 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - adds r2, r0 - str r2, [sp] - mov r0, r8 - movs r1, 0x15 - mov r2, sp - bl sub_804037C - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - subs r0, r4 - str r0, [sp] - ldr r4, [sp, 0x10] - adds r4, 0x11 - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl sub_804037C - movs r4, 0 - str r4, [sp, 0x1C] - b _08042372 - .align 2, 0 -_080421F8: .4byte gUnknown_825DEA1 -_080421FC: .4byte gUnknown_825DEA5 -_08042200: .4byte gUnknown_825DEA9 -_08042204: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bls _08042214 - b _08042368 -_08042214: - ldr r5, [sp, 0x1C] - cmp r5, 0 - beq _0804221C - b _08042368 -_0804221C: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _08042224 - b _08042368 -_08042224: - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r1, r2 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - str r5, [sp, 0x4] - ldr r3, [sp, 0x2C] - lsls r4, r3, 24 - asrs r1, r4, 24 - cmp r1, 0 - ble _08042308 - ldr r0, [sp, 0x30] - cmp r0, 0x1B - bne _08042308 - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, r5, r0 - str r0, [sp, 0x4] - adds r2, r4, 0 - b _08042314 -_0804225E: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bls _08042368 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bhi _08042368 - ldr r2, [sp, 0x1C] - cmp r2, 0 - bne _08042368 - ldr r3, [sp, 0x2C] - cmp r3, 0 - bne _08042368 - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - adds r0, r4, r5 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - str r4, [sp, 0x4] - ldr r0, [sp, 0x2C] - lsls r5, r0, 24 - asrs r1, r5, 24 - cmp r1, 0 - ble _080422AE - ldr r2, [sp, 0x30] - cmp r2, 0x1B - beq _080422F6 -_080422AE: - ldr r3, [sp, 0x2C] - lsls r2, r3, 24 - b _0804230C -_080422B4: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bls _08042368 - ldr r4, [sp, 0x1C] - cmp r4, 0 - bne _08042368 - ldr r5, [sp, 0x2C] - cmp r5, 0 - bne _08042368 - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r1, r2 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - str r4, [sp, 0x4] - ldr r3, [sp, 0x2C] - lsls r5, r3, 24 - asrs r1, r5, 24 - cmp r1, 0 - ble _08042308 - ldr r0, [sp, 0x30] - cmp r0, 0x1B - bne _08042308 -_080422F6: - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, r4, r0 - str r0, [sp, 0x4] - adds r2, r5, 0 - b _08042314 -_08042308: - ldr r1, [sp, 0x2C] - lsls r2, r1, 24 -_0804230C: - asrs r1, r2, 24 - ldr r0, [sp, 0x4] - adds r0, r1 - str r0, [sp, 0x4] -_08042314: - cmp r2, 0 - ble _0804234A - mov r0, r8 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _0804232C - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0804232C: - mov r0, r8 - 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 _0804234A - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0804234A: - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _08042354 - movs r0, 0 - str r0, [sp, 0x4] -_08042354: - ldr r0, [sp, 0x4] - cmp r0, 0xFF - ble _0804235E - movs r0, 0xFF - str r0, [sp, 0x4] -_0804235E: - add r2, sp, 0x4 - mov r0, r8 - movs r1, 0x20 - bl sub_804037C -_08042368: - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] -_08042372: - ldr r2, [sp, 0x28] - adds r2, 0x1 - str r2, [sp, 0x28] - mov r3, r10 - lsrs r3, 1 - mov r10, r3 - cmp r3, 0 - beq _08042384 - b _0804206A -_08042384: - ldr r4, [sp, 0x18] - adds r4, 0x1 - str r4, [sp, 0x18] - cmp r4, 0x5 - bgt _08042392 - bl _080415B4 -_08042392: - ldr r0, [sp, 0x1C] -_08042394: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80413E4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s index be196e54e..50ddd41a4 100644 --- a/asm/pokemon_size_record.s +++ b/asm/pokemon_size_record.s @@ -299,7 +299,7 @@ sub_80A08CC: @ 80A08CC ldr r0, _080A08FC @ =gStringVar1 movs r1, 0xB muls r1, r4 - ldr r2, _080A0900 @ =gUnknown_8245EE0 + ldr r2, _080A0900 @ =gSpeciesNames adds r1, r2 bl StringCopy pop {r4} @@ -308,7 +308,7 @@ sub_80A08CC: @ 80A08CC .align 2, 0 _080A08F8: .4byte gStringVar3 _080A08FC: .4byte gStringVar1 -_080A0900: .4byte gUnknown_8245EE0 +_080A0900: .4byte gSpeciesNames thumb_func_end sub_80A08CC thumb_func_start sub_80A0904 @@ -454,7 +454,7 @@ _080A09E6: ldrb r1, [r0] adds r0, r4, 0 mov r2, r8 - bl sub_804037C + bl SetMonData movs r7, 0x1 _080A0A18: adds r5, 0x1 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 67dea9b9e..8373f261a 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -127,7 +127,7 @@ SetBoxMonDataFromAnyBox: @ 808BA5C adds r0, r1 adds r1, r5, 0 adds r2, r6, 0 - bl sub_80404D0 + bl SetBoxMonData _0808BA94: pop {r4-r6} pop {r0} @@ -242,7 +242,7 @@ SetBoxMonNickFromAnyBox: @ 808BB2C adds r0, r1 movs r1, 0x2 adds r2, r5, 0 - bl sub_80404D0 + bl SetBoxMonData _0808BB62: pop {r4,r5} pop {r0} @@ -6333,7 +6333,7 @@ _0808ECAC: bne _0808ECD0 bl sub_808FF70 bl CalculatePlayerPartyCount - ldr r1, _0808ECD8 @ =gUnknown_2024029 + ldr r1, _0808ECD8 @ =gPlayerPartyCount strb r0, [r1] ldr r0, _0808ECDC @ =gUnknown_20397B0 ldr r0, [r0] @@ -6345,7 +6345,7 @@ _0808ECD0: pop {r0} bx r0 .align 2, 0 -_0808ECD8: .4byte gUnknown_2024029 +_0808ECD8: .4byte gPlayerPartyCount _0808ECDC: .4byte gUnknown_20397B0 _0808ECE0: .4byte sub_808EE18 thumb_func_end sub_808EBB0 @@ -6476,7 +6476,7 @@ _0808EDE0: bne _0808EE04 bl sub_808FF70 bl CalculatePlayerPartyCount - ldr r1, _0808EE0C @ =gUnknown_2024029 + ldr r1, _0808EE0C @ =gPlayerPartyCount strb r0, [r1] ldr r0, _0808EE10 @ =gUnknown_20397B0 ldr r0, [r0] @@ -6488,7 +6488,7 @@ _0808EE04: pop {r0} bx r0 .align 2, 0 -_0808EE0C: .4byte gUnknown_2024029 +_0808EE0C: .4byte gPlayerPartyCount _0808EE10: .4byte gUnknown_20397B0 _0808EE14: .4byte sub_808EE18 thumb_func_end sub_808ECE4 @@ -6628,7 +6628,7 @@ sub_808EF0C: @ 808EF0C adds r0, r1 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData b _0808EF56 .align 2, 0 _0808EF40: .4byte gUnknown_203AD30 @@ -16062,7 +16062,7 @@ sub_8093878: @ 8093878 adds r0, r1 movs r1, 0x8 mov r2, sp - bl sub_804037C + bl SetMonData b _080938EC .align 2, 0 _080938A8: .4byte gUnknown_20397B0 @@ -16084,7 +16084,7 @@ _080938B8: adds r0, r1 movs r1, 0x8 mov r2, sp - bl sub_804037C + bl SetMonData _080938D8: movs r0, 0 ldrsb r0, [r4, r0] @@ -16674,7 +16674,7 @@ _08093D90: .4byte 0x00000cf5 _08093D94: ldr r2, _08093DD0 @ =0x00000cf5 adds r0, r1, r2 - ldr r1, _08093DD4 @ =gUnknown_8415A62 + ldr r1, _08093DD4 @ =gText_EggNickname movs r2, 0 movs r3, 0x8 bl StringCopyPadded @@ -16702,7 +16702,7 @@ _08093DC6: b _08093F84 .align 2, 0 _08093DD0: .4byte 0x00000cf5 -_08093DD4: .4byte gUnknown_8415A62 +_08093DD4: .4byte gText_EggNickname _08093DD8: .4byte gUnknown_20397B0 _08093DDC: .4byte 0x00000d19 _08093DE0: .4byte 0x00000d3d @@ -16739,7 +16739,7 @@ _08093DF4: ldrh r1, [r0] movs r0, 0xB muls r1, r0 - ldr r0, _08093E8C @ =gUnknown_8245EE0 + ldr r0, _08093E8C @ =gSpeciesNames adds r1, r0 adds r0, r2, 0 movs r2, 0 @@ -16785,7 +16785,7 @@ _08093E7C: .4byte 0x00000cf5 _08093E80: .4byte 0x00000cea _08093E84: .4byte 0x00000d19 _08093E88: .4byte 0x00000d1a -_08093E8C: .4byte gUnknown_8245EE0 +_08093E8C: .4byte gSpeciesNames _08093E90: .4byte 0x00000d3d _08093E94: .4byte 0x00000d3e _08093E98: .4byte 0x00000d3f @@ -20886,7 +20886,7 @@ _08095DEC: adds r0, r1 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r7, 0 movs r1, 0x1 bl sub_8090C84 @@ -21032,7 +21032,7 @@ _08095F10: adds r2, r5 adds r0, r4, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData mov r1, r8 ldr r0, [r1] adds r0, r5 @@ -21118,7 +21118,7 @@ _08095FD4: ldr r1, _08096004 @ =0x00002224 adds r2, r1 movs r1, 0xC - bl sub_804037C + bl SetMonData mov r0, r8 movs r1, 0 bl sub_8090C84 @@ -21183,7 +21183,7 @@ _08096064: adds r0, r1 movs r1, 0xC mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r7, 0 movs r1, 0x1 bl sub_8090C84 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index ead0c8a01..570e67218 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3490,7 +3490,7 @@ _08136240: adds r0, r3 movs r1, 0xB muls r1, r4 - ldr r2, _08136318 @ =gUnknown_8245EE0 + ldr r2, _08136318 @ =gSpeciesNames adds r1, r2 bl StringCompare cmp r0, 0 @@ -3575,7 +3575,7 @@ _08136308: .4byte 0x00003084 _0813630C: .4byte gUnknown_84161CD _08136310: .4byte gUnknown_203B140 _08136314: .4byte 0x00003034 -_08136318: .4byte gUnknown_8245EE0 +_08136318: .4byte gSpeciesNames _0813631C: .4byte 0x00003290 _08136320: .4byte 0x0000ffff _08136324: .4byte 0x0000306c @@ -3973,7 +3973,7 @@ _08136630: bl GetMonData lsls r0, 16 lsrs r0, 16 - ldr r4, _08136790 @ =gUnknown_8253AE4 + ldr r4, _08136790 @ =gExperienceTables adds r2, r5, 0x1 lsls r2, 2 ldr r3, _08136794 @ =gBaseStats @@ -4084,7 +4084,7 @@ _08136780: .4byte 0x00003290 _08136784: .4byte 0x0000309c _08136788: .4byte gUnknown_203B144 _0813678C: .4byte 0x000031a4 -_08136790: .4byte gUnknown_8253AE4 +_08136790: .4byte gExperienceTables _08136794: .4byte gBaseStats _08136798: .4byte 0x000031b0 _0813679C: .4byte 0x000031bc @@ -9242,29 +9242,29 @@ sub_81390B0: @ 81390B0 adds r1, 0xD adds r0, r6, 0 mov r2, sp - bl sub_804037C + bl SetMonData mov r0, r8 ldrb r1, [r0] adds r1, 0xD adds r0, r6, 0 ldr r2, [sp, 0x8] - bl sub_804037C + bl SetMonData ldr r3, _081391E0 @ =gUnknown_203B16D ldrb r1, [r3] adds r1, 0x11 adds r0, r6, 0 adds r2, r7, 0 - bl sub_804037C + bl SetMonData mov r0, r8 ldrb r1, [r0] adds r1, 0x11 adds r0, r6, 0 mov r2, r10 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x15 adds r2, r4, 0 - bl sub_804037C + bl SetMonData add sp, 0xC pop {r3-r5} mov r8, r3 @@ -9389,29 +9389,29 @@ sub_81391EC: @ 81391EC adds r1, 0xD adds r0, r6, 0 mov r2, sp - bl sub_80404D0 + bl SetBoxMonData mov r0, r8 ldrb r1, [r0] adds r1, 0xD adds r0, r6, 0 ldr r2, [sp, 0x8] - bl sub_80404D0 + bl SetBoxMonData ldr r3, _0813931C @ =gUnknown_203B16D ldrb r1, [r3] adds r1, 0x11 adds r0, r6, 0 adds r2, r7, 0 - bl sub_80404D0 + bl SetBoxMonData mov r0, r8 ldrb r1, [r0] adds r1, 0x11 adds r0, r6, 0 mov r2, r10 - bl sub_80404D0 + bl SetBoxMonData adds r0, r6, 0 movs r1, 0x15 adds r2, r4, 0 - bl sub_80404D0 + bl SetBoxMonData add sp, 0xC pop {r3-r5} mov r8, r3 @@ -12270,7 +12270,7 @@ _0813A9B4: bls _0813A9E2 b _0813AAE8 _0813A9E2: - ldr r3, _0813AADC @ =gUnknown_8253AE4 + ldr r3, _0813AADC @ =gExperienceTables adds r1, r5, 0x1 lsls r1, 2 ldr r2, _0813AAE0 @ =gBaseStats @@ -12395,7 +12395,7 @@ _0813AAB8: .align 2, 0 _0813AAD4: .4byte gUnknown_203B140 _0813AAD8: .4byte 0x00003290 -_0813AADC: .4byte gUnknown_8253AE4 +_0813AADC: .4byte gExperienceTables _0813AAE0: .4byte gBaseStats _0813AAE4: .4byte gUnknown_203B160 _0813AAE8: diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s index c3a732184..14703e26e 100644 --- a/asm/post_battle_event_funcs.s +++ b/asm/post_battle_event_funcs.s @@ -78,7 +78,7 @@ _080CA34A: adds r0, r4, 0 movs r1, 0x43 mov r2, sp - bl sub_804037C + bl SetMonData movs r6, 0x1 _080CA388: adds r5, 0x1 diff --git a/asm/quest_log.s b/asm/quest_log.s index 9b7c29ccc..c54193c6f 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -7157,12 +7157,12 @@ sub_8113EAC: @ 8113EAC bl GetSpeciesName b _08113F08 _08113ED0: - ldr r1, _08113EDC @ =gUnknown_8415A62 + ldr r1, _08113EDC @ =gText_EggNickname adds r0, r3, 0 bl StringCopy b _08113F08 .align 2, 0 -_08113EDC: .4byte gUnknown_8415A62 +_08113EDC: .4byte gText_EggNickname _08113EE0: movs r0, 0xCE lsls r0, 1 @@ -7171,15 +7171,15 @@ _08113EE0: movs r0, 0xB adds r1, r4, 0 muls r1, r0 - ldr r0, _08113EFC @ =gUnknown_8245EE0 + ldr r0, _08113EFC @ =gSpeciesNames adds r1, r0 adds r0, r2, 0 bl UnkTextUtil_SetPtrI b _08113F08 .align 2, 0 -_08113EFC: .4byte gUnknown_8245EE0 +_08113EFC: .4byte gSpeciesNames _08113F00: - ldr r1, _08113F10 @ =gUnknown_8415A62 + ldr r1, _08113F10 @ =gText_EggNickname adds r0, r5, 0 bl UnkTextUtil_SetPtrI _08113F08: @@ -7187,7 +7187,7 @@ _08113F08: pop {r0} bx r0 .align 2, 0 -_08113F10: .4byte gUnknown_8415A62 +_08113F10: .4byte gText_EggNickname thumb_func_end sub_8113EAC thumb_func_start sub_8113F14 diff --git a/asm/quest_log_battle.s b/asm/quest_log_battle.s index 19703e014..635aaf5c3 100644 --- a/asm/quest_log_battle.s +++ b/asm/quest_log_battle.s @@ -99,7 +99,7 @@ _0812C06A: lsls r1, 1 adds r0, r1 ldrb r0, [r0] - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _0812C0BC @@ -121,7 +121,7 @@ _0812C0B8: .4byte gBattleMons _0812C0BC: ldr r5, _0812C0D8 @ =gBattleMons movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 movs r4, 0x58 @@ -137,7 +137,7 @@ _0812C0D8: .4byte gBattleMons _0812C0DC: movs r0, 0x2 _0812C0DE: - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 muls r0, r4 @@ -146,10 +146,10 @@ _0812C0EA: ldrh r0, [r0] strh r0, [r7, 0x4] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r6, _0812C14C @ =gBattleMons lsls r4, 24 lsrs r4, 24 @@ -168,10 +168,10 @@ _0812C0EA: lsrs r0, 16 mov r8, r0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 movs r0, 0x2 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r4, 24 lsrs r4, 24 adds r1, r4, 0 @@ -194,7 +194,7 @@ _0812C150: ldrh r0, [r0, 0x20] strh r0, [r7, 0x2] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition ldr r5, _0812C1C8 @ =gBattleMons lsls r0, 24 lsrs r0, 24 @@ -204,7 +204,7 @@ _0812C150: ldrh r0, [r0] strh r0, [r7, 0x4] movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 muls r0, r4 @@ -212,7 +212,7 @@ _0812C150: ldrh r0, [r0, 0x28] mov r8, r0 movs r0, 0 - bl GetBankByIdentity + bl GetBattlerAtPosition lsls r0, 24 lsrs r0, 24 muls r0, r4 diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 5538afcff..e946e5087 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -276,7 +276,7 @@ _080779A8: _080779B0: bl LoadAndCreateEnemyShadowSprites movs r0, 0x1 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -300,7 +300,7 @@ _080779B0: cmp r0, 0 beq _08077A14 movs r0, 0x3 - bl GetBankByIdentity + bl GetBattlerAtPosition adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 @@ -318,7 +318,7 @@ _080779B0: bl SetBankEnemyShadowSpriteCallback _08077A14: ldr r1, _08077A4C @ =gUnknown_2023FF8 - ldr r0, _08077A50 @ =gUnknown_2024004 + ldr r0, _08077A50 @ =gBattlerInMenuId ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -341,7 +341,7 @@ _08077A14: _08077A44: .4byte gBattlerPartyIndexes _08077A48: .4byte gEnemyParty _08077A4C: .4byte gUnknown_2023FF8 -_08077A50: .4byte gUnknown_2024004 +_08077A50: .4byte gBattlerInMenuId _08077A54: .4byte gUnknown_3003F3C _08077A58: .4byte gUnknown_3003F64 _08077A5C: @@ -426,14 +426,14 @@ sub_8077B0C: @ 8077B0C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08077B54 @ =gUnknown_2023BCC + ldr r0, _08077B54 @ =gBattlersCount ldrb r0, [r0] cmp r4, r0 bcc _08077B1C b _08077C2C _08077B1C: adds r0, r4, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08077BA6 @@ -458,7 +458,7 @@ _08077B1C: bl sub_8034658 b _08077C24 .align 2, 0 -_08077B54: .4byte gUnknown_2023BCC +_08077B54: .4byte gBattlersCount _08077B58: .4byte gBattleTypeFlags _08077B5C: .4byte gBattlerPartyIndexes _08077B60: .4byte gEnemyParty @@ -576,7 +576,7 @@ sub_8077C38: @ 8077C38 push {r5-r7} lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _08077C6C @ =gUnknown_2023BCC + ldr r0, _08077C6C @ =gBattlersCount ldrb r0, [r0] cmp r7, r0 bcc _08077C50 @@ -595,7 +595,7 @@ _08077C50: bl sub_8074900 b _08077C9A .align 2, 0 -_08077C6C: .4byte gUnknown_2023BCC +_08077C6C: .4byte gBattlersCount _08077C70: .4byte gBattleTypeFlags _08077C74: ldr r0, _08077C90 @ =gUnknown_2024018 @@ -621,7 +621,7 @@ _08077C9A: lsrs r0, 24 mov r8, r0 adds r0, r7, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 bne _08077CAE @@ -656,13 +656,13 @@ _08077CD2: lsls r4, 16 lsrs r4, 16 adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl sub_803F7D4 - ldr r5, _08077D98 @ =gUnknown_20244DC + ldr r5, _08077D98 @ =gMultiuseSpriteTemplate adds r0, r7, 0 movs r1, 0x2 bl sub_8074480 @@ -734,7 +734,7 @@ _08077CD2: .align 2, 0 _08077D90: .4byte gBattlerPartyIndexes _08077D94: .4byte gEnemyParty -_08077D98: .4byte gUnknown_20244DC +_08077D98: .4byte gMultiuseSpriteTemplate _08077D9C: .4byte gUnknown_2023D44 _08077DA0: .4byte gSprites _08077DA4: .4byte SpriteCallbackDummy @@ -752,13 +752,13 @@ _08077DAC: ldr r0, [r5] ldrb r4, [r0, 0x8] movs r0, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl sub_803F864 - ldr r6, _08077E08 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r6, _08077E08 @ =gMultiuseSpriteTemplate ldr r1, _08077E0C @ =gUnknown_8239F8C ldr r0, [r5] ldrb r0, [r0, 0x8] @@ -782,7 +782,7 @@ _08077DAC: .align 2, 0 _08077E00: .4byte gBattleTypeFlags _08077E04: .4byte gSaveBlock2Ptr -_08077E08: .4byte gUnknown_20244DC +_08077E08: .4byte gMultiuseSpriteTemplate _08077E0C: .4byte gUnknown_8239F8C _08077E10: ldr r0, [r0] @@ -794,13 +794,13 @@ _08077E10: cmp r7, 0 bne _08077EA8 movs r0, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 movs r0, 0x5 - bl sub_803F864 - ldr r5, _08077E94 @ =gUnknown_20244DC + bl SetMultiuseSpriteTemplateToTrainerBack + ldr r5, _08077E94 @ =gMultiuseSpriteTemplate ldr r0, _08077E98 @ =gUnknown_8239F8C ldrb r0, [r0, 0x14] movs r4, 0x8 @@ -849,7 +849,7 @@ _08077E54: strh r7, [r0, 0x2E] b _08077F84 .align 2, 0 -_08077E94: .4byte gUnknown_20244DC +_08077E94: .4byte gMultiuseSpriteTemplate _08077E98: .4byte gUnknown_8239F8C _08077E9C: .4byte gUnknown_2023D44 _08077EA0: .4byte gSprites @@ -882,13 +882,13 @@ _08077EA8: lsls r4, 16 lsrs r4, 16 adds r0, r7, 0 - bl GetBankIdentity + bl GetBattlerPosition adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl sub_803F7D4 - ldr r5, _08077FCC @ =gUnknown_20244DC + ldr r5, _08077FCC @ =gMultiuseSpriteTemplate adds r0, r7, 0 movs r1, 0x2 bl sub_8074480 @@ -992,7 +992,7 @@ _08077FB4: .align 2, 0 _08077FC4: .4byte gBattlerPartyIndexes _08077FC8: .4byte gPlayerParty -_08077FCC: .4byte gUnknown_20244DC +_08077FCC: .4byte gMultiuseSpriteTemplate _08077FD0: .4byte gUnknown_2023D44 _08077FD4: .4byte gSprites _08077FD8: .4byte SpriteCallbackDummy @@ -1005,7 +1005,7 @@ CreateHealthboxSprite: @ 8077FE4 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0807800C @ =gUnknown_2023BCC + ldr r0, _0807800C @ =gBattlersCount ldrb r0, [r0] cmp r5, r0 bcc _08077FF4 @@ -1022,7 +1022,7 @@ _08077FF4: bl CreateSafariPlayerHealthboxSprites b _0807802C .align 2, 0 -_0807800C: .4byte gUnknown_2023BCC +_0807800C: .4byte gBattlersCount _08078010: .4byte gBattleTypeFlags _08078014: ldr r0, [r0] @@ -1048,7 +1048,7 @@ _0807802C: adds r0, r6, 0 bl SetHealthboxSpriteVisible adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _08078074 @@ -1105,13 +1105,13 @@ _080780A8: bl UpdateHealthboxAttribute _080780C0: adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x3 beq _080780DC adds r0, r5, 0 - bl GetBankIdentity + bl GetBattlerPosition lsls r0, 24 lsrs r0, 24 cmp r0, 0x2 @@ -1135,7 +1135,7 @@ _080780F8: bl nullsub_21 _08078104: adds r0, r5, 0 - bl GetBankSide + bl GetBattlerSide lsls r0, 24 cmp r0, 0 beq _0807813C diff --git a/asm/roamer.s b/asm/roamer.s index d44c91a55..d42b34293 100644 --- a/asm/roamer.s +++ b/asm/roamer.s @@ -364,43 +364,43 @@ CreateRoamerMonInstance: @ 8141EF8 adds r2, r0 adds r0, r5, 0 movs r1, 0x37 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r1, _08141F94 @ =0x000030da adds r2, r1 adds r0, r5, 0 movs r1, 0x39 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r0, _08141F98 @ =0x000030de adds r2, r0 adds r0, r5, 0 movs r1, 0x16 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r1, _08141F9C @ =0x000030df adds r2, r1 adds r0, r5, 0 movs r1, 0x17 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r0, _08141FA0 @ =0x000030e0 adds r2, r0 adds r0, r5, 0 movs r1, 0x18 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r1, _08141FA4 @ =0x000030e1 adds r2, r1 adds r0, r5, 0 movs r1, 0x21 - bl sub_804037C + bl SetMonData ldr r2, [r4] ldr r0, _08141FA8 @ =0x000030e2 adds r2, r0 adds r0, r5, 0 movs r1, 0x2F - bl sub_804037C + bl SetMonData add sp, 0x4 pop {r4,r5} pop {r0} diff --git a/asm/scrcmd.s b/asm/scrcmd.s index ec78da1d5..53215ab33 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -4022,7 +4022,7 @@ ScrCmd_bufferspeciesname: @ 806BC88 ldr r2, [r4] movs r1, 0xB muls r1, r0 - ldr r0, _0806BCC4 @ =gUnknown_8245EE0 + ldr r0, _0806BCC4 @ =gSpeciesNames adds r1, r0 adds r0, r2, 0 bl StringCopy @@ -4032,7 +4032,7 @@ ScrCmd_bufferspeciesname: @ 806BC88 bx r1 .align 2, 0 _0806BCC0: .4byte gUnknown_83A7294 -_0806BCC4: .4byte gUnknown_8245EE0 +_0806BCC4: .4byte gSpeciesNames thumb_func_end ScrCmd_bufferspeciesname thumb_func_start ScrCmd_bufferleadmonspeciesname @@ -4058,7 +4058,7 @@ ScrCmd_bufferleadmonspeciesname: @ 806BCC8 bl GetMonData movs r1, 0xB muls r1, r0 - ldr r0, _0806BD10 @ =gUnknown_8245EE0 + ldr r0, _0806BD10 @ =gSpeciesNames adds r1, r0 adds r0, r4, 0 bl StringCopy @@ -4069,7 +4069,7 @@ ScrCmd_bufferleadmonspeciesname: @ 806BCC8 .align 2, 0 _0806BD08: .4byte gUnknown_83A7294 _0806BD0C: .4byte gPlayerParty -_0806BD10: .4byte gUnknown_8245EE0 +_0806BD10: .4byte gSpeciesNames thumb_func_end ScrCmd_bufferleadmonspeciesname thumb_func_start ScrCmd_bufferpartymonnick @@ -5537,7 +5537,7 @@ ScrCmd_setmonobedient: @ 806C7D4 adds r0, r1 movs r1, 0x50 mov r2, sp - bl sub_804037C + bl SetMonData movs r0, 0 add sp, 0x4 pop {r1} @@ -5598,7 +5598,7 @@ sub_806C844: @ 806C844 adds r0, r1 movs r1, 0x23 mov r2, sp - bl sub_804037C + bl SetMonData _0806C87A: movs r0, 0 add sp, 0x4 diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 2c8a3af2a..604de1de2 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -15,7 +15,7 @@ sp000_heal_pokemon: @ 80A0058 sub sp, 0x4 movs r0, 0 mov r8, r0 - ldr r0, _080A0114 @ =gUnknown_2024029 + ldr r0, _080A0114 @ =gPlayerPartyCount ldrb r0, [r0] cmp r8, r0 bcs _080A0104 @@ -37,7 +37,7 @@ _080A0076: adds r0, r4, 0 movs r1, 0x39 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r4, 0 movs r1, 0x15 bl GetMonData @@ -62,7 +62,7 @@ _080A00AC: adds r1, 0x11 adds r0, r4, 0 mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 @@ -79,12 +79,12 @@ _080A00AC: add r0, r10 movs r1, 0x37 mov r2, sp - bl sub_804037C + bl SetMonData mov r1, r9 lsls r0, r1, 24 lsrs r0, 24 mov r8, r0 - ldr r0, _080A0114 @ =gUnknown_2024029 + ldr r0, _080A0114 @ =gPlayerPartyCount ldrb r0, [r0] cmp r8, r0 bcc _080A0076 @@ -98,7 +98,7 @@ _080A0104: pop {r0} bx r0 .align 2, 0 -_080A0114: .4byte gUnknown_2024029 +_080A0114: .4byte gPlayerPartyCount _080A0118: .4byte gPlayerParty thumb_func_end sp000_heal_pokemon @@ -139,7 +139,7 @@ ScriptGiveMon: @ 80A011C adds r0, r7, 0 movs r1, 0xC add r2, sp, 0x10 - bl sub_804037C + bl SetMonData adds r0, r7, 0 bl GiveMonToPlayer lsls r0, 24 @@ -189,7 +189,7 @@ sub_80A01AC: @ 80A01AC adds r0, r5, 0 movs r1, 0x2D mov r2, sp - bl sub_804037C + bl SetMonData adds r0, r5, 0 bl GiveMonToPlayer adds r4, r0, 0 @@ -335,7 +335,7 @@ CreateScriptedWildMon: @ 80A029C mov r0, r8 movs r1, 0xC add r2, sp, 0x10 - bl sub_804037C + bl SetMonData _080A02EA: add sp, 0x14 pop {r3} @@ -358,7 +358,7 @@ ScriptSetMonMoveSlot: @ 80A02FC lsrs r2, 24 cmp r3, 0x6 bls _080A0318 - ldr r0, _080A032C @ =gUnknown_2024029 + ldr r0, _080A032C @ =gPlayerPartyCount ldrb r0, [r0] subs r0, 0x1 lsls r0, 24 @@ -374,7 +374,7 @@ _080A0318: pop {r0} bx r0 .align 2, 0 -_080A032C: .4byte gUnknown_2024029 +_080A032C: .4byte gPlayerPartyCount _080A0330: .4byte gPlayerParty thumb_func_end ScriptSetMonMoveSlot diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s index 81b861413..c2184904c 100644 --- a/asm/script_pokemon_util_80BF8FC.s +++ b/asm/script_pokemon_util_80BF8FC.s @@ -107,7 +107,7 @@ sub_80BF9BC: @ 80BF9BC ldr r0, _080BF9F0 @ =gPlayerParty ldr r1, _080BF9F4 @ =gUnknown_20370C0 ldrb r1, [r1] - ldr r2, _080BF9F8 @ =gUnknown_2024029 + ldr r2, _080BF9F8 @ =gPlayerPartyCount ldrb r2, [r2] subs r2, 0x1 lsls r2, 24 @@ -128,7 +128,7 @@ sub_80BF9BC: @ 80BF9BC .align 2, 0 _080BF9F0: .4byte gPlayerParty _080BF9F4: .4byte gUnknown_20370C0 -_080BF9F8: .4byte gUnknown_2024029 +_080BF9F8: .4byte gPlayerPartyCount _080BF9FC: .4byte c2_exit_to_overworld_2_switch _080BFA00: .4byte gUnknown_3005020 _080BFA04: .4byte sub_807DD24 @@ -304,23 +304,23 @@ sub_80BFAA8: @ 80BFAA8 mov r0, r8 ldr r1, [sp, 0x8] mov r2, sp - bl sub_804037C + bl SetMonData mov r0, r8 ldr r1, [sp, 0xC] ldr r2, [sp, 0x14] - bl sub_804037C + bl SetMonData mov r0, r8 ldr r1, [sp, 0x10] mov r2, r10 - bl sub_804037C + bl SetMonData mov r0, r8 ldr r1, [sp, 0x1C] ldr r2, [sp, 0x18] - bl sub_804037C + bl SetMonData mov r0, r8 movs r1, 0x15 adds r2, r6, 0 - bl sub_804037C + bl SetMonData add sp, 0x20 pop {r3-r5} mov r8, r3 diff --git a/asm/trade.s b/asm/trade.s index 8351a9a73..c78aba5ef 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -473,12 +473,12 @@ _0804CA10: bl SetGpuReg ldr r2, _0804CB2C @ =gUnknown_2031DA8 ldr r0, [r2] - ldr r1, _0804CB30 @ =gUnknown_2024029 + ldr r1, _0804CB30 @ =gPlayerPartyCount ldrb r1, [r1] adds r0, 0x36 strb r1, [r0] ldr r0, [r2] - ldr r1, _0804CB34 @ =gUnknown_202402A + ldr r1, _0804CB34 @ =gEnemyPartyCount ldrb r1, [r1] adds r0, 0x37 strb r1, [r0] @@ -602,8 +602,8 @@ _0804CB20: b _0804CEC2 .align 2, 0 _0804CB2C: .4byte gUnknown_2031DA8 -_0804CB30: .4byte gUnknown_2024029 -_0804CB34: .4byte gUnknown_202402A +_0804CB30: .4byte gPlayerPartyCount +_0804CB34: .4byte gEnemyPartyCount _0804CB38: .4byte gUnknown_8261E40 _0804CB3C: .4byte gPlayerParty _0804CB40: .4byte 0xfff40000 @@ -1156,12 +1156,12 @@ _0804D00C: bl CalculateEnemyPartyCount ldr r4, _0804D12C @ =gUnknown_2031DA8 ldr r0, [r4] - ldr r1, _0804D130 @ =gUnknown_2024029 + ldr r1, _0804D130 @ =gPlayerPartyCount ldrb r1, [r1] adds r0, 0x36 strb r1, [r0] ldr r0, [r4] - ldr r1, _0804D134 @ =gUnknown_202402A + ldr r1, _0804D134 @ =gEnemyPartyCount ldrb r1, [r1] adds r0, 0x37 strb r1, [r0] @@ -1292,8 +1292,8 @@ _0804D120: b _0804D4B4 .align 2, 0 _0804D12C: .4byte gUnknown_2031DA8 -_0804D130: .4byte gUnknown_2024029 -_0804D134: .4byte gUnknown_202402A +_0804D130: .4byte gPlayerPartyCount +_0804D134: .4byte gEnemyPartyCount _0804D138: .4byte gUnknown_8261E40 _0804D13C: .4byte gPlayerParty _0804D140: .4byte 0xfff40000 @@ -2488,7 +2488,7 @@ _0804DB1A: adds r0, r4, 0 movs r1, 0x2 ldr r2, _0804DB74 @ =gUnknown_8246BE5 - bl sub_804037C + bl SetMonData _0804DB5A: adds r4, 0x64 subs r5, 0x1 @@ -3568,7 +3568,7 @@ _0804E3B6: _0804E3D0: .4byte gUnknown_2031DA8 _0804E3D4: ldr r0, _0804E3F4 @ =gPlayerParty - ldr r1, _0804E3F8 @ =gUnknown_2024029 + ldr r1, _0804E3F8 @ =gPlayerPartyCount ldrb r1, [r1] ldr r2, _0804E3FC @ =gUnknown_2031DA8 ldr r2, [r2] @@ -3584,7 +3584,7 @@ _0804E3D4: mov pc, r0 .align 2, 0 _0804E3F4: .4byte gPlayerParty -_0804E3F8: .4byte gUnknown_2024029 +_0804E3F8: .4byte gPlayerPartyCount _0804E3FC: .4byte gUnknown_2031DA8 _0804E400: .4byte _0804E404 .align 2, 0 @@ -7287,7 +7287,7 @@ _08050040: lsls r0, r5, 3 ldr r1, _08050074 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _08050078 @ =gUnknown_202401C + ldr r1, _08050078 @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x8] adds r2, r5, 0 @@ -7297,12 +7297,12 @@ _08050040: b _0805009A .align 2, 0 _08050074: .4byte gUnknown_82350AC -_08050078: .4byte gUnknown_202401C +_08050078: .4byte gMonSpritesGfxPtr _0805007C: lsls r0, r5, 3 ldr r1, _080500BC @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080500C0 @ =gUnknown_202401C + ldr r1, _080500C0 @ =gMonSpritesGfxPtr ldr r2, [r1] lsls r4, r6, 1 adds r1, r4, 0x1 @@ -7330,7 +7330,7 @@ _0805009A: b _0805011E .align 2, 0 _080500BC: .4byte gUnknown_82350AC -_080500C0: .4byte gUnknown_202401C +_080500C0: .4byte gMonSpritesGfxPtr _080500C4: .4byte gUnknown_2031DAC _080500C8: mov r0, r8 @@ -7338,7 +7338,7 @@ _080500C8: ldrh r0, [r0, 0x4] adds r1, r4, 0 bl sub_803F7D4 - ldr r0, _08050128 @ =gUnknown_20244DC + ldr r0, _08050128 @ =gMultiuseSpriteTemplate movs r1, 0x78 movs r2, 0x3C movs r3, 0x6 @@ -7380,7 +7380,7 @@ _0805011E: pop {r0} bx r0 .align 2, 0 -_08050128: .4byte gUnknown_20244DC +_08050128: .4byte gMultiuseSpriteTemplate _0805012C: .4byte gUnknown_2031DAC _08050130: .4byte gSprites _08050134: .4byte SpriteCallbackDummy @@ -8221,7 +8221,7 @@ _08050866: adds r0, r7, 0 movs r1, 0x20 mov r2, sp - bl sub_804037C + bl SetMonData _080508A2: mov r0, r8 cmp r0, 0xFF @@ -10809,7 +10809,7 @@ _08052042: lsls r0, r2, 3 ldr r1, _08052068 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _0805206C @ =gUnknown_202401C + ldr r1, _0805206C @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x10] ldr r3, [r3, 0x6C] @@ -10820,7 +10820,7 @@ _08052042: _08052060: .4byte gSprites _08052064: .4byte SpriteCallbackDummy _08052068: .4byte gUnknown_82350AC -_0805206C: .4byte gUnknown_202401C +_0805206C: .4byte gMonSpritesGfxPtr _08052070: ldr r4, _0805211C @ =gSprites ldr r2, [r7] @@ -11063,7 +11063,7 @@ _0805223C: adds r0, r5 movs r1, 0x1 movs r2, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -13034,7 +13034,7 @@ _0805349E: lsls r0, r2, 3 ldr r1, _080534C4 @ =gUnknown_82350AC adds r0, r1 - ldr r1, _080534C8 @ =gUnknown_202401C + ldr r1, _080534C8 @ =gMonSpritesGfxPtr ldr r1, [r1] ldr r1, [r1, 0x10] ldr r3, [r3, 0x6C] @@ -13045,7 +13045,7 @@ _0805349E: _080534BC: .4byte gSprites _080534C0: .4byte SpriteCallbackDummy _080534C4: .4byte gUnknown_82350AC -_080534C8: .4byte gUnknown_202401C +_080534C8: .4byte gMonSpritesGfxPtr _080534CC: ldr r4, _08053578 @ =gSprites ldr r2, [r7] @@ -13288,7 +13288,7 @@ _08053698: adds r0, r5 movs r1, 0x1 movs r2, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -13416,7 +13416,7 @@ _080537B8: adds r0, r5 movs r1, 0x1 movs r2, 0 - bl sub_8042EC4 + bl GetEvolutionTargetSpecies lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0 @@ -13793,7 +13793,7 @@ sub_8053A9C: @ 8053A9C ldrh r1, [r4, 0x38] movs r6, 0xB muls r1, r6 - ldr r5, _08053ADC @ =gUnknown_8245EE0 + ldr r5, _08053ADC @ =gSpeciesNames adds r1, r5 bl StringCopy ldr r0, _08053AE0 @ =gStringVar2 @@ -13809,7 +13809,7 @@ sub_8053A9C: @ 8053A9C _08053AD0: .4byte gUnknown_20370C0 _08053AD4: .4byte gUnknown_826CF8C _08053AD8: .4byte gStringVar1 -_08053ADC: .4byte gUnknown_8245EE0 +_08053ADC: .4byte gSpeciesNames _08053AE0: .4byte gStringVar2 thumb_func_end sub_8053A9C @@ -13840,7 +13840,7 @@ sub_8053AE4: @ 8053AE4 ldrh r2, [r4, 0xC] movs r1, 0xB muls r1, r2 - ldr r2, _08053B44 @ =gUnknown_8245EE0 + ldr r2, _08053B44 @ =gSpeciesNames adds r1, r2 bl StringCopy add sp, 0x20 @@ -13854,7 +13854,7 @@ _08053B34: .4byte gUnknown_20370C2 _08053B38: .4byte gPlayerParty _08053B3C: .4byte gStringVar1 _08053B40: .4byte gStringVar2 -_08053B44: .4byte gUnknown_8245EE0 +_08053B44: .4byte gSpeciesNames thumb_func_end sub_8053AE4 thumb_func_start sub_8053B48 @@ -13898,85 +13898,85 @@ sub_8053B48: @ 8053B48 adds r2, 0xE adds r0, r6, 0 movs r1, 0x27 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0xF adds r0, r6, 0 movs r1, 0x28 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x10 adds r0, r6, 0 movs r1, 0x29 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x11 adds r0, r6, 0 movs r1, 0x2A - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x12 adds r0, r6, 0 movs r1, 0x2B - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x13 adds r0, r6, 0 movs r1, 0x2C - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x2 adds r2, r5, 0 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x2B adds r0, r6, 0 movs r1, 0x7 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x36 adds r0, r6, 0 movs r1, 0x31 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x14 adds r0, r6, 0 movs r1, 0x2E - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x1D adds r0, r6, 0 movs r1, 0x17 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x1E adds r0, r6, 0 movs r1, 0x18 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x1C adds r0, r6, 0 movs r1, 0x16 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x1F adds r0, r6, 0 movs r1, 0x21 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x20 adds r0, r6, 0 movs r1, 0x2F - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x37 adds r0, r6, 0 movs r1, 0x30 - bl sub_804037C + bl SetMonData adds r0, r6, 0 movs r1, 0x23 adds r2, r4, 0 - bl sub_804037C + bl SetMonData mov r4, sp adds r4, 0x35 movs r0, 0 @@ -14002,12 +14002,12 @@ sub_8053B48: @ 8053B48 adds r0, r6, 0 movs r1, 0x40 adds r2, r4, 0 - bl sub_804037C + bl SetMonData adds r2, r5, 0 adds r2, 0x28 adds r0, r6, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData b _08053CC0 .align 2, 0 _08053CA4: .4byte gUnknown_826CF8C @@ -14019,7 +14019,7 @@ _08053CB4: adds r2, 0x28 adds r0, r6, 0 movs r1, 0xC - bl sub_804037C + bl SetMonData _08053CC0: ldr r0, _08053CD0 @ =gEnemyParty bl CalculateMonStats diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index e9071a0dd..36b5085b3 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -319,7 +319,7 @@ _0815DA0C: .4byte gUnknown_20370C0 thumb_func_start sub_815DA10 sub_815DA10: @ 815DA10 - ldr r1, _0815DA20 @ =gUnknown_825393E + ldr r1, _0815DA20 @ =gFacilityClassToTrainerClass ldr r0, _0815DA24 @ =gUnknown_203F45C ldr r0, [r0] adds r0, 0x3D @@ -328,7 +328,7 @@ sub_815DA10: @ 815DA10 ldrb r0, [r0] bx lr .align 2, 0 -_0815DA20: .4byte gUnknown_825393E +_0815DA20: .4byte gFacilityClassToTrainerClass _0815DA24: .4byte gUnknown_203F45C thumb_func_end sub_815DA10 @@ -347,7 +347,7 @@ _0815DA38: .4byte gUnknown_203F45C thumb_func_start sub_815DA3C sub_815DA3C: @ 815DA3C - ldr r1, _0815DA4C @ =gUnknown_82538A8 + ldr r1, _0815DA4C @ =gFacilityClassToPicIndex ldr r0, _0815DA50 @ =gUnknown_203F45C ldr r0, [r0] adds r0, 0x3D @@ -356,7 +356,7 @@ sub_815DA3C: @ 815DA3C ldrb r0, [r0] bx lr .align 2, 0 -_0815DA4C: .4byte gUnknown_82538A8 +_0815DA4C: .4byte gFacilityClassToPicIndex _0815DA50: .4byte gUnknown_203F45C thumb_func_end sub_815DA3C @@ -2287,14 +2287,14 @@ sub_815E948: @ 815E948 ldrb r1, [r3, 0x1B] movs r3, 0 ldr r2, _0815E984 @ =gUnknown_847A074 - ldr r0, _0815E988 @ =gUnknown_825393E + ldr r0, _0815E988 @ =gFacilityClassToTrainerClass adds r1, r0 b _0815E994 .align 2, 0 _0815E97C: .4byte 0x00004001 _0815E980: .4byte gUnknown_203F458 _0815E984: .4byte gUnknown_847A074 -_0815E988: .4byte gUnknown_825393E +_0815E988: .4byte gFacilityClassToTrainerClass _0815E98C: adds r2, 0x4 adds r3, 0x1 diff --git a/data/data.s b/data/data.s index 7f2b474aa..b6b915577 100644 --- a/data/data.s +++ b/data/data.s @@ -88,7 +88,7 @@ gUnknown_82373F4:: @ 82373F4 gUnknown_82380CC:: @ 82380CC .incbin "baserom.gba", 0x2380CC, 0x1010 -gUnknown_82390DC:: @ 82390DC +gTrainerFrontAnimsPtrTable:: @ 82390DC .incbin "baserom.gba", 0x2390DC, 0x250 gUnknown_823932C:: @ 823932C @@ -100,7 +100,7 @@ gUnknown_823957C:: @ 823957C gUnknown_8239A1C:: @ 8239A1C .incbin "baserom.gba", 0x239A1C, 0x558 -gUnknown_8239F74:: @ 8239F74 +gTrainerBackAnimsPtrTable:: @ 8239F74 .incbin "baserom.gba", 0x239F74, 0x18 gUnknown_8239F8C:: @ 8239F8C @@ -121,7 +121,7 @@ gUnknown_823E558:: @ 823E558 gTrainers:: @ 823EAD8 .incbin "baserom.gba", 0x23EAC8, 0x7418 -gUnknown_8245EE0:: @ 8245EE0 +gSpeciesNames:: @ 8245EE0 .incbin "baserom.gba", 0x245EE0, 0xD05 gUnknown_8246BE5:: @ 8246BE5 @@ -296,10 +296,7 @@ gUnknown_8250B20:: @ 8250B20 .incbin "baserom.gba", 0x250B20, 0xE4 gBattleMoves:: @ 8250C04 - .incbin "baserom.gba", 0x250C04, 0x4 - -gUnknown_8250C08:: @ 8250C08 - .incbin "baserom.gba", 0x250C08, 0x10B0 + .incbin "baserom.gba", 0x250C04, 0x10B4 gUnknown_8251CB8:: @ 8251CB8 .incbin "baserom.gba", 0x251CB8, 0x336 @@ -316,7 +313,7 @@ gUnknown_825265C:: @ 825265C gUnknown_825265E:: @ 825265E .incbin "baserom.gba", 0x25265E, 0x25E -gUnknown_82528BC:: @ 82528BC +gItemEffectTable:: @ 82528BC .incbin "baserom.gba", 0x2528BC, 0x28C gUnknown_8252B48:: @ 8252B48 @@ -325,16 +322,16 @@ gUnknown_8252B48:: @ 8252B48 gUnknown_8252BC8:: @ 8252BC8 .incbin "baserom.gba", 0x252BC8, 0xCE0 -gUnknown_82538A8:: @ 82538A8 +gFacilityClassToPicIndex:: @ 82538A8 .incbin "baserom.gba", 0x2538A8, 0x96 -gUnknown_825393E:: @ 825393E +gFacilityClassToTrainerClass:: @ 825393E .incbin "baserom.gba", 0x25393E, 0x96 gUnknown_82539D4:: @ 82539D4 .incbin "baserom.gba", 0x2539D4, 0x110 -gUnknown_8253AE4:: @ 8253AE4 +gExperienceTables:: @ 8253AE4 .incbin "baserom.gba", 0x253AE4, 0xCA0 gBaseStats:: @ 8254784 @@ -346,7 +343,7 @@ gUnknown_8254795:: @ 8254795 gUnknown_8259754:: @ 8259754 .incbin "baserom.gba", 0x259754, 0x4060 -gUnknown_825D7B4:: @ 825D7B4 +gLevelUpLearnsets:: @ 825D7B4 .incbin "baserom.gba", 0x25D7B4, 0x670 gUnknown_825DE24:: @ 825DE24 @@ -355,16 +352,16 @@ gUnknown_825DE24:: @ 825DE24 gUnknown_825DEA1:: @ 825DEA1 .incbin "baserom.gba", 0x25DEA1, 0x4 -gUnknown_825DEA5:: @ 825DEA5 +gPPUpWriteMasks:: @ 825DEA5 .incbin "baserom.gba", 0x25DEA5, 0x4 gUnknown_825DEA9:: @ 825DEA9 .incbin "baserom.gba", 0x25DEA9, 0x4 -gUnknown_825DEAD:: @ 825DEAD +gStatStageRatios:: @ 825DEAD .incbin "baserom.gba", 0x25DEAD, 0x1F -gUnknown_825DECC:: @ 825DECC +sHoldEffectToType:: @ 825DECC .incbin "baserom.gba", 0x25DECC, 0x24 gUnknown_825DEF0:: @ 825DEF0 @@ -373,10 +370,10 @@ gUnknown_825DEF0:: @ 825DEF0 gUnknown_825DF50:: @ 825DF50 .incbin "baserom.gba", 0x25DF50, 0x90 -gUnknown_825DFE0:: @ 825DFE0 +sSecretBaseFacilityClasses:: @ 825DFE0 .incbin "baserom.gba", 0x25DFE0, 0xA -gUnknown_825DFEA:: @ 825DFEA +sGetMonDataEVConstants:: @ 825DFEA .incbin "baserom.gba", 0x25DFEA, 0x6 gUnknown_825DFF0:: @ 825DFF0 diff --git a/data/data_84827AC.s b/data/data_84827AC.s index 2c69a76d7..0176941f6 100644 --- a/data/data_84827AC.s +++ b/data/data_84827AC.s @@ -579,7 +579,7 @@ gUnknown_83FE860:: @ 83FE860 gUnknown_83FE864:: @ 83FE864 .incbin "baserom.gba", 0x3FE864, 0x4 -gUnknown_83FE868:: @ 83FE868 +gText_BadEgg:: @ 83FE868 .incbin "baserom.gba", 0x3FE868, 0xC gUnknown_83FE874:: @ 83FE874 @@ -1185,7 +1185,7 @@ gExpandedPlaceholder_Red:: @ 8415A58 gExpandedPlaceholder_Green:: @ 8415A5C .incbin "baserom.gba", 0x415A5C, 0x6 -gUnknown_8415A62:: @ 8415A62 +gText_EggNickname:: @ 8415A62 .incbin "baserom.gba", 0x415A62, 0x4 gUnknown_8415A66:: @ 8415A66 diff --git a/include/battle.h b/include/battle.h index f98b2231a..b1d442c73 100644 --- a/include/battle.h +++ b/include/battle.h @@ -28,7 +28,7 @@ #define SIDE_OPPONENT 0x1 #define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank])) -#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE)) +#define GET_BANK_SIDE(bank)((GetBattlerPosition(bank) & BIT_SIDE)) #define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE)) #define BATTLE_TYPE_DOUBLE 0x0001 @@ -210,7 +210,7 @@ struct TrainerMonNoItemDefaultMoves }; u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); struct TrainerMonItemDefaultMoves { @@ -646,6 +646,9 @@ extern struct BattleStruct* gBattleStruct; typeArg = gBattleMoves[move].type; \ } +#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY) +#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY) + #define MOVE_EFFECT_SLEEP 0x1 #define MOVE_EFFECT_POISON 0x2 #define MOVE_EFFECT_BURN 0x3 @@ -847,9 +850,9 @@ enum }; // rom_80A5C6C -u8 GetBankSide(u8 bank); -u8 GetBankIdentity(u8 bank); -u8 GetBankByIdentity(u8 bank); +u8 GetBattlerSide(u8 bank); +u8 GetBattlerPosition(u8 bank); +u8 GetBattlerAtPosition(u8 bank); struct BattleSpriteInfo { @@ -961,5 +964,17 @@ extern u16 gLastUsedItem; extern u32 gBattleTypeFlags; extern struct MonSpritesGfx* gMonSpritesGfxPtr; extern u16 gTrainerBattleOpponent_A; +extern u16 gMoveToLearn; +extern u16 gBattleMovePower; +extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; +extern u16 gCurrentMove; +extern u8 gCritMultiplier; +extern u16 gBattleWeather; +extern u8 gLastUsedAbility; +extern u8 gBattlerInMenuId; +extern u8 gPotentialItemEffectBattler; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; +extern s32 gBattleMoveDamage; #endif // GUARD_BATTLE_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index c69cb1017..66984b453 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -181,7 +181,7 @@ void sub_8033648(void); void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); // emitters -void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); +void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused diff --git a/include/battle_util.h b/include/battle_util.h index 81eb85dc7..25e26719b 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -30,6 +30,10 @@ #define ABILITYEFFECT_CHECK_ON_FIELD 0x13 #define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF +#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0)) +#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0)) +#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0)) + #define ITEMEFFECT_ON_SWITCH_IN 0x0 #define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) @@ -80,5 +84,6 @@ void ClearFuryCutterDestinyBondGrudge(u8 bank); void HandleAction_RunBattleScript(void); u8 GetMoveTarget(u16 move, u8 useMoveTarget); u8 IsMonDisobedient(void); +void MarkBufferBankForExecution(u8 battlerId); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/constants/flags.h b/include/constants/flags.h index e74ef1ef0..04c20b2f2 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1286,6 +1286,13 @@ #define TRAINERS_FLAG_NO 0x356 #define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 +// TODO: Find what these are +#define FLAG_UNK820 0x820 +#define FLAG_UNK824 0x824 +#define FLAG_UNK826 0x826 + +#define FLAG_UNK843 0x843 + // SYSTEM FLAGS // 0x860 diff --git a/include/constants/items.h b/include/constants/items.h index 6135b8d6f..dd2b4c4ed 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -390,4 +390,7 @@ #define NUM_TECHNICAL_MACHINES 50 #define NUM_HIDDEN_MACHINES 8 +// Check if the item is one that can be used on a Pokemon. +#define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) + #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h new file mode 100644 index 000000000..78c1583b4 --- /dev/null +++ b/include/constants/pokemon.h @@ -0,0 +1,80 @@ +#ifndef GUARD_CONSTANTS_POKEMON_H +#define GUARD_CONSTANTS_POKEMON_H + +// Pokemon types +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 +#define NUMBER_OF_MON_TYPES 0x12 + +// Pokemon egg groups +#define EGG_GROUP_NONE 0 +#define EGG_GROUP_MONSTER 1 +#define EGG_GROUP_WATER_1 2 +#define EGG_GROUP_BUG 3 +#define EGG_GROUP_FLYING 4 +#define EGG_GROUP_FIELD 5 +#define EGG_GROUP_FAIRY 6 +#define EGG_GROUP_GRASS 7 +#define EGG_GROUP_HUMAN_LIKE 8 +#define EGG_GROUP_WATER_3 9 +#define EGG_GROUP_MINERAL 10 +#define EGG_GROUP_AMORPHOUS 11 +#define EGG_GROUP_WATER_2 12 +#define EGG_GROUP_DITTO 13 +#define EGG_GROUP_DRAGON 14 +#define EGG_GROUP_UNDISCOVERED 15 + +// Pokemon natures +#define NATURE_HARDY 0 +#define NATURE_LONELY 1 +#define NATURE_BRAVE 2 +#define NATURE_ADAMANT 3 +#define NATURE_NAUGHTY 4 +#define NATURE_BOLD 5 +#define NATURE_DOCILE 6 +#define NATURE_RELAXED 7 +#define NATURE_IMPISH 8 +#define NATURE_LAX 9 +#define NATURE_TIMID 10 +#define NATURE_HASTY 11 +#define NATURE_SERIOUS 12 +#define NATURE_JOLLY 13 +#define NATURE_NAIVE 14 +#define NATURE_MODEST 15 +#define NATURE_MILD 16 +#define NATURE_QUIET 17 +#define NATURE_BASHFUL 18 +#define NATURE_RASH 19 +#define NATURE_CALM 20 +#define NATURE_GENTLE 21 +#define NATURE_SASSY 22 +#define NATURE_CAREFUL 23 +#define NATURE_QUIRKY 24 + +// Pokemon Stats +#define STAT_HP 0 +#define STAT_ATK 1 +#define STAT_DEF 2 +#define STAT_SPEED 3 +#define STAT_SPATK 4 +#define STAT_SPDEF 5 +#define STAT_ACC 6 // only in battles +#define STAT_EVASION 7 // only in battles + +#endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/global.h b/include/global.h index 75911b9f2..7de1232ad 100644 --- a/include/global.h +++ b/include/global.h @@ -239,6 +239,18 @@ struct SaveBlock2 extern struct SaveBlock2 *gSaveBlock2Ptr; +#define PARTY_SIZE 6 + +struct SecretBaseParty +{ + u32 personality[PARTY_SIZE]; + u16 moves[PARTY_SIZE * 4]; + u16 species[PARTY_SIZE]; + u16 heldItems[PARTY_SIZE]; + u8 levels[PARTY_SIZE]; + u8 EVs[PARTY_SIZE]; +}; + struct SecretBaseRecord { /*0x1A9C*/ u8 secretBaseId; @@ -246,7 +258,7 @@ struct SecretBaseRecord /*0x1A9D*/ u8 gender:1; /*0x1A9D*/ u8 sbr_field_1_5:1; /*0x1A9D*/ u8 sbr_field_1_6:2; - /*0x1A9E*/ u8 trainerName[OT_NAME_LENGTH]; + /*0x1A9E*/ u8 trainerName[7]; // TODO: Change PLAYER_NAME_LENGTH to 7 /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class /*0x1AA9*/ u8 language; /*0x1AAA*/ u16 sbr_field_e; @@ -254,12 +266,7 @@ struct SecretBaseRecord /*0x1AAD*/ u8 sbr_field_11; /*0x1AAE*/ u8 decorations[16]; /*0x1ABE*/ u8 decorationPos[16]; - /*0x1AD0*/ u32 partyPersonality[6]; - /*0x1AE8*/ u16 partyMoves[6 * 4]; - /*0x1B18*/ u16 partySpecies[6]; - /*0x1B24*/ u16 partyHeldItems[6]; - /*0x1B2E*/ u8 partyLevels[6]; - /*0x1B34*/ u8 partyEVs[6]; + /*0x1AD0*/ struct SecretBaseParty party; }; #include "constants/game_stat.h" @@ -476,7 +483,9 @@ struct SaveBlock1 { /*0x0000*/ u8 filler[0x4]; /*0x0004*/ struct WarpData location; - /*0x000C*/ u8 fillerC[0x3610]; + /*0x000C*/ u8 fillerC[0x30DE]; + /*0x30EA*/ struct EnigmaBerry enigmaBerry; + /*0x3120*/ u8 filler3120[0x4FC]; /*0x361C*/ struct RamScript ramScript; /*0x3A08*/ u8 filler3A08[0x44]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; diff --git a/include/pokemon.h b/include/pokemon.h index 480c8d9b9..2a8dc9c7d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -523,11 +523,15 @@ extern struct Pokemon gEnemyParty[PARTY_SIZE]; extern const struct BaseStats gBaseStats[]; extern const u8 *const gItemEffectTable[]; extern const struct EvolutionData gEvolutionTable[]; +extern const u8 gStatStageRatios[][2]; +extern struct SpriteTemplate gMultiuseSpriteTemplate; extern struct PokemonStorage* gPokemonStoragePtr; extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; extern const u16 *const gLevelUpLearnsets[]; +extern const u8 gFacilityClassToPicIndex[]; +extern const u8 gFacilityClassToTrainerClass[]; -u8 CountAliveMonsInBattle(u8 caseId); +u8 CountAliveMons(u8 caseId); #define BATTLE_ALIVE_EXCEPT_ACTIVE 0 #define BATTLE_ALIVE_ATK_SIDE 1 #define BATTLE_ALIVE_DEF_SIDE 2 @@ -558,6 +562,8 @@ void GiveMonInitialMoveset(struct Pokemon *mon); void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); +bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); +bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); @@ -653,6 +659,7 @@ u8 GetSecretBaseTrainerPicIndex(void); bool8 TryIncrementMonLevel(struct Pokemon *mon); void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon); u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves); +bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); #include "sprite.h" diff --git a/ld_script.txt b/ld_script.txt index bc27ac048..578a3f147 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -75,10 +75,7 @@ SECTIONS { asm/battle_controller_opponent.o(.text); asm/battle_ai_switch_items.o(.text); asm/battle_controller_link_opponent.o(.text); - asm/pokemon_1.o(.text); - asm/calculate_base_damage.o(.text); - asm/pokemon_2.o(.text); - asm/pokemon_item_effect.o(.text); + src/pokemon.o(.text); asm/pokemon_3.o(.text); asm/trig.o(.text); src/random.o(.text); diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 22ed95040..6f5577f70 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -256,7 +256,6 @@ extern const u32 gBitTable[]; // util.h extern u32 gStatuses3[]; // battle_2.h extern u16 gSideAffecting[2]; extern const struct BattleMove gBattleMoves[]; -extern u16 gBattlerPartyIndexes[]; extern u16 gDynamicBasePower; extern u8 gMoveResultFlags; extern u8 gCritMultiplier; @@ -485,14 +484,14 @@ void sub_80C71A8(u8 a) void sub_80C71D0(u8 a, u8 b) { - if (GetBankSide(a) == 0) - BATTLE_HISTORY->abilities[GetBankIdentity(a) & 1] = b; + if (GetBattlerSide(a) == 0) + BATTLE_HISTORY->abilities[GetBattlerPosition(a) & 1] = b; } void sub_80C7208(u8 a, u8 b) { - if (GetBankSide(a) == 0) - BATTLE_HISTORY->itemEffects[GetBankIdentity(a) & 1] = b; + if (GetBattlerSide(a) == 0) + BATTLE_HISTORY->itemEffects[GetBattlerPosition(a) & 1] = b; } static void BattleAICmd_if_random_less_than(void) @@ -720,7 +719,7 @@ static void BattleAICmd_if_status4(void) else index = gBattlerTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) != 0) @@ -739,7 +738,7 @@ static void BattleAICmd_if_not_status4(void) else index = gBattlerTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) == 0) @@ -1361,7 +1360,7 @@ static void BattleAICmd_count_alive_pokemon(void) else index = gBattlerTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1370,8 +1369,8 @@ static void BattleAICmd_count_alive_pokemon(void) { u32 status; var = gBattlerPartyIndexes[index]; - status = GetBankIdentity(index) ^ 2; - var2 = gBattlerPartyIndexes[GetBankByIdentity(status)]; + status = GetBattlerPosition(index) ^ 2; + var2 = gBattlerPartyIndexes[GetBattlerAtPosition(status)]; } else { @@ -1414,9 +1413,9 @@ static void BattleAICmd_get_ability(void) else index = gBattlerTarget; - if (GetBankSide(index) == TARGET) + if (GetBattlerSide(index) == TARGET) { - u16 side = GetBankIdentity(index) & 1; + u16 side = GetBattlerPosition(index) & 1; if (BATTLE_HISTORY->abilities[side] != 0) { @@ -2008,9 +2007,9 @@ static void BattleAICmd_get_hold_effect(void) else index = gBattlerTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) { - side = (GetBankIdentity(index) & 1); + side = (GetBattlerPosition(index) & 1); AI_THINKING_STRUCT->funcResult = BATTLE_HISTORY->itemEffects[side]; } else diff --git a/src/pokemon.c b/src/pokemon.c new file mode 100644 index 000000000..c9bfa8614 --- /dev/null +++ b/src/pokemon.c @@ -0,0 +1,2833 @@ +#include "global.h" +#include "pokemon.h" +#include "random.h" +#include "main.h" +#include "text.h" +#include "string_util.h" +#include "battle.h" +#include "item.h" +#include "event_data.h" +#include "util.h" +#include "pokemon_storage_system.h" +#include "data2.h" +#include "battle_gfx_sfx_util.h" +#include "battle_controllers.h" +#include "evolution_scene.h" +#include "constants/items.h" +#include "constants/species.h" +#include "constants/pokemon.h" +#include "constants/abilities.h" +#include "constants/flags.h" +#include "constants/moves.h" +#include "constants/hold_effects.h" +#include "constants/battle_move_effects.h" + +// Extracts the upper 16 bits of a 32-bit number +#define HIHALF(n) (((n) & 0xFFFF0000) >> 16) + +// Extracts the lower 16 bits of a 32-bit number +#define LOHALF(n) ((n) & 0xFFFF) + +// TODO: what is this +struct UnkStruct20244F4 +{ + u8 unk0:4; + u8 unk0_2:4; + u8 filler1[0xF]; + struct SpriteTemplate *unk10; +}; +extern struct UnkStruct20244F4 *gUnknown_20244F4; +extern struct SpriteTemplate gUnknown_825DEF0[]; +extern struct SpriteTemplate gUnknown_825DF50[]; +extern const union AnimCmd *const *const gTrainerBackAnimsPtrTable[]; +extern struct SpriteTemplate gUnknown_825DEF0[]; +extern const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[]; +extern const union AnimCmd *const gUnknown_82349BC[]; +extern const u8 gText_EggNickname[]; +extern const u8 gText_BadEgg[]; +extern const u8 gUnknown_825DEA1[]; +extern const u8 gPPUpWriteMasks[]; + +extern u8 sav1_map_get_name(void); // overworld +extern const struct BattleMove gBattleMoves[]; +extern u8 sBattler_AI; // battle_ai +extern void set_unknown_box_id(u8); // field_specials +extern u8 pokemon_order_func(u8); +extern u16 get_unknown_box_id(void); // field_specials +extern u8 StorageGetCurrentBox(void); // pokemon_storage_system +extern void sub_80174B8(u8 battlerId); + +union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType); +s32 GetDeoxysStat(struct Pokemon *mon, s32 statId); + +extern const u8 sHoldEffectToType[][2]; +extern u8 sLearningMoveTableID; +extern const u8 sSecretBaseFacilityClasses[2][5]; + +// code +void ZeroBoxMonData(struct BoxPokemon *boxMon) +{ + u8 *raw = (u8 *)boxMon; + u32 i; + for (i = 0; i < sizeof(struct BoxPokemon); i++) + raw[i] = 0; +} + +void ZeroMonData(struct Pokemon *mon) +{ + u32 arg; + ZeroBoxMonData(&mon->box); + arg = 0; + SetMonData(mon, MON_DATA_STATUS, &arg); + SetMonData(mon, MON_DATA_LEVEL, &arg); + SetMonData(mon, MON_DATA_HP, &arg); + SetMonData(mon, MON_DATA_MAX_HP, &arg); + SetMonData(mon, MON_DATA_ATK, &arg); + SetMonData(mon, MON_DATA_DEF, &arg); + SetMonData(mon, MON_DATA_SPEED, &arg); + SetMonData(mon, MON_DATA_SPATK, &arg); + SetMonData(mon, MON_DATA_SPDEF, &arg); + arg = 255; + SetMonData(mon, MON_DATA_MAIL, &arg); +} + +void ZeroPlayerPartyMons(void) +{ + s32 i; + for (i = 0; i < PARTY_SIZE; i++) + ZeroMonData(&gPlayerParty[i]); +} + +void ZeroEnemyPartyMons(void) +{ + s32 i; + for (i = 0; i < PARTY_SIZE; i++) + ZeroMonData(&gEnemyParty[i]); +} + +void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId) +{ + u32 arg; + ZeroMonData(mon); + CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId); + SetMonData(mon, MON_DATA_LEVEL, &level); + arg = 255; + SetMonData(mon, MON_DATA_MAIL, &arg); + CalculateMonStats(mon); +} + +void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId) +{ + u8 speciesName[POKEMON_NAME_LENGTH + 1]; + u32 personality; + u32 value; + u16 checksum; + + ZeroBoxMonData(boxMon); + + if (hasFixedPersonality) + personality = fixedPersonality; + else + personality = Random32(); + + SetBoxMonData(boxMon, MON_DATA_PERSONALITY, &personality); + + //Determine original trainer ID + if (otIdType == OT_ID_RANDOM_NO_SHINY) //Pokemon cannot be shiny + { + u32 shinyValue; + do + { + value = Random32(); + shinyValue = HIHALF(value) ^ LOHALF(value) ^ HIHALF(personality) ^ LOHALF(personality); + } while (shinyValue < 8); + } + else if (otIdType == OT_ID_PRESET) //Pokemon has a preset OT ID + { + value = fixedOtId; + } + else //Player is the OT + { + value = gSaveBlock2Ptr->playerTrainerId[0] + | (gSaveBlock2Ptr->playerTrainerId[1] << 8) + | (gSaveBlock2Ptr->playerTrainerId[2] << 16) + | (gSaveBlock2Ptr->playerTrainerId[3] << 24); + } + + SetBoxMonData(boxMon, MON_DATA_OT_ID, &value); + + checksum = CalculateBoxMonChecksum(boxMon); + SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum); + EncryptBoxMon(boxMon); + GetSpeciesName(speciesName, species); + SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName); + SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); + SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2Ptr->playerName); + SetBoxMonData(boxMon, MON_DATA_SPECIES, &species); + SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]); + SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship); + value = sav1_map_get_name(); + SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value); + SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level); + SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion); + value = ITEM_POKE_BALL; + SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value); + SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2Ptr->playerGender); + + if (fixedIV < 32) + { + SetBoxMonData(boxMon, MON_DATA_HP_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &fixedIV); + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &fixedIV); + } + else + { + u32 iv; + value = Random(); + + iv = value & 0x1F; + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); + iv = (value & 0x3E0) >> 5; + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); + iv = (value & 0x7C00) >> 10; + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); + + value = Random(); + + iv = value & 0x1F; + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); + iv = (value & 0x3E0) >> 5; + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); + iv = (value & 0x7C00) >> 10; + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); + } + + if (gBaseStats[species].ability2) + { + value = personality & 1; + SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value); + } + + GiveBoxMonInitialMoveset(boxMon); +} + +void CreateMonWithNature(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 nature) +{ + u32 personality; + + do + { + personality = Random32(); + } + while (nature != GetNatureFromPersonality(personality)); + + CreateMon(mon, species, level, fixedIV, 1, personality, OT_ID_PLAYER_ID, 0); +} + +void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 gender, u8 nature, u8 unownLetter) +{ + u32 personality; + + if ((u8)(unownLetter - 1) < 28) + { + u16 actualLetter; + + do + { + personality = Random32(); + actualLetter = ((((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 28); + } + while (nature != GetNatureFromPersonality(personality) + || gender != GetGenderFromSpeciesAndPersonality(species, personality) + || actualLetter != unownLetter - 1); + } + else + { + do + { + personality = Random32(); + } + while (nature != GetNatureFromPersonality(personality) + || gender != GetGenderFromSpeciesAndPersonality(species, personality)); + } + + CreateMon(mon, species, level, fixedIV, 1, personality, OT_ID_PLAYER_ID, 0); +} + +// Used to create the Old Man's Weedle? +void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level) +{ + u32 personality; + u32 otId; + + do + { + otId = Random32(); + personality = Random32(); + } + while (GetGenderFromSpeciesAndPersonality(species, personality) != MON_MALE); + CreateMon(mon, species, level, 32, 1, personality, OT_ID_PRESET, otId); +} + +void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality) +{ + CreateMon(mon, species, level, 0, 1, personality, OT_ID_PLAYER_ID, 0); + SetMonData(mon, MON_DATA_IVS, &ivs); + CalculateMonStats(mon); +} + +void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u32 otId) +{ + CreateMon(mon, species, level, 0, 0, 0, OT_ID_PRESET, otId); + SetMonData(mon, MON_DATA_HP_IV, &ivs[0]); + SetMonData(mon, MON_DATA_ATK_IV, &ivs[1]); + SetMonData(mon, MON_DATA_DEF_IV, &ivs[2]); + SetMonData(mon, MON_DATA_SPEED_IV, &ivs[3]); + SetMonData(mon, MON_DATA_SPATK_IV, &ivs[4]); + SetMonData(mon, MON_DATA_SPDEF_IV, &ivs[5]); + CalculateMonStats(mon); +} + +void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread) +{ + s32 i; + s32 statCount = 0; + u16 evAmount; + u8 evsBits; + + CreateMon(mon, species, level, fixedIV, 0, 0, 0, 0); + + evsBits = evSpread; + + for (i = 0; i < NUM_STATS; i++) + { + if (evsBits & 1) + statCount++; + evsBits >>= 1; + } + + evAmount = MAX_TOTAL_EVS / statCount; + + evsBits = 1; + + for (i = 0; i < NUM_STATS; i++) + { + if (evSpread & evsBits) + SetMonData(mon, MON_DATA_HP_EV + i, &evAmount); + evsBits <<= 1; + } + + CalculateMonStats(mon); +} + +void sub_803E0A4(struct Pokemon *mon, struct UnknownPokemonStruct *src) +{ + s32 i; + u8 value; + + CreateMon(mon, src->species, src->level, 0, 1, src->personality, 1, src->otId); + + for (i = 0; i < 4; i++) + SetMonMoveSlot(mon, src->moves[i], i); + + SetMonData(mon, MON_DATA_PP_BONUSES, &src->ppBonuses); + SetMonData(mon, MON_DATA_HELD_ITEM, &src->heldItem); + + // Why is this commented out in FR/LG? + /* + StringCopy(nickname, src->nickname); + + if (nickname[0] == 0xFC && nickname[1] == 0x15) + language = LANGUAGE_JAPANESE; + else + language = GAME_LANGUAGE; + + SetMonData(mon, MON_DATA_LANGUAGE, &language); + Text_StripExtCtrlCodes(nickname); + */ + + SetMonData(mon, MON_DATA_NICKNAME, &src->nickname); + SetMonData(mon, MON_DATA_FRIENDSHIP, &src->friendship); + SetMonData(mon, MON_DATA_HP_EV, &src->hpEV); + SetMonData(mon, MON_DATA_ATK_EV, &src->attackEV); + SetMonData(mon, MON_DATA_DEF_EV, &src->defenseEV); + SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV); + SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV); + SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV); + value = src->altAbility; + SetMonData(mon, MON_DATA_ALT_ABILITY, &value); + value = src->hpIV; + SetMonData(mon, MON_DATA_HP_IV, &value); + value = src->attackIV; + SetMonData(mon, MON_DATA_ATK_IV, &value); + value = src->defenseIV; + SetMonData(mon, MON_DATA_DEF_IV, &value); + value = src->speedIV; + SetMonData(mon, MON_DATA_SPEED_IV, &value); + value = src->spAttackIV; + SetMonData(mon, MON_DATA_SPATK_IV, &value); + value = src->spDefenseIV; + SetMonData(mon, MON_DATA_SPDEF_IV, &value); + CalculateMonStats(mon); +} + +void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId) +{ + bool32 obedient = TRUE; + + CreateMon(mon, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId); + SetMonData(mon, MON_DATA_OBEDIENCE, &obedient); +} + +void sub_803E23C(struct Pokemon *mon, struct UnknownPokemonStruct *dest) +{ + s32 i; + u16 heldItem; + + dest->species = GetMonData(mon, MON_DATA_SPECIES, NULL); + heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, NULL); + + if (heldItem == ITEM_ENIGMA_BERRY) + heldItem = 0; + + dest->heldItem = heldItem; + + for (i = 0; i < 4; i++) + dest->moves[i] = GetMonData(mon, MON_DATA_MOVE1 + i, NULL); + + dest->level = GetMonData(mon, MON_DATA_LEVEL, NULL); + dest->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); + dest->otId = GetMonData(mon, MON_DATA_OT_ID, NULL); + dest->hpEV = GetMonData(mon, MON_DATA_HP_EV, NULL); + dest->attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL); + dest->defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL); + dest->speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL); + dest->spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL); + dest->spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); + dest->friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL); + dest->hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL); + dest->attackIV = GetMonData(mon, MON_DATA_ATK_IV, NULL); + dest->defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL); + dest->speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); + dest->spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); + dest->spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); + dest->altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL); + dest->personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + GetMonData(mon, MON_DATA_NICKNAME, dest->nickname); +} + +u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) +{ + u16 checksum = 0; + union PokemonSubstruct *substruct0 = GetSubstruct(boxMon, boxMon->personality, 0); + union PokemonSubstruct *substruct1 = GetSubstruct(boxMon, boxMon->personality, 1); + union PokemonSubstruct *substruct2 = GetSubstruct(boxMon, boxMon->personality, 2); + union PokemonSubstruct *substruct3 = GetSubstruct(boxMon, boxMon->personality, 3); + s32 i; + + for (i = 0; i < 6; i++) + checksum += substruct0->raw[i]; + + for (i = 0; i < 6; i++) + checksum += substruct1->raw[i]; + + for (i = 0; i < 6; i++) + checksum += substruct2->raw[i]; + + for (i = 0; i < 6; i++) + checksum += substruct3->raw[i]; + + return checksum; +} + +#define CALC_STAT(base, iv, ev, statIndex, field) \ +{ \ + u8 baseStat = gBaseStats[species].base; \ + s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ + u8 nature = GetNature(mon); \ + n = nature_stat_mod(nature, n, statIndex); \ + SetMonData(mon, field, &n); \ +} + +void CalculateMonStats(struct Pokemon *mon) +{ + s32 oldMaxHP = GetMonData(mon, MON_DATA_MAX_HP, NULL); + s32 currentHP = GetMonData(mon, MON_DATA_HP, NULL); + s32 hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL); + s32 hpEV = GetMonData(mon, MON_DATA_HP_EV, NULL); + s32 attackIV = GetMonData(mon, MON_DATA_ATK_IV, NULL); + s32 attackEV = GetMonData(mon, MON_DATA_ATK_EV, NULL); + s32 defenseIV = GetMonData(mon, MON_DATA_DEF_IV, NULL); + s32 defenseEV = GetMonData(mon, MON_DATA_DEF_EV, NULL); + s32 speedIV = GetMonData(mon, MON_DATA_SPEED_IV, NULL); + s32 speedEV = GetMonData(mon, MON_DATA_SPEED_EV, NULL); + s32 spAttackIV = GetMonData(mon, MON_DATA_SPATK_IV, NULL); + s32 spAttackEV = GetMonData(mon, MON_DATA_SPATK_EV, NULL); + s32 spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); + s32 spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + s32 level = GetLevelFromMonExp(mon); + s32 newMaxHP; + + SetMonData(mon, MON_DATA_LEVEL, &level); + + if (species == SPECIES_SHEDINJA) + { + newMaxHP = 1; + } + else + { + s32 n = 2 * gBaseStats[species].baseHP + hpIV; + newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; + } + + gBattleScripting.field_23 = newMaxHP - oldMaxHP; + if (gBattleScripting.field_23 == 0) + gBattleScripting.field_23 = 1; + + SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); + + CALC_STAT(baseAttack, attackIV, attackEV, STAT_ATK, MON_DATA_ATK) + CALC_STAT(baseDefense, defenseIV, defenseEV, STAT_DEF, MON_DATA_DEF) + CALC_STAT(baseSpeed, speedIV, speedEV, STAT_SPEED, MON_DATA_SPEED) + CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, STAT_SPATK, MON_DATA_SPATK) + CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, STAT_SPDEF, MON_DATA_SPDEF) + + if (species == SPECIES_SHEDINJA) + { + if (currentHP != 0 || oldMaxHP == 0) + currentHP = 1; + else + return; + } + else + { + if (currentHP == 0 && oldMaxHP == 0) + currentHP = newMaxHP; + else if (currentHP != 0) + currentHP += newMaxHP - oldMaxHP; + else + return; + } + + SetMonData(mon, MON_DATA_HP, ¤tHP); +} + +void BoxMonToMon(struct BoxPokemon *src, struct Pokemon *dest) +{ + u32 value = 0; + dest->box = *src; + SetMonData(dest, MON_DATA_STATUS, &value); + SetMonData(dest, MON_DATA_HP, &value); + SetMonData(dest, MON_DATA_MAX_HP, &value); + value = 255; + SetMonData(dest, MON_DATA_MAIL, &value); + CalculateMonStats(dest); +} + +u8 GetLevelFromMonExp(struct Pokemon *mon) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 exp = GetMonData(mon, MON_DATA_EXP, NULL); + s32 level = 1; + + while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) + level++; + + return level - 1; +} + +u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon) +{ + u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL); + u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP, NULL); + s32 level = 1; + + while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) + level++; + + return level - 1; +} + +u16 GiveMoveToMon(struct Pokemon *mon, u16 move) +{ + return GiveMoveToBoxMon(&mon->box, move); +} + +u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) +{ + s32 i; + for (i = 0; i < 4; i++) + { + u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL); + if (!existingMove) + { + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move); + SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp); + return move; + } + if (existingMove == move) + return -2; + } + return -1; +} + +u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + if (!mon->moves[i]) + { + mon->moves[i] = move; + mon->pp[i] = gBattleMoves[move].pp; + return move; + } + } + + return -1; +} + +void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot) +{ + SetMonData(mon, MON_DATA_MOVE1 + slot, &move); + SetMonData(mon, MON_DATA_PP1 + slot, &gBattleMoves[move].pp); +} + +void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot) +{ + mon->moves[slot] = move; + mon->pp[slot] = gBattleMoves[move].pp; +} + +void GiveMonInitialMoveset(struct Pokemon *mon) +{ + GiveBoxMonInitialMoveset(&mon->box); +} + +// TODO: make level_up_learnsets.h in src/data and move this to there. +#define LEVEL_UP_END 0xffff + +void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) +{ + u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL); + s32 level = GetLevelFromBoxMonExp(boxMon); + s32 i; + + for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) + { + u16 moveLevel; + u16 move; + + moveLevel = (gLevelUpLearnsets[species][i] & 0xFE00); + + if (moveLevel > (level << 9)) + break; + + move = (gLevelUpLearnsets[species][i] & 0x1FF); + + if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) + DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); + } +} + +u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) +{ + u32 retVal = 0; + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u8 level = GetMonData(mon, MON_DATA_LEVEL, NULL); + + // since you can learn more than one move per level + // the game needs to know whether you decided to + // learn it or keep the old set to avoid asking + // you to learn the same move over and over again + if (firstMove) + { + sLearningMoveTableID = 0; + + while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) + { + sLearningMoveTableID++; + if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) + return 0; + } + } + + if ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) == (level << 9)) + { + gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & 0x1FF); + sLearningMoveTableID++; + retVal = GiveMoveToMon(mon, gMoveToLearn); + } + + return retVal; +} + +void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) +{ + s32 i; + u16 moves[4]; + u8 pp[4]; + u8 ppBonuses; + + for (i = 0; i < 3; i++) + { + moves[i] = GetMonData(mon, MON_DATA_MOVE2 + i, NULL); + pp[i] = GetMonData(mon, MON_DATA_PP2 + i, NULL); + } + + ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); + ppBonuses >>= 2; + moves[3] = move; + pp[3] = gBattleMoves[move].pp; + + for (i = 0; i < 4; i++) + { + SetMonData(mon, MON_DATA_MOVE1 + i, &moves[i]); + SetMonData(mon, MON_DATA_PP1 + i, &pp[i]); + } + + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); +} + +void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) +{ + s32 i; + u16 moves[4]; + u8 pp[4]; + u8 ppBonuses; + + for (i = 0; i < 3; i++) + { + moves[i] = GetBoxMonData(boxMon, MON_DATA_MOVE2 + i, NULL); + pp[i] = GetBoxMonData(boxMon, MON_DATA_PP2 + i, NULL); + } + + ppBonuses = GetBoxMonData(boxMon, MON_DATA_PP_BONUSES, NULL); + ppBonuses >>= 2; + moves[3] = move; + pp[3] = gBattleMoves[move].pp; + + for (i = 0; i < 4; i++) + { + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); + SetBoxMonData(boxMon, MON_DATA_PP1 + i, &pp[i]); + } + + SetBoxMonData(boxMon, MON_DATA_PP_BONUSES, &ppBonuses); +} + +#define APPLY_STAT_MOD(var, mon, stat, statIndex) \ +{ \ + (var) = (stat) * (gStatStageRatios)[(mon)->statStages[(statIndex)]][0]; \ + (var) /= (gStatStageRatios)[(mon)->statStages[(statIndex)]][1]; \ +} + +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 battlerIdAtk, u8 battlerIdDef) +{ + u32 i; + s32 damage = 0; + s32 damageHelper; + u8 type; + u16 attack, defense; + u16 spAttack, spDefense; + u8 defenderHoldEffect; + u8 defenderHoldEffectParam; + u8 attackerHoldEffect; + u8 attackerHoldEffectParam; + + if (!powerOverride) + gBattleMovePower = gBattleMoves[move].power; + else + gBattleMovePower = powerOverride; + + if (!typeOverride) + type = gBattleMoves[move].type; + else + type = typeOverride & 0x3F; + + attack = attacker->attack; + defense = defender->defense; + spAttack = attacker->spAttack; + spDefense = defender->spDefense; + + if (attacker->item == ITEM_ENIGMA_BERRY) + { + attackerHoldEffect = gEnigmaBerries[battlerIdAtk].holdEffect; + attackerHoldEffectParam = gEnigmaBerries[battlerIdAtk].holdEffectParam; + } + else + { + attackerHoldEffect = ItemId_GetHoldEffect(attacker->item); + attackerHoldEffectParam = ItemId_GetHoldEffectParam(attacker->item); + } + + if (defender->item == ITEM_ENIGMA_BERRY) + { + defenderHoldEffect = gEnigmaBerries[battlerIdDef].holdEffect; + defenderHoldEffectParam = gEnigmaBerries[battlerIdDef].holdEffectParam; + } + else + { + defenderHoldEffect = ItemId_GetHoldEffect(defender->item); + defenderHoldEffectParam = ItemId_GetHoldEffectParam(defender->item); + } + + if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER) + attack *= 2; + + // In FRLG, the Battle Tower and opponent checks are stubbed here. + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) + { + if (FlagGet(FLAG_UNK820) + && !GetBattlerSide(battlerIdAtk)) + attack = (110 * attack) / 100; + } + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) + { + if (FlagGet(FLAG_UNK824) + && !GetBattlerSide(battlerIdDef)) + defense = (110 * defense) / 100; + } + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) + { + if (FlagGet(FLAG_UNK826) + && !GetBattlerSide(battlerIdAtk)) + spAttack = (110 * spAttack) / 100; + } + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) + { + if (FlagGet(FLAG_UNK826) + && !GetBattlerSide(battlerIdDef)) + spDefense = (110 * spDefense) / 100; + } + + // TODO: Use ARRAY_COUNT(sHoldEffectToType) + for (i = 0; i < 17; i++) + { + if (attackerHoldEffect == sHoldEffectToType[i][0] + && type == sHoldEffectToType[i][1]) + { + if (IS_TYPE_PHYSICAL(type)) + attack = (attack * (attackerHoldEffectParam + 100)) / 100; + else + spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; + break; + } + } + + if (attackerHoldEffect == HOLD_EFFECT_CHOICE_BAND) + attack = (150 * attack) / 100; + if (attackerHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER)) && (attacker->species == SPECIES_LATIAS || attacker->species == SPECIES_LATIOS)) + spAttack = (150 * spAttack) / 100; + if (defenderHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER)) && (defender->species == SPECIES_LATIAS || defender->species == SPECIES_LATIOS)) + spDefense = (150 * spDefense) / 100; + if (attackerHoldEffect == HOLD_EFFECT_DEEP_SEA_TOOTH && attacker->species == SPECIES_CLAMPERL) + spAttack *= 2; + if (defenderHoldEffect == HOLD_EFFECT_DEEP_SEA_SCALE && defender->species == SPECIES_CLAMPERL) + spDefense *= 2; + if (attackerHoldEffect == HOLD_EFFECT_LIGHT_BALL && attacker->species == SPECIES_PIKACHU) + spAttack *= 2; + if (defenderHoldEffect == HOLD_EFFECT_METAL_POWDER && defender->species == SPECIES_DITTO) + defense *= 2; + if (attackerHoldEffect == HOLD_EFFECT_THICK_CLUB && (attacker->species == SPECIES_CUBONE || attacker->species == SPECIES_MAROWAK)) + attack *= 2; + if (defender->ability == ABILITY_THICK_FAT && (type == TYPE_FIRE || type == TYPE_ICE)) + spAttack /= 2; + if (attacker->ability == ABILITY_HUSTLE) + attack = (150 * attack) / 100; + if (attacker->ability == ABILITY_PLUS && ABILITY_ON_FIELD2(ABILITY_MINUS)) + spAttack = (150 * spAttack) / 100; + if (attacker->ability == ABILITY_MINUS && ABILITY_ON_FIELD2(ABILITY_PLUS)) + spAttack = (150 * spAttack) / 100; + if (attacker->ability == ABILITY_GUTS && attacker->status1) + attack = (150 * attack) / 100; + if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1) + defense = (150 * defense) / 100; + if (type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, 0xFD, 0)) + gBattleMovePower /= 2; + if (type == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, 0xFE, 0)) + gBattleMovePower /= 2; + if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_FIRE && attacker->ability == ABILITY_BLAZE && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_WATER && attacker->ability == ABILITY_TORRENT && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_BUG && attacker->ability == ABILITY_SWARM && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) + defense /= 2; + + if (IS_TYPE_PHYSICAL(type)) + { + if (gCritMultiplier == 2) + { + if (attacker->statStages[STAT_ATK] > 6) + APPLY_STAT_MOD(damage, attacker, attack, STAT_ATK) + else + damage = attack; + } + else + APPLY_STAT_MOD(damage, attacker, attack, STAT_ATK) + + damage = damage * gBattleMovePower; + damage *= (2 * attacker->level / 5 + 2); + + if (gCritMultiplier == 2) + { + if (defender->statStages[STAT_DEF] < 6) + APPLY_STAT_MOD(damageHelper, defender, defense, STAT_DEF) + else + damageHelper = defense; + } + else + APPLY_STAT_MOD(damageHelper, defender, defense, STAT_DEF) + + damage = damage / damageHelper; + damage /= 50; + + if ((attacker->status1 & STATUS1_BURN) && attacker->ability != ABILITY_GUTS) + damage /= 2; + + if ((sideStatus & SIDE_STATUS_REFLECT) && gCritMultiplier == 1) + { + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMons(2) == 2) + damage = 2 * (damage / 3); + else + damage /= 2; + } + + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMons(2) == 2) + damage /= 2; + + // moves always do at least 1 damage. + if (damage == 0) + damage = 1; + } + + if (type == TYPE_MYSTERY) + damage = 0; // is ??? type. does 0 damage. + + if (IS_TYPE_SPECIAL(type)) + { + if (gCritMultiplier == 2) + { + if (attacker->statStages[STAT_SPATK] > 6) + APPLY_STAT_MOD(damage, attacker, spAttack, STAT_SPATK) + else + damage = spAttack; + } + else + APPLY_STAT_MOD(damage, attacker, spAttack, STAT_SPATK) + + damage = damage * gBattleMovePower; + damage *= (2 * attacker->level / 5 + 2); + + if (gCritMultiplier == 2) + { + if (defender->statStages[STAT_SPDEF] < 6) + APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_SPDEF) + else + damageHelper = spDefense; + } + else + APPLY_STAT_MOD(damageHelper, defender, spDefense, STAT_SPDEF) + + damage = (damage / damageHelper); + damage /= 50; + + if ((sideStatus & SIDE_STATUS_LIGHTSCREEN) && gCritMultiplier == 1) + { + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && CountAliveMons(2) == 2) + damage = 2 * (damage / 3); + else + damage /= 2; + } + + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gBattleMoves[move].target == 8 && CountAliveMons(2) == 2) + damage /= 2; + + // are effects of weather negated with cloud nine or air lock + if (WEATHER_HAS_EFFECT2) + { + if (gBattleWeather & WEATHER_RAIN_TEMPORARY) + { + switch (type) + { + case TYPE_FIRE: + damage /= 2; + break; + case TYPE_WATER: + damage = (15 * damage) / 10; + break; + } + } + + // any weather except sun weakens solar beam + if ((gBattleWeather & (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_HAIL)) && gCurrentMove == MOVE_SOLAR_BEAM) + damage /= 2; + + // sunny + if (gBattleWeather & WEATHER_SUN_ANY) + { + switch (type) + { + case TYPE_FIRE: + damage = (15 * damage) / 10; + break; + case TYPE_WATER: + damage /= 2; + break; + } + } + } + + // flash fire triggered + if ((gBattleResources->flags->flags[battlerIdAtk] & UNKNOWN_FLAG_FLASH_FIRE) && type == TYPE_FIRE) + damage = (15 * damage) / 10; + } + + return damage + 2; +} + +u8 CountAliveMons(u8 a1) +{ + s32 i; + u8 retVal = 0; + + switch (a1) + { + case 0: + for (i = 0; i < 4; i++) + { + if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) + retVal++; + } + break; + case 1: + for (i = 0; i < 4; i++) + { + if (GetBattlerSide(i) == GetBattlerSide(sBattler_AI) && !(gAbsentBattlerFlags & gBitTable[i])) + retVal++; + } + break; + case 2: + for (i = 0; i < 4; i++) + { + if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) + retVal++; + } + break; + } + + return retVal; +} + +u8 GetDefaultMoveTarget(u8 a1) +{ + u8 status = GetBattlerPosition(a1) & 1; + + status ^= 1; + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + return GetBattlerAtPosition(status); + if (CountAliveMons(0) > 1) + { + u8 val; + + if ((Random() & 1) == 0) + val = status ^ 2; + else + val = status; + return GetBattlerAtPosition(val); + } + else + { + if ((gAbsentBattlerFlags & gBitTable[status])) + return GetBattlerAtPosition(status ^ 2); + else + return GetBattlerAtPosition(status); + } +} + +u8 GetMonGender(struct Pokemon *mon) +{ + return GetBoxMonGender(&mon->box); +} + +u8 GetBoxMonGender(struct BoxPokemon *boxMon) +{ + u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL); + u32 personality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY, NULL); + + switch (gBaseStats[species].genderRatio) + { + case MON_MALE: + case MON_FEMALE: + case MON_GENDERLESS: + return gBaseStats[species].genderRatio; + } + + if (gBaseStats[species].genderRatio > (personality & 0xFF)) + return MON_FEMALE; + else + return MON_MALE; +} + +u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) +{ + switch (gBaseStats[species].genderRatio) + { + case MON_MALE: + case MON_FEMALE: + case MON_GENDERLESS: + return gBaseStats[species].genderRatio; + } + + if (gBaseStats[species].genderRatio > (personality & 0xFF)) + return MON_FEMALE; + else + return MON_MALE; +} + +void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition) +{ + if(gMonSpritesGfxPtr != NULL) + { + if(battlerPosition >= 4) + battlerPosition = 0; + + gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; + } + else + { + if(gUnknown_20244F4) + { + if(battlerPosition >= (s8)gUnknown_20244F4->unk0_2) // why a cast?!? changing the unk0_2 type to s8 causes extra shifts, but a cast is the correct fix. why, compiler? + battlerPosition = 0; + + gMultiuseSpriteTemplate = gUnknown_20244F4->unk10[battlerPosition]; + } + else + { + if(battlerPosition >= 4) + battlerPosition = 0; + + gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition]; + } + } + gMultiuseSpriteTemplate.paletteTag = trainerSpriteId; + gMultiuseSpriteTemplate.anims = gUnknown_82349BC; +} + +void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) +{ + gMultiuseSpriteTemplate.paletteTag = trainerSpriteId; + if(battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) + { + gMultiuseSpriteTemplate = gUnknown_825DF50[trainerSpriteId]; + gMultiuseSpriteTemplate.anims = gTrainerBackAnimsPtrTable[trainerSpriteId]; + } + else + { + if (gMonSpritesGfxPtr != NULL) + gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; + else + gMultiuseSpriteTemplate = gUnknown_825DEF0[battlerPosition]; + gMultiuseSpriteTemplate.anims = gTrainerFrontAnimsPtrTable[trainerSpriteId]; + } +} + +void EncryptBoxMon(struct BoxPokemon *boxMon) +{ + u32 i; + for (i = 0; i < 12; i++) + { + boxMon->secure.raw[i] ^= boxMon->personality; + boxMon->secure.raw[i] ^= boxMon->otId; + } +} + +void DecryptBoxMon(struct BoxPokemon *boxMon) +{ + u32 i; + for (i = 0; i < 12; i++) + { + boxMon->secure.raw[i] ^= boxMon->otId; + boxMon->secure.raw[i] ^= boxMon->personality; + } +} + +#define SUBSTRUCT_CASE(n, v1, v2, v3, v4) \ +case n: \ + { \ + union PokemonSubstruct *substructs0 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs1 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs2 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs3 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs4 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs5 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs6 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs7 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs8 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs9 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs10 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs11 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs12 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs13 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs14 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs15 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs16 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs17 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs18 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs19 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs20 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs21 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs22 = boxMon->secure.substructs; \ + union PokemonSubstruct *substructs23 = boxMon->secure.substructs; \ + \ + switch (substructType) \ + { \ + case 0: \ + substruct = &substructs ## n [v1]; \ + break; \ + case 1: \ + substruct = &substructs ## n [v2]; \ + break; \ + case 2: \ + substruct = &substructs ## n [v3]; \ + break; \ + case 3: \ + substruct = &substructs ## n [v4]; \ + break; \ + } \ + break; \ + } \ + +union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality, u8 substructType) +{ + union PokemonSubstruct *substruct = NULL; + + switch (personality % 24) + { + SUBSTRUCT_CASE( 0,0,1,2,3) + SUBSTRUCT_CASE( 1,0,1,3,2) + SUBSTRUCT_CASE( 2,0,2,1,3) + SUBSTRUCT_CASE( 3,0,3,1,2) + SUBSTRUCT_CASE( 4,0,2,3,1) + SUBSTRUCT_CASE( 5,0,3,2,1) + SUBSTRUCT_CASE( 6,1,0,2,3) + SUBSTRUCT_CASE( 7,1,0,3,2) + SUBSTRUCT_CASE( 8,2,0,1,3) + SUBSTRUCT_CASE( 9,3,0,1,2) + SUBSTRUCT_CASE(10,2,0,3,1) + SUBSTRUCT_CASE(11,3,0,2,1) + SUBSTRUCT_CASE(12,1,2,0,3) + SUBSTRUCT_CASE(13,1,3,0,2) + SUBSTRUCT_CASE(14,2,1,0,3) + SUBSTRUCT_CASE(15,3,1,0,2) + SUBSTRUCT_CASE(16,2,3,0,1) + SUBSTRUCT_CASE(17,3,2,0,1) + SUBSTRUCT_CASE(18,1,2,3,0) + SUBSTRUCT_CASE(19,1,3,2,0) + SUBSTRUCT_CASE(20,2,1,3,0) + SUBSTRUCT_CASE(21,3,1,2,0) + SUBSTRUCT_CASE(22,2,3,1,0) + SUBSTRUCT_CASE(23,3,2,1,0) + } + + return substruct; +} + +u32 GetMonData(struct Pokemon *mon, s32 field, u8* data) +{ + u32 ret; + + switch (field) + { + case MON_DATA_STATUS: + ret = mon->status; + break; + case MON_DATA_LEVEL: + ret = mon->level; + break; + case MON_DATA_HP: + ret = mon->hp; + break; + case MON_DATA_MAX_HP: + ret = mon->maxHP; + break; + case MON_DATA_ATK: + ret = (u16)GetDeoxysStat(mon, STAT_ATK); + if (!ret) + ret = mon->attack; + break; + case MON_DATA_DEF: + ret = (u16)GetDeoxysStat(mon, STAT_DEF); + if (!ret) + ret = mon->defense; + break; + case MON_DATA_SPEED: + ret = (u16)GetDeoxysStat(mon, STAT_SPEED); + if (!ret) + ret = mon->speed; + break; + case MON_DATA_SPATK: + ret = (u16)GetDeoxysStat(mon, STAT_SPATK); + if (!ret) + ret = mon->spAttack; + break; + case MON_DATA_SPDEF: + ret = (u16)GetDeoxysStat(mon, STAT_SPDEF); + if (!ret) + ret = mon->spDefense; + break; + case MON_DATA_ATK2: + ret = mon->attack; + break; + case MON_DATA_DEF2: + ret = mon->defense; + break; + case MON_DATA_SPEED2: + ret = mon->speed; + break; + case MON_DATA_SPATK2: + ret = mon->spAttack; + break; + case MON_DATA_SPDEF2: + ret = mon->spDefense; + break; + case MON_DATA_MAIL: + ret = mon->mail; + break; + default: + ret = GetBoxMonData(&mon->box, field, data); + break; + } + return ret; +} + +u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) +{ + s32 i; + u32 retVal = 0; + struct PokemonSubstruct0 *substruct0 = NULL; + struct PokemonSubstruct1 *substruct1 = NULL; + struct PokemonSubstruct2 *substruct2 = NULL; + struct PokemonSubstruct3 *substruct3 = NULL; + + if (field > MON_DATA_10) + { + substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); + substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); + substruct2 = &(GetSubstruct(boxMon, boxMon->personality, 2)->type2); + substruct3 = &(GetSubstruct(boxMon, boxMon->personality, 3)->type3); + + DecryptBoxMon(boxMon); + + if (CalculateBoxMonChecksum(boxMon) != boxMon->checksum) + { + boxMon->isBadEgg = 1; + boxMon->isEgg = 1; + substruct3->isEgg = 1; + } + } + + switch (field) + { + case MON_DATA_PERSONALITY: + retVal = boxMon->personality; + break; + case MON_DATA_OT_ID: + retVal = boxMon->otId; + break; + case MON_DATA_NICKNAME: + { + if (boxMon->isBadEgg) + { + for (retVal = 0; + retVal < POKEMON_NAME_LENGTH && gText_BadEgg[retVal] != EOS; + data[retVal] = gText_BadEgg[retVal], retVal++) {} + + data[retVal] = EOS; + } + else if (boxMon->isEgg) + { + StringCopy(data, gText_EggNickname); + retVal = StringLength(data); + } + else if (boxMon->language == LANGUAGE_JAPANESE) + { + data[0] = EXT_CTRL_CODE_BEGIN; + data[1] = EXT_CTRL_CODE_JPN; + + // FRLG changed i < 7 to i < 6 + for (retVal = 2, i = 0; + i < 6 && boxMon->nickname[i] != EOS; + data[retVal] = boxMon->nickname[i], retVal++, i++) {} + + data[retVal++] = EXT_CTRL_CODE_BEGIN; + data[retVal++] = EXT_CTRL_CODE_ENG; + data[retVal] = EOS; + } + else + { + for (retVal = 0; + retVal < POKEMON_NAME_LENGTH; + data[retVal] = boxMon->nickname[retVal], retVal++){} + + data[retVal] = EOS; + } + break; + } + case MON_DATA_LANGUAGE: + retVal = boxMon->language; + break; + case MON_DATA_SANITY_BIT1: + retVal = boxMon->isBadEgg; + break; + case MON_DATA_SANITY_BIT2: + retVal = boxMon->hasSpecies; + break; + case MON_DATA_SANITY_BIT3: + retVal = boxMon->isEgg; + break; + case MON_DATA_OT_NAME: + { + retVal = 0; + + // FRLG changed this to 7 which used to be PLAYER_NAME_LENGTH + while (retVal < 7) + { + data[retVal] = boxMon->otName[retVal]; + retVal++; + } + + data[retVal] = EOS; + break; + } + case MON_DATA_MARKINGS: + retVal = boxMon->markings; + break; + case MON_DATA_CHECKSUM: + retVal = boxMon->checksum; + break; + case MON_DATA_10: + retVal = boxMon->unknown; + break; + case MON_DATA_SPECIES: + retVal = boxMon->isBadEgg ? SPECIES_EGG : substruct0->species; + break; + case MON_DATA_HELD_ITEM: + retVal = substruct0->heldItem; + break; + case MON_DATA_EXP: + retVal = substruct0->experience; + break; + case MON_DATA_PP_BONUSES: + retVal = substruct0->ppBonuses; + break; + case MON_DATA_FRIENDSHIP: + retVal = substruct0->friendship; + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + retVal = substruct1->moves[field - MON_DATA_MOVE1]; + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + retVal = substruct1->pp[field - MON_DATA_PP1]; + break; + case MON_DATA_HP_EV: + retVal = substruct2->hpEV; + break; + case MON_DATA_ATK_EV: + retVal = substruct2->attackEV; + break; + case MON_DATA_DEF_EV: + retVal = substruct2->defenseEV; + break; + case MON_DATA_SPEED_EV: + retVal = substruct2->speedEV; + break; + case MON_DATA_SPATK_EV: + retVal = substruct2->spAttackEV; + break; + case MON_DATA_SPDEF_EV: + retVal = substruct2->spDefenseEV; + break; + case MON_DATA_COOL: + retVal = substruct2->cool; + break; + case MON_DATA_BEAUTY: + retVal = substruct2->beauty; + break; + case MON_DATA_CUTE: + retVal = substruct2->cute; + break; + case MON_DATA_SMART: + retVal = substruct2->smart; + break; + case MON_DATA_TOUGH: + retVal = substruct2->tough; + break; + case MON_DATA_SHEEN: + retVal = substruct2->sheen; + break; + case MON_DATA_POKERUS: + retVal = substruct3->pokerus; + break; + case MON_DATA_MET_LOCATION: + retVal = substruct3->metLocation; + break; + case MON_DATA_MET_LEVEL: + retVal = substruct3->metLevel; + break; + case MON_DATA_MET_GAME: + retVal = substruct3->metGame; + break; + case MON_DATA_POKEBALL: + retVal = substruct3->pokeball; + break; + case MON_DATA_OT_GENDER: + retVal = substruct3->otGender; + break; + case MON_DATA_HP_IV: + retVal = substruct3->hpIV; + break; + case MON_DATA_ATK_IV: + retVal = substruct3->attackIV; + break; + case MON_DATA_DEF_IV: + retVal = substruct3->defenseIV; + break; + case MON_DATA_SPEED_IV: + retVal = substruct3->speedIV; + break; + case MON_DATA_SPATK_IV: + retVal = substruct3->spAttackIV; + break; + case MON_DATA_SPDEF_IV: + retVal = substruct3->spDefenseIV; + break; + case MON_DATA_IS_EGG: + retVal = substruct3->isEgg; + break; + case MON_DATA_ALT_ABILITY: + retVal = substruct3->altAbility; + break; + case MON_DATA_COOL_RIBBON: + retVal = substruct3->coolRibbon; + break; + case MON_DATA_BEAUTY_RIBBON: + retVal = substruct3->beautyRibbon; + break; + case MON_DATA_CUTE_RIBBON: + retVal = substruct3->cuteRibbon; + break; + case MON_DATA_SMART_RIBBON: + retVal = substruct3->smartRibbon; + break; + case MON_DATA_TOUGH_RIBBON: + retVal = substruct3->toughRibbon; + break; + case MON_DATA_CHAMPION_RIBBON: + retVal = substruct3->championRibbon; + break; + case MON_DATA_WINNING_RIBBON: + retVal = substruct3->winningRibbon; + break; + case MON_DATA_VICTORY_RIBBON: + retVal = substruct3->victoryRibbon; + break; + case MON_DATA_ARTIST_RIBBON: + retVal = substruct3->artistRibbon; + break; + case MON_DATA_EFFORT_RIBBON: + retVal = substruct3->effortRibbon; + break; + case MON_DATA_GIFT_RIBBON_1: + retVal = substruct3->giftRibbon1; + break; + case MON_DATA_GIFT_RIBBON_2: + retVal = substruct3->giftRibbon2; + break; + case MON_DATA_GIFT_RIBBON_3: + retVal = substruct3->giftRibbon3; + break; + case MON_DATA_GIFT_RIBBON_4: + retVal = substruct3->giftRibbon4; + break; + case MON_DATA_GIFT_RIBBON_5: + retVal = substruct3->giftRibbon5; + break; + case MON_DATA_GIFT_RIBBON_6: + retVal = substruct3->giftRibbon6; + break; + case MON_DATA_GIFT_RIBBON_7: + retVal = substruct3->giftRibbon7; + break; + case MON_DATA_FATEFUL_ENCOUNTER: + retVal = substruct3->fatefulEncounter; + break; + case MON_DATA_OBEDIENCE: + retVal = substruct3->obedient; + break; + case MON_DATA_SPECIES2: + retVal = substruct0->species; + if (substruct0->species && (substruct3->isEgg || boxMon->isBadEgg)) + retVal = SPECIES_EGG; + break; + case MON_DATA_IVS: + retVal = substruct3->hpIV | (substruct3->attackIV << 5) | (substruct3->defenseIV << 10) | (substruct3->speedIV << 15) | (substruct3->spAttackIV << 20) | (substruct3->spDefenseIV << 25); + break; + case MON_DATA_KNOWN_MOVES: + if (substruct0->species && !substruct3->isEgg) + { + u16 *moves = (u16 *)data; + s32 i = 0; + + while (moves[i] != 355) + { + u16 move = moves[i]; + if (substruct1->moves[0] == move + || substruct1->moves[1] == move + || substruct1->moves[2] == move + || substruct1->moves[3] == move) + retVal |= gBitTable[i]; + i++; + } + } + break; + case MON_DATA_RIBBON_COUNT: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal += substruct3->coolRibbon; + retVal += substruct3->beautyRibbon; + retVal += substruct3->cuteRibbon; + retVal += substruct3->smartRibbon; + retVal += substruct3->toughRibbon; + retVal += substruct3->championRibbon; + retVal += substruct3->winningRibbon; + retVal += substruct3->victoryRibbon; + retVal += substruct3->artistRibbon; + retVal += substruct3->effortRibbon; + retVal += substruct3->giftRibbon1; + retVal += substruct3->giftRibbon2; + retVal += substruct3->giftRibbon3; + retVal += substruct3->giftRibbon4; + retVal += substruct3->giftRibbon5; + retVal += substruct3->giftRibbon6; + retVal += substruct3->giftRibbon7; + } + break; + case MON_DATA_RIBBONS: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal = substruct3->championRibbon + | (substruct3->coolRibbon << 1) + | (substruct3->beautyRibbon << 4) + | (substruct3->cuteRibbon << 7) + | (substruct3->smartRibbon << 10) + | (substruct3->toughRibbon << 13) + | (substruct3->winningRibbon << 16) + | (substruct3->victoryRibbon << 17) + | (substruct3->artistRibbon << 18) + | (substruct3->effortRibbon << 19) + | (substruct3->giftRibbon1 << 20) + | (substruct3->giftRibbon2 << 21) + | (substruct3->giftRibbon3 << 22) + | (substruct3->giftRibbon4 << 23) + | (substruct3->giftRibbon5 << 24) + | (substruct3->giftRibbon6 << 25) + | (substruct3->giftRibbon7 << 26); + } + break; + default: + break; + } + + if (field > MON_DATA_10) + EncryptBoxMon(boxMon); + + return retVal; +} + +#define SET8(lhs) (lhs) = *data +#define SET16(lhs) (lhs) = data[0] + (data[1] << 8) +#define SET32(lhs) (lhs) = data[0] + (data[1] << 8) + (data[2] << 16) + (data[3] << 24) + +void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) +{ + const u8 *data = dataArg; + + switch (field) + { + case MON_DATA_STATUS: + SET32(mon->status); + break; + case MON_DATA_LEVEL: + SET8(mon->level); + break; + case MON_DATA_HP: + SET16(mon->hp); + break; + case MON_DATA_MAX_HP: + SET16(mon->maxHP); + break; + case MON_DATA_ATK: + case MON_DATA_ATK2: + SET16(mon->attack); + break; + case MON_DATA_DEF: + case MON_DATA_DEF2: + SET16(mon->defense); + break; + case MON_DATA_SPEED: + case MON_DATA_SPEED2: + SET16(mon->speed); + break; + case MON_DATA_SPATK: + case MON_DATA_SPATK2: + SET16(mon->spAttack); + break; + case MON_DATA_SPDEF: + case MON_DATA_SPDEF2: + SET16(mon->spDefense); + break; + case MON_DATA_MAIL: + SET8(mon->mail); + break; + case MON_DATA_SPECIES2: + break; + // why did FRLG go out of its way to specify all of these for default? + case MON_DATA_IVS: + case MON_DATA_CHAMPION_RIBBON: + case MON_DATA_WINNING_RIBBON: + case MON_DATA_VICTORY_RIBBON: + case MON_DATA_ARTIST_RIBBON: + case MON_DATA_EFFORT_RIBBON: + case MON_DATA_GIFT_RIBBON_1: + case MON_DATA_GIFT_RIBBON_2: + case MON_DATA_GIFT_RIBBON_3: + case MON_DATA_GIFT_RIBBON_4: + case MON_DATA_GIFT_RIBBON_5: + case MON_DATA_GIFT_RIBBON_6: + case MON_DATA_GIFT_RIBBON_7: + case MON_DATA_FATEFUL_ENCOUNTER: + case MON_DATA_OBEDIENCE: + case MON_DATA_KNOWN_MOVES: + case MON_DATA_RIBBON_COUNT: + case MON_DATA_RIBBONS: + default: + SetBoxMonData(&mon->box, field, data); + break; + } +} + +void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) +{ + const u8 *data = dataArg; + + struct PokemonSubstruct0 *substruct0 = NULL; + struct PokemonSubstruct1 *substruct1 = NULL; + struct PokemonSubstruct2 *substruct2 = NULL; + struct PokemonSubstruct3 *substruct3 = NULL; + + if (field > MON_DATA_10) + { + substruct0 = &(GetSubstruct(boxMon, boxMon->personality, 0)->type0); + substruct1 = &(GetSubstruct(boxMon, boxMon->personality, 1)->type1); + substruct2 = &(GetSubstruct(boxMon, boxMon->personality, 2)->type2); + substruct3 = &(GetSubstruct(boxMon, boxMon->personality, 3)->type3); + + DecryptBoxMon(boxMon); + + if (CalculateBoxMonChecksum(boxMon) != boxMon->checksum) + { + boxMon->isBadEgg = 1; + boxMon->isEgg = 1; + substruct3->isEgg = 1; + EncryptBoxMon(boxMon); + return; + } + } + + switch (field) + { + case MON_DATA_PERSONALITY: + SET32(boxMon->personality); + break; + case MON_DATA_OT_ID: + SET32(boxMon->otId); + break; + case MON_DATA_NICKNAME: + { + s32 i; + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + boxMon->nickname[i] = data[i]; + break; + } + case MON_DATA_LANGUAGE: + SET8(boxMon->language); + break; + case MON_DATA_SANITY_BIT1: + SET8(boxMon->isBadEgg); + break; + case MON_DATA_SANITY_BIT2: + SET8(boxMon->hasSpecies); + break; + case MON_DATA_SANITY_BIT3: + SET8(boxMon->isEgg); + break; + case MON_DATA_OT_NAME: + { + s32 i; + for (i = 0; i < 7; i++) + boxMon->otName[i] = data[i]; + break; + } + case MON_DATA_MARKINGS: + SET8(boxMon->markings); + break; + case MON_DATA_CHECKSUM: + SET16(boxMon->checksum); + break; + case MON_DATA_10: + SET16(boxMon->unknown); + break; + case MON_DATA_SPECIES: + { + SET16(substruct0->species); + if (substruct0->species) + boxMon->hasSpecies = 1; + else + boxMon->hasSpecies = 0; + break; + } + case MON_DATA_HELD_ITEM: + SET16(substruct0->heldItem); + break; + case MON_DATA_EXP: + SET32(substruct0->experience); + break; + case MON_DATA_PP_BONUSES: + SET8(substruct0->ppBonuses); + break; + case MON_DATA_FRIENDSHIP: + SET8(substruct0->friendship); + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + SET16(substruct1->moves[field - MON_DATA_MOVE1]); + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + SET8(substruct1->pp[field - MON_DATA_PP1]); + break; + case MON_DATA_HP_EV: + SET8(substruct2->hpEV); + break; + case MON_DATA_ATK_EV: + SET8(substruct2->attackEV); + break; + case MON_DATA_DEF_EV: + SET8(substruct2->defenseEV); + break; + case MON_DATA_SPEED_EV: + SET8(substruct2->speedEV); + break; + case MON_DATA_SPATK_EV: + SET8(substruct2->spAttackEV); + break; + case MON_DATA_SPDEF_EV: + SET8(substruct2->spDefenseEV); + break; + case MON_DATA_COOL: + SET8(substruct2->cool); + break; + case MON_DATA_BEAUTY: + SET8(substruct2->beauty); + break; + case MON_DATA_CUTE: + SET8(substruct2->cute); + break; + case MON_DATA_SMART: + SET8(substruct2->smart); + break; + case MON_DATA_TOUGH: + SET8(substruct2->tough); + break; + case MON_DATA_SHEEN: + SET8(substruct2->sheen); + break; + case MON_DATA_POKERUS: + SET8(substruct3->pokerus); + break; + case MON_DATA_MET_LOCATION: + SET8(substruct3->metLocation); + break; + case MON_DATA_MET_LEVEL: + { + u8 metLevel = *data; + substruct3->metLevel = metLevel; + break; + } + case MON_DATA_MET_GAME: + SET8(substruct3->metGame); + break; + case MON_DATA_POKEBALL: + { + u8 pokeball = *data; + substruct3->pokeball = pokeball; + break; + } + case MON_DATA_OT_GENDER: + SET8(substruct3->otGender); + break; + case MON_DATA_HP_IV: + SET8(substruct3->hpIV); + break; + case MON_DATA_ATK_IV: + SET8(substruct3->attackIV); + break; + case MON_DATA_DEF_IV: + SET8(substruct3->defenseIV); + break; + case MON_DATA_SPEED_IV: + SET8(substruct3->speedIV); + break; + case MON_DATA_SPATK_IV: + SET8(substruct3->spAttackIV); + break; + case MON_DATA_SPDEF_IV: + SET8(substruct3->spDefenseIV); + break; + case MON_DATA_IS_EGG: + SET8(substruct3->isEgg); + if (substruct3->isEgg) + boxMon->isEgg = 1; + else + boxMon->isEgg = 0; + break; + case MON_DATA_ALT_ABILITY: + SET8(substruct3->altAbility); + break; + case MON_DATA_COOL_RIBBON: + SET8(substruct3->coolRibbon); + break; + case MON_DATA_BEAUTY_RIBBON: + SET8(substruct3->beautyRibbon); + break; + case MON_DATA_CUTE_RIBBON: + SET8(substruct3->cuteRibbon); + break; + case MON_DATA_SMART_RIBBON: + SET8(substruct3->smartRibbon); + break; + case MON_DATA_TOUGH_RIBBON: + SET8(substruct3->toughRibbon); + break; + case MON_DATA_CHAMPION_RIBBON: + SET8(substruct3->championRibbon); + break; + case MON_DATA_WINNING_RIBBON: + SET8(substruct3->winningRibbon); + break; + case MON_DATA_VICTORY_RIBBON: + SET8(substruct3->victoryRibbon); + break; + case MON_DATA_ARTIST_RIBBON: + SET8(substruct3->artistRibbon); + break; + case MON_DATA_EFFORT_RIBBON: + SET8(substruct3->effortRibbon); + break; + case MON_DATA_GIFT_RIBBON_1: + SET8(substruct3->giftRibbon1); + break; + case MON_DATA_GIFT_RIBBON_2: + SET8(substruct3->giftRibbon2); + break; + case MON_DATA_GIFT_RIBBON_3: + SET8(substruct3->giftRibbon3); + break; + case MON_DATA_GIFT_RIBBON_4: + SET8(substruct3->giftRibbon4); + break; + case MON_DATA_GIFT_RIBBON_5: + SET8(substruct3->giftRibbon5); + break; + case MON_DATA_GIFT_RIBBON_6: + SET8(substruct3->giftRibbon6); + break; + case MON_DATA_GIFT_RIBBON_7: + SET8(substruct3->giftRibbon7); + break; + case MON_DATA_FATEFUL_ENCOUNTER: + SET8(substruct3->fatefulEncounter); + break; + case MON_DATA_OBEDIENCE: + SET8(substruct3->obedient); + break; + case MON_DATA_IVS: + { +#ifdef BUGFIX_SETMONIVS + u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); +#else + u32 ivs = *data; // Bug: Only the HP IV and the lower 3 bits of the Attack IV are read. The rest become 0. +#endif + substruct3->hpIV = ivs & 0x1F; + substruct3->attackIV = (ivs >> 5) & 0x1F; + substruct3->defenseIV = (ivs >> 10) & 0x1F; + substruct3->speedIV = (ivs >> 15) & 0x1F; + substruct3->spAttackIV = (ivs >> 20) & 0x1F; + substruct3->spDefenseIV = (ivs >> 25) & 0x1F; + break; + } + default: + break; + } + + if (field > MON_DATA_10) + { + boxMon->checksum = CalculateBoxMonChecksum(boxMon); + EncryptBoxMon(boxMon); + } +} + +void CopyMon(void *dest, void *src, size_t size) +{ + memcpy(dest, src, size); +} + +u8 GiveMonToPlayer(struct Pokemon *mon) +{ + s32 i; + + SetMonData(mon, MON_DATA_OT_NAME, gSaveBlock2Ptr->playerName); + SetMonData(mon, MON_DATA_OT_GENDER, &gSaveBlock2Ptr->playerGender); + SetMonData(mon, MON_DATA_OT_ID, gSaveBlock2Ptr->playerTrainerId); + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL) == SPECIES_NONE) + break; + } + + if (i >= PARTY_SIZE) + return SendMonToPC(mon); + + CopyMon(&gPlayerParty[i], mon, sizeof(*mon)); + gPlayerPartyCount = i + 1; + return MON_GIVEN_TO_PARTY; +} + +u8 SendMonToPC(struct Pokemon* mon) +{ + s32 boxNo, boxPos; + + set_unknown_box_id(VarGet(VAR_0x4037)); + + boxNo = StorageGetCurrentBox(); + + do + { + for (boxPos = 0; boxPos < 30; boxPos++) + { + struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos); + if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE) + { + MonRestorePP(mon); + CopyMon(checkingMon, &mon->box, sizeof(mon->box)); + gSpecialVar_MonBoxId = boxNo; + gSpecialVar_MonBoxPos = boxPos; + if (get_unknown_box_id() != boxNo) + FlagClear(FLAG_UNK843); + VarSet(VAR_0x4037, boxNo); + return MON_GIVEN_TO_PC; + } + } + + boxNo++; + if (boxNo == 14) + boxNo = 0; + } while (boxNo != StorageGetCurrentBox()); + + return MON_CANT_GIVE; +} + +u8 CalculatePlayerPartyCount(void) +{ + gPlayerPartyCount = 0; + + while (gPlayerPartyCount < 6 + && GetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) + { + gPlayerPartyCount++; + } + + return gPlayerPartyCount; +} + + +u8 CalculateEnemyPartyCount(void) +{ + gEnemyPartyCount = 0; + + while (gEnemyPartyCount < 6 + && GetMonData(&gEnemyParty[gEnemyPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) + { + gEnemyPartyCount++; + } + + return gEnemyPartyCount; +} + +u8 GetMonsStateToDoubles(void) +{ + s32 aliveCount = 0; + s32 i; + CalculatePlayerPartyCount(); + + if (gPlayerPartyCount == 1) + return gPlayerPartyCount; // PLAYER_HAS_ONE_MON + + for (i = 0; i < gPlayerPartyCount; i++) + { + // FRLG changed the order of these checks, but there's no point to doing that + // because of the requirement of all 3 of these checks. + if (GetMonData(&gPlayerParty[i], MON_DATA_HP, NULL) != 0 + && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_NONE + && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL) != SPECIES_EGG) + aliveCount++; + } + + return (aliveCount > 1) ? PLAYER_HAS_TWO_USABLE_MONS : PLAYER_HAS_ONE_USABLE_MON; +} + +u8 GetAbilityBySpecies(u16 species, bool8 altAbility) +{ + if (altAbility) + gLastUsedAbility = gBaseStats[species].ability2; + else + gLastUsedAbility = gBaseStats[species].ability1; + + return gLastUsedAbility; +} + +u8 GetMonAbility(struct Pokemon *mon) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u8 altAbility = GetMonData(mon, MON_DATA_ALT_ABILITY, NULL); + return GetAbilityBySpecies(species, altAbility); +} + +void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) +{ + s32 i, j; + + ZeroEnemyPartyMons(); + *gBattleResources->secretBase = *secretBaseRecord; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (gBattleResources->secretBase->party.species[i]) + { + CreateMon(&gEnemyParty[i], + gBattleResources->secretBase->party.species[i], + gBattleResources->secretBase->party.levels[i], + 15, + 1, + gBattleResources->secretBase->party.personality[i], + 2, + 0); + + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleResources->secretBase->party.heldItems[i]); + + for (j = 0; j < 6; j++) + SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gBattleResources->secretBase->party.EVs[i]); + + for (j = 0; j < 4; j++) + { + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, &gBattleResources->secretBase->party.moves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gBattleResources->secretBase->party.moves[i * 4 + j]].pp); + } + } + } + gBattleTypeFlags = 8; + gTrainerBattleOpponent_A = 0x400; +} + +u8 GetSecretBaseTrainerPicIndex(void) +{ + u8 facilityClass = sSecretBaseFacilityClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % 5]; + return gFacilityClassToPicIndex[facilityClass]; +} + +u8 GetSecretBaseTrainerNameIndex(void) +{ + u8 facilityClass = sSecretBaseFacilityClasses[gBattleResources->secretBase->gender][gBattleResources->secretBase->trainerId[0] % 5]; + return gFacilityClassToTrainerClass[facilityClass]; +} + +bool8 IsPlayerPartyAndPokemonStorageFull(void) +{ + s32 i; + + for (i = 0; i < PARTY_SIZE; i++) + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL) == SPECIES_NONE) + return FALSE; + + return IsPokemonStorageFull(); +} + +bool8 IsPokemonStorageFull(void) +{ + s32 i, j; + + for (i = 0; i < 14; i++) + for (j = 0; j < 30; j++) + if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE) + return FALSE; + + return TRUE; +} + +void GetSpeciesName(u8 *name, u16 species) +{ + s32 i; + + // Hmm? FRLG has < while Ruby/Emerald has <= + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + { + if (species > NUM_SPECIES) + name[i] = gSpeciesNames[0][i]; + else + name[i] = gSpeciesNames[species][i]; + + if (name[i] == EOS) + break; + } + + name[i] = EOS; +} + +u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex) +{ + u8 basePP = gBattleMoves[move].pp; + return basePP + ((basePP * 20 * ((gUnknown_825DEA1[moveIndex] & ppBonuses) >> (2 * moveIndex))) / 100); +} + +void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex) +{ + u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES, NULL); + ppBonuses &= gPPUpWriteMasks[moveIndex]; + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); +} + +void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex) +{ + mon->ppBonuses &= gPPUpWriteMasks[moveIndex]; +} + +void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) +{ + u16* hpSwitchout; + s32 i; + u8 nickname[POKEMON_NAME_LENGTH * 2]; // Why is the nickname array here longer in FR/LG? + + gBattleMons[battlerId].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); + gBattleMons[battlerId].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); + + for (i = 0; i < 4; i++) + { + gBattleMons[battlerId].moves[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MOVE1 + i, NULL); + gBattleMons[battlerId].pp[i] = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP1 + i, NULL); + } + + gBattleMons[battlerId].ppBonuses = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PP_BONUSES, NULL); + gBattleMons[battlerId].friendship = GetMonData(&gPlayerParty[partyIndex], MON_DATA_FRIENDSHIP, NULL); + gBattleMons[battlerId].experience = GetMonData(&gPlayerParty[partyIndex], MON_DATA_EXP, NULL); + gBattleMons[battlerId].hpIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP_IV, NULL); + gBattleMons[battlerId].attackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK_IV, NULL); + gBattleMons[battlerId].defenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF_IV, NULL); + gBattleMons[battlerId].speedIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED_IV, NULL); + gBattleMons[battlerId].spAttackIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK_IV, NULL); + gBattleMons[battlerId].spDefenseIV = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF_IV, NULL); + gBattleMons[battlerId].personality = GetMonData(&gPlayerParty[partyIndex], MON_DATA_PERSONALITY, NULL); + gBattleMons[battlerId].status1 = GetMonData(&gPlayerParty[partyIndex], MON_DATA_STATUS, NULL); + gBattleMons[battlerId].level = GetMonData(&gPlayerParty[partyIndex], MON_DATA_LEVEL, NULL); + gBattleMons[battlerId].hp = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HP, NULL); + gBattleMons[battlerId].maxHP = GetMonData(&gPlayerParty[partyIndex], MON_DATA_MAX_HP, NULL); + gBattleMons[battlerId].attack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ATK, NULL); + gBattleMons[battlerId].defense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_DEF, NULL); + gBattleMons[battlerId].speed = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPEED, NULL); + gBattleMons[battlerId].spAttack = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPATK, NULL); + gBattleMons[battlerId].spDefense = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPDEF, NULL); + gBattleMons[battlerId].isEgg = GetMonData(&gPlayerParty[partyIndex], MON_DATA_IS_EGG, NULL); + gBattleMons[battlerId].altAbility = GetMonData(&gPlayerParty[partyIndex], MON_DATA_ALT_ABILITY, NULL); + gBattleMons[battlerId].otId = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_ID, NULL); + gBattleMons[battlerId].type1 = gBaseStats[gBattleMons[battlerId].species].type1; + gBattleMons[battlerId].type2 = gBaseStats[gBattleMons[battlerId].species].type2; + gBattleMons[battlerId].ability = GetAbilityBySpecies(gBattleMons[battlerId].species, gBattleMons[battlerId].altAbility); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); + StringCopy10(gBattleMons[battlerId].nickname, nickname); + GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battlerId].otName); + + hpSwitchout = &gBattleStruct->hpOnSwitchout[GetBattlerSide(battlerId)]; + *hpSwitchout = gBattleMons[battlerId].hp; + + for (i = 0; i < 8; i++) + gBattleMons[battlerId].statStages[i] = 6; + + gBattleMons[battlerId].status2 = 0; + sub_80174B8(battlerId); + ClearTemporarySpeciesSpriteData(battlerId, FALSE); +} + +bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex) +{ + return PokemonUseItemEffects(mon, item, partyIndex, moveIndex, 0); +} + +extern const u8 gUnknown_825DEA1[]; +extern const u8 gUnknown_825DEA9[]; +extern const u8 sGetMonDataEVConstants[]; + +bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 moveIndex, u8 e) +{ + u32 data; + s32 friendship; + s32 cmdIndex; + bool8 retVal = TRUE; + const u8 *itemEffect; + u8 sp24 = 6; + u32 sp28; + s8 sp2C = 0; + u8 holdEffect; + u8 sp34 = 4; + u16 heldItem; + u8 r10; + u32 r4; + + heldItem = GetMonData(pkmn, MON_DATA_HELD_ITEM, NULL); + if (heldItem == ITEM_ENIGMA_BERRY) + { + if (gMain.inBattle) + holdEffect = gEnigmaBerries[gBattlerInMenuId].holdEffect; + else + holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + } + else + { + holdEffect = ItemId_GetHoldEffect(heldItem); + } + + gPotentialItemEffectBattler = gBattlerInMenuId; + if (gMain.inBattle) + { + gActiveBattler = gBattlerInMenuId; + cmdIndex = (GetBattlerSide(gActiveBattler) != 0); + while (cmdIndex < gBattlersCount) + { + if (gBattlerPartyIndexes[cmdIndex] == partyIndex) + { + sp34 = cmdIndex; + break; + } + cmdIndex += 2; + } + } + else + { + gActiveBattler = 0; + sp34 = 4; + } + + if (!IS_POKEMON_ITEM(item)) + return TRUE; + if (gItemEffectTable[item - 13] == NULL && item != ITEM_ENIGMA_BERRY) + return TRUE; + + if (item == ITEM_ENIGMA_BERRY) + { + if (gMain.inBattle) + itemEffect = gEnigmaBerries[gActiveBattler].itemEffect; + else + itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect; + } + else + { + itemEffect = gItemEffectTable[item - 13]; + } + + for (cmdIndex = 0; cmdIndex < 6; cmdIndex++) + { + switch (cmdIndex) + { + // status healing effects + case 0: + if ((itemEffect[cmdIndex] & 0x80) + && gMain.inBattle && sp34 != 4 && (gBattleMons[sp34].status2 & STATUS2_INFATUATION)) + { + gBattleMons[sp34].status2 &= ~STATUS2_INFATUATION; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0x30) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) + { + gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0xF) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12) + { + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] = 12; + retVal = FALSE; + } + break; + // in-battle stat boosting effects? + case 1: + if ((itemEffect[cmdIndex] & 0xF0) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12) + { + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] = 12; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0xF) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12) + { + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] = 12; + retVal = FALSE; + } + break; + // more stat boosting effects? + case 2: + if ((itemEffect[cmdIndex] & 0xF0) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12) + { + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] = 12; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0xF) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12) + { + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] = 12; + retVal = FALSE; + } + break; + case 3: + if ((itemEffect[cmdIndex] & 0x80) + && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) + { + gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0x40) // raise level + && GetMonData(pkmn, MON_DATA_LEVEL, NULL) != 100) + { + data = gExperienceTables[gBaseStats[GetMonData(pkmn, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(pkmn, MON_DATA_LEVEL, NULL) + 1]; + SetMonData(pkmn, MON_DATA_EXP, &data); + CalculateMonStats(pkmn); + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0x20) + && HealStatusConditions(pkmn, partyIndex, 7, sp34) == 0) + { + if (sp34 != 4) + gBattleMons[sp34].status2 &= ~STATUS2_NIGHTMARE; + retVal = FALSE; + } + if ((itemEffect[cmdIndex] & 0x10) && HealStatusConditions(pkmn, partyIndex, 0xF88, sp34) == 0) + retVal = FALSE; + if ((itemEffect[cmdIndex] & 8) && HealStatusConditions(pkmn, partyIndex, 16, sp34) == 0) + retVal = FALSE; + if ((itemEffect[cmdIndex] & 4) && HealStatusConditions(pkmn, partyIndex, 32, sp34) == 0) + retVal = FALSE; + if ((itemEffect[cmdIndex] & 2) && HealStatusConditions(pkmn, partyIndex, 64, sp34) == 0) + retVal = FALSE; + if ((itemEffect[cmdIndex] & 1) // heal confusion + && gMain.inBattle && sp34 != 4 && (gBattleMons[sp34].status2 & STATUS2_CONFUSION)) + { + gBattleMons[sp34].status2 &= ~STATUS2_CONFUSION; + retVal = FALSE; + } + break; + // EV, HP, and PP raising effects + case 4: + r10 = itemEffect[cmdIndex]; + if (r10 & 0x20) + { + r10 &= ~0x20; + data = (GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL) & gUnknown_825DEA1[moveIndex]) >> (moveIndex * 2); + sp28 = CalculatePPWithBonus(GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), moveIndex); + if (data < 3 && sp28 > 4) + { + data = GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL) + gUnknown_825DEA9[moveIndex]; + SetMonData(pkmn, MON_DATA_PP_BONUSES, &data); + + data = CalculatePPWithBonus(GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - sp28; + data = GetMonData(pkmn, MON_DATA_PP1 + moveIndex, NULL) + data; + SetMonData(pkmn, MON_DATA_PP1 + moveIndex, &data); + retVal = FALSE; + } + } + sp28 = 0; + while (r10 != 0) + { + if (r10 & 1) + { + u16 evCount; + s32 r5; + + switch (sp28) + { + case 0: + case 1: + evCount = GetMonEVCount(pkmn); + if (evCount >= 510) + return TRUE; + data = GetMonData(pkmn, sGetMonDataEVConstants[sp28], NULL); + if (data < 100) + { + if (data + itemEffect[sp24] > 100) + r4 = 100 - (data + itemEffect[sp24]) + itemEffect[sp24]; + else + r4 = itemEffect[sp24]; + if (evCount + r4 > 510) + r4 += 510 - (evCount + r4); + data += r4; + SetMonData(pkmn, sGetMonDataEVConstants[sp28], &data); + CalculateMonStats(pkmn); + sp24++; + retVal = FALSE; + } + break; + case 2: + // revive? + if (r10 & 0x10) + { + if (GetMonData(pkmn, MON_DATA_HP, NULL) != 0) + { + sp24++; + break; + } + if (gMain.inBattle) + { + if (sp34 != 4) + { + gAbsentBattlerFlags &= ~gBitTable[sp34]; + CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34])); + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) + gBattleResults.unk4++; + } + else + { + gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) + gBattleResults.unk4++; + } + } + } + else + { + if (GetMonData(pkmn, MON_DATA_HP, NULL) == 0) + { + sp24++; + break; + } + } + data = itemEffect[sp24++]; + switch (data) + { + case 0xFF: + data = GetMonData(pkmn, MON_DATA_MAX_HP, NULL) - GetMonData(pkmn, MON_DATA_HP, NULL); + break; + case 0xFE: + data = GetMonData(pkmn, MON_DATA_MAX_HP, NULL) / 2; + if (data == 0) + data = 1; + break; + case 0xFD: + data = gBattleScripting.field_23; + break; + } + if (GetMonData(pkmn, MON_DATA_MAX_HP, NULL) != GetMonData(pkmn, MON_DATA_HP, NULL)) + { + if (e == 0) + { + data = GetMonData(pkmn, MON_DATA_HP, NULL) + data; + if (data > GetMonData(pkmn, MON_DATA_MAX_HP, NULL)) + data = GetMonData(pkmn, MON_DATA_MAX_HP, NULL); + SetMonData(pkmn, MON_DATA_HP, &data); + if (gMain.inBattle && sp34 != 4) + { + gBattleMons[sp34].hp = data; + if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == 0) + { + if (gBattleResults.unk3 < 255) + gBattleResults.unk3++; + // I have to re-use this variable to match. + r5 = gActiveBattler; + gActiveBattler = sp34; + BtlController_EmitGetMonData(0, 0, 0); + MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = r5; + } + } + } + else + { + gBattleMoveDamage = -data; + } + retVal = FALSE; + } + r10 &= 0xEF; + break; + case 3: + if (!(r10 & 2)) + { + for (r5 = 0; r5 < 4; r5++) + { + u16 r4; + + data = GetMonData(pkmn, MON_DATA_PP1 + r5, NULL); + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + r5, NULL); + if (data != CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), r5)) + { + data += itemEffect[sp24]; + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + r5, NULL); + if (data > CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), r5)) + { + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + r5, NULL); + data = CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), r5); + } + SetMonData(pkmn, MON_DATA_PP1 + r5, &data); + if (gMain.inBattle + && sp34 != 4 && !(gBattleMons[sp34].status2 & 0x200000) + && !(gDisableStructs[sp34].unk18_b & gBitTable[r5])) + gBattleMons[sp34].pp[r5] = data; + retVal = FALSE; + } + } + sp24++; + } + else + { + u16 r4; + + data = GetMonData(pkmn, MON_DATA_PP1 + moveIndex, NULL); + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL); + if (data != CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), moveIndex)) + { + data += itemEffect[sp24++]; + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL); + if (data > CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), moveIndex)) + { + r4 = GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL); + data = CalculatePPWithBonus(r4, GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), moveIndex); + } + SetMonData(pkmn, MON_DATA_PP1 + moveIndex, &data); + if (gMain.inBattle + && sp34 != 4 && !(gBattleMons[sp34].status2 & 0x200000) + && !(gDisableStructs[sp34].unk18_b & gBitTable[moveIndex])) + gBattleMons[sp34].pp[moveIndex] = data; + retVal = FALSE; + } + } + break; + case 7: + { + u16 targetSpecies = GetEvolutionTargetSpecies(pkmn, 2, item); + + if (targetSpecies != SPECIES_NONE) + { + BeginEvolutionScene(pkmn, targetSpecies, 0, partyIndex); + return FALSE; + } + } + break; + } + } + sp28++; + r10 >>= 1; + } + break; + case 5: + r10 = itemEffect[cmdIndex]; + sp28 = 0; + while (r10 != 0) + { + if (r10 & 1) + { + u16 evCount; + + switch (sp28) + { + case 0: + case 1: + case 2: + case 3: + evCount = GetMonEVCount(pkmn); + if (evCount >= 510) + return TRUE; + data = GetMonData(pkmn, sGetMonDataEVConstants[sp28 + 2], NULL); + if (data < 100) + { + if (data + itemEffect[sp24] > 100) + r4 = 100 - (data + itemEffect[sp24]) + itemEffect[sp24]; + else + r4 = itemEffect[sp24]; + if (evCount + r4 > 510) + r4 += 510 - (evCount + r4); + data += r4; + SetMonData(pkmn, sGetMonDataEVConstants[sp28 + 2], &data); + CalculateMonStats(pkmn); + retVal = FALSE; + sp24++; + } + break; + case 4: + data = (GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL) & gUnknown_825DEA1[moveIndex]) >> (moveIndex * 2); + if (data < 3) + { + r4 = CalculatePPWithBonus(GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL), moveIndex); + data = GetMonData(pkmn, MON_DATA_PP_BONUSES, NULL); + data &= gPPUpWriteMasks[moveIndex]; + data += gUnknown_825DEA9[moveIndex] * 3; + + SetMonData(pkmn, MON_DATA_PP_BONUSES, &data); + data = CalculatePPWithBonus(GetMonData(pkmn, MON_DATA_MOVE1 + moveIndex, NULL), data, moveIndex) - r4; + data = GetMonData(pkmn, MON_DATA_PP1 + moveIndex, NULL) + data; + SetMonData(pkmn, MON_DATA_PP1 + moveIndex, &data); + retVal = FALSE; + } + break; + case 5: + if (GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL) < 100 && retVal == 0 && sp2C == 0) + { + sp2C = itemEffect[sp24]; + friendship = GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL); + if (sp2C > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) + friendship += 150 * sp2C / 100; + else + friendship += sp2C; + if (sp2C > 0) + { + if (GetMonData(pkmn, MON_DATA_POKEBALL, NULL) == 11) + friendship++; + if (GetMonData(pkmn, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + friendship++; + } + if (friendship < 0) + friendship = 0; + if (friendship > 255) + friendship = 255; + SetMonData(pkmn, MON_DATA_FRIENDSHIP, &friendship); + } + sp24++; + break; + case 6: + if (GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL) >= 100 && GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL) < 200 + && retVal == 0 && sp2C == 0) + { + sp2C = itemEffect[sp24]; + friendship = GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL); + if (sp2C > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) + friendship += 150 * sp2C / 100; + else + friendship += sp2C; + if (sp2C > 0) + { + if (GetMonData(pkmn, MON_DATA_POKEBALL, NULL) == 11) + friendship++; + if (GetMonData(pkmn, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + friendship++; + } + if (friendship < 0) + friendship = 0; + if (friendship > 255) + friendship = 255; + SetMonData(pkmn, MON_DATA_FRIENDSHIP, &friendship); + } + sp24++; + break; + case 7: + if (GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL) >= 200 && retVal == 0 && sp2C == 0) + { + sp2C = itemEffect[sp24]; + friendship = GetMonData(pkmn, MON_DATA_FRIENDSHIP, NULL); + if (sp2C > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) + friendship += 150 * sp2C / 100; + else + friendship += sp2C; + if (sp2C > 0) + { + if (GetMonData(pkmn, MON_DATA_POKEBALL, NULL) == 11) + friendship++; + if (GetMonData(pkmn, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + friendship++; + } + if (friendship < 0) + friendship = 0; + if (friendship > 255) + friendship = 255; + SetMonData(pkmn, MON_DATA_FRIENDSHIP, &friendship); + } + sp24++; + break; + } + } + sp28++; + r10 >>= 1; + } + break; + } + } + return retVal; +} + +bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId) +{ + u32 status = GetMonData(mon, MON_DATA_STATUS, 0); + + if (status & healMask) + { + status &= ~healMask; + SetMonData(mon, MON_DATA_STATUS, &status); + if (gMain.inBattle && battleId != 4) + gBattleMons[battleId].status1 &= ~healMask; + return FALSE; + } + else + { + return TRUE; + } +} + +// continued in pokemon_3.s but i cant keep going diff --git a/sym_ewram.txt b/sym_ewram.txt index 3864a27a7..381d3af13 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -212,7 +212,7 @@ gActiveBattler: @ 2023BC4 gUnknown_2023BC8: @ 2023BC8 .space 0x4 -gUnknown_2023BCC: @ 2023BCC +gBattlersCount: @ 2023BCC .space 0x2 gBattlerPartyIndexes: @ 2023BCE @@ -284,7 +284,7 @@ gUnknown_2023D58: @ 2023D58 gUnknown_2023D68: @ 2023D68 .space 0x2 -gUnknown_2023D6A: @ 2023D6A +gLastUsedAbility: @ 2023D6A .space 0x1 sBattler_AI: @ 2023D6B @@ -299,7 +299,7 @@ gUnknown_2023D6D: @ 2023D6D gUnknown_2023D6E: @ 2023D6E .space 0x1 -gUnknown_2023D6F: @ 2023D6F +gPotentialItemEffectBattler: @ 2023D6F .space 0x1 gAbsentBattlerFlags: @ 2023D70 @@ -362,7 +362,7 @@ gUnknown_2023DDC: @ 2023DDC gSideAffecting: @ 2023DDE .space 0x6 -gUnknown_2023DE4: @ 2023DE4 +gSideTimers: @ 2023DE4 .space 0x18 gStatuses3: @ 2023DFC @@ -413,11 +413,8 @@ gDynamicBasePower: @ 2023F50 gUnknown_2023F52: @ 2023F52 .space 0x2 -gUnknown_2023F54: @ 2023F54 - .space 0x8 - -gUnknown_2023F5C: @ 2023F5C - .space 0x68 +gEnigmaBerries: @ 2023F54 + .space 0x70 gBattleScripting: @ 2023FC4 .space 0x4 @@ -446,7 +443,7 @@ gUnknown_2023FFC: @ 2023FFC gUnknown_2024000: @ 2024000 .space 0x4 -gUnknown_2024004: @ 2024004 +gBattlerInMenuId: @ 2024004 .space 0x1 gUnknown_2024005: @ 2024005 @@ -458,25 +455,25 @@ gUnknown_2024008: @ 2024008 gUnknown_2024018: @ 2024018 .space 0x4 -gUnknown_202401C: @ 202401C +gMonSpritesGfxPtr: @ 202401C .space 0x4 -gUnknown_2024020: @ 2024020 +gBattleMovePower: @ 2024020 .space 0x2 -gUnknown_2024022: @ 2024022 +gMoveToLearn: @ 2024022 .space 0x2 gUnknown_2024024: @ 2024024 .space 0x4 -gUnknown_2024028: @ 2024028 +sLearningMoveTableID: @ 2024028 .space 0x1 -gUnknown_2024029: @ 2024029 +gPlayerPartyCount: @ 2024029 .space 0x1 -gUnknown_202402A: @ 202402A +gEnemyPartyCount: @ 202402A .space 0x2 gEnemyParty: @ 202402C @@ -512,7 +509,7 @@ gUnknown_2024414: @ 2024414 gUnknown_2024478: @ 2024478 .space 0x64 -gUnknown_20244DC: @ 20244DC +gMultiuseSpriteTemplate: @ 20244DC .space 0x18 gUnknown_20244F4: @ 20244F4 @@ -716,10 +713,10 @@ gUnknown_20370D2: @ 20370D2 gUnknown_20370D4: @ 20370D4 .space 0x2 -gUnknown_20370D6: @ 20370D6 +gSpecialVar_MonBoxId: @ 20370D6 .space 0x2 -gUnknown_20370D8: @ 20370D8 +gSpecialVar_MonBoxPos: @ 20370D8 .space 0x2 gUnknown_20370DA: @ 20370DA |