summaryrefslogtreecommitdiff
path: root/arm9/src/scrcmd_daycare.c
blob: 4e2f925ec8fb7634354e6523f9bf868098e87e08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include "scrcmd.h"
#include "daycare.h"
#include "party.h"
#include "script_buffers.h"

extern void* FUN_02039438(struct UnkSavStruct80*, int idx);

extern void MOD05_021EC57C(struct PlayerParty* party, u8 idx, struct DayCare* daycare, struct SaveBlock2* sav2);
extern u16 MOD05_021EC71C(struct PlayerParty* party, struct ScrStrBufs* mgr, struct DayCare* daycare, u8 idx);
extern u16 MOD05_021EC854(struct DayCare* daycare, u8 idx, struct ScrStrBufs* mgr);
extern u8 MOD05_021EC864(struct DayCare* daycare, int idx, struct ScrStrBufs* mgr);
extern void MOD05_021ECD64(struct DayCare* daycare);
extern void MOD05_DayCare_GiveEggToPlayer(struct DayCare* daycare, struct PlayerParty* party, struct PlayerData* player);
extern void MOD05_021ED4E0(struct DayCare* daycare, struct ScrStrBufs* mgr);
extern void MOD05_021ED52C(struct DayCare* daycare, u8 idx1, u8 idx2, u8 idx3, u8 idx4, struct ScrStrBufs* mgr);
extern u16 MOD05_021ED5C4(struct PlayerParty* party, int idx, struct ScrStrBufs* mgr);
extern u16 MOD05_021ED5EC(struct DayCare* daycare);
extern u32 MOD05_021ED644(struct DayCare* daycare);

THUMB_FUNC BOOL ScrCmd_Unk016D(struct ScriptContext* ctx)
{
    struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
    struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
    struct DayCare* daycare = Sav2_DayCare_get(sav2);

    MOD05_021ED4E0(daycare, *mgr);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk016E(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);

    *ret_ptr = MOD05_021ED5EC(daycare);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A8(struct ScriptContext* ctx)
{
    struct DayCare* daycare = SavArray_get(ctx->unk80->saveBlock2, 8);
    MOD05_021ECD64(daycare);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A9(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct DayCare* daycare = SavArray_get(sav_ptr->saveBlock2, 8);
    struct PlayerParty* party = SavArray_PlayerParty_get(sav_ptr->saveBlock2);
    struct SaveBlock2* sav2 = ScriptEnvironment_GetSav2Ptr(ctx->unk80);
    struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(sav2);

    MOD05_DayCare_GiveEggToPlayer(daycare, party, player);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A4(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
    struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);
    struct PlayerParty* party = SavArray_PlayerParty_get(sav_ptr->saveBlock2);

    *ret_ptr = MOD05_021EC71C(party, *mgr, daycare, (u8)idx);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01AA(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct ScrStrBufs** mgr = FUN_02039438(sav_ptr, 15);
    struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);

    *ret_ptr = MOD05_021EC854(daycare, (u8)idx, *mgr);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01AE(struct ScriptContext* ctx)
{
    struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
    struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);

    *ret_ptr = MOD05_021EC864(daycare, idx, *mgr);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01AF(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
    u16 unused = ScriptReadHalfword(ctx);
    u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    struct PlayerParty* party = SavArray_PlayerParty_get(sav_ptr->saveBlock2);

    *ret_ptr = MOD05_021ED5C4(party, idx, *mgr);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01B0(struct ScriptContext* ctx)
{
    struct UnkSavStruct80* sav_ptr = ctx->unk80;
    struct SaveBlock2* sav2 = sav_ptr->saveBlock2;
    u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    struct PlayerParty* party = SavArray_PlayerParty_get(sav_ptr->saveBlock2);
    struct DayCare* daycare = SavArray_get(sav2, 8);

    MOD05_021EC57C(party, (u8)idx, daycare, sav2);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01BC(struct ScriptContext* ctx)
{
    struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
    struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
    u16 idx1 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx2 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx3 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    u16 idx4 = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = Sav2_DayCare_get(sav2);

    MOD05_021ED52C(daycare, (u8)idx1, (u8)idx2, (u8)idx3, (u8)idx4, *mgr);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01BE(struct ScriptContext* ctx)
{
    struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);

    *ret_ptr = (u16)MOD05_021ED644(daycare);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01BF(struct ScriptContext* ctx)
{
    struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
    u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    struct DayCare* daycare = SavArray_get(sav2, 8);

    *ret_ptr = (u16)Sav2_DayCare_GetEggPID(daycare);

    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A5(struct ScriptContext* ctx)
{
    u16* unused = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A6(struct ScriptContext* ctx)
{
#pragma unused(ctx)
    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01A7(struct ScriptContext* ctx)
{
#pragma unused(ctx)
    return FALSE;
}

THUMB_FUNC BOOL ScrCmd_Unk01AD(struct ScriptContext* ctx)
{
    u16* unused = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
    return FALSE;
}