summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/daycare.s3216
-rw-r--r--asm/field_control_avatar.s2
-rw-r--r--asm/party_menu.s4
-rw-r--r--asm/pokemon_summary_screen.s4
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: