Start decompiling pokenav_unk_4.c

This commit is contained in:
Marcus Huderle
2019-04-15 17:51:11 -05:00
committed by huderlem
parent f40f2c5e9c
commit 394c0f5546
5 changed files with 80 additions and 103 deletions

View File

@@ -34,7 +34,7 @@ struct UnknownPokenavCallbackStruct
u32 (*unkC)(void);
u32 (*unk10)(void);
void (*unk14)(void);
u32 (*unk18)(void);
void (*unk18)(void);
};
extern u32 sub_81C9924(void);
@@ -47,42 +47,39 @@ extern u32 sub_81CC5F4(void);
extern u32 sub_81CC62C(void);
extern u32 sub_81CC65C(void);
extern void sub_81CC524(void);
extern u32 sub_81CC670(void);
extern void sub_81CC670(void);
extern u32 sub_81CCFD8(void);
extern u32 sub_81CD070(void);
extern u32 sub_81CDDD4(void);
extern u32 sub_81CDE2C(void);
extern u32 sub_81CDE64(void);
extern void sub_81CD1C0(void);
extern u32 sub_81CECA0(void);
extern void sub_81CECA0(void);
extern u32 sub_81CEF3C(void);
extern u32 sub_81CEFDC(void);
extern u32 sub_81CF330(void);
extern u32 sub_81CF3A0(void);
extern u32 sub_81CF3D0(void);
extern void sub_81CEFF0(void);
extern u32 sub_81CF3F8(void);
extern void sub_81CF3F8(void);
extern u32 sub_81CD024(void);
extern u32 sub_81CEF98(void);
extern u32 sub_81CF368(void);
extern u32 sub_81CB260(void);
extern u32 sub_81CB29C(void);
extern u32 sub_81CB2CC(void);
extern u32 sub_81CB2E0(void);
extern u32 sub_81CF9BC(void);
extern u32 sub_81CFA34(void);
extern u32 sub_81CFDD0(void);
extern u32 sub_81CFE40(void);
extern u32 sub_81CFE70(void);
extern void sub_81CFA48(void);
extern u32 sub_81CFE98(void);
extern void sub_81CFE98(void);
extern u32 sub_81D0450(void);
extern u32 sub_81D04A0(void);
extern u32 sub_81D0978(void);
extern u32 sub_81D09B0(void);
extern u32 sub_81D09E0(void);
extern void sub_81D04B8(void);
extern u32 sub_81D09F4(void);
extern void sub_81D09F4(void);
extern u32 sub_81CFA04(void);
extern u32 sub_81CFE08(void);

67
src/pokenav_unk_4.c Executable file
View File

@@ -0,0 +1,67 @@
#include "global.h"
#include "pokenav.h"
#include "window.h"
struct Pokenav4Struct
{
u32 (*unk0)(void);
u32 unk4;
u8 filler8[0x8];
u8 unk10;
u8 filler11[0x1];
u8 unk12;
u8 filler13[0x1];
u8 unk14;
u8 filler15[0x4];
u8 unk19;
u8 filler1A[0x202E];
};
static bool32 sub_81CB310(void);
u32 sub_81CB324(int);
void sub_81CBC1C(void);
void sub_81CC2B4(void);
extern const LoopedTask gUnknown_08622798[];
bool32 sub_81CB260(void)
{
struct Pokenav4Struct *state = AllocSubstruct(6, sizeof(struct Pokenav4Struct));
if (!state)
return FALSE;
state->unk19 = 0;
state->unk4 = CreateLoopedTask(sub_81CB324, 1);
state->unk0 = sub_81CB310;
return TRUE;
}
void sub_81CB29C(int index)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1);
state->unk0 = sub_81CB310;
}
u32 sub_81CB2CC(void)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
return state->unk0();
}
void sub_81CB2E0(void)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
sub_81CC2B4();
sub_81CBC1C();
RemoveWindow(state->unk12);
RemoveWindow(state->unk10);
RemoveWindow(state->unk14);
FreePokenavSubstruct(6);
}
static bool32 sub_81CB310(void)
{
struct Pokenav4Struct *state = GetSubstructPtr(6);
return IsLoopedTaskActive(state->unk4);
}