diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-09 00:04:47 -0400 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2018-10-09 00:04:47 -0400 |
commit | 799a9ccfe28999477776cd3ae79ff0d32c836565 (patch) | |
tree | efce843ae79ddbfed52fe6865c621494c04b6068 | |
parent | 6c614d71a522975c269678667331418a2d561b06 (diff) |
decompile up to sub_8043B40
-rw-r--r-- | asm/battle_1.s | 20 | ||||
-rw-r--r-- | asm/battle_2.s | 34 | ||||
-rw-r--r-- | asm/battle_controller_link_opponent.s | 12 | ||||
-rw-r--r-- | asm/battle_controller_link_partner.s | 12 | ||||
-rw-r--r-- | asm/battle_controller_player.s | 12 | ||||
-rw-r--r-- | asm/battle_controllers.s | 20 | ||||
-rw-r--r-- | asm/battle_message.s | 36 | ||||
-rw-r--r-- | asm/battle_records.s | 4 | ||||
-rw-r--r-- | asm/battle_script_commands.s | 2 | ||||
-rw-r--r-- | asm/battle_util2.s | 6 | ||||
-rw-r--r-- | asm/cable_club.s | 32 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 2 | ||||
-rw-r--r-- | asm/field_poison.s | 2 | ||||
-rw-r--r-- | asm/field_specials.s | 2 | ||||
-rw-r--r-- | asm/link.s | 40 | ||||
-rw-r--r-- | asm/link_rfu_2.s | 26 | ||||
-rw-r--r-- | asm/link_rfu_3.s | 28 | ||||
-rw-r--r-- | asm/overworld.s | 8 | ||||
-rw-r--r-- | asm/party_menu.s | 6 | ||||
-rw-r--r-- | asm/pokeball.s | 4 | ||||
-rw-r--r-- | asm/pokemon_3.s | 1131 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 4 | ||||
-rw-r--r-- | asm/quest_log_battle.s | 4 | ||||
-rw-r--r-- | asm/trade.s | 12 | ||||
-rw-r--r-- | asm/trainer_card.s | 4 | ||||
-rw-r--r-- | data/data.s | 11 | ||||
-rw-r--r-- | include/link.h | 2 | ||||
-rw-r--r-- | src/pokemon.c | 408 | ||||
-rw-r--r-- | sym_ewram.txt | 2 |
29 files changed, 588 insertions, 1298 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index db55d2dcb..e93a714eb 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -537,7 +537,7 @@ _0800F5E8: beq _0800F666 cmp r2, 0x1 bne _0800F632 - ldr r2, _0800F620 @ =gUnknown_202273C + ldr r2, _0800F620 @ =gLinkPlayers ldr r0, _0800F624 @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -556,7 +556,7 @@ _0800F5E8: b _0800F6F0 .align 2, 0 _0800F61C: .4byte gBattleTypeFlags -_0800F620: .4byte gUnknown_202273C +_0800F620: .4byte gLinkPlayers _0800F624: .4byte gBattleStruct _0800F628: cmp r0, 0x2 @@ -565,7 +565,7 @@ _0800F628: bne _0800F6F0 b _0800F682 _0800F632: - ldr r2, _0800F654 @ =gUnknown_202273C + ldr r2, _0800F654 @ =gLinkPlayers ldr r0, _0800F658 @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -583,7 +583,7 @@ _0800F632: beq _0800F682 b _0800F6F0 .align 2, 0 -_0800F654: .4byte gUnknown_202273C +_0800F654: .4byte gLinkPlayers _0800F658: .4byte gBattleStruct _0800F65C: cmp r0, 0x2 @@ -594,7 +594,7 @@ _0800F65C: _0800F666: cmp r2, 0x1 bne _0800F6A4 - ldr r2, _0800F694 @ =gUnknown_202273C + ldr r2, _0800F694 @ =gLinkPlayers ldr r0, _0800F698 @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -615,12 +615,12 @@ _0800F682: bl sub_80D87BC b _0800F6F0 .align 2, 0 -_0800F694: .4byte gUnknown_202273C +_0800F694: .4byte gLinkPlayers _0800F698: .4byte gBattleStruct _0800F69C: .4byte gUnknown_83FE874 _0800F6A0: .4byte gUnknown_83FE87B _0800F6A4: - ldr r2, _0800F6D0 @ =gUnknown_202273C + ldr r2, _0800F6D0 @ =gLinkPlayers ldr r0, _0800F6D4 @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -641,7 +641,7 @@ _0800F6BC: bl sub_80D87BC b _0800F6F0 .align 2, 0 -_0800F6D0: .4byte gUnknown_202273C +_0800F6D0: .4byte gLinkPlayers _0800F6D4: .4byte gBattleStruct _0800F6D8: .4byte gUnknown_83FE874 _0800F6DC: .4byte gUnknown_83FE87B @@ -781,7 +781,7 @@ _0800F7CC: adds r6, r5, 0 eors r6, r0 adds r1, r6, 0 - ldr r4, _0800F848 @ =gUnknown_202273C + ldr r4, _0800F848 @ =gLinkPlayers lsls r0, r5, 3 subs r0, r5 lsls r0, 2 @@ -832,7 +832,7 @@ _0800F830: b _0800FAC4 .align 2, 0 _0800F844: .4byte gBattleStruct -_0800F848: .4byte gUnknown_202273C +_0800F848: .4byte gLinkPlayers _0800F84C: .4byte gTasks _0800F850: ldr r0, _0800F8CC @ =0x00002710 diff --git a/asm/battle_2.s b/asm/battle_2.s index 960df7d0a..4775fc06b 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -232,7 +232,7 @@ _0800FF98: _0800FFAE: adds r0, r4, 0 movs r1, 0x3 - bl sub_80436F8 + bl AdjustFriendship adds r4, 0x64 cmp r4, r5 ble _0800FFAE @@ -630,7 +630,7 @@ _080102C0: beq _0801034C movs r5, 0 ldr r3, _08010340 @ =gEnigmaBerries - ldr r2, _08010344 @ =gUnknown_202273C + ldr r2, _08010344 @ =gLinkPlayers mov r9, r2 adds r6, r3, 0 movs r4, 0x8 @@ -693,7 +693,7 @@ _0801031C: b _080103FC .align 2, 0 _08010340: .4byte gEnigmaBerries -_08010344: .4byte gUnknown_202273C +_08010344: .4byte gLinkPlayers _08010348: .4byte gUnknown_202211C _0801034C: movs r5, 0 @@ -1560,7 +1560,7 @@ _08010A6A: _08010A78: cmp r4, r6 beq _08010ABA - ldr r2, _08010A9C @ =gUnknown_202273C + ldr r2, _08010A9C @ =gLinkPlayers adds r0, r7, r2 ldrh r1, [r0, 0x18] movs r3, 0x1 @@ -1576,7 +1576,7 @@ _08010A78: beq _08010AAC b _08010ABA .align 2, 0 -_08010A9C: .4byte gUnknown_202273C +_08010A9C: .4byte gLinkPlayers _08010AA0: adds r0, r5, r2 ldrh r1, [r0, 0x18] @@ -1862,7 +1862,7 @@ _08010CE2: adds r2, r1, 0 ldr r0, _08010D5C @ =gUnknown_2022118 adds r3, r0, 0x2 - ldr r5, _08010D60 @ =gUnknown_202273C + ldr r5, _08010D60 @ =gLinkPlayers movs r4, 0x3F movs r7, 0x80 lsls r7, 1 @@ -1882,7 +1882,7 @@ _08010D50: .4byte gPlayerParty _08010D54: .4byte sub_800F6FC _08010D58: .4byte gTasks _08010D5C: .4byte gUnknown_2022118 -_08010D60: .4byte gUnknown_202273C +_08010D60: .4byte gLinkPlayers _08010D64: cmp r0, 0x2 beq _08010D7E @@ -1967,7 +1967,7 @@ _08010DEE: _08010E00: cmp r6, r7 bne _08010E34 - ldr r0, _08010E1C @ =gUnknown_202273C + ldr r0, _08010E1C @ =gLinkPlayers adds r0, r5, r0 ldrh r0, [r0, 0x18] cmp r0, 0x2 @@ -1979,7 +1979,7 @@ _08010E00: b _08010EBE .align 2, 0 _08010E18: .4byte gUnknown_2022118 -_08010E1C: .4byte gUnknown_202273C +_08010E1C: .4byte gLinkPlayers _08010E20: cmp r0, 0x3 bne _08010EBE @@ -1994,7 +1994,7 @@ _08010E2C: .align 2, 0 _08010E30: .4byte gUnknown_20243B0 _08010E34: - ldr r2, _08010E54 @ =gUnknown_202273C + ldr r2, _08010E54 @ =gLinkPlayers adds r0, r5, r2 ldrh r1, [r0, 0x18] movs r3, 0x1 @@ -2011,7 +2011,7 @@ _08010E34: beq _08010E66 b _08010E8C .align 2, 0 -_08010E54: .4byte gUnknown_202273C +_08010E54: .4byte gLinkPlayers _08010E58: mov r1, r8 adds r0, r1, r2 @@ -2120,7 +2120,7 @@ _08010F0E: _08010F20: cmp r6, r7 bne _08010F54 - ldr r0, _08010F3C @ =gUnknown_202273C + ldr r0, _08010F3C @ =gLinkPlayers adds r0, r5, r0 ldrh r0, [r0, 0x18] cmp r0, 0x2 @@ -2132,7 +2132,7 @@ _08010F20: b _08010FDE .align 2, 0 _08010F38: .4byte gUnknown_2022118 -_08010F3C: .4byte gUnknown_202273C +_08010F3C: .4byte gLinkPlayers _08010F40: cmp r0, 0x3 bne _08010FDE @@ -2147,7 +2147,7 @@ _08010F4C: .align 2, 0 _08010F50: .4byte gUnknown_2024478 _08010F54: - ldr r2, _08010F74 @ =gUnknown_202273C + ldr r2, _08010F74 @ =gLinkPlayers adds r0, r5, r2 ldrh r1, [r0, 0x18] movs r3, 0x1 @@ -2164,7 +2164,7 @@ _08010F54: beq _08010F86 b _08010FAC .align 2, 0 -_08010F74: .4byte gUnknown_202273C +_08010F74: .4byte gLinkPlayers _08010F78: mov r1, r8 adds r0, r1, r2 @@ -3300,7 +3300,7 @@ sub_801184C: @ 801184C ands r0, r1 cmp r0, 0 beq _080118BC - ldr r1, _0801189C @ =gUnknown_202273C + ldr r1, _0801189C @ =gLinkPlayers lsls r0, r2, 3 subs r0, r2 lsls r0, 2 @@ -3316,7 +3316,7 @@ sub_801184C: @ 801184C .align 2, 0 _08011894: .4byte gBattleStruct _08011898: .4byte gBattleTypeFlags -_0801189C: .4byte gUnknown_202273C +_0801189C: .4byte gLinkPlayers _080118A0: cmp r0, 0x2 beq _080118BC diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index e229e21f1..564fb7e3c 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -4066,7 +4066,7 @@ sub_803C7F8: @ 803C7F8 _0803C820: ldrb r0, [r6] bl GetBankMultiplayerId - ldr r5, _0803C88C @ =gUnknown_202273C + ldr r5, _0803C88C @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -4097,7 +4097,7 @@ _0803C820: cmp r4, 0x3 bne _0803C8A0 _0803C866: - ldr r4, _0803C88C @ =gUnknown_202273C + ldr r4, _0803C88C @ =gLinkPlayers ldr r0, _0803C888 @ =gActiveBattler ldrb r0, [r0] bl GetBankMultiplayerId @@ -4114,7 +4114,7 @@ _0803C866: .align 2, 0 _0803C884: .4byte gBattleTypeFlags _0803C888: .4byte gActiveBattler -_0803C88C: .4byte gUnknown_202273C +_0803C88C: .4byte gLinkPlayers _0803C890: .4byte gFacilityClassToPicIndex _0803C894: ldr r0, _0803C89C @ =gFacilityClassToPicIndex @@ -4153,7 +4153,7 @@ _0803C8C0: _0803C8D8: .4byte gTrainerBattleOpponent_A _0803C8DC: bl GetMultiplayerId - ldr r6, _0803C954 @ =gUnknown_202273C + ldr r6, _0803C954 @ =gLinkPlayers movs r5, 0x1 eors r0, r5 lsls r0, 24 @@ -4192,7 +4192,7 @@ _0803C8DC: cmp r4, 0x3 bne _0803C968 _0803C930: - ldr r4, _0803C954 @ =gUnknown_202273C + ldr r4, _0803C954 @ =gLinkPlayers bl GetMultiplayerId movs r1, 0x1 eors r0, r1 @@ -4209,7 +4209,7 @@ _0803C930: adds r0, 0x3D b _0803C990 .align 2, 0 -_0803C954: .4byte gUnknown_202273C +_0803C954: .4byte gLinkPlayers _0803C958: .4byte gFacilityClassToPicIndex _0803C95C: ldr r0, _0803C964 @ =gFacilityClassToPicIndex diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 87f018303..57c231075 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -3839,7 +3839,7 @@ sub_80D61C8: @ 80D61C8 _080D61E2: ldrb r0, [r6] bl GetBankMultiplayerId - ldr r5, _080D6244 @ =gUnknown_202273C + ldr r5, _080D6244 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -3873,7 +3873,7 @@ _080D6228: ldr r0, _080D6240 @ =gActiveBattler ldrb r0, [r0] bl GetBankMultiplayerId - ldr r2, _080D6244 @ =gUnknown_202273C + ldr r2, _080D6244 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -3883,7 +3883,7 @@ _080D6228: b _080D6258 .align 2, 0 _080D6240: .4byte gActiveBattler -_080D6244: .4byte gUnknown_202273C +_080D6244: .4byte gLinkPlayers _080D6248: ldrb r0, [r6] bl GetBankMultiplayerId @@ -5315,7 +5315,7 @@ sub_80D6CD4: @ 80D6CD4 lsrs r7, r0, 24 ldrb r0, [r6] bl GetBankMultiplayerId - ldr r4, _080D6DF8 @ =gUnknown_202273C + ldr r4, _080D6DF8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -5349,7 +5349,7 @@ _080D6DC2: ldr r0, _080D6DE0 @ =gActiveBattler ldrb r0, [r0] bl GetBankMultiplayerId - ldr r2, _080D6DF8 @ =gUnknown_202273C + ldr r2, _080D6DF8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -5365,7 +5365,7 @@ _080D6DE8: .4byte 0x0000ffd8 _080D6DEC: .4byte sub_8075590 _080D6DF0: .4byte sub_80335F8 _080D6DF4: .4byte 0x0000d6f9 -_080D6DF8: .4byte gUnknown_202273C +_080D6DF8: .4byte gLinkPlayers _080D6DFC: ldrb r0, [r6] bl GetBankMultiplayerId diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 20e8aa719..9b9c5f21d 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -7736,7 +7736,7 @@ _080322AE: cmp r0, 0 beq _0803233C bl GetMultiplayerId - ldr r5, _08032324 @ =gUnknown_202273C + ldr r5, _08032324 @ =gLinkPlayers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 @@ -7772,7 +7772,7 @@ _080322AE: bne _08032328 _08032306: bl GetMultiplayerId - ldr r2, _08032324 @ =gUnknown_202273C + ldr r2, _08032324 @ =gLinkPlayers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 @@ -7784,7 +7784,7 @@ _08032306: b _08032342 .align 2, 0 _08032320: .4byte gBattleTypeFlags -_08032324: .4byte gUnknown_202273C +_08032324: .4byte gLinkPlayers _08032328: bl GetMultiplayerId lsls r0, 24 @@ -7913,7 +7913,7 @@ sub_8032428: @ 8032428 cmp r0, 0 beq _080324B8 bl GetMultiplayerId - ldr r5, _080324A0 @ =gUnknown_202273C + ldr r5, _080324A0 @ =gLinkPlayers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 @@ -7949,7 +7949,7 @@ sub_8032428: @ 8032428 bne _080324A4 _08032482: bl GetMultiplayerId - ldr r2, _080324A0 @ =gUnknown_202273C + ldr r2, _080324A0 @ =gLinkPlayers lsls r0, 24 lsrs r0, 24 lsls r1, r0, 3 @@ -7961,7 +7961,7 @@ _08032482: b _080324BE .align 2, 0 _0803249C: .4byte gBattleTypeFlags -_080324A0: .4byte gUnknown_202273C +_080324A0: .4byte gLinkPlayers _080324A4: bl GetMultiplayerId lsls r0, 24 diff --git a/asm/battle_controllers.s b/asm/battle_controllers.s index bf0bb8d5a..3305979c3 100644 --- a/asm/battle_controllers.s +++ b/asm/battle_controllers.s @@ -429,7 +429,7 @@ _0800D5A4: _0800D5BC: movs r0, 0 mov r10, r0 - ldr r1, _0800D5EC @ =gUnknown_202273C + ldr r1, _0800D5EC @ =gLinkPlayers mov r12, r1 ldr r7, _0800D5F0 @ =gUnknown_2023BD6 mov r8, r0 @@ -451,21 +451,21 @@ _0800D5D0: .align 2, 0 _0800D5E4: .4byte gUnknown_3004F84 _0800D5E8: .4byte sub_80123C0 -_0800D5EC: .4byte gUnknown_202273C +_0800D5EC: .4byte gLinkPlayers _0800D5F0: .4byte gUnknown_2023BD6 _0800D5F4: .4byte gBattlerPartyIndexes _0800D5F8: cmp r0, 0x3 bne _0800D61A _0800D5FC: - ldr r0, _0800D60C @ =gUnknown_202273C + ldr r0, _0800D60C @ =gLinkPlayers adds r0, r4, r0 ldrb r0, [r0, 0x18] movs r1, 0 bl sub_8127DA8 b _0800D61A .align 2, 0 -_0800D60C: .4byte gUnknown_202273C +_0800D60C: .4byte gLinkPlayers _0800D610: lsls r0, 24 lsrs r0, 24 @@ -474,7 +474,7 @@ _0800D610: _0800D61A: cmp r10, r5 bne _0800D66A - ldr r0, _0800D640 @ =gUnknown_202273C + ldr r0, _0800D640 @ =gLinkPlayers adds r3, r4, r0 ldrh r1, [r3, 0x18] lsls r1, 2 @@ -492,7 +492,7 @@ _0800D61A: beq _0800D650 b _0800D740 .align 2, 0 -_0800D640: .4byte gUnknown_202273C +_0800D640: .4byte gLinkPlayers _0800D644: .4byte gUnknown_3004FE0 _0800D648: .4byte SetBankFuncToPlayerBufferRunCommand _0800D64C: @@ -514,7 +514,7 @@ _0800D660: ldrh r0, [r3, 0x18] b _0800D738 _0800D66A: - ldr r2, _0800D690 @ =gUnknown_202273C + ldr r2, _0800D690 @ =gLinkPlayers adds r0, r4, r2 ldrh r1, [r0, 0x18] movs r3, 0x1 @@ -534,7 +534,7 @@ _0800D66A: beq _0800D6A6 b _0800D6EC .align 2, 0 -_0800D690: .4byte gUnknown_202273C +_0800D690: .4byte gLinkPlayers _0800D694: lsls r0, r5, 3 subs r0, r5 @@ -1413,7 +1413,7 @@ sub_800DD28: @ 800DD28 ands r0, r1 cmp r0, 0 beq _0800DE28 - ldr r0, _0800DD64 @ =gUnknown_202273C + ldr r0, _0800DD64 @ =gLinkPlayers ldr r1, [r0, 0x14] ldr r0, _0800DD68 @ =0x00002211 cmp r1, r0 @@ -1426,7 +1426,7 @@ sub_800DD28: @ 800DD28 .align 2, 0 _0800DD5C: .4byte gUnknown_3003F64 _0800DD60: .4byte gBattleTypeFlags -_0800DD64: .4byte gUnknown_202273C +_0800DD64: .4byte gLinkPlayers _0800DD68: .4byte 0x00002211 _0800DD6C: .4byte gUnknown_2022118 _0800DD70: diff --git a/asm/battle_message.s b/asm/battle_message.s index 71dd7f5ed..9e2e38828 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -988,7 +988,7 @@ _080D7A88: .4byte gBattlerPartyIndexes _080D7A8C: .4byte gEnemyParty _080D7A90: ldr r2, _080D7AB0 @ =gBattlerPartyIndexes - ldr r1, _080D7AB4 @ =gUnknown_202273C + ldr r1, _080D7AB4 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1004,11 +1004,11 @@ _080D7A90: bl _080D82AA .align 2, 0 _080D7AB0: .4byte gBattlerPartyIndexes -_080D7AB4: .4byte gUnknown_202273C +_080D7AB4: .4byte gLinkPlayers _080D7AB8: .4byte gPlayerParty _080D7ABC: ldr r2, _080D7AE0 @ =gBattlerPartyIndexes - ldr r1, _080D7AE4 @ =gUnknown_202273C + ldr r1, _080D7AE4 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1026,11 +1026,11 @@ _080D7ABC: bl _080D82AA .align 2, 0 _080D7AE0: .4byte gBattlerPartyIndexes -_080D7AE4: .4byte gUnknown_202273C +_080D7AE4: .4byte gLinkPlayers _080D7AE8: .4byte gEnemyParty _080D7AEC: ldr r2, _080D7B10 @ =gBattlerPartyIndexes - ldr r1, _080D7B14 @ =gUnknown_202273C + ldr r1, _080D7B14 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1048,11 +1048,11 @@ _080D7AEC: bl _080D82AA .align 2, 0 _080D7B10: .4byte gBattlerPartyIndexes -_080D7B14: .4byte gUnknown_202273C +_080D7B14: .4byte gLinkPlayers _080D7B18: .4byte gPlayerParty _080D7B1C: ldr r2, _080D7B40 @ =gBattlerPartyIndexes - ldr r1, _080D7B44 @ =gUnknown_202273C + ldr r1, _080D7B44 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1070,7 +1070,7 @@ _080D7B1C: b _080D82AA .align 2, 0 _080D7B40: .4byte gBattlerPartyIndexes -_080D7B44: .4byte gUnknown_202273C +_080D7B44: .4byte gLinkPlayers _080D7B48: .4byte gEnemyParty _080D7B4C: ldr r4, _080D7B70 @ =sBattler_AI @@ -1558,7 +1558,7 @@ _080D7F38: .align 2, 0 _080D7F40: .4byte gPotentialItemEffectBattler _080D7F44: - ldr r2, _080D7F7C @ =gUnknown_202273C + ldr r2, _080D7F7C @ =gLinkPlayers ldr r0, _080D7F80 @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -1586,7 +1586,7 @@ _080D7F64: mov r4, sp b _080D8382 .align 2, 0 -_080D7F7C: .4byte gUnknown_202273C +_080D7F7C: .4byte gLinkPlayers _080D7F80: .4byte gBattleStruct _080D7F84: .4byte gPotentialItemEffectBattler _080D7F88: .4byte gEnigmaBerries @@ -1840,7 +1840,7 @@ _080D8162: .align 2, 0 _080D8170: .4byte gUnknown_2022744 _080D8174: - ldr r4, _080D8184 @ =gUnknown_202273C + ldr r4, _080D8184 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1849,9 +1849,9 @@ _080D8174: movs r0, 0x2 b _080D81AA .align 2, 0 -_080D8184: .4byte gUnknown_202273C +_080D8184: .4byte gLinkPlayers _080D8188: - ldr r4, _080D8198 @ =gUnknown_202273C + ldr r4, _080D8198 @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1860,9 +1860,9 @@ _080D8188: movs r0, 0x1 b _080D81AA .align 2, 0 -_080D8198: .4byte gUnknown_202273C +_080D8198: .4byte gLinkPlayers _080D819C: - ldr r4, _080D81BC @ =gUnknown_202273C + ldr r4, _080D81BC @ =gLinkPlayers lsls r0, r7, 3 subs r0, r7 lsls r0, 2 @@ -1879,7 +1879,7 @@ _080D81AA: adds r4, r1, r4 b _080D8382 .align 2, 0 -_080D81BC: .4byte gUnknown_202273C +_080D81BC: .4byte gLinkPlayers _080D81C0: ldr r0, _080D81D4 @ =gBattleScripting ldrb r0, [r0, 0x17] @@ -2454,7 +2454,7 @@ _080D8628: beq _080D86A6 cmp r2, 0xAF bne _080D869C - ldr r2, _080D8678 @ =gUnknown_202273C + ldr r2, _080D8678 @ =gLinkPlayers ldr r0, _080D867C @ =gBattleStruct ldr r0, [r0] adds r0, 0xB5 @@ -2479,7 +2479,7 @@ _080D8628: b _080D868E .align 2, 0 _080D8674: .4byte gBattleTypeFlags -_080D8678: .4byte gUnknown_202273C +_080D8678: .4byte gLinkPlayers _080D867C: .4byte gBattleStruct _080D8680: .4byte gPotentialItemEffectBattler _080D8684: .4byte gEnigmaBerries diff --git a/asm/battle_records.s b/asm/battle_records.s index 797830e95..4a134cd0c 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -980,7 +980,7 @@ sub_80CD98C: @ 80CD98C ldrh r2, [r2, 0xE] ldr r3, _080CD9EC @ =gUnknown_2023E8A ldrb r3, [r3] - ldr r5, _080CD9F0 @ =gUnknown_202273C + ldr r5, _080CD9F0 @ =gLinkPlayers lsls r4, r6, 3 subs r4, r6 lsls r4, 2 @@ -999,7 +999,7 @@ _080CD9E0: .4byte gSaveBlock2Ptr _080CD9E4: .4byte 0x00000a98 _080CD9E8: .4byte gUnknown_2039654 _080CD9EC: .4byte gUnknown_2023E8A -_080CD9F0: .4byte gUnknown_202273C +_080CD9F0: .4byte gLinkPlayers thumb_func_end sub_80CD98C thumb_func_start sub_80CD9F4 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 7972b7c80..29dcfecca 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -9182,7 +9182,7 @@ _080220DA: adds r0, r1, 0 adds r0, r7 movs r1, 0 - bl sub_80436F8 + bl AdjustFriendship ldr r1, _08022328 @ =gBattlerPartyIndexes mov r2, r9 ldr r0, [r2] diff --git a/asm/battle_util2.s b/asm/battle_util2.s index 77c4a5a51..8cfbe3120 100644 --- a/asm/battle_util2.s +++ b/asm/battle_util2.s @@ -289,7 +289,7 @@ _0802E27E: ldr r1, _0802E2C8 @ =gPlayerParty adds r0, r1 movs r1, 0x9 - bl sub_80436F8 + bl AdjustFriendship b _0802E302 .align 2, 0 _0802E2C0: .4byte gBattleMons @@ -305,7 +305,7 @@ _0802E2CC: ldr r1, _0802E2E8 @ =gPlayerParty adds r0, r1 movs r1, 0x7 - bl sub_80436F8 + bl AdjustFriendship b _0802E302 .align 2, 0 _0802E2E4: .4byte gBattlerPartyIndexes @@ -320,7 +320,7 @@ _0802E2EC: ldr r1, _0802E30C @ =gPlayerParty adds r0, r1 movs r1, 0x7 - bl sub_80436F8 + bl AdjustFriendship _0802E302: pop {r4,r5} pop {r0} diff --git a/asm/cable_club.s b/asm/cable_club.s index eeb9471db..e60a206bc 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -800,10 +800,10 @@ _08080D88: .4byte sub_8080E6C sub_8080D8C: @ 8080D8C push {r4,r5,lr} movs r5, 0 - ldr r4, _08080D94 @ =gUnknown_202273C + ldr r4, _08080D94 @ =gLinkPlayers b _08080DAC .align 2, 0 -_08080D94: .4byte gUnknown_202273C +_08080D94: .4byte gLinkPlayers _08080D98: ldrb r0, [r4] subs r0, 0x1 @@ -929,7 +929,7 @@ sub_8080E6C: @ 8080E6C mov r8, r0 b _08080EF8 _08080E9A: - ldr r1, _08080ED0 @ =gUnknown_202273C + ldr r1, _08080ED0 @ =gLinkPlayers lsls r0, r5, 3 subs r0, r5 lsls r0, 2 @@ -956,7 +956,7 @@ _08080E9A: strb r0, [r4] b _08080EF2 .align 2, 0 -_08080ED0: .4byte gUnknown_202273C +_08080ED0: .4byte gLinkPlayers _08080ED4: .4byte gUnknown_2022118 _08080ED8: .4byte gUnknown_2039624 _08080EDC: @@ -1580,7 +1580,7 @@ _080813AA: .align 2, 0 _080813B4: .4byte gUnknown_3003F64 _080813B8: - ldr r0, _080813CC @ =gUnknown_202273C + ldr r0, _080813CC @ =gLinkPlayers ldr r0, [r0, 0x4] movs r1, 0x1 ands r0, r1 @@ -1590,7 +1590,7 @@ _080813B8: bl PlayMapChosenOrBattleBGM b _080813DC .align 2, 0 -_080813CC: .4byte gUnknown_202273C +_080813CC: .4byte gLinkPlayers _080813D0: .4byte 0x00000109 _080813D4: movs r0, 0x85 @@ -1740,10 +1740,10 @@ _080814F0: b _0808160A _08081504: movs r4, 0 - ldr r5, _0808150C @ =gUnknown_202273C + ldr r5, _0808150C @ =gLinkPlayers b _08081536 .align 2, 0 -_0808150C: .4byte gUnknown_202273C +_0808150C: .4byte gLinkPlayers _08081510: lsls r1, r4, 8 ldr r2, _08081548 @ =gUnknown_2022118 @@ -1798,7 +1798,7 @@ _0808156A: strh r0, [r6] b _0808160A _0808157A: - ldr r0, _08081590 @ =gUnknown_202273C + ldr r0, _08081590 @ =gLinkPlayers ldr r0, [r0, 0x4] movs r1, 0x1 ands r0, r1 @@ -1808,14 +1808,14 @@ _0808157A: bl PlayMapChosenOrBattleBGM b _080815A0 .align 2, 0 -_08081590: .4byte gUnknown_202273C +_08081590: .4byte gLinkPlayers _08081594: .4byte 0x00000109 _08081598: movs r0, 0x85 lsls r0, 1 bl PlayMapChosenOrBattleBGM _080815A0: - ldr r0, _080815B8 @ =gUnknown_202273C + ldr r0, _080815B8 @ =gLinkPlayers ldr r1, _080815BC @ =0x00002211 str r1, [r0, 0x14] ldr r0, _080815C0 @ =gUnknown_20370C0 @@ -1828,7 +1828,7 @@ _080815A0: beq _080815CA b _080815EA .align 2, 0 -_080815B8: .4byte gUnknown_202273C +_080815B8: .4byte gLinkPlayers _080815BC: .4byte 0x00002211 _080815C0: .4byte gUnknown_20370C0 _080815C4: @@ -1955,7 +1955,7 @@ _080816BC: .4byte gUnknown_300502C _080816C0: .4byte gUnknown_3003F3C _080816C4: .4byte gUnknown_2023E8A _080816C8: - ldr r4, _080816E8 @ =gUnknown_202273C + ldr r4, _080816E8 @ =gLinkPlayers bl GetMultiplayerId eors r0, r5 lsls r0, 24 @@ -1970,9 +1970,9 @@ _080816C8: bl sub_8144714 b _0808170A .align 2, 0 -_080816E8: .4byte gUnknown_202273C +_080816E8: .4byte gLinkPlayers _080816EC: - ldr r4, _08081718 @ =gUnknown_202273C + ldr r4, _08081718 @ =gLinkPlayers bl GetMultiplayerId eors r0, r5 lsls r0, 24 @@ -1993,7 +1993,7 @@ _0808170A: ldr r0, _08081720 @ =sub_8081624 b _08081728 .align 2, 0 -_08081718: .4byte gUnknown_202273C +_08081718: .4byte gLinkPlayers _0808171C: .4byte gMain _08081720: .4byte sub_8081624 _08081724: diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 6b981dea8..bcd3a10e9 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1887,7 +1887,7 @@ AdjustFriendship_step: @ 806D74C _0806D76A: adds r0, r5, 0 movs r1, 0x5 - bl sub_80436F8 + bl AdjustFriendship adds r5, 0x64 subs r4, 0x1 cmp r4, 0 diff --git a/asm/field_poison.s b/asm/field_poison.s index f875d985b..930f5b403 100644 --- a/asm/field_poison.s +++ b/asm/field_poison.s @@ -74,7 +74,7 @@ MonFaintFromPoisonOnField: @ 80A04B8 str r0, [sp] adds r0, r4, 0 movs r1, 0x8 - bl sub_80436F8 + bl AdjustFriendship adds r0, r4, 0 movs r1, 0x37 mov r2, sp diff --git a/asm/field_specials.s b/asm/field_specials.s index 5a2f26625..e0cd49fee 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -4619,7 +4619,7 @@ sub_80CC948: @ 80CC948 ldr r1, _080CC96C @ =gPlayerParty adds r0, r1 movs r1, 0x6 - bl sub_80436F8 + bl AdjustFriendship ldr r0, _080CC970 @ =0x00004025 movs r1, 0 bl VarSet diff --git a/asm/link.s b/asm/link.s index 0849f6590..90fccf86f 100644 --- a/asm/link.s +++ b/asm/link.s @@ -1112,7 +1112,7 @@ _08009D40: lsls r0, r6, 3 subs r0, r6 lsls r0, 2 - ldr r1, _08009DD0 @ =gUnknown_202273C + ldr r1, _08009DD0 @ =gLinkPlayers adds r2, r0, r1 adds r1, r2, 0 mov r0, r8 @@ -1155,7 +1155,7 @@ _08009DBC: _08009DC4: .4byte gUnknown_2022118 _08009DC8: .4byte gUnknown_3003ED0 _08009DCC: .4byte gUnknown_3003EB8 -_08009DD0: .4byte gUnknown_202273C +_08009DD0: .4byte gLinkPlayers _08009DD4: .4byte gUnknown_82345C0 _08009DD8: .4byte c2_800ACD4 _08009DDC: @@ -1599,12 +1599,12 @@ _0800A100: bl sub_80098B8 _0800A112: movs r6, 0 - ldr r4, _0800A120 @ =gUnknown_202273C + ldr r4, _0800A120 @ =gLinkPlayers movs r5, 0 b _0800A138 .align 2, 0 _0800A11C: .4byte gUnknown_3003EAC -_0800A120: .4byte gUnknown_202273C +_0800A120: .4byte gLinkPlayers _0800A124: adds r0, r4, 0 adds r0, 0x14 @@ -1628,7 +1628,7 @@ _0800A138: lsrs r0, 24 cmp r7, r0 bne _0800A1B8 - ldr r0, _0800A170 @ =gUnknown_202273C + ldr r0, _0800A170 @ =gLinkPlayers ldr r1, [r0, 0x14] ldr r0, _0800A174 @ =0x00001133 cmp r1, r0 @@ -1643,7 +1643,7 @@ _0800A138: ldr r2, _0800A178 @ =gUnknown_3000E54 b _0800A1E0 .align 2, 0 -_0800A170: .4byte gUnknown_202273C +_0800A170: .4byte gLinkPlayers _0800A174: .4byte 0x00001133 _0800A178: .4byte gUnknown_3000E54 _0800A17C: @@ -1715,10 +1715,10 @@ IsLinkPlayerDataExchangeComplete: @ 800A1F0 push {r4-r6,lr} movs r6, 0 movs r4, 0 - ldr r5, _0800A1FC @ =gUnknown_202273C + ldr r5, _0800A1FC @ =gLinkPlayers b _0800A220 .align 2, 0 -_0800A1FC: .4byte gUnknown_202273C +_0800A1FC: .4byte gLinkPlayers _0800A200: lsls r0, r4, 3 subs r0, r4 @@ -1772,7 +1772,7 @@ _0800A254: .4byte gUnknown_3000E54 GetLinkPlayerTrainerId: @ 800A258 lsls r0, 24 lsrs r0, 24 - ldr r2, _0800A26C @ =gUnknown_202273C + ldr r2, _0800A26C @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -1781,13 +1781,13 @@ GetLinkPlayerTrainerId: @ 800A258 ldr r0, [r1] bx lr .align 2, 0 -_0800A26C: .4byte gUnknown_202273C +_0800A26C: .4byte gLinkPlayers thumb_func_end GetLinkPlayerTrainerId thumb_func_start sub_800A270 sub_800A270: @ 800A270 push {r4,r5,lr} - ldr r5, _0800A290 @ =gUnknown_202273C + ldr r5, _0800A290 @ =gLinkPlayers movs r4, 0x4 _0800A276: adds r0, r5, 0 @@ -1802,7 +1802,7 @@ _0800A276: pop {r0} bx r0 .align 2, 0 -_0800A290: .4byte gUnknown_202273C +_0800A290: .4byte gLinkPlayers thumb_func_end sub_800A270 thumb_func_start ResetBlockSend @@ -2706,7 +2706,7 @@ sub_800A900: @ 800A900 bl GetMultiplayerId ldr r1, _0800A938 @ =gUnknown_3003F60 strb r0, [r1] - ldr r4, _0800A93C @ =gUnknown_202273C + ldr r4, _0800A93C @ =gLinkPlayers ldr r3, _0800A940 @ =gUnknown_20227C8 movs r2, 0x4 _0800A914: @@ -2729,7 +2729,7 @@ _0800A914: .align 2, 0 _0800A934: .4byte gUnknown_3003F40 _0800A938: .4byte gUnknown_3003F60 -_0800A93C: .4byte gUnknown_202273C +_0800A93C: .4byte gLinkPlayers _0800A940: .4byte gUnknown_20227C8 thumb_func_end sub_800A900 @@ -2760,7 +2760,7 @@ sub_800A95C: @ 800A95C adds r6, r0, 0 cmp r5, r2 bge _0800A986 - ldr r1, _0800A994 @ =gUnknown_202273C + ldr r1, _0800A994 @ =gLinkPlayers ldr r0, _0800A998 @ =gUnknown_20227C8 adds r4, r0, 0x4 adds r3, r1, 0x4 @@ -2784,7 +2784,7 @@ _0800A986: b _0800A99E .align 2, 0 _0800A990: .4byte gUnknown_3003F40 -_0800A994: .4byte gUnknown_202273C +_0800A994: .4byte gLinkPlayers _0800A998: .4byte gUnknown_20227C8 _0800A99C: movs r0, 0x1 @@ -2805,7 +2805,7 @@ sub_800A9A4: @ 800A9A4 cmp r4, r0 bcs _0800AA04 ldr r6, _0800AA14 @ =gUnknown_20227C8 - ldr r5, _0800AA18 @ =gUnknown_202273C + ldr r5, _0800AA18 @ =gLinkPlayers movs r0, 0x8 adds r0, r6 mov r8, r0 @@ -2853,7 +2853,7 @@ _0800AA04: .align 2, 0 _0800AA10: .4byte gUnknown_3003F40 _0800AA14: .4byte gUnknown_20227C8 -_0800AA18: .4byte gUnknown_202273C +_0800AA18: .4byte gLinkPlayers _0800AA1C: .4byte gUnknown_3003EAC _0800AA20: .4byte c2_800ACD4 thumb_func_end sub_800A9A4 @@ -3731,7 +3731,7 @@ sub_800B110: @ 800B110 lsls r2, r0, 3 subs r2, r0 lsls r2, 2 - ldr r0, _0800B16C @ =gUnknown_202273C + ldr r0, _0800B16C @ =gLinkPlayers adds r2, r0 adds r1, r2, 0 adds r0, r4, 0 @@ -3765,7 +3765,7 @@ _0800B160: bx r0 .align 2, 0 _0800B168: .4byte gUnknown_2022118 -_0800B16C: .4byte gUnknown_202273C +_0800B16C: .4byte gLinkPlayers _0800B170: .4byte gUnknown_82345C0 _0800B174: .4byte c2_800ACD4 thumb_func_end sub_800B110 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 9ae197c87..b606854a3 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -82,7 +82,7 @@ _080F863E: bl CpuSet mov r0, r9 strh r5, [r0] - ldr r1, _080F86BC @ =gUnknown_202273C + ldr r1, _080F86BC @ =gLinkPlayers ldr r2, _080F86C0 @ =0x01000046 bl CpuSet add sp, 0x8 @@ -101,7 +101,7 @@ _080F86AC: .4byte gUnknown_3003F50 _080F86B0: .4byte 0x01000008 _080F86B4: .4byte gUnknown_3003ED0 _080F86B8: .4byte 0x01000028 -_080F86BC: .4byte gUnknown_202273C +_080F86BC: .4byte gLinkPlayers _080F86C0: .4byte 0x01000046 thumb_func_end sub_80F85F8 @@ -4706,7 +4706,7 @@ _080FAA10: cmp r4, 0x3 ble _080FAA10 adds r6, r2, 0 - ldr r5, _080FAA54 @ =gUnknown_202273C + ldr r5, _080FAA54 @ =gLinkPlayers movs r4, 0x4 _080FAA24: adds r0, r5, 0 @@ -4731,7 +4731,7 @@ _080FAA24: .align 2, 0 _080FAA4C: .4byte gUnknown_3005450 _080FAA50: .4byte 0x00000996 -_080FAA54: .4byte gUnknown_202273C +_080FAA54: .4byte gLinkPlayers thumb_func_end sub_80FA9FC thumb_func_start sub_80FAA58 @@ -4874,7 +4874,7 @@ _080FAB70: lsls r2, r4, 8 ldr r0, _080FAB9C @ =gUnknown_2022118 adds r2, r0 - ldr r1, _080FABA0 @ =gUnknown_202273C + ldr r1, _080FABA0 @ =gLinkPlayers lsls r0, r4, 3 subs r0, r4 lsls r0, 2 @@ -4891,7 +4891,7 @@ _080FAB70: b _080FAC2E .align 2, 0 _080FAB9C: .4byte gUnknown_2022118 -_080FABA0: .4byte gUnknown_202273C +_080FABA0: .4byte gLinkPlayers _080FABA4: ldr r5, _080FAC40 @ =gUnknown_2022618 adds r1, r5, 0 @@ -4918,7 +4918,7 @@ _080FABC6: adds r2, 0x1 cmp r2, 0x3 ble _080FABC6 - ldr r1, _080FAC50 @ =gUnknown_202273C + ldr r1, _080FAC50 @ =gLinkPlayers adds r0, r5, 0 adds r0, 0x14 movs r2, 0x8C @@ -4936,7 +4936,7 @@ _080FABEE: ldrb r0, [r1, 0xD] strb r0, [r5, 0xF] movs r2, 0 - ldr r3, _080FAC50 @ =gUnknown_202273C + ldr r3, _080FAC50 @ =gLinkPlayers mov r12, r3 adds r4, r5, 0 adds r4, 0x10 @@ -4977,7 +4977,7 @@ _080FAC40: .4byte gUnknown_2022618 _080FAC44: .4byte gUnknown_843EDE4 _080FAC48: .4byte gUnknown_3005450 _080FAC4C: .4byte 0x00000996 -_080FAC50: .4byte gUnknown_202273C +_080FAC50: .4byte gLinkPlayers _080FAC54: .4byte gTasks _080FAC58: adds r0, r3, 0 @@ -5512,7 +5512,7 @@ sub_80FB030: @ 80FB030 mov r8, r1 movs r4, 0 movs r6, 0x1 - ldr r2, _080FB0E0 @ =gUnknown_202273C + ldr r2, _080FB0E0 @ =gLinkPlayers mov r12, r2 ldr r0, _080FB0E4 @ =0x00000996 adds r0, r3 @@ -5573,7 +5573,7 @@ _080FB0C4: _080FB0D4: .4byte gUnknown_3005450 _080FB0D8: .4byte 0x0000099a _080FB0DC: .4byte 0x0000099b -_080FB0E0: .4byte gUnknown_202273C +_080FB0E0: .4byte gLinkPlayers _080FB0E4: .4byte 0x00000996 thumb_func_end sub_80FB030 @@ -10016,7 +10016,7 @@ _080FD258: lsrs r0, 24 cmp r4, r0 beq _080FD29E - ldr r2, _080FD328 @ =gUnknown_202273C + ldr r2, _080FD328 @ =gLinkPlayers adds r0, r5, r2 ldrh r0, [r0, 0x1A] cmp r0, 0x1 @@ -10115,7 +10115,7 @@ _080FD318: pop {r0} bx r0 .align 2, 0 -_080FD328: .4byte gUnknown_202273C +_080FD328: .4byte gLinkPlayers _080FD32C: .4byte 0x00003bac _080FD330: .4byte gSaveBlock1Ptr _080FD334: .4byte 0x00003ba8 diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 2e431b6de..b2c004058 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -3157,12 +3157,12 @@ _081172C0: ldr r0, _081172E0 @ =gUnknown_2039624 adds r7, r0, 0 adds r7, 0x38 - ldr r6, _081172E4 @ =gUnknown_202273C + ldr r6, _081172E4 @ =gLinkPlayers adds r5, r0, 0 b _08117302 .align 2, 0 _081172E0: .4byte gUnknown_2039624 -_081172E4: .4byte gUnknown_202273C +_081172E4: .4byte gLinkPlayers _081172E8: lsls r0, r4, 8 ldr r1, _08117338 @ =gUnknown_2022118 @@ -3275,7 +3275,7 @@ sub_81173C0: @ 81173C0 bl sp000_heal_pokemon bl copy_player_party_to_sav1 bl copy_bags_and_unk_data_from_save_blocks - ldr r5, _0811742C @ =gUnknown_202273C + ldr r5, _0811742C @ =gLinkPlayers ldr r0, _08117430 @ =0x00002211 str r0, [r5, 0x14] bl GetMultiplayerId @@ -3315,7 +3315,7 @@ sub_81173C0: @ 81173C0 pop {r0} bx r0 .align 2, 0 -_0811742C: .4byte gUnknown_202273C +_0811742C: .4byte gLinkPlayers _08117430: .4byte 0x00002211 _08117434: .4byte gMain _08117438: .4byte sub_8081668 @@ -6054,7 +6054,7 @@ _08118CB6: bl sub_80F9E2C ldr r0, _08118CDC @ =gStringVar4 ldr r2, _08118CE0 @ =gUnknown_845842C - ldr r1, _08118CE4 @ =gUnknown_202273C + ldr r1, _08118CE4 @ =gLinkPlayers ldrb r1, [r1, 0x13] lsls r1, 2 adds r1, r2 @@ -6065,7 +6065,7 @@ _08118CB6: .align 2, 0 _08118CDC: .4byte gStringVar4 _08118CE0: .4byte gUnknown_845842C -_08118CE4: .4byte gUnknown_202273C +_08118CE4: .4byte gLinkPlayers _08118CE8: ldr r0, _08118D10 @ =gUnknown_203B058 strb r5, [r0] @@ -6218,7 +6218,7 @@ _08118E36: ldrb r2, [r4] movs r1, 0x40 orrs r1, r2 - ldr r2, _08118E5C @ =gUnknown_202273C + ldr r2, _08118E5C @ =gLinkPlayers ldrb r2, [r2, 0x13] bl sub_811AE68 strb r5, [r4] @@ -6226,7 +6226,7 @@ _08118E36: .align 2, 0 _08118E54: .4byte gStringVar4 _08118E58: .4byte gUnknown_203B058 -_08118E5C: .4byte gUnknown_202273C +_08118E5C: .4byte gLinkPlayers _08118E60: movs r0, 0x2 ldrsh r1, [r7, r0] @@ -7519,7 +7519,7 @@ sub_8119944: @ 8119944 cmp r0, 0 beq _08119994 ldr r0, _08119978 @ =gStringVar4 - ldr r1, _0811997C @ =gUnknown_202273C + ldr r1, _0811997C @ =gLinkPlayers adds r1, 0x2F ldrb r1, [r1] adds r2, r5, 0 @@ -7538,7 +7538,7 @@ sub_8119944: @ 8119944 b _08119996 .align 2, 0 _08119978: .4byte gStringVar4 -_0811997C: .4byte gUnknown_202273C +_0811997C: .4byte gLinkPlayers _08119980: .4byte gUnknown_203B058 _08119984: cmp r0, 0x2 @@ -10349,7 +10349,7 @@ sub_811AECC: @ 811AECC bl GetMultiplayerId lsls r0, 24 lsrs r3, r0, 24 - ldr r2, _0811AF00 @ =gUnknown_202273C + ldr r2, _0811AF00 @ =gLinkPlayers movs r0, 0x1 adds r1, r3, 0 eors r1, r0 @@ -10366,7 +10366,7 @@ sub_811AECC: @ 811AECC beq _0811AF0A b _0811AF60 .align 2, 0 -_0811AF00: .4byte gUnknown_202273C +_0811AF00: .4byte gLinkPlayers _0811AF04: cmp r6, 0x45 beq _0811AF44 @@ -10866,7 +10866,7 @@ sub_811B298: @ 811B298 sub_811B2A8: @ 811B2A8 push {r4,lr} movs r4, 0x80 - ldr r3, _0811B2D4 @ =gUnknown_202273C + ldr r3, _0811B2D4 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -10886,7 +10886,7 @@ sub_811B2A8: @ 811B2A8 pop {r1} bx r1 .align 2, 0 -_0811B2D4: .4byte gUnknown_202273C +_0811B2D4: .4byte gLinkPlayers thumb_func_end sub_811B2A8 thumb_func_start sub_811B2D8 diff --git a/asm/overworld.s b/asm/overworld.s index 5e6315b9f..3c6f52f4e 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -4834,7 +4834,7 @@ sub_80571A8: @ 80571A8 ldrb r0, [r0] cmp r6, r0 bcs _08057212 - ldr r7, _0805722C @ =gUnknown_202273C + ldr r7, _0805722C @ =gLinkPlayers _080571D8: lsls r5, r6, 24 lsrs r5, 24 @@ -4874,7 +4874,7 @@ _08057212: .align 2, 0 _08057224: .4byte gUnknown_300502C _08057228: .4byte gUnknown_3005030 -_0805722C: .4byte gUnknown_202273C +_0805722C: .4byte gLinkPlayers thumb_func_end sub_80571A8 thumb_func_start sub_8057230 @@ -4885,7 +4885,7 @@ sub_8057230: @ 8057230 ldrb r0, [r0] cmp r4, r0 bcs _0805725E - ldr r5, _08057268 @ =gUnknown_202273C + ldr r5, _08057268 @ =gLinkPlayers _0805723E: lsls r0, r4, 24 lsrs r0, 24 @@ -4908,7 +4908,7 @@ _0805725E: bx r0 .align 2, 0 _08057264: .4byte gUnknown_3005030 -_08057268: .4byte gUnknown_202273C +_08057268: .4byte gLinkPlayers thumb_func_end sub_8057230 thumb_func_start sub_805726C diff --git a/asm/party_menu.s b/asm/party_menu.s index d4e89ebc7..3a7542241 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -12727,7 +12727,7 @@ sub_8124E48: @ 8124E48 muls r0, r6 adds r0, r5 movs r1, 0x4 - bl sub_80436F8 + bl AdjustFriendship ldrh r1, [r7] movs r0, 0xA9 lsls r0, 1 @@ -12815,7 +12815,7 @@ sub_8124EFC: @ 8124EFC bl SetMonMoveSlot adds r0, r5, 0 movs r1, 0x4 - bl sub_80436F8 + bl AdjustFriendship ldrh r2, [r7] movs r0, 0x4 adds r1, r5, 0 @@ -14399,7 +14399,7 @@ sub_8125C48: @ 8125C48 bne _08125C84 adds r0, r5, 0 movs r1, 0x4 - bl sub_80436F8 + bl AdjustFriendship movs r0, 0xA9 lsls r0, 1 cmp r4, r0 diff --git a/asm/pokeball.s b/asm/pokeball.s index 998c7cdc4..b5d718a13 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -130,7 +130,7 @@ _0804AA12: ands r0, r1 cmp r0, 0 beq _0804AA60 - ldr r4, _0804AA5C @ =gUnknown_202273C + ldr r4, _0804AA5C @ =gLinkPlayers adds r0, r6, 0 bl GetBankMultiplayerId lsls r1, r0, 3 @@ -144,7 +144,7 @@ _0804AA12: _0804AA50: .4byte gBattlerPartyIndexes _0804AA54: .4byte gPlayerParty _0804AA58: .4byte gBattleTypeFlags -_0804AA5C: .4byte gUnknown_202273C +_0804AA5C: .4byte gLinkPlayers _0804AA60: ldr r0, _0804AAB8 @ =gSaveBlock2Ptr ldr r0, [r0] diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index a7b2e3a4c..870757af8 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -5,1121 +5,6 @@ .text - thumb_func_start sub_8043338 -sub_8043338: @ 8043338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r1, 0 - mov r10, r2 - lsls r0, 16 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _08043446 - ldr r0, _08043408 @ =gMonSpritesGfxPtr - ldr r1, [r0] - ldr r0, [r1, 0x4] - cmp r10, r0 - beq _08043446 - ldr r0, [r1, 0xC] - cmp r10, r0 - beq _08043446 - movs r5, 0 -_08043364: - lsls r3, r5, 3 - adds r3, r5 - lsls r3, 2 - ldr r0, _0804340C @ =gUnknown_825265C - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r6, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r6 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r6, 8 - str r6, [sp, 0x4] - adds r5, 0x1 - str r5, [sp] - mov r9, r3 -_0804339C: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _08043410 @ =gUnknown_825265E - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _08043434 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_080433C0: - adds r0, r4, 0 - cmp r4, 0 - bge _080433C8 - adds r0, r4, 0x7 -_080433C8: - asrs r0, 3 - lsls r2, r0, 5 - add r2, r10 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _08043428 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08043414 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _08043428 - adds r0, r1, 0 - adds r0, 0x40 - b _08043426 - .align 2, 0 -_08043408: .4byte gMonSpritesGfxPtr -_0804340C: .4byte gUnknown_825265C -_08043410: .4byte gUnknown_825265E -_08043414: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _08043428 - adds r0, r1, 0x4 -_08043426: - strb r0, [r2] -_08043428: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _080433C0 -_08043434: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0804339C - ldr r6, [sp, 0x4] - ldr r5, [sp] - cmp r5, 0x3 - ble _08043364 -_08043446: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8043338 - - thumb_func_start DrawSpindaSpots -DrawSpindaSpots: @ 8043458 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r1, 0 - str r2, [sp] - lsls r0, 16 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0804355A - cmp r3, 0 - beq _0804355A - movs r6, 0 -_0804347C: - lsls r3, r6, 3 - adds r3, r6 - lsls r3, 2 - ldr r0, _08043520 @ =gUnknown_825265C - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r5, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r5 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r5, 8 - str r5, [sp, 0x4] - adds r6, 0x1 - mov r10, r6 - mov r9, r3 -_080434B4: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _08043524 @ =gUnknown_825265E - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _08043548 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_080434D8: - adds r0, r4, 0 - cmp r4, 0 - bge _080434E0 - adds r0, r4, 0x7 -_080434E0: - asrs r0, 3 - lsls r2, r0, 5 - ldr r1, [sp] - adds r2, r1, r2 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0804353C - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _08043528 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0804353C - adds r0, r1, 0 - adds r0, 0x40 - b _0804353A - .align 2, 0 -_08043520: .4byte gUnknown_825265C -_08043524: .4byte gUnknown_825265E -_08043528: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0804353C - adds r0, r1, 0x4 -_0804353A: - strb r0, [r2] -_0804353C: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _080434D8 -_08043548: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _080434B4 - ldr r5, [sp, 0x4] - mov r6, r10 - cmp r6, 0x3 - ble _0804347C -_0804355A: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DrawSpindaSpots - - thumb_func_start EvolutionRenameMon -EvolutionRenameMon: @ 804356C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, _080435D8 @ =gStringVar1 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - bl GetMonData - mov r4, sp - adds r0, r5, 0 - movs r1, 0x3 - mov r2, sp - bl GetMonData - strb r0, [r4] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080435C8 - movs r6, 0xB - adds r0, r7, 0 - muls r0, r6 - ldr r4, _080435DC @ =gSpeciesNames - adds r0, r4 - mov r1, r9 - bl StringCompare - cmp r0, 0 - bne _080435C8 - mov r2, r8 - muls r2, r6 - adds r2, r4 - adds r0, r5, 0 - movs r1, 0x2 - bl SetMonData -_080435C8: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080435D8: .4byte gStringVar1 -_080435DC: .4byte gSpeciesNames - thumb_func_end EvolutionRenameMon - - thumb_func_start sub_80435E0 -sub_80435E0: @ 80435E0 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _08043608 @ =gUnknown_202273C - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0804360C - cmp r0, 0x1 - bge _08043614 - cmp r0, 0 - beq _08043610 - b _08043616 - .align 2, 0 -_08043608: .4byte gUnknown_202273C -_0804360C: - cmp r0, 0x3 - bne _08043616 -_08043610: - movs r5, 0 - b _08043616 -_08043614: - movs r5, 0x1 -_08043616: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80435E0 - - thumb_func_start sub_8043620 -sub_8043620: @ 8043620 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r2, _08043644 @ =gUnknown_202273C - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _08043648 - cmp r0, 0x1 - bge _08043650 - cmp r0, 0 - beq _0804364C - b _08043652 - .align 2, 0 -_08043644: .4byte gUnknown_202273C -_08043648: - cmp r0, 0x3 - bne _08043652 -_0804364C: - movs r3, 0 - b _08043652 -_08043650: - movs r3, 0x1 -_08043652: - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end sub_8043620 - - thumb_func_start GetBankMultiplayerId -GetBankMultiplayerId: @ 8043658 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _08043664 @ =gUnknown_202273C - b _08043670 - .align 2, 0 -_08043664: .4byte gUnknown_202273C -_08043668: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _08043676 -_08043670: - ldrh r0, [r1, 0x18] - cmp r0, r3 - bne _08043668 -_08043676: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end GetBankMultiplayerId - - thumb_func_start sub_804367C -sub_804367C: @ 804367C - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08043694 @ =gTrainers - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x2] - movs r0, 0x7F - ands r0, r1 - bx lr - .align 2, 0 -_08043694: .4byte gTrainers - thumb_func_end sub_804367C - - thumb_func_start nature_stat_mod -nature_stat_mod: @ 8043698 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xFF - lsls r0, 24 - adds r2, r0 - lsrs r2, 24 - cmp r2, 0x4 - bls _080436B6 - adds r0, r3, 0 - b _080436F2 -_080436B6: - ldr r0, _080436D8 @ =gUnknown_8252B48 - lsls r1, r4, 2 - adds r1, r4 - subs r1, 0x1 - adds r1, r5, r1 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080436DC - cmp r1, 0x1 - bne _080436F0 - movs r0, 0x6E - b _080436DE - .align 2, 0 -_080436D8: .4byte gUnknown_8252B48 -_080436DC: - movs r0, 0x5A -_080436DE: - muls r0, r3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - b _080436F2 -_080436F0: - adds r0, r3, 0 -_080436F2: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end nature_stat_mod - - thumb_func_start sub_80436F8 -sub_80436F8: @ 80436F8 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _08043758 - ldr r0, _08043738 @ =gMain - ldr r1, _0804373C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08043744 - ldr r0, _08043740 @ =gEnigmaBerries - ldrb r4, [r0, 0x7] - b _08043760 - .align 2, 0 -_08043738: .4byte gMain -_0804373C: .4byte 0x00000439 -_08043740: .4byte gEnigmaBerries -_08043744: - ldr r0, _08043750 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08043754 @ =0x0000311a - adds r0, r1 - ldrb r4, [r0] - b _08043760 - .align 2, 0 -_08043750: .4byte gSaveBlock1Ptr -_08043754: .4byte 0x0000311a -_08043758: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_08043760: - cmp r6, 0 - bne _08043766 - b _08043876 -_08043766: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - bne _08043770 - b _08043876 -_08043770: - movs r6, 0 - adds r0, r7, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x63 - ble _0804378E - movs r6, 0x1 -_0804378E: - cmp r0, 0xC7 - ble _08043798 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_08043798: - cmp r5, 0x5 - bne _080437A8 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _08043876 -_080437A8: - cmp r5, 0x3 - bne _080437D4 - ldr r0, _08043880 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08043876 - ldr r2, _08043884 @ =gTrainers - ldr r0, _08043888 @ =gTrainerBattleOpponent_A - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x1] - cmp r0, 0x54 - beq _080437D4 - cmp r0, 0x57 - beq _080437D4 - cmp r0, 0x5A - bne _08043876 -_080437D4: - ldr r1, _0804388C @ =gUnknown_825DFF6 - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _080437FA - cmp r4, 0x1B - bne _080437FA - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 -_080437FA: - lsls r2, 24 - asrs r2, 24 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, r2 - mov r1, sp - strh r0, [r1] - cmp r2, 0 - ble _0804384C - adds r0, r7, 0 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _08043828 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_08043828: - adds r0, r7, 0 - movs r1, 0x23 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0804384C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0804384C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0804385C - movs r1, 0 - mov r0, sp - strh r1, [r0] -_0804385C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - ble _0804386C - movs r1, 0xFF - mov r0, sp - strh r1, [r0] -_0804386C: - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_08043876: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08043880: .4byte gBattleTypeFlags -_08043884: .4byte gTrainers -_08043888: .4byte gTrainerBattleOpponent_A -_0804388C: .4byte gUnknown_825DFF6 - thumb_func_end sub_80436F8 - - thumb_func_start MonGainEVs -MonGainEVs: @ 8043890 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - movs r7, 0 - movs r6, 0 -_080438A4: - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - movs r2, 0 - bl GetMonData - mov r2, sp - adds r1, r2, r6 - strb r0, [r1] - ldrb r0, [r1] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r6, 0x1 - cmp r6, 0x5 - ble _080438A4 - movs r6, 0 - b _08043A26 -_080438C8: - mov r0, r8 - movs r1, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - movs r2, 0x1 - cmp r0, 0 - beq _080438DA - movs r2, 0x2 -_080438DA: - cmp r6, 0x5 - bhi _0804397C - lsls r0, r6, 2 - ldr r1, _080438E8 @ =_080438EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080438E8: .4byte _080438EC - .align 2, 0 -_080438EC: - .4byte _08043904 - .4byte _08043918 - .4byte _0804392C - .4byte _08043940 - .4byte _08043954 - .4byte _08043968 -_08043904: - ldr r0, _08043914 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 30 - b _08043976 - .align 2, 0 -_08043914: .4byte gBaseStats -_08043918: - ldr r0, _08043928 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _08043974 - .align 2, 0 -_08043928: .4byte gBaseStats -_0804392C: - ldr r0, _0804393C @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 26 - b _08043976 - .align 2, 0 -_0804393C: .4byte gBaseStats -_08043940: - ldr r0, _08043950 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsrs r0, 6 - b _08043978 - .align 2, 0 -_08043950: .4byte gBaseStats -_08043954: - ldr r0, _08043964 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] - lsls r0, 30 - b _08043976 - .align 2, 0 -_08043964: .4byte gBaseStats -_08043968: - ldr r0, _080439A4 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] -_08043974: - lsls r0, 28 -_08043976: - lsrs r0, 30 -_08043978: - adds r4, r0, 0 - muls r4, r2 -_0804397C: - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _080439C8 - ldr r0, _080439A8 @ =gMain - ldr r1, _080439AC @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080439B4 - ldr r0, _080439B0 @ =gEnigmaBerries - ldrb r0, [r0, 0x7] - b _080439D0 - .align 2, 0 -_080439A4: .4byte gBaseStats -_080439A8: .4byte gMain -_080439AC: .4byte 0x00000439 -_080439B0: .4byte gEnigmaBerries -_080439B4: - ldr r0, _080439C0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, _080439C4 @ =0x0000311a - adds r0, r2 - ldrb r0, [r0] - b _080439D0 - .align 2, 0 -_080439C0: .4byte gSaveBlock1Ptr -_080439C4: .4byte 0x0000311a -_080439C8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_080439D0: - cmp r0, 0x18 - bne _080439D8 - lsls r0, r4, 17 - lsrs r4, r0, 16 -_080439D8: - lsls r0, r4, 16 - asrs r2, r0, 16 - adds r1, r7, r2 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - ble _080439F0 - adds r0, r2, r0 - adds r1, r7, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_080439F0: - mov r0, sp - adds r2, r0, r6 - ldrb r3, [r2] - lsls r0, r4, 16 - asrs r1, r0, 16 - adds r0, r3, r1 - cmp r0, 0xFF - ble _08043A0C - adds r0, r1, 0 - adds r0, 0xFF - adds r1, r3, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_08043A0C: - adds r0, r3, r4 - strb r0, [r2] - adds r0, r7, r4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - bl SetMonData - adds r6, 0x1 - cmp r6, 0x5 - bgt _08043A2E -_08043A26: - ldr r0, _08043A3C @ =0x000001fd - cmp r7, r0 - bhi _08043A2E - b _080438C8 -_08043A2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08043A3C: .4byte 0x000001fd - thumb_func_end MonGainEVs - - thumb_func_start GetMonEVCount -GetMonEVCount: @ 8043A40 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_08043A48: - adds r1, r4, 0 - adds r1, 0x1A - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x1 - cmp r4, 0x5 - ble _08043A48 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonEVCount - - thumb_func_start sub_8043A68 -sub_8043A68: @ 8043A68 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043A68 - - thumb_func_start CheckPartyPokerus -CheckPartyPokerus: @ 8043A70 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _08043AB8 -_08043A84: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08043AAC - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - movs r1, 0xF - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _08043AAC - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_08043AAC: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _08043A84 - b _08043ACC -_08043AB8: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - beq _08043ACC - movs r5, 0x1 -_08043ACC: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyPokerus - - thumb_func_start CheckPartyHasHadPokerus -CheckPartyHasHadPokerus: @ 8043AD8 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _08043B1C -_08043AEC: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _08043B10 - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - ldr r3, [sp] - cmp r0, 0 - beq _08043B10 - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_08043B10: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _08043AEC - b _08043B2C -_08043B1C: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _08043B2C - movs r5, 0x1 -_08043B2C: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyHasHadPokerus - - thumb_func_start sub_8043B38 -sub_8043B38: @ 8043B38 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043B38 - - thumb_func_start sub_8043B40 -sub_8043B40: @ 8043B40 - sub sp, 0x4 - add sp, 0x4 - bx lr - thumb_func_end sub_8043B40 - thumb_func_start sub_8043B48 sub_8043B48: @ 8043B48 push {r4,lr} @@ -2404,7 +1289,7 @@ sub_80444C4: @ 80444C4 bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 - ldr r4, _080444F4 @ =gUnknown_202273C + ldr r4, _080444F4 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -2423,7 +1308,7 @@ sub_80444C4: @ 80444C4 pop {r1} bx r1 .align 2, 0 -_080444F4: .4byte gUnknown_202273C +_080444F4: .4byte gLinkPlayers thumb_func_end sub_80444C4 thumb_func_start sub_80444F8 @@ -2573,7 +1458,7 @@ _080445F4: cmp r2, 0 beq _08044658 _0804461A: - ldr r4, _08044644 @ =gUnknown_202273C + ldr r4, _08044644 @ =gLinkPlayers bl GetMultiplayerId lsls r0, 24 lsrs r0, 24 @@ -2591,7 +1476,7 @@ _08044632: _08044638: .4byte gBattleTypeFlags _0804463C: .4byte gMain _08044640: .4byte 0x00000439 -_08044644: .4byte gUnknown_202273C +_08044644: .4byte gLinkPlayers _08044648: ldr r0, _0804466C @ =gMain ldr r1, _08044670 @ =0x00000439 @@ -2778,7 +1663,7 @@ sub_80447AC: @ 80447AC eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r3, _080447E8 @ =gUnknown_202273C + ldr r3, _080447E8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -2801,7 +1686,7 @@ sub_80447AC: @ 80447AC pop {r1} bx r1 .align 2, 0 -_080447E8: .4byte gUnknown_202273C +_080447E8: .4byte gLinkPlayers _080447EC: .4byte gUnknown_825E032 thumb_func_end sub_80447AC @@ -2813,7 +1698,7 @@ sub_80447F0: @ 80447F0 eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r3, _0804482C @ =gUnknown_202273C + ldr r3, _0804482C @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -2836,7 +1721,7 @@ sub_80447F0: @ 80447F0 pop {r1} bx r1 .align 2, 0 -_0804482C: .4byte gUnknown_202273C +_0804482C: .4byte gLinkPlayers _08044830: .4byte gFacilityClassToTrainerClass _08044834: .4byte gUnknown_825E032 thumb_func_end sub_80447F0 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 570e67218..03ede3f37 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -7631,7 +7631,7 @@ sub_813847C: @ 813847C eors r0, r1 lsls r0, 24 lsrs r0, 24 - ldr r2, _081384C8 @ =gUnknown_202273C + ldr r2, _081384C8 @ =gLinkPlayers lsls r1, r0, 3 subs r1, r0 lsls r1, 2 @@ -7649,7 +7649,7 @@ sub_813847C: @ 813847C _081384BC: .4byte gUnknown_203B140 _081384C0: .4byte 0x000032f4 _081384C4: .4byte gEnemyParty -_081384C8: .4byte gUnknown_202273C +_081384C8: .4byte gLinkPlayers _081384CC: .4byte 0x0000304c _081384D0: bl sub_80CC1E4 diff --git a/asm/quest_log_battle.s b/asm/quest_log_battle.s index 635aaf5c3..1870395e9 100644 --- a/asm/quest_log_battle.s +++ b/asm/quest_log_battle.s @@ -432,7 +432,7 @@ _0812C330: .4byte gBattleStruct sub_812C334: @ 812C334 push {r4-r6,lr} adds r6, r0, 0 - ldr r3, _0812C35C @ =gUnknown_202273C + ldr r3, _0812C35C @ =gLinkPlayers ldr r4, _0812C360 @ =gBattleStruct ldr r0, [r4] adds r0, 0xB5 @@ -452,7 +452,7 @@ _0812C352: str r5, [r6] b _0812C370 .align 2, 0 -_0812C35C: .4byte gUnknown_202273C +_0812C35C: .4byte gLinkPlayers _0812C360: .4byte gBattleStruct _0812C364: ldr r0, [r4] diff --git a/asm/trade.s b/asm/trade.s index c78aba5ef..52cd8e2fa 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6469,7 +6469,7 @@ _0804FA70: lsls r1, r0, 3 subs r1, r0 lsls r1, 2 - ldr r0, _0804FAB0 @ =gUnknown_202273C + ldr r0, _0804FAB0 @ =gLinkPlayers adds r1, r0 ldrb r0, [r1] subs r0, 0x1 @@ -6492,7 +6492,7 @@ _0804FA70: movs r0, 0x5 b _0804FB24 .align 2, 0 -_0804FAB0: .4byte gUnknown_202273C +_0804FAB0: .4byte gLinkPlayers _0804FAB4: cmp r1, 0x97 bgt _0804FADE @@ -6578,7 +6578,7 @@ sub_804FB34: @ 804FB34 cmp r0, 0 beq _0804FBC0 bl GetMultiplayerId - ldr r6, _0804FBB8 @ =gUnknown_202273C + ldr r6, _0804FBB8 @ =gLinkPlayers movs r7, 0x1 eors r0, r7 lsls r0, 24 @@ -6635,7 +6635,7 @@ _0804FB6E: b _0804FBC2 .align 2, 0 _0804FBB4: .4byte gUnknown_3003F64 -_0804FBB8: .4byte gUnknown_202273C +_0804FBB8: .4byte gLinkPlayers _0804FBBC: movs r0, 0x1 b _0804FBC2 @@ -14480,7 +14480,7 @@ _08054132: ldrb r0, [r0] cmp r0, 0 beq _0805415A - ldr r4, _0805417C @ =gUnknown_202273C + ldr r4, _0805417C @ =gLinkPlayers bl GetMultiplayerId movs r1, 0x1 eors r0, r1 @@ -14509,7 +14509,7 @@ _0805415A: .align 2, 0 _08054174: .4byte gUnknown_2031DAC _08054178: .4byte gUnknown_3003F3C -_0805417C: .4byte gUnknown_202273C +_0805417C: .4byte gLinkPlayers _08054180: .4byte gMain _08054184: ldr r0, _0805419C @ =gUnknown_2031DAC diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 5d0cab90e..5896ce98d 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -4800,7 +4800,7 @@ sub_808B700: @ 808B700 movs r2, 0x60 bl memcpy ldr r1, [r5] - ldr r2, _0808B768 @ =gUnknown_202273C + ldr r2, _0808B768 @ =gLinkPlayers lsls r0, r4, 3 subs r0, r4 lsls r0, 2 @@ -4819,7 +4819,7 @@ _0808B758: .4byte gUnknown_20397A4 _0808B75C: .4byte 0x00007bd0 _0808B760: .4byte 0x0000045c _0808B764: .4byte gUnknown_2039624 -_0808B768: .4byte gUnknown_202273C +_0808B768: .4byte gLinkPlayers _0808B76C: .4byte 0x00007bcf _0808B770: .4byte sub_80895B8 thumb_func_end sub_808B700 diff --git a/data/data.s b/data/data.s index 9c5c431ae..12499d26a 100644 --- a/data/data.s +++ b/data/data.s @@ -307,16 +307,13 @@ gUnknown_8251FEE:: @ 8251FEE gUnknown_8252324:: @ 8252324 .incbin "baserom.gba", 0x252324, 0x338 -gUnknown_825265C:: @ 825265C - .incbin "baserom.gba", 0x25265C, 0x2 - -gUnknown_825265E:: @ 825265E - .incbin "baserom.gba", 0x25265E, 0x25E +gSpindaSpotGraphics:: @ 825265C + .incbin "baserom.gba", 0x25265C, 0x260 gItemEffectTable:: @ 82528BC .incbin "baserom.gba", 0x2528BC, 0x28C -gUnknown_8252B48:: @ 8252B48 +gNatureStatTable:: @ 8252B48 .incbin "baserom.gba", 0x252B48, 0x80 gUnknown_8252BC8:: @ 8252BC8 @@ -379,7 +376,7 @@ sGetMonDataEVConstants:: @ 825DFEA gUnknown_825DFF0:: @ 825DFF0 .incbin "baserom.gba", 0x25DFF0, 0x6 -gUnknown_825DFF6:: @ 825DFF6 +sFriendshipEventDeltas:: @ 825DFF6 .incbin "baserom.gba", 0x25DFF6, 0x1E gUnknown_825E014:: @ 825E014 diff --git a/include/link.h b/include/link.h index 1f91ebfeb..352386523 100644 --- a/include/link.h +++ b/include/link.h @@ -69,7 +69,7 @@ struct LinkPlayer /* 0x08 */ u8 name[11]; /* 0x13 */ u8 gender; /* 0x14 */ u32 linkType; - /* 0x18 */ u16 lp_field_18; // battle bank in battles + /* 0x18 */ u16 id; // battle bank in battles /* 0x1A */ u16 language; }; diff --git a/src/pokemon.c b/src/pokemon.c index 66b7824ff..f4e712b46 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -14,6 +14,7 @@ #include "battle_controllers.h" #include "evolution_scene.h" #include "battle_message.h" +#include "link.h" #include "constants/items.h" #include "constants/species.h" #include "constants/pokemon.h" @@ -65,6 +66,9 @@ extern u16 gUnknown_8251CB8[]; extern u16 gUnknown_8251FEE[]; extern u16 gUnknown_8252324[]; extern u16 gUnknown_82539D4[]; +extern struct SpindaSpot gSpindaSpotGraphics[]; +extern s8 gNatureStatTable[][5]; +extern const s8 sFriendshipEventDeltas[][3]; // External functions extern u8 sav1_map_get_name(void); // overworld @@ -4796,3 +4800,407 @@ u16 SpeciesToCryId(u16 species) return gUnknown_82539D4[species - ((SPECIES_OLD_UNOWN_Z + 1) - 1)]; } + +void sub_8043338(u16 species, u32 personality, u8 *dest) +{ + if (species == SPECIES_SPINDA + && dest != gMonSpritesGfxPtr->sprites[0] + && dest != gMonSpritesGfxPtr->sprites[2]) + { + int i; + for (i = 0; i < 4; i++) + { + int j; + u8 x = gSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8); + u8 y = gSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8); + + for (j = 0; j < 16; j++) + { + int k; + s32 row = gSpindaSpotGraphics[i].image[j]; + + for (k = x; k < x + 16; k++) + { + u8 *val = dest + ((k / 8) * 32) + ((k % 8) / 2) + ((y >> 3) << 8) + ((y & 7) << 2); + + if (row & 1) + { + if (k & 1) + { + if ((u8)((*val & 0xF0) - 0x10) <= 0x20) + *val += 0x40; + } + else + { + if ((u8)((*val & 0xF) - 0x01) <= 0x02) + *val += 0x04; + } + } + + row >>= 1; + } + + y++; + } + + personality >>= 8; + } + } +} + +void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4) +{ + if (species == SPECIES_SPINDA && a4) + { + int i; + for (i = 0; i < 4; i++) + { + int j; + u8 x = gSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8); + u8 y = gSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8); + + for (j = 0; j < 16; j++) + { + int k; + s32 row = gSpindaSpotGraphics[i].image[j]; + + for (k = x; k < x + 16; k++) + { + u8 *val = dest + ((k / 8) * 32) + ((k % 8) / 2) + ((y >> 3) << 8) + ((y & 7) << 2); + + if (row & 1) + { + if (k & 1) + { + if ((u8)((*val & 0xF0) - 0x10) <= 0x20) + *val += 0x40; + } + else + { + if ((u8)((*val & 0xF) - 0x01) <= 0x02) + *val += 0x04; + } + } + + row >>= 1; + } + + y++; + } + + personality >>= 8; + } + } +} + +void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) +{ + u8 language; + GetMonData(mon, MON_DATA_NICKNAME, gStringVar1); + language = GetMonData(mon, MON_DATA_LANGUAGE, &language); + if (language == GAME_LANGUAGE && !StringCompare(gSpeciesNames[oldSpecies], gStringVar1)) + SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[newSpecies]); +} + +bool8 sub_80435E0(void) +{ + bool8 retVal = FALSE; + switch (gLinkPlayers[GetMultiplayerId()].id) + { + case 0: + case 3: + retVal = FALSE; + break; + case 1: + case 2: + retVal = TRUE; + break; + } + return retVal; +} + +bool8 sub_8043620(u8 id) +{ + bool8 retVal = FALSE; + switch (gLinkPlayers[id].id) + { + case 0: + case 3: + retVal = FALSE; + break; + case 1: + case 2: + retVal = TRUE; + break; + } + return retVal; +} + +s32 GetBankMultiplayerId(u16 a1) +{ + s32 id; + for (id = 0; id < MAX_LINK_PLAYERS; id++) + if (gLinkPlayers[id].id == a1) + break; + return id; +} + +u8 sub_804367C(u16 trainer) +{ + return gTrainers[trainer].encounterMusic_gender & 0x7F; +} + +u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex) +{ + if (statIndex < 1 || statIndex > 5) + { + // should just be "return n", but it wouldn't match without this + u16 retVal = n; + retVal++; + retVal--; + return retVal; + } + + switch (gNatureStatTable[nature][statIndex - 1]) + { + case 1: + return (u16)(n * 110) / 100; + case -1: + return (u16)(n * 90) / 100; + } + + return n; +} + +// TODO: Move these to constants/trainers.h +#define TRAINER_CLASS_ELITE_FOUR 0x54 +#define TRAINER_CLASS_LEADER 0x57 +#define TRAINER_CLASS_CHAMPION 0x5A + +// TODO: Move these too +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 +#define FRIENDSHIP_EVENT_WALKING 0x5 + +void AdjustFriendship(struct Pokemon *mon, u8 event) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0); + u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); + u8 holdEffect; + + if (heldItem == ITEM_ENIGMA_BERRY) + { + if (gMain.inBattle) + holdEffect = gEnigmaBerries[0].holdEffect; + else + holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + } + else + { + holdEffect = ItemId_GetHoldEffect(heldItem); + } + + if (species && species != SPECIES_EGG) + { + u8 friendshipLevel = 0; + s16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0); + if (friendship > 99) + friendshipLevel++; + if (friendship > 199) + friendshipLevel++; + + if ((event != FRIENDSHIP_EVENT_WALKING || !(Random() & 1)) + && (event != FRIENDSHIP_EVENT_LEAGUE_BATTLE + || ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) + && (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_LEADER + || gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_CHAMPION)))) + { + s8 delta = sFriendshipEventDeltas[event][friendshipLevel]; + if (delta > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) + delta = (150 * delta) / 100; + + friendship += delta; + if (delta > 0) + { + if (GetMonData(mon, MON_DATA_POKEBALL, 0) == ITEM_LUXURY_BALL) + friendship++; + if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == sav1_map_get_name()) + friendship++; + } + + if (friendship < 0) + friendship = 0; + if (friendship > 255) + friendship = 255; + + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); + } + } +} + +void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) +{ + u8 evs[NUM_STATS]; + u16 evIncrease = 0; + u16 totalEVs = 0; + u16 heldItem; + u8 holdEffect; + int i; + + for (i = 0; i < NUM_STATS; i++) + { + evs[i] = GetMonData(mon, MON_DATA_HP_EV + i, 0); + totalEVs += evs[i]; + } + + for (i = 0; i < NUM_STATS; i++) + { + u8 hasHadPokerus; + int multiplier; + + if (totalEVs >= MAX_TOTAL_EVS) + break; + + hasHadPokerus = CheckPartyHasHadPokerus(mon, 0); + + if (hasHadPokerus) + multiplier = 2; + else + multiplier = 1; + + switch (i) + { + case 0: + evIncrease = gBaseStats[defeatedSpecies].evYield_HP * multiplier; + break; + case 1: + evIncrease = gBaseStats[defeatedSpecies].evYield_Attack * multiplier; + break; + case 2: + evIncrease = gBaseStats[defeatedSpecies].evYield_Defense * multiplier; + break; + case 3: + evIncrease = gBaseStats[defeatedSpecies].evYield_Speed * multiplier; + break; + case 4: + evIncrease = gBaseStats[defeatedSpecies].evYield_SpAttack * multiplier; + break; + case 5: + evIncrease = gBaseStats[defeatedSpecies].evYield_SpDefense * multiplier; + break; + } + + heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); + + if (heldItem == ITEM_ENIGMA_BERRY) + { + if (gMain.inBattle) + holdEffect = gEnigmaBerries[0].holdEffect; + else + holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + } + else + { + holdEffect = ItemId_GetHoldEffect(heldItem); + } + + if (holdEffect == HOLD_EFFECT_MACHO_BRACE) + evIncrease *= 2; + + if (totalEVs + (s16)evIncrease > MAX_TOTAL_EVS) + evIncrease = ((s16)evIncrease + MAX_TOTAL_EVS) - (totalEVs + evIncrease); + + if (evs[i] + (s16)evIncrease > 255) + { + int val1 = (s16)evIncrease + 255; + int val2 = evs[i] + evIncrease; + evIncrease = val1 - val2; + } + + evs[i] += evIncrease; + totalEVs += evIncrease; + SetMonData(mon, MON_DATA_HP_EV + i, &evs[i]); + } +} + +u16 GetMonEVCount(struct Pokemon *mon) +{ + int i; + u16 count = 0; + + for (i = 0; i < NUM_STATS; i++) + count += GetMonData(mon, MON_DATA_HP_EV + i, 0); + + return count; +} + +void sub_8043A68(void) +{ + u8 foo[4]; // huh? +} + +u8 CheckPartyPokerus(struct Pokemon *party, u8 selection) +{ + u8 retVal; + + int partyIndex = 0; + unsigned curBit = 1; + retVal = 0; + + if (selection) + { + do + { + if ((selection & 1) && (GetMonData(&party[partyIndex], MON_DATA_POKERUS, 0) & 0xF)) + retVal |= curBit; + partyIndex++; + curBit <<= 1; + selection >>= 1; + } + while (selection); + } + else if (GetMonData(&party[0], MON_DATA_POKERUS, 0) & 0xF) + { + retVal = 1; + } + + return retVal; +} + +u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection) +{ + u8 retVal; + + int partyIndex = 0; + unsigned curBit = 1; + retVal = 0; + + if (selection) + { + do + { + if ((selection & 1) && GetMonData(&party[partyIndex], MON_DATA_POKERUS, 0)) + retVal |= curBit; + partyIndex++; + curBit <<= 1; + selection >>= 1; + } + while (selection); + } + else if (GetMonData(&party[0], MON_DATA_POKERUS, 0)) + { + retVal = 1; + } + + return retVal; +} + +void sub_8043B38(void) +{ + u8 foo[4]; // huh? +} + +void sub_8043B40(void) +{ + u8 foo[4]; // huh? +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 75c584009..059b4b8f5 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -80,7 +80,7 @@ gUnknown_202271C: @ 202271C gUnknown_2022720: @ 2022720 .space 0x1C -gUnknown_202273C: @ 202273C +gLinkPlayers: @ 202273C .space 0x8 gUnknown_2022744: @ 2022744 |