through sub_815E5C4
This commit is contained in:
+90
-3
@@ -17,6 +17,7 @@
|
||||
#include "battle.h"
|
||||
#include "battle_2.h"
|
||||
#include "overworld.h"
|
||||
#include "item.h"
|
||||
|
||||
struct UnkStruct_8479D34
|
||||
{
|
||||
@@ -42,7 +43,8 @@ struct UnkSubstruct_203F458_000C_004
|
||||
|
||||
struct UnkSubstruct_203F458_000C
|
||||
{
|
||||
/* 0x000 */ u8 filler_000[2];
|
||||
/* 0x000 */ u8 unk_000;
|
||||
/* 0x000 */ u8 unk_001;
|
||||
/* 0x002 */ u8 unk_002;
|
||||
/* 0x003 */ u8 unk_003;
|
||||
/* 0x004 */ struct UnkSubstruct_203F458_000C_004 unk_004[3];
|
||||
@@ -128,14 +130,17 @@ void sub_815E948(void);
|
||||
void sub_815E9C8(void);
|
||||
void sub_815E9FC(void);
|
||||
void sub_815EC0C(void);
|
||||
u32 sub_815EDDC(u32 *);
|
||||
void sub_815EDF4(u32 *, u32);
|
||||
|
||||
extern const struct UnkStruct_8479D34 gUnknown_8479D34[15];
|
||||
extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
|
||||
extern const struct UnkStruct_847A024 gUnknown_847A024[10];
|
||||
extern void (*const gUnknown_847A230[])(void);
|
||||
extern const struct Unk_203F458_Header gUnknown_84827AC;
|
||||
extern const struct UnkSubstruct_203F458_000C *const gUnknown_84827B4[][8];
|
||||
extern const u16 gUnknown_847A284[8][3];
|
||||
extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
|
||||
extern const struct UnkStruct_847A024 gUnknown_847A024[10];
|
||||
extern const u16 gUnknown_847A2B4[];
|
||||
|
||||
bool32 sub_815D7BC(void * dest, void * buffer)
|
||||
{
|
||||
@@ -771,3 +776,85 @@ void sub_815E1F0(void)
|
||||
{
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8++;
|
||||
}
|
||||
|
||||
void sub_815E218(void)
|
||||
{
|
||||
u16 mapDataId = gMapHeader.mapDataId;
|
||||
if (mapDataId - 0x12A == gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 && mapDataId - 0x129 <= gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_001)
|
||||
gSpecialVar_Result = FALSE;
|
||||
else
|
||||
gSpecialVar_Result = TRUE;
|
||||
}
|
||||
|
||||
void sub_815E28C(void)
|
||||
{
|
||||
gSaveBlock1Ptr->unkArrayIdx = gSpecialVar_0x8005;
|
||||
if (gSaveBlock1Ptr->unkArrayIdx >= NELEMS(gSaveBlock1Ptr->unkArray))
|
||||
gSaveBlock1Ptr->unkArrayIdx = 0;
|
||||
sub_815EC0C();
|
||||
if (!sub_815D834())
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = TRUE;
|
||||
else
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_5 = FALSE;
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk8 = 0;
|
||||
SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 0;
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = FALSE;
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = FALSE;
|
||||
}
|
||||
|
||||
void sub_815E394(void)
|
||||
{
|
||||
DisableVBlankCounter1();
|
||||
gSpecialVar_Result = 0;
|
||||
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
|
||||
gSpecialVar_Result++;
|
||||
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 && gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1)
|
||||
gSpecialVar_Result++;
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2 = TRUE;
|
||||
}
|
||||
|
||||
void sub_815E408(void)
|
||||
{
|
||||
u16 itemId = gUnknown_847A2B4[gUnknown_203F458->unk_0004.unk_0008->unk_003];
|
||||
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0)
|
||||
gSpecialVar_Result = 2;
|
||||
else if (sub_809A084(itemId, 1) == 1)
|
||||
{
|
||||
sub_8099E90(itemId, gStringVar2);
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_0 = TRUE;
|
||||
gSpecialVar_Result = 0;
|
||||
}
|
||||
else
|
||||
gSpecialVar_Result = 1;
|
||||
}
|
||||
|
||||
void sub_815E4B0(void)
|
||||
{
|
||||
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1)
|
||||
gSpecialVar_Result = 2;
|
||||
else if (sub_815EDDC(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4) > gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0)
|
||||
{
|
||||
sub_815EDF4(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk4, gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
|
||||
gSpecialVar_Result = 0;
|
||||
}
|
||||
else
|
||||
gSpecialVar_Result = 1;
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_1 = TRUE;
|
||||
}
|
||||
|
||||
void sub_815E56C(void)
|
||||
{
|
||||
if (!gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_2)
|
||||
{
|
||||
if (gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 >= 215999)
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0 = 215999;
|
||||
else
|
||||
SetVBlankCounter1Ptr(&gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unk0);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_815E5C4(void)
|
||||
{
|
||||
gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx].unkA_3 = 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user