diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/party_menu.s | 18 | ||||
-rw-r--r-- | asm/rom_8011DC0.s | 4 | ||||
-rw-r--r-- | asm/script_pokemon_util_80F87D8.s | 1667 |
3 files changed, 11 insertions, 1678 deletions
diff --git a/asm/party_menu.s b/asm/party_menu.s index 231cb72d7..bbb36b109 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -1219,7 +1219,7 @@ sub_81B0A9C: @ 81B0A9C muls r0, r5 ldr r1, =gPlayerParty adds r0, r1 - ldr r6, =gUnknown_0203CEF8 + ldr r6, =gSelectedOrderFromParty bl sub_81B85AC lsls r0, 24 cmp r0, 0 @@ -9304,7 +9304,7 @@ sub_81B4E8C: @ 81B4E8C adds r0, r1 mov r8, r0 _081B4EC6: - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty adds r4, r5, r0 ldrb r0, [r4] cmp r0, 0 @@ -9418,7 +9418,7 @@ sub_81B4FA8: @ 81B4FA8 movs r4, 0 cmp r4, r5 bcs _081B502A - ldr r6, =gUnknown_0203CEF8 + ldr r6, =gSelectedOrderFromParty subs r2, r5, 0x1 adds r7, r6, 0 ldr r3, =gUnknown_0203CEC8 @@ -9476,7 +9476,7 @@ _081B502A: cmp r4, r5 bge _081B5078 _081B504E: - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty adds r1, r4, r0 ldrb r0, [r1] cmp r0, 0 @@ -15518,7 +15518,7 @@ sub_81B8518: @ 81B8518 thumb_func_start sub_81B8558 sub_81B8558: @ 81B8558 push {lr} - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty movs r1, 0 movs r2, 0x4 bl memset @@ -15655,7 +15655,7 @@ sub_81B865C: @ 81B865C lsls r0, 24 lsrs r2, r0, 24 adds r1, r2, 0 - ldr r3, =gUnknown_0203CEF8 + ldr r3, =gSelectedOrderFromParty adds r0, r2, r3 subs r0, 0x1 ldrb r0, [r0] @@ -15700,7 +15700,7 @@ _081B86C0: movs r5, 0 b _081B8750 _081B86CE: - ldr r3, =gUnknown_0203CEF8 + ldr r3, =gSelectedOrderFromParty adds r4, r3, r5 ldrb r0, [r4] movs r1, 0x64 @@ -15731,7 +15731,7 @@ _081B86CE: bcs _081B8748 movs r7, 0x64 _081B870E: - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty adds r5, r0, r4 ldrb r0, [r5] muls r0, r7 @@ -15787,7 +15787,7 @@ sub_81B8770: @ 81B8770 lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 - ldr r3, =gUnknown_0203CEF8 + ldr r3, =gSelectedOrderFromParty _081B877A: adds r0, r1, r3 ldrb r0, [r0] diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index 6103785da..a52c2bc88 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -10149,7 +10149,7 @@ sub_801AAD4: @ 801AAD4 ldr r6, =gPlayerParty ldr r5, =gEnemyParty _0801AAE4: - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty adds r0, r4, r0 ldrb r0, [r0] subs r0, 0x1 @@ -10504,7 +10504,7 @@ _0801AE54: movs r1, 0 movs r2, 0x20 bl memset - ldr r0, =gUnknown_0203CEF8 + ldr r0, =gSelectedOrderFromParty ldrb r1, [r0] ldrb r0, [r0, 0x1] cmn r1, r0 diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s deleted file mode 100644 index 1202473ee..000000000 --- a/asm/script_pokemon_util_80F87D8.s +++ /dev/null @@ -1,1667 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F87D8 -sub_80F87D8: @ 80F87D8 - push {r4,lr} - ldr r0, =gSaveBlock1Ptr - ldr r2, [r0] - ldr r1, =gContestMons - ldrb r3, [r1, 0x15] - ldr r4, =0x000013bc - adds r0, r2, r4 - strh r3, [r0] - adds r0, r1, 0 - adds r0, 0x55 - ldrb r3, [r0] - adds r4, 0x2 - adds r0, r2, r4 - strh r3, [r0] - adds r1, 0x95 - ldrb r0, [r1] - movs r1, 0x9E - lsls r1, 5 - adds r2, r1 - strh r0, [r2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F87D8 - - thumb_func_start sub_80F8814 -sub_80F8814: @ 80F8814 - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r0, 0x1 - beq _080F883A - cmp r0, 0x1 - bgt _080F8830 - cmp r0, 0 - beq _080F8836 - b _080F8842 - .pool -_080F8830: - cmp r1, 0x2 - beq _080F883E - b _080F8842 -_080F8836: - movs r1, 0x3 - b _080F8844 -_080F883A: - movs r1, 0x4 - b _080F8844 -_080F883E: - movs r1, 0x5 - b _080F8844 -_080F8842: - movs r1, 0x64 -_080F8844: - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8814 - - thumb_func_start sub_80F8850 -sub_80F8850: @ 80F8850 - push {lr} - bl sub_80F8264 - bl sub_80F8290 - bl sub_80F8438 - pop {r0} - bx r0 - thumb_func_end sub_80F8850 - - thumb_func_start sub_80F8864 -sub_80F8864: @ 80F8864 - push {lr} - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080F88A4 - lsls r0, 2 - ldr r1, =_080F8880 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F8880: - .4byte _080F8894 - .4byte _080F8898 - .4byte _080F889C - .4byte _080F88A0 - .4byte _080F88A4 -_080F8894: - movs r1, 0x8 - b _080F88A6 -_080F8898: - movs r1, 0x9 - b _080F88A6 -_080F889C: - movs r1, 0xA - b _080F88A6 -_080F88A0: - movs r1, 0xB - b _080F88A6 -_080F88A4: - movs r1, 0xC -_080F88A6: - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - lsls r1, 5 - adds r0, r1 - ldr r1, =0x00002e98 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - bne _080F88CC - ldr r0, =gSpecialVar_0x8004 - strh r1, [r0] - b _080F88D2 - .pool -_080F88CC: - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - strh r0, [r1] -_080F88D2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8864 - - thumb_func_start sub_80F88DC -sub_80F88DC: @ 80F88DC - push {lr} - movs r0, 0xFF - bl sub_80DEDA8 - pop {r0} - bx r0 - thumb_func_end sub_80F88DC - - thumb_func_start sub_80F88E8 -sub_80F88E8: @ 80F88E8 - push {lr} - ldr r0, =gContestFinalStandings - ldr r1, =gContestPlayerMonIndex - ldrb r2, [r1] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080F8930 - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r0, 0x3 - bne _080F8930 - ldr r1, =gUnknown_02039F08 - lsls r0, r2, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, =0x0000031f - cmp r1, r0 - ble _080F8930 - ldr r1, =gSpecialVar_0x8004 - movs r0, 0x1 - b _080F8934 - .pool -_080F8930: - ldr r1, =gSpecialVar_0x8004 - movs r0, 0 -_080F8934: - strh r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F88E8 - - thumb_func_start sub_80F8940 -sub_80F8940: @ 80F8940 - push {lr} - movs r3, 0 - ldr r0, =gSaveBlock1Ptr - ldr r0, [r0] - ldr r2, =0x00002f98 - adds r1, r0, r2 - movs r2, 0x4 -_080F894E: - ldrh r0, [r1] - cmp r0, 0 - beq _080F895A - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080F895A: - adds r1, 0x20 - subs r2, 0x1 - cmp r2, 0 - bge _080F894E - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F8940 - - thumb_func_start sub_80F8970 -sub_80F8970: @ 80F8970 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gContestMonConditions - mov r12, r0 - ldr r1, =gSpecialVar_0x8006 - mov r9, r1 - ldr r2, =gContestMons + 2 - mov r10, r2 - mov r2, r12 - mov r1, sp - movs r6, 0x3 -_080F898E: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r6, 0x1 - cmp r6, 0 - bge _080F898E - movs r6, 0 -_080F899E: - movs r1, 0x3 - cmp r1, r6 - ble _080F89C8 -_080F89A4: - subs r5, r1, 0x1 - lsls r0, r5, 1 - mov r4, sp - adds r3, r4, r0 - lsls r0, r1, 1 - adds r2, r4, r0 - ldrh r4, [r3] - movs r7, 0 - ldrsh r1, [r3, r7] - movs r7, 0 - ldrsh r0, [r2, r7] - cmp r1, r0 - bge _080F89C2 - strh r4, [r2] - strh r0, [r3] -_080F89C2: - adds r1, r5, 0 - cmp r1, r6 - bgt _080F89A4 -_080F89C8: - adds r6, 0x1 - cmp r6, 0x2 - ble _080F899E - mov r2, r9 - ldrh r0, [r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - movs r2, 0 - mov r8, r2 - movs r6, 0 - lsls r0, 16 - asrs r4, r0, 16 - adds r3, r0, 0 - mov r1, sp - mov r5, r9 -_080F89E8: - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, r4 - bne _080F8A02 - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - ldrh r7, [r5] - cmp r6, r7 - bne _080F8A02 - mov r8, r2 -_080F8A02: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _080F89E8 - movs r6, 0 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - asrs r1, r3, 16 - lsls r2, 24 - mov r9, r2 - cmp r0, r1 - beq _080F8A30 - adds r2, r1, 0 - mov r1, sp -_080F8A20: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - bgt _080F8A30 - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, r2 - bne _080F8A20 -_080F8A30: - lsls r0, r6, 24 - lsrs r7, r0, 24 - mov r2, r8 - movs r6, 0 - asrs r1, r3, 16 - mov r5, r12 - movs r4, 0 - ldrsh r0, [r5, r4] - b _080F8A66 - .pool -_080F8A50: - subs r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080F8A56: - adds r6, 0x1 - cmp r6, 0x3 - bgt _080F8A6E - lsls r0, r6, 1 - add r0, r12 - asrs r1, r3, 16 - movs r5, 0 - ldrsh r0, [r0, r5] -_080F8A66: - cmp r1, r0 - bne _080F8A56 - cmp r2, 0x1 - bne _080F8A50 -_080F8A6E: - lsls r4, r6, 6 - mov r0, r10 - adds r1, r4, r0 - ldr r0, =gStringVar1 - bl StringCopy - ldr r5, =gStringVar2 - mov r0, r10 - adds r0, 0xB - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl StringCopy - adds r0, r5, 0 - bl sub_81DB5AC - mov r1, r9 - asrs r0, r1, 24 - cmp r0, 0x1 - beq _080F8A9C - cmp r8, r0 - bne _080F8AB0 -_080F8A9C: - ldr r0, =gSpecialVar_0x8006 - strh r7, [r0] - b _080F8AB6 - .pool -_080F8AB0: - ldr r1, =gSpecialVar_0x8006 - adds r0, r7, 0x4 - strh r0, [r1] -_080F8AB6: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8970 - - thumb_func_start sub_80F8ACC -sub_80F8ACC: @ 80F8ACC - push {lr} - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8ACC - - thumb_func_start ShowContestWinner -ShowContestWinner: @ 80F8ADC - push {lr} - ldr r0, =sub_812FDEC - bl SetMainCallback2 - ldr r1, =gMain - ldr r0, =sub_80F8ACC - str r0, [r1, 0x8] - pop {r0} - bx r0 - .pool - thumb_func_end ShowContestWinner - - thumb_func_start sub_80F8AFC -sub_80F8AFC: @ 80F8AFC - push {r4,r5,lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F8B7C - movs r3, 0 - ldr r0, =gUnknown_02039F30 - adds r4, r0, 0 - ldr r5, =gContestMons - ldrb r0, [r4] - cmp r3, r0 - bge _080F8B50 - adds r2, r5, 0 - ldr r1, =gLinkPlayers -_080F8B1C: - ldrb r0, [r1] - subs r0, 0x1 - cmp r0, 0x1 - bhi _080F8B44 - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _080F8B40 - movs r0, 0xEB - b _080F8B42 - .pool -_080F8B40: - movs r0, 0xEC -_080F8B42: - strb r0, [r2, 0x15] -_080F8B44: - adds r2, 0x40 - adds r1, 0x1C - adds r3, 0x1 - ldrb r0, [r4] - cmp r3, r0 - blt _080F8B1C -_080F8B50: - ldr r0, =0x00004010 - ldrb r1, [r5, 0x15] - bl VarSet - ldr r0, =0x00004011 - adds r1, r5, 0 - adds r1, 0x55 - ldrb r1, [r1] - bl VarSet - ldr r0, =0x00004012 - adds r1, r5, 0 - adds r1, 0x95 - ldrb r1, [r1] - bl VarSet - ldr r0, =0x00004013 - adds r1, r5, 0 - adds r1, 0xD5 - ldrb r1, [r1] - bl VarSet -_080F8B7C: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8AFC - - thumb_func_start sub_80F8B94 -sub_80F8B94: @ 80F8B94 - push {r4-r7,lr} - ldr r1, =gReservedSpritePaletteCount - movs r0, 0xC - strb r0, [r1] - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F8C6E - movs r5, 0 - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r5, r0 - bge _080F8C6E - movs r7, 0 - movs r6, 0x60 - movs r4, 0xB0 - lsls r4, 17 -_080F8BBA: - ldr r0, =gUnknown_0858D8EC - adds r0, r5, r0 - ldrb r0, [r0] - ldr r1, =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl GetEventObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gEventObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r6 - strb r0, [r1, 0x5] - ldr r0, =gLinkPlayers - adds r1, r7, r0 - ldrb r0, [r1] - subs r0, 0x1 - cmp r0, 0x1 - bhi _080F8C38 - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _080F8C2C - lsrs r1, r4, 16 - ldr r0, =gEventObjectPalette33 - b _080F8C42 - .pool -_080F8C2C: - lsrs r1, r4, 16 - ldr r0, =gEventObjectPalette34 - b _080F8C42 - .pool -_080F8C38: - ldrb r0, [r1, 0x13] - cmp r0, 0 - bne _080F8C50 - lsrs r1, r4, 16 - ldr r0, =gEventObjectPalette8 -_080F8C42: - movs r2, 0x20 - bl LoadPalette - b _080F8C5A - .pool -_080F8C50: - lsrs r1, r4, 16 - ldr r0, =gEventObjectPalette17 - movs r2, 0x20 - bl LoadPalette -_080F8C5A: - movs r0, 0x80 - lsls r0, 13 - adds r4, r0 - adds r7, 0x1C - adds r6, 0x10 - adds r5, 0x1 - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r5, r0 - blt _080F8BBA -_080F8C6E: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8B94 - - thumb_func_start sub_80F8C7C -sub_80F8C7C: @ 80F8C7C - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, =gUnknown_02039F24 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x46 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - cmp r0, 0 - bne _080F8D18 - ldr r0, =gContestFinalStandings - ldr r1, =gContestPlayerMonIndex - ldrb r2, [r1] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080F8D18 - ldr r0, =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r0, 0x3 - bne _080F8D18 - ldr r1, =gUnknown_02039F08 - lsls r0, r2, 1 - adds r0, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r0, =0x0000031f - cmp r1, r0 - ble _080F8D18 - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x46 - mov r2, sp - bl SetMonData - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - bl GetRibbonCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080F8CF6 - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x46 - bl sub_80EE4DC -_080F8CF6: - movs r0, 0x1 - b _080F8D1A - .pool -_080F8D18: - movs r0, 0 -_080F8D1A: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80F8C7C - - thumb_func_start sub_80F8D24 -sub_80F8D24: @ 80F8D24 - movs r0, 0 - bx lr - thumb_func_end sub_80F8D24 - - thumb_func_start sub_80F8D28 -sub_80F8D28: @ 80F8D28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r7, =sub_80F8EE8 - adds r0, r7, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080F8D44 - b _080F8E9C -_080F8D44: - bl AllocateMonSpritesGfx - movs r0, 0xA - mov r9, r0 - movs r1, 0x3 - mov r10, r1 - ldr r2, =gContestMons - ldr r4, =gSpecialVar_0x8006 - ldrh r1, [r4] - lsls r1, 6 - adds r0, r1, r2 - ldrh r6, [r0] - adds r0, r2, 0 - adds r0, 0x38 - adds r0, r1, r0 - ldr r5, [r0] - adds r2, 0x3C - adds r1, r2 - ldr r1, [r1] - mov r8, r1 - adds r0, r7, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x8] - strh r6, [r0, 0xA] - ldr r1, =gContestPlayerMonIndex - ldrh r0, [r4] - ldrb r1, [r1] - cmp r0, r1 - bne _080F8DC4 - lsls r0, r6, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r6, 0 - adds r3, r5, 0 - bl HandleLoadSpecialPokePic_2 - b _080F8DD8 - .pool -_080F8DC4: - lsls r0, r6, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r6, 0 - adds r3, r5, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_080F8DD8: - adds r0, r6, 0 - mov r1, r8 - adds r2, r5, 0 - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - adds r0, r6, 0 - movs r1, 0x1 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, =gMultiuseSpriteTemplate - ldrh r1, [r4, 0x4] - strh r1, [r0, 0x2] - mov r1, r9 - adds r1, 0x1 - lsls r1, 19 - movs r2, 0x80 - lsls r2, 14 - adds r1, r2 - asrs r1, 16 - mov r3, r10 - lsls r2, r3, 19 - movs r3, 0xA0 - lsls r3, 14 - adds r2, r3 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F8E58 - movs r0, 0x4 - ands r0, r1 - lsls r4, r5, 4 - cmp r0, 0 - bne _080F8E6C - adds r0, r4, r5 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl DoMonFrontSpriteAnimation - b _080F8E6C - .pool -_080F8E58: - lsls r4, r5, 4 - adds r0, r4, r5 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0 - bl DoMonFrontSpriteAnimation -_080F8E6C: - ldr r1, =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xC] - mov r1, r9 - strh r1, [r0, 0xE] - mov r2, r10 - strh r2, [r0, 0x10] - ldr r3, =gSprites - adds r1, r4, r5 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, =SpriteCallbackDummy - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] -_080F8E9C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8D28 - - thumb_func_start sub_80F8EB8 -sub_80F8EB8: @ 80F8EB8 - push {lr} - ldr r0, =sub_80F8EE8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080F8EDC - ldr r0, =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - bl FreeMonSpritesGfx -_080F8EDC: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8EB8 - - thumb_func_start sub_80F8EE8 -sub_80F8EE8: @ 80F8EE8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, =gTasks - adds r5, r0, r1 - movs r2, 0x8 - ldrsh r0, [r5, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _080F8F98 - lsls r0, 2 - ldr r1, =_080F8F14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080F8F14: - .4byte _080F8F78 - .4byte _080F8F28 - .4byte _080F8F98 - .4byte _080F8F42 - .4byte _080F8F84 -_080F8F28: - movs r0, 0xA - movs r1, 0x3 - movs r2, 0x8 - movs r3, 0x8 - bl CreateWindowFromRect - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x12] - movs r1, 0x1 - bl SetStandardWindowBorderStyle - b _080F8F78 -_080F8F42: - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r4, r0, r1 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - ldrb r0, [r4, 0x1] - lsls r0, 30 - cmp r0, 0 - beq _080F8F72 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix -_080F8F72: - adds r0, r4, 0 - bl DestroySprite -_080F8F78: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _080F8F98 - .pool -_080F8F84: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0, 0x12] - bl sub_80E2A78 - adds r0, r4, 0 - bl DestroyTask -_080F8F98: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F8EE8 - - thumb_func_start sub_80F8FA0 -sub_80F8FA0: @ 80F8FA0 - push {r4,lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F8FD8 - ldr r0, =gUnknown_02039F30 - ldrb r0, [r0] - cmp r0, 0x4 - bne _080F8FD8 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F8FD8 - ldr r4, =gSpecialVar_Result - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - b _080F8FDE - .pool -_080F8FD8: - ldr r1, =gSpecialVar_Result - movs r0, 0x4 - strh r0, [r1] -_080F8FDE: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8FA0 - - thumb_func_start sub_80F8FE8 -sub_80F8FE8: @ 80F8FE8 - push {r4,lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F9020 - ldr r2, =gContestRngValue - ldr r1, [r2] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00006073 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - ldr r4, =gSpecialVar_Result - b _080F902A - .pool -_080F9020: - ldr r4, =gSpecialVar_Result - bl Random - lsls r0, 16 - lsrs r0, 16 -_080F902A: - ldrh r1, [r4] - bl __umodsi3 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F8FE8 - - thumb_func_start sub_80F903C -sub_80F903C: @ 80F903C - ldr r2, =gContestRngValue - ldr r1, [r2] - ldr r0, =0x41c64e6d - muls r0, r1 - ldr r1, =0x00006073 - adds r0, r1 - str r0, [r2] - lsrs r0, 16 - bx lr - .pool - thumb_func_end sub_80F903C - - thumb_func_start sub_80F905C -sub_80F905C: @ 80F905C - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F9074 - movs r0, 0 - b _080F907E - .pool -_080F9074: - ldr r0, =sub_80F9088 - movs r1, 0x5 - bl CreateTask - movs r0, 0x1 -_080F907E: - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F905C - - thumb_func_start sub_80F9088 -sub_80F9088: @ 80F9088 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080F90C0 - cmp r0, 0x1 - beq _080F90CE - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F90D4 - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask - b _080F90D4 - .pool -_080F90C0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _080F90D4 - bl sub_800ADF8 -_080F90CE: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080F90D4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F9088 - - thumb_func_start sub_80F90DC -sub_80F90DC: @ 80F90DC - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F90FE - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080F90FE - bl sub_800E0E8 - movs r0, 0x8 - movs r1, 0x8 - bl CreateWirelessStatusIndicatorSprite -_080F90FE: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F90DC - - thumb_func_start sub_80F910C -sub_80F910C: @ 80F910C - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080F9126 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080F9126 - bl sub_800E084 -_080F9126: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F910C - - thumb_func_start sub_80F9134 -sub_80F9134: @ 80F9134 - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _080F914C - movs r0, 0 - b _080F914E - .pool -_080F914C: - movs r0, 0x1 -_080F914E: - pop {r1} - bx r1 - thumb_func_end sub_80F9134 - - thumb_func_start sub_80F9154 -sub_80F9154: @ 80F9154 - ldr r1, =gIsLinkContest - movs r0, 0 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_80F9154 - - thumb_func_start sub_80F9160 -sub_80F9160: @ 80F9160 - push {lr} - ldr r0, =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080F9178 - movs r0, 0 - b _080F917A - .pool -_080F9178: - movs r0, 0x1 -_080F917A: - pop {r1} - bx r1 - thumb_func_end sub_80F9160 - - thumb_func_start HealPlayerParty -HealPlayerParty: @ 80F9180 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcs _080F922C - ldr r1, =gPlayerParty - mov r10, r1 - mov r6, sp -_080F919E: - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - add r4, r10 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - lsls r1, r0, 16 - strb r0, [r6] - lsrs r1, 24 - strb r1, [r6, 0x1] - adds r0, r4, 0 - movs r1, 0x39 - mov r2, sp - bl SetMonData - adds r0, r4, 0 - movs r1, 0x15 - bl GetMonData - lsls r0, 24 - lsrs r7, r0, 24 - movs r5, 0 - movs r1, 0x1 - add r1, r8 - mov r9, r1 -_080F91D4: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r4, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - adds r1, r7, 0 - adds r2, r5, 0 - bl CalculatePPWithBonus - strb r0, [r6] - adds r1, r5, 0 - adds r1, 0x11 - adds r0, r4, 0 - mov r2, sp - bl SetMonData - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080F91D4 - movs r0, 0 - strb r0, [r6] - strb r0, [r6, 0x1] - strb r0, [r6, 0x2] - strb r0, [r6, 0x3] - movs r1, 0x64 - mov r0, r8 - muls r0, r1 - add r0, r10 - movs r1, 0x37 - mov r2, sp - bl SetMonData - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r8, r0 - bcc _080F919E -_080F922C: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end HealPlayerParty - - thumb_func_start ScriptGiveMon -@ void ScriptGiveMon(s16 species_num, u8 level, int held_item) -ScriptGiveMon: @ 80F9244 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x78 - adds r5, r0, 0 - adds r3, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 16 - lsrs r0, r4, 16 - mov r8, r0 - add r6, sp, 0x14 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r3, 0 - movs r3, 0x20 - bl CreateMon - add r0, sp, 0x10 - mov r1, r8 - strb r1, [r0] - lsrs r4, 24 - strb r4, [r0, 0x1] - adds r0, r6, 0 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData - adds r0, r6, 0 - bl GiveMonToPlayer - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r5, r0, 16 - cmp r4, 0x1 - bgt _080F92B8 - cmp r4, 0 - blt _080F92B8 - adds r0, r5, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r5, 0 - movs r1, 0x3 - bl GetSetPokedexFlag -_080F92B8: - adds r0, r4, 0 - add sp, 0x78 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end ScriptGiveMon - - thumb_func_start ScriptGiveEgg -ScriptGiveEgg: @ 80F92C8 - push {lr} - sub sp, 0x68 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r0, sp - movs r2, 0x1 - bl CreateEgg - add r2, sp, 0x64 - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - mov r0, sp - bl GiveMonToPlayer - lsls r0, 24 - lsrs r0, 24 - add sp, 0x68 - pop {r1} - bx r1 - thumb_func_end ScriptGiveEgg - - thumb_func_start HasEnoughMonsForDoubleBattle -HasEnoughMonsForDoubleBattle: @ 80F92F8 - push {lr} - bl GetMonsStateToDoubles - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - beq _080F9314 - cmp r1, 0x1 - bgt _080F9310 - cmp r1, 0 - beq _080F9314 - b _080F9318 -_080F9310: - cmp r1, 0x2 - bne _080F9318 -_080F9314: - ldr r0, =gSpecialVar_Result - strh r1, [r0] -_080F9318: - pop {r0} - bx r0 - .pool - thumb_func_end HasEnoughMonsForDoubleBattle - - thumb_func_start sub_80F9320 -sub_80F9320: @ 80F9320 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 - movs r7, 0xCE - lsls r7, 1 -_080F932C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _080F9360 - cmp r0, r7 - beq _080F9360 - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - cmp r0, r6 - bne _080F9360 - movs r0, 0x1 - b _080F9368 - .pool -_080F9360: - adds r5, 0x1 - cmp r5, 0x5 - ble _080F932C - movs r0, 0 -_080F9368: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80F9320 - - thumb_func_start sub_80F9370 -sub_80F9370: @ 80F9370 - push {r4,lr} - movs r0, 0xAF - bl sub_80F9320 - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r4, 0x1 - bne _080F9392 - movs r0, 0xAF - bl ItemIdToBerryType - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gStringVar1 - bl GetBerryNameByBerryType -_080F9392: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_80F9370 - - thumb_func_start CreateScriptedWildMon -CreateScriptedWildMon: @ 80F93A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r7, r2, 16 - lsrs r6, r7, 16 - bl ZeroEnemyPartyMons - ldr r0, =gEnemyParty - mov r8, r0 - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - mov r0, r8 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0x20 - bl CreateMon - cmp r6, 0 - beq _080F93EE - add r0, sp, 0x10 - strb r6, [r0] - adds r1, r0, 0 - lsrs r0, r7, 24 - strb r0, [r1, 0x1] - mov r0, r8 - movs r1, 0xC - add r2, sp, 0x10 - bl SetMonData -_080F93EE: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end CreateScriptedWildMon - - thumb_func_start ScriptSetMonMoveSlot -ScriptSetMonMoveSlot: @ 80F9400 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - lsls r2, 24 - lsrs r2, 24 - cmp r3, 0x6 - bls _080F941C - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_080F941C: - movs r0, 0x64 - muls r0, r3 - ldr r1, =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - bl SetMonMoveSlot - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ScriptSetMonMoveSlot - - thumb_func_start sub_80F9438 -sub_80F9438: @ 80F9438 - push {lr} - ldr r0, =gMain - ldr r1, =sub_80F9460 - str r1, [r0, 0x8] - ldr r0, =0x000040cf - movs r1, 0x9 - bl VarSet - movs r0, 0 - bl sub_81B8518 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9438 - - thumb_func_start sub_80F9460 -sub_80F9460: @ 80F9460 - push {lr} - ldr r0, =gUnknown_0203CEF8 - ldrb r1, [r0] - cmp r1, 0 - bne _080F9478 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _080F947E - .pool -_080F9478: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080F947E: - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9460 - - thumb_func_start sub_80F9490 -sub_80F9490: @ 80F9490 - push {lr} - ldr r1, =gMain - ldr r0, =sub_80F94B8 - str r0, [r1, 0x8] - ldr r0, =gSpecialVar_0x8004 - ldrb r0, [r0] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - bl sub_81B8518 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F9490 - - thumb_func_start sub_80F94B8 -sub_80F94B8: @ 80F94B8 - push {lr} - ldr r0, =gUnknown_0203CEF8 - ldrb r1, [r0] - cmp r1, 0 - bne _080F94D0 - ldr r0, =gSpecialVar_Result - strh r1, [r0] - b _080F94D6 - .pool -_080F94D0: - ldr r1, =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] -_080F94D6: - ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl SetMainCallback2 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80F94B8 - - thumb_func_start ReducePlayerPartyToThree -ReducePlayerPartyToThree: @ 80F94E8 - push {r4-r7,lr} - sub sp, 0x198 - add r0, sp, 0x190 - movs r1, 0 - str r1, [r0] - ldr r2, =0x05000064 - mov r1, sp - bl CpuSet - movs r5, 0 - movs r7, 0x64 - ldr r6, =gPlayerParty - mov r4, sp -_080F9502: - ldr r0, =gUnknown_0203CEF8 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080F951C - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r7 - adds r1, r6 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy -_080F951C: - adds r4, 0x64 - adds r5, 0x1 - cmp r5, 0x3 - ble _080F9502 - add r0, sp, 0x194 - movs r1, 0 - str r1, [r0] - ldr r4, =gPlayerParty - ldr r2, =0x05000096 - adds r1, r4, 0 - bl CpuSet - mov r5, sp - add r6, sp, 0x12C -_080F9538: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - cmp r5, r6 - ble _080F9538 - bl CalculatePlayerPartyCount - add sp, 0x198 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ReducePlayerPartyToThree - - .align 2, 0 @ Don't pad with nop. |