Clean Kangaskhan 2/2

This commit is contained in:
Kermalis
2023-08-05 12:56:50 -04:00
parent 944a420449
commit 417eb19802
12 changed files with 308 additions and 315 deletions

View File

@@ -5573,7 +5573,7 @@ _0809BC26:
lsrs r4, 31
bl sub_809B294
adds r0, r4, 0
bl CreateKangaskhanStorage
bl KangaskhanStorage_New
lsls r0, 24
cmp r0, 0
beq _0809BC5C

View File

@@ -133,8 +133,8 @@ gUnknown_81161B8: @ 81161B8
gUnknown_81161C8: @ 81161C8
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte sub_8016E40
.4byte sub_8016D54
.4byte KangaskhanStorage_Delete
.4byte KangaskhanStorage_Callback
.global gUnknown_81161D8
gUnknown_81161D8: @ 81161D8

View File

@@ -7,7 +7,7 @@
#include "text.h"
// size: 0x14C
struct unkStruct_203B208
struct KangaskhanStorageWork
{
/* 0x0 */ bool32 isAsleep;
/* 0x4 */ u32 currState;
@@ -81,4 +81,7 @@ enum KangaskhanStorageStates
KANGASKHAN_STORAGE_IS_MONEY_USED_TM = 9,
};
u32 KangaskhanStorage_Callback(void);
u32 KangaskhanStorage_New(bool32 isAsleep);
#endif

View File

@@ -88,6 +88,7 @@ void KecleonBros_Delete(void);
u32 KecleonBros_New(u32 mode);
bool32 sub_801A5D8(u32, s32, struct UnkTextStruct2_sub *, u32);
u32 sub_801A6E8(bool8);
s32 sub_801A8AC(void);
void sub_801A8D0(u8);
void sub_801A928(void);

View File

@@ -73,7 +73,6 @@ extern u8 *gUnknown_80D4920[];
extern u8 *gUnknown_80D4928[];
extern s32 sub_80144A4(s32 *);
extern u32 sub_801A6E8(bool8);
extern void sub_8099690(u32);
extern struct UnkTextStruct2 gUnknown_80DBA58;
@@ -91,8 +90,6 @@ extern void PlayMenuSoundEffect(u32);
extern void sub_8013F84(void);
extern s32 sub_80913E0(struct Item *, u32, struct subStruct_203B240 **);
extern void sub_80141B4(u8 *, u32, u32 *, u32);
extern void sub_801BB20(void);
extern void sub_801BC24(void);
extern void sub_8014248(const char *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
extern void sub_80140B4(struct UnkTextStruct2 *);
extern void sub_801B46C(u32);
@@ -111,9 +108,11 @@ extern void sub_800199C(u32, u32, u32, u32);
extern void PlaySound(u32);
extern s32 sub_808D544(u32);
void sub_801B51C();
void sub_801B590();
void sub_801B480();
void sub_801B480(void);
void sub_801B51C(void);
void sub_801B590(void);
void sub_801BB20(void);
void sub_801BC24(void);
u32 sub_801B3C0(struct Item *item)

View File

@@ -140,18 +140,15 @@ extern u8 gUnknown_80DBDC8[];
extern u8 *gUnknown_80D4970[];
extern void sub_8007B7C(s32, s32, s32, s32, s32);
extern bool8 sub_801CF14(s32);
extern u32 sub_801CE58(void);
extern void sub_801CC38(void);
extern void sub_801CCD8(void);
extern void sub_801CF94(void);
extern void ResetSprites(u32);
extern void sub_80140B4(struct UnkTextStruct2 *);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_8097DF0(char *, struct subStruct_203B240 **);
extern void sub_8013F84();
extern void sub_8013F84(void);
extern void PlayMenuSoundEffect(u32);
extern char * GetIQSkillDescription(u8 r0);
extern s32 GetNumAvailableIQSkills(u8 *param_1, s32 pokeIQ);
@@ -167,9 +164,12 @@ extern void sub_801C6B4(void);
void sub_801BFB4(s32);
void sub_801C6D0(s32);
void sub_801C7D4();
void sub_801C6E4();
void sub_801C848();
void sub_801C7D4(void);
void sub_801C6E4(void);
void sub_801C848(void);
void sub_801CCD8(void);
bool8 sub_801CF14(s32);
void sub_801CF94(void);
u32 sub_801C308(u8);
extern void PlaySound(u32);
@@ -184,15 +184,15 @@ void sub_801C3B0(u8);
void sub_801BFCC(void);
void sub_801C03C(void);
void sub_801C118();
void sub_801C1A0();
void sub_801C228();
void sub_801C118(void);
void sub_801C1A0(void);
void sub_801C228(void);
u8 sub_801CB24(void);
extern u8 sub_801CB24();
extern u32 sub_801CFE0(u8);
extern s32 sub_801CFB8(void);
extern void sub_801D220();
extern void sub_801D3A8();
u32 sub_801CFE0(u8);
s32 sub_801CFB8(void);
extern void sub_801D220(void);
extern void sub_801D3A8(void);
bool8 sub_801BEEC(s16 species)

View File

@@ -69,7 +69,6 @@ extern void sub_801B450(void);
void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 id, bool8 checkBoostFlags, struct Gummi* gummi);
extern u32 sub_801A6E8(bool8);
extern void sub_8099690(u32);
s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ);

View File

@@ -23,7 +23,6 @@ extern void SetFriendAreaActionMenuState(u32);
extern void PlaySound(u32);
extern void nullsub_104();
extern void sub_8099690(u32);
extern u32 sub_801A6E8(bool8);
extern s32 sub_80144A4(s32 *);
extern void sub_8027EB8();

