diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/daycare.s | 3216 | ||||
-rw-r--r-- | asm/field_control_avatar.s | 2 | ||||
-rw-r--r-- | asm/party_menu.s | 4 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 4 |
4 files changed, 5 insertions, 3221 deletions
diff --git a/asm/daycare.s b/asm/daycare.s deleted file mode 100644 index 5f1b787af..000000000 --- a/asm/daycare.s +++ /dev/null @@ -1,3216 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GetMonNick -GetMonNick: @ 80453C0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetMonNick - - thumb_func_start GetBoxMonNick -GetBoxMonNick: @ 80453E0 - push {r4,lr} - sub sp, 0x14 - adds r4, r1, 0 - movs r1, 0x2 - mov r2, sp - bl GetBoxMonData - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - add sp, 0x14 - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetBoxMonNick - - thumb_func_start CountPokemonInDaycare -CountPokemonInDaycare: @ 8045400 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_08045408: - movs r0, 0x8C - muls r0, r4 - adds r0, r6, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0804541E - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0804541E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _08045408 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CountPokemonInDaycare - - thumb_func_start InitDaycareMailRecordMixing -InitDaycareMailRecordMixing: @ 8045430 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - mov r10, r1 - movs r7, 0 - movs r5, 0 - mov r6, r10 - adds r6, 0x74 - movs r0, 0x1 - mov r8, r0 -_0804544A: - movs r0, 0x8C - muls r0, r5 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08045478 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - movs r1, 0xC - bl GetBoxMonData - adds r1, r0, 0 - cmp r1, 0 - bne _08045478 - lsls r0, r5, 1 - adds r0, r6, r0 - b _0804547E -_08045478: - lsls r0, r5, 1 - adds r0, r6, r0 - mov r1, r8 -_0804547E: - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _0804544A - mov r0, r10 - str r7, [r0, 0x70] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end InitDaycareMailRecordMixing - - thumb_func_start Daycare_FindEmptySpot -Daycare_FindEmptySpot: @ 804549C - push {r4,r5,lr} - adds r5, r0, 0 - movs r4, 0 -_080454A2: - movs r0, 0x8C - muls r0, r4 - adds r0, r5, r0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080454B8 - lsls r0, r4, 24 - asrs r0, 24 - b _080454C6 -_080454B8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _080454A2 - movs r0, 0x1 - negs r0, r0 -_080454C6: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end Daycare_FindEmptySpot - - thumb_func_start StorePokemonInDaycare -StorePokemonInDaycare: @ 80454CC - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl MonHasMail - lsls r0, 24 - cmp r0, 0 - beq _08045524 - adds r0, r4, 0 - adds r0, 0x74 - ldr r1, _08045550 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - adds r1, r4, 0 - adds r1, 0x7C - adds r0, r5, 0 - bl GetMonNick - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08045554 @ =gSaveBlock1Ptr - ldr r1, [r1] - lsls r2, r0, 3 - adds r2, r0 - lsls r2, 2 - adds r1, r2 - adds r0, r4, 0 - adds r0, 0x50 - ldr r2, _08045558 @ =0x00002cd0 - adds r1, r2 - ldm r1!, {r2,r3,r6} - stm r0!, {r2,r3,r6} - ldm r1!, {r2,r3,r6} - stm r0!, {r2,r3,r6} - ldm r1!, {r2,r3,r6} - stm r0!, {r2,r3,r6} - adds r0, r5, 0 - bl TakeMailFromMon -_08045524: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl BoxMonRestorePP - adds r1, r4, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r0, r5, 0 - bl ZeroMonData - bl CompactPartySlots - bl CalculatePlayerPartyCount - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08045550: .4byte gSaveBlock2Ptr -_08045554: .4byte gSaveBlock1Ptr -_08045558: .4byte 0x00002cd0 - thumb_func_end StorePokemonInDaycare - - thumb_func_start StorePokemonInEmptyDaycareSlot -StorePokemonInEmptyDaycareSlot: @ 804555C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - adds r0, r4, 0 - bl Daycare_FindEmptySpot - lsls r0, 24 - asrs r0, 24 - movs r1, 0x8C - muls r0, r1 - adds r4, r0 - adds r0, r5, 0 - adds r1, r4, 0 - bl StorePokemonInDaycare - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end StorePokemonInEmptyDaycareSlot - - thumb_func_start StoreSelectedPokemonInDaycare -StoreSelectedPokemonInDaycare: @ 8045580 - push {lr} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _080455A4 @ =gPlayerParty - adds r0, r1 - ldr r1, _080455A8 @ =gSaveBlock1Ptr - ldr r1, [r1] - movs r2, 0xBE - lsls r2, 6 - adds r1, r2 - bl StorePokemonInEmptyDaycareSlot - pop {r0} - bx r0 - .align 2, 0 -_080455A4: .4byte gPlayerParty -_080455A8: .4byte gSaveBlock1Ptr - thumb_func_end StoreSelectedPokemonInDaycare - - thumb_func_start ShiftDaycareSlots -ShiftDaycareSlots: @ 80455AC - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r5, 0 - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08045602 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - adds r6, r0, 0 - cmp r6, 0 - bne _08045602 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - bl ZeroBoxMonData - adds r4, 0x50 - adds r0, r5, 0 - adds r0, 0x50 - adds r1, r4, 0 - movs r2, 0x38 - bl memcpy - adds r2, r5, 0 - adds r2, 0x88 - movs r0, 0x8A - lsls r0, 1 - adds r1, r5, r0 - ldr r0, [r1] - str r0, [r2] - str r6, [r1] - adds r0, r4, 0 - bl ClearDaycareMonMisc -_08045602: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ShiftDaycareSlots - - thumb_func_start ApplyDaycareExperience -ApplyDaycareExperience: @ 8045608 - push {r4-r7,lr} - adds r4, r0, 0 - movs r5, 0 - ldr r7, _08045624 @ =0x0000ffff -_08045610: - adds r0, r4, 0 - bl sub_8043B90 - lsls r0, 24 - cmp r0, 0 - beq _0804564C - movs r6, 0x1 - adds r5, 0x1 - b _08045638 - .align 2, 0 -_08045624: .4byte 0x0000ffff -_08045628: - movs r6, 0 - cmp r0, r7 - bne _08045638 - ldr r0, _08045658 @ =gMoveToLearn - ldrh r1, [r0] - adds r0, r4, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_08045638: - adds r0, r4, 0 - adds r1, r6, 0 - bl MonTryLearningNewMove - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _08045628 - cmp r5, 0x63 - ble _08045610 -_0804564C: - adds r0, r4, 0 - bl CalculateMonStats - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08045658: .4byte gMoveToLearn - thumb_func_end ApplyDaycareExperience - - thumb_func_start TakeSelectedPokemonFromDaycare -TakeSelectedPokemonFromDaycare: @ 804565C - push {r4-r7,lr} - sub sp, 0x68 - adds r5, r0, 0 - ldr r1, _080456F8 @ =gStringVar1 - bl GetBoxMonNick - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r5, 0 - mov r1, sp - bl BoxMonToMon - mov r0, sp - movs r1, 0x38 - bl GetMonData - cmp r0, 0x64 - beq _080456AA - mov r0, sp - movs r1, 0x19 - bl GetMonData - adds r1, r5, 0 - adds r1, 0x88 - ldr r1, [r1] - adds r0, r1 - str r0, [sp, 0x64] - add r2, sp, 0x64 - mov r0, sp - movs r1, 0x19 - bl SetMonData - mov r0, sp - bl ApplyDaycareExperience -_080456AA: - ldr r0, _080456FC @ =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r6, r0, r1 - adds r0, r6, 0 - mov r1, sp - movs r2, 0x64 - bl memcpy - adds r0, r5, 0 - adds r0, 0x70 - ldrh r0, [r0] - cmp r0, 0 - beq _080456D8 - adds r4, r5, 0 - adds r4, 0x50 - adds r0, r6, 0 - adds r1, r4, 0 - bl GiveMailToMon2 - adds r0, r4, 0 - bl ClearDaycareMonMisc -_080456D8: - adds r0, r5, 0 - bl ZeroBoxMonData - adds r1, r5, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - bl CompactPartySlots - bl CalculatePlayerPartyCount - adds r0, r7, 0 - add sp, 0x68 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080456F8: .4byte gStringVar1 -_080456FC: .4byte gPlayerParty - thumb_func_end TakeSelectedPokemonFromDaycare - - thumb_func_start TakeSelectedPokemonMonFromDaycareShiftSlots -TakeSelectedPokemonMonFromDaycareShiftSlots: @ 8045700 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x8C - muls r0, r1 - adds r0, r5, r0 - bl TakeSelectedPokemonFromDaycare - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - bl ShiftDaycareSlots - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end TakeSelectedPokemonMonFromDaycareShiftSlots - - thumb_func_start TakePokemonFromDaycare -TakePokemonFromDaycare: @ 8045728 - push {lr} - ldr r0, _08045744 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - ldr r1, _08045748 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl TakeSelectedPokemonMonFromDaycareShiftSlots - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08045744: .4byte gSaveBlock1Ptr -_08045748: .4byte gSpecialVar_0x8004 - thumb_func_end TakePokemonFromDaycare - - thumb_func_start GetLevelAfterDaycareSteps -GetLevelAfterDaycareSteps: @ 804574C - push {r4,r5,lr} - sub sp, 0x54 - adds r4, r0, 0 - adds r5, r1, 0 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x50 - bl memcpy - adds r0, r4, 0 - movs r1, 0x19 - bl GetBoxMonData - adds r0, r5 - str r0, [sp, 0x50] - add r2, sp, 0x50 - mov r0, sp - movs r1, 0x19 - bl SetBoxMonData - mov r0, sp - bl GetLevelFromBoxMonExp - lsls r0, 24 - lsrs r0, 24 - add sp, 0x54 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetLevelAfterDaycareSteps - - thumb_func_start GetNumLevelsGainedFromSteps -GetNumLevelsGainedFromSteps: @ 8045788 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetLevelFromBoxMonExp - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r0, 0x88 - ldr r1, [r0] - adds r0, r5, 0 - bl GetLevelAfterDaycareSteps - lsls r0, 24 - lsrs r0, 24 - subs r0, r4 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetNumLevelsGainedFromSteps - - thumb_func_start GetNumLevelsGainedForDaycareMon -GetNumLevelsGainedForDaycareMon: @ 80457B4 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetNumLevelsGainedFromSteps - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080457E0 @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, _080457E4 @ =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080457E0: .4byte gStringVar2 -_080457E4: .4byte gStringVar1 - thumb_func_end GetNumLevelsGainedForDaycareMon - - thumb_func_start GetDaycareCostForSelectedMon -GetDaycareCostForSelectedMon: @ 80457E8 - push {r4,r5,lr} - adds r5, r0, 0 - bl GetNumLevelsGainedFromSteps - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08045818 @ =gStringVar1 - adds r0, r5, 0 - bl GetBoxMonNick - movs r0, 0x64 - muls r4, r0 - adds r4, 0x64 - ldr r0, _0804581C @ =gStringVar2 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08045818: .4byte gStringVar1 -_0804581C: .4byte gStringVar2 - thumb_func_end GetDaycareCostForSelectedMon - - thumb_func_start GetDaycareCostForMon -GetDaycareCostForMon: @ 8045820 - push {lr} - lsls r1, 24 - lsrs r1, 24 - movs r2, 0x8C - muls r1, r2 - adds r0, r1 - bl GetDaycareCostForSelectedMon - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end GetDaycareCostForMon - - thumb_func_start GetDaycareCost -GetDaycareCost: @ 8045838 - push {lr} - ldr r0, _08045854 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - ldr r1, _08045858 @ =gSpecialVar_0x8004 - ldrb r1, [r1] - bl GetDaycareCostForMon - ldr r1, _0804585C @ =gSpecialVar_0x8005 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08045854: .4byte gSaveBlock1Ptr -_08045858: .4byte gSpecialVar_0x8004 -_0804585C: .4byte gSpecialVar_0x8005 - thumb_func_end GetDaycareCost - - thumb_func_start sub_8045860 -sub_8045860: @ 8045860 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08045888 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldr r1, _0804588C @ =0x00003008 - adds r3, r2, r1 - ldr r1, [r3] - adds r1, r0 - str r1, [r3] - ldr r1, _08045890 @ =0x00003094 - adds r3, r2, r1 - ldr r1, [r3] - adds r1, r0 - str r1, [r3] - ldr r1, _08045894 @ =0x00003d20 - adds r2, r1 - ldr r1, [r2] - adds r1, r0 - str r1, [r2] - bx lr - .align 2, 0 -_08045888: .4byte gSaveBlock1Ptr -_0804588C: .4byte 0x00003008 -_08045890: .4byte 0x00003094 -_08045894: .4byte 0x00003d20 - thumb_func_end sub_8045860 - - thumb_func_start GetNumLevelsGainedFromDaycare -GetNumLevelsGainedFromDaycare: @ 8045898 - push {r4-r6,lr} - ldr r6, _080458C0 @ =gSaveBlock1Ptr - ldr r5, _080458C4 @ =gSpecialVar_0x8004 - ldrh r0, [r5] - movs r4, 0x8C - adds r1, r0, 0 - muls r1, r4 - movs r0, 0xBE - lsls r0, 6 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _080458C8 - movs r0, 0 - b _080458E0 - .align 2, 0 -_080458C0: .4byte gSaveBlock1Ptr -_080458C4: .4byte gSpecialVar_0x8004 -_080458C8: - ldrh r0, [r5] - adds r1, r0, 0 - muls r1, r4 - movs r0, 0xBE - lsls r0, 6 - adds r1, r0 - ldr r0, [r6] - adds r0, r1 - bl GetNumLevelsGainedForDaycareMon - lsls r0, 24 - lsrs r0, 24 -_080458E0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetNumLevelsGainedFromDaycare - - thumb_func_start ClearDaycareMonMisc -ClearDaycareMonMisc: @ 80458E8 - push {lr} - movs r3, 0 - movs r2, 0x7 - adds r1, r0, 0 - adds r1, 0x2B -_080458F2: - strb r3, [r1] - subs r1, 0x1 - subs r2, 0x1 - cmp r2, 0 - bge _080458F2 - adds r2, r0, 0 - adds r2, 0x2C - movs r3, 0 - adds r1, r0, 0 - adds r1, 0x36 -_08045906: - strb r3, [r1] - subs r1, 0x1 - cmp r1, r2 - bge _08045906 - bl ClearMailStruct - pop {r0} - bx r0 - thumb_func_end ClearDaycareMonMisc - - thumb_func_start ClearDaycareMon -ClearDaycareMon: @ 8045918 - push {r4,lr} - adds r4, r0, 0 - bl ZeroBoxMonData - adds r1, r4, 0 - adds r1, 0x88 - movs r0, 0 - str r0, [r1] - adds r4, 0x50 - adds r0, r4, 0 - bl ClearDaycareMonMisc - pop {r4} - pop {r0} - bx r0 - thumb_func_end ClearDaycareMon - - thumb_func_start ClearAllDaycareData -ClearAllDaycareData: @ 8045938 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - movs r6, 0x8C -_08045940: - adds r0, r4, 0 - muls r0, r6 - adds r0, r5, r0 - bl ClearDaycareMon - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - bls _08045940 - movs r1, 0x8C - lsls r1, 1 - adds r0, r5, r1 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - movs r1, 0x8D - lsls r1, 1 - adds r0, r5, r1 - strb r2, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ClearAllDaycareData - - thumb_func_start sub_8045970 -sub_8045970: @ 8045970 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r2, r0, 16 - movs r0, 0 - mov r8, r0 - ldr r0, _0804599C @ =gEvolutionTable - mov r12, r0 -_08045982: - movs r7, 0 - movs r6, 0x1 - movs r4, 0x80 - lsls r4, 9 - movs r5, 0x28 - mov r3, r12 - adds r3, 0x28 -_08045990: - movs r1, 0 - ldrh r0, [r3, 0x4] - cmp r0, r2 - bne _080459A0 - lsrs r2, r4, 16 - b _080459CC - .align 2, 0 -_0804599C: .4byte gEvolutionTable -_080459A0: - adds r1, 0x1 - cmp r1, 0x4 - bgt _080459B6 - lsls r0, r1, 3 - adds r0, r5 - add r0, r12 - ldrh r0, [r0, 0x4] - cmp r0, r2 - bne _080459A0 - lsrs r2, r4, 16 - movs r7, 0x1 -_080459B6: - cmp r7, 0 - bne _080459CC - movs r0, 0x80 - lsls r0, 9 - adds r4, r0 - adds r5, 0x28 - adds r3, 0x28 - adds r6, 0x1 - ldr r0, _080459EC @ =0x0000019b - cmp r6, r0 - ble _08045990 -_080459CC: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - beq _080459DE - movs r0, 0x1 - add r8, r0 - mov r0, r8 - cmp r0, 0x4 - ble _08045982 -_080459DE: - adds r0, r2, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080459EC: .4byte 0x0000019b - thumb_func_end sub_8045970 - - thumb_func_start sub_80459F0 -sub_80459F0: @ 80459F0 - push {r4,lr} - adds r4, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08045A18 @ =0x0000fffe - bl __umodsi3 - adds r0, 0x1 - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - strh r0, [r4] - ldr r0, _08045A1C @ =0x00000266 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08045A18: .4byte 0x0000fffe -_08045A1C: .4byte 0x00000266 - thumb_func_end sub_80459F0 - - thumb_func_start sub_8045A20 -sub_8045A20: @ 8045A20 - push {r4,lr} - adds r4, r0, 0 - bl Random - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - movs r2, 0x8C - lsls r2, 1 - adds r4, r2 - orrs r1, r0 - strh r1, [r4] - ldr r0, _08045A44 @ =0x00000266 - bl FlagSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08045A44: .4byte 0x00000266 - thumb_func_end sub_8045A20 - - thumb_func_start sub_8045A48 -sub_8045A48: @ 8045A48 - push {lr} - ldr r0, _08045A5C @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl sub_80459F0 - pop {r0} - bx r0 - .align 2, 0 -_08045A5C: .4byte gSaveBlock1Ptr - thumb_func_end sub_8045A48 - - thumb_func_start sub_8045A60 -sub_8045A60: @ 8045A60 - push {lr} - ldr r0, _08045A74 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl sub_8045A20 - pop {r0} - bx r0 - .align 2, 0 -_08045A74: .4byte gSaveBlock1Ptr - thumb_func_end sub_8045A60 - - thumb_func_start RemoveIVIndexFromList -RemoveIVIndexFromList: @ 8045A78 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r1, r4, r1 - movs r0, 0xFF - strb r0, [r1] - movs r2, 0 -_08045A8A: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x5 - ble _08045A8A - movs r3, 0 - movs r2, 0 -_08045A9E: - mov r1, sp - adds r0, r1, r2 - ldrb r1, [r0] - adds r0, r1, 0 - cmp r0, 0xFF - beq _08045AB0 - adds r0, r4, r3 - strb r1, [r0] - adds r3, 0x1 -_08045AB0: - adds r2, 0x1 - cmp r2, 0x5 - ble _08045A9E - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end RemoveIVIndexFromList - - thumb_func_start InheritIVs -InheritIVs: @ 8045AC0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r0 - mov r8, r1 - movs r5, 0 - add r1, sp, 0x4 - add r7, sp, 0xC - adds r2, r1, 0 -_08045AD6: - adds r0, r2, r5 - strb r5, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08045AD6 - movs r5, 0 - adds r6, r1, 0 -_08045AE8: - bl Random - mov r1, sp - adds r4, r1, r5 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - subs r1, r5 - bl __modsi3 - adds r0, r6, r0 - ldrb r0, [r0] - strb r0, [r4] - ldrb r1, [r4] - adds r0, r6, 0 - bl RemoveIVIndexFromList - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08045AE8 - movs r5, 0 - movs r4, 0x1 -_08045B18: - bl Random - adds r1, r7, r5 - lsls r0, 16 - lsrs r0, 16 - ands r0, r4 - strb r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08045B18 - movs r5, 0 -_08045B32: - mov r1, sp - adds r0, r1, r5 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08045C0E - lsls r0, 2 - ldr r1, _08045B48 @ =_08045B4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08045B48: .4byte _08045B4C - .align 2, 0 -_08045B4C: - .4byte _08045B64 - .4byte _08045B82 - .4byte _08045B9C - .4byte _08045BB6 - .4byte _08045BD0 - .4byte _08045BF0 -_08045B64: - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x27 - bl GetBoxMonData - add r2, sp, 0x10 - strb r0, [r2] - mov r0, r9 - movs r1, 0x27 - bl SetMonData - b _08045C0E -_08045B82: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x28 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x28 - b _08045BE8 -_08045B9C: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x29 - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x29 - b _08045BE8 -_08045BB6: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2A - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2A - b _08045BE8 -_08045BD0: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2B - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2B -_08045BE8: - adds r2, r4, 0 - bl SetMonData - b _08045C0E -_08045BF0: - add r4, sp, 0x10 - adds r0, r7, r5 - ldrb r1, [r0] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - movs r1, 0x2C - bl GetBoxMonData - strb r0, [r4] - mov r0, r9 - movs r1, 0x2C - adds r2, r4, 0 - bl SetMonData -_08045C0E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _08045B32 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end InheritIVs - - thumb_func_start GetEggMoves -GetEggMoves: @ 8045C28 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r1 - movs r6, 0 - movs r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, _08045C50 @ =gUnknown_825EF0C - ldrh r1, [r5] - ldr r7, _08045C54 @ =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _08045C58 - movs r4, 0x1 - b _08045C7A - .align 2, 0 -_08045C50: .4byte gUnknown_825EF0C -_08045C54: .4byte 0x00004e20 -_08045C58: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _08045CC4 @ =0x00000471 - ldr r5, _08045CC8 @ =gUnknown_825EF0C - cmp r2, r0 - bhi _08045C7A - lsls r0, r2, 1 - adds r0, r5 - ldrh r1, [r0] - ldr r7, _08045CCC @ =0x00004e20 - adds r0, r3, r7 - cmp r1, r0 - bne _08045C58 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 -_08045C7A: - movs r2, 0 - lsls r0, r4, 1 - adds r0, r5 - ldrh r0, [r0] - ldr r1, _08045CCC @ =0x00004e20 - cmp r0, r1 - bhi _08045CB6 - adds r7, r5, 0 - adds r3, r1, 0 -_08045C8C: - lsls r1, r2, 1 - add r1, r8 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bhi _08045CB6 - adds r0, r4, r2 - lsls r0, 1 - adds r0, r5 - ldrh r0, [r0] - cmp r0, r3 - bls _08045C8C -_08045CB6: - lsls r0, r6, 24 - lsrs r0, 24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08045CC4: .4byte 0x00000471 -_08045CC8: .4byte gUnknown_825EF0C -_08045CCC: .4byte 0x00004e20 - thumb_func_end GetEggMoves - - thumb_func_start BuildEggMoveset -BuildEggMoveset: @ 8045CD0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - mov r10, r1 - mov r9, r2 - movs r0, 0 - str r0, [sp] - movs r6, 0 - ldr r5, _08045DD4 @ =gUnknown_2024580 - movs r2, 0 - ldr r4, _08045DD8 @ =gUnknown_202455C - ldr r3, _08045DDC @ =gUnknown_2024564 -_08045CF0: - lsls r1, r6, 1 - adds r0, r1, r5 - strh r2, [r0] - adds r0, r1, r4 - strh r2, [r0] - adds r1, r3 - strh r2, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08045CF0 - movs r6, 0 - ldr r2, _08045DE0 @ =gUnknown_202456C - movs r1, 0 -_08045D0E: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x9 - bls _08045D0E - movs r6, 0 - ldr r2, _08045DE4 @ =gUnknown_20244F8 - movs r1, 0 -_08045D24: - lsls r0, r6, 1 - adds r0, r2 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x31 - bls _08045D24 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08045DE4 @ =gUnknown_20244F8 - bl GetLevelUpMovesBySpecies - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r6, 0 - ldr r1, _08045DD8 @ =gUnknown_202455C - mov r8, r1 -_08045D52: - adds r5, r6, 0 - adds r5, 0xD - mov r0, r10 - adds r1, r5, 0 - bl GetBoxMonData - lsls r4, r6, 1 - mov r2, r8 - adds r1, r4, r2 - strh r0, [r1] - mov r0, r9 - adds r1, r5, 0 - bl GetBoxMonData - ldr r1, _08045DD4 @ =gUnknown_2024580 - adds r4, r1 - strh r0, [r4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08045D52 - ldr r1, _08045DE0 @ =gUnknown_202456C - adds r0, r7, 0 - bl GetEggMoves - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 -_08045D8E: - ldr r0, _08045DD8 @ =gUnknown_202455C - lsls r1, r6, 1 - adds r2, r1, r0 - ldrh r1, [r2] - mov r9, r0 - cmp r1, 0 - beq _08045E04 - movs r5, 0 - cmp r5, r8 - bcs _08045DF6 - adds r4, r2, 0 - ldr r2, _08045DE8 @ =0x0000ffff -_08045DA6: - ldr r0, _08045DE0 @ =gUnknown_202456C - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r4] - ldrh r1, [r1] - cmp r0, r1 - bne _08045DEC - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08045DF6 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08045DF6 - .align 2, 0 -_08045DD4: .4byte gUnknown_2024580 -_08045DD8: .4byte gUnknown_202455C -_08045DDC: .4byte gUnknown_2024564 -_08045DE0: .4byte gUnknown_202456C -_08045DE4: .4byte gUnknown_20244F8 -_08045DE8: .4byte 0x0000ffff -_08045DEC: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r8 - bcc _08045DA6 -_08045DF6: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, _08045F20 @ =gUnknown_202455C - mov r9, r3 - cmp r6, 0x3 - bls _08045D8E -_08045E04: - movs r6, 0 -_08045E06: - lsls r0, r6, 1 - mov r2, r9 - adds r1, r0, r2 - ldrh r1, [r1] - adds r2, r0, 0 - adds r6, 0x1 - mov r8, r6 - cmp r1, 0 - beq _08045E68 - movs r5, 0 - ldr r0, _08045F20 @ =gUnknown_202455C - adds r4, r2, r0 - ldr r6, _08045F24 @ =0x0000ffff - mov r9, r0 -_08045E22: - ldr r3, _08045F28 @ =0x00000121 - adds r0, r5, r3 - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - ldrh r1, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bne _08045E5E - lsls r1, r5, 24 - lsrs r1, 24 - adds r0, r7, 0 - bl CanMonLearnTMHM - cmp r0, 0 - beq _08045E5E - ldrh r1, [r4] - adds r0, r7, 0 - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - cmp r0, r6 - bne _08045E5E - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon -_08045E5E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x39 - bls _08045E22 -_08045E68: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bls _08045E06 - movs r6, 0 - mov r2, r9 - ldrh r0, [r2] - ldr r3, _08045F2C @ =gUnknown_2024564 - mov r10, r3 - cmp r0, 0 - beq _08045ED2 - mov r4, r9 - ldr r0, _08045F30 @ =gUnknown_2024580 - mov r9, r0 - mov r12, r10 -_08045E88: - movs r5, 0 - lsls r2, r6, 1 - adds r6, 0x1 - mov r8, r6 - adds r3, r2, r4 -_08045E92: - lsls r0, r5, 1 - add r0, r9 - ldrh r2, [r3] - adds r1, r2, 0 - ldrh r0, [r0] - cmp r1, r0 - bne _08045EB4 - cmp r1, 0 - beq _08045EB4 - ldr r1, [sp] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - lsls r1, 1 - add r1, r12 - strh r2, [r1] -_08045EB4: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _08045E92 - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08045ED2 - lsls r0, r6, 1 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0 - bne _08045E88 -_08045ED2: - movs r6, 0 - mov r2, r10 - ldrh r0, [r2] - cmp r0, 0 - beq _08045F5C -_08045EDC: - movs r5, 0 - adds r3, r6, 0x1 - mov r8, r3 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcs _08045F44 - ldr r2, _08045F24 @ =0x0000ffff -_08045EEA: - ldr r1, _08045F34 @ =gUnknown_20244F8 - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - cmp r1, 0 - beq _08045F38 - lsls r0, r6, 1 - mov r3, r10 - adds r4, r0, r3 - ldrh r0, [r4] - cmp r0, r1 - bne _08045F38 - adds r1, r0, 0 - adds r0, r7, 0 - str r2, [sp, 0x8] - bl GiveMoveToMon - lsls r0, 16 - lsrs r0, 16 - ldr r2, [sp, 0x8] - cmp r0, r2 - bne _08045F44 - ldrh r1, [r4] - adds r0, r7, 0 - bl DeleteFirstMoveAndGiveMoveToMon - b _08045F44 - .align 2, 0 -_08045F20: .4byte gUnknown_202455C -_08045F24: .4byte 0x0000ffff -_08045F28: .4byte 0x00000121 -_08045F2C: .4byte gUnknown_2024564 -_08045F30: .4byte gUnknown_2024580 -_08045F34: .4byte gUnknown_20244F8 -_08045F38: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, [sp, 0x4] - cmp r5, r0 - bcc _08045EEA -_08045F44: - mov r1, r8 - lsls r0, r1, 16 - lsrs r6, r0, 16 - cmp r6, 0x3 - bhi _08045F5C - ldr r0, _08045F6C @ =gUnknown_2024564 - lsls r1, r6, 1 - adds r1, r0 - ldrh r1, [r1] - mov r10, r0 - cmp r1, 0 - bne _08045EDC -_08045F5C: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08045F6C: .4byte gUnknown_2024564 - thumb_func_end BuildEggMoveset - - thumb_func_start RemoveEggFromDayCare -RemoveEggFromDayCare: @ 8045F70 - adds r3, r0, 0 - movs r1, 0x8C - lsls r1, 1 - adds r0, r3, r1 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - movs r1, 0x8D - lsls r1, 1 - adds r0, r3, r1 - strb r2, [r0] - bx lr - thumb_func_end RemoveEggFromDayCare - - thumb_func_start RejectEggFromDayCare -RejectEggFromDayCare: @ 8045F88 - push {lr} - ldr r0, _08045F9C @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl RemoveEggFromDayCare - pop {r0} - bx r0 - .align 2, 0 -_08045F9C: .4byte gSaveBlock1Ptr - thumb_func_end RejectEggFromDayCare - - thumb_func_start sub_8045FA0 -sub_8045FA0: @ 8045FA0 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrh r1, [r4] - movs r7, 0xB4 - lsls r7, 1 - cmp r1, r7 - beq _08045FB8 - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _08045FFA -_08045FB8: - adds r0, r5, 0 - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r5, 0 - adds r0, 0x8C - movs r1, 0xC - bl GetBoxMonData - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r4] - cmp r0, r7 - bne _08045FE4 - cmp r6, 0xDD - beq _08045FE4 - cmp r2, 0xDD - beq _08045FE4 - movs r0, 0xCA - strh r0, [r4] -_08045FE4: - ldrh r1, [r4] - movs r0, 0xAF - lsls r0, 1 - cmp r1, r0 - bne _08045FFA - cmp r6, 0xDC - beq _08045FFA - cmp r2, 0xDC - beq _08045FFA - movs r0, 0xB7 - strh r0, [r4] -_08045FFA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8045FA0 - - thumb_func_start sub_8046000 -sub_8046000: @ 8046000 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r8, r0 - adds r6, r1, 0 - movs r4, 0 - movs r7, 0x1 -_08046010: - movs r0, 0x8C - muls r0, r4 - mov r1, r8 - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0xB - bl GetBoxMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bne _08046038 - adds r0, r4, 0 - eors r0, r7 - strb r0, [r6] - strb r4, [r6, 0x1] - b _0804604E -_08046038: - adds r0, r5, 0 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - bne _0804604E - strb r4, [r6] - adds r0, r4, 0 - eors r0, r7 - strb r0, [r6, 0x1] -_0804604E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1 - bls _08046010 - ldrb r0, [r6] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - bl sub_8045970 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bne _08046080 - movs r0, 0x8C - lsls r0, 1 - add r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _08046080 - movs r4, 0x20 -_08046080: - ldr r0, _080460D0 @ =0x00000183 - cmp r4, r0 - bne _0804609A - subs r0, 0x6B - add r0, r8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _0804609A - movs r4, 0xC1 - lsls r4, 1 -_0804609A: - ldrb r0, [r6, 0x1] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - cmp r0, 0x84 - bne _080460C2 - ldrb r1, [r6] - movs r0, 0x8C - muls r0, r1 - add r0, r8 - bl GetBoxMonGender - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFE - beq _080460C2 - ldrb r1, [r6, 0x1] - ldrb r0, [r6] - strb r0, [r6, 0x1] - strb r1, [r6] -_080460C2: - adds r0, r4, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080460D0: .4byte 0x00000183 - thumb_func_end sub_8046000 - - thumb_func_start sub_80460D4 -sub_80460D4: @ 80460D4 - push {r4-r6,lr} - sub sp, 0x6C - adds r5, r0, 0 - add r6, sp, 0x64 - adds r1, r6, 0 - bl sub_8046000 - add r4, sp, 0x68 - strh r0, [r4] - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8045FA0 - ldrh r1, [r4] - mov r0, sp - adds r2, r5, 0 - bl SetInitialEggData - mov r0, sp - adds r1, r5, 0 - bl InheritIVs - ldrb r0, [r6, 0x1] - movs r2, 0x8C - adds r1, r0, 0 - muls r1, r2 - adds r1, r5, r1 - ldrb r0, [r6] - muls r2, r0 - adds r2, r5, r2 - mov r0, sp - bl BuildEggMoveset - mov r2, sp - adds r2, 0x6A - movs r0, 0x1 - strb r0, [r2] - mov r0, sp - movs r1, 0x2D - bl SetMonData - ldr r0, _0804614C @ =gPlayerParty - movs r1, 0xFA - lsls r1, 1 - adds r0, r1 - mov r1, sp - movs r2, 0x64 - bl memcpy - bl CompactPartySlots - bl CalculatePlayerPartyCount - adds r0, r5, 0 - bl RemoveEggFromDayCare - add sp, 0x6C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804614C: .4byte gPlayerParty - thumb_func_end sub_80460D4 - - thumb_func_start CreateEgg -CreateEgg: @ 8046150 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - adds r7, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r0, 0x12 - add r0, sp - mov r8, r0 - strb r4, [r0] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - movs r0, 0x1 - mov r9, r0 - mov r0, r9 - strb r0, [r4] - adds r0, r7, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, _08046200 @ =gUnknown_825F83E - adds r0, r7, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, _08046204 @ =gUnknown_8254795 - adds r2, r0 - adds r0, r7, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x24 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - cmp r6, 0 - beq _080461E2 - add r2, sp, 0x14 - movs r0, 0xFD - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x23 - bl SetMonData -_080461E2: - mov r2, sp - adds r2, 0x15 - mov r0, r9 - strb r0, [r2] - adds r0, r7, 0 - movs r1, 0x2D - bl SetMonData - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046200: .4byte gUnknown_825F83E -_08046204: .4byte gUnknown_8254795 - thumb_func_end CreateEgg - - thumb_func_start SetInitialEggData -SetInitialEggData: @ 8046208 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - adds r6, r0, 0 - adds r5, r1, 0 - adds r4, r2, 0 - lsls r5, 16 - lsrs r5, 16 - bl Random - movs r1, 0x8C - lsls r1, 1 - adds r4, r1 - ldrh r1, [r4] - lsls r0, 16 - orrs r1, r0 - movs r0, 0x1 - mov r8, r0 - str r0, [sp] - str r1, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x5 - movs r3, 0x20 - bl CreateMon - movs r1, 0x12 - add r1, sp - mov r9, r1 - strb r4, [r1] - movs r1, 0x4 - add r0, sp, 0x10 - strh r1, [r0] - mov r4, sp - adds r4, 0x13 - mov r0, r8 - strb r0, [r4] - adds r0, r6, 0 - movs r1, 0x26 - add r2, sp, 0x10 - bl SetMonData - ldr r2, _080462A4 @ =gUnknown_825F83E - adds r0, r6, 0 - movs r1, 0x2 - bl SetMonData - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 2 - ldr r0, _080462A8 @ =gUnknown_8254795 - adds r2, r0 - adds r0, r6, 0 - movs r1, 0x20 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x24 - mov r2, r9 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x3 - adds r2, r4, 0 - bl SetMonData - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080462A4: .4byte gUnknown_825F83E -_080462A8: .4byte gUnknown_8254795 - thumb_func_end SetInitialEggData - - thumb_func_start GiveEggFromDaycare -GiveEggFromDaycare: @ 80462AC - push {lr} - ldr r0, _080462C0 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl sub_80460D4 - pop {r0} - bx r0 - .align 2, 0 -_080462C0: .4byte gSaveBlock1Ptr - thumb_func_end GiveEggFromDaycare - - thumb_func_start sub_80462C4 -sub_80462C4: @ 80462C4 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r7, 0 - movs r5, 0 -_080462CE: - movs r0, 0x8C - adds r4, r5, 0 - muls r4, r0 - adds r0, r6, r4 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080462EE - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - adds r7, 0x1 -_080462EE: - adds r5, 0x1 - cmp r5, 0x1 - bls _080462CE - movs r1, 0x8C - lsls r1, 1 - adds r0, r6, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _08046334 - cmp r7, 0x2 - bne _08046334 - subs r1, 0x4 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08046334 - adds r0, r6, 0 - bl GetDaycareCompatibilityScore - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0804634C @ =0x0000ffff - bl __udivsi3 - cmp r4, r0 - bls _08046334 - bl sub_8045A48 -_08046334: - movs r0, 0x8D - lsls r0, 1 - adds r1, r6, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080463A8 - movs r5, 0 - b _080463A0 - .align 2, 0 -_0804634C: .4byte 0x0000ffff -_08046350: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08046388 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - beq _0804639E - adds r0, r4, 0 - movs r1, 0x4 - bl GetMonData - cmp r0, 0 - bne _0804639E - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - str r0, [sp] - cmp r0, 0 - bne _08046390 - ldr r0, _0804638C @ =gSpecialVar_0x8004 - strh r5, [r0] - movs r0, 0x1 - b _080463AA - .align 2, 0 -_08046388: .4byte gPlayerParty -_0804638C: .4byte gSpecialVar_0x8004 -_08046390: - subs r0, 0x1 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0804639E: - adds r5, 0x1 -_080463A0: - ldr r0, _080463B4 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bcc _08046350 -_080463A8: - movs r0, 0 -_080463AA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080463B4: .4byte gPlayerPartyCount - thumb_func_end sub_80462C4 - - thumb_func_start sub_80463B8 -sub_80463B8: @ 80463B8 - push {r4,lr} - ldr r4, _080463F0 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _080463F4 @ =0x00003c98 - adds r0, r1 - movs r1, 0x5 - bl GetBoxMonData - cmp r0, 0 - beq _080463D8 - ldr r1, [r4] - ldr r0, _080463F8 @ =0x00003d20 - adds r1, r0 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_080463D8: - ldr r0, [r4] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl sub_80462C4 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080463F0: .4byte gSaveBlock1Ptr -_080463F4: .4byte 0x00003c98 -_080463F8: .4byte 0x00003d20 - thumb_func_end sub_80463B8 - - thumb_func_start sub_80463FC -sub_80463FC: @ 80463FC - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bx lr - thumb_func_end sub_80463FC - - thumb_func_start _GetDaycareMonNicknames -_GetDaycareMonNicknames: @ 804640C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _08046436 - ldr r1, _08046454 @ =gStringVar1 - adds r0, r4, 0 - bl GetBoxMonNick - adds r0, r4, 0 - movs r1, 0x7 - mov r2, sp - bl GetBoxMonData - ldr r0, _08046458 @ =gStringVar3 - mov r1, sp - bl StringCopy -_08046436: - adds r4, 0x8C - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - beq _0804644C - ldr r1, _0804645C @ =gStringVar2 - adds r0, r4, 0 - bl GetBoxMonNick -_0804644C: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08046454: .4byte gStringVar1 -_08046458: .4byte gStringVar3 -_0804645C: .4byte gStringVar2 - thumb_func_end _GetDaycareMonNicknames - - thumb_func_start GetSelectedMonNickAndSpecies -GetSelectedMonNickAndSpecies: @ 8046460 - push {r4,r5,lr} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0x64 - muls r0, r5 - ldr r4, _08046494 @ =gPlayerParty - adds r0, r4 - ldr r1, _08046498 @ =gStringVar1 - bl GetBoxMonNick - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetBoxMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08046494: .4byte gPlayerParty -_08046498: .4byte gStringVar1 - thumb_func_end GetSelectedMonNickAndSpecies - - thumb_func_start GetDaycareMonNicknames -GetDaycareMonNicknames: @ 804649C - push {lr} - ldr r0, _080464B0 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl _GetDaycareMonNicknames - pop {r0} - bx r0 - .align 2, 0 -_080464B0: .4byte gSaveBlock1Ptr - thumb_func_end GetDaycareMonNicknames - - thumb_func_start sub_80464B4 -sub_80464B4: @ 80464B4 - push {r4,lr} - ldr r4, _080464D0 @ =gSaveBlock1Ptr - ldr r0, [r4] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl sub_80463FC - lsls r0, 24 - cmp r0, 0 - beq _080464D4 - movs r0, 0x1 - b _080464F2 - .align 2, 0 -_080464D0: .4byte gSaveBlock1Ptr -_080464D4: - ldr r0, [r4] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl CountPokemonInDaycare - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _080464EC - movs r0, 0 - b _080464F2 -_080464EC: - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 -_080464F2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80464B4 - - thumb_func_start GetDaycarePokemonCount -GetDaycarePokemonCount: @ 80464F8 - push {lr} - ldr r0, _08046518 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl CountPokemonInDaycare - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08046512 - movs r0, 0 -_08046512: - pop {r1} - bx r1 - .align 2, 0 -_08046518: .4byte gSaveBlock1Ptr - thumb_func_end GetDaycarePokemonCount - - thumb_func_start EggGroupsOverlap -EggGroupsOverlap: @ 804651C - push {r4-r6,lr} - adds r5, r1, 0 - movs r4, 0 - adds r1, r0, 0 -_08046524: - movs r3, 0 - ldrh r0, [r1] - adds r2, r5, 0 -_0804652A: - ldrh r6, [r2] - cmp r0, r6 - bne _08046534 - movs r0, 0x1 - b _08046546 -_08046534: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x1 - ble _0804652A - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x1 - ble _08046524 - movs r0, 0 -_08046546: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end EggGroupsOverlap - - thumb_func_start GetDaycareCompatibilityScore -GetDaycareCompatibilityScore: @ 804654C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - str r0, [sp, 0x1C] - movs r7, 0 - mov r0, sp - adds r0, 0x8 - str r0, [sp, 0x20] - add r1, sp, 0xC - mov r9, r1 - mov r2, sp - adds r2, 0x14 - str r2, [sp, 0x24] - subs r0, 0x6 - ldr r1, _08046600 @ =gBaseStats - mov r10, r1 - ldr r5, [sp, 0x20] - mov r8, r0 - mov r6, sp - str r2, [sp, 0x28] - mov r2, r9 - str r2, [sp, 0x2C] -_0804657E: - movs r0, 0x8C - adds r4, r7, 0 - muls r4, r0 - ldr r0, [sp, 0x1C] - adds r4, r0, r4 - adds r0, r4, 0 - movs r1, 0xB - bl GetBoxMonData - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl GetBoxMonData - ldr r1, [sp, 0x2C] - stm r1!, {r0} - str r1, [sp, 0x2C] - adds r0, r4, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - ldrh r0, [r5] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x28] - stm r2!, {r0} - str r2, [sp, 0x28] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x14] - strh r0, [r6] - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - add r0, r10 - ldrb r0, [r0, 0x15] - mov r1, r8 - strh r0, [r1] - adds r5, 0x2 - movs r2, 0x4 - add r8, r2 - adds r6, 0x4 - adds r7, 0x1 - cmp r7, 0x1 - bls _0804657E - mov r0, sp - ldrh r1, [r0] - cmp r1, 0xF - beq _080465FC - ldrh r0, [r0, 0x4] - cmp r0, 0xF - beq _080465FC - cmp r1, 0xD - bne _08046604 - cmp r0, 0xD - bne _08046608 -_080465FC: - movs r0, 0 - b _0804665C - .align 2, 0 -_08046600: .4byte gBaseStats -_08046604: - cmp r0, 0xD - bne _08046614 -_08046608: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _08046656 - b _0804665A -_08046614: - ldr r0, [sp, 0x14] - ldr r2, [sp, 0x24] - ldr r1, [r2, 0x4] - cmp r0, r1 - beq _080465FC - cmp r0, 0xFF - beq _080465FC - cmp r1, 0xFF - beq _080465FC - add r1, sp, 0x4 - mov r0, sp - bl EggGroupsOverlap - lsls r0, 24 - cmp r0, 0 - beq _080465FC - ldr r0, [sp, 0x20] - ldrh r1, [r0, 0x2] - ldrh r0, [r0] - cmp r0, r1 - bne _0804664C - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - beq _0804665A - movs r0, 0x46 - b _0804665C -_0804664C: - ldr r1, [sp, 0xC] - mov r2, r9 - ldr r0, [r2, 0x4] - cmp r1, r0 - bne _0804665A -_08046656: - movs r0, 0x14 - b _0804665C -_0804665A: - movs r0, 0x32 -_0804665C: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetDaycareCompatibilityScore - - thumb_func_start GetDaycareCompatibilityScoreFromSave -GetDaycareCompatibilityScoreFromSave: @ 804666C - push {lr} - ldr r0, _08046684 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xBE - lsls r1, 6 - adds r0, r1 - bl GetDaycareCompatibilityScore - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08046684: .4byte gSaveBlock1Ptr - thumb_func_end GetDaycareCompatibilityScoreFromSave - - thumb_func_start SetDaycareCompatibilityString -SetDaycareCompatibilityString: @ 8046688 - push {lr} - bl GetDaycareCompatibilityScoreFromSave - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - movs r1, 0 - cmp r0, 0 - bne _0804669C - movs r1, 0x3 -_0804669C: - cmp r0, 0x14 - bne _080466A2 - movs r1, 0x2 -_080466A2: - cmp r0, 0x32 - bne _080466A8 - movs r1, 0x1 -_080466A8: - cmp r2, 0x46 - bne _080466AE - movs r1, 0 -_080466AE: - ldr r0, _080466C0 @ =gStringVar4 - ldr r2, _080466C4 @ =gUnknown_825F82C - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_080466C0: .4byte gStringVar4 -_080466C4: .4byte gUnknown_825F82C - thumb_func_end SetDaycareCompatibilityString - - thumb_func_start NameHasGenderSymbol -NameHasGenderSymbol: @ 80466C8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - mov r2, sp - mov r1, sp - movs r0, 0 - strb r0, [r1, 0x1] - strb r0, [r2] - movs r3, 0 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0804670C -_080466E4: - adds r1, r4, r3 - ldrb r0, [r1] - cmp r0, 0xB5 - bne _080466F2 - ldrb r0, [r2] - adds r0, 0x1 - strb r0, [r2] -_080466F2: - ldrb r0, [r1] - cmp r0, 0xB6 - bne _080466FE - ldrb r0, [r2, 0x1] - adds r0, 0x1 - strb r0, [r2, 0x1] -_080466FE: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080466E4 -_0804670C: - cmp r5, 0 - bne _08046720 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _08046720 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08046734 -_08046720: - cmp r5, 0xFE - bne _08046738 - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _08046738 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _08046738 -_08046734: - movs r0, 0x1 - b _0804673A -_08046738: - movs r0, 0 -_0804673A: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end NameHasGenderSymbol - - thumb_func_start AppendGenderSymbol -AppendGenderSymbol: @ 8046744 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - bne _08046764 - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _08046780 - ldr r1, _08046760 @ =gUnknown_8261EC1 - b _08046782 - .align 2, 0 -_08046760: .4byte gUnknown_8261EC1 -_08046764: - cmp r1, 0xFE - bne _08046780 - adds r0, r4, 0 - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - cmp r0, 0 - bne _08046780 - ldr r1, _0804677C @ =gUnknown_8261EC3 - b _08046782 - .align 2, 0 -_0804677C: .4byte gUnknown_8261EC3 -_08046780: - ldr r1, _08046790 @ =gUnknown_8261EC5 -_08046782: - adds r0, r4, 0 - bl StringAppend - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08046790: .4byte gUnknown_8261EC5 - thumb_func_end AppendGenderSymbol - - thumb_func_start AppendMonGenderSymbol -AppendMonGenderSymbol: @ 8046794 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - bl GetBoxMonGender - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl AppendGenderSymbol - pop {r4} - pop {r1} - bx r1 - thumb_func_end AppendMonGenderSymbol - - thumb_func_start GetDaycareLevelMenuText -GetDaycareLevelMenuText: @ 80467B0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x28 - mov r8, r0 - adds r7, r1, 0 - movs r0, 0xFF - strb r0, [r7] - movs r6, 0 - add r0, sp, 0x14 - mov r9, r0 -_080467C8: - movs r0, 0x8C - adds r4, r6, 0 - muls r4, r0 - add r4, r8 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - mov r1, sp - adds r5, r1, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl GetBoxMonNick - adds r0, r5, 0 - adds r1, r4, 0 - bl AppendMonGenderSymbol - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bls _080467C8 - adds r0, r7, 0 - mov r1, sp - bl StringCopy - ldr r4, _0804682C @ =gUnknown_825F83C - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - adds r0, r7, 0 - mov r1, r9 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringAppend - ldr r1, _08046830 @ =gOtherText_Exit - adds r0, r7, 0 - bl StringAppend - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804682C: .4byte gUnknown_825F83C -_08046830: .4byte gOtherText_Exit - thumb_func_end GetDaycareLevelMenuText - - thumb_func_start GetDaycareLevelMenuLevelText -GetDaycareLevelMenuLevelText: @ 8046834 - push {r4-r6,lr} - sub sp, 0x14 - adds r6, r0, 0 - adds r4, r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r5, 0 -_08046842: - adds r0, r4, 0 - ldr r1, _08046890 @ =gUnknown_8416223 - bl StringAppend - movs r0, 0x8C - adds r2, r5, 0 - muls r2, r0 - adds r0, r6, r2 - adds r1, r6, 0 - adds r1, 0x88 - adds r1, r2 - ldr r1, [r1] - bl GetLevelAfterDaycareSteps - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - mov r1, sp - bl StringAppend - adds r0, r4, 0 - ldr r1, _08046894 @ =gUnknown_825F83C - bl StringAppend - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x1 - bls _08046842 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08046890: .4byte gUnknown_8416223 -_08046894: .4byte gUnknown_825F83C - thumb_func_end GetDaycareLevelMenuLevelText - - thumb_func_start DaycareAddTextPrinter -DaycareAddTextPrinter: @ 8046898 - push {r4,r5,lr} - sub sp, 0x10 - str r1, [sp] - mov r1, sp - strb r0, [r1, 0x4] - movs r0, 0x3 - strb r0, [r1, 0x5] - mov r0, sp - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - strb r2, [r0, 0x8] - strb r3, [r0, 0x9] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r1 - strb r0, [r3, 0xC] - ldr r3, _08046908 @ =gTextFlags - ldrb r1, [r3] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - mov r0, sp - movs r5, 0x1 - movs r1, 0x1 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r3, sp - ldrb r1, [r3, 0xC] - movs r4, 0xF - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r3, 0xC] - mov r1, sp - ldrb r0, [r1, 0xD] - ands r2, r0 - orrs r2, r5 - strb r2, [r1, 0xD] - ands r2, r4 - movs r0, 0x30 - orrs r2, r0 - strb r2, [r1, 0xD] - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08046908: .4byte gTextFlags - thumb_func_end DaycareAddTextPrinter - - thumb_func_start DaycarePrintMonNick -DaycarePrintMonNick: @ 804690C - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r3, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x8C - muls r0, r2 - adds r5, r0 - adds r0, r5, 0 - mov r1, sp - bl GetBoxMonNick - mov r0, sp - adds r1, r5, 0 - bl AppendMonGenderSymbol - adds r0, r4, 0 - mov r1, sp - movs r2, 0x8 - adds r3, r6, 0 - bl DaycareAddTextPrinter - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end DaycarePrintMonNick - - thumb_func_start DaycarePrintMonLvl -DaycarePrintMonLvl: @ 8046944 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _080469B0 @ =gUnknown_8416223 - mov r0, sp - bl strcpy - movs r0, 0x8C - adds r1, r6, 0 - muls r1, r0 - adds r0, r4, r1 - adds r4, 0x88 - adds r4, r1 - ldr r1, [r4] - bl GetLevelAfterDaycareSteps - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - add r4, sp, 0xC - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r0, sp - adds r1, r4, 0 - bl StringAppend - movs r0, 0x3 - mov r1, sp - movs r2, 0 - bl GetStringWidth - movs r2, 0x84 - subs r2, r0 - adds r0, r5, 0 - mov r1, sp - mov r3, r8 - bl DaycareAddTextPrinter - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080469B0: .4byte gUnknown_8416223 - thumb_func_end DaycarePrintMonLvl - - thumb_func_start DaycarePrintMonInfo -DaycarePrintMonInfo: @ 80469B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r6, 0x1 - bhi _080469EE - ldr r0, _080469F8 @ =gSaveBlock1Ptr - mov r8, r0 - ldr r0, [r0] - movs r4, 0xBE - lsls r4, 6 - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl DaycarePrintMonNick - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - adds r1, r7, 0 - adds r2, r6, 0 - adds r3, r5, 0 - bl DaycarePrintMonLvl -_080469EE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080469F8: .4byte gSaveBlock1Ptr - thumb_func_end DaycarePrintMonInfo - - thumb_func_start Task_HandleDaycareLevelMenuInput -Task_HandleDaycareLevelMenuInput: @ 80469FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _08046A2C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0x8] - bl ListMenuHandleInput - adds r1, r0, 0 - ldr r0, _08046A30 @ =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _08046A7C - cmp r1, 0x1 - bls _08046A34 - cmp r1, 0x5 - beq _08046A40 - b _08046A46 - .align 2, 0 -_08046A2C: .4byte gTasks -_08046A30: .4byte gMain -_08046A34: - ldr r0, _08046A3C @ =gSpecialVar_Result - strh r1, [r0] - b _08046A46 - .align 2, 0 -_08046A3C: .4byte gSpecialVar_Result -_08046A40: - ldr r1, _08046A74 @ =gSpecialVar_Result - movs r0, 0x2 - strh r0, [r1] -_08046A46: - ldr r0, _08046A78 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl DestroyListMenu - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _08046AAC - .align 2, 0 -_08046A74: .4byte gSpecialVar_Result -_08046A78: .4byte gTasks -_08046A7C: - movs r1, 0x2 - adds r0, r1, 0 - ands r0, r2 - cmp r0, 0 - beq _08046AAC - ldr r0, _08046AB4 @ =gSpecialVar_Result - strh r1, [r0] - ldrb r0, [r4, 0x8] - movs r1, 0 - movs r2, 0 - bl DestroyListMenu - ldrb r0, [r4, 0xA] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r4, 0xA] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08046AAC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08046AB4: .4byte gSpecialVar_Result - thumb_func_end Task_HandleDaycareLevelMenuInput - - thumb_func_start ShowDaycareLevelMenu -ShowDaycareLevelMenu: @ 8046AB8 - push {r4,r5,lr} - sub sp, 0x18 - ldr r0, _08046B18 @ =gUnknown_825F7F4 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl DrawStdWindowFrame - mov r1, sp - ldr r0, _08046B1C @ =gUnknown_825F814 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - strb r4, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _08046B20 @ =Task_HandleDaycareLevelMenuInput - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08046B24 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r4, [r1, 0xA] - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08046B18: .4byte gUnknown_825F7F4 -_08046B1C: .4byte gUnknown_825F814 -_08046B20: .4byte Task_HandleDaycareLevelMenuInput -_08046B24: .4byte gTasks - thumb_func_end ShowDaycareLevelMenu - - thumb_func_start ChooseSendDaycareMon -ChooseSendDaycareMon: @ 8046B28 - push {lr} - bl sub_8128370 - ldr r1, _08046B38 @ =gMain - ldr r0, _08046B3C @ =c2_exit_to_overworld_2_switch - str r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_08046B38: .4byte gMain -_08046B3C: .4byte c2_exit_to_overworld_2_switch - thumb_func_end ChooseSendDaycareMon - - thumb_func_start sub_8046B40 -sub_8046B40: @ 8046B40 - push {lr} - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _08046B64 @ =gPlayerParty - adds r0, r1 - ldr r1, _08046B68 @ =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, _08046B6C @ =0x00003c98 - adds r1, r2 - bl StorePokemonInDaycare - pop {r0} - bx r0 - .align 2, 0 -_08046B64: .4byte gPlayerParty -_08046B68: .4byte gSaveBlock1Ptr -_08046B6C: .4byte 0x00003c98 - thumb_func_end sub_8046B40 - - thumb_func_start sub_8046B70 -sub_8046B70: @ 8046B70 - push {lr} - ldr r0, _08046B88 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08046B8C @ =0x00003c98 - adds r0, r1 - bl GetDaycareCostForSelectedMon - ldr r1, _08046B90 @ =gSpecialVar_0x8005 - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08046B88: .4byte gSaveBlock1Ptr -_08046B8C: .4byte 0x00003c98 -_08046B90: .4byte gSpecialVar_0x8005 - thumb_func_end sub_8046B70 - - thumb_func_start sub_8046B94 -sub_8046B94: @ 8046B94 - push {lr} - ldr r0, _08046BAC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08046BB0 @ =0x00003c98 - adds r0, r1 - movs r1, 0xB - bl GetBoxMonData - cmp r0, 0 - bne _08046BB4 - movs r0, 0 - b _08046BB6 - .align 2, 0 -_08046BAC: .4byte gSaveBlock1Ptr -_08046BB0: .4byte 0x00003c98 -_08046BB4: - movs r0, 0x1 -_08046BB6: - pop {r1} - bx r1 - thumb_func_end sub_8046B94 - - thumb_func_start sub_8046BBC -sub_8046BBC: @ 8046BBC - push {lr} - ldr r0, _08046BD4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08046BD8 @ =0x00003c98 - adds r0, r1 - bl GetNumLevelsGainedForDaycareMon - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_08046BD4: .4byte gSaveBlock1Ptr -_08046BD8: .4byte 0x00003c98 - thumb_func_end sub_8046BBC - - thumb_func_start sub_8046BDC -sub_8046BDC: @ 8046BDC - push {lr} - ldr r0, _08046BF4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08046BF8 @ =0x00003c98 - adds r0, r1 - bl TakeSelectedPokemonFromDaycare - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08046BF4: .4byte gSaveBlock1Ptr -_08046BF8: .4byte 0x00003c98 - thumb_func_end sub_8046BDC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index d1d1a6812..67e7e7d5a 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1828,7 +1828,7 @@ _0806D6EC: .align 2, 0 _0806D700: .4byte gUnknown_81A8DFD _0806D704: - bl sub_80463B8 + bl ShouldEggHatch lsls r0, 24 cmp r0, 0 beq _0806D720 diff --git a/asm/party_menu.s b/asm/party_menu.s index b512bd751..385279a57 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -5909,7 +5909,7 @@ sub_8121808: @ 8121808 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0812184C @ =gStringVar1 - ldr r1, _08121850 @ =gUnknown_8416223 + ldr r1, _08121850 @ =gText_Lv adds r0, r4, 0 bl StringCopy adds r0, r4, 0 @@ -5927,7 +5927,7 @@ sub_8121808: @ 8121808 .align 2, 0 _08121848: .4byte gStringVar2 _0812184C: .4byte gStringVar1 -_08121850: .4byte gUnknown_8416223 +_08121850: .4byte gText_Lv thumb_func_end sub_8121808 thumb_func_start sub_8121854 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 62cedeb88..8cc6afe0f 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -3549,7 +3549,7 @@ _08136264: ldr r0, [r6] ldr r4, _08136328 @ =0x00003088 adds r0, r4 - ldr r1, _0813632C @ =gUnknown_8416223 + ldr r1, _0813632C @ =gText_Lv bl StringCopy ldr r0, [r6] adds r0, r4 @@ -3580,7 +3580,7 @@ _0813631C: .4byte 0x00003290 _08136320: .4byte 0x0000ffff _08136324: .4byte 0x0000306c _08136328: .4byte 0x00003088 -_0813632C: .4byte gUnknown_8416223 +_0813632C: .4byte gText_Lv _08136330: .4byte 0x00003074 _08136334: .4byte gUnknown_84161EF _08136338: |