summaryrefslogtreecommitdiff
path: root/src/kangaskhan_storage_2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kangaskhan_storage_2.c')
-rw-r--r--src/kangaskhan_storage_2.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/kangaskhan_storage_2.c b/src/kangaskhan_storage_2.c
index e3dcd70..6b30882 100644
--- a/src/kangaskhan_storage_2.c
+++ b/src/kangaskhan_storage_2.c
@@ -3,9 +3,9 @@
#include "memory.h"
#include "text.h"
#include "item.h"
+#include "gUnknown_203B460.h"
#include "input.h"
#include "kangaskhan_storage.h"
-#include "gUnknown_203B460.h"
extern struct unkStruct_203B208 *gUnknown_203B208;
extern struct unkStruct_203B460 *gUnknown_203B460;
@@ -14,10 +14,7 @@ struct unkStruct_203B20C
{
u32 state;
u8 unk4[4];
- u8 unk8;
- u8 unk9;
- u8 unkA;
- u8 unkB;
+ struct ItemStruct_203B460 unk8;
u8 fillC[0x14 - 0xC];
u32 unk14;
u32 unk18;
@@ -64,8 +61,8 @@ extern u8 sub_8012FD8(u32 *r0);
extern void sub_8013114(u32 *, s32 *);
extern void sub_801CBB8();
-extern u8 sub_8091524(u8);
-extern u8 sub_801ADA0(u32);
+extern bool8 sub_8091524(u8);
+extern bool8 sub_801ADA0(u32);
extern void sub_8099690(u32);
extern u32 sub_8013BBC(u32 *);
extern void sub_8017598(void);
@@ -73,7 +70,6 @@ extern void sub_8017598(void);
extern u32 sub_801CA08(u32);
extern u32 sub_801CFB8(void);
extern u8 sub_801CB24();
-extern void sub_8090A8C(struct ItemStruct_203B460 *, u8, u32);
extern void sub_801AD34(u32);
extern u32 sub_801A6E8(u32);
extern u32 sub_801AEA8(void);
@@ -88,7 +84,7 @@ extern void sub_801CCD8();
extern void sub_80184D4();
extern void sub_8018280();
extern void sub_8013AA0(u32 *);
-extern void sub_801B3C0(u8 *);
+extern void sub_801B3C0(struct ItemStruct_203B460 *);
extern void sub_801A5D8(u32, u32, u32, u32);
extern void sub_801C8C4(u32, u32, u32, u32);
extern void sub_8012D60(u32 *, u32 *, u32, u32 *, u32, u32);
@@ -140,15 +136,15 @@ void sub_8017B88(void)
}
else
{
- gUnknown_203B208->unk14 = sub_801CB24();
- sub_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->unk14, 0);
+ gUnknown_203B208->itemIndex = sub_801CB24();
+ sub_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->itemIndex, 0);
gUnknown_203B208->unkC.numItems = 1;
UpdateKangaskhanStorageState(0x19);
}
break;
case 4:
- gUnknown_203B208->unk14 = sub_801CB24();
- sub_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->unk14, 0);
+ gUnknown_203B208->itemIndex = sub_801CB24();
+ sub_8090A8C(&gUnknown_203B208->unkC, gUnknown_203B208->itemIndex, 0);
gUnknown_203B208->unkC.numItems = 1;
UpdateKangaskhanStorageState(0x1A);
break;
@@ -198,21 +194,13 @@ void sub_8017C7C(void)
{
case 2:
sub_8099690(0);
- if(sub_8091524(gUnknown_203B208->unkC.itemIndex) == 0)
- {
+ if(!sub_8091524(gUnknown_203B208->unkC.itemIndex))
UpdateKangaskhanStorageState(9);
- }
else
- {
- if(sub_801ADA0(gUnknown_203B208->unk10) == 0)
- {
+ if(!sub_801ADA0(gUnknown_203B208->unk10))
UpdateKangaskhanStorageState(0xA);
- }
else
- {
UpdateKangaskhanStorageState(0x11);
- }
- }
break;
case 6:
sub_8099690(0);
@@ -304,7 +292,7 @@ u32 sub_8017E1C(void)
{
ResetUnusedInputStruct();
sub_800641C(NULL, 1, 1);
- gUnknown_203B20C = MemoryAlloc(0x150, 8);
+ gUnknown_203B20C = MemoryAlloc(sizeof(struct unkStruct_203B20C), 8);
gUnknown_203B20C->unk14 = 0;
gUnknown_203B20C->unk18 = 0;
gUnknown_203B20C->unk1C = 0;
@@ -449,10 +437,10 @@ void sub_8018100(void)
case 12:
gUnknown_203B20C->unkD0 = 2;
gUnknown_203B20C->unkC8 = 1;
- if(gUnknown_203B460->unk50[gUnknown_203B20C->unkA] > 0x63)
- gUnknown_203B20C->unkCC = 0x63;
+ if(gUnknown_203B460->unk50[gUnknown_203B20C->unk8.itemIndex] > 99)
+ gUnknown_203B20C->unkCC = 99;
else
- gUnknown_203B20C->unkCC = gUnknown_203B460->unk50[gUnknown_203B20C->unkA];
+ gUnknown_203B20C->unkCC = gUnknown_203B460->unk50[gUnknown_203B20C->unk8.itemIndex];
gUnknown_203B20C->unkC4 = gUnknown_203B20C->unkCC;
gUnknown_203B20C->unkD4 = 1;
gUnknown_203B20C->unkD8 = &gUnknown_203B20C->unkF0[1];