mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-25 15:42:51 -05:00
commit
b71dfbb1ed
|
|
@ -1516,23 +1516,23 @@
|
|||
.extern sub_02023BD4
|
||||
.extern sub_02023BE8
|
||||
.extern sub_02023C04
|
||||
.extern Save_DayCare_sizeof
|
||||
.extern Save_DayCare_Init
|
||||
.extern Save_DayCare_GetMonX
|
||||
.extern DayCareMon_GetBoxMon
|
||||
.extern DayCareMon_GetExtras
|
||||
.extern DayCareMon_GetSteps
|
||||
.extern DayCareMail_GetCapsule
|
||||
.extern Save_DayCare_GetEggPID
|
||||
.extern Save_DayCare_GetEggCycleCounter
|
||||
.extern DayCareMon_SetSteps
|
||||
.extern DayCareMon_AddSteps
|
||||
.extern Save_DayCare_SetEggPID
|
||||
.extern Save_DayCare_SetEggCycleCounter
|
||||
.extern Save_DayCare_MasudaCheck
|
||||
.extern DayCareMon_Copy
|
||||
.extern DayCareMon_Init
|
||||
.extern Save_DayCare_Get
|
||||
.extern Save_Daycare_sizeof
|
||||
.extern Save_Daycare_Init
|
||||
.extern Save_Daycare_GetMonX
|
||||
.extern DaycareMon_GetBoxMon
|
||||
.extern DaycareMon_GetExtras
|
||||
.extern DaycareMon_GetSteps
|
||||
.extern DayCareMail_GetMailPtr
|
||||
.extern Save_Daycare_GetEggPID
|
||||
.extern Save_Daycare_GetEggCycleCounter
|
||||
.extern DaycareMon_SetSteps
|
||||
.extern DaycareMon_AddSteps
|
||||
.extern Save_Daycare_SetEggPID
|
||||
.extern Save_Daycare_SetEggCycleCounter
|
||||
.extern Save_Daycare_MasudaCheck
|
||||
.extern DaycareMon_Copy
|
||||
.extern DaycareMon_Init
|
||||
.extern Save_Daycare_Get
|
||||
.extern Save_Pokedex_sizeof
|
||||
.extern Save_Pokedex_New
|
||||
.extern Save_Pokedex_Copy
|
||||
|
|
@ -6771,7 +6771,7 @@
|
|||
.extern ov05_021EC864
|
||||
.extern ov05_021ECD64
|
||||
.extern ov05_SetEggStats
|
||||
.extern ov05_DayCare_GiveEggToPlayer
|
||||
.extern ov05_Daycare_GiveEggToPlayer
|
||||
.extern ov05_021ED378
|
||||
.extern ov05_021ED49C
|
||||
.extern ov05_021ED4E0
|
||||
|
|
|
|||
|
|
@ -1765,7 +1765,7 @@ ov05_021D8F38: ; 0x021D8F38
|
|||
bl SaveArray_PlayerParty_Get
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #0xc]
|
||||
bl Save_DayCare_Get
|
||||
bl Save_Daycare_Get
|
||||
add r1, r5, #0
|
||||
add r2, r4, #0
|
||||
bl ov05_021ED378
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
thumb_func_start ov05_021EC458
|
||||
ov05_021EC458: ; 0x021EC458
|
||||
push {r3, lr}
|
||||
bl Save_DayCare_GetMonX
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl Save_Daycare_GetMonX
|
||||
bl DaycareMon_GetBoxMon
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start ov05_021EC464
|
||||
|
|
@ -20,8 +20,8 @@ ov05_021EC464: ; 0x021EC464
|
|||
_021EC46E:
|
||||
add r0, r6, #0
|
||||
add r1, r5, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl Save_Daycare_GetMonX
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r1, r7, #0
|
||||
mov r2, #0
|
||||
bl GetBoxMonData
|
||||
|
|
@ -52,8 +52,8 @@ ov05_021EC49C: ; 0x021EC49C
|
|||
_021EC4AA:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl Save_Daycare_GetMonX
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r1, r6, #0
|
||||
add r2, r7, #0
|
||||
bl GetBoxMonData
|
||||
|
|
@ -95,10 +95,10 @@ ov05_021EC4F0: ; 0x021EC4F0
|
|||
bl GetPartyMonByIndex
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl DayCareMon_GetExtras
|
||||
bl DaycareMon_GetExtras
|
||||
str r0, [sp, #8]
|
||||
add r0, r5, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
str r0, [sp, #4]
|
||||
add r0, r7, #0
|
||||
bl Save_PlayerData_GetProfileAddr
|
||||
|
|
@ -113,7 +113,7 @@ ov05_021EC4F0: ; 0x021EC4F0
|
|||
cmp r0, #0
|
||||
beq _021EC544
|
||||
ldr r0, [sp, #8]
|
||||
bl DayCareMail_GetCapsule
|
||||
bl DayCareMail_GetMailPtr
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r1, #0xa9
|
||||
|
|
@ -124,7 +124,7 @@ _021EC544:
|
|||
bl CopyBoxPokemonToBoxPokemon
|
||||
add r0, r5, #0
|
||||
mov r1, #0
|
||||
bl DayCareMon_SetSteps
|
||||
bl DaycareMon_SetSteps
|
||||
ldr r1, [sp]
|
||||
add r0, r6, #0
|
||||
bl RemoveMonFromParty
|
||||
|
|
@ -157,7 +157,7 @@ ov05_021EC57C: ; 0x021EC57C
|
|||
bl ov05_021EC49C
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r2, r0, #0
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
|
|
@ -171,17 +171,17 @@ ov05_021EC5B0: ; 0x021EC5B0
|
|||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r5, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r6, r0, #0
|
||||
add r0, r4, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r7, r0, #0
|
||||
add r0, r6, #0
|
||||
mov r1, #5
|
||||
|
|
@ -197,9 +197,9 @@ ov05_021EC5B0: ; 0x021EC5B0
|
|||
beq _021EC600
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl DayCareMon_Copy
|
||||
bl DaycareMon_Copy
|
||||
add r0, r4, #0
|
||||
bl DayCareMon_Init
|
||||
bl DaycareMon_Init
|
||||
_021EC600:
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
|
|
@ -267,10 +267,10 @@ ov05_021EC668: ; 0x021EC668
|
|||
bl AllocMonZeroed
|
||||
add r4, r0, #0
|
||||
add r0, r6, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r5, r0, #0
|
||||
add r0, r6, #0
|
||||
bl DayCareMon_GetExtras
|
||||
bl DaycareMon_GetExtras
|
||||
str r0, [sp, #4]
|
||||
add r0, r7, #0
|
||||
mov r1, #0
|
||||
|
|
@ -297,7 +297,7 @@ ov05_021EC668: ; 0x021EC668
|
|||
bl GetMonData
|
||||
str r0, [sp, #8]
|
||||
add r0, r6, #0
|
||||
bl DayCareMon_GetSteps
|
||||
bl DaycareMon_GetSteps
|
||||
ldr r1, [sp, #8]
|
||||
add r2, sp, #8
|
||||
add r0, r1, r0
|
||||
|
|
@ -313,7 +313,7 @@ _021EC6E0:
|
|||
cmp r0, #0
|
||||
beq _021EC6FA
|
||||
ldr r0, [sp, #4]
|
||||
bl DayCareMail_GetCapsule
|
||||
bl DayCareMail_GetMailPtr
|
||||
add r2, r0, #0
|
||||
add r0, r4, #0
|
||||
mov r1, #0xa9
|
||||
|
|
@ -326,7 +326,7 @@ _021EC6FA:
|
|||
bl ZeroBoxMonData
|
||||
add r0, r6, #0
|
||||
mov r1, #0
|
||||
bl DayCareMon_SetSteps
|
||||
bl DaycareMon_SetSteps
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
add r0, r7, #0
|
||||
|
|
@ -341,7 +341,7 @@ ov05_021EC71C: ; 0x021EC71C
|
|||
add r4, r1, #0
|
||||
add r0, r6, #0
|
||||
add r1, r3, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
add r2, r4, #0
|
||||
|
|
@ -389,13 +389,13 @@ ov05_021EC744: ; 0x021EC744
|
|||
ov05_021EC78C: ; 0x021EC78C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r6, r0, #0
|
||||
bl CalcBoxMonLevel
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
add r0, r5, #0
|
||||
bl DayCareMon_GetSteps
|
||||
bl DaycareMon_GetSteps
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
bl ov05_021EC744
|
||||
|
|
@ -408,10 +408,10 @@ ov05_021EC78C: ; 0x021EC78C
|
|||
ov05_021EC7B4: ; 0x021EC7B4
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl DayCareMon_GetSteps
|
||||
bl DaycareMon_GetSteps
|
||||
add r1, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov05_021EC744
|
||||
|
|
@ -426,7 +426,7 @@ ov05_021EC7D4: ; 0x021EC7D4
|
|||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r6, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov05_021EC78C
|
||||
|
|
@ -455,7 +455,7 @@ ov05_021EC810: ; 0x021EC810
|
|||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
add r5, r1, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r6, r0, #0
|
||||
add r0, r4, #0
|
||||
bl ov05_021EC78C
|
||||
|
|
@ -486,7 +486,7 @@ ov05_021EC810: ; 0x021EC810
|
|||
ov05_021EC854: ; 0x021EC854
|
||||
push {r4, lr}
|
||||
add r4, r2, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r1, r4, #0
|
||||
bl ov05_021EC810
|
||||
pop {r4, pc}
|
||||
|
|
@ -495,9 +495,9 @@ ov05_021EC854: ; 0x021EC854
|
|||
ov05_021EC864: ; 0x021EC864
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r2, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
add r4, r0, #0
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
mov r1, #5
|
||||
mov r2, #0
|
||||
bl GetBoxMonData
|
||||
|
|
@ -620,7 +620,7 @@ ov05_021EC944: ; 0x021EC944
|
|||
bl MTRandom
|
||||
add r1, r0, #0
|
||||
ldr r0, [sp]
|
||||
bl Save_DayCare_SetEggPID
|
||||
bl Save_Daycare_SetEggPID
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021EC960:
|
||||
ldr r0, [sp]
|
||||
|
|
@ -647,7 +647,7 @@ _021EC98A:
|
|||
_021EC990:
|
||||
ldr r0, [sp]
|
||||
add r1, r4, #0
|
||||
bl Save_DayCare_SetEggPID
|
||||
bl Save_Daycare_SetEggPID
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
|
||||
|
|
@ -1152,10 +1152,10 @@ ov05_021ECD64: ; 0x021ECD64
|
|||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
bl Save_DayCare_SetEggPID
|
||||
bl Save_Daycare_SetEggPID
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
bl Save_DayCare_SetEggCycleCounter
|
||||
bl Save_Daycare_SetEggCycleCounter
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start ov05_021ECD78
|
||||
|
|
@ -1313,7 +1313,7 @@ _021ECE8C:
|
|||
cmp r4, #0x1d
|
||||
bne _021ECEBC
|
||||
ldr r0, [sp]
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
mov r1, #2
|
||||
lsl r1, r1, #0xe
|
||||
tst r0, r1
|
||||
|
|
@ -1327,7 +1327,7 @@ _021ECEBC:
|
|||
cmp r4, r0
|
||||
bne _021ECED6
|
||||
ldr r0, [sp]
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
mov r1, #2
|
||||
lsl r1, r1, #0xe
|
||||
tst r0, r1
|
||||
|
|
@ -1479,8 +1479,8 @@ _021ECFEE:
|
|||
.balign 4, 0
|
||||
_021ED008: .word 0x000001EE
|
||||
|
||||
thumb_func_start ov05_DayCare_CreateEgg
|
||||
ov05_DayCare_CreateEgg: ; 0x021ED00C
|
||||
thumb_func_start ov05_Daycare_CreateEgg
|
||||
ov05_Daycare_CreateEgg: ; 0x021ED00C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x18
|
||||
str r1, [sp, #0x10]
|
||||
|
|
@ -1493,10 +1493,10 @@ ov05_DayCare_CreateEgg: ; 0x021ED00C
|
|||
add r1, sp, #0x14
|
||||
strb r0, [r1]
|
||||
add r0, r5, #0
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
add r4, r0, #0
|
||||
add r0, r5, #0
|
||||
bl Save_DayCare_MasudaCheck
|
||||
bl Save_Daycare_MasudaCheck
|
||||
cmp r0, #0
|
||||
beq _021ED05E
|
||||
add r0, r6, #0
|
||||
|
|
@ -1566,8 +1566,8 @@ _021ED05E:
|
|||
.balign 4, 0
|
||||
_021ED0C8: .word 0x000001EE
|
||||
|
||||
thumb_func_start ov05_DayCare_GiveEggToPlayer
|
||||
ov05_DayCare_GiveEggToPlayer: ; 0x021ED0CC
|
||||
thumb_func_start ov05_Daycare_GiveEggToPlayer
|
||||
ov05_Daycare_GiveEggToPlayer: ; 0x021ED0CC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
add r5, r0, #0
|
||||
|
|
@ -1600,7 +1600,7 @@ ov05_DayCare_GiveEggToPlayer: ; 0x021ED0CC
|
|||
add r0, r4, #0
|
||||
add r1, r6, #0
|
||||
add r2, r5, #0
|
||||
bl ov05_DayCare_CreateEgg
|
||||
bl ov05_Daycare_CreateEgg
|
||||
add r0, r4, #0
|
||||
add r1, r5, #0
|
||||
bl ov05_021EC9D4
|
||||
|
|
@ -1936,9 +1936,9 @@ _021ED38E:
|
|||
beq _021ED3AC
|
||||
ldr r0, [sp]
|
||||
add r1, r4, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
mov r1, #1
|
||||
bl DayCareMon_AddSteps
|
||||
bl DaycareMon_AddSteps
|
||||
add r6, r6, #1
|
||||
_021ED3AC:
|
||||
add r4, r4, #1
|
||||
|
|
@ -1946,15 +1946,15 @@ _021ED3AC:
|
|||
cmp r4, #2
|
||||
blo _021ED38E
|
||||
ldr r0, [sp]
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
cmp r0, #0
|
||||
bne _021ED3F8
|
||||
cmp r6, #2
|
||||
bne _021ED3F8
|
||||
ldr r0, [sp]
|
||||
mov r1, #1
|
||||
bl Save_DayCare_GetMonX
|
||||
bl DayCareMon_GetSteps
|
||||
bl Save_Daycare_GetMonX
|
||||
bl DaycareMon_GetSteps
|
||||
lsl r0, r0, #0x18
|
||||
lsr r0, r0, #0x18
|
||||
cmp r0, #0xff
|
||||
|
|
@ -1974,11 +1974,11 @@ _021ED3AC:
|
|||
bl ov05_021EC944
|
||||
_021ED3F8:
|
||||
ldr r0, [sp]
|
||||
bl Save_DayCare_GetEggCycleCounter
|
||||
bl Save_Daycare_GetEggCycleCounter
|
||||
add r4, r0, #0
|
||||
ldr r0, [sp]
|
||||
add r1, r4, #1
|
||||
bl Save_DayCare_SetEggCycleCounter
|
||||
bl Save_Daycare_SetEggCycleCounter
|
||||
ldr r0, [sp, #4]
|
||||
bl ov05_021ED334
|
||||
add r1, r4, #1
|
||||
|
|
@ -1986,7 +1986,7 @@ _021ED3F8:
|
|||
bne _021ED490
|
||||
ldr r0, [sp]
|
||||
mov r1, #0
|
||||
bl Save_DayCare_SetEggCycleCounter
|
||||
bl Save_Daycare_SetEggCycleCounter
|
||||
add r0, r7, #0
|
||||
bl ov05_021ED190
|
||||
add r6, r0, #0
|
||||
|
|
@ -2133,7 +2133,7 @@ ov05_021ED52C: ; 0x021ED52C
|
|||
add r7, r2, #0
|
||||
add r1, r6, #0
|
||||
str r3, [sp, #8]
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
str r0, [sp, #0xc]
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
|
|
@ -2144,7 +2144,7 @@ ov05_021ED52C: ; 0x021ED52C
|
|||
add r2, r5, #0
|
||||
bl BufferBoxMonNickname
|
||||
ldr r0, [sp, #0xc]
|
||||
bl DayCareMon_GetSteps
|
||||
bl DaycareMon_GetSteps
|
||||
add r1, r0, #0
|
||||
add r0, r5, #0
|
||||
bl ov05_021EC744
|
||||
|
|
@ -2216,7 +2216,7 @@ ov05_021ED5C4: ; 0x021ED5C4
|
|||
ov05_021ED5EC: ; 0x021ED5EC
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
cmp r0, #0
|
||||
beq _021ED5FC
|
||||
mov r0, #1
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ ov35_0225489C: ; 0x0225489C
|
|||
add r0, r4, #0
|
||||
add r6, r2, #0
|
||||
bl ov20_02252C40
|
||||
bl Save_DayCare_Get
|
||||
bl Save_Daycare_Get
|
||||
str r0, [r5, #0x30]
|
||||
ldr r1, [r5, #0x30]
|
||||
add r0, r5, #4
|
||||
|
|
@ -301,7 +301,7 @@ ov35_02254A50: ; 0x02254A50
|
|||
ldr r1, [sp]
|
||||
strb r0, [r1]
|
||||
ldr r0, [sp, #4]
|
||||
bl Save_DayCare_GetEggPID
|
||||
bl Save_Daycare_GetEggPID
|
||||
ldr r1, [sp]
|
||||
mov r7, #0
|
||||
strb r0, [r1, #1]
|
||||
|
|
@ -314,9 +314,9 @@ ov35_02254A50: ; 0x02254A50
|
|||
_02254A7A:
|
||||
ldr r0, [sp, #4]
|
||||
add r1, r7, #0
|
||||
bl Save_DayCare_GetMonX
|
||||
bl Save_Daycare_GetMonX
|
||||
str r0, [sp, #8]
|
||||
bl DayCareMon_GetBoxMon
|
||||
bl DaycareMon_GetBoxMon
|
||||
add r4, r0, #0
|
||||
bl AcquireBoxMonLock
|
||||
str r0, [sp, #0xc]
|
||||
|
|
|
|||
|
|
@ -4,109 +4,96 @@
|
|||
#include "save.h"
|
||||
#include "daycare.h"
|
||||
|
||||
u32 Save_DayCare_sizeof(void)
|
||||
{
|
||||
return sizeof(struct DayCare);
|
||||
u32 Save_Daycare_sizeof(void) {
|
||||
return sizeof(Daycare);
|
||||
}
|
||||
|
||||
void Save_DayCare_Init(struct DayCare * daycare)
|
||||
{
|
||||
memset(daycare, 0, sizeof(struct DayCare));
|
||||
void Save_Daycare_Init(Daycare *daycare) {
|
||||
memset(daycare, 0, sizeof(Daycare));
|
||||
ZeroBoxMonData(&daycare->mons[0].mon);
|
||||
ZeroBoxMonData(&daycare->mons[1].mon);
|
||||
daycare->egg_pid = 0;
|
||||
daycare->egg_cycles = 0;
|
||||
}
|
||||
|
||||
struct DayCareMon * Save_DayCare_GetMonX(struct DayCare * daycare, s32 i)
|
||||
{
|
||||
DaycareMon *Save_Daycare_GetMonX(Daycare *daycare, s32 i) {
|
||||
return &daycare->mons[i];
|
||||
}
|
||||
|
||||
struct BoxPokemon * DayCareMon_GetBoxMon(struct DayCareMon * dcmon)
|
||||
{
|
||||
BoxPokemon *DaycareMon_GetBoxMon(DaycareMon *dcmon) {
|
||||
return &dcmon->mon;
|
||||
}
|
||||
|
||||
struct DayCareMail * DayCareMon_GetExtras(struct DayCareMon * dcmon)
|
||||
{
|
||||
DaycareMail *DaycareMon_GetExtras(DaycareMon *dcmon) {
|
||||
return &dcmon->mail;
|
||||
}
|
||||
|
||||
u32 DayCareMon_GetSteps(struct DayCareMon * dcmon)
|
||||
{
|
||||
u32 DaycareMon_GetSteps(DaycareMon *dcmon) {
|
||||
return dcmon->steps;
|
||||
}
|
||||
|
||||
struct Mail * DayCareMail_GetCapsule(struct DayCareMail * dcmail)
|
||||
{
|
||||
return &dcmail->seal;
|
||||
Mail *DayCareMail_GetMailPtr(DaycareMail *dcmail) {
|
||||
return &dcmail->mail;
|
||||
}
|
||||
|
||||
u32 Save_DayCare_GetEggPID(struct DayCare * daycare)
|
||||
{
|
||||
u32 Save_Daycare_GetEggPID(Daycare *daycare) {
|
||||
return daycare->egg_pid;
|
||||
}
|
||||
|
||||
u8 Save_DayCare_GetEggCycleCounter(struct DayCare * daycare)
|
||||
{
|
||||
u8 Save_Daycare_GetEggCycleCounter(Daycare *daycare) {
|
||||
return daycare->egg_cycles;
|
||||
}
|
||||
|
||||
void DayCareMon_SetSteps(struct DayCareMon * dcmon, u32 steps)
|
||||
{
|
||||
void DaycareMon_SetSteps(DaycareMon *dcmon, u32 steps) {
|
||||
dcmon->steps = steps;
|
||||
}
|
||||
|
||||
void DayCareMon_AddSteps(struct DayCareMon * dcmon, u32 steps)
|
||||
{
|
||||
void DaycareMon_AddSteps(DaycareMon *dcmon, u32 steps) {
|
||||
dcmon->steps += steps;
|
||||
}
|
||||
|
||||
void Save_DayCare_SetEggPID(struct DayCare * daycare, u32 pid)
|
||||
{
|
||||
void Save_Daycare_SetEggPID(Daycare *daycare, u32 pid) {
|
||||
daycare->egg_pid = pid;
|
||||
}
|
||||
|
||||
void Save_DayCare_SetEggCycleCounter(struct DayCare * daycare, u8 count)
|
||||
{
|
||||
void Save_Daycare_SetEggCycleCounter(Daycare *daycare, u8 count) {
|
||||
daycare->egg_cycles = count;
|
||||
}
|
||||
|
||||
BOOL Save_DayCare_MasudaCheck(struct DayCare * daycare)
|
||||
{
|
||||
BOOL Save_Daycare_MasudaCheck(Daycare *daycare) {
|
||||
// Checks if the pokemon come from different countries.
|
||||
// Uses language as a proxy for country, even though it
|
||||
// only accounts for European languages and Japanese.
|
||||
// If true, shiny odds are increased (see overlay 05).
|
||||
return GetBoxMonData(&daycare->mons[0].mon, MON_DATA_GAME_LANGUAGE, NULL) != GetBoxMonData(&daycare->mons[1].mon, MON_DATA_GAME_LANGUAGE, NULL);
|
||||
// If true, shiny odds are increased.
|
||||
return GetBoxMonData(&daycare->mons[0].mon, MON_DATA_GAME_LANGUAGE, NULL) !=
|
||||
GetBoxMonData(&daycare->mons[1].mon, MON_DATA_GAME_LANGUAGE, NULL);
|
||||
}
|
||||
|
||||
void DayCareMon_Copy(struct DayCareMon * dest, const struct DayCareMon * src)
|
||||
{
|
||||
void DaycareMon_Copy(DaycareMon *dest, const DaycareMon *src) {
|
||||
*dest = *src;
|
||||
}
|
||||
|
||||
void DayCareMon_Extras_Init(struct DayCareMail * mail)
|
||||
{
|
||||
void DaycareMon_Extras_Init(DaycareMail *mail){
|
||||
int i;
|
||||
|
||||
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
|
||||
for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++) {
|
||||
mail->ot_name[i] = 0;
|
||||
for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++)
|
||||
}
|
||||
|
||||
for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) {
|
||||
mail->nickname[i] = 0;
|
||||
}
|
||||
|
||||
mail->ot_name[0] = EOS;
|
||||
mail->nickname[0] = EOS;
|
||||
}
|
||||
|
||||
void DayCareMon_Init(struct DayCareMon * mon)
|
||||
{
|
||||
void DaycareMon_Init(DaycareMon *mon) {
|
||||
ZeroBoxMonData(&mon->mon);
|
||||
mon->steps = 0;
|
||||
DayCareMon_Extras_Init(&mon->mail);
|
||||
DaycareMon_Extras_Init(&mon->mail);
|
||||
}
|
||||
|
||||
struct DayCare * Save_DayCare_Get(struct SaveData * save)
|
||||
{
|
||||
return (struct DayCare *)SaveArray_Get(save, 8);
|
||||
Daycare *Save_Daycare_Get(SaveData *savedata) {
|
||||
return SaveArray_Get(savedata, SAVE_DAYCARE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ const struct SaveChunkHeader UNK_020EE700[] = {
|
|||
{ 5, 0, (SAVSIZEFN)Save_Poketch_sizeof, (SAVINITFN)Save_Poketch_Init },
|
||||
{ 6, 0, (SAVSIZEFN)sub_02034D7C, (SAVINITFN)sub_02034D98 },
|
||||
{ 7, 0, (SAVSIZEFN)Save_Pokedex_sizeof, (SAVINITFN)Save_Pokedex_Init },
|
||||
{ 8, 0, (SAVSIZEFN)Save_DayCare_sizeof, (SAVINITFN)Save_DayCare_Init },
|
||||
{ 8, 0, (SAVSIZEFN)Save_Daycare_sizeof, (SAVINITFN)Save_Daycare_Init },
|
||||
{ 9, 0, (SAVSIZEFN)sub_020254B8, (SAVINITFN)sub_020254CC },
|
||||
{ 10, 0, (SAVSIZEFN)sub_02024E64, (SAVINITFN)sub_02024E6C },
|
||||
{ 11, 0, (SAVSIZEFN)sub_02034D80, (SAVINITFN)sub_02034D88 },
|
||||
|
|
|
|||
|
|
@ -6,23 +6,23 @@
|
|||
|
||||
extern void* FieldSysGetAttrAddr(struct FieldSystem*, int idx);
|
||||
|
||||
extern void ov05_021EC57C(struct PlayerParty* party, u8 idx, struct DayCare* daycare, struct SaveData* save);
|
||||
extern u16 ov05_021EC71C(struct PlayerParty* party, MessageFormat *messageFormat, struct DayCare* daycare, u8 idx);
|
||||
extern u16 ov05_021EC854(struct DayCare* daycare, u8 idx, MessageFormat *messageFormat);
|
||||
extern u8 ov05_021EC864(struct DayCare* daycare, int idx, MessageFormat *messageFormat);
|
||||
extern void ov05_021ECD64(struct DayCare* daycare);
|
||||
extern void ov05_DayCare_GiveEggToPlayer(struct DayCare* daycare, struct PlayerParty* party, PlayerProfile* player);
|
||||
extern void ov05_021ED4E0(struct DayCare* daycare, MessageFormat *messageFormat);
|
||||
extern void ov05_021ED52C(struct DayCare* daycare, u8 idx1, u8 idx2, u8 idx3, u8 idx4, MessageFormat *messageFormat);
|
||||
extern void ov05_021EC57C(struct PlayerParty* party, u8 idx, struct Daycare* daycare, struct SaveData* save);
|
||||
extern u16 ov05_021EC71C(struct PlayerParty* party, MessageFormat *messageFormat, struct Daycare* daycare, u8 idx);
|
||||
extern u16 ov05_021EC854(struct Daycare* daycare, u8 idx, MessageFormat *messageFormat);
|
||||
extern u8 ov05_021EC864(struct Daycare* daycare, int idx, MessageFormat *messageFormat);
|
||||
extern void ov05_021ECD64(struct Daycare* daycare);
|
||||
extern void ov05_Daycare_GiveEggToPlayer(struct Daycare* daycare, struct PlayerParty* party, PlayerProfile* player);
|
||||
extern void ov05_021ED4E0(struct Daycare* daycare, MessageFormat *messageFormat);
|
||||
extern void ov05_021ED52C(struct Daycare* daycare, u8 idx1, u8 idx2, u8 idx3, u8 idx4, MessageFormat *messageFormat);
|
||||
extern u16 ov05_021ED5C4(struct PlayerParty* party, int idx, MessageFormat *messageFormat);
|
||||
extern u16 ov05_021ED5EC(struct DayCare* daycare);
|
||||
extern u32 ov05_021ED644(struct DayCare* daycare);
|
||||
extern u16 ov05_021ED5EC(struct Daycare* daycare);
|
||||
extern u32 ov05_021ED644(struct Daycare* daycare);
|
||||
|
||||
BOOL ScrCmd_GetDaycarePokemonNames(struct ScriptContext* ctx) //016D
|
||||
{
|
||||
struct SaveData* save = ctx->fieldSystem->saveData;
|
||||
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
|
||||
struct DayCare* daycare = Save_DayCare_Get(save);
|
||||
struct Daycare* daycare = Save_Daycare_Get(save);
|
||||
|
||||
ov05_021ED4E0(daycare, *messageFormat);
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx) //016E
|
|||
struct FieldSystem* fieldSystem = ctx->fieldSystem;
|
||||
struct SaveData* save = fieldSystem->saveData;
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
*ret_ptr = ov05_021ED5EC(daycare);
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ BOOL ScrCmd_GetDaycareStatus(struct ScriptContext* ctx) //016E
|
|||
|
||||
BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx) //01A8
|
||||
{
|
||||
struct DayCare* daycare = SaveArray_Get(ctx->fieldSystem->saveData, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(ctx->fieldSystem->saveData, 8);
|
||||
ov05_021ECD64(daycare);
|
||||
|
||||
return FALSE;
|
||||
|
|
@ -52,12 +52,12 @@ BOOL ScrCmd_DeleteDaycareEgg(struct ScriptContext* ctx) //01A8
|
|||
BOOL ScrCmd_GiveDaycareEgg(struct ScriptContext* ctx) //01A9
|
||||
{
|
||||
struct FieldSystem* fieldSystem = ctx->fieldSystem;
|
||||
struct DayCare* daycare = SaveArray_Get(fieldSystem->saveData, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(fieldSystem->saveData, 8);
|
||||
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
|
||||
struct SaveData* save = FieldSystem_GetSaveDataPtr(ctx->fieldSystem);
|
||||
PlayerProfile* player = Save_PlayerData_GetProfileAddr(save);
|
||||
|
||||
ov05_DayCare_GiveEggToPlayer(daycare, party, player);
|
||||
ov05_Daycare_GiveEggToPlayer(daycare, party, player);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -69,7 +69,7 @@ BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx) //01A4
|
|||
struct SaveData* save = fieldSystem->saveData;
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
u16 idx = ScriptGetVar(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
|
||||
|
||||
*ret_ptr = ov05_021EC71C(party, *messageFormat, daycare, (u8)idx);
|
||||
|
|
@ -84,7 +84,7 @@ BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx) //01AA
|
|||
struct SaveData* save = fieldSystem->saveData;
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
u16 idx = ScriptGetVar(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
*ret_ptr = ov05_021EC854(daycare, (u8)idx, *messageFormat);
|
||||
|
||||
|
|
@ -97,7 +97,7 @@ BOOL ScrCmd_GetDaycareLevel(struct ScriptContext* ctx) //01AE
|
|||
MessageFormat **messageFormat = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MESSAGE_FORMAT);
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
u16 idx = ScriptGetVar(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
*ret_ptr = ov05_021EC864(daycare, idx, *messageFormat);
|
||||
|
||||
|
|
@ -124,7 +124,7 @@ BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx) //01B0
|
|||
struct SaveData* save = fieldSystem->saveData;
|
||||
u16 idx = ScriptGetVar(ctx);
|
||||
struct PlayerParty* party = SaveArray_PlayerParty_Get(fieldSystem->saveData);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
ov05_021EC57C(party, (u8)idx, daycare, save);
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx) //01BC
|
|||
u16 idx2 = ScriptGetVar(ctx);
|
||||
u16 idx3 = ScriptGetVar(ctx);
|
||||
u16 idx4 = ScriptGetVar(ctx);
|
||||
struct DayCare* daycare = Save_DayCare_Get(save);
|
||||
struct Daycare* daycare = Save_Daycare_Get(save);
|
||||
|
||||
ov05_021ED52C(daycare, (u8)idx1, (u8)idx2, (u8)idx3, (u8)idx4, *messageFormat);
|
||||
|
||||
|
|
@ -150,7 +150,7 @@ BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx) //01BE
|
|||
{
|
||||
struct SaveData* save = ctx->fieldSystem->saveData;
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
*ret_ptr = (u16)ov05_021ED644(daycare);
|
||||
|
||||
|
|
@ -161,9 +161,9 @@ BOOL ScrCmd_Unk01BF(struct ScriptContext* ctx) //01BF - todo: SaveEggPID?
|
|||
{
|
||||
struct SaveData* save = ctx->fieldSystem->saveData;
|
||||
u16* ret_ptr = ScriptGetVarPointer(ctx);
|
||||
struct DayCare* daycare = SaveArray_Get(save, 8);
|
||||
struct Daycare* daycare = SaveArray_Get(save, 8);
|
||||
|
||||
*ret_ptr = (u16)Save_DayCare_GetEggPID(daycare);
|
||||
*ret_ptr = (u16)Save_Daycare_GetEggPID(daycare);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define POKEDIAMOND_CONSTANTS_SAVE_ARRAYS_H
|
||||
|
||||
#define SAVE_BAG 3
|
||||
#define SAVE_DAYCARE 8
|
||||
#define SAVE_SAFARI_ZONE 27
|
||||
#define SAVE_BLOCK_NUM 36
|
||||
|
||||
|
|
|
|||
|
|
@ -2,47 +2,45 @@
|
|||
#define POKEDIAMOND_DAYCARE_H
|
||||
|
||||
#include "global.h"
|
||||
#include "mail.h"
|
||||
|
||||
struct DayCareMail
|
||||
{
|
||||
struct Mail seal;
|
||||
typedef struct DaycareMail {
|
||||
Mail mail;
|
||||
u16 ot_name[PLAYER_NAME_LENGTH + 1];
|
||||
u16 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
u8 padding_5E[2];
|
||||
};
|
||||
} DaycareMail;
|
||||
|
||||
struct DayCareMon
|
||||
{
|
||||
struct BoxPokemon mon;
|
||||
struct DayCareMail mail;
|
||||
typedef struct DaycareMon {
|
||||
BoxPokemon mon;
|
||||
DaycareMail mail;
|
||||
u32 steps;
|
||||
};
|
||||
} DaycareMon;
|
||||
|
||||
struct DayCare
|
||||
{
|
||||
struct DayCareMon mons[2];
|
||||
typedef struct Daycare {
|
||||
DaycareMon mons[2];
|
||||
u32 egg_pid;
|
||||
u8 egg_cycles;
|
||||
u8 padding_1DD[3];
|
||||
};
|
||||
} Daycare;
|
||||
|
||||
u32 Save_DayCare_sizeof(void);
|
||||
void Save_DayCare_Init(struct DayCare * daycare);
|
||||
struct DayCareMon * Save_DayCare_GetMonX(struct DayCare * daycare, s32 i);
|
||||
struct BoxPokemon * DayCareMon_GetBoxMon(struct DayCareMon * dcmon);
|
||||
struct DayCareMail * DayCareMon_GetExtras(struct DayCareMon * dcmon);
|
||||
u32 DayCareMon_GetSteps(struct DayCareMon * dcmon);
|
||||
struct Mail * DayCareMail_GetCapsule(struct DayCareMail * dcmail);
|
||||
u32 Save_DayCare_GetEggPID(struct DayCare * daycare);
|
||||
u8 Save_DayCare_GetEggCycleCounter(struct DayCare * daycare);
|
||||
void DayCareMon_SetSteps(struct DayCareMon * dcmon, u32 steps);
|
||||
void DayCareMon_AddSteps(struct DayCareMon * dcmon, u32 steps);
|
||||
void Save_DayCare_SetEggPID(struct DayCare * daycare, u32 pid);
|
||||
void Save_DayCare_SetEggCycleCounter(struct DayCare * daycare, u8 count);
|
||||
BOOL Save_DayCare_MasudaCheck(struct DayCare * daycare);
|
||||
void DayCareMon_Copy(struct DayCareMon * dest, const struct DayCareMon * src);
|
||||
void DayCareMon_Extras_Init(struct DayCareMail * mail);
|
||||
void DayCareMon_Init(struct DayCareMon * mon);
|
||||
struct DayCare * Save_DayCare_Get(struct SaveData * save);
|
||||
u32 Save_Daycare_sizeof(void);
|
||||
void Save_Daycare_Init(Daycare *daycare);
|
||||
DaycareMon *Save_Daycare_GetMonX(Daycare *daycare, s32 i);
|
||||
BoxPokemon *DaycareMon_GetBoxMon(DaycareMon *dcmon);
|
||||
DaycareMail *DaycareMon_GetExtras(DaycareMon *dcmon);
|
||||
u32 DaycareMon_GetSteps(DaycareMon *dcmon);
|
||||
Mail *DayCareMail_GetMailPtr(DaycareMail *dcmail);
|
||||
u32 Save_Daycare_GetEggPID(Daycare *daycare);
|
||||
u8 Save_Daycare_GetEggCycleCounter(Daycare *daycare);
|
||||
void DaycareMon_SetSteps(DaycareMon *dcmon, u32 steps);
|
||||
void DaycareMon_AddSteps(DaycareMon *dcmon, u32 steps);
|
||||
void Save_Daycare_SetEggPID(Daycare *daycare, u32 pid);
|
||||
void Save_Daycare_SetEggCycleCounter(Daycare *daycare, u8 count);
|
||||
BOOL Save_Daycare_MasudaCheck(Daycare *daycare);
|
||||
void DaycareMon_Copy(DaycareMon *dest, const DaycareMon *src);
|
||||
void DaycareMon_Extras_Init(DaycareMail *mail);
|
||||
void DaycareMon_Init(DaycareMon *mon);
|
||||
Daycare *Save_Daycare_Get(SaveData *savedata);
|
||||
|
||||
#endif //POKEDIAMOND_DAYCARE_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user