View File

@@ -146,7 +146,6 @@ extern void sub_801F214(void);
extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32);
extern void sub_801F808(u16 *);
extern u32 sub_801602C(u32 r0, u8 *name);
extern u32 sub_801A6E8(bool8);
extern void sub_8099690(u32);
extern void sub_801F8D0(void);
extern u32 sub_801F890(void);

View File

@@ -11,143 +11,138 @@
extern u8 gUnknown_202DE58[];
extern u8 gUnknown_202E1C8[];
extern u8 gUnknown_202E5D8[];
EWRAM_DATA_2 struct unkStruct_203B208 *gUnknown_203B208 = {0};
EWRAM_DATA_2 struct KangaskhanStorageWork *gKangaskhanStorageWork = {0};
EWRAM_DATA_2 struct unkStruct_203B20C *gUnknown_203B20C = {0};
extern const u8 *gUnknown_80D4920[];
extern const u8 *gUnknown_80D4928[];
extern const u8 *gUnknown_80D4934[];
extern const u8 *gUnknown_80D4958[];
extern const u8 *gUnknown_80D4964[];
extern const u8 *gUnknown_80D4970[];
extern const u8 *gUnknown_80D4984[];
extern struct UnkTextStruct2 gUnknown_80DB748;
extern struct UnkTextStruct2 gUnknown_80DB760;
extern struct UnkTextStruct2 gUnknown_80DB778;
extern struct UnkTextStruct2 gUnknown_80DB790;
extern struct UnkTextStruct2 gUnknown_80DB760;
extern const u8 gUnknown_80DB7A8;
extern struct UnkTextStruct2 gUnknown_80DB7B8;
extern struct UnkTextStruct2 gUnknown_80DB7E8;
extern struct UnkTextStruct2 gUnknown_80DB7D0;
extern struct UnkTextStruct2 gUnknown_80DB7E8;
extern struct UnkTextStruct2 gUnknown_80DB800;
extern struct UnkTextStruct2 gUnknown_80DB818;
extern u8 gUnknown_80DB830[];
extern u8 *gUnknown_80D4920[];
extern u8 *gUnknown_80D4928[];
extern u8 gUnknown_80DB7A8;
extern u8 *gUnknown_80D4970[];
extern u8 *gUnknown_80D4964[];
extern u8 *gUnknown_80D4958[];
extern u8 *gUnknown_80D4984[];
extern u8 *gUnknown_80D4934[];
extern const u8 gUnknown_80DB830[];
extern const u8 *gKangaskhanStorageDialogue[2][20];
void UpdateKangaskhanStorageState(u32);
extern void sub_8017828();
extern void sub_8017AF8();
extern void sub_8017C7C();
extern void sub_8017DC0();
extern void sub_80178D0();
extern void sub_80179A8();
extern void sub_8017B88();
extern void sub_8017C28();
extern void sub_8017D24();
extern void sub_8017DDC();
extern void sub_8017928();
extern void sub_8017A1C();
extern void AdvanceToKangaskhanStorageFallbackState();
void sub_8016E80();
extern void sub_8016FF8();
extern void sub_8008C54(u32);
// text.s
extern void sub_80073B8(u32);
extern void sub_8013C68(u32 *);
extern void sub_80073E0(u32);
extern s32 sub_80144A4(s32 *);
extern u8 sub_801CF50(u32);
extern void sub_801C8C4(u32, u32, u32, u32);
extern void sub_801CB5C(u32);
extern u32 sub_801CFE0(u8);
extern void sub_801CF94(void);
extern u8 sub_801CF14(u32);
extern u8 sub_801CF50(u32);
extern u32 sub_801A6E8(bool8);
extern void sub_80182E4(void);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_8013C68(u32 *);
extern void sub_80073E0(u32);
extern void sub_8099690(u32);
// code_80130A8.s
extern void sub_8013AA0(u32 *);
extern u32 sub_8013BBC(u32 *);
extern void sub_8017598(void);
extern u32 sub_801CA08(u32);
extern u32 sub_801CFB8(void);
extern u8 sub_801CB24();
extern void sub_801B450();
extern void sub_8013C68(u32 *);
extern void sub_80141B4(const u8 *r0, u32, struct OpenedFile **r1, u32);
extern void sub_8014248(const u8 *r0, u32, u32, const struct MenuItem *r4, u16 *, u32, u32, struct OpenedFile **r5, u32);
extern s32 sub_80144A4(s32 *);
// code_801B3C0.c
extern void sub_801B3C0(struct Item *);
extern u32 sub_801B410(void);
extern void sub_8017F10(u32);
extern void sub_8018588(void);
extern void sub_8018620(void);
extern void sub_8018904(void);
extern void sub_8018AC8(void);
extern void sub_80186F8(void);
extern void sub_8018854(void);
extern void sub_80189C8(void);
extern void sub_8018AE4(void);
extern void sub_8017F28();
extern void sub_8018100();
extern void sub_801841C();
extern void sub_801CCD8();
extern void sub_80184D4();
extern void sub_8018280();
void sub_80175FC(void);
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u16 *, u32, u32, struct OpenedFile **r5, u32);
extern void sub_801C8C4(u32, u32, u32, u32);
extern void sub_801CB5C(u32);
extern void sub_801B450(void);
extern void sub_801BB20(void);
extern void sub_801BC24(void);
void sub_80176B8(void);
void sub_80177F8(void);
void sub_8017758(void);
void sub_801A928(void);
extern void sub_8013AA0(u32 *);
extern void sub_8017598(void);
extern void sub_801CCD8(void);
// code_801C620.c
extern void sub_801C8C4(u32, u32, u32, u32);
extern u32 sub_801CA08(u32);
extern u8 sub_801CB24(void);
extern void sub_801CB5C(u32);
extern void sub_801CBB8(void);
extern void sub_801B3C0(struct Item *);
extern u8 sub_801CF14(u32);
extern void sub_801CCD8(void);
extern bool8 sub_801CF14(u32);
extern bool8 sub_801CF50(u32);
extern void sub_801CF94(void);
extern u32 sub_801CFB8(void);
extern u32 sub_801CFE0(u8);
// code_8098BDC.s
extern void sub_8099690(u32);
u32 CreateKangaskhanStorage(bool32 isAsleep)
void sub_8016E80(void);
void sub_8016FF8(void);
void sub_8017598(void);
void sub_80175FC(void);
void sub_80176B8(void);
void sub_8017758(void);
void sub_80177F8(void);
void sub_8017828(void);
void sub_80178D0(void);
void sub_8017928(void);
void sub_80179A8(void);
void sub_8017A1C(void);
void sub_8017AF8(void);
void sub_8017B88(void);
void sub_8017C28(void);
void sub_8017C7C(void);
void sub_8017D24(void);
void sub_8017DC0(void);
void sub_8017DDC(void);
void sub_8017F10(u32);
void sub_8017F28(void);
void sub_8018100(void);
void sub_8018280(void);
void sub_80182E4(void);
void sub_801841C(void);
void sub_80184D4(void);
void sub_8018588(void);
void sub_8018620(void);
void sub_80186F8(void);
void sub_8018854(void);
void sub_8018904(void);
void sub_80189C8(void);
void sub_8018AC8(void);
void sub_8018AE4(void);
void AdvanceToKangaskhanStorageFallbackState(void);
void UpdateKangaskhanStorageState(u32);
u32 KangaskhanStorage_New(bool32 isAsleep)
{
char *monName;
struct OpenedFile *faceFile;
ResetUnusedInputStruct();
sub_800641C(0, 1, 1);
gUnknown_203B208 = MemoryAlloc(sizeof(struct unkStruct_203B208), 8);
gUnknown_203B208->menuAction1 = 0;
gUnknown_203B208->menuAction2 = 0;
gUnknown_203B208->menuAction3 = 0;
gUnknown_203B208->isAsleep = isAsleep;
gKangaskhanStorageWork = MemoryAlloc(sizeof(struct KangaskhanStorageWork), 8);
gKangaskhanStorageWork->menuAction1 = 0;
gKangaskhanStorageWork->menuAction2 = 0;
gKangaskhanStorageWork->menuAction3 = 0;
gKangaskhanStorageWork->isAsleep = isAsleep;
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8, MONSTER_KANGASKHAN);
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8, MONSTER_KANGASKHAN);
monName = GetMonSpecies(MONSTER_KANGASKHAN);
strcpy(gUnknown_202E1C8 - 0x50, monName);
if (gUnknown_203B208->isAsleep == TRUE)
gUnknown_203B208->unkE8 = NULL;
if (gKangaskhanStorageWork->isAsleep == TRUE)
gKangaskhanStorageWork->unkE8 = NULL;
else
gUnknown_203B208->unkE8 = &gUnknown_203B208->faceFile;
gKangaskhanStorageWork->unkE8 = &gKangaskhanStorageWork->faceFile;
faceFile = GetDialogueSpriteDataPtr(MONSTER_KANGASKHAN);
gUnknown_203B208->faceFile = faceFile;
gUnknown_203B208->faceData = faceFile->data;
gUnknown_203B208->unkE4 = 0;
gUnknown_203B208->unkE5 = 0;
gUnknown_203B208->unkE6 = 0;
gUnknown_203B208->unkE0 = 2;
gUnknown_203B208->unkE2 = 8;
gKangaskhanStorageWork->faceFile = faceFile;
gKangaskhanStorageWork->faceData = faceFile->data;
gKangaskhanStorageWork->unkE4 = 0;
gKangaskhanStorageWork->unkE5 = 0;
gKangaskhanStorageWork->unkE6 = 0;
gKangaskhanStorageWork->unkE0 = 2;
gKangaskhanStorageWork->unkE2 = 8;
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_INIT);
return 1;
}
u32 sub_8016D54(void)
{
switch (gUnknown_203B208->currState) {
u32 KangaskhanStorage_Callback(void)
{
switch (gKangaskhanStorageWork->currState) {
case KANGASKHAN_STORAGE_INIT:
case KANGASKHAN_STORAGE_MAIN_MENU:
sub_8017828();
@@ -196,18 +191,18 @@ u32 sub_8016D54(void)
return 0;
}
void sub_8016E40(void)
void KangaskhanStorage_Delete(void)
{
if (gUnknown_203B208 != NULL) {
CloseFile(gUnknown_203B208->faceFile);
MemoryFree(gUnknown_203B208);
gUnknown_203B208 = NULL;
if (gKangaskhanStorageWork != NULL) {
CloseFile(gKangaskhanStorageWork->faceFile);
MemoryFree(gKangaskhanStorageWork);
gKangaskhanStorageWork = NULL;
}
}
void UpdateKangaskhanStorageState(u32 newState)
{
gUnknown_203B208->currState = newState;
gKangaskhanStorageWork->currState = newState;
sub_8016E80();
sub_8016FF8();
}
@@ -216,105 +211,105 @@ void sub_8016E80(void)
{
s32 index;
sub_8006518(gUnknown_203B208->unkEC);
sub_8006518(gKangaskhanStorageWork->unkEC);
switch (gUnknown_203B208->currState) {
switch (gKangaskhanStorageWork->currState) {
case 13:
case 14:
gUnknown_203B208->unkEC[0] = gUnknown_80DB748;
gUnknown_203B208->unkEC[1] = gUnknown_80DB748;
gUnknown_203B208->unkEC[2] = gUnknown_80DB748;
gUnknown_203B208->unkEC[0] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[0] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[1] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[2] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[0] = gUnknown_80DB748;
break;
case 22:
case 23:
gUnknown_203B208->unkEC[0] = gUnknown_80DB748;
gUnknown_203B208->unkEC[1] = gUnknown_80DB748;
gUnknown_203B208->unkEC[2] = gUnknown_80DB748;
gUnknown_203B208->unkEC[0] = gUnknown_80DB778;
gKangaskhanStorageWork->unkEC[0] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[1] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[2] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[0] = gUnknown_80DB778;
break;
case 24:
gUnknown_203B208->unkEC[1] = gUnknown_80DB790;
gKangaskhanStorageWork->unkEC[1] = gUnknown_80DB790;
break;
case 15:
case 25:
gUnknown_203B208->unkEC[2] = gUnknown_80DB760;
gKangaskhanStorageWork->unkEC[2] = gUnknown_80DB760;
break;
default:
for (index = 0; index < 4; index++)
gUnknown_203B208->unkEC[index] = gUnknown_80DB748;
gKangaskhanStorageWork->unkEC[index] = gUnknown_80DB748;
break;
}
ResetUnusedInputStruct();
sub_800641C(gUnknown_203B208->unkEC, 1, 1);
sub_800641C(gKangaskhanStorageWork->unkEC, 1, 1);
}
void sub_8016FF8(void)
{
switch (gUnknown_203B208->currState) {
switch (gKangaskhanStorageWork->currState) {
case KANGASKHAN_STORAGE_INIT:
sub_80175FC();
gUnknown_203B208->unkE4 = 1;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][0], 0, gUnknown_203B208->menuAction1, gUnknown_203B208->unk24,
gUnknown_203B208->unk4C, 4, 0, gUnknown_203B208->unkE8, 12);
gKangaskhanStorageWork->unkE4 = 1;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][0], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->unkE8, 12);
break;
case KANGASKHAN_STORAGE_MAIN_MENU:
sub_80175FC();
gUnknown_203B208->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][1], 0, gUnknown_203B208->menuAction1, gUnknown_203B208->unk24,
gUnknown_203B208->unk4C, 4, 0, gUnknown_203B208->unkE8, 12);
gKangaskhanStorageWork->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][1], 0, gKangaskhanStorageWork->menuAction1, gKangaskhanStorageWork->unk24,
gKangaskhanStorageWork->unk4C, 4, 0, gKangaskhanStorageWork->unkE8, 12);
break;
case 2:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][19], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][19], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case 3:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_EXIT;
gUnknown_203B208->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][2], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_EXIT;
gKangaskhanStorageWork->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][2], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case KANGASKHAN_STORAGE_NO_INV_ITEMS:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][13], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][13], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case KANGASKHAN_STORAGE_TOO_MANY_ITEMS:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][14], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][14], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case 7:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][15], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][15], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case 8:
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][18], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][18], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case KANGASKHAN_STORAGE_IS_MONEY_USED_TM:
sub_8090E14(gUnknown_202DE58, &gUnknown_203B208->storedItem, 0);
gUnknown_203B208->fallbackState = 14;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][16], 0, gUnknown_203B208->unkE8, 0x30D);
sub_8090E14(gUnknown_202DE58, &gKangaskhanStorageWork->storedItem, 0);
gKangaskhanStorageWork->fallbackState = 14;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][16], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 10:
gUnknown_203B208->fallbackState = 14;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][17], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = 14;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][17], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 0xb:
gUnknown_203B208->fallbackState = 13;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][3], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = 13;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][3], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 12:
gUnknown_203B208->fallbackState = 14;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][4], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = 14;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][4], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 13:
sub_801A5D8(3, 3, 0, 10);
@@ -325,41 +320,41 @@ void sub_8016FF8(void)
case 15:
sub_801A9E0();
sub_80176B8();
sub_8012D60(&gUnknown_203B208->unk58, gUnknown_203B208->unk24, NULL, gUnknown_203B208->unk4C, gUnknown_203B208->menuAction2, 2);
sub_8012D60(&gKangaskhanStorageWork->unk58, gKangaskhanStorageWork->unk24, NULL, gKangaskhanStorageWork->unk4C, gKangaskhanStorageWork->menuAction2, 2);
break;
case 17:
sub_80177F8();
sub_8090E14(gUnknown_202DE58, &gUnknown_203B208->storedItem, 0);
gUnknown_203B208->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][5], 0, 4, gUnknown_203B208->unk24, NULL, 4, 0,
gUnknown_203B208->unkE8, 12);
sub_8090E14(gUnknown_202DE58, &gKangaskhanStorageWork->storedItem, 0);
gKangaskhanStorageWork->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][5], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
gKangaskhanStorageWork->unkE8, 12);
break;
case 18:
sub_80177F8();
gUnknown_203B208->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][6], 0, 4, gUnknown_203B208->unk24, NULL, 4, 0,
gUnknown_203B208->unkE8, 12);
gKangaskhanStorageWork->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][6], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
gKangaskhanStorageWork->unkE8, 12);
break;
case 19:
if (GetNumberOfFilledInventorySlots() == 0) {
sub_801A928();
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
}
else
gUnknown_203B208->fallbackState = 12;
gKangaskhanStorageWork->fallbackState = 12;
gUnknown_203B208->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][7], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][7], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
case 20:
gUnknown_203B208->fallbackState = 22;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][8], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = 22;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][8], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 21:
gUnknown_203B208->fallbackState = 23;
gUnknown_203B208->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][9], 0, gUnknown_203B208->unkE8, 0x30D);
gKangaskhanStorageWork->fallbackState = 23;
gKangaskhanStorageWork->unkE4 = 0;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][9], 0, gKangaskhanStorageWork->unkE8, 0x30D);
break;
case 22:
sub_801C8C4(1, 3, 0, 10);
@@ -370,69 +365,69 @@ void sub_8016FF8(void)
sub_801AD34(0);
break;
case 24:
gUnknown_203B208->unkB8 = 2;
gUnknown_203B208->unkB0 = 1;
gKangaskhanStorageWork->unkB8 = 2;
gKangaskhanStorageWork->unkB0 = 1;
if (gTeamInventory_203B460->teamStorage[gUnknown_203B208->storedItem.id] >= 100)
gUnknown_203B208->unkB4 = 99;
if (gTeamInventory_203B460->teamStorage[gKangaskhanStorageWork->storedItem.id] >= 100)
gKangaskhanStorageWork->unkB4 = 99;
else
gUnknown_203B208->unkB4 = gTeamInventory_203B460->teamStorage [gUnknown_203B208->storedItem.id];
gKangaskhanStorageWork->unkB4 = gTeamInventory_203B460->teamStorage [gKangaskhanStorageWork->storedItem.id];
gUnknown_203B208->unkAC = gUnknown_203B208->unkB4;
gUnknown_203B208->unkBC = 1;
gUnknown_203B208->unkC0 = &gUnknown_203B208->unkEC[1];
gUnknown_203B208->unkC4 = 40;
gUnknown_203B208->unkC8 = 18;
sub_8013AA0(&gUnknown_203B208->unkA8);
gKangaskhanStorageWork->unkAC = gKangaskhanStorageWork->unkB4;
gKangaskhanStorageWork->unkBC = 1;
gKangaskhanStorageWork->unkC0 = &gKangaskhanStorageWork->unkEC[1];
gKangaskhanStorageWork->unkC4 = 40;
gKangaskhanStorageWork->unkC8 = 18;
sub_8013AA0(&gKangaskhanStorageWork->unkA8);
sub_8017598();
break;
case 25:
sub_801CCD8();
sub_801AD34(0);
sub_8017758();
sub_8012D60(&gUnknown_203B208->unk58, gUnknown_203B208->unk24, NULL, gUnknown_203B208->unk4C, gUnknown_203B208->menuAction3, 2);
sub_8012D60(&gKangaskhanStorageWork->unk58, gKangaskhanStorageWork->unk24, NULL, gKangaskhanStorageWork->unk4C, gKangaskhanStorageWork->menuAction3, 2);
break;
case 16:
case 26:
sub_801B3C0(&gUnknown_203B208->storedItem);
sub_801B3C0(&gKangaskhanStorageWork->storedItem);
break;
case 27:
sub_80177F8();
sub_8090E14(gUnknown_202DE58, &gUnknown_203B208->storedItem, 0);
gUnknown_203B208->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][10], 0, 4, gUnknown_203B208->unk24, NULL, 4, 0,
gUnknown_203B208->unkE8, 12);
sub_8090E14(gUnknown_202DE58, &gKangaskhanStorageWork->storedItem, 0);
gKangaskhanStorageWork->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][10], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
gKangaskhanStorageWork->unkE8, 12);
break;
case 28:
sub_80177F8();
gUnknown_203B208->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][11], 0, 4, gUnknown_203B208->unk24, NULL, 4, 0,
gUnknown_203B208->unkE8, 12);
gKangaskhanStorageWork->unkE4 = 0;
sub_8014248(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][11], 0, 4, gKangaskhanStorageWork->unk24, NULL, 4, 0,
gKangaskhanStorageWork->unkE8, 12);
break;
case 29:
if (sub_801CF14(1) || GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) {
sub_801CBB8();
gUnknown_203B208->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
gKangaskhanStorageWork->fallbackState = KANGASKHAN_STORAGE_MAIN_MENU;
}
else
gUnknown_203B208->fallbackState = 21;
gKangaskhanStorageWork->fallbackState = 21;
gUnknown_203B208->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gUnknown_203B208->isAsleep][12], 0, gUnknown_203B208->unkE8, 0x10D);
gKangaskhanStorageWork->unkE4 = 1;
sub_80141B4(gKangaskhanStorageDialogue[gKangaskhanStorageWork->isAsleep][12], 0, gKangaskhanStorageWork->unkE8, 0x10D);
break;
}
}
void sub_8017598(void)
{
sub_8008C54(gUnknown_203B208->unkBC);
sub_80073B8(gUnknown_203B208->unkBC);
xxx_call_draw_string(4, 0, &gUnknown_80DB7A8,gUnknown_203B208->unkBC, 0); // Number?
sub_8013C68(&gUnknown_203B208->unkA8);
sub_80073E0(gUnknown_203B208->unkBC);
sub_8008C54(gKangaskhanStorageWork->unkBC);
sub_80073B8(gKangaskhanStorageWork->unkBC);
xxx_call_draw_string(4, 0, &gUnknown_80DB7A8,gKangaskhanStorageWork->unkBC, 0); // Number?
sub_8013C68(&gKangaskhanStorageWork->unkA8);
sub_80073E0(gKangaskhanStorageWork->unkBC);
sub_801CCD8();
sub_801AD34(0);
sub_8012EA4(&gUnknown_203B208->unk58, 0);
sub_8012EA4(&gKangaskhanStorageWork->unk58, 0);
}
void sub_80175FC(void)
@@ -440,37 +435,37 @@ void sub_80175FC(void)
s32 index;
s32 loopMax;
MemoryFill16(gUnknown_203B208->unk4C,0, sizeof(gUnknown_203B208->unk4C));
MemoryFill16(gKangaskhanStorageWork->unk4C,0, sizeof(gKangaskhanStorageWork->unk4C));
loopMax = 0;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4958;
gUnknown_203B208->unk24[loopMax].menuAction = 2;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4958;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 2;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4964;
gUnknown_203B208->unk24[loopMax].menuAction = 3;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4964;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 3;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4970;
gUnknown_203B208->unk24[loopMax].menuAction = 6;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4970;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 6;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4934;
gUnknown_203B208->unk24[loopMax].menuAction = 1;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4934;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 1;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = NULL;
gUnknown_203B208->unk24[loopMax].menuAction = 1;
gKangaskhanStorageWork->unk24[loopMax].text = NULL;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 1;
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
if (gUnknown_203B208->unk24[index].menuAction == gUnknown_203B208->menuAction1)
if (gKangaskhanStorageWork->unk4C[index] == 0) {
if (gKangaskhanStorageWork->unk24[index].menuAction == gKangaskhanStorageWork->menuAction1)
return;
}
}
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
gUnknown_203B208->menuAction1 = gUnknown_203B208->unk24[index].menuAction;
if (gKangaskhanStorageWork->unk4C[index] == 0) {
gKangaskhanStorageWork->menuAction1 = gKangaskhanStorageWork->unk24[index].menuAction;
break;
}
}
@@ -481,29 +476,29 @@ void sub_80176B8(void)
s32 index;
s32 loopMax;
MemoryFill16(gUnknown_203B208->unk4C, 0, sizeof(gUnknown_203B208->unk4C));
MemoryFill16(gKangaskhanStorageWork->unk4C, 0, sizeof(gKangaskhanStorageWork->unk4C));
loopMax = 0;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4958;
gUnknown_203B208->unk24[loopMax].menuAction = 2;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4958;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 2;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4970;
gUnknown_203B208->unk24[loopMax].menuAction = 6;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4970;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 6;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = NULL;
gUnknown_203B208->unk24[loopMax].menuAction = 1;
gKangaskhanStorageWork->unk24[loopMax].text = NULL;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 1;
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
if (gUnknown_203B208->unk24[index].menuAction == gUnknown_203B208->menuAction2)
if (gKangaskhanStorageWork->unk4C[index] == 0) {
if (gKangaskhanStorageWork->unk24[index].menuAction == gKangaskhanStorageWork->menuAction2)
return;
}
}
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
gUnknown_203B208->menuAction2 = gUnknown_203B208->unk24[index].menuAction;
if (gKangaskhanStorageWork->unk4C[index] == 0) {
gKangaskhanStorageWork->menuAction2 = gKangaskhanStorageWork->unk24[index].menuAction;
break;
}
}
@@ -514,29 +509,29 @@ void sub_8017758(void)
s32 index;
s32 loopMax;
MemoryFill16(gUnknown_203B208->unk4C, 0, sizeof(gUnknown_203B208->unk4C));
MemoryFill16(gKangaskhanStorageWork->unk4C, 0, sizeof(gKangaskhanStorageWork->unk4C));
loopMax = 0;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4964;
gUnknown_203B208->unk24[loopMax].menuAction = 3;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4964;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 3;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4970;
gUnknown_203B208->unk24[loopMax].menuAction = 6;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4970;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 6;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = NULL;
gUnknown_203B208->unk24[loopMax].menuAction = 1;
gKangaskhanStorageWork->unk24[loopMax].text = NULL;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 1;
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
if (gUnknown_203B208->unk24[index].menuAction == gUnknown_203B208->menuAction3)
if (gKangaskhanStorageWork->unk4C[index] == 0) {
if (gKangaskhanStorageWork->unk24[index].menuAction == gKangaskhanStorageWork->menuAction3)
return;
}
}
for (index = 0; index < loopMax; index++) {
if (gUnknown_203B208->unk4C[index] == 0) {
gUnknown_203B208->menuAction3 = gUnknown_203B208->unk24[index].menuAction;
if (gKangaskhanStorageWork->unk4C[index] == 0) {
gKangaskhanStorageWork->menuAction3 = gKangaskhanStorageWork->unk24[index].menuAction;
break;
}
}
@@ -547,16 +542,16 @@ void sub_80177F8(void)
s32 loopMax;
loopMax = 0;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4920;
gUnknown_203B208->unk24[loopMax].menuAction = 4;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4920;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 4;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = *gUnknown_80D4928;
gUnknown_203B208->unk24[loopMax].menuAction = 5;
gKangaskhanStorageWork->unk24[loopMax].text = *gUnknown_80D4928;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 5;
loopMax += 1;
gUnknown_203B208->unk24[loopMax].text = NULL;
gUnknown_203B208->unk24[loopMax].menuAction = 1;
gKangaskhanStorageWork->unk24[loopMax].text = NULL;
gKangaskhanStorageWork->unk24[loopMax].menuAction = 1;
}
void sub_8017828(void)
@@ -567,19 +562,19 @@ void sub_8017828(void)
return;
if (menuAction != 1)
gUnknown_203B208->menuAction1 = menuAction;
gKangaskhanStorageWork->menuAction1 = menuAction;
switch (menuAction) {
case 2:
if (GetNumberOfFilledInventorySlots() == 0)
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_NO_INV_ITEMS);
else if (sub_801CF50(0) != 0)
else if (sub_801CF50(0))
UpdateKangaskhanStorageState(8);
else
UpdateKangaskhanStorageState(11);
break;
case 3:
if (sub_801CF14(1) != 0)
if (sub_801CF14(1))
UpdateKangaskhanStorageState(7);
else if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_TOO_MANY_ITEMS);
@@ -604,8 +599,8 @@ void sub_80178D0(void)
switch (menuAction) {
case 4:
MoveToStorage(&gUnknown_203B208->storedItem);
ShiftItemsDownFrom(gUnknown_203B208->itemIndex);
MoveToStorage(&gKangaskhanStorageWork->storedItem);
ShiftItemsDownFrom(gKangaskhanStorageWork->itemIndex);
FillInventoryGaps();
UpdateKangaskhanStorageState(19);
break;
@@ -626,9 +621,9 @@ void sub_8017928(void)
switch (menuAction) {
case 4:
gTeamInventory_203B460->teamStorage[gUnknown_203B208->storedItem.id] -= gUnknown_203B208->storedItem.quantity;
item.id = gUnknown_203B208->storedItem.id;
item.quantity = gUnknown_203B208->storedItem.quantity;
gTeamInventory_203B460->teamStorage[gKangaskhanStorageWork->storedItem.id] -= gKangaskhanStorageWork->storedItem.quantity;
item.id = gKangaskhanStorageWork->storedItem.id;
item.quantity = gKangaskhanStorageWork->storedItem.quantity;
AddHeldItemToInventory(&item);
UpdateKangaskhanStorageState(29);
break;
@@ -715,14 +710,14 @@ void sub_8017AF8(void)
UpdateKangaskhanStorageState(18);
}
else {
gUnknown_203B208->itemIndex = sub_801A8AC();
gUnknown_203B208->storedItem = gTeamInventory_203B460->teamItems[gUnknown_203B208->itemIndex];
gKangaskhanStorageWork->itemIndex = sub_801A8AC();
gKangaskhanStorageWork->storedItem = gTeamInventory_203B460->teamItems[gKangaskhanStorageWork->itemIndex];
UpdateKangaskhanStorageState(15);
}
break;
case 4:
gUnknown_203B208->itemIndex = sub_801A8AC();
gUnknown_203B208->storedItem = gTeamInventory_203B460->teamItems[gUnknown_203B208->itemIndex];
gKangaskhanStorageWork->itemIndex = sub_801A8AC();
gKangaskhanStorageWork->storedItem = gTeamInventory_203B460->teamItems[gKangaskhanStorageWork->itemIndex];
UpdateKangaskhanStorageState(16);
break;
case 2:
@@ -739,16 +734,16 @@ void sub_8017B88(void)
if (sub_801CFB8() != 0)
UpdateKangaskhanStorageState(28);
else {
gUnknown_203B208->id = sub_801CB24();
xxx_init_itemslot_8090A8C(&gUnknown_203B208->storedItem, gUnknown_203B208->id, 0);
gUnknown_203B208->storedItem.quantity = 1;
gKangaskhanStorageWork->id = sub_801CB24();
xxx_init_itemslot_8090A8C(&gKangaskhanStorageWork->storedItem, gKangaskhanStorageWork->id, 0);
gKangaskhanStorageWork->storedItem.quantity = 1;
UpdateKangaskhanStorageState(25);
}
break;
case 4:
gUnknown_203B208->id = sub_801CB24();
xxx_init_itemslot_8090A8C(&gUnknown_203B208->storedItem, gUnknown_203B208->id, 0);
gUnknown_203B208->storedItem.quantity = 1;
gKangaskhanStorageWork->id = sub_801CB24();
xxx_init_itemslot_8090A8C(&gKangaskhanStorageWork->storedItem, gKangaskhanStorageWork->id, 0);
gKangaskhanStorageWork->storedItem.quantity = 1;
UpdateKangaskhanStorageState(26);
break;
case 2:
@@ -764,14 +759,14 @@ void sub_8017B88(void)
void sub_8017C28(void)
{
sub_801CA08(0);
sub_8012FD8(&gUnknown_203B208->unk58);
sub_8012FD8(&gKangaskhanStorageWork->unk58);
switch (sub_8013BBC(&gUnknown_203B208->unkA8)) {
switch (sub_8013BBC(&gKangaskhanStorageWork->unkA8)) {
case 1:
sub_8017598();
break;
case 3:
gUnknown_203B208->storedItem.quantity = gUnknown_203B208->unkA8;
gKangaskhanStorageWork->storedItem.quantity = gKangaskhanStorageWork->unkA8;
UpdateKangaskhanStorageState(27);
break;
case 2:
@@ -789,18 +784,18 @@ void sub_8017C7C(void)
menuAction = 0;
sub_801A6E8(FALSE);
if (sub_8012FD8(&gUnknown_203B208->unk58) == 0) {
sub_8013114(&gUnknown_203B208->unk58, &menuAction);
if (sub_8012FD8(&gKangaskhanStorageWork->unk58) == 0) {
sub_8013114(&gKangaskhanStorageWork->unk58, &menuAction);
if (menuAction != 1)
gUnknown_203B208->menuAction2 = menuAction;
gKangaskhanStorageWork->menuAction2 = menuAction;
}
switch (menuAction) {
case 2:
sub_8099690(0);
if (!IsNotMoneyOrUsedTMItem(gUnknown_203B208->storedItem.id))
if (!IsNotMoneyOrUsedTMItem(gKangaskhanStorageWork->storedItem.id))
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_IS_MONEY_USED_TM);
else if(!sub_801ADA0(gUnknown_203B208->itemIndex))
else if(!sub_801ADA0(gKangaskhanStorageWork->itemIndex))
UpdateKangaskhanStorageState(10);
else
UpdateKangaskhanStorageState(17);
@@ -821,10 +816,10 @@ void sub_8017D24(void)
menuAction = 0;
sub_801CA08(0);
if (sub_8012FD8(&gUnknown_203B208->unk58) == 0) {
sub_8013114(&gUnknown_203B208->unk58, &menuAction);
if (sub_8012FD8(&gKangaskhanStorageWork->unk58) == 0) {
sub_8013114(&gKangaskhanStorageWork->unk58, &menuAction);
if (menuAction != 1)
gUnknown_203B208->menuAction3 = menuAction;
gKangaskhanStorageWork->menuAction3 = menuAction;
}
switch (menuAction) {
@@ -833,7 +828,7 @@ void sub_8017D24(void)
sub_801CBB8();
UpdateKangaskhanStorageState(KANGASKHAN_STORAGE_TOO_MANY_ITEMS);
}
else if (IsThrowableItem(gUnknown_203B208->storedItem.id))
else if (IsThrowableItem(gKangaskhanStorageWork->storedItem.id))
UpdateKangaskhanStorageState(24);
else
UpdateKangaskhanStorageState(27);
@@ -881,7 +876,7 @@ void AdvanceToKangaskhanStorageFallbackState(void)
{
s32 temp;
if (sub_80144A4(&temp) == 0)
UpdateKangaskhanStorageState(gUnknown_203B208->fallbackState);
UpdateKangaskhanStorageState(gKangaskhanStorageWork->fallbackState);
}
u32 sub_8017E1C(void)
@@ -1077,14 +1072,14 @@ void sub_80182E4(void)
gUnknown_203B20C->unk20[0].text = *gUnknown_80D4958;
gUnknown_203B20C->unk20[0].menuAction = 2;
if (GetNumberOfFilledInventorySlots() == 0 || sub_801CF50(0) != 0)
if (GetNumberOfFilledInventorySlots() == 0 || sub_801CF50(0))
gUnknown_203B20C->unk60[0] = 1;
loopMax += 1;
gUnknown_203B20C->unk20[loopMax].text = *gUnknown_80D4964;
gUnknown_203B20C->unk20[loopMax].menuAction = 3;
if (sub_801CF14(1) != 0 || INVENTORY_SIZE <= GetNumberOfFilledInventorySlots())
if (sub_801CF14(1) || INVENTORY_SIZE <= GetNumberOfFilledInventorySlots())
gUnknown_203B20C->unk60[loopMax] = 1;
loopMax += 1;
@@ -1194,13 +1189,13 @@ void sub_8018588(void)
switch (menuAction) {
case 2:
if (GetNumberOfFilledInventorySlots() != 0 && sub_801CF50(0) == 0)
if (GetNumberOfFilledInventorySlots() != 0 && !sub_801CF50(0))
sub_8017F10(4);
else
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
break;
case 3:
if (sub_801CF14(1) != 0)
if (sub_801CF14(1))
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
else
sub_8017F10(10);
@@ -1283,7 +1278,7 @@ void sub_80186F8(void)
FillInventoryGaps();
sub_801CF94();
if (sub_801CF14(1) == 0 && GetNumberOfFilledInventorySlots() < INVENTORY_SIZE)
if (!sub_801CF14(1) && GetNumberOfFilledInventorySlots() < INVENTORY_SIZE)
sub_8017F10(11);
else {
sub_801CBB8();
@@ -1328,7 +1323,7 @@ void sub_8018854(void)
item.quantity = gUnknown_203B20C->item.quantity;
AddHeldItemToInventory(&item);
if (sub_801CF14(1) == 0) {
if (!sub_801CF14(1)) {
if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE) {
error:
sub_801CBB8();
@@ -1423,7 +1418,7 @@ void sub_80189C8(void)
item.quantity = gUnknown_203B20C->item.quantity;
AddHeldItemToInventory(&item);
if (sub_801CF14(1) == 0) {
if (!sub_801CF14(1)) {
if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
{
error:

View File

@@ -202,7 +202,6 @@ void sub_801AEE4(u32, u32);
void sub_808F734(struct PokemonStruct *, s16);
u32 sub_801602C(u32 r0, u8 *name);
extern s32 sub_80144A4(s32 *);
extern u32 sub_801A6E8(bool8);
extern void sub_8099690(u32);
extern void PlayMenuSoundEffect(u32);
extern u32 sub_801B410(void);

View File

@@ -182,7 +182,6 @@ extern u32 sub_801B410(void);
extern void sub_801B450(void);
extern void nullsub_104(void);
extern void sub_8099690(u32);
extern u32 sub_801A6E8(bool8);
extern u32 sub_8022860(void);
extern void sub_8022908(void);
extern void sub_801BF98(void);