diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2017-09-05 09:41:48 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2017-09-05 09:41:48 +0200 |
commit | 54b83061152ce6e85d1ce7185ab3645d7448e03d (patch) | |
tree | b03477370a3aeffa1a917e787063b06554881894 | |
parent | 2702b0ec9b4b2ae25d847ccd3b5b8ec1ad8cf1ff (diff) |
really clean up battle ai
46 files changed, 2185 insertions, 1991 deletions
diff --git a/asm/battle_3.s b/asm/battle_3.s index dbae0b64c..668e6c36d 100644 --- a/asm/battle_3.s +++ b/asm/battle_3.s @@ -141,7 +141,7 @@ _0803FBF8: str r0, [r1] movs r6, 0x1 _0803FC06: - ldr r1, =gUnknown_02024248 + ldr r1, =gLastUsedMovesByBanks ldrb r2, [r7] lsls r0, r2, 1 adds r0, r1 @@ -420,8 +420,8 @@ _0803FEB8: .pool thumb_func_end sub_803FB4C - thumb_func_start sub_803FECC -sub_803FECC: @ 803FECC + thumb_func_start CheckMoveLimitations +CheckMoveLimitations: @ 803FECC push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -541,7 +541,7 @@ _0803FFAC: ldr r1, =gUnknown_02024090 adds r0, r1 mov r12, r0 - ldr r1, =gUnknown_02024248 + ldr r1, =gLastUsedMovesByBanks ldr r0, [sp, 0xC] adds r1, r0, r1 str r1, [sp, 0x18] @@ -665,7 +665,7 @@ _08040096: pop {r1} bx r1 .pool - thumb_func_end sub_803FECC + thumb_func_end CheckMoveLimitations thumb_func_start sub_80400C8 sub_80400C8: @ 80400C8 @@ -674,7 +674,7 @@ sub_80400C8: @ 80400C8 ldrb r0, [r4] movs r1, 0 movs r2, 0xFF - bl sub_803FECC + bl CheckMoveLimitations lsls r0, 24 lsrs r3, r0, 24 cmp r3, 0xF @@ -997,7 +997,7 @@ _0804035A: strb r0, [r6] mov r3, r8 strb r0, [r3] - ldr r0, =gUnknown_0202428E + ldr r0, =gSideAffecting adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x1 @@ -1082,7 +1082,7 @@ _08040422: strb r0, [r7] ldr r3, =gActiveBank strb r0, [r3] - ldr r0, =gUnknown_0202428E + ldr r0, =gSideAffecting adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x2 @@ -1177,7 +1177,7 @@ _080404EC: lsls r0, 24 cmp r0, 0 bne _0804054E - ldr r2, =gUnknown_0202428E + ldr r2, =gSideAffecting adds r2, r3, r2 ldrh r0, [r2] ldr r3, =0x0000feff @@ -1260,7 +1260,7 @@ _080405C0: ldrb r0, [r2, 0x7] strb r0, [r5] strb r0, [r6] - ldr r0, =gUnknown_0202428E + ldr r0, =gSideAffecting adds r3, r1, r0 ldrh r1, [r3] movs r0, 0x20 @@ -2988,7 +2988,7 @@ _080414CC: _080414DA: ldrb r0, [r5] bl GetBankIdentity - ldr r2, =gUnknown_0202428E + ldr r2, =gSideAffecting lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -6796,11 +6796,11 @@ _08043840: _08043854: ldr r0, [sp, 0x8] ldr r1, [sp, 0x10] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality adds r4, r0, 0 ldr r0, [sp, 0xC] ldr r1, [sp, 0x14] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -6823,7 +6823,7 @@ _08043872: _0804388E: ldr r0, [sp, 0x8] ldr r1, [sp, 0x10] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -6832,7 +6832,7 @@ _0804388E: _080438A2: ldr r0, [sp, 0xC] ldr r1, [sp, 0x14] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -8664,7 +8664,7 @@ _08044958: str r0, [sp, 0xC] adds r0, r7, 0 adds r1, r5, 0 - bl b_history__record_item_x12_of_player + bl RecordItemEffectBattle bl _080451D6 .pool _0804497C: @@ -10988,7 +10988,7 @@ _08045E20: ldrb r1, [r0] adds r0, r3, 0 movs r2, 0xFF - bl sub_803FECC + bl CheckMoveLimitations lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xF diff --git a/asm/battle_4.s b/asm/battle_4.s index f46085f7a..a45dde1c7 100644 --- a/asm/battle_4.s +++ b/asm/battle_4.s @@ -1541,7 +1541,7 @@ _08046D74: atk05_damagecalc1: @ 8046D8C push {r4-r7,lr} sub sp, 0x10 - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting ldr r5, =gBankTarget ldrb r0, [r5] bl GetBankIdentity @@ -1561,7 +1561,7 @@ atk05_damagecalc1: @ 8046D8C adds r1, r2 ldr r7, =gCurrentMove ldrh r2, [r7] - ldr r4, =gUnknown_02024400 + ldr r4, =gDynamicBasePower ldrh r4, [r4] str r4, [sp] ldr r4, =gBattleStruct @@ -1632,8 +1632,8 @@ _08046E32: .pool thumb_func_end atk05_damagecalc1 - thumb_func_start sub_8046E7C -sub_8046E7C: @ 8046E7C + thumb_func_start AI_CalcDmg +AI_CalcDmg: @ 8046E7C push {r4-r7,lr} mov r7, r8 push {r7} @@ -1643,7 +1643,7 @@ sub_8046E7C: @ 8046E7C lsrs r7, r0, 24 lsls r5, 24 lsrs r5, 24 - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting adds r0, r5, 0 bl GetBankIdentity movs r1, 0x1 @@ -1661,7 +1661,7 @@ sub_8046E7C: @ 8046E7C ldr r2, =gCurrentMove mov r8, r2 ldrh r2, [r2] - ldr r6, =gUnknown_02024400 + ldr r6, =gDynamicBasePower ldrh r4, [r6] str r4, [sp] ldr r4, =gBattleStruct @@ -1726,7 +1726,7 @@ _08046F28: pop {r0} bx r0 .pool - thumb_func_end sub_8046E7C + thumb_func_end AI_CalcDmg thumb_func_start battle_attack_damage_modulate_by_effectivity battle_attack_damage_modulate_by_effectivity: @ 8046F60 @@ -2525,8 +2525,8 @@ _080475DE: bx r0 thumb_func_end b_attack_effectivity_adapt - thumb_func_start move_effectiveness_something -move_effectiveness_something: @ 80475E4 + thumb_func_start TypeCalc +TypeCalc: @ 80475E4 push {r4-r7,lr} mov r7, r10 mov r6, r9 @@ -2760,7 +2760,7 @@ _0804779E: pop {r1} bx r1 .pool - thumb_func_end move_effectiveness_something + thumb_func_end TypeCalc thumb_func_start ai_rate_move ai_rate_move: @ 80477BC @@ -2999,7 +2999,7 @@ _08047976: bcs _080479B4 ldrb r0, [r5] movs r1, 0x27 - bl b_history__record_item_x12_of_player + bl RecordItemEffectBattle ldr r2, =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -3186,7 +3186,7 @@ _08047B26: bcs _08047B64 ldrb r0, [r5] movs r1, 0x27 - bl b_history__record_item_x12_of_player + bl RecordItemEffectBattle ldr r2, =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -3545,7 +3545,7 @@ _08047E76: ldr r0, [r0] cmp r0, 0 ble _08047EA2 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrb r1, [r0, 0x5] movs r2, 0x1 orrs r1, r2 @@ -4637,7 +4637,7 @@ _08048828: mov r3, r9 ldrb r0, [r3] bl GetBankIdentity - ldr r2, =gUnknown_0202428E + ldr r2, =gSideAffecting movs r1, 0x1 ands r1, r0 lsls r1, 1 @@ -6786,7 +6786,7 @@ _08049B94: str r4, [r6] ldrb r0, [r5] bl GetBankSide - ldr r1, =gUnknown_0202428E + ldr r1, =gSideAffecting lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -6862,7 +6862,7 @@ _08049C42: lsls r1, 15 orrs r0, r1 str r0, [r5] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1] cmp r0, 0xFE bhi _08049C78 @@ -6874,7 +6874,7 @@ _08049C78: b _08049CCE .pool _08049CA4: - ldr r4, =gUnknown_03005D10 + ldr r4, =gBattleResults ldrb r0, [r4, 0x1] cmp r0, 0xFE bhi _08049CB0 @@ -7398,7 +7398,7 @@ _0804A106: ldrb r0, [r3, 0x7] lsls r0, 24 adds r5, r1, r0 - ldr r1, =gUnknown_0202428E + ldr r1, =gSideAffecting lsls r0, r4, 1 adds r0, r1 ldrh r0, [r0] @@ -11426,7 +11426,7 @@ _0804C2A4: ands r0, r1 cmp r0, 0 beq _0804C308 - ldr r0, =gUnknown_02024248 + ldr r0, =gLastUsedMovesByBanks lsls r1, r4, 1 adds r1, r0 ldr r0, =gUnknown_020241EC @@ -11443,7 +11443,7 @@ _0804C2A4: b _0804C322 .pool _0804C308: - ldr r1, =gUnknown_02024248 + ldr r1, =gLastUsedMovesByBanks lsls r0, r4, 1 adds r0, r1 ldr r1, =0x0000ffff @@ -13740,7 +13740,7 @@ _0804D6E0: lsls r0, 24 cmp r0, 0 bne _0804D760 - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x2] cmp r0, 0xFE bhi _0804D760 @@ -14166,7 +14166,7 @@ atk52_switch_in_effects: @ 804DAAC strb r0, [r1] ldrb r0, [r4] bl GetBankSide - ldr r5, =gUnknown_0202428E + ldr r5, =gSideAffecting lsls r0, 24 lsrs r0, 23 adds r0, r5 @@ -14346,7 +14346,7 @@ _0804DC88: bne _0804DD8E ldrb r0, [r5] bl GetBankSide - ldr r1, =gUnknown_0202428E + ldr r1, =gSideAffecting lsls r0, 24 lsrs r0, 23 adds r0, r1 @@ -15513,7 +15513,7 @@ _0804E6CA: thumb_func_start atk5D_getmoneyreward atk5D_getmoneyreward: @ 804E6D8 push {r4,lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_804E598 adds r4, r0, 0 @@ -15524,7 +15524,7 @@ atk5D_getmoneyreward: @ 804E6D8 ands r0, r1 cmp r0, 0 beq _0804E6FC - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_804E598 adds r4, r0 @@ -16243,7 +16243,7 @@ _0804ED2A: bcs _0804ED68 ldrb r0, [r5] movs r1, 0x27 - bl b_history__record_item_x12_of_player + bl RecordItemEffectBattle ldr r2, =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -18692,7 +18692,7 @@ atk7E_setreflect: @ 805031C ldr r6, =gBankAttacker ldrb r0, [r6] bl GetBankIdentity - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting movs r5, 0x1 adds r1, r5, 0 ands r1, r0 @@ -19303,7 +19303,7 @@ _08050828: beq _080508B0 ldr r0, =gBattleMoveDamage mov r8, r0 - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting ldr r5, =gBankTarget ldrb r0, [r5] bl GetBankIdentity @@ -20975,7 +20975,7 @@ atk92_setlightscreen: @ 8051664 ldr r5, =gBankAttacker ldrb r0, [r5] bl GetBankIdentity - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -21112,7 +21112,7 @@ _08051782: bcs _080517C0 ldrb r0, [r5] movs r1, 0x27 - bl b_history__record_item_x12_of_player + bl RecordItemEffectBattle ldr r2, =gSpecialStatuses ldrb r1, [r5] lsls r0, r1, 2 @@ -21768,11 +21768,11 @@ _08051D1C: _08051D94: mov r0, r10 mov r1, r9 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality adds r4, r0, 0 mov r0, r8 adds r1, r7, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r4, 24 lsls r0, 24 cmp r4, r0 @@ -21790,14 +21790,14 @@ _08051D94: bne _08051DE4 mov r0, r10 mov r1, r9 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF beq _08051DE4 mov r0, r8 adds r1, r7, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r0, 0xFF @@ -22011,7 +22011,7 @@ _08051F98: strb r1, [r0, 0x5] ldrb r0, [r4] bl GetBankIdentity - ldr r2, =gUnknown_0202428E + ldr r2, =gSideAffecting adds r1, r5, 0 ands r1, r0 lsls r1, 1 @@ -22395,7 +22395,7 @@ atk9D_copyattack: @ 8052300 ldr r1, =0x0000ffff adds r7, r1, 0 strh r7, [r0] - ldr r5, =gUnknown_02024248 + ldr r5, =gLastUsedMovesByBanks ldr r6, =gBankTarget ldrb r0, [r6] lsls r0, 1 @@ -22491,7 +22491,7 @@ _080523CE: mov r0, r12 adds r0, 0xC adds r1, r0 - ldr r2, =gUnknown_02024248 + ldr r2, =gLastUsedMovesByBanks ldr r3, =gBankTarget ldrb r0, [r3] lsls r0, 1 @@ -22955,7 +22955,7 @@ atkA3_disablelastusedattack: @ 80527F8 adds r7, r2, 0 adds r7, 0xC adds r0, r7 - ldr r5, =gUnknown_02024248 + ldr r5, =gLastUsedMovesByBanks lsls r1, 1 adds r1, r5 ldrh r0, [r0] @@ -23112,7 +23112,7 @@ atkA4_setencore: @ 805293C adds r6, r3, 0 adds r6, 0xC adds r0, r6 - ldr r2, =gUnknown_02024248 + ldr r2, =gLastUsedMovesByBanks lsls r1, 1 adds r1, r2 ldrh r0, [r0] @@ -24006,7 +24006,7 @@ _08053084: ldrb r0, [r0] adds r1, r6, 0 movs r2, 0xFD - bl sub_803FECC + bl CheckMoveLimitations lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0xF @@ -24189,7 +24189,7 @@ _08053224: cmp r1, r0 bgt _08053224 _08053232: - ldr r2, =gUnknown_02024400 + ldr r2, =gDynamicBasePower ldr r1, =gUnknown_0831C408 adds r0, r3, 0x1 adds r0, r1 @@ -24212,7 +24212,7 @@ atkAD_spite_ppreduce: @ 8053260 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r4, =gUnknown_02024248 + ldr r4, =gLastUsedMovesByBanks ldr r1, =gBankTarget ldrb r3, [r1] lsls r0, r3, 1 @@ -24299,7 +24299,7 @@ _08053304: strb r5, [r1] movs r0, 0x2 strb r0, [r1, 0x1] - ldr r2, =gUnknown_02024248 + ldr r2, =gLastUsedMovesByBanks mov r3, r8 ldrb r0, [r3] lsls r0, 1 @@ -24847,7 +24847,7 @@ atkB0_set_spikes: @ 80537A0 b _0805381E .pool _08053804: - ldr r1, =gUnknown_0202428E + ldr r1, =gSideAffecting adds r1, r2, r1 ldrh r2, [r1] movs r0, 0x10 @@ -25084,7 +25084,7 @@ _080539BA: ands r0, r2 str r0, [r1] _080539EE: - ldr r3, =gUnknown_02024400 + ldr r3, =gDynamicBasePower ldr r2, =gBattleMoves mov r0, r8 ldrh r1, [r0] @@ -25243,7 +25243,7 @@ _08053B34: adds r0, 0x1 strb r0, [r1, 0x10] _08053B4C: - ldr r3, =gUnknown_02024400 + ldr r3, =gDynamicBasePower ldr r2, =gBattleMoves ldr r0, =gCurrentMove ldrh r1, [r0] @@ -25297,7 +25297,7 @@ atkB6_happinesstodamagecalculation: @ 8053BAC ldrb r0, [r0] cmp r0, 0x79 bne _08053BEC - ldr r4, =gUnknown_02024400 + ldr r4, =gDynamicBasePower ldr r2, =gBattleMons ldr r0, =gBankAttacker ldrb r1, [r0] @@ -25309,7 +25309,7 @@ atkB6_happinesstodamagecalculation: @ 8053BAC b _08053C02 .pool _08053BEC: - ldr r4, =gUnknown_02024400 + ldr r4, =gDynamicBasePower ldr r2, =gBattleMons ldr r0, =gBankAttacker ldrb r1, [r0] @@ -25345,7 +25345,7 @@ atkB7_presentdamagecalculation: @ 8053C30 ands r4, r0 cmp r4, 0x65 bgt _08053C4C - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x28 strh r0, [r1] b _08053C8E @@ -25353,7 +25353,7 @@ atkB7_presentdamagecalculation: @ 8053C30 _08053C4C: cmp r4, 0xB1 bgt _08053C5C - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x50 strh r0, [r1] b _08053C8E @@ -25361,7 +25361,7 @@ _08053C4C: _08053C5C: cmp r4, 0xCB bgt _08053C6C - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x78 strh r0, [r1] b _08053C8E @@ -25429,7 +25429,7 @@ atkB8_set_safeguard: @ 8053CFC ldr r7, =gBankAttacker ldrb r0, [r7] bl GetBankIdentity - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting movs r6, 0x1 adds r1, r6, 0 ands r1, r0 @@ -25509,7 +25509,7 @@ atkB9_magnitudedamagecalculation: @ 8053DA4 lsrs r3, r0, 16 cmp r3, 0x4 bgt _08053DD0 - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0xA strh r0, [r1] movs r3, 0x4 @@ -25518,7 +25518,7 @@ atkB9_magnitudedamagecalculation: @ 8053DA4 _08053DD0: cmp r3, 0xE bgt _08053DE4 - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x1E strh r0, [r1] movs r3, 0x5 @@ -25527,7 +25527,7 @@ _08053DD0: _08053DE4: cmp r3, 0x22 bgt _08053DF8 - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x32 strh r0, [r1] movs r3, 0x6 @@ -25536,7 +25536,7 @@ _08053DE4: _08053DF8: cmp r3, 0x40 bgt _08053E0C - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x46 strh r0, [r1] movs r3, 0x7 @@ -25545,7 +25545,7 @@ _08053DF8: _08053E0C: cmp r3, 0x54 bgt _08053E20 - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x5A strh r0, [r1] movs r3, 0x8 @@ -25554,14 +25554,14 @@ _08053E0C: _08053E20: cmp r3, 0x5E bgt _08053E34 - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x6E strh r0, [r1] movs r3, 0x9 b _08053E3C .pool _08053E34: - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x96 strh r0, [r1] movs r3, 0xA @@ -26021,7 +26021,7 @@ _08054210: _08054250: adds r0, r2, 0 bl GetBankSide - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting lsls r0, 24 lsrs r0, 23 adds r0, r4 @@ -26309,7 +26309,7 @@ atkC1_hidden_power: @ 8054400 ands r1, r3 lsls r1, 5 orrs r4, r1 - ldr r5, =gUnknown_02024400 + ldr r5, =gDynamicBasePower lsls r0, r2, 2 adds r0, r2 lsls r0, 3 @@ -26439,7 +26439,7 @@ atkC3_setfutureattack: @ 8054598 _080545DC: adds r0, r1, 0 bl GetBankIdentity - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting lsls r0, 24 lsrs r0, 24 movs r1, 0x1 @@ -28093,7 +28093,7 @@ _0805541A: thumb_func_start atkD9_scaledamagebyhealthratio atkD9_scaledamagebyhealthratio: @ 8055428 push {r4,lr} - ldr r4, =gUnknown_02024400 + ldr r4, =gDynamicBasePower ldrh r0, [r4] cmp r0, 0 bne _08055464 @@ -28426,7 +28426,7 @@ _080556CE: ldr r0, =0x0000ffff cmp r1, r0 beq _080556FC - ldr r0, =gUnknown_02024400 + ldr r0, =gDynamicBasePower adds r1, r5, 0x1 lsls r1, 1 adds r1, r6 @@ -28435,7 +28435,7 @@ _080556CE: b _08055702 .pool _080556FC: - ldr r1, =gUnknown_02024400 + ldr r1, =gDynamicBasePower movs r0, 0x78 strh r0, [r1] _08055702: @@ -29781,7 +29781,7 @@ atkEE_removelightscreenreflect: @ 8056284 cmp r1, 0 beq _080562E4 _080562AC: - ldr r2, =gUnknown_0202428E + ldr r2, =gSideAffecting adds r2, r3, r2 ldrh r1, [r2] ldr r0, =0x0000fffe @@ -29994,7 +29994,7 @@ _080564A4: b _080564D2 .pool _080564B0: - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrb r0, [r0, 0x13] adds r0, 0xA lsls r0, 24 @@ -30056,7 +30056,7 @@ _08056522: beq _08056564 cmp r0, 0x1 bne _08056550 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrb r1, [r0, 0x5] movs r2, 0x2 orrs r1, r2 @@ -30064,7 +30064,7 @@ _08056522: b _08056564 .pool _08056550: - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrh r1, [r1] adds r0, r1 adds r1, r0, 0 @@ -30313,7 +30313,7 @@ _08056792: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r5, =gUnknown_03005D10 + ldr r5, =gBattleResults strh r0, [r5, 0x28] mov r1, r9 ldrb r0, [r1] diff --git a/asm/battle_7.s b/asm/battle_7.s index ef67d6bc0..9fc2c3875 100644 --- a/asm/battle_7.s +++ b/asm/battle_7.s @@ -85,7 +85,7 @@ sub_805D19C: @ 805D19C mov r10, r2 movs r1, 0 movs r2, 0xFF - bl sub_803FECC + bl CheckMoveLimitations lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -194,7 +194,7 @@ _0805D27C: lsls r0, r6, 24 lsrs r0, 24 bl BattleAI_SetupAIData - bl sub_8130BA4 + bl BattleAI_ChooseMoveOrAction lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -2347,7 +2347,7 @@ _0805E4DE: b _0805E77A .pool _0805E51C: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0805E558 @@ -2578,7 +2578,7 @@ _0805E70A: adds r1, r2 ldr r2, =0x04000008 bl CpuSet - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0805E74A @@ -2639,7 +2639,7 @@ sub_805E7DC: @ 805E7DC lsls r1, 24 cmp r1, 0 bne _0805E898 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0805E7F8 @@ -2651,7 +2651,7 @@ _0805E7F8: lsls r0, 24 lsrs r4, r0, 24 _0805E802: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0805E814 @@ -2714,7 +2714,7 @@ _0805E860: b _0805E8E6 .pool _0805E898: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0805E8E6 diff --git a/asm/battle_9.s b/asm/battle_9.s index 00d893f21..3484ee157 100644 --- a/asm/battle_9.s +++ b/asm/battle_9.s @@ -2039,7 +2039,7 @@ _08063D02: ldrb r1, [r0] adds r0, r4, 0 ldr r2, [sp, 0x4] - bl move_effectiveness_something + bl TypeCalc movs r1, 0x2 ands r1, r0 cmp r1, 0 @@ -2074,7 +2074,7 @@ _08063D58: beq _08063D60 b _08063BE4 _08063D60: - ldr r0, =gUnknown_02024400 + ldr r0, =gDynamicBasePower movs r1, 0 strh r1, [r0] ldr r0, =gBattleStruct @@ -2167,11 +2167,11 @@ _08063DEE: beq _08063E2A ldrb r0, [r6] ldr r1, [sp, 0x4] - bl sub_8046E7C + bl AI_CalcDmg ldrb r1, [r6] adds r0, r4, 0 ldr r2, [sp, 0x4] - bl move_effectiveness_something + bl TypeCalc _08063E2A: mov r2, r8 ldr r0, [r2] diff --git a/asm/battle_anim.s b/asm/battle_anim.s index 0e9a3a9cc..ef1c5ff87 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -123,7 +123,7 @@ move_something: @ 80A3A48 lsls r2, 24 lsrs r2, 24 mov r9, r2 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A3AE8 @@ -846,7 +846,7 @@ _080A406E: movs r2, 0x80 lsls r2, 1 bl m4aMPlayVolumeControl - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A409C @@ -1021,7 +1021,7 @@ _080A41FA: lsrs r0, 24 cmp r0, 0x1 bls _080A4226 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4230 @@ -1073,7 +1073,7 @@ _080A4266: lsrs r0, 24 cmp r0, 0x1 bls _080A4294 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A42A4 @@ -1130,7 +1130,7 @@ b_side_obj__get_some_boolean: @ 80A4310 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4330 @@ -1146,7 +1146,7 @@ _080A4330: lsls r0, 24 cmp r0, 0 beq _080A4384 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A4374 @@ -1203,7 +1203,7 @@ sub_80A438C: @ 80A438C beq _080A43AA b _080A455E _080A43AA: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -1278,7 +1278,7 @@ _080A43F8: negs r0, r0 adds r0, 0x20 strh r0, [r5] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A447A @@ -1347,7 +1347,7 @@ _080A44B0: ldr r2, =0x04000008 adds r0, r4, 0 bl CpuSet - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4524 @@ -1374,7 +1374,7 @@ _080A452E: movs r1, 0 movs r2, 0 bl sub_8118FBC - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A4558 @@ -1645,7 +1645,7 @@ sub_80A477C: @ 80A477C bl sub_80A6B30 cmp r4, 0 beq _080A479C - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -1891,7 +1891,7 @@ sub_80A4980: @ 80A4980 lsrs r0, 24 cmp r0, 0x1 bls _080A49BC - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A49C4 @@ -1985,7 +1985,7 @@ _080A4A4A: lsrs r0, 24 cmp r0, 0x1 bls _080A4A76 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4A80 @@ -2018,7 +2018,7 @@ _080A4A8A: lsrs r0, 24 cmp r0, 0x1 bls _080A4ABC - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4AC0 @@ -2171,7 +2171,7 @@ sub_80A4BB0: @ 80A4BB0 lsrs r0, 24 cmp r0, 0x1 bls _080A4BEE - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4BF8 @@ -2441,8 +2441,8 @@ ma13_goto: @ 80A4DCC .pool thumb_func_end ma13_goto - thumb_func_start sub_80A4DF0 -sub_80A4DF0: @ 80A4DF0 + thumb_func_start IsContest +IsContest: @ 80A4DF0 push {lr} ldr r0, =gMain ldr r1, =0x00000439 @@ -2460,7 +2460,7 @@ _080A4E10: _080A4E12: pop {r1} bx r1 - thumb_func_end sub_80A4DF0 + thumb_func_end IsContest thumb_func_start ma14_load_background ma14_load_background: @ 80A4E18 @@ -2513,7 +2513,7 @@ sub_80A4E5C: @ 80A4E5C lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A4EA8 @@ -2670,7 +2670,7 @@ sub_80A4FC8: @ 80A4FC8 push {r4-r7,lr} lsls r0, 16 lsrs r7, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5050 @@ -2747,7 +2747,7 @@ _080A507E: thumb_func_start dp01t_11_3_message_for_player_only dp01t_11_3_message_for_player_only: @ 80A5090 push {lr} - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A50A2 @@ -2860,7 +2860,7 @@ sub_80A5178: @ 80A5178 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A51C0 @@ -2888,7 +2888,7 @@ sub_80A5178: @ 80A5178 b _080A5252 .pool _080A51C0: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A51E8 @@ -2982,7 +2982,7 @@ sub_80A5278: @ 80A5278 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A52C0 @@ -3016,7 +3016,7 @@ _080A52C0: lsls r0, 24 cmp r0, 0 bne _080A52D8 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A52DE @@ -3822,7 +3822,7 @@ sub_80A5944: @ 80A5944 ldr r0, [r4] adds r0, 0x1 str r0, [r4] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5978 @@ -3870,7 +3870,7 @@ _080A59A2: bl GetBankIdentity lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A59D2 @@ -3901,7 +3901,7 @@ sub_80A59DC: @ 80A59DC ldr r1, [r0] adds r1, 0x1 str r1, [r0] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5A04 @@ -3949,7 +3949,7 @@ _080A5A4A: bl GetBankIdentity lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5A78 @@ -4043,7 +4043,7 @@ sub_80A5AFC: @ 80A5AFC ldrb r7, [r0, 0x1] adds r0, 0x2 str r0, [r1] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5BA6 @@ -4125,7 +4125,7 @@ sub_80A5BAC: @ 80A5BAC ldrb r7, [r0, 0x1] adds r0, 0x2 str r0, [r1] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5C38 diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s index 13da4b52c..60ffc9742 100644 --- a/asm/battle_anim_80FE840.s +++ b/asm/battle_anim_80FE840.s @@ -717,7 +717,7 @@ sub_80FEE1C: @ 80FEE1C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080FEE36 @@ -2485,7 +2485,7 @@ _080FFC38: adds r0, r6, 0 adds r0, 0xA strh r0, [r5, 0x3C] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080FFC50 @@ -2679,7 +2679,7 @@ sub_80FFDBC: @ 80FFDBC ldrsh r0, [r4, r1] cmp r0, 0 bne _080FFE50 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080FFDE4 @@ -2869,7 +2869,7 @@ _080FFF10: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x30] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080FFF5E @@ -4155,7 +4155,7 @@ _08100918: bl sub_80A74F4 lsls r0, 16 lsrs r4, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810097A @@ -4857,7 +4857,7 @@ _08100EE8: sub_8100EF0: @ 8100EF0 push {r4-r6,lr} adds r5, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08100F06 @@ -4889,7 +4889,7 @@ _08100F06: lsls r0, 24 cmp r0, 0 beq _08100F44 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08100F6C @@ -7334,7 +7334,7 @@ sub_8102268: @ 8102268 ldrh r5, [r5, 0x2] adds r0, r5 strh r0, [r6, 0x22] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081022AC @@ -7621,7 +7621,7 @@ _081024C2: sub_81024E0: @ 81024E0 push {r4,lr} adds r4, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081024F6 @@ -8088,7 +8088,7 @@ _08102862: ldrh r1, [r5, 0x20] strh r1, [r5, 0x3A] strh r0, [r5, 0x3C] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081028D4 @@ -8648,7 +8648,7 @@ _08102D10: strh r1, [r5, 0x32] ldrh r0, [r4, 0x4] strh r0, [r5, 0x34] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08102D34 @@ -10106,7 +10106,7 @@ sub_81038C8: @ 81038C8 push {r7} sub sp, 0x4 adds r5, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081038EC @@ -10178,7 +10178,7 @@ _0810390E: lsls r1, 24 adds r0, r1 lsrs r4, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08103980 @@ -10642,7 +10642,7 @@ sub_8103CF0: @ 8103CF0 mov r4, sp adds r4, 0x2 strh r1, [r4] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 mov r10, r4 cmp r0, 0 @@ -13381,7 +13381,7 @@ _0810536C: lsls r0, 16 lsrs r0, 16 mov r9, r0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081053E4 @@ -13450,7 +13450,7 @@ _081053FA: adds r0, r1 lsls r0, 16 lsrs r6, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810544C @@ -14777,7 +14777,7 @@ sub_8105EB0: @ 8105EB0 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 movs r6, 0xF0 cmp r0, 0 @@ -15296,7 +15296,7 @@ sub_81062E8: @ 81062E8 movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810632A @@ -15482,7 +15482,7 @@ _08106496: b _081064F0 .pool _081064BC: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081064D0 @@ -15531,7 +15531,7 @@ sub_81064F8: @ 81064F8 movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810653A @@ -15553,7 +15553,7 @@ _0810653A: bl SetGpuReg mov r0, sp bl sub_80A6B30 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08106578 @@ -15740,7 +15740,7 @@ _081066DA: adds r0, 0x1 strh r0, [r1, 0x20] _081066FC: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08106710 @@ -17792,7 +17792,7 @@ sub_8107730: @ 8107730 bl sub_80A82E4 lsls r0, 24 lsrs r5, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810778A @@ -18061,7 +18061,7 @@ sub_8107954: @ 8107954 bl lcd_bg_operations mov r0, sp bl sub_80A6B30 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081079E0 @@ -18152,7 +18152,7 @@ _08107A32: lsls r0, 5 strh r0, [r7, 0xA] strh r0, [r7, 0xC] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 @@ -18447,7 +18447,7 @@ sub_8107CC4: @ 8107CC4 b _08107D4A .pool _08107D08: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08107D1C @@ -19981,7 +19981,7 @@ sub_81088E4: @ 81088E4 movs r1, 0x1 _08108928: strh r1, [r5, 0x16] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810893C @@ -22475,7 +22475,7 @@ _08109CC8: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x30] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08109D64 @@ -23572,7 +23572,7 @@ _0810A5B6: sub_810A5BC: @ 810A5BC push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810A5D8 @@ -23640,7 +23640,7 @@ _0810A64C: ldr r0, =gAnimationBankAttacker _0810A64E: ldrb r6, [r0] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810A666 @@ -26939,7 +26939,7 @@ sub_810C0A0: @ 810C0A0 movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C0E2 @@ -27141,7 +27141,7 @@ _0810C27A: adds r0, 0x1 strh r0, [r1, 0x20] _0810C29C: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C2B0 @@ -27221,7 +27221,7 @@ sub_810C324: @ 810C324 movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C366 @@ -27413,7 +27413,7 @@ _0810C4EA: adds r0, 0x1 strh r0, [r1, 0x20] _0810C50C: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C520 @@ -27596,7 +27596,7 @@ _0810C684: ldrh r1, [r5, 0x3C] orrs r0, r1 strh r0, [r5, 0x3C] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810C6B8 @@ -27695,7 +27695,7 @@ _0810C736: ldrh r0, [r4, 0x3C] adds r0, 0x1 strh r0, [r4, 0x3C] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C78C @@ -27762,7 +27762,7 @@ _0810C7BC: ldrh r1, [r4, 0x26] adds r0, r1 strh r0, [r4, 0x26] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C83A @@ -27839,7 +27839,7 @@ _0810C85A: strh r0, [r4, 0x34] adds r0, 0x4 strh r0, [r4, 0x36] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810C8B4 @@ -28612,7 +28612,7 @@ _0810CE90: sub_810CEB4: @ 810CEB4 push {r4,lr} adds r4, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810CED0 @@ -29842,7 +29842,7 @@ _0810D8BE: ands r0, r2 orrs r0, r1 strb r0, [r5, 0x5] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810D8F8 @@ -30009,7 +30009,7 @@ _0810DA2C: movs r1, 0 bl sub_80A6980 _0810DA34: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810DA48 @@ -30768,7 +30768,7 @@ sub_810E044: @ 810E044 negs r0, r0 strh r0, [r1, 0x6] _0810E070: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810E088 @@ -31166,7 +31166,7 @@ _0810E354: lsrs r1, 16 cmp r1, 0x7F bhi _0810E44A - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810E3F0 @@ -31458,7 +31458,7 @@ _0810E5B4: ands r0, r1 cmp r0, 0 beq _0810E672 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810E642 @@ -31590,7 +31590,7 @@ _0810E6A8: ands r0, r1 cmp r0, 0 beq _0810E766 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810E736 @@ -31722,7 +31722,7 @@ _0810E79C: ands r0, r1 cmp r0, 0 beq _0810E85A - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810E82A @@ -31863,7 +31863,7 @@ _0810E8A4: ands r0, r1 cmp r0, 0 beq _0810E962 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810E932 @@ -33034,7 +33034,7 @@ sub_810F1EC: @ 810F1EC mov r7, r8 push {r7} adds r5, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r0, 24 mov r8, r0 @@ -33365,7 +33365,7 @@ sub_810F46C: @ 810F46C negs r1, r1 cmp r0, r1 bne _0810F512 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810F502 @@ -33436,7 +33436,7 @@ _0810F512: sub_810F524: @ 810F524 push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810F57C @@ -33497,7 +33497,7 @@ sub_810F58C: @ 810F58C bne _0810F5A6 movs r6, 0x1 _0810F5A6: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0810F5EE @@ -34294,7 +34294,7 @@ sub_810FBF0: @ 810FBF0 lsls r1, 3 ldr r0, =gTasks adds r5, r1, r0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0810FC94 @@ -35075,7 +35075,7 @@ _08110260: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0811028E @@ -35192,7 +35192,7 @@ _08110360: sub_8110368: @ 8110368 push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08110394 @@ -35283,7 +35283,7 @@ _081103C4: sub_8110438: @ 8110438 push {r4-r6,lr} adds r6, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0811045C @@ -35358,7 +35358,7 @@ _08110478: sub_81104E4: @ 81104E4 push {r4,r5,lr} adds r5, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08110500 @@ -35644,7 +35644,7 @@ sub_8110720: @ 8110720 push {r4-r7,lr} sub sp, 0x4 adds r7, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08110740 @@ -35672,7 +35672,7 @@ _08110740: negs r0, r0 strh r0, [r1, 0x6] _08110762: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081107B2 @@ -36212,7 +36212,7 @@ sub_8110BCC: @ 8110BCC movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08110C10 @@ -36433,7 +36433,7 @@ _08110DF0: b _08110E3A .pool _08110DFC: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08110E10 @@ -39179,7 +39179,7 @@ sub_81123C4: @ 81123C4 lsls r0, 16 lsrs r0, 16 str r0, [sp, 0x8] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08112434 @@ -39600,7 +39600,7 @@ sub_8112758: @ 8112758 lsls r0, 24 cmp r0, 0 bne _081127A0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081127B8 @@ -42121,7 +42121,7 @@ _08113C1E: ldr r0, =0x04000016 str r0, [sp] movs r7, 0x2 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08113CB0 @@ -42142,7 +42142,7 @@ _08113C80: ldr r0, =0x0400001a str r0, [sp] movs r7, 0x4 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08113CB0 @@ -42393,7 +42393,7 @@ _08113EA8: .4byte _08113FF0 .4byte _08114058 _08113EBC: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -43185,7 +43185,7 @@ sub_81144F8: @ 81144F8 movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0811455C @@ -43198,7 +43198,7 @@ _0811455C: lsls r0, 24 cmp r0, 0 beq _081145D6 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081145D6 @@ -43251,7 +43251,7 @@ _0811458C: bl lcd_bg_operations movs r6, 0x1 _081145D6: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08114614 @@ -43496,7 +43496,7 @@ _08114824: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08114856 @@ -46961,7 +46961,7 @@ sub_8116420: @ 8116420 lsls r0, 24 cmp r0, 0 beq _08116444 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116444 @@ -47844,7 +47844,7 @@ sub_8116B14: @ 8116B14 ldrh r1, [r4] movs r0, 0xA bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116BA2 @@ -47863,7 +47863,7 @@ _08116BA2: lsls r0, 24 cmp r0, 0 beq _08116C26 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116C26 @@ -47921,7 +47921,7 @@ _08116BD2: bl SetGpuReg movs r7, 0x1 _08116C26: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08116C64 @@ -48084,7 +48084,7 @@ sub_8116D64: @ 8116D64 movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116DF6 @@ -48237,7 +48237,7 @@ _08116F26: movs r1, 0x2 eors r0, r1 strb r0, [r2, 0x1] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116F56 @@ -48286,7 +48286,7 @@ _08116F5C: movs r1, 0 movs r2, 0 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08116FBA @@ -48354,7 +48354,7 @@ _08116FEC: ldr r0, [r4] strb r5, [r0, 0x2] _08117036: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08117078 @@ -48758,7 +48758,7 @@ _081173B6: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081173E6 @@ -49347,7 +49347,7 @@ sub_8117854: @ 8117854 movs r0, 0x2 adds r6, r7, 0 eors r6, r0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _081178B6 @@ -49404,7 +49404,7 @@ _081178BA: movs r1, 0x20 orrs r0, r1 strb r0, [r2] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08117930 @@ -49419,7 +49419,7 @@ _08117930: ldrh r1, [r4] movs r0, 0xA bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08117964 @@ -49687,7 +49687,7 @@ _08117B34: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _08117BB2 @@ -50037,7 +50037,7 @@ sub_8117E60: @ 8117E60 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -50150,7 +50150,7 @@ sub_8117F60: @ 8117F60 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08117F78 diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s index 690138efb..6b5c27ea6 100644 --- a/asm/battle_anim_8170478.s +++ b/asm/battle_anim_8170478.s @@ -328,7 +328,7 @@ _08170708: movs r0, 0x4A adds r1, r4, 0 bl SetGpuReg - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0817076C diff --git a/asm/battle_anin_80A9C70.s b/asm/battle_anin_80A9C70.s index 1455134ec..16366988e 100644 --- a/asm/battle_anin_80A9C70.s +++ b/asm/battle_anin_80A9C70.s @@ -348,7 +348,7 @@ sub_80A9EF4: @ 80A9EF4 ldr r1, =0xffdc0000 adds r0, r1 lsrs r4, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A9F32 diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s index 73406931b..76a8c3c56 100644 --- a/asm/battle_controller_linkopponent.s +++ b/asm/battle_controller_linkopponent.s @@ -4057,11 +4057,11 @@ _08066770: ldrb r0, [r5] cmp r0, 0x1 bne _08066794 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _08066796 .pool _08066794: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _08066796: ldrh r0, [r0] bl sub_8162AA0 @@ -4143,7 +4143,7 @@ _08066838: b _0806693A _08066840: movs r7, 0xB0 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -4389,11 +4389,11 @@ sub_8066A58: @ 8066A58 ldrb r0, [r0] cmp r0, 0x1 bne _08066A74 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _08066A76 .pool _08066A74: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _08066A76: ldrh r0, [r0] bl sub_8162AA0 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index d2f5ee5d9..8ad871934 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -4205,7 +4205,7 @@ sub_8061690: @ 8061690 b _0806175A .pool _080616B0: - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r1, [r3] ldr r0, =0x000003fe cmp r1, r0 @@ -4233,7 +4233,7 @@ _080616C8: b _0806175A .pool _080616F0: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_81D5588 b _0806175A @@ -4260,7 +4260,7 @@ _08061708: b _0806175A .pool _08061734: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_8162AA0 b _0806175A @@ -4291,7 +4291,7 @@ _08061760: cmp r0, 0x1 beq _08061788 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] b _0806178C .pool @@ -4452,7 +4452,7 @@ sub_80618D8: @ 80618D8 b _080619A2 .pool _080618F8: - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r1, [r3] ldr r0, =0x000003fe cmp r1, r0 @@ -4480,7 +4480,7 @@ _08061910: b _080619A2 .pool _08061938: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_81D5588 b _080619A2 @@ -4507,7 +4507,7 @@ _08061950: b _080619A2 .pool _0806197C: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_8162AA0 b _080619A2 @@ -4538,7 +4538,7 @@ _080619A8: cmp r0, 0x1 beq _080619D0 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] b _080619D4 .pool @@ -5261,7 +5261,7 @@ _08061FE4: beq _080620C4 movs r0, 0xF bl BattleAI_SetupAIData - bl sub_8130BA4 + bl BattleAI_ChooseMoveOrAction lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x5 diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s index 4e2e5db5d..9c262071d 100644 --- a/asm/battle_controller_player_partner.s +++ b/asm/battle_controller_player_partner.s @@ -5014,7 +5014,7 @@ sub_81BDAC8: @ 81BDAC8 adds r4, r0 movs r0, 0xF bl BattleAI_SetupAIData - bl sub_8130BA4 + bl BattleAI_ChooseMoveOrAction lsls r0, 24 lsrs r5, r0, 24 ldr r2, =gBattleMoves diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s index a467808c3..2c1c37eb7 100644 --- a/asm/battle_controller_recorded_opponent.s +++ b/asm/battle_controller_recorded_opponent.s @@ -4038,11 +4038,11 @@ _081888B4: ldrb r0, [r4] cmp r0, 0x1 bne _081888D8 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _081888DA .pool _081888D8: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _081888DA: ldrh r0, [r0] bl sub_8162AA0 @@ -4057,7 +4057,7 @@ _081888EC: b _08188924 _081888F6: movs r7, 0xB0 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 diff --git a/asm/battle_message.s b/asm/battle_message.s index 6bd3f6835..961a1a5db 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -145,7 +145,7 @@ _0814E200: b _0814E6D8 .pool _0814E214: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -302,7 +302,7 @@ _0814E368: ands r1, r0 cmp r1, 0 beq _0814E380 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -353,7 +353,7 @@ _0814E3E0: b _0814E6D8 .pool _0814E3EC: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x80 lsls r0, 4 @@ -444,7 +444,7 @@ _0814E4AC: b _0814E6D8 .pool _0814E4BC: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -609,7 +609,7 @@ _0814E630: b _0814E6D8 .pool _0814E638: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -1720,7 +1720,7 @@ _0814F0D8: b _0814F59C .pool _0814F0F0: - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r2, [r3] movs r0, 0xC0 lsls r0, 4 @@ -1808,7 +1808,7 @@ _0814F178: b _0814F5BE .pool _0814F1AC: - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r2, [r3] movs r0, 0xC0 lsls r0, 4 @@ -1944,7 +1944,7 @@ _0814F2C0: ands r0, r1 cmp r0, 0 beq _0814F2E0 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x2 b _0814F55A @@ -1955,7 +1955,7 @@ _0814F2E0: ands r1, r0 cmp r1, 0 beq _0814F2F8 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x4 b _0814F584 @@ -1971,7 +1971,7 @@ _0814F300: ands r0, r1 cmp r0, 0 beq _0814F31C - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _0814F556 .pool _0814F31C: @@ -1982,7 +1982,7 @@ _0814F31C: bne _0814F328 b _0814F5C0 _0814F328: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _0814F580 .pool _0814F330: @@ -2120,7 +2120,7 @@ _0814F468: ands r0, r1 cmp r0, 0 beq _0814F484 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B b _0814F596 .pool _0814F484: @@ -2129,14 +2129,14 @@ _0814F484: ands r1, r0 cmp r1, 0 beq _0814F49C - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_81D5530 b _0814F59C .pool _0814F49C: ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2153,7 +2153,7 @@ _0814F4B8: ands r0, r1 cmp r0, 0 beq _0814F4D4 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B b _0814F5B6 .pool _0814F4D4: @@ -2162,14 +2162,14 @@ _0814F4D4: ands r1, r0 cmp r1, 0 beq _0814F4F0 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] mov r0, sp bl sub_81D5554 b _0814F5BE .pool _0814F4F0: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2185,7 +2185,7 @@ _0814F508: ands r0, r1 cmp r0, 0 beq _0814F528 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] movs r0, 0x2 b _0814F55A @@ -2196,7 +2196,7 @@ _0814F528: ands r1, r0 cmp r1, 0 beq _0814F540 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] movs r0, 0x4 b _0814F584 @@ -2212,7 +2212,7 @@ _0814F548: ands r0, r1 cmp r0, 0 beq _0814F574 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _0814F556: ldrh r1, [r0] movs r0, 0x1 @@ -2227,7 +2227,7 @@ _0814F574: ands r1, r0 cmp r1, 0 beq _0814F5C0 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _0814F580: ldrh r1, [r0] movs r0, 0x3 diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 2ef2fccc6..c86f198c7 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -1082,7 +1082,7 @@ _080B0F2E: thumb_func_start reads_trainer_data_byte1_byte0x18 reads_trainer_data_byte1_byte0x18: @ 80B0F34 push {r4-r6,lr} - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] movs r0, 0x80 lsls r0, 3 @@ -1481,7 +1481,7 @@ TrainerBattleLoadArg8: @ 80B1274 thumb_func_start trainerflag_opponent trainerflag_opponent: @ 80B1278 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r2, 0xA0 lsls r2, 3 adds r0, r2, 0 @@ -1495,7 +1495,7 @@ trainerflag_opponent: @ 80B1278 thumb_func_start sub_80B1290 sub_80B1290: @ 80B1290 - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B movs r2, 0xA0 lsls r2, 3 adds r0, r2, 0 @@ -1540,10 +1540,10 @@ _080B12E2: thumb_func_start ResetTrainerOpponentIds ResetTrainerOpponentIds: @ 80B12E8 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A movs r1, 0 strh r1, [r0] - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B strh r1, [r0] bx lr .pool @@ -1765,7 +1765,7 @@ _080B14EC: adds r1, r5, 0 bl TrainerBattleLoadArgs bl battle_80801F0 - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r0, [r4] bl sub_80B2234 strh r0, [r4] @@ -1777,7 +1777,7 @@ _080B1514: adds r1, r5, 0 bl TrainerBattleLoadArgs bl battle_80801F0 - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r0, [r4] bl sub_80B2234 strh r0, [r4] @@ -1796,7 +1796,7 @@ _080B153C: ldr r0, =gScriptLastTalked ldrb r0, [r0] bl sub_81A9AA8 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A b _080B157E .pool _080B156C: @@ -1807,7 +1807,7 @@ _080B156C: ldrb r0, [r0] bl sub_81A9AA8 _080B157C: - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B _080B157E: strh r0, [r1] b _080B161C @@ -1836,7 +1836,7 @@ _080B15A8: ldr r0, =gScriptLastTalked ldrb r0, [r0] bl battle_init - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A b _080B157E .pool _080B15D8: @@ -2027,7 +2027,7 @@ _080B1752: thumb_func_start rom_npc_set_flag_for_script_id rom_npc_set_flag_for_script_id: @ 80B1760 push {lr} - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] cmp r0, 0 beq _080B1776 @@ -2222,7 +2222,7 @@ _080B190C: thumb_func_start sub_80B1918 sub_80B1918: @ 80B1918 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x80 lsls r0, 3 @@ -2273,7 +2273,7 @@ _080B198A: thumb_func_start sub_80B1994 sub_80B1994: @ 80B1994 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x80 lsls r0, 3 @@ -2481,11 +2481,11 @@ SetUpTrainerEncounterMusic: @ 80B1B70 ldrb r0, [r0] cmp r0, 0 bne _080B1B88 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A b _080B1B8A .pool _080B1B88: - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B _080B1B8A: ldrh r1, [r0] ldr r0, =gUnknown_02038BC8 @@ -2620,7 +2620,7 @@ _080B1C96: thumb_func_start sub_80B1CA4 sub_80B1CA4: @ 80B1CA4 push {r4,lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x80 lsls r0, 3 @@ -3202,7 +3202,7 @@ sub_80B20BC: @ 80B20BC lsls r0, 24 cmp r0, 0 beq _080B20E2 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_80B208C adds r1, r0, 0 @@ -3423,7 +3423,7 @@ sub_80B2250: @ 80B2250 sub_80B226C: @ 80B226C push {r4,r5,lr} ldr r5, =gUnknown_085500A4 - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] adds r0, r5, 0 bl sub_80B1F38 @@ -3449,7 +3449,7 @@ _080B229A: sub_80B22A0: @ 80B22A0 push {lr} ldr r0, =gUnknown_085500A4 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_80B1F74 lsls r0, 24 @@ -3463,7 +3463,7 @@ sub_80B22A0: @ 80B22A0 sub_80B22BC: @ 80B22BC push {lr} ldr r0, =gUnknown_085500A4 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_80B205C bl rom_npc_set_flag_for_script_id diff --git a/asm/cable_club.s b/asm/cable_club.s index 73288455f..04c6c7825 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1867,7 +1867,7 @@ _080B3378: ldrh r0, [r0] bl sub_80B3260 bl overworld_free_bg_tilemaps - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r2, 0x80 lsls r2, 4 adds r0, r2, 0 @@ -2040,7 +2040,7 @@ _080B3504: ldrh r0, [r0] bl sub_80B3260 bl overworld_free_bg_tilemaps - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r3, 0x80 lsls r3, 4 adds r0, r3, 0 diff --git a/asm/daycare.s b/asm/daycare.s index 4e68a34e1..f5d423102 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -2481,7 +2481,7 @@ _08070D7E: bl pokemon_getattr_encrypted adds r1, r0, 0 ldrh r0, [r5] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 ldr r2, [sp, 0x28] diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 1f7a56418..4d54a1ca7 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -2572,7 +2572,7 @@ _08174B8C: lsls r0, r1, 23 lsrs r0, 23 ldr r1, [r7, 0x4] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r0, 0 diff --git a/asm/link.s b/asm/link.s index 2c2a0dc43..65742024d 100644 --- a/asm/link.s +++ b/asm/link.s @@ -33412,7 +33412,7 @@ _0801AB1E: movs r0, 0x32 bl IncrementGameStat bl calc_player_party_count - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A movs r2, 0xC0 lsls r2, 4 adds r1, r2, 0 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index 9406026dc..54b82c444 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -621,7 +621,7 @@ _08067F38: bne _08067F38 adds r0, r7, 0 adds r1, r4, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r8, r0 @@ -647,7 +647,7 @@ _08067F9E: bne _08067F9E adds r0, r7, 0 adds r1, r4, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 cmp r8, r0 @@ -702,7 +702,7 @@ _0806800A: orrs r4, r0 adds r0, r6, 0 adds r1, r4, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 cmp r0, 0 bne _0806800A diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s index 7c7db81fb..d16f6f1b5 100644 --- a/asm/pokemon_2.s +++ b/asm/pokemon_2.s @@ -140,7 +140,7 @@ ShouldGetStatBadgeBoost: @ 8069ED8 ands r0, r1 cmp r0, 0 beq _08069F10 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0x80 lsls r0, 3 @@ -288,8 +288,8 @@ _0806A01A: bx r1 thumb_func_end pokemon_roll_gender - thumb_func_start pokemon_species_get_gender_info -pokemon_species_get_gender_info: @ 806A020 + thumb_func_start GetGenderFromSpeciesAndPersonality +GetGenderFromSpeciesAndPersonality: @ 806A020 push {lr} adds r3, r1, 0 lsls r0, 16 @@ -326,7 +326,7 @@ _0806A060: _0806A062: pop {r1} bx r1 - thumb_func_end pokemon_species_get_gender_info + thumb_func_end GetGenderFromSpeciesAndPersonality thumb_func_start sub_806A068 sub_806A068: @ 806A068 diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index ca77a64a4..e2b75248e 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -1004,7 +1004,7 @@ _0806C574: lsls r0, 24 cmp r0, 0 bne _0806C5B2 - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x4] cmp r0, 0xFE bhi _0806C5B2 @@ -1140,7 +1140,7 @@ _0806C65E: lsls r0, 24 cmp r0, 0 bne _0806C6EC - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x3] cmp r0, 0xFE bhi _0806C6AE @@ -3614,7 +3614,7 @@ _0806D9F0: cmp r0, 0 beq _0806DAC2 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -4993,7 +4993,7 @@ _0806E470: ands r0, r1 cmp r0, 0 beq _0806E494 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_8162BD8 lsls r0, 24 @@ -5010,7 +5010,7 @@ _0806E494: b _0806E4B2 _0806E4A2: ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -5121,7 +5121,7 @@ _0806E5F2: b _0806E646 .pool _0806E604: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s index f22214f93..9f76ff3df 100644 --- a/asm/recorded_battle.s +++ b/asm/recorded_battle.s @@ -873,12 +873,12 @@ _081854DC: adds r0, r7, r3 str r2, [r0] _081854E2: - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] ldr r5, =0x000004f4 adds r0, r7, r5 strh r1, [r0] - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r1, [r0] ldr r2, =0x000004f6 adds r0, r7, r2 @@ -944,7 +944,7 @@ _081854E2: str r0, [r1] ldr r4, =0xfffffed4 adds r1, r4, 0 - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A ldrh r5, [r5] adds r0, r1, r5 lsls r0, 16 @@ -957,7 +957,7 @@ _08185580: ldr r0, =0x00000504 adds r3, r7, r0 mov r10, r9 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A mov r12, r1 adds r2, r4, 0 mov r8, r2 @@ -981,7 +981,7 @@ _08185592: ble _08185592 mov r0, r9 ldr r2, [r0] - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r0, [r1] ldr r3, =0xfffffed4 adds r0, r3 @@ -1002,7 +1002,7 @@ _08185592: ldr r2, =0x0000050e adds r4, r7, r2 mov r10, r9 - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A mov r8, r5 adds r5, r3, 0 _081855E6: @@ -1032,7 +1032,7 @@ _08185664: ldr r1, =0x0000050e adds r4, r7, r1 mov r10, r9 - ldr r2, =gUnknown_02038BCA + ldr r2, =gTrainerBattleOpponent_A mov r8, r2 adds r5, r3, 0 _08185672: @@ -1057,7 +1057,7 @@ _08185672: _08185696: mov r1, r9 ldr r2, [r1] - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r0, [r3] ldr r4, =0xfffffed4 adds r0, r4 @@ -1070,7 +1070,7 @@ _08185696: b _08185856 .pool _081856C4: - ldr r3, =gUnknown_02038BCC + ldr r3, =gTrainerBattleOpponent_B ldrh r3, [r3] adds r0, r1, r3 lsls r0, 16 @@ -1083,7 +1083,7 @@ _081856D4: ldr r4, =0x00000504 adds r3, r7, r4 mov r10, r9 - ldr r5, =gUnknown_02038BCC + ldr r5, =gTrainerBattleOpponent_B mov r12, r5 ldr r0, =0xfffffed4 mov r8, r0 @@ -1107,7 +1107,7 @@ _081856E6: ble _081856E6 mov r0, r9 ldr r2, [r0] - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B ldrh r0, [r1] ldr r3, =0xfffffed4 adds r0, r3 @@ -1128,7 +1128,7 @@ _081856E6: ldr r2, =0x0000050e adds r4, r7, r2 mov r10, r9 - ldr r5, =gUnknown_02038BCC + ldr r5, =gTrainerBattleOpponent_B mov r8, r5 adds r5, r3, 0 _0818573A: @@ -1158,7 +1158,7 @@ _08185784: ldr r1, =0x0000050e adds r4, r7, r1 mov r10, r9 - ldr r2, =gUnknown_02038BCC + ldr r2, =gTrainerBattleOpponent_B mov r8, r2 adds r5, r3, 0 _08185792: @@ -1183,7 +1183,7 @@ _08185792: _081857B6: mov r1, r9 ldr r2, [r1] - ldr r3, =gUnknown_02038BCC + ldr r3, =gTrainerBattleOpponent_B ldrh r0, [r3] ldr r4, =0xfffffed4 adds r0, r4 @@ -1259,7 +1259,7 @@ _08185856: adds r0, r7, r2 strb r1, [r0] _0818585C: - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r0, [r3] ldr r1, =0x0000018f cmp r0, r1 @@ -1284,7 +1284,7 @@ _0818585C: ldr r0, =0x0000050e adds r4, r7, r0 mov r10, r9 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A mov r8, r1 adds r5, r3, 0 _08185894: @@ -1310,14 +1310,14 @@ _08185894: ble _08185894 mov r3, r9 ldr r2, [r3] - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] ldr r5, =0xfffffe70 adds r1, r5 b _081859AC .pool _08185900: - ldr r3, =gUnknown_02038BCC + ldr r3, =gTrainerBattleOpponent_B ldrh r0, [r3] cmp r0, r1 bls _0818597C @@ -1341,7 +1341,7 @@ _08185900: ldr r0, =0x0000050e adds r4, r7, r0 mov r10, r9 - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B mov r8, r1 adds r5, r3, 0 _08185936: @@ -1367,7 +1367,7 @@ _08185936: ble _08185936 mov r3, r9 ldr r2, [r3] - ldr r4, =gUnknown_02038BCC + ldr r4, =gTrainerBattleOpponent_B ldrh r1, [r4] ldr r5, =0xfffffe70 adds r1, r5 @@ -1542,9 +1542,9 @@ sub_8185AB0: @ 8185AB0 ldr r0, =gBattleTypeFlags movs r1, 0 str r1, [r0] - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r1, [r0] - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B strh r1, [r0] ldr r0, =gUnknown_02038BCE strh r1, [r0] @@ -1715,12 +1715,12 @@ _08185C2A: lsls r1, 17 orrs r0, r1 str r0, [r2] - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldr r2, =0x000004f4 adds r0, r7, r2 ldrh r0, [r0] strh r0, [r1] - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B adds r3, 0xE adds r0, r7, r3 ldrh r0, [r0] @@ -2638,13 +2638,13 @@ _081863FC: .pool thumb_func_end sub_818603C - thumb_func_start sub_8186438 -sub_8186438: @ 8186438 + thumb_func_start GetAiScriptsInRecordedBattle +GetAiScriptsInRecordedBattle: @ 8186438 ldr r0, =gUnknown_0203C7BC ldr r0, [r0] bx lr .pool - thumb_func_end sub_8186438 + thumb_func_end GetAiScriptsInRecordedBattle thumb_func_start sub_8186444 sub_8186444: @ 8186444 diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s index ba1ad38d4..a4ddd461b 100644 --- a/asm/rom_8034C54.s +++ b/asm/rom_8034C54.s @@ -1493,7 +1493,7 @@ _0803584C: cmp r1, 0 beq _080358C4 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2603,7 +2603,7 @@ _080362F8: cmp r1, 0 beq _08036350 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2740,7 +2740,7 @@ _0803645C: cmp r1, 0 beq _0803648C ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2850,7 +2850,7 @@ _08036568: cmp r1, 0 beq _08036598 ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -2961,7 +2961,7 @@ _08036674: cmp r1, 0 beq _080366AC ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -3287,7 +3287,7 @@ _080369AE: cmp r0, 0 bne _080369E8 ldr r4, =gEnemyParty - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] adds r0, r4, 0 movs r2, 0x1 @@ -3301,7 +3301,7 @@ _080369AE: movs r1, 0x96 lsls r1, 1 adds r0, r4, r1 - ldr r1, =gUnknown_02038BCC + ldr r1, =gTrainerBattleOpponent_B ldrh r1, [r1] movs r2, 0 bl LoadTrainerParty @@ -4132,7 +4132,7 @@ _08037098: strb r0, [r1] bl sub_8036A5C bl sub_8036B44 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xC0 lsls r0, 4 @@ -4591,12 +4591,12 @@ _08037530: strh r0, [r1] adds r0, r6, 0 adds r0, 0x40 - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r1, [r4] bl sub_8162E20 adds r0, r6, 0 adds r0, 0x5C - ldr r5, =gUnknown_02038BCC + ldr r5, =gTrainerBattleOpponent_B ldrh r1, [r5] bl sub_8162E20 ldrh r1, [r4] @@ -6194,7 +6194,7 @@ _080383BC: ands r0, r2 cmp r0, 0 beq _080383F8 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A movs r4, 0x80 lsls r4, 4 adds r1, r4, 0 @@ -9409,7 +9409,7 @@ sub_8039F40: @ 8039F40 mov r9, r1 ldr r0, =gUnknown_02024250 mov r8, r0 - ldr r1, =gUnknown_02024248 + ldr r1, =gLastUsedMovesByBanks mov r12, r1 ldr r5, =gDisableStructs movs r4, 0 @@ -9467,7 +9467,7 @@ _08039F78: ble _08039F70 movs r5, 0 ldr r3, =gSideTimers - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting movs r2, 0x1 _08039FD8: strh r5, [r4] @@ -9692,7 +9692,7 @@ _0803A1BA: bl Random ldr r1, =gUnknown_02024330 strh r0, [r1] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults movs r2, 0 movs r3, 0 _0803A1E4: @@ -9703,7 +9703,7 @@ _0803A1E4: bls _0803A1E4 ldr r0, =gEnemyParty bl sub_806EBA4 - ldr r3, =gUnknown_03005D10 + ldr r3, =gBattleResults movs r1, 0x1 ands r1, r0 lsls r1, 6 @@ -10107,7 +10107,7 @@ _0803A540: strb r0, [r1, 0x18] ldrb r0, [r7] lsls r0, 1 - ldr r1, =gUnknown_02024248 + ldr r1, =gLastUsedMovesByBanks adds r0, r1 movs r2, 0 strh r4, [r0] @@ -10297,10 +10297,10 @@ _0803A6B4: movs r1, 0xFF strb r1, [r0] ldrb r0, [r3] - bl sub_81310F0 + bl ClearBankMoveHistory mov r7, r9 ldrb r0, [r7] - bl sub_8131130 + bl ClearBankAbilityHistory add sp, 0x20 pop {r3-r5} mov r8, r3 @@ -10617,7 +10617,7 @@ _0803A852: strb r1, [r0, 0x16] ldrb r0, [r3] lsls r0, 1 - ldr r3, =gUnknown_02024248 + ldr r3, =gLastUsedMovesByBanks adds r0, r3 movs r3, 0 strh r2, [r0] @@ -10830,9 +10830,9 @@ _0803AB6C: adds r1, 0x22 strb r0, [r1] ldrb r0, [r6] - bl sub_81310F0 + bl ClearBankMoveHistory ldrb r0, [r6] - bl sub_8131130 + bl ClearBankAbilityHistory add sp, 0x4 pop {r3-r5} mov r8, r3 @@ -11183,7 +11183,7 @@ _0803AE96: movs r1, 0xB movs r2, 0 bl GetMonData - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults strh r0, [r1, 0x20] _0803AEC0: ldr r0, =gBattleTypeFlags @@ -12544,7 +12544,7 @@ _0803BA40: b _0803BB78 .pool _0803BA98: - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x13] ldr r2, =gBattleStruct mov r8, r2 @@ -15816,7 +15816,7 @@ _0803D7AE: movs r3, 0 ldrb r0, [r0] strb r0, [r1] - ldr r0, =gUnknown_02024400 + ldr r0, =gDynamicBasePower movs r2, 0 strh r3, [r0] ldr r0, =gBattleStruct @@ -15951,7 +15951,7 @@ _0803D920: ldr r1, =gBattlescriptCurrInstr ldr r0, =gUnknown_082DAA87 str r0, [r1] - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] ldr r0, =0x000003fe cmp r1, r0 @@ -15973,7 +15973,7 @@ _0803D968: ldr r0, =gUnknown_082DA92D str r0, [r1] ldr r2, =gTrainers - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] lsls r0, r1, 2 adds r0, r1 @@ -16308,7 +16308,7 @@ _0803DD10: lsls r0, 24 cmp r0, 0 bne _0803DDA0 - ldr r4, =gUnknown_03005D10 + ldr r4, =gBattleResults ldrh r0, [r4, 0x6] cmp r0, 0 bne _0803DD74 @@ -16374,7 +16374,7 @@ _0803DDB6: ands r0, r1 cmp r0, 0 bne _0803DDD2 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrb r1, [r0, 0x5] movs r0, 0x40 ands r0, r1 @@ -16960,14 +16960,14 @@ _0803E33C: lsls r0, 24 cmp r0, 0 bne _0803E37C - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldr r1, =gCurrentMove ldrh r1, [r1] strh r1, [r0, 0x22] b _0803E384 .pool _0803E37C: - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldr r1, =gCurrentMove ldrh r1, [r1] strh r1, [r0, 0x24] @@ -17548,7 +17548,7 @@ bs2_8016374: @ 803E868 ldr r1, =gFightStateTracker movs r0, 0xA strb r0, [r1] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x2] cmp r0, 0xFE bhi _0803E8CE @@ -18354,7 +18354,7 @@ sub_803F050: @ 803F050 adds r0, r2 ldrb r0, [r0] strh r0, [r1] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrb r0, [r1, 0x1F] cmp r0, 0xFE bhi _0803F096 @@ -18657,7 +18657,7 @@ bsC_8016D70: @ 803F300 strh r4, [r0] ldr r0, [r6] strb r1, [r0, 0x13] - ldr r0, =gUnknown_02024400 + ldr r0, =gDynamicBasePower strh r4, [r0] strb r1, [r5, 0x14] ldr r0, =gBattleCommunication diff --git a/asm/rom_80A5C6C.s b/asm/rom_80A5C6C.s index 949111931..22e91ecdc 100644 --- a/asm/rom_80A5C6C.s +++ b/asm/rom_80A5C6C.s @@ -12,7 +12,7 @@ sub_80A5C6C: @ 80A5C6C lsrs r5, r0, 24 lsls r1, 24 lsrs r4, r1, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5C8A @@ -70,7 +70,7 @@ _080A5CD8: b _080A5DB0 .pool _080A5D00: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5D28 @@ -168,7 +168,7 @@ sub_80A5DB8: @ 80A5DB8 lsls r0, 24 cmp r0, 0 beq _080A5DDA - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5DDA @@ -176,7 +176,7 @@ sub_80A5DB8: @ 80A5DB8 _080A5DDA: cmp r5, 0xC9 bne _080A5E90 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A5E04 @@ -399,7 +399,7 @@ sub_80A5FA0: @ 80A5FA0 lsrs r0, 24 cmp r0, 0x1 bne _080A5FFE - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A5FFE @@ -449,7 +449,7 @@ sub_80A600C: @ 80A600C lsls r0, 24 cmp r0, 0 beq _080A6030 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A603E @@ -527,7 +527,7 @@ sub_80A60AC: @ 80A60AC lsrs r1, 24 cmp r1, 0x1 bhi _080A6126 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A60E8 @@ -645,7 +645,7 @@ sub_80A6190: @ 80A6190 bl sub_80A5C6C lsls r0, 24 lsrs r6, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A6238 @@ -1868,7 +1868,7 @@ sub_80A6A90: @ 80A6A90 lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A6ABC @@ -1942,7 +1942,7 @@ battle_type_is_double: @ 80A6B20 sub_80A6B30: @ 80A6B30 push {r4,lr} adds r4, r0, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -1988,7 +1988,7 @@ sub_80A6B90: @ 80A6B90 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -2046,7 +2046,7 @@ sub_80A6BFC: @ 80A6BFC ldr r0, =gUnknown_02023060 ldr r0, [r0] str r0, [r4, 0x4] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -2222,7 +2222,7 @@ sub_80A6D60: @ 80A6D60 adds r5, r2, 0 ldrb r0, [r4, 0x9] bl sub_80A6D10 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -2244,7 +2244,7 @@ _080A6D86: thumb_func_start sub_80A6D94 sub_80A6D94: @ 80A6D94 push {lr} - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A6DA4 @@ -2263,7 +2263,7 @@ sub_80A6DAC: @ 80A6DAC lsls r0, 24 cmp r0, 0 beq _080A6DBE - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A6DD4 @@ -2883,7 +2883,7 @@ _080A71F0: thumb_func_start sub_80A7238 sub_80A7238: @ 80A7238 push {r4,lr} - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A7268 @@ -2929,7 +2929,7 @@ sub_80A7270: @ 80A7270 ldrh r0, [r4, 0x2E] lsls r0, 24 lsrs r7, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A72A6 @@ -2968,7 +2968,7 @@ _080A72B4: movs r1, 0x80 orrs r0, r1 strb r0, [r2] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A7312 @@ -3357,7 +3357,7 @@ sub_80A75AC: @ 80A75AC movs r4, 0 cmp r0, 0 beq _080A7602 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A75F6 @@ -3432,7 +3432,7 @@ _080A7674: ldr r0, [sp] cmp r0, 0 beq _080A769A - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A7694 @@ -3449,7 +3449,7 @@ _080A769A: ldr r0, [sp, 0x4] cmp r0, 0 beq _080A76B0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A76B0 @@ -3483,7 +3483,7 @@ sub_80A76C4: @ 80A76C4 lsrs r3, 24 mov r8, r3 movs r4, 0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A76F2 @@ -4550,7 +4550,7 @@ _080A7F38: beq _080A7F42 b _080A8034 _080A7F42: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A7F78 @@ -5014,7 +5014,7 @@ sub_80A82E4: @ 80A82E4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A8300 @@ -5056,7 +5056,7 @@ sub_80A8328: @ 80A8328 bl GetBankIdentity lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A8344 @@ -5088,7 +5088,7 @@ GetBankIdentity_permutated: @ 80A8364 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A838A @@ -5363,7 +5363,7 @@ _080A85B2: bl CreateSprite lsls r0, 24 lsrs r4, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A85EE @@ -5412,7 +5412,7 @@ sub_80A861C: @ 80A861C lsls r1, 24 lsrs r1, 24 mov r9, r1 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _080A86C4 @@ -5811,7 +5811,7 @@ _080A8946: lsls r0, 24 cmp r0, 0 beq _080A8998 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080A8998 diff --git a/asm/rom_80C6FA0.s b/asm/rom_80C6FA0.s index 8ff9d9d2f..fb4c84b83 100644 --- a/asm/rom_80C6FA0.s +++ b/asm/rom_80C6FA0.s @@ -14768,7 +14768,7 @@ _080CED7E: ldrh r0, [r4] adds r1, r6 ldr r1, [r1] - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -29290,7 +29290,7 @@ _080D6184: strh r0, [r5, 0x12] ldrh r0, [r6, 0x6] strh r0, [r5, 0x14] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 mov r8, r4 cmp r0, 0 @@ -29329,7 +29329,7 @@ _080D61DC: ldrsh r0, [r4, r3] cmp r0, 0 beq _080D6208 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _080D6208 diff --git a/asm/rom_8158B30.s b/asm/rom_8158B30.s index b7e2219cb..4e51f4da9 100644 --- a/asm/rom_8158B30.s +++ b/asm/rom_8158B30.s @@ -310,7 +310,7 @@ sub_8158D8C: @ 8158D8C bl sub_80A5178 lsls r0, 24 lsrs r6, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08158DD0 @@ -435,7 +435,7 @@ sub_8158E9C: @ 8158E9C bl sub_80A5178 lsls r0, 24 lsrs r5, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _08158EE0 @@ -694,7 +694,7 @@ sub_81590B8: @ 81590B8 bl sub_80A5178 lsls r0, 24 lsrs r5, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _081590F8 diff --git a/asm/rom_815A0D4.s b/asm/rom_815A0D4.s index 8373519ee..c09a2d4d1 100644 --- a/asm/rom_815A0D4.s +++ b/asm/rom_815A0D4.s @@ -237,7 +237,7 @@ sub_815A254: @ 815A254 lsls r1, 23 adds r0, r1 lsrs r4, r0, 16 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815A2B2 @@ -915,7 +915,7 @@ sub_815A7EC: @ 815A7EC ldrsh r1, [r5, r2] adds r0, r4, 0 bl sub_80A6864 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815A840 @@ -1409,7 +1409,7 @@ sub_815ABEC: @ 815ABEC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815AC40 @@ -1476,7 +1476,7 @@ sub_815AC8C: @ 815AC8C strh r1, [r0] ldr r0, =gUnknown_02022E2A strh r1, [r0] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815ACB8 @@ -3010,7 +3010,7 @@ _0815B8A8: ldrb r1, [r5] mov r0, sp bl sub_80A6BFC - bl sub_80A4DF0 + bl IsContest lsls r0, 24 mov r9, r4 cmp r0, 0 @@ -3047,7 +3047,7 @@ _0815B8EA: ldrh r3, [r0, 0xA] movs r0, 0x1 bl LoadBgTiles - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815BA1C @@ -3228,7 +3228,7 @@ _0815BAAC: movs r2, 0 bl lcd_bg_operations _0815BAB6: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815BAF6 @@ -3366,7 +3366,7 @@ _0815BBC8: movs r1, 0x4 movs r2, 0x1 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815BC02 @@ -3381,7 +3381,7 @@ _0815BC02: mov r0, sp movs r2, 0 bl sub_80A6D60 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815BC34 @@ -3564,7 +3564,7 @@ _0815BDA6: mov r0, sp ldrb r0, [r0, 0x9] bl sub_80A6C68 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815BDC8 @@ -3971,7 +3971,7 @@ _0815C0EC: movs r1, 0x4 movs r2, 0x1 bl lcd_bg_operations - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815C124 @@ -3986,7 +3986,7 @@ _0815C124: mov r0, sp movs r2, 0 bl sub_80A6D60 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815C15C @@ -4222,7 +4222,7 @@ _0815C34A: mov r0, sp ldrb r0, [r0, 0x9] bl sub_80A6C68 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815C36C @@ -5167,7 +5167,7 @@ _0815CAD2: bl obj_id_set_rotscale adds r0, r5, 0 bl sub_80A7E6C - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815CAF8 @@ -5675,7 +5675,7 @@ sub_815CED8: @ 815CED8 str r0, [sp, 0x18] movs r0, 0 bl GetAnimBankSpriteId - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815CF18 @@ -7903,7 +7903,7 @@ sub_815E114: @ 815E114 lsls r1, 3 ldr r0, =gTasks adds r6, r1, r0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0 @@ -9330,7 +9330,7 @@ sub_815EC48: @ 815EC48 lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x26] - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815ECD0 @@ -10003,7 +10003,7 @@ sub_815F18C: @ 815F18C lsls r0, 24 cmp r0, 0 beq _0815F1B8 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815F1D0 @@ -10130,7 +10130,7 @@ _0815F2AC: ldrb r0, [r4] movs r1, 0 bl refresh_graphics_maybe - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815F2EE @@ -10560,7 +10560,7 @@ sub_815F620: @ 815F620 lsls r0, 24 lsrs r0, 24 mov r8, r0 - bl sub_80A4DF0 + bl IsContest lsls r0, 24 lsrs r7, r0, 24 cmp r7, 0 @@ -11024,7 +11024,7 @@ _0815F9DE: b _0815FE68 .pool _0815F9F4: - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 beq _0815FA28 @@ -11590,7 +11590,7 @@ _0815FE92: lsrs r0, 24 cmp r0, 0x1 bne _0815FFBC - bl sub_80A4DF0 + bl IsContest lsls r0, 24 cmp r0, 0 bne _0815FFBC diff --git a/asm/rom_8161F74.s b/asm/rom_8161F74.s index 750b3a6fe..c81a1ad38 100644 --- a/asm/rom_8161F74.s +++ b/asm/rom_8161F74.s @@ -93,7 +93,7 @@ _0816200E: negs r3, r3 movs r0, 0 bl saved_warp2_set - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r7, [r0] pop {r4-r7} pop {r0} @@ -264,7 +264,7 @@ _081621B4: thumb_func_start sub_81621C0 sub_81621C0: @ 81621C0 push {r4,r5,lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] movs r0, 0xFA lsls r0, 1 @@ -500,7 +500,7 @@ _0816239C: b _081623DA .pool _081623C0: - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A bl Random lsls r0, 16 lsrs r0, 16 @@ -559,14 +559,14 @@ _08162414: ldr r2, =0x00000cb2 adds r0, r1, r2 ldrh r3, [r0] - ldr r2, =gUnknown_02038BCA + ldr r2, =gTrainerBattleOpponent_A lsls r0, r3, 2 ldr r4, =0x00000cb4 adds r1, r4 adds r0, r1, r0 ldrh r0, [r0] strh r0, [r2] - ldr r4, =gUnknown_02038BCC + ldr r4, =gTrainerBattleOpponent_B lsls r0, r3, 1 adds r0, 0x1 lsls r0, 1 @@ -586,7 +586,7 @@ _08162488: lsls r0, 24 cmp r0, 0 beq _081624B4 - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A ldrh r0, [r4] movs r1, 0 bl sub_8162614 @@ -643,7 +643,7 @@ _081624FC: ldrh r0, [r0] cmp r4, r0 bne _081624BA - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A strh r3, [r4] ldrh r0, [r4] movs r1, 0 @@ -1954,7 +1954,7 @@ sub_8163048: @ 8163048 lsls r4, 24 lsrs r4, 24 bl ZeroEnemyPartyMons - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 adds r2, r4, 0 @@ -1972,12 +1972,12 @@ sub_816306C: @ 816306C lsls r4, 24 lsrs r4, 24 bl ZeroEnemyPartyMons - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 adds r2, r4, 0 bl sub_81630C4 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] movs r1, 0x3 adds r2, r4, 0 @@ -1995,7 +1995,7 @@ sub_81630A0: @ 81630A0 lsls r4, 24 lsrs r4, 24 bl ZeroEnemyPartyMons - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 adds r2, r4, 0 @@ -2037,7 +2037,7 @@ sub_81630C4: @ 81630C4 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x24] - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] ldr r0, =gUnknown_0203BC88 ldr r1, [r0] @@ -2613,14 +2613,14 @@ sub_8163590: @ 8163590 ands r0, r1 cmp r0, 0x2 beq _081635C0 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_81635D4 b _081635CA .pool _081635C0: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_816379C @@ -3034,11 +3034,11 @@ sub_8163914: @ 8163914 ldrh r0, [r0] cmp r0, 0 beq _08163930 - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B b _08163932 .pool _08163930: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A _08163932: ldrh r3, [r0] movs r0, 0xFA @@ -3362,7 +3362,7 @@ _08163C18: ldr r1, =gBattleTypeFlags ldr r0, =0x00000808 str r0, [r1] - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r0, 0 strh r0, [r1] ldr r0, =sub_8163A8C @@ -3387,7 +3387,7 @@ _08163C70: orrs r0, r1 str r0, [r4] _08163C8A: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] ldr r0, =0x000003fe cmp r1, r0 @@ -5240,14 +5240,14 @@ _08164D14: ldr r1, =gUnknown_020223C4 movs r2, 0x28 bl memcpy - ldr r2, =gUnknown_02038BCA + ldr r2, =gTrainerBattleOpponent_A ldr r1, [r4] lsls r0, r6, 2 adds r1, r5 adds r0, r1, r0 ldrh r0, [r0] strh r0, [r2] - ldr r4, =gUnknown_02038BCC + ldr r4, =gTrainerBattleOpponent_B lsls r0, r6, 1 adds r0, 0x1 lsls r0, 1 @@ -5337,7 +5337,7 @@ sub_8164E04: @ 8164E04 lsls r0, 16 cmp r0, 0 bne _08164E9A - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A ldrh r1, [r5] mov r0, sp bl sub_8162E20 @@ -7344,7 +7344,7 @@ _08165E58: ldrh r0, [r0] cmp r3, r0 bne _08165E1C - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A strh r4, [r5] ldrh r0, [r5] movs r1, 0 @@ -7388,7 +7388,7 @@ sub_8165EA4: @ 8165EA4 lsls r0, 24 lsrs r0, 24 str r0, [sp, 0x20] - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r2, [r0] ldr r0, =gUnknown_0203BC88 ldr r1, [r0] diff --git a/asm/rom_817C95C.s b/asm/rom_817C95C.s index de523a85b..1cb9a92d7 100644 --- a/asm/rom_817C95C.s +++ b/asm/rom_817C95C.s @@ -4411,7 +4411,7 @@ _0817EFC2: lsls r0, 24 cmp r0, 0 beq _0817F0B4 - ldr r4, =gUnknown_0202428E + ldr r4, =gSideAffecting mov r1, r9 ldrb r0, [r1] bl GetBankIdentity @@ -4493,7 +4493,7 @@ _0817F08C: ldrb r1, [r6] mov r3, r9 ldrb r2, [r3] - bl move_effectiveness_something + bl TypeCalc lsls r0, 24 lsrs r1, r0, 24 ldr r0, =gBattleMoveDamage diff --git a/asm/rom_818CFC8.s b/asm/rom_818CFC8.s index 5f4282d9d..942d04e1d 100644 --- a/asm/rom_818CFC8.s +++ b/asm/rom_818CFC8.s @@ -3283,7 +3283,7 @@ _0818EA3E: negs r3, r3 movs r0, 0 bl saved_warp2_set - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r6, [r0] pop {r4-r7} pop {r0} @@ -5026,7 +5026,7 @@ sub_818F9E0: @ 818F9E0 ldr r1, [r1] bl StringCopy ldr r0, =gStringVar2 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_8195898 pop {r0} @@ -5056,7 +5056,7 @@ sub_818FA20: @ 818FA20 adds r1, r0 str r1, [r5] bl calc_player_party_count - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_8195358 lsls r0, 16 @@ -6135,7 +6135,7 @@ _08190292: sub_8190298: @ 8190298 push {lr} bl sub_81902AC - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A strh r0, [r1] pop {r0} bx r0 @@ -6168,7 +6168,7 @@ sub_81902AC: @ 81902AC thumb_func_start sub_81902E4 sub_81902E4: @ 81902E4 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_8162614 @@ -12958,7 +12958,7 @@ sub_8193D7C: @ 8193D7C ldrh r0, [r7] cmp r0, 0x1 bne _08193E10 - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A ldrh r0, [r5] bl sub_8195358 ldr r4, =gSaveBlock2Ptr @@ -12998,7 +12998,7 @@ sub_8193D7C: @ 8193D7C lsls r3, 4 adds r1, r2, r3 adds r1, r0 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrh r0, [r0, 0x22] strh r0, [r1] add r2, r8 @@ -13050,7 +13050,7 @@ _08193E10: lsls r3, 4 adds r1, r3 adds r1, r0 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrh r0, [r0, 0x24] strh r0, [r1] ldr r0, =gBattleOutcome @@ -14893,7 +14893,7 @@ sub_8194EB4: @ 8194EB4 thumb_func_start sub_8194EC0 sub_8194EC0: @ 8194EC0 push {r4,lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_8195358 adds r4, r0, 0 @@ -16287,7 +16287,7 @@ _081959F2: negs r3, r3 movs r0, 0 bl saved_warp2_set - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r6, [r0] pop {r4-r7} pop {r0} @@ -16510,7 +16510,7 @@ _08195C16: thumb_func_start sub_8195C20 sub_8195C20: @ 8195C20 push {r4,lr} - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A bl Random lsls r0, 16 lsrs r0, 16 @@ -16534,7 +16534,7 @@ sub_8195C20: @ 8195C20 thumb_func_start sub_8195C50 sub_8195C50: @ 8195C50 push {lr} - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r1, [r3] ldr r0, =0x0000012b cmp r1, r0 @@ -43617,7 +43617,7 @@ _081A3AD8: thumb_func_start sub_81A3B00 sub_81A3B00: @ 81A3B00 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] ldr r0, =0x000003fe cmp r1, r0 @@ -43789,7 +43789,7 @@ _081A3C84: adds r1, r0 adds r7, r1, r2 ldrb r5, [r7] - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A mov r9, r0 ldrh r0, [r0] ldr r1, =0x000003fe @@ -44664,14 +44664,14 @@ sub_81A443C: @ 81A443C .pool _081A4450: ldr r0, =gStringVar1 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_8162E20 b _081A446E .pool _081A4464: ldr r0, =gStringVar2 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_8162E20 _081A446E: @@ -46098,7 +46098,7 @@ sub_81A4FF0: @ 81A4FF0 sub_81A5030: @ 81A5030 push {lr} lsls r0, 24 - ldr r2, =gUnknown_02038BCA + ldr r2, =gTrainerBattleOpponent_A ldr r3, =0x000003fe adds r1, r3, 0 strh r1, [r2] @@ -47142,7 +47142,7 @@ _081A5930: negs r3, r3 movs r0, 0 bl saved_warp2_set - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r0, 0 strh r0, [r1] pop {r4-r6} @@ -47436,7 +47436,7 @@ _081A5BD6: sub_81A5BE0: @ 81A5BE0 push {lr} ldr r0, =gStringVar1 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_8162E20 pop {r0} @@ -47855,7 +47855,7 @@ _081A5F40: negs r3, r3 movs r0, 0 bl saved_warp2_set - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r0, 0 strh r0, [r1] pop {r4-r7} @@ -48185,7 +48185,7 @@ _081A6244: ldrh r0, [r0] cmp r7, r0 bne _081A61FA - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r3, [r0] ldr r2, [r6] adds r1, r2, r1 @@ -48353,7 +48353,7 @@ _081A636E: thumb_func_start sub_81A63B8 sub_81A63B8: @ 81A63B8 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_8162614 @@ -49829,8 +49829,8 @@ _081A6FA8: .pool thumb_func_end sub_81A6F70 - thumb_func_start sub_81A6FB4 -sub_81A6FB4: @ 81A6FB4 + thumb_func_start GetAiScriptsInBattleFactory +GetAiScriptsInBattleFactory: @ 81A6FB4 push {r4,r5,lr} ldr r5, =gSaveBlock2Ptr ldr r0, [r5] @@ -49856,7 +49856,7 @@ sub_81A6FB4: @ 81A6FB4 bl __udivsi3 lsls r0, 16 lsrs r2, r0, 16 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r1, [r0] ldr r0, =0x000003fe cmp r1, r0 @@ -49879,7 +49879,7 @@ _081A701E: pop {r4,r5} pop {r1} bx r1 - thumb_func_end sub_81A6FB4 + thumb_func_end GetAiScriptsInBattleFactory thumb_func_start sub_81A7024 sub_81A7024: @ 81A7024 @@ -52256,7 +52256,7 @@ _081A831A: subs r0, 0x1 cmp r3, r0 bne _081A82D2 - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A strh r4, [r5] ldr r1, =gUnknown_0203BC88 ldr r0, =gBattleFrontierTrainers @@ -52344,7 +52344,7 @@ _081A83EE: subs r0, 0x1 cmp r3, r0 bne _081A83A0 - ldr r5, =gUnknown_02038BCA + ldr r5, =gTrainerBattleOpponent_A strh r4, [r5] ldrh r0, [r5] movs r1, 0 @@ -52405,7 +52405,7 @@ _081A8466: ldrh r0, [r0] cmp r3, r0 bne _081A8426 - ldr r5, =gUnknown_02038BCC + ldr r5, =gTrainerBattleOpponent_B strh r4, [r5] ldrh r0, [r5] movs r1, 0x1 @@ -52465,7 +52465,7 @@ sub_81A84EC: @ 81A84EC ldrh r0, [r0] cmp r0, 0 bne _081A8524 - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r1, [r3] ldr r0, =0x0000012b cmp r1, r0 @@ -52482,7 +52482,7 @@ sub_81A84EC: @ 81A84EC _081A8524: cmp r0, 0x1 bne _081A8542 - ldr r3, =gUnknown_02038BCC + ldr r3, =gTrainerBattleOpponent_B ldrh r1, [r3] ldr r0, =0x0000012b cmp r1, r0 @@ -52896,7 +52896,7 @@ sub_81A8830: @ 81A8830 adds r0, r1 strh r4, [r0] _081A887C: - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A strh r4, [r0] ldr r1, =gBattleOutcome movs r0, 0 @@ -53742,7 +53742,7 @@ _081A8EFC: bl sub_81AAA7C _081A8F14: bl sub_81C4EEC - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A movs r1, 0 strh r1, [r0] ldr r0, =gBattleOutcome @@ -55146,7 +55146,7 @@ GetBattlePyramidTrainerFlag: @ 81A9AC4 thumb_func_start sub_81A9B04 sub_81A9B04: @ 81A9B04 push {lr} - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] bl sub_81A9B44 ldr r0, =gBattleTypeFlags @@ -55160,7 +55160,7 @@ sub_81A9B04: @ 81A9B04 bl sub_80B47E0 ldr r1, =gUnknown_03005DF0 strb r0, [r1] - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] bl sub_81A9B44 _081A9B2E: @@ -85360,7 +85360,7 @@ sub_81B9A44: @ 81B9A44 thumb_func_start sub_81B9A60 sub_81B9A60: @ 81B9A60 push {r4,lr} - ldr r4, =gUnknown_02038BCA + ldr r4, =gTrainerBattleOpponent_A bl Random lsls r0, 16 lsrs r0, 16 @@ -85384,7 +85384,7 @@ sub_81B9A60: @ 81B9A60 thumb_func_start sub_81B9A90 sub_81B9A90: @ 81B9A90 push {lr} - ldr r3, =gUnknown_02038BCA + ldr r3, =gTrainerBattleOpponent_A ldrh r1, [r3] ldr r0, =0x0000012b cmp r1, r0 @@ -85652,7 +85652,7 @@ _081B9CE6: sub_81B9CF0: @ 81B9CF0 push {lr} ldr r0, =gStringVar1 - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A ldrh r1, [r1] bl sub_8162E20 pop {r0} @@ -86114,7 +86114,7 @@ _081BA0AA: ldrh r0, [r0] cmp r5, r0 bne _081BA066 - ldr r2, =gUnknown_02038BCA + ldr r2, =gTrainerBattleOpponent_A strh r3, [r2] ldrh r3, [r2] ldr r4, =gUnknown_0203BC88 diff --git a/asm/rom_81BE66C.s b/asm/rom_81BE66C.s index 9bf4912a4..f33063f16 100644 --- a/asm/rom_81BE66C.s +++ b/asm/rom_81BE66C.s @@ -46461,7 +46461,7 @@ sub_81D61E8: @ 81D61E8 lsls r0, 25 lsrs r4, r0, 24 movs r3, 0 - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A mov r8, r0 ldr r6, =gSaveBlock2Ptr ldr r1, =gBitTable @@ -46505,7 +46505,7 @@ _081D624A: cmp r0, 0 beq _081D62A2 movs r3, 0 - ldr r5, =gUnknown_02038BCC + ldr r5, =gTrainerBattleOpponent_B ldr r0, =gBitTable mov r8, r0 _081D6260: @@ -46656,7 +46656,7 @@ _081D636A: sub_81D6384: @ 81D6384 push {lr} bl ZeroEnemyPartyMons - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_81D62CC @@ -46669,11 +46669,11 @@ sub_81D6384: @ 81D6384 sub_81D639C: @ 81D639C push {lr} bl ZeroEnemyPartyMons - ldr r0, =gUnknown_02038BCA + ldr r0, =gTrainerBattleOpponent_A ldrh r0, [r0] movs r1, 0 bl sub_81D62CC - ldr r0, =gUnknown_02038BCC + ldr r0, =gTrainerBattleOpponent_B ldrh r0, [r0] movs r1, 0x3 bl sub_81D62CC diff --git a/asm/safari_zone.s b/asm/safari_zone.s index a1f660f4a..316e0f6cf 100644 --- a/asm/safari_zone.s +++ b/asm/safari_zone.s @@ -125,7 +125,7 @@ sub_80FC180: @ 80FC180 sub_80FC190: @ 80FC190 push {lr} ldr r1, =gUnknown_0203A051 - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults ldrb r0, [r0, 0x1F] ldrb r2, [r1] adds r0, r2 diff --git a/asm/secret_base.s b/asm/secret_base.s index a4352e975..056e0913a 100644 --- a/asm/secret_base.s +++ b/asm/secret_base.s @@ -2894,7 +2894,7 @@ sub_80EA2E4: @ 80EA2E4 push {lr} movs r0, 0x1 bl sub_813BADC - ldr r1, =gUnknown_02038BCA + ldr r1, =gTrainerBattleOpponent_A movs r2, 0x80 lsls r2, 3 adds r0, r2, 0 @@ -542,7 +542,7 @@ GabbyAndTyBeforeInterview: @ 80EC31C push {r4,lr} ldr r3, =gSaveBlock1Ptr ldr r2, [r3] - ldr r0, =gUnknown_03005D10 + ldr r0, =gBattleResults mov r12, r0 ldrh r1, [r0, 0x6] ldr r4, =0x00002ba4 @@ -1032,7 +1032,7 @@ sub_80EC728: @ 80EC728 movs r4, 0 bl sub_80EED88 bl sub_80ED718 - ldr r5, =gUnknown_03005D10 + ldr r5, =gBattleResults ldrh r0, [r5, 0x28] cmp r0, 0 bne _080EC74C @@ -1216,7 +1216,7 @@ _080EC8CA: ldrh r0, [r4, 0x2] adds r0, 0x1 strh r0, [r4, 0x2] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrh r0, [r1, 0x28] strh r0, [r4, 0x4] ldrh r0, [r1, 0x6] @@ -1300,7 +1300,7 @@ _080EC940: movs r0, 0x17 strb r0, [r4] strb r1, [r4, 0x1] - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrh r0, [r1, 0x6] strh r0, [r4, 0xC] ldrh r0, [r1, 0x20] @@ -4048,7 +4048,7 @@ _080EE1B6: strb r0, [r4] strb r1, [r4, 0x1] movs r5, 0 - ldr r6, =gUnknown_03005D10 + ldr r6, =gBattleResults ldr r3, =gUnknown_02037318 ldr r7, =gSaveBlock2Ptr adds r2, r6, 0 @@ -4122,7 +4122,7 @@ _080EE27E: _080EE280: strb r0, [r4, 0x5] _080EE282: - ldr r1, =gUnknown_03005D10 + ldr r1, =gBattleResults ldrh r0, [r1, 0x20] strh r0, [r4, 0x2] ldrb r0, [r4, 0x5] diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index 181a89d7e..a7bb479b1 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -835,7 +835,7 @@ _080B4E98: bl GetMonData adds r1, r0, 0 adds r0, r4, 0 - bl pokemon_species_get_gender_info + bl GetGenderFromSpeciesAndPersonality lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0xFE diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index dfcda5397..0cb225ef5 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -4,5 +4,5 @@ .section script_data, "aw", %progbits .align 2 -gUnknown_082DBEF8:: @ 82DBEF8 +gBattleAI_ScriptsTable:: @ 82DBEF8 .incbin "baserom.gba", 0x2dbef8, 0x2458 diff --git a/data/data3.s b/data/data3.s index c9845a7db..da1196337 100644 --- a/data/data3.s +++ b/data/data3.s @@ -4051,1007 +4051,3 @@ gUnknown_085B0830:: @ 85B0830 gUnknown_085B0838:: @ 85B0838 .incbin "baserom.gba", 0x5b0838, 0x4 - - @ todo, label functions from battle_ai.c -sBattleAICmdTable:: @ 85B083C - .4byte 0x08131179 - .4byte 0x081311b9 - .4byte 0x081311f9 - .4byte 0x08131239 - .4byte 0x08131279 - .4byte 0x081312bd - .4byte 0x08131325 - .4byte 0x0813138d - .4byte 0x081313f5 - .4byte 0x0813145d - .4byte 0x081314d1 - .4byte 0x08131545 - .4byte 0x081315b9 - .4byte 0x0813162d - .4byte 0x0813169d - .4byte 0x0813170d - .4byte 0x08131789 - .4byte 0x08131805 - .4byte 0x08131841 - .4byte 0x0813187d - .4byte 0x081318b9 - .4byte 0x081318f5 - .4byte 0x08131949 - .4byte 0x0813199d - .4byte 0x081319f1 - .4byte 0x08131a45 - .4byte 0x08131a89 - .4byte 0x08131acd - .4byte 0x08131b35 - .4byte 0x08131ba1 - .4byte 0x08131c0d - .4byte 0x08131c7d - .4byte 0x08131ced - .4byte 0x08131d5d - .4byte 0x08131d81 - .4byte 0x08131f1d - .4byte 0x08131f49 - .4byte 0x0813214d - .4byte 0x081321a5 - .4byte 0x081321e1 - .4byte 0x0813221d - .4byte 0x08132269 - .4byte 0x081322b5 - .4byte 0x081322b9 - .4byte 0x081322bd - .4byte 0x081323b9 - .4byte 0x081323d5 - .4byte 0x08132401 - .4byte 0x08132615 - .4byte 0x08132701 - .4byte 0x081327d1 - .4byte 0x081327d5 - .4byte 0x081327d9 - .4byte 0x081328b9 - .4byte 0x08132995 - .4byte 0x08132a01 - .4byte 0x08132a4d - .4byte 0x08132a99 - .4byte 0x08132b01 - .4byte 0x08132b69 - .4byte 0x08132bd1 - .4byte 0x08132c39 - .4byte 0x08132d35 - .4byte 0x08132e19 - .4byte 0x08132f49 - .4byte 0x08133021 - .4byte 0x08133119 - .4byte 0x081331fd - .4byte 0x08133285 - .4byte 0x08133315 - .4byte 0x08133329 - .4byte 0x08133389 - .4byte 0x0813339d - .4byte 0x08133495 - .4byte 0x081334ed - .4byte 0x08133539 - .4byte 0x08133585 - .4byte 0x081335ad - .4byte 0x081335f9 - .4byte 0x08133625 - .4byte 0x08133651 - .4byte 0x0813367d - .4byte 0x081336c9 - .4byte 0x081336cd - .4byte 0x081336d1 - .4byte 0x081336d5 - .4byte 0x081336d9 - .4byte 0x081336dd - .4byte 0x081336e1 - .4byte 0x08133711 - .4byte 0x08133731 - .4byte 0x08133755 - .4byte 0x0813382d - .4byte 0x0813387d - .4byte 0x081338cd - .4byte 0x08131eb5 - .4byte 0x0813251d - .4byte 0x0813391d - .4byte 0x08133415 - -gUnknown_085B09C8:: @ 85B09C8 - .incbin "baserom.gba", 0x5b09c8, 0x1c - -gUnknown_085B09E4:: @ 85B09E4 - .incbin "baserom.gba", 0x5b09e4, 0x10 - -gUnknown_085B09F4:: @ 85B09F4 - .incbin "baserom.gba", 0x5b09f4, 0x4 - -gUnknown_085B09F8:: @ 85B09F8 - .incbin "baserom.gba", 0x5b09f8, 0x8 - -gUnknown_085B0A00:: @ 85B0A00 - .incbin "baserom.gba", 0x5b0a00, 0x2 - -gUnknown_085B0A02:: @ 85B0A02 - .incbin "baserom.gba", 0x5b0a02, 0x7e - -gUnknown_085B0A80:: @ 85B0A80 - .incbin "baserom.gba", 0x5b0a80, 0x18c - -gUnknown_085B0C0C:: @ 85B0C0C - .incbin "baserom.gba", 0x5b0c0c, 0x1f8 - -gUnknown_085B0E04:: @ 85B0E04 - .incbin "baserom.gba", 0x5b0e04, 0xfc8 - -gUnknown_085B1DCC:: @ 85B1DCC - .incbin "baserom.gba", 0x5b1dcc, 0x10 - -gUnknown_085B1DDC:: @ 85B1DDC - .incbin "baserom.gba", 0x5b1ddc, 0x8 - -gUnknown_085B1DE4:: @ 85B1DE4 - .incbin "baserom.gba", 0x5b1de4, 0x8 - -gUnknown_085B1DEC:: @ 85B1DEC - .incbin "baserom.gba", 0x5b1dec, 0x6 - -gUnknown_085B1DF2:: @ 85B1DF2 - .incbin "baserom.gba", 0x5b1df2, 0x6 - -gUnknown_085B1DF8:: @ 85B1DF8 - .incbin "baserom.gba", 0x5b1df8, 0x8 - -gUnknown_085B1E00:: @ 85B1E00 - .incbin "baserom.gba", 0x5b1e00, 0xc - -gUnknown_085B1E0C:: @ 85B1E0C - .incbin "baserom.gba", 0x5b1e0c, 0x1c - -gUnknown_085B1E28:: @ 85B1E28 - .incbin "baserom.gba", 0x5b1e28, 0xa8 - -gUnknown_085B1ED0:: @ 85B1ED0 - .incbin "baserom.gba", 0x5b1ed0, 0x8 - -gUnknown_085B1ED8:: @ 85B1ED8 - .incbin "baserom.gba", 0x5b1ed8, 0x10 - -gUnknown_085B1EE8:: @ 85B1EE8 - .incbin "baserom.gba", 0x5b1ee8, 0x10 - -gUnknown_085B1EF8:: @ 85B1EF8 - .incbin "baserom.gba", 0x5b1ef8, 0x18 - -gUnknown_085B1F10:: @ 85B1F10 - .incbin "baserom.gba", 0x5b1f10, 0x18 - -gUnknown_085B1F28:: @ 85B1F28 - .incbin "baserom.gba", 0x5b1f28, 0x18 - -gUnknown_085B1F40:: @ 85B1F40 - .incbin "baserom.gba", 0x5b1f40, 0x294 - -gUnknown_085B21D4:: @ 85B21D4 - .incbin "baserom.gba", 0x5b21d4, 0x8 - -gUnknown_085B21DC:: @ 85B21DC - .incbin "baserom.gba", 0x5b21dc, 0x18 - -gUnknown_085B21F4:: @ 85B21F4 - .incbin "baserom.gba", 0x5b21f4, 0x8 - -gUnknown_085B21FC:: @ 85B21FC - .incbin "baserom.gba", 0x5b21fc, 0xc - -gUnknown_085B2208:: @ 85B2208 - .incbin "baserom.gba", 0x5b2208, 0x10 - -gUnknown_085B2218:: @ 85B2218 - .incbin "baserom.gba", 0x5b2218, 0x38 - -gUnknown_085B2250:: @ 85B2250 - .incbin "baserom.gba", 0x5b2250, 0x18 - -gUnknown_085B2268:: @ 85B2268 - .incbin "baserom.gba", 0x5b2268, 0x38 - -gUnknown_085B22A0:: @ 85B22A0 - .incbin "baserom.gba", 0x5b22a0, 0x18 - -gUnknown_085B22B8:: @ 85B22B8 - .incbin "baserom.gba", 0x5b22b8, 0x18 - -gUnknown_085B22D0:: @ 85B22D0 - .incbin "baserom.gba", 0x5b22d0, 0x2d0 - -gUnknown_085B25A0:: @ 85B25A0 - .incbin "baserom.gba", 0x5b25a0, 0x80 - -gUnknown_085B2620:: @ 85B2620 - .incbin "baserom.gba", 0x5b2620, 0xc - -gUnknown_085B262C:: @ 85B262C - .incbin "baserom.gba", 0x5b262c, 0x3c - -gUnknown_085B2668:: @ 85B2668 - .incbin "baserom.gba", 0x5b2668, 0x30 - -gUnknown_085B2698:: @ 85B2698 - .incbin "baserom.gba", 0x5b2698, 0x3 - -gUnknown_085B269B:: @ 85B269B - .incbin "baserom.gba", 0x5b269b, 0x2 - -gUnknown_085B269D:: @ 85B269D - .incbin "baserom.gba", 0x5b269d, 0x2 - -gUnknown_085B269F:: @ 85B269F - .incbin "baserom.gba", 0x5b269f, 0x5 - -gUnknown_085B26A4:: @ 85B26A4 - .incbin "baserom.gba", 0x5b26a4, 0x4c - -gUnknown_085B26F0:: @ 85B26F0 - .incbin "baserom.gba", 0x5b26f0, 0x4 - -gUnknown_085B26F4:: @ 85B26F4 - .incbin "baserom.gba", 0x5b26f4, 0x8 - -gUnknown_085B26FC:: @ 85B26FC - .incbin "baserom.gba", 0x5b26fc, 0x8 - -gUnknown_085B2704:: @ 85B2704 - .incbin "baserom.gba", 0x5b2704, 0x18 - -gUnknown_085B271C:: @ 85B271C - .incbin "baserom.gba", 0x5b271c, 0x4 - -gUnknown_085B2720:: @ 85B2720 - .incbin "baserom.gba", 0x5b2720, 0x28 - -gUnknown_085B2748:: @ 85B2748 - .incbin "baserom.gba", 0x5b2748, 0x60 - -gUnknown_085B27A8:: @ 85B27A8 - .incbin "baserom.gba", 0x5b27a8, 0x8 - -gUnknown_085B27B0:: @ 85B27B0 - .incbin "baserom.gba", 0x5b27b0, 0x18 - -gUnknown_085B27C8:: @ 85B27C8 - .incbin "baserom.gba", 0x5b27c8, 0x88 - -gUnknown_085B2850:: @ 85B2850 - .incbin "baserom.gba", 0x5b2850, 0x20 - -gUnknown_085B2870:: @ 85B2870 - .incbin "baserom.gba", 0x5b2870, 0x20 - -gUnknown_085B2890:: @ 85B2890 - .incbin "baserom.gba", 0x5b2890, 0x10 - -gUnknown_085B28A0:: @ 85B28A0 - .incbin "baserom.gba", 0x5b28a0, 0x10 - -gUnknown_085B28B0:: @ 85B28B0 - .incbin "baserom.gba", 0x5b28b0, 0x1e0 - -gUnknown_085B2A90:: @ 85B2A90 - .incbin "baserom.gba", 0x5b2a90, 0xb4 - -gUnknown_085B2B44:: @ 85B2B44 - .incbin "baserom.gba", 0x5b2b44, 0x18 - -gUnknown_085B2B5C:: @ 85B2B5C - .incbin "baserom.gba", 0x5b2b5c, 0x4 - -gUnknown_085B2B60:: @ 85B2B60 - .incbin "baserom.gba", 0x5b2b60, 0x8 - -gUnknown_085B2B68:: @ 85B2B68 - .incbin "baserom.gba", 0x5b2b68, 0x10 - -gUnknown_085B2B78:: @ 85B2B78 - .incbin "baserom.gba", 0x5b2b78, 0x6 - -gUnknown_085B2B7E:: @ 85B2B7E - .incbin "baserom.gba", 0x5b2b7e, 0xa - -gUnknown_085B2B88:: @ 85B2B88 - .incbin "baserom.gba", 0x5b2b88, 0xc - -gUnknown_085B2B94:: @ 85B2B94 - .incbin "baserom.gba", 0x5b2b94, 0xc - -gUnknown_085B2BA0:: @ 85B2BA0 - .incbin "baserom.gba", 0x5b2ba0, 0xc - -gUnknown_085B2BAC:: @ 85B2BAC - .incbin "baserom.gba", 0x5b2bac, 0x8 - -gUnknown_085B2BB4:: @ 85B2BB4 - .incbin "baserom.gba", 0x5b2bb4, 0x40 - -gUnknown_085B2BF4:: @ 85B2BF4 - .incbin "baserom.gba", 0x5b2bf4, 0x12 - -gUnknown_085B2C06:: @ 85B2C06 - .incbin "baserom.gba", 0x5b2c06, 0x12 - -gUnknown_085B2C18:: @ 85B2C18 - .incbin "baserom.gba", 0x5b2c18, 0x9 - -gUnknown_085B2C21:: @ 85B2C21 - .incbin "baserom.gba", 0x5b2c21, 0x9 - -gUnknown_085B2C2A:: @ 85B2C2A - .incbin "baserom.gba", 0x5b2c2a, 0x26 - -gUnknown_085B2C50:: @ 85B2C50 - .incbin "baserom.gba", 0x5b2c50, 0x78 - -gUnknown_085B2CC8:: @ 85B2CC8 - .incbin "baserom.gba", 0x5b2cc8, 0x14 - -gUnknown_085B2CDC:: @ 85B2CDC - .incbin "baserom.gba", 0x5b2cdc, 0x14 - -gUnknown_085B2CF0:: @ 85B2CF0 - .incbin "baserom.gba", 0x5b2cf0, 0x340 - -gUnknown_085B3030:: @ 85B3030 - .incbin "baserom.gba", 0x5b3030, 0x10 - -gUnknown_085B3040:: @ 85B3040 - .incbin "baserom.gba", 0x5b3040, 0x64 - -gUnknown_085B30A4:: @ 85B30A4 - .incbin "baserom.gba", 0x5b30a4, 0x30 - -gUnknown_085B30D4:: @ 85B30D4 - .incbin "baserom.gba", 0x5b30d4, 0x30 - -gUnknown_085B3104:: @ 85B3104 - .incbin "baserom.gba", 0x5b3104, 0x18 - -gUnknown_085B311C:: @ 85B311C - .incbin "baserom.gba", 0x5b311c, 0x8 - -gUnknown_085B3124:: @ 85B3124 - .incbin "baserom.gba", 0x5b3124, 0x8 - -gUnknown_085B312C:: @ 85B312C - .incbin "baserom.gba", 0x5b312c, 0x16 - -gUnknown_085B3142:: @ 85B3142 - .incbin "baserom.gba", 0x5b3142, 0xc - -gUnknown_085B314E:: @ 85B314E - .incbin "baserom.gba", 0x5b314e, 0xe - -gUnknown_085B315C:: @ 85B315C - .incbin "baserom.gba", 0x5b315c, 0x14 - -gUnknown_085B3170:: @ 85B3170 - .incbin "baserom.gba", 0x5b3170, 0x2c - -gUnknown_085B319C:: @ 85B319C - .incbin "baserom.gba", 0x5b319c, 0x18 - -gUnknown_085B31B4:: @ 85B31B4 - .incbin "baserom.gba", 0x5b31b4, 0x1c - -gUnknown_085B31D0:: @ 85B31D0 - .incbin "baserom.gba", 0x5b31d0, 0x28 - -gUnknown_085B31F8:: @ 85B31F8 - .incbin "baserom.gba", 0x5b31f8, 0x14 - -gUnknown_085B320C:: @ 85B320C - .incbin "baserom.gba", 0x5b320c, 0x14 - -gUnknown_085B3220:: @ 85B3220 - .incbin "baserom.gba", 0x5b3220, 0x8 - -gUnknown_085B3228:: @ 85B3228 - .incbin "baserom.gba", 0x5b3228, 0x2c - -gUnknown_085B3254:: @ 85B3254 - .incbin "baserom.gba", 0x5b3254, 0x2c - -gUnknown_085B3280:: @ 85B3280 - .incbin "baserom.gba", 0x5b3280, 0x160 - -gUnknown_085B33E0:: @ 85B33E0 - .incbin "baserom.gba", 0x5b33e0, 0x16 - -gUnknown_085B33F6:: @ 85B33F6 - .incbin "baserom.gba", 0x5b33f6, 0xa - -gUnknown_085B3400:: @ 85B3400 - .incbin "baserom.gba", 0x5b3400, 0x10 - -gUnknown_085B3410:: @ 85B3410 - .incbin "baserom.gba", 0x5b3410, 0x10 - -gUnknown_085B3420:: @ 85B3420 - .incbin "baserom.gba", 0x5b3420, 0x24 - -gUnknown_085B3444:: @ 85B3444 - .incbin "baserom.gba", 0x5b3444, 0x2c - -gUnknown_085B3470:: @ 85B3470 - .incbin "baserom.gba", 0x5b3470, 0x4 - -gUnknown_085B3474:: @ 85B3474 - .incbin "baserom.gba", 0x5b3474, 0x8 - -gUnknown_085B347C:: @ 85B347C - .incbin "baserom.gba", 0x5b347c, 0x8 - -gUnknown_085B3484:: @ 85B3484 - .incbin "baserom.gba", 0x5b3484, 0xc0 - -gUnknown_085B3544:: @ 85B3544 - .incbin "baserom.gba", 0x5b3544, 0x20 - -gUnknown_085B3564:: @ 85B3564 - .incbin "baserom.gba", 0x5b3564, 0x800 - -gUnknown_085B3D64:: @ 85B3D64 - .incbin "baserom.gba", 0x5b3d64, 0x8 - -gUnknown_085B3D6C:: @ 85B3D6C - .incbin "baserom.gba", 0x5b3d6c, 0x10 - -gUnknown_085B3D7C:: @ 85B3D7C - .incbin "baserom.gba", 0x5b3d7c, 0x8 - -gUnknown_085B3D84:: @ 85B3D84 - .incbin "baserom.gba", 0x5b3d84, 0x8 - -gUnknown_085B3D8C:: @ 85B3D8C - .incbin "baserom.gba", 0x5b3d8c, 0x8 - -gUnknown_085B3D94:: @ 85B3D94 - .incbin "baserom.gba", 0x5b3d94, 0x20 - -gUnknown_085B3DB4:: @ 85B3DB4 - .incbin "baserom.gba", 0x5b3db4, 0x134 - -gUnknown_085B3EE8:: @ 85B3EE8 - .incbin "baserom.gba", 0x5b3ee8, 0x2 - -gUnknown_085B3EEA:: @ 85B3EEA - .incbin "baserom.gba", 0x5b3eea, 0x6 - -gUnknown_085B3EF0:: @ 85B3EF0 - .incbin "baserom.gba", 0x5b3ef0, 0xc - -gUnknown_085B3EFC:: @ 85B3EFC - .incbin "baserom.gba", 0x5b3efc, 0x1c - -gUnknown_085B3F18:: @ 85B3F18 - .incbin "baserom.gba", 0x5b3f18, 0x100 - -gUnknown_085B4018:: @ 85B4018 - .incbin "baserom.gba", 0x5b4018, 0x4 - -gUnknown_085B401C:: @ 85B401C - .incbin "baserom.gba", 0x5b401c, 0x8 - -gUnknown_085B4024:: @ 85B4024 - .incbin "baserom.gba", 0x5b4024, 0x10 - -gUnknown_085B4034:: @ 85B4034 - .incbin "baserom.gba", 0x5b4034, 0xb8 - -gUnknown_085B40EC:: @ 85B40EC - .incbin "baserom.gba", 0x5b40ec, 0x10 - -gUnknown_085B40FC:: @ 85B40FC - .incbin "baserom.gba", 0x5b40fc, 0x38 - -gUnknown_085B4134:: @ 85B4134 - .incbin "baserom.gba", 0x5b4134, 0x6f8 - -gUnknown_085B482C:: @ 85B482C - .incbin "baserom.gba", 0x5b482c, 0x4e4 - -gUnknown_085B4D10:: @ 85B4D10 - .incbin "baserom.gba", 0x5b4d10, 0x4d4 - -gUnknown_085B51E4:: @ 85B51E4 - .incbin "baserom.gba", 0x5b51e4, 0x6a0 - -gUnknown_085B5884:: @ 85B5884 - .incbin "baserom.gba", 0x5b5884, 0x40 - -gUnknown_085B58C4:: @ 85B58C4 - .incbin "baserom.gba", 0x5b58c4, 0x5 - -gUnknown_085B58C9:: @ 85B58C9 - .incbin "baserom.gba", 0x5b58c9, 0x10 - -gUnknown_085B58D9:: @ 85B58D9 - .incbin "baserom.gba", 0x5b58d9, 0x323 - -gUnknown_085B5BFC:: @ 85B5BFC - .incbin "baserom.gba", 0x5b5bfc, 0x200 - -gUnknown_085B5DFC:: @ 85B5DFC - .incbin "baserom.gba", 0x5b5dfc, 0x1a4 - -gUnknown_085B5FA0:: @ 85B5FA0 - .incbin "baserom.gba", 0x5b5fa0, 0x1a0 - -gUnknown_085B6140:: @ 85B6140 - .incbin "baserom.gba", 0x5b6140, 0xc - -gUnknown_085B614C:: @ 85B614C - .incbin "baserom.gba", 0x5b614c, 0x8 - -gUnknown_085B6154:: @ 85B6154 - .incbin "baserom.gba", 0x5b6154, 0xc - -gUnknown_085B6160:: @ 85B6160 - .incbin "baserom.gba", 0x5b6160, 0x184 - -gUnknown_085B62E4:: @ 85B62E4 - .incbin "baserom.gba", 0x5b62e4, 0x4 - -gUnknown_085B62E8:: @ 85B62E8 - .incbin "baserom.gba", 0x5b62e8, 0x5c - -gUnknown_085B6344:: @ 85B6344 - .incbin "baserom.gba", 0x5b6344, 0x4 - -gUnknown_085B6348:: @ 85B6348 - .incbin "baserom.gba", 0x5b6348, 0x40 - -gUnknown_085B6388:: @ 85B6388 - .incbin "baserom.gba", 0x5b6388, 0x68 - -gUnknown_085B63F0:: @ 85B63F0 - .incbin "baserom.gba", 0x5b63f0, 0x18 - -gUnknown_085B6408:: @ 85B6408 - .incbin "baserom.gba", 0x5b6408, 0x8 - -gUnknown_085B6410:: @ 85B6410 - .incbin "baserom.gba", 0x5b6410, 0x8 - -gUnknown_085B6418:: @ 85B6418 - .incbin "baserom.gba", 0x5b6418, 0x6 - -gUnknown_085B641E:: @ 85B641E - .incbin "baserom.gba", 0x5b641e, 0x4 - -gUnknown_085B6422:: @ 85B6422 - .incbin "baserom.gba", 0x5b6422, 0xa - -gUnknown_085B642C:: @ 85B642C - .incbin "baserom.gba", 0x5b642c, 0x10 - -gUnknown_085B643C:: @ 85B643C - .incbin "baserom.gba", 0x5b643c, 0xc - -gUnknown_085B6448:: @ 85B6448 - .incbin "baserom.gba", 0x5b6448, 0xf3c - -gUnknown_085B7384:: @ 85B7384 - .incbin "baserom.gba", 0x5b7384, 0x98 - -gUnknown_085B741C:: @ 85B741C - .incbin "baserom.gba", 0x5b741c, 0x6c - -gUnknown_085B7488:: @ 85B7488 - .incbin "baserom.gba", 0x5b7488, 0x8 - -gUnknown_085B7490:: @ 85B7490 - .incbin "baserom.gba", 0x5b7490, 0x78 - -gUnknown_085B7508:: @ 85B7508 - .incbin "baserom.gba", 0x5b7508, 0x60 - -gUnknown_085B7568:: @ 85B7568 - .incbin "baserom.gba", 0x5b7568, 0x48 - -gUnknown_085B75B0:: @ 85B75B0 - .incbin "baserom.gba", 0x5b75b0, 0x60 - -gUnknown_085B7610:: @ 85B7610 - .incbin "baserom.gba", 0x5b7610, 0x140 - -gUnknown_085B7750:: @ 85B7750 - .incbin "baserom.gba", 0x5b7750, 0x94 - -gUnknown_085B77E4:: @ 85B77E4 - .incbin "baserom.gba", 0x5b77e4, 0x18 - -gUnknown_085B77FC:: @ 85B77FC - .incbin "baserom.gba", 0x5b77fc, 0x18 - -gUnknown_085B7814:: @ 85B7814 - .incbin "baserom.gba", 0x5b7814, 0x18 - -gUnknown_085B782C:: @ 85B782C - .incbin "baserom.gba", 0x5b782c, 0x18 - -gUnknown_085B7844:: @ 85B7844 - .incbin "baserom.gba", 0x5b7844, 0x20 - -gUnknown_085B7864:: @ 85B7864 - .incbin "baserom.gba", 0x5b7864, 0xc4 - -gUnknown_085B7928:: @ 85B7928 - .incbin "baserom.gba", 0x5b7928, 0x20 - -gUnknown_085B7948:: @ 85B7948 - .incbin "baserom.gba", 0x5b7948, 0x8 - -gUnknown_085B7950:: @ 85B7950 - .incbin "baserom.gba", 0x5b7950, 0x28 - -gUnknown_085B7978:: @ 85B7978 - .incbin "baserom.gba", 0x5b7978, 0x80 - -gUnknown_085B79F8:: @ 85B79F8 - .incbin "baserom.gba", 0x5b79f8, 0x18 - -gUnknown_085B7A10:: @ 85B7A10 - .incbin "baserom.gba", 0x5b7a10, 0x30 - -gUnknown_085B7A40:: @ 85B7A40 - .incbin "baserom.gba", 0x5b7a40, 0x7c - -gUnknown_085B7ABC:: @ 85B7ABC - .incbin "baserom.gba", 0x5b7abc, 0x30 - -gUnknown_085B7AEC:: @ 85B7AEC - .incbin "baserom.gba", 0x5b7aec, 0x18 - -gUnknown_085B7B04:: @ 85B7B04 - .incbin "baserom.gba", 0x5b7b04, 0x6 - -gUnknown_085B7B0A:: @ 85B7B0A - .incbin "baserom.gba", 0x5b7b0a, 0x8 - -gUnknown_085B7B12:: @ 85B7B12 - .incbin "baserom.gba", 0x5b7b12, 0x8 - -gUnknown_085B7B1A:: @ 85B7B1A - .incbin "baserom.gba", 0x5b7b1a, 0x14 - -gUnknown_085B7B2E:: @ 85B7B2E - .incbin "baserom.gba", 0x5b7b2e, 0x18 - -gUnknown_085B7B46:: @ 85B7B46 - .incbin "baserom.gba", 0x5b7b46, 0x2 - -gUnknown_085B7B48:: @ 85B7B48 - .incbin "baserom.gba", 0x5b7b48, 0x8d0 - -gUnknown_085B8418:: @ 85B8418 - .incbin "baserom.gba", 0x5b8418, 0x20 - -gUnknown_085B8438:: @ 85B8438 - .incbin "baserom.gba", 0x5b8438, 0x338 - -gUnknown_085B8770:: @ 85B8770 - .incbin "baserom.gba", 0x5b8770, 0x480 - -gUnknown_085B8BF0:: @ 85B8BF0 - .incbin "baserom.gba", 0x5b8bf0, 0x20 - -gUnknown_085B8C10:: @ 85B8C10 - .incbin "baserom.gba", 0x5b8c10, 0x20 - -gUnknown_085B8C30:: @ 85B8C30 - .incbin "baserom.gba", 0x5b8c30, 0x2 - -gUnknown_085B8C32:: @ 85B8C32 - .incbin "baserom.gba", 0x5b8c32, 0x36 - -gUnknown_085B8C68:: @ 85B8C68 - .incbin "baserom.gba", 0x5b8c68, 0x18 - -gUnknown_085B8C80:: @ 85B8C80 - .incbin "baserom.gba", 0x5b8c80, 0x10 - -gUnknown_085B8C90:: @ 85B8C90 - .incbin "baserom.gba", 0x5b8c90, 0x528 - -gUnknown_085B91B8:: @ 85B91B8 - .incbin "baserom.gba", 0x5b91b8, 0x178 - -gUnknown_085B9330:: @ 85B9330 - .incbin "baserom.gba", 0x5b9330, 0x580 - -gUnknown_085B98B0:: @ 85B98B0 - .incbin "baserom.gba", 0x5b98b0, 0x240 - -gUnknown_085B9AF0:: @ 85B9AF0 - .incbin "baserom.gba", 0x5b9af0, 0x11e0 - -gUnknown_085BACD0:: @ 85BACD0 - .incbin "baserom.gba", 0x5bacd0, 0x1e0 - -gUnknown_085BAEB0:: @ 85BAEB0 - .incbin "baserom.gba", 0x5baeb0, 0x20 - -gUnknown_085BAED0:: @ 85BAED0 - .incbin "baserom.gba", 0x5baed0, 0x378 - -gUnknown_085BB248:: @ 85BB248 - .incbin "baserom.gba", 0x5bb248, 0x25c - -gUnknown_085BB4A4:: @ 85BB4A4 - .incbin "baserom.gba", 0x5bb4a4, 0x48c - -gUnknown_085BB930:: @ 85BB930 - .incbin "baserom.gba", 0x5bb930, 0x2e4 - -gUnknown_085BBC14:: @ 85BBC14 - .incbin "baserom.gba", 0x5bbc14, 0x6a0 - -gUnknown_085BC2B4:: @ 85BC2B4 - .incbin "baserom.gba", 0x5bc2b4, 0x20 - -gUnknown_085BC2D4:: @ 85BC2D4 - .incbin "baserom.gba", 0x5bc2d4, 0x20 - -gUnknown_085BC2F4:: @ 85BC2F4 - .incbin "baserom.gba", 0x5bc2f4, 0x20 - -gUnknown_085BC314:: @ 85BC314 - .incbin "baserom.gba", 0x5bc314, 0x800 - -gUnknown_085BCB14:: @ 85BCB14 - .incbin "baserom.gba", 0x5bcb14, 0x800 - -gUnknown_085BD314:: @ 85BD314 - .incbin "baserom.gba", 0x5bd314, 0x820 - -gUnknown_085BDB34:: @ 85BDB34 - .incbin "baserom.gba", 0x5bdb34, 0x6b4 - -gUnknown_085BE1E8:: @ 85BE1E8 - .incbin "baserom.gba", 0x5be1e8, 0x334 - -gUnknown_085BE51C:: @ 85BE51C - .incbin "baserom.gba", 0x5be51c, 0x56c - -gUnknown_085BEA88:: @ 85BEA88 - .incbin "baserom.gba", 0x5bea88, 0x318 - -gUnknown_085BEDA0:: @ 85BEDA0 - .incbin "baserom.gba", 0x5beda0, 0x140 - -gUnknown_085BEEE0:: @ 85BEEE0 - .incbin "baserom.gba", 0x5beee0, 0x1c0 - -gUnknown_085BF0A0:: @ 85BF0A0 - .incbin "baserom.gba", 0x5bf0a0, 0x200 - -gUnknown_085BF2A0:: @ 85BF2A0 - .incbin "baserom.gba", 0x5bf2a0, 0x200 - -gUnknown_085BF4A0:: @ 85BF4A0 - .incbin "baserom.gba", 0x5bf4a0, 0xa0 - -gUnknown_085BF540:: @ 85BF540 - .incbin "baserom.gba", 0x5bf540, 0x160 - -gUnknown_085BF6A0:: @ 85BF6A0 - .incbin "baserom.gba", 0x5bf6a0, 0x7540 - -gUnknown_085C6BE0:: @ 85C6BE0 - .incbin "baserom.gba", 0x5c6be0, 0x1000 - -gUnknown_085C7BE0:: @ 85C7BE0 - .incbin "baserom.gba", 0x5c7be0, 0x20 - -gUnknown_085C7C00:: @ 85C7C00 - .incbin "baserom.gba", 0x5c7c00, 0x68c - -gUnknown_085C828C:: @ 85C828C - .incbin "baserom.gba", 0x5c828c, 0x2ec - -gUnknown_085C8578:: @ 85C8578 - .incbin "baserom.gba", 0x5c8578, 0x20 - -gUnknown_085C8598:: @ 85C8598 - .incbin "baserom.gba", 0x5c8598, 0x15c - -gUnknown_085C86F4:: @ 85C86F4 - .incbin "baserom.gba", 0x5c86f4, 0x100 - -gUnknown_085C87F4:: @ 85C87F4 - .incbin "baserom.gba", 0x5c87f4, 0xb0 - -gUnknown_085C88A4:: @ 85C88A4 - .incbin "baserom.gba", 0x5c88a4, 0x84 - -gUnknown_085C8928:: @ 85C8928 - .incbin "baserom.gba", 0x5c8928, 0x20 - -gUnknown_085C8948:: @ 85C8948 - .incbin "baserom.gba", 0x5c8948, 0xa8 - -gUnknown_085C89F0:: @ 85C89F0 - .incbin "baserom.gba", 0x5c89f0, 0xa8 - -gUnknown_085C8A98:: @ 85C8A98 - .incbin "baserom.gba", 0x5c8a98, 0x10 - -gUnknown_085C8AA8:: @ 85C8AA8 - .incbin "baserom.gba", 0x5c8aa8, 0xc - -gUnknown_085C8AB4:: @ 85C8AB4 - .incbin "baserom.gba", 0x5c8ab4, 0x8 - -gUnknown_085C8ABC:: @ 85C8ABC - .incbin "baserom.gba", 0x5c8abc, 0x8 - -gUnknown_085C8AC4:: @ 85C8AC4 - .incbin "baserom.gba", 0x5c8ac4, 0x1c - -gUnknown_085C8AE0:: @ 85C8AE0 - .incbin "baserom.gba", 0x5c8ae0, 0x1c - -gUnknown_085C8AFC:: @ 85C8AFC - .incbin "baserom.gba", 0x5c8afc, 0x18 - -gUnknown_085C8B14:: @ 85C8B14 - .incbin "baserom.gba", 0x5c8b14, 0x18 - -gUnknown_085C8B2C:: @ 85C8B2C - .incbin "baserom.gba", 0x5c8b2c, 0x18 - -gUnknown_085C8B44:: @ 85C8B44 - .incbin "baserom.gba", 0x5c8b44, 0x18 - -gUnknown_085C8B5C:: @ 85C8B5C - .incbin "baserom.gba", 0x5c8b5c, 0x20 - -gUnknown_085C8B7C:: @ 85C8B7C - .incbin "baserom.gba", 0x5c8b7c, 0xc - -gUnknown_085C8B88:: @ 85C8B88 - .incbin "baserom.gba", 0x5c8b88, 0x4 - -gUnknown_085C8B8C:: @ 85C8B8C - .incbin "baserom.gba", 0x5c8b8c, 0xa - -gUnknown_085C8B96:: @ 85C8B96 - .incbin "baserom.gba", 0x5c8b96, 0x6 - -gUnknown_085C8B9C:: @ 85C8B9C - .incbin "baserom.gba", 0x5c8b9c, 0x1c - -gUnknown_085C8BB8:: @ 85C8BB8 - .incbin "baserom.gba", 0x5c8bb8, 0x8 - -gUnknown_085C8BC0:: @ 85C8BC0 - .incbin "baserom.gba", 0x5c8bc0, 0xc - -gUnknown_085C8BCC:: @ 85C8BCC - .incbin "baserom.gba", 0x5c8bcc, 0x28 - -gUnknown_085C8BF4:: @ 85C8BF4 - .incbin "baserom.gba", 0x5c8bf4, 0x6 - -gUnknown_085C8BFA:: @ 85C8BFA - .incbin "baserom.gba", 0x5c8bfa, 0x14 - -gUnknown_085C8C0E:: @ 85C8C0E - .incbin "baserom.gba", 0x5c8c0e, 0x16 - -gUnknown_085C8C24:: @ 85C8C24 - .incbin "baserom.gba", 0x5c8c24, 0x1c - -gUnknown_085C8C40:: @ 85C8C40 - .incbin "baserom.gba", 0x5c8c40, 0x4 - -gUnknown_085C8C44:: @ 85C8C44 - .incbin "baserom.gba", 0x5c8c44, 0x4 - -gUnknown_085C8C48:: @ 85C8C48 - .incbin "baserom.gba", 0x5c8c48, 0xc - -gUnknown_085C8C54:: @ 85C8C54 - .incbin "baserom.gba", 0x5c8c54, 0x10 - -gUnknown_085C8C64:: @ 85C8C64 - .incbin "baserom.gba", 0x5c8c64, 0x2 - -gUnknown_085C8C66:: @ 85C8C66 - .incbin "baserom.gba", 0x5c8c66, 0x6 - -gUnknown_085C8C6C:: @ 85C8C6C - .incbin "baserom.gba", 0x5c8c6c, 0xc - -gUnknown_085C8C78:: @ 85C8C78 - .incbin "baserom.gba", 0x5c8c78, 0x8 - -gUnknown_085C8C80:: @ 85C8C80 - .incbin "baserom.gba", 0x5c8c80, 0x4 - -gUnknown_085C8C84:: @ 85C8C84 - .incbin "baserom.gba", 0x5c8c84, 0xb4 - -gUnknown_085C8D38:: @ 85C8D38 - .incbin "baserom.gba", 0x5c8d38, 0x8 - -gUnknown_085C8D40:: @ 85C8D40 - .incbin "baserom.gba", 0x5c8d40, 0x20 - -gUnknown_085C8D60:: @ 85C8D60 - .incbin "baserom.gba", 0x5c8d60, 0x2c - -gUnknown_085C8D8C:: @ 85C8D8C - .incbin "baserom.gba", 0x5c8d8c, 0x14 - -gUnknown_085C8DA0:: @ 85C8DA0 - .incbin "baserom.gba", 0x5c8da0, 0x10 - -gUnknown_085C8DB0:: @ 85C8DB0 - .incbin "baserom.gba", 0x5c8db0, 0xc - -gUnknown_085C8DBC:: @ 85C8DBC - .incbin "baserom.gba", 0x5c8dbc, 0x14 - -gUnknown_085C8DD0:: @ 85C8DD0 - .incbin "baserom.gba", 0x5c8dd0, 0x46 - -gUnknown_085C8E16:: @ 85C8E16 - .incbin "baserom.gba", 0x5c8e16, 0xe - -gUnknown_085C8E24:: @ 85C8E24 - .incbin "baserom.gba", 0x5c8e24, 0x44 - -gUnknown_085C8E68:: @ 85C8E68 - .incbin "baserom.gba", 0x5c8e68, 0x6c - - .align 2 -gFieldEffectObjectPalette10:: @ 85C8ED4 - .incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal" - - .align 2 -gFieldEffectObjectPaletteInfo10:: @ 85C8EF4 - obj_pal gFieldEffectObjectPalette10, 0x1009 - - .incbin "baserom.gba", 0x5c8efc, 0xe0 - -gUnknown_085C8FDC:: @ 85C8FDC - .incbin "baserom.gba", 0x5c8fdc, 0x14 - -gUnknown_085C8FF0:: @ 85C8FF0 - .incbin "baserom.gba", 0x5c8ff0, 0x30 - -gUnknown_085C9020:: @ 85C9020 - .incbin "baserom.gba", 0x5c9020, 0x4b0 - -gUnknown_085C94D0:: @ 85C94D0 - .incbin "baserom.gba", 0x5c94d0, 0x500 - -gUnknown_085C99D0:: @ 85C99D0 - .incbin "baserom.gba", 0x5c99d0, 0x18 - -gUnknown_085C99E8:: @ 85C99E8 - .incbin "baserom.gba", 0x5c99e8, 0x10 - -gUnknown_085C99F8:: @ 85C99F8 - .incbin "baserom.gba", 0x5c99f8, 0x10 - -gUnknown_085C9A08:: @ 85C9A08 - .incbin "baserom.gba", 0x5c9a08, 0x14 - -gUnknown_085C9A1C:: @ 85C9A1C - .incbin "baserom.gba", 0x5c9a1c, 0x14 - -gUnknown_085C9A30:: @ 85C9A30 - .incbin "baserom.gba", 0x5c9a30, 0x23 - -gUnknown_085C9A53:: @ 85C9A53 - .incbin "baserom.gba", 0x5c9a53, 0x41 - diff --git a/data/data4.s b/data/data4.s new file mode 100644 index 000000000..1e1448c14 --- /dev/null +++ b/data/data4.s @@ -0,0 +1,905 @@ +@ the fourth big chunk of data + + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_085B09E4:: @ 85B09E4 + .incbin "baserom.gba", 0x5b09e4, 0x10 + +gUnknown_085B09F4:: @ 85B09F4 + .incbin "baserom.gba", 0x5b09f4, 0x4 + +gUnknown_085B09F8:: @ 85B09F8 + .incbin "baserom.gba", 0x5b09f8, 0x8 + +gUnknown_085B0A00:: @ 85B0A00 + .incbin "baserom.gba", 0x5b0a00, 0x2 + +gUnknown_085B0A02:: @ 85B0A02 + .incbin "baserom.gba", 0x5b0a02, 0x7e + +gUnknown_085B0A80:: @ 85B0A80 + .incbin "baserom.gba", 0x5b0a80, 0x18c + +gUnknown_085B0C0C:: @ 85B0C0C + .incbin "baserom.gba", 0x5b0c0c, 0x1f8 + +gUnknown_085B0E04:: @ 85B0E04 + .incbin "baserom.gba", 0x5b0e04, 0xfc8 + +gUnknown_085B1DCC:: @ 85B1DCC + .incbin "baserom.gba", 0x5b1dcc, 0x10 + +gUnknown_085B1DDC:: @ 85B1DDC + .incbin "baserom.gba", 0x5b1ddc, 0x8 + +gUnknown_085B1DE4:: @ 85B1DE4 + .incbin "baserom.gba", 0x5b1de4, 0x8 + +gUnknown_085B1DEC:: @ 85B1DEC + .incbin "baserom.gba", 0x5b1dec, 0x6 + +gUnknown_085B1DF2:: @ 85B1DF2 + .incbin "baserom.gba", 0x5b1df2, 0x6 + +gUnknown_085B1DF8:: @ 85B1DF8 + .incbin "baserom.gba", 0x5b1df8, 0x8 + +gUnknown_085B1E00:: @ 85B1E00 + .incbin "baserom.gba", 0x5b1e00, 0xc + +gUnknown_085B1E0C:: @ 85B1E0C + .incbin "baserom.gba", 0x5b1e0c, 0x1c + +gUnknown_085B1E28:: @ 85B1E28 + .incbin "baserom.gba", 0x5b1e28, 0xa8 + +gUnknown_085B1ED0:: @ 85B1ED0 + .incbin "baserom.gba", 0x5b1ed0, 0x8 + +gUnknown_085B1ED8:: @ 85B1ED8 + .incbin "baserom.gba", 0x5b1ed8, 0x10 + +gUnknown_085B1EE8:: @ 85B1EE8 + .incbin "baserom.gba", 0x5b1ee8, 0x10 + +gUnknown_085B1EF8:: @ 85B1EF8 + .incbin "baserom.gba", 0x5b1ef8, 0x18 + +gUnknown_085B1F10:: @ 85B1F10 + .incbin "baserom.gba", 0x5b1f10, 0x18 + +gUnknown_085B1F28:: @ 85B1F28 + .incbin "baserom.gba", 0x5b1f28, 0x18 + +gUnknown_085B1F40:: @ 85B1F40 + .incbin "baserom.gba", 0x5b1f40, 0x294 + +gUnknown_085B21D4:: @ 85B21D4 + .incbin "baserom.gba", 0x5b21d4, 0x8 + +gUnknown_085B21DC:: @ 85B21DC + .incbin "baserom.gba", 0x5b21dc, 0x18 + +gUnknown_085B21F4:: @ 85B21F4 + .incbin "baserom.gba", 0x5b21f4, 0x8 + +gUnknown_085B21FC:: @ 85B21FC + .incbin "baserom.gba", 0x5b21fc, 0xc + +gUnknown_085B2208:: @ 85B2208 + .incbin "baserom.gba", 0x5b2208, 0x10 + +gUnknown_085B2218:: @ 85B2218 + .incbin "baserom.gba", 0x5b2218, 0x38 + +gUnknown_085B2250:: @ 85B2250 + .incbin "baserom.gba", 0x5b2250, 0x18 + +gUnknown_085B2268:: @ 85B2268 + .incbin "baserom.gba", 0x5b2268, 0x38 + +gUnknown_085B22A0:: @ 85B22A0 + .incbin "baserom.gba", 0x5b22a0, 0x18 + +gUnknown_085B22B8:: @ 85B22B8 + .incbin "baserom.gba", 0x5b22b8, 0x18 + +gUnknown_085B22D0:: @ 85B22D0 + .incbin "baserom.gba", 0x5b22d0, 0x2d0 + +gUnknown_085B25A0:: @ 85B25A0 + .incbin "baserom.gba", 0x5b25a0, 0x80 + +gUnknown_085B2620:: @ 85B2620 + .incbin "baserom.gba", 0x5b2620, 0xc + +gUnknown_085B262C:: @ 85B262C + .incbin "baserom.gba", 0x5b262c, 0x3c + +gUnknown_085B2668:: @ 85B2668 + .incbin "baserom.gba", 0x5b2668, 0x30 + +gUnknown_085B2698:: @ 85B2698 + .incbin "baserom.gba", 0x5b2698, 0x3 + +gUnknown_085B269B:: @ 85B269B + .incbin "baserom.gba", 0x5b269b, 0x2 + +gUnknown_085B269D:: @ 85B269D + .incbin "baserom.gba", 0x5b269d, 0x2 + +gUnknown_085B269F:: @ 85B269F + .incbin "baserom.gba", 0x5b269f, 0x5 + +gUnknown_085B26A4:: @ 85B26A4 + .incbin "baserom.gba", 0x5b26a4, 0x4c + +gUnknown_085B26F0:: @ 85B26F0 + .incbin "baserom.gba", 0x5b26f0, 0x4 + +gUnknown_085B26F4:: @ 85B26F4 + .incbin "baserom.gba", 0x5b26f4, 0x8 + +gUnknown_085B26FC:: @ 85B26FC + .incbin "baserom.gba", 0x5b26fc, 0x8 + +gUnknown_085B2704:: @ 85B2704 + .incbin "baserom.gba", 0x5b2704, 0x18 + +gUnknown_085B271C:: @ 85B271C + .incbin "baserom.gba", 0x5b271c, 0x4 + +gUnknown_085B2720:: @ 85B2720 + .incbin "baserom.gba", 0x5b2720, 0x28 + +gUnknown_085B2748:: @ 85B2748 + .incbin "baserom.gba", 0x5b2748, 0x60 + +gUnknown_085B27A8:: @ 85B27A8 + .incbin "baserom.gba", 0x5b27a8, 0x8 + +gUnknown_085B27B0:: @ 85B27B0 + .incbin "baserom.gba", 0x5b27b0, 0x18 + +gUnknown_085B27C8:: @ 85B27C8 + .incbin "baserom.gba", 0x5b27c8, 0x88 + +gUnknown_085B2850:: @ 85B2850 + .incbin "baserom.gba", 0x5b2850, 0x20 + +gUnknown_085B2870:: @ 85B2870 + .incbin "baserom.gba", 0x5b2870, 0x20 + +gUnknown_085B2890:: @ 85B2890 + .incbin "baserom.gba", 0x5b2890, 0x10 + +gUnknown_085B28A0:: @ 85B28A0 + .incbin "baserom.gba", 0x5b28a0, 0x10 + +gUnknown_085B28B0:: @ 85B28B0 + .incbin "baserom.gba", 0x5b28b0, 0x1e0 + +gUnknown_085B2A90:: @ 85B2A90 + .incbin "baserom.gba", 0x5b2a90, 0xb4 + +gUnknown_085B2B44:: @ 85B2B44 + .incbin "baserom.gba", 0x5b2b44, 0x18 + +gUnknown_085B2B5C:: @ 85B2B5C + .incbin "baserom.gba", 0x5b2b5c, 0x4 + +gUnknown_085B2B60:: @ 85B2B60 + .incbin "baserom.gba", 0x5b2b60, 0x8 + +gUnknown_085B2B68:: @ 85B2B68 + .incbin "baserom.gba", 0x5b2b68, 0x10 + +gUnknown_085B2B78:: @ 85B2B78 + .incbin "baserom.gba", 0x5b2b78, 0x6 + +gUnknown_085B2B7E:: @ 85B2B7E + .incbin "baserom.gba", 0x5b2b7e, 0xa + +gUnknown_085B2B88:: @ 85B2B88 + .incbin "baserom.gba", 0x5b2b88, 0xc + +gUnknown_085B2B94:: @ 85B2B94 + .incbin "baserom.gba", 0x5b2b94, 0xc + +gUnknown_085B2BA0:: @ 85B2BA0 + .incbin "baserom.gba", 0x5b2ba0, 0xc + +gUnknown_085B2BAC:: @ 85B2BAC + .incbin "baserom.gba", 0x5b2bac, 0x8 + +gUnknown_085B2BB4:: @ 85B2BB4 + .incbin "baserom.gba", 0x5b2bb4, 0x40 + +gUnknown_085B2BF4:: @ 85B2BF4 + .incbin "baserom.gba", 0x5b2bf4, 0x12 + +gUnknown_085B2C06:: @ 85B2C06 + .incbin "baserom.gba", 0x5b2c06, 0x12 + +gUnknown_085B2C18:: @ 85B2C18 + .incbin "baserom.gba", 0x5b2c18, 0x9 + +gUnknown_085B2C21:: @ 85B2C21 + .incbin "baserom.gba", 0x5b2c21, 0x9 + +gUnknown_085B2C2A:: @ 85B2C2A + .incbin "baserom.gba", 0x5b2c2a, 0x26 + +gUnknown_085B2C50:: @ 85B2C50 + .incbin "baserom.gba", 0x5b2c50, 0x78 + +gUnknown_085B2CC8:: @ 85B2CC8 + .incbin "baserom.gba", 0x5b2cc8, 0x14 + +gUnknown_085B2CDC:: @ 85B2CDC + .incbin "baserom.gba", 0x5b2cdc, 0x14 + +gUnknown_085B2CF0:: @ 85B2CF0 + .incbin "baserom.gba", 0x5b2cf0, 0x340 + +gUnknown_085B3030:: @ 85B3030 + .incbin "baserom.gba", 0x5b3030, 0x10 + +gUnknown_085B3040:: @ 85B3040 + .incbin "baserom.gba", 0x5b3040, 0x64 + +gUnknown_085B30A4:: @ 85B30A4 + .incbin "baserom.gba", 0x5b30a4, 0x30 + +gUnknown_085B30D4:: @ 85B30D4 + .incbin "baserom.gba", 0x5b30d4, 0x30 + +gUnknown_085B3104:: @ 85B3104 + .incbin "baserom.gba", 0x5b3104, 0x18 + +gUnknown_085B311C:: @ 85B311C + .incbin "baserom.gba", 0x5b311c, 0x8 + +gUnknown_085B3124:: @ 85B3124 + .incbin "baserom.gba", 0x5b3124, 0x8 + +gUnknown_085B312C:: @ 85B312C + .incbin "baserom.gba", 0x5b312c, 0x16 + +gUnknown_085B3142:: @ 85B3142 + .incbin "baserom.gba", 0x5b3142, 0xc + +gUnknown_085B314E:: @ 85B314E + .incbin "baserom.gba", 0x5b314e, 0xe + +gUnknown_085B315C:: @ 85B315C + .incbin "baserom.gba", 0x5b315c, 0x14 + +gUnknown_085B3170:: @ 85B3170 + .incbin "baserom.gba", 0x5b3170, 0x2c + +gUnknown_085B319C:: @ 85B319C + .incbin "baserom.gba", 0x5b319c, 0x18 + +gUnknown_085B31B4:: @ 85B31B4 + .incbin "baserom.gba", 0x5b31b4, 0x1c + +gUnknown_085B31D0:: @ 85B31D0 + .incbin "baserom.gba", 0x5b31d0, 0x28 + +gUnknown_085B31F8:: @ 85B31F8 + .incbin "baserom.gba", 0x5b31f8, 0x14 + +gUnknown_085B320C:: @ 85B320C + .incbin "baserom.gba", 0x5b320c, 0x14 + +gUnknown_085B3220:: @ 85B3220 + .incbin "baserom.gba", 0x5b3220, 0x8 + +gUnknown_085B3228:: @ 85B3228 + .incbin "baserom.gba", 0x5b3228, 0x2c + +gUnknown_085B3254:: @ 85B3254 + .incbin "baserom.gba", 0x5b3254, 0x2c + +gUnknown_085B3280:: @ 85B3280 + .incbin "baserom.gba", 0x5b3280, 0x160 + +gUnknown_085B33E0:: @ 85B33E0 + .incbin "baserom.gba", 0x5b33e0, 0x16 + +gUnknown_085B33F6:: @ 85B33F6 + .incbin "baserom.gba", 0x5b33f6, 0xa + +gUnknown_085B3400:: @ 85B3400 + .incbin "baserom.gba", 0x5b3400, 0x10 + +gUnknown_085B3410:: @ 85B3410 + .incbin "baserom.gba", 0x5b3410, 0x10 + +gUnknown_085B3420:: @ 85B3420 + .incbin "baserom.gba", 0x5b3420, 0x24 + +gUnknown_085B3444:: @ 85B3444 + .incbin "baserom.gba", 0x5b3444, 0x2c + +gUnknown_085B3470:: @ 85B3470 + .incbin "baserom.gba", 0x5b3470, 0x4 + +gUnknown_085B3474:: @ 85B3474 + .incbin "baserom.gba", 0x5b3474, 0x8 + +gUnknown_085B347C:: @ 85B347C + .incbin "baserom.gba", 0x5b347c, 0x8 + +gUnknown_085B3484:: @ 85B3484 + .incbin "baserom.gba", 0x5b3484, 0xc0 + +gUnknown_085B3544:: @ 85B3544 + .incbin "baserom.gba", 0x5b3544, 0x20 + +gUnknown_085B3564:: @ 85B3564 + .incbin "baserom.gba", 0x5b3564, 0x800 + +gUnknown_085B3D64:: @ 85B3D64 + .incbin "baserom.gba", 0x5b3d64, 0x8 + +gUnknown_085B3D6C:: @ 85B3D6C + .incbin "baserom.gba", 0x5b3d6c, 0x10 + +gUnknown_085B3D7C:: @ 85B3D7C + .incbin "baserom.gba", 0x5b3d7c, 0x8 + +gUnknown_085B3D84:: @ 85B3D84 + .incbin "baserom.gba", 0x5b3d84, 0x8 + +gUnknown_085B3D8C:: @ 85B3D8C + .incbin "baserom.gba", 0x5b3d8c, 0x8 + +gUnknown_085B3D94:: @ 85B3D94 + .incbin "baserom.gba", 0x5b3d94, 0x20 + +gUnknown_085B3DB4:: @ 85B3DB4 + .incbin "baserom.gba", 0x5b3db4, 0x134 + +gUnknown_085B3EE8:: @ 85B3EE8 + .incbin "baserom.gba", 0x5b3ee8, 0x2 + +gUnknown_085B3EEA:: @ 85B3EEA + .incbin "baserom.gba", 0x5b3eea, 0x6 + +gUnknown_085B3EF0:: @ 85B3EF0 + .incbin "baserom.gba", 0x5b3ef0, 0xc + +gUnknown_085B3EFC:: @ 85B3EFC + .incbin "baserom.gba", 0x5b3efc, 0x1c + +gUnknown_085B3F18:: @ 85B3F18 + .incbin "baserom.gba", 0x5b3f18, 0x100 + +gUnknown_085B4018:: @ 85B4018 + .incbin "baserom.gba", 0x5b4018, 0x4 + +gUnknown_085B401C:: @ 85B401C + .incbin "baserom.gba", 0x5b401c, 0x8 + +gUnknown_085B4024:: @ 85B4024 + .incbin "baserom.gba", 0x5b4024, 0x10 + +gUnknown_085B4034:: @ 85B4034 + .incbin "baserom.gba", 0x5b4034, 0xb8 + +gUnknown_085B40EC:: @ 85B40EC + .incbin "baserom.gba", 0x5b40ec, 0x10 + +gUnknown_085B40FC:: @ 85B40FC + .incbin "baserom.gba", 0x5b40fc, 0x38 + +gUnknown_085B4134:: @ 85B4134 + .incbin "baserom.gba", 0x5b4134, 0x6f8 + +gUnknown_085B482C:: @ 85B482C + .incbin "baserom.gba", 0x5b482c, 0x4e4 + +gUnknown_085B4D10:: @ 85B4D10 + .incbin "baserom.gba", 0x5b4d10, 0x4d4 + +gUnknown_085B51E4:: @ 85B51E4 + .incbin "baserom.gba", 0x5b51e4, 0x6a0 + +gUnknown_085B5884:: @ 85B5884 + .incbin "baserom.gba", 0x5b5884, 0x40 + +gUnknown_085B58C4:: @ 85B58C4 + .incbin "baserom.gba", 0x5b58c4, 0x5 + +gUnknown_085B58C9:: @ 85B58C9 + .incbin "baserom.gba", 0x5b58c9, 0x10 + +gUnknown_085B58D9:: @ 85B58D9 + .incbin "baserom.gba", 0x5b58d9, 0x323 + +gUnknown_085B5BFC:: @ 85B5BFC + .incbin "baserom.gba", 0x5b5bfc, 0x200 + +gUnknown_085B5DFC:: @ 85B5DFC + .incbin "baserom.gba", 0x5b5dfc, 0x1a4 + +gUnknown_085B5FA0:: @ 85B5FA0 + .incbin "baserom.gba", 0x5b5fa0, 0x1a0 + +gUnknown_085B6140:: @ 85B6140 + .incbin "baserom.gba", 0x5b6140, 0xc + +gUnknown_085B614C:: @ 85B614C + .incbin "baserom.gba", 0x5b614c, 0x8 + +gUnknown_085B6154:: @ 85B6154 + .incbin "baserom.gba", 0x5b6154, 0xc + +gUnknown_085B6160:: @ 85B6160 + .incbin "baserom.gba", 0x5b6160, 0x184 + +gUnknown_085B62E4:: @ 85B62E4 + .incbin "baserom.gba", 0x5b62e4, 0x4 + +gUnknown_085B62E8:: @ 85B62E8 + .incbin "baserom.gba", 0x5b62e8, 0x5c + +gUnknown_085B6344:: @ 85B6344 + .incbin "baserom.gba", 0x5b6344, 0x4 + +gUnknown_085B6348:: @ 85B6348 + .incbin "baserom.gba", 0x5b6348, 0x40 + +gUnknown_085B6388:: @ 85B6388 + .incbin "baserom.gba", 0x5b6388, 0x68 + +gUnknown_085B63F0:: @ 85B63F0 + .incbin "baserom.gba", 0x5b63f0, 0x18 + +gUnknown_085B6408:: @ 85B6408 + .incbin "baserom.gba", 0x5b6408, 0x8 + +gUnknown_085B6410:: @ 85B6410 + .incbin "baserom.gba", 0x5b6410, 0x8 + +gUnknown_085B6418:: @ 85B6418 + .incbin "baserom.gba", 0x5b6418, 0x6 + +gUnknown_085B641E:: @ 85B641E + .incbin "baserom.gba", 0x5b641e, 0x4 + +gUnknown_085B6422:: @ 85B6422 + .incbin "baserom.gba", 0x5b6422, 0xa + +gUnknown_085B642C:: @ 85B642C + .incbin "baserom.gba", 0x5b642c, 0x10 + +gUnknown_085B643C:: @ 85B643C + .incbin "baserom.gba", 0x5b643c, 0xc + +gUnknown_085B6448:: @ 85B6448 + .incbin "baserom.gba", 0x5b6448, 0xf3c + +gUnknown_085B7384:: @ 85B7384 + .incbin "baserom.gba", 0x5b7384, 0x98 + +gUnknown_085B741C:: @ 85B741C + .incbin "baserom.gba", 0x5b741c, 0x6c + +gUnknown_085B7488:: @ 85B7488 + .incbin "baserom.gba", 0x5b7488, 0x8 + +gUnknown_085B7490:: @ 85B7490 + .incbin "baserom.gba", 0x5b7490, 0x78 + +gUnknown_085B7508:: @ 85B7508 + .incbin "baserom.gba", 0x5b7508, 0x60 + +gUnknown_085B7568:: @ 85B7568 + .incbin "baserom.gba", 0x5b7568, 0x48 + +gUnknown_085B75B0:: @ 85B75B0 + .incbin "baserom.gba", 0x5b75b0, 0x60 + +gUnknown_085B7610:: @ 85B7610 + .incbin "baserom.gba", 0x5b7610, 0x140 + +gUnknown_085B7750:: @ 85B7750 + .incbin "baserom.gba", 0x5b7750, 0x94 + +gUnknown_085B77E4:: @ 85B77E4 + .incbin "baserom.gba", 0x5b77e4, 0x18 + +gUnknown_085B77FC:: @ 85B77FC + .incbin "baserom.gba", 0x5b77fc, 0x18 + +gUnknown_085B7814:: @ 85B7814 + .incbin "baserom.gba", 0x5b7814, 0x18 + +gUnknown_085B782C:: @ 85B782C + .incbin "baserom.gba", 0x5b782c, 0x18 + +gUnknown_085B7844:: @ 85B7844 + .incbin "baserom.gba", 0x5b7844, 0x20 + +gUnknown_085B7864:: @ 85B7864 + .incbin "baserom.gba", 0x5b7864, 0xc4 + +gUnknown_085B7928:: @ 85B7928 + .incbin "baserom.gba", 0x5b7928, 0x20 + +gUnknown_085B7948:: @ 85B7948 + .incbin "baserom.gba", 0x5b7948, 0x8 + +gUnknown_085B7950:: @ 85B7950 + .incbin "baserom.gba", 0x5b7950, 0x28 + +gUnknown_085B7978:: @ 85B7978 + .incbin "baserom.gba", 0x5b7978, 0x80 + +gUnknown_085B79F8:: @ 85B79F8 + .incbin "baserom.gba", 0x5b79f8, 0x18 + +gUnknown_085B7A10:: @ 85B7A10 + .incbin "baserom.gba", 0x5b7a10, 0x30 + +gUnknown_085B7A40:: @ 85B7A40 + .incbin "baserom.gba", 0x5b7a40, 0x7c + +gUnknown_085B7ABC:: @ 85B7ABC + .incbin "baserom.gba", 0x5b7abc, 0x30 + +gUnknown_085B7AEC:: @ 85B7AEC + .incbin "baserom.gba", 0x5b7aec, 0x18 + +gUnknown_085B7B04:: @ 85B7B04 + .incbin "baserom.gba", 0x5b7b04, 0x6 + +gUnknown_085B7B0A:: @ 85B7B0A + .incbin "baserom.gba", 0x5b7b0a, 0x8 + +gUnknown_085B7B12:: @ 85B7B12 + .incbin "baserom.gba", 0x5b7b12, 0x8 + +gUnknown_085B7B1A:: @ 85B7B1A + .incbin "baserom.gba", 0x5b7b1a, 0x14 + +gUnknown_085B7B2E:: @ 85B7B2E + .incbin "baserom.gba", 0x5b7b2e, 0x18 + +gUnknown_085B7B46:: @ 85B7B46 + .incbin "baserom.gba", 0x5b7b46, 0x2 + +gUnknown_085B7B48:: @ 85B7B48 + .incbin "baserom.gba", 0x5b7b48, 0x8d0 + +gUnknown_085B8418:: @ 85B8418 + .incbin "baserom.gba", 0x5b8418, 0x20 + +gUnknown_085B8438:: @ 85B8438 + .incbin "baserom.gba", 0x5b8438, 0x338 + +gUnknown_085B8770:: @ 85B8770 + .incbin "baserom.gba", 0x5b8770, 0x480 + +gUnknown_085B8BF0:: @ 85B8BF0 + .incbin "baserom.gba", 0x5b8bf0, 0x20 + +gUnknown_085B8C10:: @ 85B8C10 + .incbin "baserom.gba", 0x5b8c10, 0x20 + +gUnknown_085B8C30:: @ 85B8C30 + .incbin "baserom.gba", 0x5b8c30, 0x2 + +gUnknown_085B8C32:: @ 85B8C32 + .incbin "baserom.gba", 0x5b8c32, 0x36 + +gUnknown_085B8C68:: @ 85B8C68 + .incbin "baserom.gba", 0x5b8c68, 0x18 + +gUnknown_085B8C80:: @ 85B8C80 + .incbin "baserom.gba", 0x5b8c80, 0x10 + +gUnknown_085B8C90:: @ 85B8C90 + .incbin "baserom.gba", 0x5b8c90, 0x528 + +gUnknown_085B91B8:: @ 85B91B8 + .incbin "baserom.gba", 0x5b91b8, 0x178 + +gUnknown_085B9330:: @ 85B9330 + .incbin "baserom.gba", 0x5b9330, 0x580 + +gUnknown_085B98B0:: @ 85B98B0 + .incbin "baserom.gba", 0x5b98b0, 0x240 + +gUnknown_085B9AF0:: @ 85B9AF0 + .incbin "baserom.gba", 0x5b9af0, 0x11e0 + +gUnknown_085BACD0:: @ 85BACD0 + .incbin "baserom.gba", 0x5bacd0, 0x1e0 + +gUnknown_085BAEB0:: @ 85BAEB0 + .incbin "baserom.gba", 0x5baeb0, 0x20 + +gUnknown_085BAED0:: @ 85BAED0 + .incbin "baserom.gba", 0x5baed0, 0x378 + +gUnknown_085BB248:: @ 85BB248 + .incbin "baserom.gba", 0x5bb248, 0x25c + +gUnknown_085BB4A4:: @ 85BB4A4 + .incbin "baserom.gba", 0x5bb4a4, 0x48c + +gUnknown_085BB930:: @ 85BB930 + .incbin "baserom.gba", 0x5bb930, 0x2e4 + +gUnknown_085BBC14:: @ 85BBC14 + .incbin "baserom.gba", 0x5bbc14, 0x6a0 + +gUnknown_085BC2B4:: @ 85BC2B4 + .incbin "baserom.gba", 0x5bc2b4, 0x20 + +gUnknown_085BC2D4:: @ 85BC2D4 + .incbin "baserom.gba", 0x5bc2d4, 0x20 + +gUnknown_085BC2F4:: @ 85BC2F4 + .incbin "baserom.gba", 0x5bc2f4, 0x20 + +gUnknown_085BC314:: @ 85BC314 + .incbin "baserom.gba", 0x5bc314, 0x800 + +gUnknown_085BCB14:: @ 85BCB14 + .incbin "baserom.gba", 0x5bcb14, 0x800 + +gUnknown_085BD314:: @ 85BD314 + .incbin "baserom.gba", 0x5bd314, 0x820 + +gUnknown_085BDB34:: @ 85BDB34 + .incbin "baserom.gba", 0x5bdb34, 0x6b4 + +gUnknown_085BE1E8:: @ 85BE1E8 + .incbin "baserom.gba", 0x5be1e8, 0x334 + +gUnknown_085BE51C:: @ 85BE51C + .incbin "baserom.gba", 0x5be51c, 0x56c + +gUnknown_085BEA88:: @ 85BEA88 + .incbin "baserom.gba", 0x5bea88, 0x318 + +gUnknown_085BEDA0:: @ 85BEDA0 + .incbin "baserom.gba", 0x5beda0, 0x140 + +gUnknown_085BEEE0:: @ 85BEEE0 + .incbin "baserom.gba", 0x5beee0, 0x1c0 + +gUnknown_085BF0A0:: @ 85BF0A0 + .incbin "baserom.gba", 0x5bf0a0, 0x200 + +gUnknown_085BF2A0:: @ 85BF2A0 + .incbin "baserom.gba", 0x5bf2a0, 0x200 + +gUnknown_085BF4A0:: @ 85BF4A0 + .incbin "baserom.gba", 0x5bf4a0, 0xa0 + +gUnknown_085BF540:: @ 85BF540 + .incbin "baserom.gba", 0x5bf540, 0x160 + +gUnknown_085BF6A0:: @ 85BF6A0 + .incbin "baserom.gba", 0x5bf6a0, 0x7540 + +gUnknown_085C6BE0:: @ 85C6BE0 + .incbin "baserom.gba", 0x5c6be0, 0x1000 + +gUnknown_085C7BE0:: @ 85C7BE0 + .incbin "baserom.gba", 0x5c7be0, 0x20 + +gUnknown_085C7C00:: @ 85C7C00 + .incbin "baserom.gba", 0x5c7c00, 0x68c + +gUnknown_085C828C:: @ 85C828C + .incbin "baserom.gba", 0x5c828c, 0x2ec + +gUnknown_085C8578:: @ 85C8578 + .incbin "baserom.gba", 0x5c8578, 0x20 + +gUnknown_085C8598:: @ 85C8598 + .incbin "baserom.gba", 0x5c8598, 0x15c + +gUnknown_085C86F4:: @ 85C86F4 + .incbin "baserom.gba", 0x5c86f4, 0x100 + +gUnknown_085C87F4:: @ 85C87F4 + .incbin "baserom.gba", 0x5c87f4, 0xb0 + +gUnknown_085C88A4:: @ 85C88A4 + .incbin "baserom.gba", 0x5c88a4, 0x84 + +gUnknown_085C8928:: @ 85C8928 + .incbin "baserom.gba", 0x5c8928, 0x20 + +gUnknown_085C8948:: @ 85C8948 + .incbin "baserom.gba", 0x5c8948, 0xa8 + +gUnknown_085C89F0:: @ 85C89F0 + .incbin "baserom.gba", 0x5c89f0, 0xa8 + +gUnknown_085C8A98:: @ 85C8A98 + .incbin "baserom.gba", 0x5c8a98, 0x10 + +gUnknown_085C8AA8:: @ 85C8AA8 + .incbin "baserom.gba", 0x5c8aa8, 0xc + +gUnknown_085C8AB4:: @ 85C8AB4 + .incbin "baserom.gba", 0x5c8ab4, 0x8 + +gUnknown_085C8ABC:: @ 85C8ABC + .incbin "baserom.gba", 0x5c8abc, 0x8 + +gUnknown_085C8AC4:: @ 85C8AC4 + .incbin "baserom.gba", 0x5c8ac4, 0x1c + +gUnknown_085C8AE0:: @ 85C8AE0 + .incbin "baserom.gba", 0x5c8ae0, 0x1c + +gUnknown_085C8AFC:: @ 85C8AFC + .incbin "baserom.gba", 0x5c8afc, 0x18 + +gUnknown_085C8B14:: @ 85C8B14 + .incbin "baserom.gba", 0x5c8b14, 0x18 + +gUnknown_085C8B2C:: @ 85C8B2C + .incbin "baserom.gba", 0x5c8b2c, 0x18 + +gUnknown_085C8B44:: @ 85C8B44 + .incbin "baserom.gba", 0x5c8b44, 0x18 + +gUnknown_085C8B5C:: @ 85C8B5C + .incbin "baserom.gba", 0x5c8b5c, 0x20 + +gUnknown_085C8B7C:: @ 85C8B7C + .incbin "baserom.gba", 0x5c8b7c, 0xc + +gUnknown_085C8B88:: @ 85C8B88 + .incbin "baserom.gba", 0x5c8b88, 0x4 + +gUnknown_085C8B8C:: @ 85C8B8C + .incbin "baserom.gba", 0x5c8b8c, 0xa + +gUnknown_085C8B96:: @ 85C8B96 + .incbin "baserom.gba", 0x5c8b96, 0x6 + +gUnknown_085C8B9C:: @ 85C8B9C + .incbin "baserom.gba", 0x5c8b9c, 0x1c + +gUnknown_085C8BB8:: @ 85C8BB8 + .incbin "baserom.gba", 0x5c8bb8, 0x8 + +gUnknown_085C8BC0:: @ 85C8BC0 + .incbin "baserom.gba", 0x5c8bc0, 0xc + +gUnknown_085C8BCC:: @ 85C8BCC + .incbin "baserom.gba", 0x5c8bcc, 0x28 + +gUnknown_085C8BF4:: @ 85C8BF4 + .incbin "baserom.gba", 0x5c8bf4, 0x6 + +gUnknown_085C8BFA:: @ 85C8BFA + .incbin "baserom.gba", 0x5c8bfa, 0x14 + +gUnknown_085C8C0E:: @ 85C8C0E + .incbin "baserom.gba", 0x5c8c0e, 0x16 + +gUnknown_085C8C24:: @ 85C8C24 + .incbin "baserom.gba", 0x5c8c24, 0x1c + +gUnknown_085C8C40:: @ 85C8C40 + .incbin "baserom.gba", 0x5c8c40, 0x4 + +gUnknown_085C8C44:: @ 85C8C44 + .incbin "baserom.gba", 0x5c8c44, 0x4 + +gUnknown_085C8C48:: @ 85C8C48 + .incbin "baserom.gba", 0x5c8c48, 0xc + +gUnknown_085C8C54:: @ 85C8C54 + .incbin "baserom.gba", 0x5c8c54, 0x10 + +gUnknown_085C8C64:: @ 85C8C64 + .incbin "baserom.gba", 0x5c8c64, 0x2 + +gUnknown_085C8C66:: @ 85C8C66 + .incbin "baserom.gba", 0x5c8c66, 0x6 + +gUnknown_085C8C6C:: @ 85C8C6C + .incbin "baserom.gba", 0x5c8c6c, 0xc + +gUnknown_085C8C78:: @ 85C8C78 + .incbin "baserom.gba", 0x5c8c78, 0x8 + +gUnknown_085C8C80:: @ 85C8C80 + .incbin "baserom.gba", 0x5c8c80, 0x4 + +gUnknown_085C8C84:: @ 85C8C84 + .incbin "baserom.gba", 0x5c8c84, 0xb4 + +gUnknown_085C8D38:: @ 85C8D38 + .incbin "baserom.gba", 0x5c8d38, 0x8 + +gUnknown_085C8D40:: @ 85C8D40 + .incbin "baserom.gba", 0x5c8d40, 0x20 + +gUnknown_085C8D60:: @ 85C8D60 + .incbin "baserom.gba", 0x5c8d60, 0x2c + +gUnknown_085C8D8C:: @ 85C8D8C + .incbin "baserom.gba", 0x5c8d8c, 0x14 + +gUnknown_085C8DA0:: @ 85C8DA0 + .incbin "baserom.gba", 0x5c8da0, 0x10 + +gUnknown_085C8DB0:: @ 85C8DB0 + .incbin "baserom.gba", 0x5c8db0, 0xc + +gUnknown_085C8DBC:: @ 85C8DBC + .incbin "baserom.gba", 0x5c8dbc, 0x14 + +gUnknown_085C8DD0:: @ 85C8DD0 + .incbin "baserom.gba", 0x5c8dd0, 0x46 + +gUnknown_085C8E16:: @ 85C8E16 + .incbin "baserom.gba", 0x5c8e16, 0xe + +gUnknown_085C8E24:: @ 85C8E24 + .incbin "baserom.gba", 0x5c8e24, 0x44 + +gUnknown_085C8E68:: @ 85C8E68 + .incbin "baserom.gba", 0x5c8e68, 0x6c + + .align 2 +gFieldEffectObjectPalette10:: @ 85C8ED4 + .incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal" + + .align 2 +gFieldEffectObjectPaletteInfo10:: @ 85C8EF4 + obj_pal gFieldEffectObjectPalette10, 0x1009 + + .incbin "baserom.gba", 0x5c8efc, 0xe0 + +gUnknown_085C8FDC:: @ 85C8FDC + .incbin "baserom.gba", 0x5c8fdc, 0x14 + +gUnknown_085C8FF0:: @ 85C8FF0 + .incbin "baserom.gba", 0x5c8ff0, 0x30 + +gUnknown_085C9020:: @ 85C9020 + .incbin "baserom.gba", 0x5c9020, 0x4b0 + +gUnknown_085C94D0:: @ 85C94D0 + .incbin "baserom.gba", 0x5c94d0, 0x500 + +gUnknown_085C99D0:: @ 85C99D0 + .incbin "baserom.gba", 0x5c99d0, 0x18 + +gUnknown_085C99E8:: @ 85C99E8 + .incbin "baserom.gba", 0x5c99e8, 0x10 + +gUnknown_085C99F8:: @ 85C99F8 + .incbin "baserom.gba", 0x5c99f8, 0x10 + +gUnknown_085C9A08:: @ 85C9A08 + .incbin "baserom.gba", 0x5c9a08, 0x14 + +gUnknown_085C9A1C:: @ 85C9A1C + .incbin "baserom.gba", 0x5c9a1c, 0x14 + +gUnknown_085C9A30:: @ 85C9A30 + .incbin "baserom.gba", 0x5c9a30, 0x23 + +gUnknown_085C9A53:: @ 85C9A53 + .incbin "baserom.gba", 0x5c9a53, 0x41 + diff --git a/include/battle.h b/include/battle.h index 99208f879..1fd333610 100644 --- a/include/battle.h +++ b/include/battle.h @@ -16,7 +16,7 @@ #define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 #define BATTLE_TYPE_LEGENDARY 0x2000 #define BATTLE_TYPE_REGI 0x4000 -#define BATTLE_TYPE_TWO_VS_ONE 0x8000 +#define BATTLE_TYPE_TWO_OPPONENTS 0x8000 #define BATTLE_TYPE_DOME 0x10000 #define BATTLE_TYPE_PALACE 0x20000 #define BATTLE_TYPE_ARENA 0x40000 @@ -25,20 +25,14 @@ #define BATTLE_TYPE_PYRAMID 0x200000 #define BATTLE_TYPE_INGAME_PARTNER 0x400000 #define BATTLE_TYPE_RECORDED 0x1000000 +#define BATTLE_TYPE_x2000000 0x2000000 +#define BATTLE_TYPE_x4000000 0x4000000 +#define BATTLE_TYPE_SECRET_BASE 0x8000000 #define BATTLE_TYPE_GROUDON 0x10000000 #define BATTLE_TYPE_KYORGE 0x20000000 #define BATTLE_TYPE_RAYQUAZA 0x40000000 -#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID) - -#define AI_ACTION_UNK1 0x0001 -#define AI_ACTION_UNK2 0x0002 -#define AI_ACTION_UNK3 0x0004 -#define AI_ACTION_UNK4 0x0008 -#define AI_ACTION_UNK5 0x0010 -#define AI_ACTION_UNK6 0x0020 -#define AI_ACTION_UNK7 0x0040 -#define AI_ACTION_UNK8 0x0080 +#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID) #define STATUS_SLEEP 0x7 #define STATUS_POISON 0x8 @@ -175,11 +169,27 @@ #define WEATHER_SUN_PERMANENT (1 << 6) #define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)) #define WEATHER_HAIL (1 << 7) +#define WEATHER_HAIL_ANY ((WEATHER_HAIL)) u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg); u8 GetBankSide(u8 bank); -// TODO: get rid of void* and make actual struct fields +struct Trainer +{ + /*0x00*/ u8 partyFlags; + /*0x01*/ u8 trainerClass; + /*0x02*/ u8 encounterMusic:7; + /*0x02*/ u8 gender:1; + /*0x03*/ u8 trainerPic; + /*0x04*/ u8 trainerName[12]; + /*0x10*/ u16 items[4]; + /*0x18*/ bool8 doubleBattle; + /*0x1C*/ u32 aiFlags; + /*0x20*/ u8 partySize; + /*0x24*/ void *party; +}; + +extern const struct Trainer gTrainers[]; struct UnknownFlags { @@ -236,7 +246,7 @@ struct AI_ThinkingStruct u8 aiAction; u8 aiLogicId; u8 filler12[6]; - u8 unk18[4]; + u8 simulatedRNG[4]; }; struct UsedMoves @@ -252,7 +262,7 @@ struct BattleHistory u8 abilities[4]; u8 itemEffects[4]; u16 TrainerItems[4]; - u8 unk50; + u8 itemsNo; }; struct BattleScriptsStack @@ -275,4 +285,73 @@ struct BattleResources extern struct BattleResources* gBattleResources; +struct BattleResults +{ + u8 playerFaintCounter; // 0x0 + u8 opponentFaintCounter; // 0x1 + u8 unk2; // 0x2 + u8 unk3; // 0x3 + u8 unk4; // 0x4 + u8 unk5_0:1; // 0x5 + u8 unk5_1:1; // 0x5 + u16 poke1Species; // 0x6 + u8 pokeString1[10]; // 0x8 + u8 unk12; + u8 battleTurnCounter; // 0x13 + u8 pokeString2[10]; // 0x14 + u8 filler1E[2]; + u16 lastOpponentSpecies; // 0x20 + u16 lastUsedMove; // 0x22 + u16 opponentMove; // 0x24 + u16 opponentSpecies; // 0x26 + u16 caughtPoke; // 0x28 + u8 caughtNick[10]; // 0x2A + u8 filler34[2]; + u8 unk36[10]; // usedBalls? +}; + +extern struct BattleResults gBattleResults; + +struct BattleStruct +{ + u8 field_1; + u8 field_2; + u8 field_3; + u8 field_4; + u8 wrappedMove1[4]; + u8 wrappedMove2[4]; + u8 moveTarget[4]; + u8 expGetterId; + u8 field_11; + u8 wildVictorySong; + u8 dynamicMoveType; + u8 wrappedBy[4]; + u8 field_18[0x63]; // TODO: expand + u8 field_7B; + u8 field_7C; + u8 field_7D[60]; + u16 usedHeldItems[4]; +}; + +extern struct BattleStruct* gBattleStruct; + +struct BattleScripting +{ + u8 field_0; + u8 field_1; + u8 field_2; + u8 field_3; + u32 bideDmg; + u8 field_8; + u8 field_9; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 dmgMultiplier; + u8 field_F; +}; + +extern struct BattleScripting gBattleScripting; + #endif diff --git a/include/battle_ai.h b/include/battle_ai.h new file mode 100644 index 000000000..2a315059b --- /dev/null +++ b/include/battle_ai.h @@ -0,0 +1,13 @@ +#ifndef GUARD_BATTLE_AI_H +#define GUARD_BATTLE_AI_H + +void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); +void BattleAI_SetupAIData(u8 defaultScoreMoves); +u8 BattleAI_ChooseMoveOrAction(void); +void ClearBankMoveHistory(u8 bank); +void RecordAbilityBattle(u8 bank, u8 abilityId); +void ClearBankAbilityHistory(u8 bank); +void RecordItemEffectBattle(u8 bank, u8 itemEffect); +void ClearBankItemEffectHistory(u8 bank); + +#endif // GUARD_BATTLE_AI_H diff --git a/include/pokemon.h b/include/pokemon.h index 4c853dcd0..449cf37c0 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -369,6 +369,6 @@ struct BattleMove // u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); u32 GetMonData(); -u8 pokemon_species_get_gender_info(u16 species, u32 personality); +u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); #endif // GUARD_POKEMON_H diff --git a/ld_script.txt b/ld_script.txt index ffe9a41d7..8856e3014 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -293,6 +293,8 @@ SECTIONS { data/data2c.o(.rodata); src/trig.o(.rodata); data/data3.o(.rodata); + src/battle_ai.o(.rodata); + data/data4.o(.rodata); data/battle_controller_link_partner.o(.rodata); data/battle_message.o(.rodata); data/cable_car.o(.rodata); diff --git a/src/battle_ai.c b/src/battle_ai.c index f8a52c889..71273777a 100644 --- a/src/battle_ai.c +++ b/src/battle_ai.c @@ -1,31 +1,36 @@ #include "global.h" +#include "battle_ai.h" #include "pokemon.h" #include "battle.h" #include "species.h" #include "abilities.h" #include "rng.h" +#include "item.h" +#include "battle_move_effects.h" #define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) #define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8) #define AIScriptRead8(ptr) ((ptr)[0]) #define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr) -#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) -#define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) - -#define AI_ACTION_UNK1 0x0001 -#define AI_ACTION_UNK2 0x0002 -#define AI_ACTION_UNK3 0x0004 -#define AI_ACTION_UNK4 0x0008 +#define AI_ACTION_DONE 0x0001 +#define AI_ACTION_FLEE 0x0002 +#define AI_ACTION_WATCH 0x0004 +#define AI_ACTION_DO_NOT_ATTACK 0x0008 #define AI_ACTION_UNK5 0x0010 #define AI_ACTION_UNK6 0x0020 #define AI_ACTION_UNK7 0x0040 #define AI_ACTION_UNK8 0x0080 +#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) +#define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) + enum { TARGET, - USER + USER, + TARGET_PARTNER, + USER_PARTNER }; // AI states @@ -37,22 +42,6 @@ enum AIState_DoNotProcess }; -//Copied from pokeruby -- hopefully the same -struct Trainer -{ - /*0x00*/ u8 partyFlags; - /*0x01*/ u8 trainerClass; - /*0x02*/ u8 encounterMusic:7; - /*0x02*/ u8 gender:1; - /*0x03*/ u8 trainerPic; - /*0x04*/ u8 trainerName[12]; - /*0x10*/ u16 items[4]; - /*0x18*/ bool8 doubleBattle; - /*0x1C*/ u32 aiFlags; - /*0x20*/ u8 partySize; - /*0x24*/ void *party; -}; - /* gAIScriptPtr is a pointer to the next battle AI cmd command to read. when a command finishes processing, gAIScriptPtr is incremented by @@ -60,165 +49,388 @@ the number of bytes that the current command had reserved for arguments in order to read the next command correctly. refer to battle_ai_scripts.s for the AI scripts. */ -extern u8 *gAIScriptPtr; extern u32 gBattleTypeFlags; extern u8 gActiveBank; -extern struct BattlePokemon gBattleMons[]; +extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; extern u8 gBankTarget; extern u8 gAbsentBankFlags; -extern u16 gUnknown_02024248[]; -extern u8 *gBattleStruct; -extern u16 gUnknown_02038BCA; -extern u16 gUnknown_02038BCC; -extern u8 gPlayerMonIndex; -extern struct Trainer gTrainers[]; -extern const u32 gBitTable[]; -extern u8 *gUnknown_082DBEF8[]; -extern u32 gStatuses3[]; -extern u16 gUnknown_0202428E[]; -extern struct BattleMove gBattleMoves[]; -extern u8 gUnknown_03005D10[]; -extern u8 gBattlePartyID[][2]; -extern struct BaseStats gBaseStats[]; -extern u16 gUnknown_02024400; -extern u8 gBattleScripting[]; +extern u16 gLastUsedMovesByBanks[4]; +extern u16 gTrainerBattleOpponent_A; +extern u16 gTrainerBattleOpponent_B; +extern u32 gStatuses3[4]; +extern u16 gSideAffecting[2]; +extern u16 gBattlePartyID[4]; +extern u16 gDynamicBasePower; extern u8 gBattleMoveFlags; -extern int gBattleMoveDamage; +extern s32 gBattleMoveDamage; extern u8 gCritMultiplier; extern u16 gBattleWeather; +extern const struct BattleMove gBattleMoves[]; +extern const struct BaseStats gBaseStats[]; +extern const u32 gBitTable[]; +extern u8 * const gBattleAI_ScriptsTable[]; + extern u8 GetBankIdentity(u8); extern u8 b_first_side(u8, u8, u8); extern u8 GetBankByPlayerAI(u8); -extern void move_effectiveness_something(u16, u8, u8); -extern u8 ItemId_GetHoldEffect(); -extern void b_mc_stack_push(u8 *); -extern bool8 b_mc_stack_pop_cursor(void); -extern void sub_8046E7C(u8, u8); +extern void TypeCalc(u16 move, u8 bankAtk, u8 bankDef); +extern void AI_CalcDmg(u8, u8); + +extern u8 CheckMoveLimitations(); +extern u32 GetAiScriptsInRecordedBattle(); +extern u32 GetAiScriptsInBattleFactory(); + +static u8 BattleAI_ChooseMoveOrAction_Singles(void); +static u8 BattleAI_ChooseMoveOrAction_Doubles(void); +static void RecordLastUsedMoveByTarget(void); +static void BattleAI_DoAIProcessing(void); +static void AIStackPushVar(u8 *); +static bool8 AIStackPop(void); + +static void BattleAICmd_if_random_less_than(void); +static void BattleAICmd_if_random_greater_than(void); +static void BattleAICmd_if_random_equal(void); +static void BattleAICmd_if_random_not_equal(void); +static void BattleAICmd_score(void); +static void BattleAICmd_if_hp_less_than(void); +static void BattleAICmd_if_hp_more_than(void); +static void BattleAICmd_if_hp_equal(void); +static void BattleAICmd_if_hp_not_equal(void); +static void BattleAICmd_if_status(void); +static void BattleAICmd_if_not_status(void); +static void BattleAICmd_if_status2(void); +static void BattleAICmd_if_not_status2(void); +static void BattleAICmd_if_status3(void); +static void BattleAICmd_if_not_status3(void); +static void BattleAICmd_if_side_affecting(void); +static void BattleAICmd_if_not_side_affecting(void); +static void BattleAICmd_if_less_than(void); +static void BattleAICmd_if_more_than(void); +static void BattleAICmd_if_equal(void); +static void BattleAICmd_if_not_equal(void); +static void BattleAICmd_if_less_than_32(void); +static void BattleAICmd_if_more_than_32(void); +static void BattleAICmd_if_equal_32(void); +static void BattleAICmd_if_not_equal_32(void); +static void BattleAICmd_if_move(void); +static void BattleAICmd_if_not_move(void); +static void BattleAICmd_if_in_bytes(void); +static void BattleAICmd_if_not_in_bytes(void); +static void BattleAICmd_if_in_words(void); +static void BattleAICmd_if_not_in_words(void); +static void BattleAICmd_if_user_can_damage(void); +static void BattleAICmd_if_user_cant_damage(void); +static void BattleAICmd_get_turn_count(void); +static void BattleAICmd_get_type(void); +static void BattleAICmd_get_last_used_bank_move_power(void); +static void BattleAICmd_is_most_powerful_move(void); +static void BattleAICmd_get_last_used_bank_move(void); +static void BattleAICmd_if_arg_equal(void); +static void BattleAICmd_if_arg_not_equal(void); +static void BattleAICmd_if_would_go_first(void); +static void BattleAICmd_if_would_not_go_first(void); +static void BattleAICmd_nullsub_2A(void); +static void BattleAICmd_nullsub_2B(void); +static void BattleAICmd_count_alive_pokemon(void); +static void BattleAICmd_get_considered_move(void); +static void BattleAICmd_get_considered_move_effect(void); +static void BattleAICmd_get_ability(void); +static void BattleAICmd_get_highest_type_effectiveness(void); +static void BattleAICmd_if_type_effectiveness(void); +static void BattleAICmd_nullsub_32(void); +static void BattleAICmd_nullsub_33(void); +static void BattleAICmd_if_status_in_party(void); +static void BattleAICmd_if_status_not_in_party(void); +static void BattleAICmd_get_weather(void); +static void BattleAICmd_if_effect(void); +static void BattleAICmd_if_not_effect(void); +static void BattleAICmd_if_stat_level_less_than(void); +static void BattleAICmd_if_stat_level_more_than(void); +static void BattleAICmd_if_stat_level_equal(void); +static void BattleAICmd_if_stat_level_not_equal(void); +static void BattleAICmd_if_can_faint(void); +static void BattleAICmd_if_cant_faint(void); +static void BattleAICmd_if_has_move(void); +static void BattleAICmd_if_dont_have_move(void); +static void BattleAICmd_if_move_effect(void); +static void BattleAICmd_if_not_move_effect(void); +static void BattleAICmd_if_any_move_disabled_or_encored(void); +static void BattleAICmd_if_curr_move_disabled_or_encored(void); +static void BattleAICmd_flee(void); +static void BattleAICmd_if_random_100(void); +static void BattleAICmd_watch(void); +static void BattleAICmd_get_hold_effect(void); +static void BattleAICmd_get_gender(void); +static void BattleAICmd_is_first_turn(void); +static void BattleAICmd_get_stockpile_count(void); +static void BattleAICmd_is_double_battle(void); +static void BattleAICmd_get_used_held_item(void); +static void BattleAICmd_get_move_type_from_result(void); +static void BattleAICmd_get_move_power_from_result(void); +static void BattleAICmd_get_move_effect_from_result(void); +static void BattleAICmd_get_protect_count(void); +static void BattleAICmd_nullsub_52(void); +static void BattleAICmd_nullsub_53(void); +static void BattleAICmd_nullsub_54(void); +static void BattleAICmd_nullsub_55(void); +static void BattleAICmd_nullsub_56(void); +static void BattleAICmd_nullsub_57(void); +static void BattleAICmd_call(void); +static void BattleAICmd_jump(void); +static void BattleAICmd_end(void); +static void BattleAICmd_if_level_cond(void); +static void BattleAICmd_if_target_taunted(void); +static void BattleAICmd_if_target_not_taunted(void); +static void BattleAICmd_check_ability(void); +static void BattleAICmd_is_of_type(void); +static void BattleAICmd_if_target_is_ally(void); +static void BattleAICmd_if_flash_fired(void); +static void BattleAICmd_if_holds_item(void); + +// ewram + +EWRAM_DATA u8 *gAIScriptPtr = NULL; +EWRAM_DATA static u8 sBank_AI = 0; + +// const rom data typedef void (*BattleAICmdFunc)(void); -extern const BattleAICmdFunc sBattleAICmdTable[]; - -extern u8 sub_803FECC(); -extern u32 sub_8186438(); -extern u32 sub_81A6FB4(); +static const BattleAICmdFunc sBattleAICmdTable[] = +{ + BattleAICmd_if_random_less_than, // 0x0 + BattleAICmd_if_random_greater_than, // 0x1 + BattleAICmd_if_random_equal, // 0x2 + BattleAICmd_if_random_not_equal, // 0x3 + BattleAICmd_score, // 0x4 + BattleAICmd_if_hp_less_than, // 0x5 + BattleAICmd_if_hp_more_than, // 0x6 + BattleAICmd_if_hp_equal, // 0x7 + BattleAICmd_if_hp_not_equal, // 0x8 + BattleAICmd_if_status, // 0x9 + BattleAICmd_if_not_status, // 0xA + BattleAICmd_if_status2, // 0xB + BattleAICmd_if_not_status2, // 0xC + BattleAICmd_if_status3, // 0xD + BattleAICmd_if_not_status3, // 0xE + BattleAICmd_if_side_affecting, // 0xF + BattleAICmd_if_not_side_affecting, // 0x10 + BattleAICmd_if_less_than, // 0x11 + BattleAICmd_if_more_than, // 0x12 + BattleAICmd_if_equal, // 0x13 + BattleAICmd_if_not_equal, // 0x14 + BattleAICmd_if_less_than_32, // 0x15 + BattleAICmd_if_more_than_32, // 0x16 + BattleAICmd_if_equal_32, // 0x17 + BattleAICmd_if_not_equal_32, // 0x18 + BattleAICmd_if_move, // 0x19 + BattleAICmd_if_not_move, // 0x1A + BattleAICmd_if_in_bytes, // 0x1B + BattleAICmd_if_not_in_bytes, // 0x1C + BattleAICmd_if_in_words, // 0x1D + BattleAICmd_if_not_in_words, // 0x1E + BattleAICmd_if_user_can_damage, // 0x1F + BattleAICmd_if_user_cant_damage, // 0x20 + BattleAICmd_get_turn_count, // 0x21 + BattleAICmd_get_type, // 0x22 + BattleAICmd_get_last_used_bank_move_power, // 0x23 + BattleAICmd_is_most_powerful_move, // 0x24 + BattleAICmd_get_last_used_bank_move, // 0x25 + BattleAICmd_if_arg_equal, // 0x26 + BattleAICmd_if_arg_not_equal, // 0x27 + BattleAICmd_if_would_go_first, // 0x28 + BattleAICmd_if_would_not_go_first, // 0x29 + BattleAICmd_nullsub_2A, // 0x2A + BattleAICmd_nullsub_2B, // 0x2B + BattleAICmd_count_alive_pokemon, // 0x2C + BattleAICmd_get_considered_move, // 0x2D + BattleAICmd_get_considered_move_effect, // 0x2E + BattleAICmd_get_ability, // 0x2F + BattleAICmd_get_highest_type_effectiveness, // 0x30 + BattleAICmd_if_type_effectiveness, // 0x31 + BattleAICmd_nullsub_32, // 0x32 + BattleAICmd_nullsub_33, // 0x33 + BattleAICmd_if_status_in_party, // 0x34 + BattleAICmd_if_status_not_in_party, // 0x35 + BattleAICmd_get_weather, // 0x36 + BattleAICmd_if_effect, // 0x37 + BattleAICmd_if_not_effect, // 0x38 + BattleAICmd_if_stat_level_less_than, // 0x39 + BattleAICmd_if_stat_level_more_than, // 0x3A + BattleAICmd_if_stat_level_equal, // 0x3B + BattleAICmd_if_stat_level_not_equal, // 0x3C + BattleAICmd_if_can_faint, // 0x3D + BattleAICmd_if_cant_faint, // 0x3E + BattleAICmd_if_has_move, // 0x3F + BattleAICmd_if_dont_have_move, // 0x40 + BattleAICmd_if_move_effect, // 0x41 + BattleAICmd_if_not_move_effect, // 0x42 + BattleAICmd_if_any_move_disabled_or_encored, // 0x43 + BattleAICmd_if_curr_move_disabled_or_encored, // 0x44 + BattleAICmd_flee, // 0x45 + BattleAICmd_if_random_100, // 0x46 + BattleAICmd_watch, // 0x47 + BattleAICmd_get_hold_effect, // 0x48 + BattleAICmd_get_gender, // 0x49 + BattleAICmd_is_first_turn, // 0x4A + BattleAICmd_get_stockpile_count, // 0x4B + BattleAICmd_is_double_battle, // 0x4C + BattleAICmd_get_used_held_item, // 0x4D + BattleAICmd_get_move_type_from_result, // 0x4E + BattleAICmd_get_move_power_from_result, // 0x4F + BattleAICmd_get_move_effect_from_result, // 0x50 + BattleAICmd_get_protect_count, // 0x51 + BattleAICmd_nullsub_52, // 0x52 + BattleAICmd_nullsub_53, // 0x53 + BattleAICmd_nullsub_54, // 0x54 + BattleAICmd_nullsub_55, // 0x55 + BattleAICmd_nullsub_56, // 0x56 + BattleAICmd_nullsub_57, // 0x57 + BattleAICmd_call, // 0x58 + BattleAICmd_jump, // 0x59 + BattleAICmd_end, // 0x5A + BattleAICmd_if_level_cond, // 0x5B + BattleAICmd_if_target_taunted, // 0x5C + BattleAICmd_if_target_not_taunted, // 0x5D + BattleAICmd_if_target_is_ally, // 0x5E + BattleAICmd_is_of_type, // 0x5F + BattleAICmd_check_ability, // 0x60 + BattleAICmd_if_flash_fired, // 0x61 + BattleAICmd_if_holds_item, // 0x62 +}; -void BattleAI_SetupAIData(u8 a); -u8 BattleAI_GetAIActionToUse(void); -u8 sub_8130CF4(void); -void sub_8131074(void); -void BattleAI_DoAIProcessing(void); +static const u16 sDiscouragedPowerfulMoveEffects[] = +{ + EFFECT_EXPLOSION, + EFFECT_DREAM_EATER, + EFFECT_RAZOR_WIND, + EFFECT_SKY_ATTACK, + EFFECT_RECHARGE, + EFFECT_SKULL_BASH, + EFFECT_SOLARBEAM, + EFFECT_SPIT_UP, + EFFECT_FOCUS_PUNCH, + EFFECT_SUPERPOWER, + EFFECT_ERUPTION, + EFFECT_OVERHEAT, + 0xFFFF +}; -void BattleAI_HandleItemUseBeforeAISetup(u8 a) +void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) { s32 i; u8 *data = (u8 *)gBattleResources->battleHistory; - for (i = 0; (u32)i < 0x54; i++) + for (i = 0; i < sizeof(struct BattleHistory); i++) data[i] = 0; - if ((gBattleTypeFlags & 0x0A7F098A) == 8) + // items are allowed to use in ONLY trainer battles + if ((gBattleTypeFlags & + (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER | + BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_SECRET_BASE)) + == BATTLE_TYPE_TRAINER) { for (i = 0; i < 4; i++) { - if (gTrainers[gUnknown_02038BCA].items[i] != 0) + if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0) { - gBattleResources->battleHistory->TrainerItems[gBattleResources->battleHistory->unk50] = gTrainers[gUnknown_02038BCA].items[i]; - gBattleResources->battleHistory->unk50++; + gBattleResources->battleHistory->TrainerItems[gBattleResources->battleHistory->itemsNo] = gTrainers[gTrainerBattleOpponent_A].items[i]; + gBattleResources->battleHistory->itemsNo++; } } } - BattleAI_SetupAIData(a); + BattleAI_SetupAIData(defaultScoreMoves); } -void BattleAI_SetupAIData(u8 a) +void BattleAI_SetupAIData(u8 defaultScoreMoves) { s32 i; u8 *data = (u8 *)AI_THINKING_STRUCT; - u8 r6; + u8 moveLimitations; // clear AI data. - for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++) + for (i = 0; i < sizeof(struct AI_ThinkingStruct); i++) data[i] = 0; // conditional score reset, unlike Ruby. for (i = 0; i < 4; i++) { - if (a & 1) + if (defaultScoreMoves & 1) AI_THINKING_STRUCT->score[i] = 100; else AI_THINKING_STRUCT->score[i] = 0; - a >>= 1; + defaultScoreMoves >>= 1; } - r6 = sub_803FECC(gActiveBank, 0, 0xFF); + moveLimitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); + // ignore moves that aren't possible to use for (i = 0; i < 4; i++) { - if (gBitTable[i] & r6) + if (gBitTable[i] & moveLimitations) AI_THINKING_STRUCT->score[i] = 0; - AI_THINKING_STRUCT->unk18[i] = 100 - (Random() % 16); + AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16); } gBattleResources->AI_ScriptsStack->size = 0; - gPlayerMonIndex = gActiveBank; - if (gBattleTypeFlags & 1) + sBank_AI = gActiveBank; + // decide a random target bank in doubles + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gBankTarget = (Random() & 2) + ((u32)GetBankSide(gActiveBank) ^ 1); + gBankTarget = (Random() & 2) + (GetBankSide(gActiveBank) ^ 1); if (gAbsentBankFlags & gBitTable[gBankTarget]) gBankTarget ^= 2; } + // in singles there's only one choice else - { - //_08130A60 - gBankTarget = gPlayerMonIndex ^ 1; - } - //_08130A68 - if (gBattleTypeFlags & 0x1000000) - AI_THINKING_STRUCT->aiFlags = sub_8186438(); - else if (gBattleTypeFlags & 0x80) + gBankTarget = sBank_AI ^ 1; + + if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) + AI_THINKING_STRUCT->aiFlags = GetAiScriptsInRecordedBattle(); + else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) AI_THINKING_STRUCT->aiFlags = 0x40000000; - else if (gBattleTypeFlags & 0x400) + else if (gBattleTypeFlags & BATTLE_TYPE_ROAMER) AI_THINKING_STRUCT->aiFlags = 0x20000000; - else if (gBattleTypeFlags & 0x10) + else if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) AI_THINKING_STRUCT->aiFlags = 0x80000000; - else if (gBattleTypeFlags & 0x80000) - AI_THINKING_STRUCT->aiFlags = sub_81A6FB4(); - else if (gBattleTypeFlags & 0x0C3F0900) - AI_THINKING_STRUCT->aiFlags = 7; - else if (gBattleTypeFlags & 0x8000) - AI_THINKING_STRUCT->aiFlags = gTrainers[gUnknown_02038BCA].aiFlags | gTrainers[gUnknown_02038BCC].aiFlags; - else - AI_THINKING_STRUCT->aiFlags = gTrainers[gUnknown_02038BCA].aiFlags; - if (gBattleTypeFlags & 1) - AI_THINKING_STRUCT->aiFlags |= 0x80; + else if (gBattleTypeFlags & BATTLE_TYPE_FACTORY) + AI_THINKING_STRUCT->aiFlags = GetAiScriptsInBattleFactory(); + else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x4000000 | BATTLE_TYPE_SECRET_BASE)) + AI_THINKING_STRUCT->aiFlags = 7; // the smartest possible set + else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags | gTrainers[gTrainerBattleOpponent_B].aiFlags; + else + AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + AI_THINKING_STRUCT->aiFlags |= 0x80; // act smart in doubles and don't attack your partner } -u8 sub_8130BA4(void) +u8 BattleAI_ChooseMoveOrAction(void) { - u16 r4 = gCurrentMove; + u16 savedCurrentMove = gCurrentMove; u8 ret; - if (!(gBattleTypeFlags & 1)) - ret = BattleAI_GetAIActionToUse(); + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + ret = BattleAI_ChooseMoveOrAction_Singles(); else - ret = sub_8130CF4(); + ret = BattleAI_ChooseMoveOrAction_Doubles(); - gCurrentMove = r4; + gCurrentMove = savedCurrentMove; return ret; } -u8 BattleAI_GetAIActionToUse(void) +static u8 BattleAI_ChooseMoveOrAction_Singles(void) { u8 currentMoveArray[4]; u8 consideredMoveArray[4]; u8 numOfBestMoves; s32 i; - sub_8131074(); + RecordLastUsedMoveByTarget(); while (AI_THINKING_STRUCT->aiFlags != 0) { @@ -244,7 +456,7 @@ u8 BattleAI_GetAIActionToUse(void) for (i = 1; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0) // emerald adds an extra move ID check for some reason. + if (gBattleMons[sBank_AI].moves[i] != 0) // emerald adds an extra move ID check for some reason. { // in ruby, the order of these if statements are reversed. if (currentMoveArray[0] == AI_THINKING_STRUCT->score[i]) @@ -264,7 +476,7 @@ u8 BattleAI_GetAIActionToUse(void) } #ifdef NONMATCHING -u8 sub_8130CF4(void) +static u8 BattleAI_ChooseMoveOrAction_Doubles(void) { s32 i; s32 j; @@ -284,7 +496,7 @@ u8 sub_8130CF4(void) for (i = 0; i < 4; i++) //_08130D14 { - if (i == gPlayerMonIndex || gBattleMons[i].hp == 0) + if (i == sBank_AI || gBattleMons[i].hp == 0) { //_08130D2E spC[i] = -1; @@ -299,8 +511,8 @@ u8 sub_8130CF4(void) BattleAI_SetupAIData(0xF); //_08130D76 gBankTarget = i; - if ((i & 1) != (gPlayerMonIndex & 1)) - sub_8131074(); + if ((i & 1) != (sBank_AI & 1)) + RecordLastUsedMoveByTarget(); //_08130D90 AI_THINKING_STRUCT->unk11 = 0; AI_THINKING_STRUCT->unk1 = 0; @@ -329,7 +541,7 @@ u8 sub_8130CF4(void) r5 = 1; for (j = 1; j < 4; j++) { - if (gBattleMons[gPlayerMonIndex].moves[j] != 0) + if (gBattleMons[sBank_AI].moves[j] != 0) { if (sp10[0] == AI_THINKING_STRUCT->score[j]) { @@ -349,7 +561,7 @@ u8 sub_8130CF4(void) spC[i] = sp14[Random() % r5]; //asm("":::"r3"); sp0[i] = sp10[0]; - if (i == (gPlayerMonIndex ^ 2) && sp0[i] < 100) + if (i == (sBank_AI ^ 2) && sp0[i] < 100) sp0[i] = -1; } } @@ -383,7 +595,7 @@ u8 sub_8130CF4(void) } #else __attribute__((naked)) -u8 sub_8130CF4(void) +static u8 BattleAI_ChooseMoveOrAction_Doubles(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -403,7 +615,7 @@ u8 sub_8130CF4(void) str r1, [sp, 0x20]\n\ mov r10, sp\n\ _08130D14:\n\ - ldr r0, =gPlayerMonIndex\n\ + ldr r0, =sBank_AI\n\ ldrb r0, [r0]\n\ cmp r8, r0\n\ beq _08130D2E\n\ @@ -451,12 +663,12 @@ _08130D76:\n\ movs r1, 0x1\n\ mov r2, r8\n\ ands r2, r1\n\ - ldr r0, =gPlayerMonIndex\n\ + ldr r0, =sBank_AI\n\ ldrb r0, [r0]\n\ ands r1, r0\n\ cmp r2, r1\n\ beq _08130D90\n\ - bl sub_8131074\n\ + bl RecordLastUsedMoveByTarget\n\ _08130D90:\n\ ldr r2, =gBattleResources\n\ ldr r0, [r2]\n\ @@ -529,7 +741,7 @@ _08130E10:\n\ movs r5, 0x1\n\ movs r3, 0x1\n\ adds r6, r1, 0\n\ - ldr r0, =gPlayerMonIndex\n\ + ldr r0, =sBank_AI\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -590,7 +802,7 @@ _08130E72:\n\ ldrb r2, [r6]\n\ mov r0, r10\n\ strh r2, [r0]\n\ - ldr r0, =gPlayerMonIndex\n\ + ldr r0, =sBank_AI\n\ ldrb r1, [r0]\n\ movs r0, 0x2\n\ eors r0, r1\n\ @@ -678,7 +890,7 @@ _08130EFE:\n\ } #endif -void BattleAI_DoAIProcessing(void) +static void BattleAI_DoAIProcessing(void) { while (AI_THINKING_STRUCT->aiState != AIState_FinishedProcessing) { @@ -687,14 +899,14 @@ void BattleAI_DoAIProcessing(void) case AIState_DoNotProcess: //Needed to match. break; case AIState_SettingUp: - gAIScriptPtr = gUnknown_082DBEF8[AI_THINKING_STRUCT->aiLogicId]; // set AI ptr to logic ID. - if (gBattleMons[gPlayerMonIndex].pp[AI_THINKING_STRUCT->movesetIndex] == 0) + gAIScriptPtr = gBattleAI_ScriptsTable[AI_THINKING_STRUCT->aiLogicId]; // set AI ptr to logic ID. + if (gBattleMons[sBank_AI].pp[AI_THINKING_STRUCT->movesetIndex] == 0) { AI_THINKING_STRUCT->moveConsidered = 0; } else { - AI_THINKING_STRUCT->moveConsidered = gBattleMons[gPlayerMonIndex].moves[AI_THINKING_STRUCT->movesetIndex]; + AI_THINKING_STRUCT->moveConsidered = gBattleMons[sBank_AI].moves[AI_THINKING_STRUCT->movesetIndex]; } AI_THINKING_STRUCT->aiState++; break; @@ -704,70 +916,70 @@ void BattleAI_DoAIProcessing(void) else { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; - AI_THINKING_STRUCT->aiAction |= 1; + AI_THINKING_STRUCT->aiAction |= AI_ACTION_DONE; } - if (AI_THINKING_STRUCT->aiAction & 1) + if (AI_THINKING_STRUCT->aiAction & AI_ACTION_DONE) { AI_THINKING_STRUCT->movesetIndex++; - if (AI_THINKING_STRUCT->movesetIndex < 4 && !(AI_THINKING_STRUCT->aiAction & 8)) + if (AI_THINKING_STRUCT->movesetIndex < 4 && !(AI_THINKING_STRUCT->aiAction & AI_ACTION_DO_NOT_ATTACK)) AI_THINKING_STRUCT->aiState = AIState_SettingUp; else AI_THINKING_STRUCT->aiState++; - AI_THINKING_STRUCT->aiAction &= 0xFE; + AI_THINKING_STRUCT->aiAction &= ~(AI_ACTION_DONE); } break; } } } -void sub_8131074(void) +static void RecordLastUsedMoveByTarget(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gUnknown_02024248[gBankTarget]) + if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == gLastUsedMovesByBanks[gBankTarget]) break; - if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gUnknown_02024248[gBankTarget] //HACK: This redundant condition is a hack to make the asm match. + if (gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] != gLastUsedMovesByBanks[gBankTarget] //HACK: This redundant condition is a hack to make the asm match. && gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] == 0) { - gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gUnknown_02024248[gBankTarget]; + gBattleResources->battleHistory->usedMoves[gBankTarget].moves[i] = gLastUsedMovesByBanks[gBankTarget]; break; } } } -void sub_81310F0(u8 a) +void ClearBankMoveHistory(u8 bank) { s32 i; for (i = 0; i < 4; i++) - gBattleResources->battleHistory->usedMoves[a].moves[i] = 0; + gBattleResources->battleHistory->usedMoves[bank].moves[i] = 0; } -void RecordAbilityBattle(u8 a, u8 b) +void RecordAbilityBattle(u8 bank, u8 abilityId) { - gBattleResources->battleHistory->abilities[a] = b; + gBattleResources->battleHistory->abilities[bank] = abilityId; } -void sub_8131130(u8 a) +void ClearBankAbilityHistory(u8 bank) { - gBattleResources->battleHistory->abilities[a] = 0; + gBattleResources->battleHistory->abilities[bank] = 0; } -void b_history__record_item_x12_of_player(u8 a, u8 b) +void RecordItemEffectBattle(u8 bank, u8 itemEffect) { - gBattleResources->battleHistory->itemEffects[a] = b; + gBattleResources->battleHistory->itemEffects[bank] = itemEffect; } -void sub_8131160(u8 a) +void ClearBankItemEffectHistory(u8 bank) { - gBattleResources->battleHistory->itemEffects[a] = 0; + gBattleResources->battleHistory->itemEffects[bank] = 0; } -void BattleAICmd_if_random_less_than(void) +static void BattleAICmd_if_random_less_than(void) { u16 random = Random(); @@ -777,7 +989,7 @@ void BattleAICmd_if_random_less_than(void) gAIScriptPtr += 6; } -void BattleAICmd_if_random_greater_than(void) +static void BattleAICmd_if_random_greater_than(void) { u16 random = Random(); @@ -787,7 +999,7 @@ void BattleAICmd_if_random_greater_than(void) gAIScriptPtr += 6; } -void BattleAICmd_if_random_equal(void) +static void BattleAICmd_if_random_equal(void) { u16 random = Random(); @@ -797,7 +1009,7 @@ void BattleAICmd_if_random_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_if_random_not_equal(void) +static void BattleAICmd_if_random_not_equal(void) { u16 random = Random(); @@ -807,7 +1019,7 @@ void BattleAICmd_if_random_not_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_score(void) +static void BattleAICmd_score(void) { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // add the result to the array of the move consider's score. @@ -817,12 +1029,12 @@ void BattleAICmd_score(void) gAIScriptPtr += 2; // AI return. } -void BattleAICmd_if_hp_less_than(void) +static void BattleAICmd_if_hp_less_than(void) { u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -832,12 +1044,12 @@ void BattleAICmd_if_hp_less_than(void) gAIScriptPtr += 7; } -void BattleAICmd_if_hp_more_than(void) +static void BattleAICmd_if_hp_more_than(void) { u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -847,12 +1059,12 @@ void BattleAICmd_if_hp_more_than(void) gAIScriptPtr += 7; } -void BattleAICmd_if_hp_equal(void) +static void BattleAICmd_if_hp_equal(void) { u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -862,12 +1074,12 @@ void BattleAICmd_if_hp_equal(void) gAIScriptPtr += 7; } -void BattleAICmd_if_hp_not_equal(void) +static void BattleAICmd_if_hp_not_equal(void) { u16 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -877,13 +1089,13 @@ void BattleAICmd_if_hp_not_equal(void) gAIScriptPtr += 7; } -void BattleAICmd_if_status(void) +static void BattleAICmd_if_status(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -895,13 +1107,13 @@ void BattleAICmd_if_status(void) gAIScriptPtr += 10; } -void BattleAICmd_if_not_status(void) +static void BattleAICmd_if_not_status(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -913,13 +1125,13 @@ void BattleAICmd_if_not_status(void) gAIScriptPtr += 10; } -void BattleAICmd_if_status2(void) +static void BattleAICmd_if_status2(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -931,13 +1143,13 @@ void BattleAICmd_if_status2(void) gAIScriptPtr += 10; } -void BattleAICmd_if_not_status2(void) +static void BattleAICmd_if_not_status2(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -949,13 +1161,13 @@ void BattleAICmd_if_not_status2(void) gAIScriptPtr += 10; } -void BattleAICmd_if_status3(void) +static void BattleAICmd_if_status3(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -967,13 +1179,13 @@ void BattleAICmd_if_status3(void) gAIScriptPtr += 10; } -void BattleAICmd_if_not_status3(void) +static void BattleAICmd_if_not_status3(void) { u16 index; u32 arg; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -985,45 +1197,45 @@ void BattleAICmd_if_not_status3(void) gAIScriptPtr += 10; } -void BattleAICmd_if_status4(void) +static void BattleAICmd_if_side_affecting(void) { u16 index; u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; arg1 = GetBankIdentity(index) & 1; arg2 = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_0202428E[arg1] & arg2) != 0) + if ((gSideAffecting[arg1] & arg2) != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; } -void BattleAICmd_if_not_status4(void) +static void BattleAICmd_if_not_side_affecting(void) { u16 index; u32 arg1, arg2; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; arg1 = GetBankIdentity(index) & 1; arg2 = AIScriptRead32(gAIScriptPtr + 2); - if ((gUnknown_0202428E[arg1] & arg2) == 0) + if ((gSideAffecting[arg1] & arg2) == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); else gAIScriptPtr += 10; } -void BattleAICmd_if_less_than(void) +static void BattleAICmd_if_less_than(void) { if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1031,7 +1243,7 @@ void BattleAICmd_if_less_than(void) gAIScriptPtr += 6; } -void BattleAICmd_if_more_than(void) +static void BattleAICmd_if_more_than(void) { if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1039,7 +1251,7 @@ void BattleAICmd_if_more_than(void) gAIScriptPtr += 6; } -void BattleAICmd_if_equal(void) +static void BattleAICmd_if_equal(void) { if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1047,7 +1259,7 @@ void BattleAICmd_if_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_if_not_equal(void) +static void BattleAICmd_if_not_equal(void) { if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1055,7 +1267,7 @@ void BattleAICmd_if_not_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_if_less_than_32(void) +static void BattleAICmd_if_less_than_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1065,7 +1277,7 @@ void BattleAICmd_if_less_than_32(void) gAIScriptPtr += 9; } -void BattleAICmd_if_more_than_32(void) +static void BattleAICmd_if_more_than_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1075,7 +1287,7 @@ void BattleAICmd_if_more_than_32(void) gAIScriptPtr += 9; } -void BattleAICmd_if_equal_32(void) +static void BattleAICmd_if_equal_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1085,7 +1297,7 @@ void BattleAICmd_if_equal_32(void) gAIScriptPtr += 9; } -void BattleAICmd_if_not_equal_32(void) +static void BattleAICmd_if_not_equal_32(void) { u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1095,7 +1307,7 @@ void BattleAICmd_if_not_equal_32(void) gAIScriptPtr += 9; } -void BattleAICmd_if_move(void) +static void BattleAICmd_if_move(void) { u16 move = AIScriptRead16(gAIScriptPtr + 1); @@ -1105,7 +1317,7 @@ void BattleAICmd_if_move(void) gAIScriptPtr += 7; } -void BattleAICmd_if_not_move(void) +static void BattleAICmd_if_not_move(void) { u16 move = AIScriptRead16(gAIScriptPtr + 1); @@ -1115,7 +1327,7 @@ void BattleAICmd_if_not_move(void) gAIScriptPtr += 7; } -void BattleAICmd_if_in_bytes(void) +static void BattleAICmd_if_in_bytes(void) { u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1131,7 +1343,7 @@ void BattleAICmd_if_in_bytes(void) gAIScriptPtr += 9; } -void BattleAICmd_if_not_in_bytes(void) +static void BattleAICmd_if_not_in_bytes(void) { u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); @@ -1147,7 +1359,7 @@ void BattleAICmd_if_not_in_bytes(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); } -void BattleAICmd_if_in_words(void) +static void BattleAICmd_if_in_words(void) { u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); @@ -1163,7 +1375,7 @@ void BattleAICmd_if_in_words(void) gAIScriptPtr += 9; } -void BattleAICmd_if_not_in_words(void) +static void BattleAICmd_if_not_in_words(void) { u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); @@ -1179,14 +1391,14 @@ void BattleAICmd_if_not_in_words(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); } -void BattleAICmd_if_user_can_damage(void) +static void BattleAICmd_if_user_can_damage(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 - && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) + if (gBattleMons[sBank_AI].moves[i] != 0 + && gBattleMoves[gBattleMons[sBank_AI].moves[i]].power != 0) break; } if (i == 4) @@ -1195,14 +1407,14 @@ void BattleAICmd_if_user_can_damage(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -void BattleAICmd_if_user_cant_damage(void) +static void BattleAICmd_if_user_cant_damage(void) { s32 i; for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 - && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].power != 0) + if (gBattleMons[sBank_AI].moves[i] != 0 + && gBattleMoves[gBattleMons[sBank_AI].moves[i]].power != 0) break; } if (i != 4) @@ -1211,26 +1423,26 @@ void BattleAICmd_if_user_cant_damage(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -void BattleAICmd_get_turn_count(void) +static void BattleAICmd_get_turn_count(void) { - AI_THINKING_STRUCT->funcResult = gUnknown_03005D10[19]; + AI_THINKING_STRUCT->funcResult = gBattleResults.battleTurnCounter; gAIScriptPtr += 1; } -void BattleAICmd_get_type(void) +static void BattleAICmd_get_type(void) { u8 typeVar = gAIScriptPtr[1]; switch (typeVar) { case 1: // player primary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type1; + AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type1; break; case 0: // enemy primary type AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type1; break; case 3: // player secondary type - AI_THINKING_STRUCT->funcResult = gBattleMons[gPlayerMonIndex].type2; + AI_THINKING_STRUCT->funcResult = gBattleMons[sBank_AI].type2; break; case 2: // enemy secondary type AI_THINKING_STRUCT->funcResult = gBattleMons[gBankTarget].type2; @@ -1242,28 +1454,27 @@ void BattleAICmd_get_type(void) gAIScriptPtr += 2; } -// util for double battles? whats this doing in the middle of the battle AI macros? -u8 sub_8131E70(u8 index) +static u8 BattleAI_GetWantedBank(u8 index) { switch (index) { - case 1: - return gPlayerMonIndex; - case 0: + case USER: + return sBank_AI; + case TARGET: default: return gBankTarget; - case 3: - return gPlayerMonIndex ^ 2; - case 2: + case USER_PARTNER: + return sBank_AI ^ 2; + case TARGET_PARTNER: return gBankTarget ^ 2; } } -void BattleAICmd_unk_5F(void) +static void BattleAICmd_is_of_type(void) { - u8 index = sub_8131E70(gAIScriptPtr[1]); + u8 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]); - if(gBattleMons[index].type1 == gAIScriptPtr[2] || gBattleMons[index].type2 == gAIScriptPtr[2]) + if(gBattleMons[bank].type1 == gAIScriptPtr[2] || gBattleMons[bank].type2 == gAIScriptPtr[2]) { AI_THINKING_STRUCT->funcResult = 1; } @@ -1275,14 +1486,14 @@ void BattleAICmd_unk_5F(void) gAIScriptPtr += 3; } -void BattleAICmd_get_move_power(void) +static void BattleAICmd_get_last_used_bank_move_power(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power; gAIScriptPtr += 1; } __attribute__((naked)) // not even going to try. if it doesnt match in ruby, it wont match in emerald (yet). -void BattleAICmd_is_most_powerful_move(void) +static void BattleAICmd_is_most_powerful_move(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -1292,7 +1503,7 @@ void BattleAICmd_is_most_powerful_move(void) push {r5-r7}\n\ sub sp, 0x14\n\ movs r3, 0\n\ - ldr r0, =gUnknown_085B09C8\n\ + ldr r0, =sDiscouragedPowerfulMoveEffects\n\ ldrh r1, [r0]\n\ ldr r5, =0x0000ffff\n\ ldr r6, =gBattleMoves\n\ @@ -1307,7 +1518,7 @@ void BattleAICmd_is_most_powerful_move(void) lsls r0, 2\n\ adds r0, r6\n\ ldrb r4, [r0]\n\ - ldr r1, =gUnknown_085B09C8\n\ + ldr r1, =sDiscouragedPowerfulMoveEffects\n\ _08131F76:\n\ ldrh r0, [r1]\n\ cmp r4, r0\n\ @@ -1331,7 +1542,7 @@ _08131F86:\n\ b _08132126\n\ _08131F9C:\n\ lsls r0, r3, 1\n\ - ldr r1, =gUnknown_085B09C8\n\ + ldr r1, =sDiscouragedPowerfulMoveEffects\n\ adds r0, r1\n\ ldrh r3, [r0]\n\ ldr r0, =0x0000ffff\n\ @@ -1339,7 +1550,7 @@ _08131F9C:\n\ beq _08131FAC\n\ b _08132126\n\ _08131FAC:\n\ - ldr r0, =gUnknown_02024400\n\ + ldr r0, =gDynamicBasePower\n\ movs r1, 0\n\ strh r1, [r0]\n\ ldr r0, =gBattleStruct\n\ @@ -1354,14 +1565,14 @@ _08131FAC:\n\ strb r2, [r0]\n\ movs r6, 0\n\ mov r9, r3\n\ - ldr r2, =gUnknown_085B09C8\n\ + ldr r2, =sDiscouragedPowerfulMoveEffects\n\ ldrh r2, [r2]\n\ str r2, [sp, 0x10]\n\ _08131FD0:\n\ movs r3, 0\n\ ldr r5, =gBattleMons\n\ lsls r4, r6, 1\n\ - ldr r7, =gPlayerMonIndex\n\ + ldr r7, =sBank_AI\n\ lsls r0, r6, 2\n\ mov r8, r0\n\ adds r1, r6, 0x1\n\ @@ -1383,7 +1594,7 @@ _08131FD0:\n\ lsls r0, 2\n\ adds r0, r2\n\ ldrb r2, [r0]\n\ - ldr r1, =gUnknown_085B09C8\n\ + ldr r1, =sDiscouragedPowerfulMoveEffects\n\ _08132004:\n\ ldrh r0, [r1]\n\ cmp r2, r0\n\ @@ -1405,7 +1616,7 @@ _08132014:\n\ cmp r0, 0\n\ beq _081320C0\n\ lsls r0, r3, 1\n\ - ldr r2, =gUnknown_085B09C8\n\ + ldr r2, =sDiscouragedPowerfulMoveEffects\n\ adds r0, r2\n\ ldrh r0, [r0]\n\ cmp r0, r9\n\ @@ -1424,11 +1635,11 @@ _08132014:\n\ ldrb r0, [r7]\n\ ldr r4, =gBankTarget\n\ ldrb r1, [r4]\n\ - bl sub_8046E7C\n\ + bl AI_CalcDmg\n\ ldrh r0, [r5]\n\ ldrb r1, [r7]\n\ ldrb r2, [r4]\n\ - bl move_effectiveness_something\n\ + bl TypeCalc\n\ mov r4, sp\n\ add r4, r8\n\ ldr r2, =gBattleMoveDamage\n\ @@ -1525,17 +1736,17 @@ _08132130:\n\ .syntax divided"); } -void BattleAICmd_get_move(void) +static void BattleAICmd_get_last_used_bank_move(void) { if (gAIScriptPtr[1] == USER) - AI_THINKING_STRUCT->funcResult = gUnknown_02024248[gPlayerMonIndex]; + AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[sBank_AI]; else - AI_THINKING_STRUCT->funcResult = gUnknown_02024248[gBankTarget]; + AI_THINKING_STRUCT->funcResult = gLastUsedMovesByBanks[gBankTarget]; gAIScriptPtr += 2; } -void BattleAICmd_if_arg_equal(void) +static void BattleAICmd_if_arg_equal(void) { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1543,7 +1754,7 @@ void BattleAICmd_if_arg_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_if_arg_not_equal(void) +static void BattleAICmd_if_arg_not_equal(void) { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -1551,41 +1762,41 @@ void BattleAICmd_if_arg_not_equal(void) gAIScriptPtr += 6; } -void BattleAICmd_if_would_go_first(void) +static void BattleAICmd_if_would_go_first(void) { - if (b_first_side(gPlayerMonIndex, gBankTarget, 1) == gAIScriptPtr[1]) + if (b_first_side(sBank_AI, gBankTarget, 1) == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -void BattleAICmd_if_would_not_go_first(void) +static void BattleAICmd_if_would_not_go_first(void) { - if (b_first_side(gPlayerMonIndex, gBankTarget, 1) != gAIScriptPtr[1]) + if (b_first_side(sBank_AI, gBankTarget, 1) != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -void BattleAICmd_nullsub_2A(void) +static void BattleAICmd_nullsub_2A(void) { } -void BattleAICmd_nullsub_2B(void) +static void BattleAICmd_nullsub_2B(void) { } -void BattleAICmd_count_alive_pokemon(void) +static void BattleAICmd_count_alive_pokemon(void) { u8 index; - u8 var, var2; + u8 bankOnField1, bankOnField2; struct Pokemon *party; int i; AI_THINKING_STRUCT->funcResult = 0; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -1597,19 +1808,19 @@ void BattleAICmd_count_alive_pokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 status; - var = gBattlePartyID[index][0]; + bankOnField1 = gBattlePartyID[index]; status = GetBankIdentity(index) ^ 2; - var2 = gBattlePartyID[GetBankByPlayerAI(status)][0]; + bankOnField2 = gBattlePartyID[GetBankByPlayerAI(status)]; } - else + else // in singles there's only one bank by side { - var = gBattlePartyID[index][0]; - var2 = gBattlePartyID[index][0]; + bankOnField1 = gBattlePartyID[index]; + bankOnField2 = gBattlePartyID[index]; } for (i = 0; i < 6; i++) { - if (i != var && i != var2 + if (i != bankOnField1 && i != bankOnField2 && GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) @@ -1621,24 +1832,24 @@ void BattleAICmd_count_alive_pokemon(void) gAIScriptPtr += 2; } -void BattleAICmd_get_considered_move(void) +static void BattleAICmd_get_considered_move(void) { AI_THINKING_STRUCT->funcResult = AI_THINKING_STRUCT->moveConsidered; gAIScriptPtr += 1; } -void BattleAICmd_get_considered_move_effect(void) +static void BattleAICmd_get_considered_move_effect(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect; gAIScriptPtr += 1; } -void BattleAICmd_get_ability(void) +static void BattleAICmd_get_ability(void) { u8 index; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + index = sBank_AI; else index = gBankTarget; @@ -1666,7 +1877,7 @@ void BattleAICmd_get_ability(void) if (gBaseStats[gBattleMons[index].species].ability2 != ABILITY_NONE) { // AI has no knowledge of opponent, so it guesses which ability. - if(Random() & 1) + if (Random() & 1) { AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[index].species].ability1; } @@ -1694,90 +1905,76 @@ void BattleAICmd_get_ability(void) } #ifdef NONMATCHING -void tai60_unk(void) +static void BattleAICmd_check_ability(void) { - u8 index = sub_8131E70(gAIScriptPtr[1]); - u8 arg2 = gAIScriptPtr[2]; - u8 var; + u8 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u8 ability = gAIScriptPtr[2]; - if(gAIScriptPtr[1] == 0 || gAIScriptPtr[1] == 2) + if (gAIScriptPtr[1] == TARGET || gAIScriptPtr[1] == TARGET_PARTNER) { - // _0813253A - if(BATTLE_HISTORY->abilities[index] != 0) + if (BATTLE_HISTORY->abilities[bank] != 0) { - var = BATTLE_HISTORY->abilities[index]; - AI_THINKING_STRUCT->funcResult = var; + ability = BATTLE_HISTORY->abilities[bank]; + AI_THINKING_STRUCT->funcResult = ability; } - else + // abilities that prevent fleeing. + else if (gBattleMons[bank].ability == ABILITY_SHADOW_TAG + || gBattleMons[bank].ability == ABILITY_MAGNET_PULL + || gBattleMons[bank].ability == ABILITY_ARENA_TRAP) { - // _0813255C - if (gBattleMons[index].ability == ABILITY_SHADOW_TAG - || gBattleMons[index].ability == ABILITY_MAGNET_PULL - || gBattleMons[index].ability == ABILITY_ARENA_TRAP) - { - var = gBattleMons[index].ability; - } - else + ability = gBattleMons[bank].ability; + } + else if (gBaseStats[gBattleMons[bank].species].ability1 != ABILITY_NONE) + { + if (gBaseStats[gBattleMons[bank].species].ability2 != ABILITY_NONE) { - // _08132588 - if (gBaseStats[gBattleMons[index].species].ability1 != ABILITY_NONE) + if (gBaseStats[gBattleMons[bank].species].ability1 != ability + && gBaseStats[gBattleMons[bank].species].ability2 != ability) { - if (gBaseStats[gBattleMons[index].species].ability2 != ABILITY_NONE) - { - if(gBaseStats[gBattleMons[index].species].ability1 != arg2 && gBaseStats[gBattleMons[index].species].ability2 != arg2) - { - var = 2; - } - else - { - var = gBaseStats[gBattleMons[index].species].ability1; - } - } - else - { - // _081325B4 - var = gBaseStats[gBattleMons[index].species].ability1; - } + ability = gBaseStats[gBattleMons[bank].species].ability1; } else - { - // _081325B8 - var = gBaseStats[gBattleMons[index].species].ability2; - } + ability = 0; + } + else + { + ability = gBaseStats[gBattleMons[bank].species].ability1; } } + else + { + ability = gBaseStats[gBattleMons[bank].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. + } } else { - // _081325BC - var = gBattleMons[index].ability; + // The AI knows its own or partner's ability. + ability = gBattleMons[bank].ability; } - - // _081325CA - if(var == ABILITY_NONE) + if (ability == 0) { - AI_THINKING_STRUCT->funcResult = 2; + AI_THINKING_STRUCT->funcResult = 2; // unable to answer } - else if(var == arg2) + else if (ability == gAIScriptPtr[2]) { - AI_THINKING_STRUCT->funcResult = 1; + AI_THINKING_STRUCT->funcResult = 1; // pokemon has the ability we wanted to check } else { - AI_THINKING_STRUCT->funcResult = 0; + AI_THINKING_STRUCT->funcResult = 0; // pokemon doesn't have the ability we wanted to check } gAIScriptPtr += 3; } #else __attribute__((naked)) -void tai60_unk(void) +static void BattleAICmd_check_ability(void) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ ldr r4, =gAIScriptPtr\n\ ldr r0, [r4]\n\ ldrb r0, [r0, 0x1]\n\ - bl sub_8131E70\n\ + bl BattleAI_GetWantedBank\n\ lsls r0, 24\n\ lsrs r5, r0, 24\n\ ldr r0, [r4]\n\ @@ -1900,13 +2097,15 @@ _08132608:\n\ } #endif -void BattleAICmd_get_highest_possible_damage(void) +static void BattleAICmd_get_highest_type_effectiveness(void) { s32 i; + u8* dynamicMoveType; - gUnknown_02024400 = 0; - gBattleStruct[0x13] = 0; - gBattleScripting[0xE] = 1; + gDynamicBasePower = 0; + dynamicMoveType = &gBattleStruct->dynamicMoveType; + *dynamicMoveType = 0; + gBattleScripting.dmgMultiplier = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; AI_THINKING_STRUCT->funcResult = 0; @@ -1914,11 +2113,11 @@ void BattleAICmd_get_highest_possible_damage(void) for (i = 0; i < 4; i++) { gBattleMoveDamage = 40; - gCurrentMove = gBattleMons[gPlayerMonIndex].moves[i]; + gCurrentMove = gBattleMons[sBank_AI].moves[i]; if (gCurrentMove) { - move_effectiveness_something(gCurrentMove, gPlayerMonIndex, gBankTarget); + TypeCalc(gCurrentMove, sBank_AI, gBankTarget); // reduce by 1/3. if (gBattleMoveDamage == 120) @@ -1930,7 +2129,7 @@ void BattleAICmd_get_highest_possible_damage(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) // if it's a status move, it wont do anything. + if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) gBattleMoveDamage = 0; if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage) @@ -1940,20 +2139,20 @@ void BattleAICmd_get_highest_possible_damage(void) gAIScriptPtr += 1; } -void BattleAICmd_if_damage_bonus(void) +static void BattleAICmd_if_type_effectiveness(void) { u8 damageVar; - gUnknown_02024400 = 0; - gBattleStruct[0x13] = 0; - gBattleScripting[0xE] = 1; + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleScripting.dmgMultiplier = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; gBattleMoveDamage = 40; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - move_effectiveness_something(gCurrentMove, gPlayerMonIndex, gBankTarget); + TypeCalc(gCurrentMove, sBank_AI, gBankTarget); if (gBattleMoveDamage == 120) gBattleMoveDamage = 80; @@ -1964,7 +2163,7 @@ void BattleAICmd_if_damage_bonus(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) + if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) gBattleMoveDamage = 0; // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. @@ -1976,15 +2175,15 @@ void BattleAICmd_if_damage_bonus(void) gAIScriptPtr += 6; } -void BattleAICmd_nullsub_32(void) +static void BattleAICmd_nullsub_32(void) { } -void BattleAICmd_nullsub_33(void) +static void BattleAICmd_nullsub_33(void) { } -void BattleAICmd_if_status_in_party(void) +static void BattleAICmd_if_status_in_party(void) { struct Pokemon *party; int i; @@ -1994,7 +2193,7 @@ void BattleAICmd_if_status_in_party(void) switch(gAIScriptPtr[1]) { case 1: - index = gPlayerMonIndex; + index = sBank_AI; break; default: index = gBankTarget; @@ -2021,7 +2220,7 @@ void BattleAICmd_if_status_in_party(void) gAIScriptPtr += 10; } -void BattleAICmd_if_status_not_in_party(void) +static void BattleAICmd_if_status_not_in_party(void) { struct Pokemon *party; int i; @@ -2031,7 +2230,7 @@ void BattleAICmd_if_status_not_in_party(void) switch(gAIScriptPtr[1]) { case 1: - index = gPlayerMonIndex; + index = sBank_AI; break; default: index = gBankTarget; @@ -2057,21 +2256,21 @@ void BattleAICmd_if_status_not_in_party(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); } -void BattleAICmd_get_weather(void) +static void BattleAICmd_get_weather(void) { - if (gBattleWeather & 7) + if (gBattleWeather & WEATHER_RAIN_ANY) AI_THINKING_STRUCT->funcResult = 1; - if (gBattleWeather & 0x18) + if (gBattleWeather & WEATHER_SANDSTORM_ANY) AI_THINKING_STRUCT->funcResult = 2; - if (gBattleWeather & 0x60) + if (gBattleWeather & WEATHER_SUN_ANY) AI_THINKING_STRUCT->funcResult = 0; - if (gBattleWeather & 0x80) + if (gBattleWeather & WEATHER_HAIL_ANY) AI_THINKING_STRUCT->funcResult = 3; gAIScriptPtr += 1; } -void BattleAICmd_if_effect(void) +static void BattleAICmd_if_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -2079,7 +2278,7 @@ void BattleAICmd_if_effect(void) gAIScriptPtr += 6; } -void BattleAICmd_if_not_effect(void) +static void BattleAICmd_if_not_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -2087,67 +2286,67 @@ void BattleAICmd_if_not_effect(void) gAIScriptPtr += 6; } -void BattleAICmd_if_stat_level_less_than(void) +static void BattleAICmd_if_stat_level_less_than(void) { - u32 party; + u32 bank; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + bank = sBank_AI; else - party = gBankTarget; + bank = gBankTarget; - if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) + if (gBattleMons[bank].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); else gAIScriptPtr += 8; } -void BattleAICmd_if_stat_level_more_than(void) +static void BattleAICmd_if_stat_level_more_than(void) { - u32 party; + u32 bank; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + bank = sBank_AI; else - party = gBankTarget; + bank = gBankTarget; - if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) + if (gBattleMons[bank].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); else gAIScriptPtr += 8; } -void BattleAICmd_if_stat_level_equal(void) +static void BattleAICmd_if_stat_level_equal(void) { - u32 party; + u32 bank; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + bank = sBank_AI; else - party = gBankTarget; + bank = gBankTarget; - if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) + if (gBattleMons[bank].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); else gAIScriptPtr += 8; } -void BattleAICmd_if_stat_level_not_equal(void) +static void BattleAICmd_if_stat_level_not_equal(void) { - u32 party; + u32 bank; if (gAIScriptPtr[1] == USER) - party = gPlayerMonIndex; + bank = sBank_AI; else - party = gBankTarget; + bank = gBankTarget; - if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) + if (gBattleMons[bank].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); else gAIScriptPtr += 8; } -void BattleAICmd_if_can_faint(void) +static void BattleAICmd_if_can_faint(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { @@ -2155,16 +2354,16 @@ void BattleAICmd_if_can_faint(void) return; } - gUnknown_02024400 = 0; - gBattleStruct[0x13] = 0; - gBattleScripting[0xE] = 1; + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleScripting.dmgMultiplier = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - sub_8046E7C(gPlayerMonIndex, gBankTarget); - move_effectiveness_something(gCurrentMove, gPlayerMonIndex, gBankTarget); + AI_CalcDmg(sBank_AI, gBankTarget); + TypeCalc(gCurrentMove, sBank_AI, gBankTarget); - gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->unk18[AI_THINKING_STRUCT->movesetIndex] / 100; + gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; // moves always do at least 1 damage. if (gBattleMoveDamage == 0) @@ -2176,7 +2375,7 @@ void BattleAICmd_if_can_faint(void) gAIScriptPtr += 5; } -void BattleAICmd_if_cant_faint(void) +static void BattleAICmd_if_cant_faint(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2) { @@ -2184,16 +2383,16 @@ void BattleAICmd_if_cant_faint(void) return; } - gUnknown_02024400 = 0; - gBattleStruct[0x13] = 0; - gBattleScripting[0xE] = 1; + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleScripting.dmgMultiplier = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; - sub_8046E7C(gPlayerMonIndex, gBankTarget); - move_effectiveness_something(gCurrentMove, gPlayerMonIndex, gBankTarget); + AI_CalcDmg(sBank_AI, gBankTarget); + TypeCalc(gCurrentMove, sBank_AI, gBankTarget); - gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->unk18[AI_THINKING_STRUCT->movesetIndex] / 100; + gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; // this macro is missing the damage 0 = 1 assumption. @@ -2203,18 +2402,17 @@ void BattleAICmd_if_cant_faint(void) gAIScriptPtr += 5; } -void BattleAICmd_if_has_move(void) +static void BattleAICmd_if_has_move(void) { int i; u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); switch(gAIScriptPtr[1]) { - case 1: - // _08132E42 + case USER: for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) + if (gBattleMons[sBank_AI].moves[i] == *temp_ptr) break; } if (i == 4) @@ -2227,8 +2425,8 @@ void BattleAICmd_if_has_move(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); return; } - case 3: // new to Emerald - if(gBattleMons[gPlayerMonIndex ^ 2].hp == 0) + case USER_PARTNER: + if (gBattleMons[sBank_AI ^ 2].hp == 0) { gAIScriptPtr += 8; return; @@ -2237,7 +2435,7 @@ void BattleAICmd_if_has_move(void) { for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex ^ 2].moves[i] == *temp_ptr) + if (gBattleMons[sBank_AI ^ 2].moves[i] == *temp_ptr) break; } } @@ -2251,8 +2449,8 @@ void BattleAICmd_if_has_move(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); return; } - case 0: - case 2: + case TARGET: + case TARGET_PARTNER: for (i = 0; i < 4; i++) { if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *temp_ptr) @@ -2271,18 +2469,18 @@ void BattleAICmd_if_has_move(void) } } -void BattleAICmd_if_dont_have_move(void) +static void BattleAICmd_if_dont_have_move(void) { int i; u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2); switch(gAIScriptPtr[1]) { - case 1: - case 3: // if_dont_have_move does not have the seperate 3 case check in Emerald unlike if_has_move. + case USER: + case USER_PARTNER: // UB: no separate check for user partner for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] == *temp_ptr) + if (gBattleMons[sBank_AI].moves[i] == *temp_ptr) break; } if (i != 4) @@ -2295,8 +2493,8 @@ void BattleAICmd_if_dont_have_move(void) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); return; } - case 0: - case 2: + case TARGET: + case TARGET_PARTNER: for (i = 0; i < 4; i++) { if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] == *temp_ptr) @@ -2315,17 +2513,17 @@ void BattleAICmd_if_dont_have_move(void) } } -void BattleAICmd_if_move_effect(void) +static void BattleAICmd_if_move_effect(void) { int i; switch (gAIScriptPtr[1]) { - case 1: - case 3: // _08133044 - for(i = 0; i < 4; i++) + case USER: + case USER_PARTNER: + for (i = 0; i < 4; i++) { - if(gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) + if(gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBank_AI].moves[i]].effect == gAIScriptPtr[2]) break; } if (i == 4) @@ -2333,11 +2531,11 @@ void BattleAICmd_if_move_effect(void) else gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); break; - case 0: - case 2: // _08133090 + case TARGET: + case TARGET_PARTNER: for (i = 0; i < 4; i++) { - if (gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2]) + if (gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2]) break; } if (i == 4) @@ -2348,17 +2546,17 @@ void BattleAICmd_if_move_effect(void) } } -void BattleAICmd_if_not_move_effect(void) +static void BattleAICmd_if_not_move_effect(void) { int i; switch (gAIScriptPtr[1]) { - case 1: - case 3: // _0813313C - for(i = 0; i < 4; i++) + case USER: + case USER_PARTNER: + for (i = 0; i < 4; i++) { - if(gBattleMons[gPlayerMonIndex].moves[i] != 0 && gBattleMoves[gBattleMons[gPlayerMonIndex].moves[i]].effect == gAIScriptPtr[2]) + if(gBattleMons[sBank_AI].moves[i] != 0 && gBattleMoves[gBattleMons[sBank_AI].moves[i]].effect == gAIScriptPtr[2]) break; } if (i != 4) @@ -2366,8 +2564,8 @@ void BattleAICmd_if_not_move_effect(void) else gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); break; - case 0: - case 2: // _08133188 + case TARGET: + case TARGET_PARTNER: for (i = 0; i < 4; i++) { if (BATTLE_HISTORY->usedMoves[gBankTarget].moves[i] && gBattleMoves[BATTLE_HISTORY->usedMoves[gBankTarget].moves[i]].effect == gAIScriptPtr[2]) @@ -2381,18 +2579,18 @@ void BattleAICmd_if_not_move_effect(void) } } -void BattleAICmd_if_last_move_did_damage(void) +static void BattleAICmd_if_any_move_disabled_or_encored(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; if (gAIScriptPtr[2] == 0) { - if (gDisableStructs[index].disabledMove == 0) + if (gDisableStructs[bank].disabledMove == 0) { gAIScriptPtr += 7; return; @@ -2405,7 +2603,7 @@ void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr += 7; return; } - else if (gDisableStructs[index].encoredMove != 0) + else if (gDisableStructs[bank].encoredMove != 0) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); return; @@ -2413,11 +2611,11 @@ void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr += 7; } -void BattleAICmd_if_encored(void) +static void BattleAICmd_if_curr_move_disabled_or_encored(void) { switch (gAIScriptPtr[1]) { - case 0: // _08109348 + case 0: if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -2425,7 +2623,7 @@ void BattleAICmd_if_encored(void) } gAIScriptPtr += 6; return; - case 1: // _08109370 + case 1: if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); @@ -2439,14 +2637,14 @@ void BattleAICmd_if_encored(void) } } -void BattleAICmd_flee(void) +static void BattleAICmd_flee(void) { - AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK2 | AI_ACTION_UNK4); // what matters is UNK2 being enabled. + AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_FLEE | AI_ACTION_DO_NOT_ATTACK); // what matters is UNK2 being enabled. } -void BattleAICmd_if_random_100(void) +static void BattleAICmd_if_random_100(void) { - u8 safariFleeRate = gBattleStruct[0x7B] * 5; // safari flee rate, from 0-20 + u8 safariFleeRate = gBattleStruct->field_7B * 5; // safari flee rate, from 0-20 if ((u8)(Random() % 100) < safariFleeRate) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); @@ -2454,198 +2652,202 @@ void BattleAICmd_if_random_100(void) gAIScriptPtr += 5; } -void BattleAICmd_watch(void) +static void BattleAICmd_watch(void) { - AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK3 | AI_ACTION_UNK4); // what matters is UNK3 being enabled. + AI_THINKING_STRUCT->aiAction |= (AI_ACTION_DONE | AI_ACTION_WATCH | AI_ACTION_DO_NOT_ATTACK); // what matters is UNK3 being enabled. } -void BattleAICmd_get_hold_effect(void) +static void BattleAICmd_get_hold_effect(void) { - u8 index; + u8 bank; u16 status; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - if (gActiveBank != index) + if (gActiveBank != bank) { - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[index]); + AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(BATTLE_HISTORY->itemEffects[bank]); } else - AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[index].item); + AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[bank].item); gAIScriptPtr += 2; } -void tai62_unk(void) +static void BattleAICmd_if_holds_item(void) { - u8 index = sub_8131E70(gAIScriptPtr[1]); + u8 bank = BattleAI_GetWantedBank(gAIScriptPtr[1]); u16 item; u8 var1, var2; - if((index & 1) == (gPlayerMonIndex & 1)) - item = gBattleMons[index].item; + if ((bank & 1) == (sBank_AI & 1)) + item = gBattleMons[bank].item; else - item = BATTLE_HISTORY->itemEffects[index]; + item = BATTLE_HISTORY->itemEffects[bank]; - // strange way of loading a 16-bit argument from the AI command. + // UB: doesn't properly read an unaligned u16 var2 = gAIScriptPtr[2]; var1 = gAIScriptPtr[3]; - if((var1 | var2) == item) + if ((var1 | var2) == item) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); else gAIScriptPtr += 8; } -void BattleAICmd_get_gender(void) +static void BattleAICmd_get_gender(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - AI_THINKING_STRUCT->funcResult = pokemon_species_get_gender_info(gBattleMons[index].species, gBattleMons[index].personality); + AI_THINKING_STRUCT->funcResult = GetGenderFromSpeciesAndPersonality(gBattleMons[bank].species, gBattleMons[bank].personality); gAIScriptPtr += 2; } -void BattleAICmd_is_first_turn(void) +static void BattleAICmd_is_first_turn(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[index].isFirstTurn; + AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].isFirstTurn; gAIScriptPtr += 2; } -void BattleAICmd_get_stockpile_count(void) +static void BattleAICmd_get_stockpile_count(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[index].stockpileCounter; + AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].stockpileCounter; gAIScriptPtr += 2; } -void BattleAICmd_is_double_battle(void) +static void BattleAICmd_is_double_battle(void) { AI_THINKING_STRUCT->funcResult = gBattleTypeFlags & BATTLE_TYPE_DOUBLE; gAIScriptPtr += 1; } -void BattleAICmd_get_item(void) +static void BattleAICmd_get_used_held_item(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - // this hack and a half matches. whatever. i dont care. someone else fix this mess later. PS: still cant fix this. - AI_THINKING_STRUCT->funcResult = gBattleStruct[0xB8 + (index * 2)]; + // This is likely a leftover from Ruby's code and its ugly ewram access + #ifdef NONMATCHING + AI_THINKING_STRUCT->funcResult = gBattleStruct->usedHeldItems[bank]; + #else + AI_THINKING_STRUCT->funcResult = *(u8*)((u8*)(gBattleStruct) + 0xB8 + (bank * 2)); + #endif // NONMATCHING gAIScriptPtr += 2; } -void BattleAICmd_get_move_type_from_result(void) +static void BattleAICmd_get_move_type_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type; gAIScriptPtr += 1; } -void BattleAICmd_get_move_power_from_result(void) +static void BattleAICmd_get_move_power_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power; gAIScriptPtr += 1; } -void BattleAICmd_get_move_effect_from_result(void) +static void BattleAICmd_get_move_effect_from_result(void) { AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect; gAIScriptPtr += 1; } -void BattleAICmd_get_protect_count(void) +static void BattleAICmd_get_protect_count(void) { - u8 index; + u8 bank; if (gAIScriptPtr[1] == USER) - index = gPlayerMonIndex; + bank = sBank_AI; else - index = gBankTarget; + bank = gBankTarget; - AI_THINKING_STRUCT->funcResult = gDisableStructs[index].protectUses; + AI_THINKING_STRUCT->funcResult = gDisableStructs[bank].protectUses; gAIScriptPtr += 2; } -void BattleAICmd_nullsub_52(void) +static void BattleAICmd_nullsub_52(void) { } -void BattleAICmd_nullsub_53(void) +static void BattleAICmd_nullsub_53(void) { } -void BattleAICmd_nullsub_54(void) +static void BattleAICmd_nullsub_54(void) { } -void BattleAICmd_nullsub_55(void) +static void BattleAICmd_nullsub_55(void) { } -void BattleAICmd_nullsub_56(void) +static void BattleAICmd_nullsub_56(void) { } -void BattleAICmd_nullsub_57(void) +static void BattleAICmd_nullsub_57(void) { } -void BattleAICmd_call(void) +static void BattleAICmd_call(void) { - b_mc_stack_push(gAIScriptPtr + 5); + AIStackPushVar(gAIScriptPtr + 5); gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -void BattleAICmd_jump(void) +static void BattleAICmd_jump(void) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); } -void BattleAICmd_end(void) +static void BattleAICmd_end(void) { - if (b_mc_stack_pop_cursor() == 0) - AI_THINKING_STRUCT->aiAction |= AI_ACTION_UNK1; + if (AIStackPop() == 0) + AI_THINKING_STRUCT->aiAction |= AI_ACTION_DONE; } -void BattleAICmd_if_level_cond(void) +static void BattleAICmd_if_level_cond(void) { switch (gAIScriptPtr[1]) { case 0: // greater than - if (gBattleMons[gPlayerMonIndex].level > gBattleMons[gBankTarget].level) + if (gBattleMons[sBank_AI].level > gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2653,7 +2855,7 @@ void BattleAICmd_if_level_cond(void) gAIScriptPtr += 6; return; case 1: // less than - if (gBattleMons[gPlayerMonIndex].level < gBattleMons[gBankTarget].level) + if (gBattleMons[sBank_AI].level < gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2661,7 +2863,7 @@ void BattleAICmd_if_level_cond(void) gAIScriptPtr += 6; return; case 2: // equal - if (gBattleMons[gPlayerMonIndex].level == gBattleMons[gBankTarget].level) + if (gBattleMons[sBank_AI].level == gBattleMons[gBankTarget].level) { gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); return; @@ -2671,7 +2873,7 @@ void BattleAICmd_if_level_cond(void) } } -void BattleAICmd_if_taunted(void) +static void BattleAICmd_if_target_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 != 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); @@ -2679,7 +2881,7 @@ void BattleAICmd_if_taunted(void) gAIScriptPtr += 5; } -void BattleAICmd_if_not_taunted(void) +static void BattleAICmd_if_target_not_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 == 0) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); @@ -2687,35 +2889,35 @@ void BattleAICmd_if_not_taunted(void) gAIScriptPtr += 5; } -void tai5E_unk(void) +static void BattleAICmd_if_target_is_ally(void) { - if((gPlayerMonIndex & 1) == (gBankTarget & 1)) + if((sBank_AI & 1) == (gBankTarget & 1)) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); else gAIScriptPtr += 5; } -void tai61_unk(void) +static void BattleAICmd_if_flash_fired(void) { - u8 index = sub_8131E70(gAIScriptPtr[1]); + u8 index = BattleAI_GetWantedBank(gAIScriptPtr[1]); - if(gBattleResources->flags->flags[index] & 1) + if(gBattleResources->flags->flags[index] & UNKNOWN_FLAG_FLASH_FIRE) gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); else gAIScriptPtr += 6; } -void b_mc_stack_push(u8 *var) +static void AIStackPushVar(u8 *var) { gBattleResources->AI_ScriptsStack->ptr[gBattleResources->AI_ScriptsStack->size++] = var; } -void b_mc_stack_push_cursor(void) +static void AIStackPushVar_cursor(void) { gBattleResources->AI_ScriptsStack->ptr[gBattleResources->AI_ScriptsStack->size++] = gAIScriptPtr; } -bool8 b_mc_stack_pop_cursor(void) +static bool8 AIStackPop(void) { if (gBattleResources->AI_ScriptsStack->size != 0) { diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c index be0bb9b6b..105b334f2 100644 --- a/src/calculate_base_damage.c +++ b/src/calculate_base_damage.c @@ -17,7 +17,7 @@ extern u8 gCritMultiplier; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBattleMovePower; -extern u16 gTrainerBattleOpponent; +extern u16 gTrainerBattleOpponent_A; u8 CountAliveMonsInBattle(u8); bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 bank); @@ -109,9 +109,9 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attackerHoldEffect == HOLD_EFFECT_CHOICE_BAND) attack = (150 * attack) / 100; - if (attackerHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_FRONTIER)) && (attacker->species == SPECIES_LATIAS || attacker->species == SPECIES_LATIOS)) + if (attackerHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER)) && (attacker->species == SPECIES_LATIAS || attacker->species == SPECIES_LATIOS)) spAttack = (150 * spAttack) / 100; - if (defenderHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_FRONTIER)) && (defender->species == SPECIES_LATIAS || defender->species == SPECIES_LATIOS)) + if (defenderHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER)) && (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; diff --git a/sym_common.txt b/sym_common.txt index b3ef89716..f65b575a9 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -209,7 +209,7 @@ gUnknown_03005D00: @ 3005D00 gBattleMainFunc: @ 3005D04 .space 0xC -gUnknown_03005D10: @ 3005D10 +gBattleResults: @ 3005D10 .space 0x2A gUnknown_03005D3A: @ 3005D3A diff --git a/sym_ewram.txt b/sym_ewram.txt index 3b101e836..1aac871ec 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -434,7 +434,7 @@ gUnknown_02024230: @ 2024230 gUnknown_02024240: @ 2024240 .space 0x8 -gUnknown_02024248: @ 2024248 +gLastUsedMovesByBanks: @ 2024248 .space 0x8 gUnknown_02024250: @ 2024250 @@ -470,7 +470,7 @@ gUnknown_02024288: @ 2024288 gUnknown_0202428C: @ 202428C .space 0x2 -gUnknown_0202428E: @ 202428E +gSideAffecting: @ 202428E .space 0x6 gSideTimers: @ 2024294 @@ -518,7 +518,7 @@ gUnknown_020243FC: @ 20243FC gUnknown_020243FE: @ 20243FE .space 0x2 -gUnknown_02024400: @ 2024400 +gDynamicBasePower: @ 2024400 .space 0x2 gUnknown_02024402: @ 2024402 @@ -941,10 +941,10 @@ gUnknown_02038BC6: @ 2038BC6 gUnknown_02038BC8: @ 2038BC8 .space 0x2 -gUnknown_02038BCA: @ 2038BCA +gTrainerBattleOpponent_A: @ 2038BCA .space 0x2 -gUnknown_02038BCC: @ 2038BCC +gTrainerBattleOpponent_B: @ 2038BCC .space 0x2 gUnknown_02038BCE: @ 2038BCE @@ -1514,12 +1514,9 @@ gUnknown_0203AB30: @ 203AB30 gUnknown_0203AB34: @ 203AB34 .space 0x4 -gAIScriptPtr: @ 203AB38 - .space 0x4 - -gPlayerMonIndex: @ 203AB3C - .space 0x4 - + .include "src/battle_ai.o" + +.align 2 gUnknown_0203AB40: @ 203AB40 .space 0x8 |