diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/librfu_intr.s | 26 | ||||
-rw-r--r-- | asm/pc_screen_effect.s | 477 | ||||
-rw-r--r-- | asm/script_pokemon_util_80BF8FC.s | 422 |
3 files changed, 13 insertions, 912 deletions
diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s index 10ee02e7b..2cc761554 100644 --- a/asm/librfu_intr.s +++ b/asm/librfu_intr.s @@ -19,7 +19,7 @@ IntrSIO32: @ 81DFC50 cmp r0, 0 ldmdbeq r11, {r11,sp,lr} bxeq lr - bl sub_81E05AC + bl Callback_Dummy_ID ldmdb r11, {r11,sp,lr} bx lr _081DFC8C: @@ -205,7 +205,7 @@ _081DFEFC: beq _081DFF3C ldrh r1, [r0, 0x12] ldrb r0, [r0, 0x6] - bl sub_81E05A4 + bl Callback_Dummy_M b _081DFF3C .align 2, 0 _081DFF28: .4byte gSTWIStatus @@ -424,7 +424,7 @@ _081E01D0: beq _081E0348 mov r0, 0x1EC add r0, r0, 0x2 - bl sub_81E05A8 + bl Callback_Dummy_S b _081E0348 _081E0244: mov r3, 0x120 @@ -446,7 +446,7 @@ _081E0244: ldrb r0, [r0, 0x6] mov r1, r2 orr r0, r0, r3, lsl 8 - bl sub_81E05A8 + bl Callback_Dummy_S b _081E0348 _081E0298: mov r3, 0x208 @@ -681,17 +681,17 @@ STWI_init_slave: @ 81E0518 _081E05A0: .4byte gSTWIStatus arm_func_end STWI_init_slave - arm_func_start sub_81E05A4 -sub_81E05A4: @ 81E05A4 + arm_func_start Callback_Dummy_M +Callback_Dummy_M: @ 81E05A4 bx r2 - arm_func_end sub_81E05A4 + arm_func_end Callback_Dummy_M - arm_func_start sub_81E05A8 -sub_81E05A8: @ 81E05A8 + arm_func_start Callback_Dummy_S +Callback_Dummy_S: @ 81E05A8 bx r1 - arm_func_end sub_81E05A8 + arm_func_end Callback_Dummy_S - arm_func_start sub_81E05AC -sub_81E05AC: @ 81E05AC + arm_func_start Callback_Dummy_ID +Callback_Dummy_ID: @ 81E05AC bx r0 - arm_func_end sub_81E05AC + arm_func_end Callback_Dummy_ID diff --git a/asm/pc_screen_effect.s b/asm/pc_screen_effect.s deleted file mode 100644 index 61c47a719..000000000 --- a/asm/pc_screen_effect.s +++ /dev/null @@ -1,477 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_80A0A48 -sub_80A0A48: @ 80A0A48 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A0A6C @ =sub_80A0B0C - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A0AC0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0A6C: .4byte sub_80A0B0C - thumb_func_end sub_80A0A48 - - thumb_func_start sub_80A0A70 -sub_80A0A70: @ 80A0A70 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _080A0A94 @ =sub_80A0C78 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A0AC0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0A94: .4byte sub_80A0C78 - thumb_func_end sub_80A0A70 - - thumb_func_start sub_80A0A98 -sub_80A0A98: @ 80A0A98 - push {lr} - ldr r0, _080A0AA8 @ =sub_80A0B0C - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A0AA8: .4byte sub_80A0B0C - thumb_func_end sub_80A0A98 - - thumb_func_start sub_80A0AAC -sub_80A0AAC: @ 80A0AAC - push {lr} - ldr r0, _080A0ABC @ =sub_80A0C78 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080A0ABC: .4byte sub_80A0C78 - thumb_func_end sub_80A0AAC - - thumb_func_start sub_80A0AC0 -sub_80A0AC0: @ 80A0AC0 - push {r4,r5,lr} - lsls r1, 16 - lsrs r4, r1, 16 - adds r5, r4, 0 - lsls r3, 24 - lsrs r3, 24 - adds r1, r3, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, _080A0B08 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0 - strh r0, [r1, 0x8] - movs r0, 0x10 - cmp r4, 0 - beq _080A0AEE - adds r0, r4, 0 -_080A0AEE: - strh r0, [r1, 0xA] - movs r0, 0x14 - cmp r5, 0 - beq _080A0AF8 - adds r0, r5, 0 -_080A0AF8: - strh r0, [r1, 0xC] - ldr r1, [r1] - adds r0, r2, 0 - bl _call_via_r1 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A0B08: .4byte gTasks - thumb_func_end sub_80A0AC0 - - thumb_func_start sub_80A0B0C -sub_80A0B0C: @ 80A0B0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A0B30 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080A0B8C - cmp r0, 0x1 - bgt _080A0B34 - cmp r0, 0 - beq _080A0B3E - b _080A0C5A - .align 2, 0 -_080A0B30: .4byte gTasks -_080A0B34: - cmp r0, 0x2 - beq _080A0BAE - cmp r0, 0x3 - beq _080A0C10 - b _080A0C5A -_080A0B3E: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080A0C6A -_080A0B8C: - movs r0, 0x50 - bl GetGpuReg - strh r0, [r4, 0x16] - movs r0, 0x54 - bl GetGpuReg - strh r0, [r4, 0x18] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg - b _080A0C6A -_080A0BAE: - ldrh r0, [r4, 0xE] - ldrh r1, [r4, 0xA] - subs r0, r1 - movs r5, 0 - strh r0, [r4, 0xE] - ldrh r2, [r4, 0x10] - adds r1, r2 - strh r1, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - ble _080A0BCC - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0xEF - ble _080A0BF2 -_080A0BCC: - strh r5, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - movs r2, 0 - bl BlendPalettes - ldr r0, _080A0C0C @ =gPlttBufferFaded - strh r5, [r0] -_080A0BF2: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - b _080A0C54 - .align 2, 0 -_080A0C0C: .4byte gPlttBufferFaded -_080A0C10: - ldrh r0, [r4, 0x12] - ldrh r1, [r4, 0xC] - subs r0, r1 - strh r0, [r4, 0x12] - ldrh r2, [r4, 0x14] - adds r1, r2 - strh r1, [r4, 0x14] - lsls r0, 16 - cmp r0, 0 - ble _080A0C2C - lsls r0, r1, 16 - asrs r0, 16 - cmp r0, 0x9F - ble _080A0C3E -_080A0C2C: - movs r0, 0 - strh r0, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits -_080A0C3E: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] -_080A0C54: - cmp r0, 0 - bne _080A0C70 - b _080A0C6A -_080A0C5A: - ldrh r1, [r4, 0x16] - movs r0, 0x50 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080A0C70 -_080A0C6A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080A0C70: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A0B0C - - thumb_func_start sub_80A0C78 -sub_80A0C78: @ 80A0C78 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080A0C9C @ =gTasks - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _080A0CB4 - cmp r1, 0x1 - bgt _080A0CA0 - cmp r1, 0 - beq _080A0CAA - b _080A0DA8 - .align 2, 0 -_080A0C9C: .4byte gTasks -_080A0CA0: - cmp r1, 0x2 - beq _080A0D02 - cmp r1, 0x3 - beq _080A0D54 - b _080A0DA8 -_080A0CAA: - ldr r0, _080A0CB0 @ =gPlttBufferFaded - strh r1, [r0] - b _080A0DCA - .align 2, 0 -_080A0CB0: .4byte gPlttBufferFaded -_080A0CB4: - movs r1, 0 - strh r1, [r4, 0xE] - movs r0, 0xF0 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - movs r0, 0xA0 - strh r0, [r4, 0x14] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - b _080A0DCA -_080A0D02: - ldrh r0, [r4, 0xC] - ldrh r2, [r4, 0x12] - adds r1, r0, r2 - strh r1, [r4, 0x12] - ldrh r2, [r4, 0x14] - subs r0, r2, r0 - strh r0, [r4, 0x14] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x4F - bgt _080A0D20 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x51 - bgt _080A0D38 -_080A0D20: - movs r0, 0x50 - strh r0, [r4, 0x12] - movs r0, 0x51 - strh r0, [r4, 0x14] - movs r0, 0x50 - movs r1, 0xBF - bl SetGpuReg - movs r0, 0x54 - movs r1, 0x10 - bl SetGpuReg -_080A0D38: - ldrh r1, [r4, 0x12] - lsls r1, 8 - ldrh r0, [r4, 0x14] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x44 - bl SetGpuReg - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0x50 - bne _080A0DD0 - b _080A0DCA -_080A0D54: - ldrh r0, [r4, 0xA] - ldrh r2, [r4, 0xE] - adds r1, r0, r2 - strh r1, [r4, 0xE] - ldrh r2, [r4, 0x10] - subs r0, r2, r0 - strh r0, [r4, 0x10] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x77 - bgt _080A0D72 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - bgt _080A0D88 -_080A0D72: - movs r0, 0x78 - strh r0, [r4, 0xE] - strh r0, [r4, 0x10] - subs r0, 0x79 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - ldr r1, _080A0DA4 @ =gPlttBufferFaded - movs r0, 0 - strh r0, [r1] -_080A0D88: - ldrh r1, [r4, 0xE] - lsls r1, 8 - ldrh r0, [r4, 0x10] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x40 - bl SetGpuReg - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x78 - bne _080A0DD0 - b _080A0DCA - .align 2, 0 -_080A0DA4: .4byte gPlttBufferFaded -_080A0DA8: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - adds r0, r5, 0 - bl DestroyTask - b _080A0DD0 -_080A0DCA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] -_080A0DD0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80A0C78 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80BF8FC.s b/asm/script_pokemon_util_80BF8FC.s deleted file mode 100644 index a909758c2..000000000 --- a/asm/script_pokemon_util_80BF8FC.s +++ /dev/null @@ -1,422 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start Special_ChooseMonFromParty -Special_ChooseMonFromParty: @ 80BF8FC - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080BF934 @ =sub_80BF97C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BF938 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x3 - strh r0, [r1, 0x8] - subs r0, 0x4 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080BF934: .4byte sub_80BF97C -_080BF938: .4byte gTasks - thumb_func_end Special_ChooseMonFromParty - - thumb_func_start SelectMoveTutorMon -SelectMoveTutorMon: @ 80BF93C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080BF974 @ =sub_80BF97C - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080BF978 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - movs r0, 0x7 - strh r0, [r1, 0x8] - subs r0, 0x8 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080BF974: .4byte sub_80BF97C -_080BF978: .4byte gTasks - thumb_func_end SelectMoveTutorMon - - thumb_func_start sub_80BF97C -sub_80BF97C: @ 80BF97C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _080BF9B4 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080BF9AC - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _080BF9B8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - bl ChoosePartyMonByMenuType - adds r0, r4, 0 - bl DestroyTask -_080BF9AC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BF9B4: .4byte gPaletteFade -_080BF9B8: .4byte gTasks - thumb_func_end sub_80BF97C - - thumb_func_start SelectMove -SelectMove: @ 80BF9BC - push {r4,lr} - sub sp, 0x4 - ldr r0, _080BF9F0 @ =gPlayerParty - ldr r1, _080BF9F4 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - ldr r2, _080BF9F8 @ =gPlayerPartyCount - ldrb r2, [r2] - subs r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - ldr r3, _080BF9FC @ =CB2_ReturnToField - movs r4, 0 - str r4, [sp] - bl ShowSelectMovePokemonSummaryScreen - movs r0, 0x3 - bl sub_8138B38 - ldr r1, _080BFA00 @ =gFieldCallback - ldr r0, _080BFA04 @ =FieldCallback_ReturnToEventScript2 - str r0, [r1] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BF9F0: .4byte gPlayerParty -_080BF9F4: .4byte gSpecialVar_0x8004 -_080BF9F8: .4byte gPlayerPartyCount -_080BF9FC: .4byte CB2_ReturnToField -_080BFA00: .4byte gFieldCallback -_080BFA04: .4byte FieldCallback_ReturnToEventScript2 - thumb_func_end SelectMove - - thumb_func_start ScrSpecial_CountPokemonMoves -ScrSpecial_CountPokemonMoves: @ 80BFA08 - push {r4,r5,lr} - ldr r1, _080BFA44 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r4, 0 - adds r5, r1, 0 -_080BFA14: - ldr r0, _080BFA48 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFA4C @ =gPlayerParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0xD - bl GetMonData - cmp r0, 0 - beq _080BFA32 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_080BFA32: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080BFA14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFA44: .4byte gSpecialVar_Result -_080BFA48: .4byte gSpecialVar_0x8004 -_080BFA4C: .4byte gPlayerParty - thumb_func_end ScrSpecial_CountPokemonMoves - - thumb_func_start ScrSpecial_GetPokemonNicknameAndMoveName -ScrSpecial_GetPokemonNicknameAndMoveName: @ 80BFA50 - push {r4,r5,lr} - ldr r0, _080BFA90 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, _080BFA94 @ =gPlayerParty - adds r5, r0 - ldr r0, _080BFA98 @ =gSpecialVar_0x8005 - ldrh r1, [r0] - adds r1, 0xD - adds r0, r5, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r1, _080BFA9C @ =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r0, _080BFAA0 @ =gStringVar2 - movs r1, 0xD - muls r1, r4 - ldr r2, _080BFAA4 @ =gMoveNames - adds r1, r2 - bl StringCopy - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080BFA90: .4byte gSpecialVar_0x8004 -_080BFA94: .4byte gPlayerParty -_080BFA98: .4byte gSpecialVar_0x8005 -_080BFA9C: .4byte gStringVar1 -_080BFAA0: .4byte gStringVar2 -_080BFAA4: .4byte gMoveNames - thumb_func_end ScrSpecial_GetPokemonNicknameAndMoveName - - thumb_func_start sub_80BFAA8 -sub_80BFAA8: @ 80BFAA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - mov r8, r0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0xD - str r0, [sp, 0x8] - mov r0, r8 - ldr r1, [sp, 0x8] - bl GetMonData - mov r1, sp - adds r1, 0x2 - str r1, [sp, 0x14] - strh r0, [r1] - adds r3, r4, 0 - adds r3, 0xD - str r3, [sp, 0xC] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - adds r7, r5, 0 - adds r7, 0x11 - str r7, [sp, 0x10] - mov r0, r8 - adds r1, r7, 0 - bl GetMonData - mov r1, sp - adds r1, 0x5 - str r1, [sp, 0x18] - strb r0, [r1] - adds r3, r4, 0 - adds r3, 0x11 - str r3, [sp, 0x1C] - mov r0, r8 - adds r1, r3, 0 - bl GetMonData - add r7, sp, 0x4 - mov r10, r7 - strb r0, [r7] - mov r0, r8 - movs r1, 0x15 - bl GetMonData - mov r6, sp - adds r6, 0x6 - strb r0, [r6] - ldr r1, _080BFBA4 @ =gPPUpGetMask - adds r0, r5, r1 - ldrb r0, [r0] - mov r9, r0 - ldrb r0, [r6] - adds r2, r0, 0 - mov r3, r9 - ands r2, r3 - lsls r5, 1 - asrs r2, r5 - lsls r2, 24 - lsrs r2, 24 - adds r1, r4, r1 - ldrb r3, [r1] - adds r1, r0, 0 - ands r1, r3 - lsls r4, 1 - asrs r1, r4 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - bics r0, r7 - strb r0, [r6] - ldrb r0, [r6] - bics r0, r3 - strb r0, [r6] - lsls r2, r4 - lsls r1, r5 - adds r2, r1 - ldrb r0, [r6] - orrs r0, r2 - strb r0, [r6] - mov r0, r8 - ldr r1, [sp, 0x8] - mov r2, sp - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r2, [sp, 0x14] - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x10] - mov r2, r10 - bl SetMonData - mov r0, r8 - ldr r1, [sp, 0x1C] - ldr r2, [sp, 0x18] - bl SetMonData - mov r0, r8 - movs r1, 0x15 - adds r2, r6, 0 - bl SetMonData - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080BFBA4: .4byte gPPUpGetMask - thumb_func_end sub_80BFAA8 - - thumb_func_start DeleteMonMove -DeleteMonMove: @ 80BFBA8 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r0, _080BFC08 @ =gSpecialVar_0x8004 - mov r8, r0 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080BFC0C @ =gPlayerParty - adds r0, r5 - ldr r4, _080BFC10 @ =gSpecialVar_0x8005 - ldrb r2, [r4] - movs r1, 0 - bl SetMonMoveSlot - mov r1, r8 - ldrh r0, [r1] - muls r0, r6 - adds r0, r5 - ldrb r1, [r4] - bl RemoveMonPPBonus - ldrh r4, [r4] - cmp r4, 0x2 - bhi _080BFBFC -_080BFBDA: - ldr r0, _080BFC08 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFC0C @ =gPlayerParty - adds r0, r1 - lsls r1, r4, 24 - lsrs r1, 24 - adds r4, 0x1 - lsls r2, r4, 24 - lsrs r2, 24 - bl sub_80BFAA8 - lsls r4, 16 - lsrs r4, 16 - cmp r4, 0x2 - bls _080BFBDA -_080BFBFC: - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080BFC08: .4byte gSpecialVar_0x8004 -_080BFC0C: .4byte gPlayerParty -_080BFC10: .4byte gSpecialVar_0x8005 - thumb_func_end DeleteMonMove - - thumb_func_start IsSelectedMonEgg -IsSelectedMonEgg: @ 80BFC14 - push {lr} - ldr r0, _080BFC38 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080BFC3C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - beq _080BFC44 - ldr r1, _080BFC40 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - b _080BFC48 - .align 2, 0 -_080BFC38: .4byte gSpecialVar_0x8004 -_080BFC3C: .4byte gPlayerParty -_080BFC40: .4byte gSpecialVar_Result -_080BFC44: - ldr r0, _080BFC4C @ =gSpecialVar_Result - strh r1, [r0] -_080BFC48: - pop {r0} - bx r0 - .align 2, 0 -_080BFC4C: .4byte gSpecialVar_Result - thumb_func_end IsSelectedMonEgg - - .align 2, 0 @ Don't pad with nop. |