mirror of
https://github.com/pret/pmd-red.git
synced 2026-07-19 17:32:00 -05:00
Merge pull request #389 from DizzyEggg/code_8023868
Some checks are pending
GithubCI / build (push) Waiting to run
Some checks are pending
GithubCI / build (push) Waiting to run
Code 8023868 (friend_list)
This commit is contained in:
commit
d9bc5ea342
1190
asm/code_8023868.s
1190
asm/code_8023868.s
File diff suppressed because it is too large
Load Diff
|
|
@ -1,30 +0,0 @@
|
|||
#ifndef GUARD_CODE_8023868_H
|
||||
#define GUARD_CODE_8023868_H
|
||||
|
||||
struct unkStruct_3001B60
|
||||
{
|
||||
u32 unk0;
|
||||
u32 sortMethod;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u8 fill14[0x18 - 0x14];
|
||||
s16 unk18;
|
||||
s16 unk1A[2];
|
||||
u8 fill1C[0x370 - 0x1E];
|
||||
s16 unk370;
|
||||
s16 unk372;
|
||||
s16 unk374;
|
||||
s16 unk376;
|
||||
};
|
||||
|
||||
// code_8023868.s
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern u32 sub_8023A94(bool8);
|
||||
extern s16 sub_8023B44(void);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8023DA4(void);
|
||||
extern bool8 sub_8024108(u32);
|
||||
|
||||
#endif // GUARD_CODE_8023868_H
|
||||
31
include/friend_list.h
Normal file
31
include/friend_list.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#ifndef GUARD_FRIEND_LIST_H
|
||||
#define GUARD_FRIEND_LIST_H
|
||||
|
||||
#include "structs/struct_sub80095e4.h"
|
||||
|
||||
struct unkStruct_3001B60
|
||||
{
|
||||
u32 unk0;
|
||||
u32 sortMethod;
|
||||
s32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u8 unk14;
|
||||
u8 unk15;
|
||||
u8 unk16;
|
||||
u8 unk17;
|
||||
u8 unk18;
|
||||
s16 unk1A[NUM_MONSTERS];
|
||||
u8 unk354;
|
||||
struct_Sub80095E4_2 unk358;
|
||||
};
|
||||
|
||||
bool8 FriendList_Init(u32 r5, u32 windowId, DungeonPos *pos, u32 r10);
|
||||
u32 FriendList_HandleInput(bool8);
|
||||
s32 FriendList_GetCurrId(void);
|
||||
void sub_8023B7C(bool8 addCursor);
|
||||
void FriendList_Free(void);
|
||||
void FriendList_ShowWindow(void);
|
||||
bool8 sub_8024108(s32);
|
||||
|
||||
#endif // GUARD_FRIEND_LIST_H
|
||||
|
|
@ -146,6 +146,11 @@ static inline bool8 IsMonPartner(PokemonStruct1 *mon)
|
|||
return (mon->dungeonLocation.id == DUNGEON_JOIN_LOCATION_PARTNER);
|
||||
}
|
||||
|
||||
static inline bool8 IsMonLeader(PokemonStruct1 *mon)
|
||||
{
|
||||
return (mon->dungeonLocation.id == DUNGEON_JOIN_LOCATION_LEADER);
|
||||
}
|
||||
|
||||
// Needed to match a couple of functions which use species id.
|
||||
// The theory is that there was some internal species conversion which got scrapped later on.
|
||||
static inline s16 SpeciesId(s32 id)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
typedef struct struct_Sub80095E4
|
||||
{
|
||||
/* 0x0 */ MenuInputStruct input;
|
||||
/* 0x34 */ u32 unk34;
|
||||
/* 0x34 */ u32 winId;
|
||||
/* 0x38 */ WindowTemplate *unk38;
|
||||
/* 0x3C */ WindowTemplates windows;
|
||||
} struct_Sub80095E4;
|
||||
|
|
@ -22,7 +22,7 @@ typedef struct struct_Sub80095E4
|
|||
typedef struct struct_Sub80095E4_2
|
||||
{
|
||||
/* 0x0 */ struct_Sub80095E4 s0; // s as in 'struct' ; decided to go against unk as to not have `->unk0->unk3C`
|
||||
/* 0x9C */ WindowHeader unk9C;
|
||||
/* 0x9C */ WindowHeader header;
|
||||
} struct_Sub80095E4_2;
|
||||
|
||||
// Note: In order to get matching ASM, this macro had to be created.
|
||||
|
|
@ -33,13 +33,13 @@ typedef struct struct_Sub80095E4_2
|
|||
s16 newE; \
|
||||
s16 a0 = (_a0); \
|
||||
UNUSED s32 a0_ = a0; \
|
||||
UNUSED s16 oldE = (ptr).windows.id[(ptr).unk34].height; \
|
||||
UNUSED s16 oldE = (ptr).windows.id[(ptr).winId].height; \
|
||||
a0_ = 0; \
|
||||
new10 = a0 + 2; \
|
||||
newE = a0; \
|
||||
\
|
||||
(ptr).windows.id[(ptr).unk34].height = newE; \
|
||||
(ptr).windows.id[(ptr).unk34].unk10 = a0 + 2; \
|
||||
(ptr).windows.id[(ptr).winId].height = newE; \
|
||||
(ptr).windows.id[(ptr).winId].unk10 = a0 + 2; \
|
||||
\
|
||||
ResetUnusedInputStruct(); \
|
||||
ShowWindows(&(ptr).windows, TRUE, TRUE); \
|
||||
|
|
@ -54,14 +54,14 @@ typedef struct struct_Sub80095E4_2
|
|||
#define SUB_80095E4_CALL_2(ptr) \
|
||||
{ \
|
||||
s32 a0 = sub_80095E4((ptr).input.unk1A, 12) + 2; \
|
||||
UNUSED s16 oldE = (ptr).windows.id[(ptr).unk34].height; \
|
||||
UNUSED s16 oldE = (ptr).windows.id[(ptr).winId].height; \
|
||||
s16 newE = a0; \
|
||||
\
|
||||
(ptr).windows.id[(ptr).unk34].height = newE; \
|
||||
(ptr).windows.id[(ptr).unk34].unk10 = newE; \
|
||||
(ptr).windows.id[(ptr).winId].height = newE; \
|
||||
(ptr).windows.id[(ptr).winId].unk10 = newE; \
|
||||
\
|
||||
ResetUnusedInputStruct(); \
|
||||
ShowWindows(&(ptr).windows, TRUE, TRUE); \
|
||||
ShowWindows(&(ptr).windows, TRUE, TRUE); \
|
||||
}
|
||||
|
||||
// sub_802BF30 and sub_802C328 use a different function call, and 24 instead of 12
|
||||
|
|
|
|||
|
|
@ -136,8 +136,7 @@ SECTIONS {
|
|||
src/wigglytuff_shop3.o(.text);
|
||||
src/code_80227B8.o(.text);
|
||||
src/code_8023144.o(.text);
|
||||
asm/code_8023868.o(.text);
|
||||
src/code_8023868.o(.text);
|
||||
src/friend_list.o(.text);
|
||||
src/code_8024458.o(.text);
|
||||
src/luminous_cave.o(.text);
|
||||
src/friend_list_menu.o(.text);
|
||||
|
|
@ -492,7 +491,7 @@ SECTIONS {
|
|||
src/wigglytuff_shop3.o(.rodata);
|
||||
src/code_80227B8.o(.rodata);
|
||||
src/code_8023144.o(.rodata);
|
||||
src/code_8023868.o(.rodata);
|
||||
src/friend_list.o(.rodata);
|
||||
src/code_8024458.o(.rodata);
|
||||
src/luminous_cave.o(.rodata);
|
||||
src/friend_list_menu.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -22,11 +22,11 @@ static void sub_8032084();
|
|||
bool8 CreateAdventureLogScreen(u32 kind)
|
||||
{
|
||||
sAdventureLog = MemoryAlloc(sizeof(*sAdventureLog), 8);
|
||||
sAdventureLog->s0.unk34 = kind;
|
||||
sAdventureLog->s0.winId = kind;
|
||||
sAdventureLog->s0.unk38 = &sAdventureLog->s0.windows.id[kind];
|
||||
RestoreSavedWindows(&sAdventureLog->s0.windows);
|
||||
sAdventureLog->s0.windows.id[sAdventureLog->s0.unk34] = sUnknown_80E2008;
|
||||
sAdventureLog->s0.unk38->header = &sAdventureLog->unk9C;
|
||||
sAdventureLog->s0.windows.id[sAdventureLog->s0.winId] = sUnknown_80E2008;
|
||||
sAdventureLog->s0.unk38->header = &sAdventureLog->header;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sAdventureLog->s0.windows, TRUE, TRUE);
|
||||
|
|
@ -63,7 +63,7 @@ u32 HandleAdventureLogInput(bool8 a0)
|
|||
void CleanAdventureLogScreen(void)
|
||||
{
|
||||
if (sAdventureLog != NULL) {
|
||||
sAdventureLog->s0.windows.id[sAdventureLog->s0.unk34] = sUnknown_80E1FF0;
|
||||
sAdventureLog->s0.windows.id[sAdventureLog->s0.winId] = sUnknown_80E1FF0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sAdventureLog->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sAdventureLog);
|
||||
|
|
@ -73,10 +73,10 @@ void CleanAdventureLogScreen(void)
|
|||
|
||||
static void sub_8032084(void)
|
||||
{
|
||||
sAdventureLog->unk9C.count = sAdventureLog->s0.input.unk20;
|
||||
sAdventureLog->unk9C.currId = sAdventureLog->s0.input.unk1E;
|
||||
sAdventureLog->unk9C.width = 11;
|
||||
sAdventureLog->unk9C.f3 = 0;
|
||||
sAdventureLog->header.count = sAdventureLog->s0.input.unk20;
|
||||
sAdventureLog->header.currId = sAdventureLog->s0.input.unk1E;
|
||||
sAdventureLog->header.width = 11;
|
||||
sAdventureLog->header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(sAdventureLog->s0);
|
||||
}
|
||||
|
|
@ -88,16 +88,16 @@ static void DisplayAdventureLog(void)
|
|||
s32 r6; // r6
|
||||
u8 aa;
|
||||
|
||||
CallPrepareTextbox_8008C54(sAdventureLog->s0.unk34);
|
||||
sub_80073B8(sAdventureLog->s0.unk34);
|
||||
CallPrepareTextbox_8008C54(sAdventureLog->s0.winId);
|
||||
sub_80073B8(sAdventureLog->s0.winId);
|
||||
r4 = sAdventureLog->s0.input.unk1E * 8;
|
||||
r6 = r4;
|
||||
r6 += 10;
|
||||
PrintStringOnWindow(r6, 0, sAdventureLogText, sAdventureLog->s0.unk34, 0);
|
||||
PrintStringOnWindow(r6, 0, sAdventureLogText, sAdventureLog->s0.winId, 0);
|
||||
|
||||
r4 += 4;
|
||||
r6 = r4 + (sAdventureLog->unk9C.width * 8);
|
||||
sub_8012BC4(r6, 0, sAdventureLog->s0.input.unk1E + 1, 1, 7, sAdventureLog->s0.unk34);
|
||||
r6 = r4 + (sAdventureLog->header.width * 8);
|
||||
sub_8012BC4(r6, 0, sAdventureLog->s0.input.unk1E + 1, 1, 7, sAdventureLog->s0.winId);
|
||||
|
||||
for (i = 0; i < sAdventureLog->s0.input.unk1A; i++) {
|
||||
aa = (sAdventureLog->s0.input.unk1E * sAdventureLog->s0.input.unk1C) + i;
|
||||
|
|
@ -107,31 +107,31 @@ static void DisplayAdventureLog(void)
|
|||
case AA_NUM_FLOORS_EXPLORED: {
|
||||
s32 v1 = GetAdventureFloorsExplored();
|
||||
gFormatArgs[0] = (s16)v1;
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case AA_NUM_MOVES_LEARNED: {
|
||||
s32 v2 = GetAdventureMovesLearned();
|
||||
gFormatArgs[0] = (s16)v2;
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case AA_NUM_THIEVING_SUCCESSES: {
|
||||
s32 v3 = GetThievingSuccesses();
|
||||
gFormatArgs[0] = (s16)v3;
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case AA_NUM_FRIEND_RESCUE_SUCCESSES: {
|
||||
s32 v4 = GetFriendRescueSuccesses();
|
||||
gFormatArgs[0] = v4;
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case AA_NUM_POKEMON_EVOLVED: {
|
||||
s32 v5 = GetAdventureNumEvolved();
|
||||
gFormatArgs[0] = v5;
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case AA_NUM_POKEMON_JOINED: {
|
||||
|
|
@ -140,14 +140,14 @@ static void DisplayAdventureLog(void)
|
|||
// fallthrough
|
||||
}
|
||||
default: {
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), GetAdventureLogLine(aa), sAdventureLog->s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), sPlaceholder, sAdventureLog->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sAdventureLog->s0.input, i), sPlaceholder, sAdventureLog->s0.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sAdventureLog->s0.unk34);
|
||||
sub_80073E0(sAdventureLog->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@ bool8 sub_801C8C4(s32 a0, s32 a1, DungeonPos *a2, u32 a3)
|
|||
|
||||
sUnknown_203B244->unk0 = a0;
|
||||
sub_801CF94();
|
||||
sUnknown_203B244->unk4B4.s0.unk34 = a1;
|
||||
sUnknown_203B244->unk4B4.s0.winId = a1;
|
||||
sUnknown_203B244->unk4B4.s0.unk38 = &sUnknown_203B244->unk4B4.s0.windows.id[a1];
|
||||
RestoreSavedWindows(&sUnknown_203B244->unk4B4.s0.windows);
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE54;
|
||||
sUnknown_203B244->unk4B4.s0.unk38->header = &sUnknown_203B244->unk4B4.unk9C;
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.winId] = sUnknown_80DBE54;
|
||||
sUnknown_203B244->unk4B4.s0.unk38->header = &sUnknown_203B244->unk4B4.header;
|
||||
|
||||
if (a2 != NULL)
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34].pos = *a2;
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.winId].pos = *a2;
|
||||
|
||||
sub_8012D08(sUnknown_203B244->unk4B4.s0.unk38, a3);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -128,7 +128,7 @@ void sub_801CBB8(void)
|
|||
sUnknown_203B248 = sUnknown_203B244->unk0;
|
||||
sUnknown_203B24C = sUnknown_203B244->unk4B4.s0.input.menuIndex;
|
||||
sUnknown_203B24E = sUnknown_203B244->unk4B4.s0.input.unk1E;
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE3C;
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.winId] = sUnknown_80DBE3C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B244->unk4B4.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B244);
|
||||
|
|
@ -138,10 +138,10 @@ void sub_801CBB8(void)
|
|||
|
||||
static void sub_801CC38(void)
|
||||
{
|
||||
sUnknown_203B244->unk4B4.unk9C.count = 1;
|
||||
sUnknown_203B244->unk4B4.unk9C.currId = 0;
|
||||
sUnknown_203B244->unk4B4.unk9C.width = 12;
|
||||
sUnknown_203B244->unk4B4.unk9C.f3 = 0;
|
||||
sUnknown_203B244->unk4B4.header.count = 1;
|
||||
sUnknown_203B244->unk4B4.header.currId = 0;
|
||||
sUnknown_203B244->unk4B4.header.width = 12;
|
||||
sUnknown_203B244->unk4B4.header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(sUnknown_203B244->unk4B4.s0);
|
||||
}
|
||||
|
|
@ -154,24 +154,24 @@ void sub_801CCD8(void)
|
|||
s32 index;
|
||||
u8 buffer[80];
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B244->unk4B4.s0.unk34);
|
||||
sub_80073B8(sUnknown_203B244->unk4B4.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sStorage, sUnknown_203B244->unk4B4.s0.unk34, 0);
|
||||
sub_8012BC4(sUnknown_203B244->unk4B4.unk9C.width * 8 + 4, 0, sUnknown_203B244->unk4B4.s0.input.unk1E + 1, 2, 7, sUnknown_203B244->unk4B4.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B244->unk4B4.s0.winId);
|
||||
sub_80073B8(sUnknown_203B244->unk4B4.s0.winId);
|
||||
PrintStringOnWindow(10, 0, sStorage, sUnknown_203B244->unk4B4.s0.winId, 0);
|
||||
sub_8012BC4(sUnknown_203B244->unk4B4.header.width * 8 + 4, 0, sUnknown_203B244->unk4B4.s0.input.unk1E + 1, 2, 7, sUnknown_203B244->unk4B4.s0.winId);
|
||||
|
||||
for(index = 0; index < sUnknown_203B244->unk4B4.s0.input.unk1A; index++) {
|
||||
itemID = sUnknown_203B244->itemIDs[(sUnknown_203B244->unk4B4.s0.input.unk1E * sUnknown_203B244->unk4B4.s0.input.unk1C) + index];
|
||||
BufferItemName(buffer, itemID, NULL);
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index);
|
||||
PrintStringOnWindow(8, y, buffer, sUnknown_203B244->unk4B4.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, buffer, sUnknown_203B244->unk4B4.s0.winId, 0);
|
||||
y2 = GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index);
|
||||
sub_8012BC4((sUnknown_203B244->unk4B4.s0.unk38->width * 8) - 2, y2, gTeamInventoryRef->teamStorage[itemID], 3, 5, sUnknown_203B244->unk4B4.s0.unk34);
|
||||
sub_8012BC4((sUnknown_203B244->unk4B4.s0.unk38->width * 8) - 2, y2, gTeamInventoryRef->teamStorage[itemID], 3, 5, sUnknown_203B244->unk4B4.s0.winId);
|
||||
|
||||
if (sub_801CFE0(itemID) & 1)
|
||||
sub_8007B7C(sUnknown_203B244->unk4B4.s0.unk34, 8, GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index), (sUnknown_203B244->unk4B4.s0.unk38->width - 1) * 8, 10);
|
||||
sub_8007B7C(sUnknown_203B244->unk4B4.s0.winId, 8, GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index), (sUnknown_203B244->unk4B4.s0.unk38->width - 1) * 8, 10);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B244->unk4B4.s0.unk34);
|
||||
sub_80073E0(sUnknown_203B244->unk4B4.s0.winId);
|
||||
}
|
||||
|
||||
static u32 sub_801CE58(void)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "code_800D090.h"
|
||||
#include "code_801D014.h"
|
||||
#include "code_80227B8.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "code_80958E8.h"
|
||||
#include "common_strings.h"
|
||||
|
|
|
|||
|
|
@ -23,14 +23,14 @@ static void sub_801DBD4(void);
|
|||
bool8 sub_801D9E4(void)
|
||||
{
|
||||
sUnknown_203B258 = MemoryAlloc(sizeof(*sUnknown_203B258), 8);
|
||||
sUnknown_203B258->s0.unk34 = 3;
|
||||
sUnknown_203B258->s0.winId = 3;
|
||||
sUnknown_203B258->s0.unk38 = &sUnknown_203B258->s0.windows.id[3];
|
||||
RestoreSavedWindows(&sUnknown_203B258->s0.windows);
|
||||
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.unk34] = sUnknown_80DBF88;
|
||||
sUnknown_203B258->s0.unk38->header = &sUnknown_203B258->unk9C;
|
||||
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.winId] = sUnknown_80DBF88;
|
||||
sUnknown_203B258->s0.unk38->header = &sUnknown_203B258->header;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&sUnknown_203B258->s0.input, 229, 10, sUnknown_203B258->s0.unk34);
|
||||
sub_8013818(&sUnknown_203B258->s0.input, 229, 10, sUnknown_203B258->s0.winId);
|
||||
sub_801DB54();
|
||||
sub_801DBD4();
|
||||
return TRUE;
|
||||
|
|
@ -81,7 +81,7 @@ UNUSED static void sub_801DADC(bool8 a0)
|
|||
void sub_801DB0C(void)
|
||||
{
|
||||
if (sUnknown_203B258 != NULL) {
|
||||
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.unk34] = sUnknown_80DBF70;
|
||||
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.winId] = sUnknown_80DBF70;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B258);
|
||||
|
|
@ -91,10 +91,10 @@ void sub_801DB0C(void)
|
|||
|
||||
static void sub_801DB54(void)
|
||||
{
|
||||
sUnknown_203B258->unk9C.count = 1;
|
||||
sUnknown_203B258->unk9C.currId = 0;
|
||||
sUnknown_203B258->unk9C.width = 8;
|
||||
sUnknown_203B258->unk9C.f3 = 0;
|
||||
sUnknown_203B258->header.count = 1;
|
||||
sUnknown_203B258->header.currId = 0;
|
||||
sUnknown_203B258->header.width = 8;
|
||||
sUnknown_203B258->header.f3 = 0;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
|
||||
|
|
@ -110,13 +110,13 @@ static void sub_801DBD4(void)
|
|||
s16 index;
|
||||
int counter;
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B258->s0.unk34);
|
||||
sub_80073B8(sUnknown_203B258->s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sField, sUnknown_203B258->s0.unk34, 0); // Field
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B258->s0.winId);
|
||||
sub_80073B8(sUnknown_203B258->s0.winId);
|
||||
PrintStringOnWindow(10, 0, sField, sUnknown_203B258->s0.winId, 0); // Field
|
||||
|
||||
x = (sUnknown_203B258->unk9C.width * 8) - 2;
|
||||
x = (sUnknown_203B258->header.width * 8) - 2;
|
||||
n = sUnknown_203B258->s0.input.unk1E + 1;
|
||||
sub_8012BC4(x, 0, n, 2, 7, sUnknown_203B258->s0.unk34);
|
||||
sub_8012BC4(x, 0, n, 2, 7, sUnknown_203B258->s0.winId);
|
||||
|
||||
// This line has no real effect. It's a magic 'fakematch' to fool agb into generating the same asm. It can be removed if you don't care about matching.
|
||||
if (x) { counter = 0; }
|
||||
|
|
@ -127,11 +127,11 @@ static void sub_801DBD4(void)
|
|||
temp2 = &gUnknown_81188F0[temp->unk4];
|
||||
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B258->s0.input, counter);
|
||||
PrintStringOnWindow(8, y, temp2->text1, sUnknown_203B258->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, temp2->text1, sUnknown_203B258->s0.winId, 0);
|
||||
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B258->s0.input, counter);
|
||||
PrintStringOnWindow(62, y, temp->text, sUnknown_203B258->s0.unk34, 0);
|
||||
PrintStringOnWindow(62, y, temp->text, sUnknown_203B258->s0.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B258->s0.unk34);
|
||||
sub_80073E0(sUnknown_203B258->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,15 +53,15 @@ bool8 sub_801F428(s16 index, s32 param_2)
|
|||
gUnknown_203B274 = MemoryAlloc(sizeof(struct unkStruct_203B274), 0x8);
|
||||
gUnknown_203B274->pokeStruct = &gRecruitedPokemonRef->pokemon[index_s32];
|
||||
gUnknown_203B274->unk4 = &gUnknown_203B274->unk8;
|
||||
gUnknown_203B274->s348.s0.unk34 = param_2;
|
||||
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34];
|
||||
gUnknown_203B274->s348.s0.winId = param_2;
|
||||
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.winId];
|
||||
RestoreSavedWindows(&gUnknown_203B274->s348.s0.windows);
|
||||
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2C4;
|
||||
gUnknown_203B274->s348.s0.unk38->header = &gUnknown_203B274->s348.unk9C;
|
||||
gUnknown_203B274->s348.unk9C.count = 1;
|
||||
gUnknown_203B274->s348.unk9C.currId = 0;
|
||||
gUnknown_203B274->s348.unk9C.width = 0xC;
|
||||
gUnknown_203B274->s348.unk9C.f3 = 0;
|
||||
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.winId] = sUnknown_80DC2C4;
|
||||
gUnknown_203B274->s348.s0.unk38->header = &gUnknown_203B274->s348.header;
|
||||
gUnknown_203B274->s348.header.count = 1;
|
||||
gUnknown_203B274->s348.header.currId = 0;
|
||||
gUnknown_203B274->s348.header.width = 0xC;
|
||||
gUnknown_203B274->s348.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B274->s348.s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&gUnknown_203B274->s348.s0.input, sub_801F7E4(), 4, param_2);
|
||||
|
|
@ -122,7 +122,7 @@ void sub_801F63C(void)
|
|||
{
|
||||
if(gUnknown_203B274 != NULL)
|
||||
{
|
||||
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2AC;
|
||||
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.winId] = sUnknown_80DC2AC;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B274->s348.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B274);
|
||||
|
|
@ -142,17 +142,17 @@ void sub_801F700(void)
|
|||
u8 buffer2 [48];
|
||||
u8 buffer1 [128];
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B274->s348.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B274->s348.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B274->s348.s0.winId);
|
||||
sub_80073B8(gUnknown_203B274->s348.s0.winId);
|
||||
sprintfStatic(buffer1,gUnknown_80DC2DC,gUnknown_203B274->s348.s0.input.unk1E + 1,gUnknown_203B274->s348.s0.input.unk20); // Moves Page: %d/%d
|
||||
PrintStringOnWindow(0x10,0,buffer1,gUnknown_203B274->s348.s0.unk34,0);
|
||||
PrintStringOnWindow(0x10,0,buffer1,gUnknown_203B274->s348.s0.winId,0);
|
||||
for(index = 0; index < gUnknown_203B274->s348.s0.input.unk1A; index++)
|
||||
{
|
||||
sub_8092C84(buffer2,gUnknown_203B274->unk4->unk0[gUnknown_203B274->s348.s0.input.unk1E * gUnknown_203B274->s348.s0.input.unk1C + index]);
|
||||
y = GetMenuEntryYCoord(&gUnknown_203B274->s348.s0.input, index);
|
||||
PrintStringOnWindow(8,y,buffer2,gUnknown_203B274->s348.s0.unk34,0);
|
||||
PrintStringOnWindow(8,y,buffer2,gUnknown_203B274->s348.s0.winId,0);
|
||||
}
|
||||
sub_80073E0(gUnknown_203B274->s348.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B274->s348.s0.winId);
|
||||
}
|
||||
|
||||
u32 sub_801F7E4(void)
|
||||
|
|
|
|||
|
|
@ -47,15 +47,15 @@ bool8 sub_8023144(s32 a0, s32 index, DungeonPos *sub, u32 a3)
|
|||
gUnknown_3001B5C->unk0 = param_1_u8;
|
||||
gUnknown_3001B5C->unk4 = gUnknown_203B298;
|
||||
|
||||
gUnknown_3001B5C->s35C.s0.unk34 = index;
|
||||
gUnknown_3001B5C->s35C.s0.winId = index;
|
||||
gUnknown_3001B5C->s35C.s0.unk38 = &gUnknown_3001B5C->s35C.s0.windows.id[index];
|
||||
RestoreSavedWindows(&gUnknown_3001B5C->s35C.s0.windows);
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC91C;
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.winId] = sUnknown_80DC91C;
|
||||
|
||||
gUnknown_3001B5C->s35C.s0.unk38->header = &gUnknown_3001B5C->s35C.unk9C;
|
||||
gUnknown_3001B5C->s35C.s0.unk38->header = &gUnknown_3001B5C->s35C.header;
|
||||
|
||||
if (sub != NULL)
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34].pos = *sub;
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.winId].pos = *sub;
|
||||
|
||||
sub_8012D08(gUnknown_3001B5C->s35C.s0.unk38, a3);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -128,7 +128,7 @@ void sub_80233A0(void)
|
|||
gUnknown_203B298 = gUnknown_3001B5C->unk4;
|
||||
gUnknown_203B29C = gUnknown_3001B5C->s35C.s0.input.menuIndex;
|
||||
gUnknown_203B29E = gUnknown_3001B5C->s35C.s0.input.unk1E;
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC904;
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.winId] = sUnknown_80DC904;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_3001B5C->s35C.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_3001B5C);
|
||||
|
|
@ -138,10 +138,10 @@ void sub_80233A0(void)
|
|||
|
||||
static void sub_8023420(void)
|
||||
{
|
||||
gUnknown_3001B5C->s35C.unk9C.count = 1;
|
||||
gUnknown_3001B5C->s35C.unk9C.currId = 0;
|
||||
gUnknown_3001B5C->s35C.unk9C.width = 12;
|
||||
gUnknown_3001B5C->s35C.unk9C.f3 = 0;
|
||||
gUnknown_3001B5C->s35C.header.count = 1;
|
||||
gUnknown_3001B5C->s35C.header.currId = 0;
|
||||
gUnknown_3001B5C->s35C.header.width = 12;
|
||||
gUnknown_3001B5C->s35C.header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL_2(gUnknown_3001B5C->s35C.s0);
|
||||
}
|
||||
|
|
@ -159,11 +159,11 @@ static void sub_80234BC(void)
|
|||
u8 buffer1[100];
|
||||
FriendAreaCapacity auStack_2c;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_80073B8(gUnknown_3001B5C->s35C.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sPokemon, gUnknown_3001B5C->s35C.s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(gUnknown_3001B5C->s35C.s0.winId);
|
||||
sub_80073B8(gUnknown_3001B5C->s35C.s0.winId);
|
||||
PrintStringOnWindow(10, 0, sPokemon, gUnknown_3001B5C->s35C.s0.winId, 0);
|
||||
|
||||
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C.width * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_8012BC4((gUnknown_3001B5C->s35C.header.width * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.winId);
|
||||
|
||||
for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.unk1A; i++) {
|
||||
y = GetMenuEntryYCoord(&gUnknown_3001B5C->s35C.s0.input, i);
|
||||
|
|
@ -175,26 +175,26 @@ static void sub_80234BC(void)
|
|||
|
||||
iVar4 = GetDexInternalNo(species, 0);
|
||||
cVar2 = (iVar4 % 10) + 48;
|
||||
sub_8012C60(20, y, cVar2, color, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_8012C60(20, y, cVar2, color, gUnknown_3001B5C->s35C.s0.winId);
|
||||
|
||||
if (9 < iVar4) {
|
||||
iVar4 /= 10;
|
||||
cVar2 = (iVar4 % 10) + 48;
|
||||
sub_8012C60(13, y, cVar2, color, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_8012C60(13, y, cVar2, color, gUnknown_3001B5C->s35C.s0.winId);
|
||||
|
||||
if (9 < iVar4) {
|
||||
uVar3 = iVar4 / 10;
|
||||
cVar2 = (uVar3 % 10) + 48;
|
||||
sub_8012C60(6, y, cVar2, color, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_8012C60(6, y, cVar2, color, gUnknown_3001B5C->s35C.s0.winId);
|
||||
}
|
||||
}
|
||||
|
||||
sub_808D930(buffer1,species);
|
||||
sprintfStatic(buffer2, sFmtColoredString, color, buffer1);
|
||||
PrintStringOnWindow(36, y, buffer2, gUnknown_3001B5C->s35C.s0.unk34, 0);
|
||||
PrintStringOnWindow(36, y, buffer2, gUnknown_3001B5C->s35C.s0.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_80073E0(gUnknown_3001B5C->s35C.s0.winId);
|
||||
}
|
||||
|
||||
static u32 sub_80236A4(void)
|
||||
|
|
|
|||
|
|
@ -1,174 +0,0 @@
|
|||
#include "global.h"
|
||||
#include "globaldata.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_8023868.h"
|
||||
#include "pokemon.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "text_util.h"
|
||||
|
||||
//static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
IWRAM_INIT struct unkStruct_3001B60 *gUnknown_3001B60 = {NULL};
|
||||
|
||||
#include "data/code_8023868.h"
|
||||
|
||||
static void SortbyAlphabetNo(s32, s32);
|
||||
static void SortbyInternalNo(s32, s32);
|
||||
static void SortbyName(s32, s32);
|
||||
|
||||
//static bool8 sub_8024184(PokemonStruct1 *pokemon, u8 area);
|
||||
//static void sub_80241A8(void);
|
||||
|
||||
// THE REMAINING CODE FROM THIS FILE IS IN code_8023868.s STARTING WITH sub_8023868
|
||||
|
||||
//static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
bool8 sub_8024184(PokemonStruct1 *pokemon, u8 area)
|
||||
{
|
||||
if (area == GetFriendArea(pokemon->speciesNum))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
void sub_80241A8(void)
|
||||
{
|
||||
switch (gUnknown_3001B60->sortMethod) {
|
||||
case 2:
|
||||
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10)
|
||||
SortbyAlphabetNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
|
||||
|
||||
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8)
|
||||
SortbyAlphabetNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
|
||||
break;
|
||||
case 3:
|
||||
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10)
|
||||
SortbyName(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
|
||||
|
||||
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8)
|
||||
SortbyName(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
|
||||
break;
|
||||
case 1:
|
||||
if (gUnknown_3001B60->unkC != gUnknown_3001B60->unk10)
|
||||
SortbyInternalNo(gUnknown_3001B60->unkC, gUnknown_3001B60->unk10);
|
||||
|
||||
if (gUnknown_3001B60->unk10 != gUnknown_3001B60->unk8)
|
||||
SortbyInternalNo(gUnknown_3001B60->unk10, gUnknown_3001B60->unk8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Remove hacky if/do
|
||||
static void SortbyInternalNo(s32 param_1, s32 param_2)
|
||||
{
|
||||
s16 *r4;
|
||||
s32 iVar4;
|
||||
s16 *r10;
|
||||
s16 *r5;
|
||||
s32 r6;
|
||||
s32 r1;
|
||||
s32 r7;
|
||||
s32 r9;
|
||||
|
||||
r10 = &gUnknown_3001B60->unk18 + param_2;
|
||||
r7 = param_1;
|
||||
r1 = param_2 - 1;
|
||||
if (r7 < r1) {
|
||||
r9 = r1;
|
||||
do {
|
||||
r4 = r10;
|
||||
r6 = r1;
|
||||
iVar4 = r7 + 1;
|
||||
for (; r6 > r7; r6--) {
|
||||
if (GetInternalNo(gRecruitedPokemonRef->pokemon[r5 = r4 - 1, *r5].speciesNum) > GetInternalNo(gRecruitedPokemonRef->pokemon[*r4].speciesNum)) {
|
||||
r1 = *r4;
|
||||
*r4 = *r5;
|
||||
*r5 = r1;
|
||||
}
|
||||
r4 = r5;
|
||||
}
|
||||
r7 = iVar4;
|
||||
r1 = r9;
|
||||
} while (iVar4 < r1);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Remove hacky if/do
|
||||
static void SortbyAlphabetNo(s32 param_1, s32 param_2)
|
||||
{
|
||||
s16 *r4;
|
||||
s32 iVar4;
|
||||
s16 *r10;
|
||||
s16 *r5;
|
||||
s32 r6;
|
||||
s32 r1;
|
||||
s32 r7;
|
||||
s32 r9;
|
||||
|
||||
r10 = &gUnknown_3001B60->unk18 + param_2;
|
||||
r7 = param_1;
|
||||
r1 = param_2 - 1;
|
||||
if (r7 < r1) {
|
||||
r9 = r1;
|
||||
do {
|
||||
r4 = r10;
|
||||
r6 = r1;
|
||||
iVar4 = r7 + 1;
|
||||
for (; r6 > r7; r6--) {
|
||||
if (GetAlphabetParentNo(gRecruitedPokemonRef->pokemon[r5 = r4 - 1, *r5].speciesNum, 0) > GetAlphabetParentNo(gRecruitedPokemonRef->pokemon[*r4].speciesNum, 0)) {
|
||||
r1 = *r4;
|
||||
*r4 = *r5;
|
||||
*r5 = r1;
|
||||
}
|
||||
r4 = r5;
|
||||
}
|
||||
r7 = iVar4;
|
||||
r1 = r9;
|
||||
} while (iVar4 < r1);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Remove hacky if/do
|
||||
static void SortbyName(s32 param_1, s32 param_2)
|
||||
{
|
||||
s16 *r4;
|
||||
s32 iVar4;
|
||||
s16 *r10;
|
||||
s16 *r5;
|
||||
s32 r6;
|
||||
s32 r1;
|
||||
s32 r7;
|
||||
s32 r9;
|
||||
|
||||
r10 = &gUnknown_3001B60->unk18 + param_2;
|
||||
r7 = param_1;
|
||||
r1 = param_2 - 1;
|
||||
if (r7 < r1) {
|
||||
r9 = r1;
|
||||
do {
|
||||
r4 = r10;
|
||||
r6 = r1;
|
||||
iVar4 = r7 + 1;
|
||||
for (; r6 > r7; r6--) {
|
||||
r5 = r4 - 1;
|
||||
if (ComparePokemonNames(*r5, *r4)) {
|
||||
r1 = *r4;
|
||||
*r4 = *r5;
|
||||
*r5 = r1;
|
||||
}
|
||||
r4 = r5;
|
||||
}
|
||||
r7 = iVar4;
|
||||
r1 = r9;
|
||||
} while (iVar4 < r1);
|
||||
}
|
||||
}
|
||||
|
||||
UNUSED static PokemonStruct1 *sub_80243E8(void)
|
||||
{
|
||||
u8 buffer[40];
|
||||
u8 nameBuffer[20];
|
||||
PokemonStruct1 *pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_3001B60->unk1A[(gUnknown_3001B60->unk376 * gUnknown_3001B60->unk374) + gUnknown_3001B60->unk370]];
|
||||
|
||||
sub_80922B4(nameBuffer, pokeStruct->name, POKEMON_NAME_LENGTH);
|
||||
sprintfStatic(buffer, sUnknown_80DC9A4, nameBuffer);
|
||||
return pokeStruct;
|
||||
}
|
||||
|
|
@ -75,19 +75,19 @@ u32 sub_802F73C(u32 r0, DungeonPos *r1, u32 r2, u8 r3)
|
|||
gUnknown_203B314 = MemoryAlloc(sizeof(struct unkStruct_203B314), 8);
|
||||
|
||||
gUnknown_203B314->unkB8 = r3;
|
||||
gUnknown_203B314->sBC.s0.unk34 = r0;
|
||||
gUnknown_203B314->sBC.s0.unk38 = &gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34];
|
||||
gUnknown_203B314->sBC.s0.winId = r0;
|
||||
gUnknown_203B314->sBC.s0.unk38 = &gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.winId];
|
||||
RestoreSavedWindows(&gUnknown_203B314->sBC.s0.windows);
|
||||
|
||||
if (r3 != 0)
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E072C;
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.winId] = gUnknown_80E072C;
|
||||
else
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E0714;
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.winId] = gUnknown_80E0714;
|
||||
|
||||
gUnknown_203B314->sBC.s0.unk38->header = &gUnknown_203B314->sBC.unk9C;
|
||||
gUnknown_203B314->sBC.s0.unk38->header = &gUnknown_203B314->sBC.header;
|
||||
|
||||
if (r1 != 0)
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34].pos = *r1;
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.winId].pos = *r1;
|
||||
|
||||
sub_8012D08(gUnknown_203B314->sBC.s0.unk38, r2);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -169,7 +169,7 @@ void sub_802F974(void)
|
|||
{
|
||||
if(gUnknown_203B314 != NULL)
|
||||
{
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.unk34] = gUnknown_80E06FC;
|
||||
gUnknown_203B314->sBC.s0.windows.id[gUnknown_203B314->sBC.s0.winId] = gUnknown_80E06FC;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B314->sBC.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B314);
|
||||
|
|
@ -179,10 +179,10 @@ void sub_802F974(void)
|
|||
|
||||
void sub_802F9C0(void)
|
||||
{
|
||||
gUnknown_203B314->sBC.unk9C.count = 1;
|
||||
gUnknown_203B314->sBC.unk9C.currId = 0;
|
||||
gUnknown_203B314->sBC.unk9C.width = 8;
|
||||
gUnknown_203B314->sBC.unk9C.f3 = 0;
|
||||
gUnknown_203B314->sBC.header.count = 1;
|
||||
gUnknown_203B314->sBC.header.currId = 0;
|
||||
gUnknown_203B314->sBC.header.width = 8;
|
||||
gUnknown_203B314->sBC.header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(gUnknown_203B314->sBC.s0);
|
||||
}
|
||||
|
|
@ -196,10 +196,10 @@ void sub_802FA50(void)
|
|||
int index;
|
||||
int counter;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B314->sBC.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B314->sBC.s0.unk34);
|
||||
PrintStringOnWindow(10,0,gUnknown_80E0744,gUnknown_203B314->sBC.s0.unk34,0);
|
||||
sub_8012BC4(gUnknown_203B314->sBC.unk9C.width * 8 + 4,0,gUnknown_203B314->sBC.s0.input.unk1E + 1,2,7,gUnknown_203B314->sBC.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B314->sBC.s0.winId);
|
||||
sub_80073B8(gUnknown_203B314->sBC.s0.winId);
|
||||
PrintStringOnWindow(10,0,gUnknown_80E0744,gUnknown_203B314->sBC.s0.winId,0);
|
||||
sub_8012BC4(gUnknown_203B314->sBC.header.width * 8 + 4,0,gUnknown_203B314->sBC.s0.input.unk1E + 1,2,7,gUnknown_203B314->sBC.s0.winId);
|
||||
if (gUnknown_203B314->unkB8 != 0) {
|
||||
for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++)
|
||||
{
|
||||
|
|
@ -207,12 +207,12 @@ void sub_802FA50(void)
|
|||
index = gUnknown_203B314->sBC.s0.input.unk1E * gUnknown_203B314->sBC.s0.input.unk1C + counter;
|
||||
sVar1 = gUnknown_203B314->unk0[index];
|
||||
if (gUnknown_203B314->unk5C[index] != 0) {
|
||||
PrintStringOnWindow(10,y,gUnknown_80E0750,gUnknown_203B314->sBC.s0.unk34,0);
|
||||
PrintStringOnWindow(10,y,gUnknown_80E0750,gUnknown_203B314->sBC.s0.winId,0);
|
||||
}
|
||||
else if (gUnknown_203B314->unk8A[index] != 0) {
|
||||
PrintStringOnWindow(10,y,gUnknown_80E0754,gUnknown_203B314->sBC.s0.unk34,0);
|
||||
PrintStringOnWindow(10,y,gUnknown_80E0754,gUnknown_203B314->sBC.s0.winId,0);
|
||||
}
|
||||
PrintStringOnWindow(0x18,y,sub_80974A0(sVar1),gUnknown_203B314->sBC.s0.unk34,0);
|
||||
PrintStringOnWindow(0x18,y,sub_80974A0(sVar1),gUnknown_203B314->sBC.s0.winId,0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -220,10 +220,10 @@ void sub_802FA50(void)
|
|||
{
|
||||
y2 = GetMenuEntryYCoord(&gUnknown_203B314->sBC.s0.input,counter);
|
||||
text = sub_80974A0(gUnknown_203B314->unk0[gUnknown_203B314->sBC.s0.input.unk1E * gUnknown_203B314->sBC.s0.input.unk1C + counter]);
|
||||
PrintStringOnWindow(8,y2,text,gUnknown_203B314->sBC.s0.unk34,0);
|
||||
PrintStringOnWindow(8,y2,text,gUnknown_203B314->sBC.s0.winId,0);
|
||||
}
|
||||
}
|
||||
sub_80073E0(gUnknown_203B314->sBC.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B314->sBC.s0.winId);
|
||||
}
|
||||
|
||||
static inline void sub_802FBF4_sub(u8 *test, s32 counter)
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
//static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const WindowTemplate sUnknown_80DC950 = {
|
||||
0,
|
||||
3,
|
||||
0, 0,
|
||||
0, 0,
|
||||
0, 0,
|
||||
NULL
|
||||
};
|
||||
//static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const WindowTemplate sUnknown_80DC968 = {
|
||||
0,
|
||||
6,
|
||||
2, 2,
|
||||
15, 14,
|
||||
14, 0,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) //static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const u8 sUnknown_80DC980[] = _("Friends");
|
||||
ALIGNED(4) //static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const u8 sUnknown_80DC988[] = _("Pokémon Friends");
|
||||
ALIGNED(4) //static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const u8 sUnknown_80DC998[] = _("{color}%c%s{reset}");
|
||||
ALIGNED(4) //static // MAKE STATIC WHEN code_8023868.s IS DONE
|
||||
const u8 sUnknown_80DC9A4[] = _("%s");
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "globaldata.h"
|
||||
#include "code_801602C.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "debug_menu4.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
|
|
@ -109,13 +109,13 @@ static void sub_803AD88(void)
|
|||
{
|
||||
switch (sUnknown_203B3F8->state) {
|
||||
case 1:
|
||||
sub_8023868(1, 0, 0, 10);
|
||||
FriendList_Init(1, 0, 0, 10);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023B7C(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8012D60(&sUnknown_203B3F8->unk10, sUnknown_203B3F8->unk90, 0, sUnknown_203B3F8->unkD0, sUnknown_203B3F8->menuAction, 2);
|
||||
break;
|
||||
case 5:
|
||||
|
|
@ -148,7 +148,7 @@ static void sub_803AE58(void)
|
|||
PrintStringOnWindow(4, 0, sNumberPrompt, sUnknown_203B3F8->unk60.unk14, 0);
|
||||
sub_8013C68(&sUnknown_203B3F8->unk60);
|
||||
sub_80073E0(sUnknown_203B3F8->unk60.unk14);
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8012EA4(&sUnknown_203B3F8->unk10, 0);
|
||||
}
|
||||
|
||||
|
|
@ -181,14 +181,14 @@ static void sub_803AEB0(void)
|
|||
|
||||
static void sub_803AF38(void)
|
||||
{
|
||||
switch (sub_8023A94(TRUE)) {
|
||||
switch (FriendList_HandleInput(TRUE)) {
|
||||
case 3:
|
||||
sUnknown_203B3F8->unk4 = sub_8023B44();
|
||||
sUnknown_203B3F8->unk4 = FriendList_GetCurrId();
|
||||
sUnknown_203B3F8->pokemon = &gRecruitedPokemonRef->pokemon[sUnknown_203B3F8->unk4];
|
||||
sub_803ACD0(3);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
sub_803ACD0(7);
|
||||
break;
|
||||
case 1:
|
||||
|
|
@ -203,7 +203,7 @@ static void sub_803AF88(void)
|
|||
|
||||
menuAction = 0;
|
||||
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
|
||||
if (sub_8012FD8(&sUnknown_203B3F8->unk10) == 0)
|
||||
sub_8013114(&sUnknown_203B3F8->unk10, &menuAction);
|
||||
|
|
@ -225,7 +225,7 @@ static void sub_803AF88(void)
|
|||
|
||||
static void sub_803AFE8(void)
|
||||
{
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
sub_8012FD8(&sUnknown_203B3F8->unk10);
|
||||
|
||||
switch (sub_8013BBC(&sUnknown_203B3F8->unk60)) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "code_801B3C0.h"
|
||||
#include "code_801EE10.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "code_8099360.h"
|
||||
|
|
@ -175,14 +175,14 @@ void sub_8027274(void)
|
|||
case FRIEND_AREA_ACTION_MENU_EXIT:
|
||||
break;
|
||||
case FRIEND_AREA_ACTION_MENU_MAIN:
|
||||
sub_8023868(1,0,0,7);
|
||||
FriendList_Init(1,0,0,7);
|
||||
break;
|
||||
case FRIEND_AREA_ACTION_MENU_MAIN_2:
|
||||
sub_8023B7C(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8027D40(3, &sUnknown_203B2BC->item2);
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8012D60(&sUnknown_203B2BC->unk7C, sUnknown_203B2BC->menuItems, 0, sUnknown_203B2BC->unk16C, sUnknown_203B2BC->menuAction1, 2);
|
||||
break;
|
||||
case FRIEND_AREA_ACTION_MENU_SUMMARY:
|
||||
|
|
@ -383,12 +383,12 @@ void sub_80277FC(void)
|
|||
{
|
||||
PokemonStruct1 *pokeStruct;
|
||||
|
||||
switch(sub_8023A94(TRUE)) {
|
||||
switch(FriendList_HandleInput(TRUE)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B2BC->targetPoke = sub_8023B44();
|
||||
sUnknown_203B2BC->targetPoke = FriendList_GetCurrId();
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[sUnknown_203B2BC->targetPoke];
|
||||
sUnknown_203B2BC->pokeStruct = pokeStruct;
|
||||
sUnknown_203B2BC->isTeamLeader = pokeStruct->isTeamLeader;
|
||||
|
|
@ -396,7 +396,7 @@ void sub_80277FC(void)
|
|||
SetFriendAreaActionMenuState(3);
|
||||
break;
|
||||
case 4:
|
||||
sUnknown_203B2BC->targetPoke = sub_8023B44();
|
||||
sUnknown_203B2BC->targetPoke = FriendList_GetCurrId();
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[sUnknown_203B2BC->targetPoke];
|
||||
sUnknown_203B2BC->pokeStruct = pokeStruct;
|
||||
sUnknown_203B2BC->isTeamLeader = pokeStruct->isTeamLeader;
|
||||
|
|
@ -404,7 +404,7 @@ void sub_80277FC(void)
|
|||
SetFriendAreaActionMenuState(4);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendAreaActionMenuState(FRIEND_AREA_ACTION_MENU_EXIT);
|
||||
break;
|
||||
}
|
||||
|
|
@ -417,7 +417,7 @@ void sub_80278B4(void)
|
|||
u32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
if ((sub_8012FD8(&sUnknown_203B2BC->unk7C) == 0) && (sub_8013114(&sUnknown_203B2BC->unk7C,&menuAction), menuAction != FRIEND_AREA_ACTION_MENU_ACTION_NONE)) {
|
||||
sUnknown_203B2BC->menuAction1 = menuAction;
|
||||
}
|
||||
|
|
|
|||
476
src/friend_list.c
Normal file
476
src/friend_list.c
Normal file
|
|
@ -0,0 +1,476 @@
|
|||
#include "global.h"
|
||||
#include "globaldata.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "pokemon.h"
|
||||
#include "structs/str_text.h"
|
||||
#include "text_util.h"
|
||||
#include "text_1.h"
|
||||
#include "text_2.h"
|
||||
#include "text_3.h"
|
||||
#include "event_flag.h"
|
||||
#include "menu_input.h"
|
||||
#include "rescue_team_info.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "ground_map_1.h"
|
||||
#include "constants/input.h"
|
||||
|
||||
extern bool8 sub_808D750(s32 index_);
|
||||
|
||||
static IWRAM_INIT struct unkStruct_3001B60 *sFriendList = {NULL};
|
||||
|
||||
static void SortbyAlphabetNo(s32, s32);
|
||||
static void SortbyInternalNo(s32, s32);
|
||||
static void SortbyName(s32, s32);
|
||||
static bool8 MonHasFriendArea(PokemonStruct1 *pokemon, u8 area);
|
||||
static void SortNames(void);
|
||||
static void SetUpWindowHeader(void);
|
||||
static s32 sub_8023BD8(void);
|
||||
static s32 sub_8023F8C(void);
|
||||
|
||||
extern s32 gUnknown_203B2A0;
|
||||
extern s32 gUnknown_203B2A4;
|
||||
extern u16 gUnknown_203B2A8;
|
||||
extern u16 gUnknown_203B2AA;
|
||||
|
||||
static const WindowTemplate sDummyWinTemplate = WIN_TEMPLATE_DUMMY;
|
||||
|
||||
static const WindowTemplate sUnknown_80DC968 = {
|
||||
.unk0 = 0,
|
||||
.type = WINDOW_TYPE_WITH_HEADER,
|
||||
.pos = {2, 2},
|
||||
.width = 15,
|
||||
.height = 14,
|
||||
.unk10 = 14,
|
||||
.unk12 = 0,
|
||||
.header = NULL
|
||||
};
|
||||
|
||||
bool8 FriendList_Init(u32 r5, u32 windowId, DungeonPos *pos, u32 r10)
|
||||
{
|
||||
if (sub_8024108(r5)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (sFriendList == NULL) {
|
||||
sFriendList = MemoryAlloc(sizeof(*sFriendList), 8);
|
||||
}
|
||||
|
||||
sFriendList->unk0 = r5;
|
||||
if (gUnknown_203B2A0 != r5) {
|
||||
sFriendList->sortMethod = 1;
|
||||
}
|
||||
else {
|
||||
sFriendList->sortMethod = gUnknown_203B2A4;
|
||||
}
|
||||
|
||||
sFriendList->unk14 = 0;
|
||||
sFriendList->unk15 = 0;
|
||||
sFriendList->unk16 = 0;
|
||||
sFriendList->unk17 = 0;
|
||||
sFriendList->unk18 = 0;
|
||||
switch (sFriendList->unk0) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
sFriendList->unk18 = 1;
|
||||
break;
|
||||
case 2:
|
||||
sFriendList->unk14 = 1;
|
||||
break;
|
||||
case 3:
|
||||
sFriendList->unk17 = 1;
|
||||
sFriendList->unk15 = 1;
|
||||
sFriendList->unk16 = 1;
|
||||
break;
|
||||
case 4:
|
||||
sFriendList->unk18 = 1;
|
||||
sFriendList->unk15 = 1;
|
||||
if (!sub_80023E4(9)) {
|
||||
sFriendList->unk16 = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (sFriendList->unk0 == 4) {
|
||||
sFriendList->unk354 = sub_8002658(sub_80A5728());
|
||||
}
|
||||
else {
|
||||
sFriendList->unk354 = 0;
|
||||
}
|
||||
|
||||
sFriendList->unk358.s0.winId = windowId;
|
||||
sFriendList->unk358.s0.unk38 = &sFriendList->unk358.s0.windows.id[windowId];
|
||||
RestoreSavedWindows(&sFriendList->unk358.s0.windows);
|
||||
sFriendList->unk358.s0.windows.id[sFriendList->unk358.s0.winId] = sUnknown_80DC968;
|
||||
sFriendList->unk358.s0.unk38->header = &sFriendList->unk358.header;
|
||||
if (pos != NULL) {
|
||||
sFriendList->unk358.s0.windows.id[sFriendList->unk358.s0.winId].pos = *pos;
|
||||
}
|
||||
sub_8012D08(sFriendList->unk358.s0.unk38, r10);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sFriendList->unk358.s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&sFriendList->unk358.s0.input, sub_8023F8C(), r10, windowId);
|
||||
if (gUnknown_203B2A0 == sFriendList->unk0) {
|
||||
sFriendList->unk358.s0.input.menuIndex = gUnknown_203B2A8;
|
||||
sFriendList->unk358.s0.input.unk1E = gUnknown_203B2AA;
|
||||
sub_8013984(&sFriendList->unk358.s0.input);
|
||||
}
|
||||
SetUpWindowHeader();
|
||||
FriendList_ShowWindow();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 FriendList_HandleInput(bool8 a0)
|
||||
{
|
||||
if (!a0) {
|
||||
sub_8013660(&sFriendList->unk358.s0.input);
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (GetKeyPress(&sFriendList->unk358.s0.input)) {
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
return 2;
|
||||
case INPUT_START_BUTTON:
|
||||
PlayMenuSoundEffect(4);
|
||||
return 4;
|
||||
case INPUT_A_BUTTON:
|
||||
PlayMenuSoundEffect(0);
|
||||
return 3;
|
||||
case INPUT_SELECT_BUTTON:
|
||||
PlayMenuSoundEffect(5);
|
||||
sFriendList->sortMethod = (sFriendList->sortMethod < 3) ? sFriendList->sortMethod + 1 : 1;
|
||||
sub_8023F8C();
|
||||
SetUpWindowHeader();
|
||||
FriendList_ShowWindow();
|
||||
return 1;
|
||||
default:
|
||||
if (sub_80138B8(&sFriendList->unk358.s0.input, TRUE)) {
|
||||
SetUpWindowHeader();
|
||||
FriendList_ShowWindow();
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
s32 FriendList_GetCurrId(void)
|
||||
{
|
||||
return sFriendList->unk1A[(sFriendList->unk358.s0.input.unk1E * sFriendList->unk358.s0.input.unk1C) + sFriendList->unk358.s0.input.menuIndex];
|
||||
}
|
||||
|
||||
void sub_8023B7C(bool8 addCursor)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sFriendList->unk358.s0.windows, FALSE, FALSE);
|
||||
sFriendList->unk358.s0.input.unk22 = sub_8023BD8();
|
||||
sub_8013984(&sFriendList->unk358.s0.input);
|
||||
SetUpWindowHeader();
|
||||
FriendList_ShowWindow();
|
||||
if (addCursor) {
|
||||
AddMenuCursorSprite(&sFriendList->unk358.s0.input);
|
||||
}
|
||||
}
|
||||
|
||||
static s32 sub_8023BD8(void)
|
||||
{
|
||||
s32 i, j;
|
||||
|
||||
for (i = 0; i < sFriendList->unk8; i++) {
|
||||
s32 id = sFriendList->unk1A[i];
|
||||
if (!PokemonFlag1(&gRecruitedPokemonRef->pokemon[id])) {
|
||||
sFriendList->unk8--;
|
||||
for (j = i; j < sFriendList->unk8; j++) {
|
||||
sFriendList->unk1A[j] = sFriendList->unk1A[j + 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return sFriendList->unk8;
|
||||
}
|
||||
|
||||
void FriendList_Free(void)
|
||||
{
|
||||
if (sFriendList != NULL) {
|
||||
gUnknown_203B2A0 = sFriendList->unk0;
|
||||
gUnknown_203B2A4 = sFriendList->sortMethod;
|
||||
gUnknown_203B2A8 = sFriendList->unk358.s0.input.menuIndex;
|
||||
gUnknown_203B2AA = sFriendList->unk358.s0.input.unk1E;
|
||||
sFriendList->unk358.s0.windows.id[sFriendList->unk358.s0.winId] = sDummyWinTemplate;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sFriendList->unk358.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sFriendList);
|
||||
sFriendList = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
struct unkStruct_3001B60 *FriendList_GetPtr(void)
|
||||
{
|
||||
return sFriendList;
|
||||
}
|
||||
|
||||
static void SetUpWindowHeader(void)
|
||||
{
|
||||
sFriendList->unk358.header.count = 1;
|
||||
sFriendList->unk358.header.currId = 0;
|
||||
sFriendList->unk358.header.f3 = 0;
|
||||
switch (sFriendList->unk0) {
|
||||
case 2:
|
||||
sFriendList->unk358.header.width = 12;
|
||||
break;
|
||||
case 4:
|
||||
sFriendList->unk358.header.width = 12;
|
||||
break;
|
||||
default:
|
||||
sFriendList->unk358.header.width = 12;
|
||||
break;
|
||||
}
|
||||
|
||||
SUB_80095E4_CALL_2(sFriendList->unk358.s0);
|
||||
}
|
||||
|
||||
void FriendList_ShowWindow(void)
|
||||
{
|
||||
s32 i, x;
|
||||
u8 winTxtBuff[40];
|
||||
u8 nameTxtBuff[POKEMON_NAME_LENGTH * 2];
|
||||
u8 txtBuff3[20];
|
||||
|
||||
CallPrepareTextbox_8008C54(sFriendList->unk358.s0.winId);
|
||||
sub_80073B8(sFriendList->unk358.s0.winId);
|
||||
switch (sFriendList->unk0) {
|
||||
case 2:
|
||||
sub_80920D8(winTxtBuff);
|
||||
PrintStringOnWindow(10, 0, winTxtBuff, sFriendList->unk358.s0.winId, '\0');
|
||||
break;
|
||||
case 4:
|
||||
PrintStringOnWindow(10, 0, "Friends", sFriendList->unk358.s0.winId, '\0');
|
||||
x = (sFriendList->unk358.header.width * 8) + 4;
|
||||
sub_8012BC4(x, 0, sFriendList->unk358.s0.input.unk1E + 1, 2, 7, sFriendList->unk358.s0.winId);
|
||||
break;
|
||||
default:
|
||||
PrintStringOnWindow(10, 0, _("Pokémon Friends"), sFriendList->unk358.s0.winId, '\0');
|
||||
x = (sFriendList->unk358.header.width * 8) + 4;
|
||||
sub_8012BC4(x, 0, sFriendList->unk358.s0.input.unk1E + 1, 2, 7, sFriendList->unk358.s0.winId);
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0; i < sFriendList->unk358.s0.input.unk1A; i++) {
|
||||
s32 id = sFriendList->unk1A[(sFriendList->unk358.s0.input.unk1E * sFriendList->unk358.s0.input.unk1C) + i];
|
||||
PokemonStruct1 *pokePtr = &gRecruitedPokemonRef->pokemon[id];
|
||||
u8 color = 7;
|
||||
|
||||
if (PokemonFlag2(pokePtr)) {
|
||||
if (IsMonPartner(pokePtr)) {
|
||||
color = 6;
|
||||
}
|
||||
if (IsMonLeader(pokePtr)) {
|
||||
color = 6;
|
||||
}
|
||||
if (pokePtr->isTeamLeader) {
|
||||
color = 5;
|
||||
}
|
||||
}
|
||||
else if (sFriendList->unk18) {
|
||||
if (sub_808D750(id)) {
|
||||
color = 4;
|
||||
}
|
||||
else {
|
||||
color = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// This code doesn't do anything, but it's needed to match.
|
||||
if (sFriendList->unk0 == 4 && MonHasFriendArea(pokePtr, sFriendList->unk354)) {
|
||||
;
|
||||
}
|
||||
else if (sFriendList->unk0 == 2) {
|
||||
;
|
||||
}
|
||||
|
||||
sub_80922B4(nameTxtBuff, pokePtr->name, POKEMON_NAME_LENGTH);
|
||||
sub_808D930(txtBuff3, pokePtr->speciesNum);
|
||||
sprintfStatic(winTxtBuff, _("{color}%c%s{reset}"), color, nameTxtBuff);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sFriendList->unk358.s0.input, i), winTxtBuff, sFriendList->unk358.s0.winId, '\0');
|
||||
}
|
||||
sub_80073E0(sFriendList->unk358.s0.winId);
|
||||
}
|
||||
|
||||
static s32 sub_8023F8C(void)
|
||||
{
|
||||
s32 i;
|
||||
PokemonStruct1 *pokeStruct;
|
||||
|
||||
sFriendList->unk8 = 0;
|
||||
if (!sFriendList->unk15) {
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[i];
|
||||
if (pokeStruct->isTeamLeader && PokemonFlag1(pokeStruct)) {
|
||||
sFriendList->unk1A[sFriendList->unk8++] = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!sFriendList->unk16) {
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[i];
|
||||
if (IsMonPartner(pokeStruct) && !pokeStruct->isTeamLeader && PokemonFlag2(pokeStruct) && PokemonFlag1(pokeStruct)) {
|
||||
sFriendList->unk1A[sFriendList->unk8++] = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sFriendList->unkC = sFriendList->unk8;
|
||||
|
||||
if (!sFriendList->unk17) {
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[i];
|
||||
if (PokemonFlag2(pokeStruct) && PokemonFlag1(pokeStruct) && !pokeStruct->isTeamLeader && !IsMonPartner(pokeStruct)) {
|
||||
sFriendList->unk1A[sFriendList->unk8++] = i;
|
||||
if (sFriendList->unk8 >= 4) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
sFriendList->unk10 = sFriendList->unk8;
|
||||
|
||||
if (!sFriendList->unk14) {
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[i];
|
||||
if (PokemonFlag1(pokeStruct) && !PokemonFlag2(&gRecruitedPokemonRef->pokemon[i])) {
|
||||
sFriendList->unk1A[sFriendList->unk8++] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SortNames();
|
||||
return sFriendList->unk8;
|
||||
}
|
||||
|
||||
bool8 sub_8024108(s32 param_1)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
PokemonStruct1 *pokeStruct = &gRecruitedPokemonRef->pokemon[i];
|
||||
if (PokemonFlag1(pokeStruct)) {
|
||||
if (param_1 == 2) {
|
||||
if (!PokemonFlag2(pokeStruct)) continue;
|
||||
}
|
||||
else if (param_1 == 3) {
|
||||
if (PokemonFlag2(pokeStruct)) continue;
|
||||
}
|
||||
else if (param_1 == 4) {
|
||||
if (pokeStruct->isTeamLeader) continue;
|
||||
if (!sub_80023E4(9)) {
|
||||
if (!IsMonPartner(pokeStruct)) return FALSE;
|
||||
if (PokemonFlag2(pokeStruct)) continue;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool8 MonHasFriendArea(PokemonStruct1 *pokemon, u8 area)
|
||||
{
|
||||
if (area == GetFriendArea(pokemon->speciesNum))
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void SortNames(void)
|
||||
{
|
||||
switch (sFriendList->sortMethod) {
|
||||
case 2:
|
||||
if (sFriendList->unkC != sFriendList->unk10)
|
||||
SortbyAlphabetNo(sFriendList->unkC, sFriendList->unk10);
|
||||
|
||||
if (sFriendList->unk10 != sFriendList->unk8)
|
||||
SortbyAlphabetNo(sFriendList->unk10, sFriendList->unk8);
|
||||
break;
|
||||
case 3:
|
||||
if (sFriendList->unkC != sFriendList->unk10)
|
||||
SortbyName(sFriendList->unkC, sFriendList->unk10);
|
||||
|
||||
if (sFriendList->unk10 != sFriendList->unk8)
|
||||
SortbyName(sFriendList->unk10, sFriendList->unk8);
|
||||
break;
|
||||
case 1:
|
||||
if (sFriendList->unkC != sFriendList->unk10)
|
||||
SortbyInternalNo(sFriendList->unkC, sFriendList->unk10);
|
||||
|
||||
if (sFriendList->unk10 != sFriendList->unk8)
|
||||
SortbyInternalNo(sFriendList->unk10, sFriendList->unk8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void SortbyInternalNo(s32 startId, s32 arrId)
|
||||
{
|
||||
s32 temp;
|
||||
s32 i, j;
|
||||
s16 *arrPtr = &sFriendList->unk1A[arrId - 1];
|
||||
|
||||
for (i = startId; i < arrId - 1; i++) {
|
||||
s16 *curr = arrPtr;
|
||||
for (j = arrId - 1; j > i; j--) {
|
||||
if (GetInternalNo(gRecruitedPokemonRef->pokemon[curr[-1]].speciesNum) > GetInternalNo(gRecruitedPokemonRef->pokemon[curr[0]].speciesNum)) {
|
||||
SWAP(curr[0], curr[-1], temp);
|
||||
}
|
||||
curr--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SortbyAlphabetNo(s32 startId, s32 arrId)
|
||||
{
|
||||
s32 temp;
|
||||
s32 i, j;
|
||||
s16 *arrPtr = &sFriendList->unk1A[arrId - 1];
|
||||
|
||||
for (i = startId; i < arrId - 1; i++) {
|
||||
s16 *curr = arrPtr;
|
||||
for (j = arrId - 1; j > i; j--) {
|
||||
if (GetAlphabetParentNo(gRecruitedPokemonRef->pokemon[curr[-1]].speciesNum, 0) > GetAlphabetParentNo(gRecruitedPokemonRef->pokemon[curr[0]].speciesNum, 0)) {
|
||||
SWAP(curr[0], curr[-1], temp);
|
||||
}
|
||||
curr--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SortbyName(s32 startId, s32 arrId)
|
||||
{
|
||||
s32 temp;
|
||||
s32 i, j;
|
||||
s16 *arrPtr = &sFriendList->unk1A[arrId - 1];
|
||||
|
||||
for (i = startId; i < arrId - 1; i++) {
|
||||
s16 * currPtr = arrPtr;
|
||||
for (j = arrId - 1; j > i; j--) {
|
||||
s16 *belowPtr = currPtr - 1;
|
||||
if (ComparePokemonNames(*belowPtr, *currPtr)) {
|
||||
SWAP(*currPtr, *belowPtr, temp);
|
||||
}
|
||||
currPtr--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UNUSED static PokemonStruct1 *sub_80243E8(void)
|
||||
{
|
||||
u8 buffer[40];
|
||||
u8 nameBuffer[20];
|
||||
PokemonStruct1 *pokeStruct = &gRecruitedPokemonRef->pokemon[sFriendList->unk1A[(sFriendList->unk358.s0.input.unk1E * sFriendList->unk358.s0.input.unk1C) + sFriendList->unk358.s0.input.menuIndex]];
|
||||
|
||||
sub_80922B4(nameBuffer, pokeStruct->name, POKEMON_NAME_LENGTH);
|
||||
sprintfStatic(buffer, "%s", nameBuffer);
|
||||
return pokeStruct;
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
#include "code_801B3C0.h"
|
||||
#include "code_801EE10.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "code_8099360.h"
|
||||
|
|
@ -188,7 +188,7 @@ void sub_8025518(void)
|
|||
if (gUnknown_203B2B4->unk0 == 0) {
|
||||
uVar3 = 2;
|
||||
}
|
||||
sub_8023868(uVar3,0,0,10);
|
||||
FriendList_Init(uVar3,0,0,10);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023B7C(1);
|
||||
|
|
@ -197,7 +197,7 @@ void sub_8025518(void)
|
|||
if (gUnknown_203B2B4->unk0 == 0) {
|
||||
sub_8025E68(3,&gUnknown_203B2B4->item2);
|
||||
}
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[0],gUnknown_203B2B4->pokeStruct,7);
|
||||
PrintColoredPokeNameToBuffer(gFormatBuffer_Monsters[1],gUnknown_203B2B4->pokeStruct,6);
|
||||
sub_8012D60(&gUnknown_203B2B4->unk78,gUnknown_203B2B4->unkC8,0,gUnknown_203B2B4->unk108,gUnknown_203B2B4->menuAction1,2);
|
||||
|
|
@ -371,22 +371,22 @@ void sub_802591C(void)
|
|||
|
||||
void sub_80259F0(void)
|
||||
{
|
||||
switch(sub_8023A94(TRUE))
|
||||
switch(FriendList_HandleInput(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B2B4->species = sub_8023B44();
|
||||
gUnknown_203B2B4->species = FriendList_GetCurrId();
|
||||
gUnknown_203B2B4->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B2B4->species];
|
||||
PeekPokemonItem(gUnknown_203B2B4->species, &gUnknown_203B2B4->item2);
|
||||
SetFriendListMenuState(3);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2B4->species = sub_8023B44();
|
||||
gUnknown_203B2B4->species = FriendList_GetCurrId();
|
||||
gUnknown_203B2B4->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B2B4->species];
|
||||
PeekPokemonItem(gUnknown_203B2B4->species, &gUnknown_203B2B4->item2);
|
||||
SetFriendListMenuState(FRIEND_LIST_MENU_STATE_SUMMARY);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendListMenuState(FRIEND_LIST_MENU_STATE_EXIT);
|
||||
break;
|
||||
}
|
||||
|
|
@ -396,7 +396,7 @@ void sub_8025A84(void)
|
|||
{
|
||||
s32 menuAction = 0;
|
||||
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
if(!sub_8012FD8(&gUnknown_203B2B4->unk78))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B2B4->unk78, &menuAction);
|
||||
|
|
@ -406,7 +406,7 @@ void sub_8025A84(void)
|
|||
{
|
||||
case FRIEND_LIST_MENU_VISIT:
|
||||
gUnknown_203B2B4->unkD = GetFriendArea(gUnknown_203B2B4->pokeStruct->speciesNum);
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendListMenuState(FRIEND_LIST_MENU_STATE_EXIT);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_GIVE:
|
||||
|
|
@ -429,7 +429,7 @@ void sub_8025A84(void)
|
|||
gUnknown_203B2B4->pokeStruct->unk0 &= ~(FLAG_ON_TEAM);
|
||||
nullsub_104();
|
||||
sub_808ED00();
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendListMenuState(FRIEND_LIST_MENU_STATE_STANDBY);
|
||||
break;
|
||||
case FRIEND_LIST_MENU_MOVES:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include "code_80118A4.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C8C4.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "code_802F204.h"
|
||||
#include "code_8094F88.h"
|
||||
|
|
@ -304,7 +304,7 @@ extern u32 sub_8039068(u32, u8 *passwordBuffer, unkStruct_203B480 *r0);
|
|||
|
||||
extern void sub_8031E10(void);
|
||||
extern u8 sub_800D588(void);
|
||||
extern u32 sub_8023CE8(void);
|
||||
extern u32 FriendList_GetPtr(void);
|
||||
extern bool8 sub_8031D70(u32 mailIndex, s32);
|
||||
|
||||
extern u32 GetDungeonTeamRankPts(DungeonLocation *, u32);
|
||||
|
|
@ -687,7 +687,7 @@ void CleanFriendRescueMenu(void)
|
|||
gUnknown_203B33C = NULL;
|
||||
sub_803084C();
|
||||
sub_8031E10();
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
sub_80155F0();
|
||||
sub_801CBB8();
|
||||
sub_802F2C0();
|
||||
|
|
@ -894,16 +894,16 @@ void sub_8032828(void)
|
|||
CreateDialogueBoxAndPortrait(&gUnknown_80E2C48[0], 0, 0, 0x101);
|
||||
break;
|
||||
case 0x26:
|
||||
if (sub_8023CE8() != 0)
|
||||
sub_8023C60();
|
||||
if (FriendList_GetPtr() != 0)
|
||||
FriendList_Free();
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(NULL, TRUE, TRUE);
|
||||
sub_8023868(3, 0, 0, 9);
|
||||
FriendList_Init(3, 0, 0, 9);
|
||||
break;
|
||||
case 0x27:
|
||||
RestoreSavedWindows(&gUnknown_203B33C->unk35C);
|
||||
SetMenuItems(gUnknown_203B33C->unk21C, &gUnknown_203B33C->unk35C, 3, &gUnknown_80E2334, gUnknown_80E234C, TRUE, 0, FALSE);
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
break;
|
||||
case 0x24:
|
||||
|
|
@ -1857,16 +1857,16 @@ void sub_8034130(void)
|
|||
|
||||
void sub_803418C(void)
|
||||
{
|
||||
switch(sub_8023A94(TRUE))
|
||||
switch(FriendList_HandleInput(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendRescueMenuState(FRIEND_RESCUE_MENU_MAIN);
|
||||
sub_8035D1C();
|
||||
gUnknown_203B33C->speciesNum = -1;
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B33C->speciesNum = sub_8023B44();
|
||||
gUnknown_203B33C->speciesNum = FriendList_GetCurrId();
|
||||
if(gUnknown_203B33C->unk524 == 0xE)
|
||||
SetFriendRescueMenuState(9);
|
||||
else
|
||||
|
|
@ -1874,7 +1874,7 @@ void sub_803418C(void)
|
|||
break;
|
||||
case 4:
|
||||
gUnknown_203B33C->fallbackState = 0x26;
|
||||
gUnknown_203B33C->speciesNum = sub_8023B44();
|
||||
gUnknown_203B33C->speciesNum = FriendList_GetCurrId();
|
||||
RestoreSavedWindows(&gUnknown_203B33C->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(NULL, TRUE, TRUE);
|
||||
|
|
@ -1889,13 +1889,13 @@ void sub_8034254(void)
|
|||
s32 menuAction;
|
||||
menuAction = -1;
|
||||
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendRescueMenuState(0x29);
|
||||
break;
|
||||
case 10:
|
||||
|
|
@ -1909,7 +1909,7 @@ void sub_8034254(void)
|
|||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(&gUnknown_203B33C->unk35C, 3);
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
SetFriendRescueMenuState(0x26);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include "code_80118A4.h"
|
||||
#include "code_801EE10.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "common_strings.h"
|
||||
#include "felicity_bank.h"
|
||||
|
|
@ -306,13 +306,13 @@ static void sub_801FF28(void)
|
|||
CreateDialogueBoxAndPortrait(gCommonGulpin[gUnknown_203B27C->mode][GULPIN_DLG_08],0,gUnknown_203B27C->monPortraitPtr,0x10d);
|
||||
break;
|
||||
case 0xf:
|
||||
sub_8023868(2,0,0,10);
|
||||
FriendList_Init(2,0,0,10);
|
||||
break;
|
||||
case 0x10:
|
||||
sub_8023B7C(1);
|
||||
break;
|
||||
case 0x11:
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8012D60(&gUnknown_203B27C->unkCC,gUnknown_203B27C->unk7C,0,gUnknown_203B27C->unkBC,gUnknown_203B27C->menuAction2,2);
|
||||
break;
|
||||
case 0x12:
|
||||
|
|
@ -682,17 +682,17 @@ static void sub_8020A34(void)
|
|||
|
||||
static void sub_8020A80(void)
|
||||
{
|
||||
switch(sub_8023A94(TRUE))
|
||||
switch(FriendList_HandleInput(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B27C->speciesNum = sub_8023B44();
|
||||
gUnknown_203B27C->speciesNum = FriendList_GetCurrId();
|
||||
gUnknown_203B27C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B27C->speciesNum];
|
||||
gUnknown_203B27C->isTeamLeader = gUnknown_203B27C->pokeStruct->isTeamLeader;
|
||||
PrintPokeNameToBuffer(gFormatBuffer_Monsters[5], gUnknown_203B27C->pokeStruct);
|
||||
sub_801FDA8(0x11);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B27C->speciesNum = sub_8023B44();
|
||||
gUnknown_203B27C->speciesNum = FriendList_GetCurrId();
|
||||
gUnknown_203B27C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B27C->speciesNum];
|
||||
gUnknown_203B27C->isTeamLeader = gUnknown_203B27C->pokeStruct->isTeamLeader;
|
||||
PrintPokeNameToBuffer(gFormatBuffer_Monsters[5], gUnknown_203B27C->pokeStruct);
|
||||
|
|
@ -702,7 +702,7 @@ static void sub_8020A80(void)
|
|||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
sub_801FDA8(7);
|
||||
break;
|
||||
}
|
||||
|
|
@ -713,7 +713,7 @@ static void sub_8020B38(void)
|
|||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
if (!sub_8012FD8(&gUnknown_203B27C->unkCC)) {
|
||||
sub_8013114(&gUnknown_203B27C->unkCC,&menuAction);
|
||||
if (menuAction != CANCEL_ACTION) {
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@ bool8 sub_801E3F0(u32 a0)
|
|||
if (sUnknown_203B264 == NULL)
|
||||
sUnknown_203B264 = MemoryAlloc(sizeof(*sUnknown_203B264), 8);
|
||||
|
||||
sUnknown_203B264->unk34 = a0;
|
||||
sUnknown_203B264->winId = a0;
|
||||
sUnknown_203B264->unk38 = &sUnknown_203B264->windows.id[a0];
|
||||
RestoreSavedWindows(&sUnknown_203B264->windows);
|
||||
sUnknown_203B264->windows.id[sUnknown_203B264->unk34] = sUnknown_80DC0BC;
|
||||
sUnknown_203B264->windows.id[sUnknown_203B264->winId] = sUnknown_80DC0BC;
|
||||
sub_8012D08(sUnknown_203B264->unk38, 10);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B264->windows, TRUE, TRUE);
|
||||
|
|
@ -86,7 +86,7 @@ void CreateHintSelectionScreen(bool8 cursorSprite)
|
|||
void sub_801E54C(void)
|
||||
{
|
||||
if (sUnknown_203B264 != NULL) {
|
||||
sUnknown_203B264->windows.id[sUnknown_203B264->unk34] = sUnknown_80DC0A0;
|
||||
sUnknown_203B264->windows.id[sUnknown_203B264->winId] = sUnknown_80DC0A0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B264->windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B264);
|
||||
|
|
@ -104,14 +104,14 @@ static void DrawHintSelectionMenu(void)
|
|||
s32 hintIndex;
|
||||
s32 y;
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B264->unk34);
|
||||
sub_80073B8(sUnknown_203B264->unk34);
|
||||
PrintStringOnWindow(16, 0, sHints, sUnknown_203B264->unk34, 0);
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B264->winId);
|
||||
sub_80073B8(sUnknown_203B264->winId);
|
||||
PrintStringOnWindow(16, 0, sHints, sUnknown_203B264->winId, 0);
|
||||
|
||||
for (hintIndex = 0; hintIndex < HINT_MAX; hintIndex++) {
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B264->input, hintIndex);
|
||||
PrintStringOnWindow(10, y, gCommonHints[hintIndex].heading, sUnknown_203B264->unk34, 0);
|
||||
PrintStringOnWindow(10, y, gCommonHints[hintIndex].heading, sUnknown_203B264->winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B264->unk34);
|
||||
sub_80073E0(sUnknown_203B264->winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,14 +21,14 @@ static void sub_801E76C(void);
|
|||
bool8 CreateHintDisplayScreen(u32 index)
|
||||
{
|
||||
sUnknown_203B268 = MemoryAlloc(sizeof(struct_Sub80095E4_2), 8);
|
||||
sUnknown_203B268->s0.unk34 = 0;
|
||||
sUnknown_203B268->s0.winId = 0;
|
||||
sUnknown_203B268->s0.unk38 = &sUnknown_203B268->s0.windows.id[0];
|
||||
RestoreSavedWindows(&sUnknown_203B268->s0.windows);
|
||||
sUnknown_203B268->s0.windows.id[sUnknown_203B268->s0.unk34] = sUnknown_80DC0FC;
|
||||
sUnknown_203B268->s0.unk38->header = &sUnknown_203B268->unk9C;
|
||||
sUnknown_203B268->s0.windows.id[sUnknown_203B268->s0.winId] = sUnknown_80DC0FC;
|
||||
sUnknown_203B268->s0.unk38->header = &sUnknown_203B268->header;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B268->s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&sUnknown_203B268->s0.input, 5, 1, sUnknown_203B268->s0.unk34);
|
||||
sub_8013818(&sUnknown_203B268->s0.input, 5, 1, sUnknown_203B268->s0.winId);
|
||||
sUnknown_203B268->s0.input.unk1E = index;
|
||||
sub_801E714();
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ static void sub_801E714(void)
|
|||
void DestroyHintDisplayScreen(void)
|
||||
{
|
||||
if (sUnknown_203B268 != NULL) {
|
||||
sUnknown_203B268->s0.windows.id[sUnknown_203B268->s0.unk34] = sUnknown_80DC0E4;
|
||||
sUnknown_203B268->s0.windows.id[sUnknown_203B268->s0.winId] = sUnknown_80DC0E4;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B268->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B268);
|
||||
|
|
@ -72,18 +72,18 @@ void DestroyHintDisplayScreen(void)
|
|||
|
||||
static void sub_801E76C(void)
|
||||
{
|
||||
sUnknown_203B268->unk9C.count = sUnknown_203B268->s0.input.unk20;
|
||||
sUnknown_203B268->unk9C.currId = sUnknown_203B268->s0.input.unk1E;
|
||||
sUnknown_203B268->unk9C.width = 15;
|
||||
sUnknown_203B268->unk9C.f3 = 0;
|
||||
sUnknown_203B268->header.count = sUnknown_203B268->s0.input.unk20;
|
||||
sUnknown_203B268->header.currId = sUnknown_203B268->s0.input.unk1E;
|
||||
sUnknown_203B268->header.width = 15;
|
||||
sUnknown_203B268->header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B268->s0.windows, TRUE, TRUE);
|
||||
}
|
||||
|
||||
static void DisplayChosenHint(void)
|
||||
{
|
||||
sub_80073B8(sUnknown_203B268->s0.unk34);
|
||||
PrintStringOnWindow((sUnknown_203B268->s0.input.unk1E * 8) + 16, 0, gCommonHints[sUnknown_203B268->s0.input.unk1E].heading, sUnknown_203B268->s0.unk34, 0);
|
||||
PrintStringOnWindow(10, 20, gCommonHints[sUnknown_203B268->s0.input.unk1E].body, sUnknown_203B268->s0.unk34, 0);
|
||||
sub_80073E0(sUnknown_203B268->s0.unk34);
|
||||
sub_80073B8(sUnknown_203B268->s0.winId);
|
||||
PrintStringOnWindow((sUnknown_203B268->s0.input.unk1E * 8) + 16, 0, gCommonHints[sUnknown_203B268->s0.input.unk1E].heading, sUnknown_203B268->s0.winId, 0);
|
||||
PrintStringOnWindow(10, 20, gCommonHints[sUnknown_203B268->s0.input.unk1E].body, sUnknown_203B268->s0.winId, 0);
|
||||
sub_80073E0(sUnknown_203B268->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ bool8 CreateIQSkillListMenu(s16 species, u32 index, u32 a2)
|
|||
sIQSkillListMenu->species = species_s32;
|
||||
sIQSkillListMenu->pokeStruct = &gRecruitedPokemonRef->pokemon[species_s32];
|
||||
sIQSkillListMenu->numIQSkills = GetNumAvailableIQSkills(sIQSkillListMenu->iqSkills, sIQSkillListMenu->pokeStruct->IQ);
|
||||
sIQSkillListMenu->s24.s0.unk34 = index;
|
||||
sIQSkillListMenu->s24.s0.winId = index;
|
||||
sIQSkillListMenu->s24.s0.unk38 = &sIQSkillListMenu->s24.s0.windows.id[index];
|
||||
RestoreSavedWindows(&sIQSkillListMenu->s24.s0.windows);
|
||||
sIQSkillListMenu->s24.s0.windows.id[sIQSkillListMenu->s24.s0.unk34] = sUnknown_80DBDF0;
|
||||
sIQSkillListMenu->s24.s0.unk38->header = &sIQSkillListMenu->s24.unk9C;
|
||||
sIQSkillListMenu->s24.s0.windows.id[sIQSkillListMenu->s24.s0.winId] = sUnknown_80DBDF0;
|
||||
sIQSkillListMenu->s24.s0.unk38->header = &sIQSkillListMenu->s24.header;
|
||||
sub_8012D08(sIQSkillListMenu->s24.s0.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sIQSkillListMenu->s24.s0.windows, TRUE, TRUE);
|
||||
|
|
@ -92,7 +92,7 @@ void RedrawIQSkillListMenu(bool8 addCursor)
|
|||
void CleanIQSkillListMenu(void)
|
||||
{
|
||||
if (sIQSkillListMenu != NULL) {
|
||||
sIQSkillListMenu->s24.s0.windows.id[sIQSkillListMenu->s24.s0.unk34] = sUnknown_80DBDD8;
|
||||
sIQSkillListMenu->s24.s0.windows.id[sIQSkillListMenu->s24.s0.winId] = sUnknown_80DBDD8;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sIQSkillListMenu->s24.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sIQSkillListMenu);
|
||||
|
|
@ -102,10 +102,10 @@ void CleanIQSkillListMenu(void)
|
|||
|
||||
static void sub_801C440(void)
|
||||
{
|
||||
sIQSkillListMenu->s24.unk9C.count = sIQSkillListMenu->s24.s0.input.unk20;
|
||||
sIQSkillListMenu->s24.unk9C.currId = sIQSkillListMenu->s24.s0.input.unk1E;
|
||||
sIQSkillListMenu->s24.unk9C.width = 10;
|
||||
sIQSkillListMenu->s24.unk9C.f3 = 0;
|
||||
sIQSkillListMenu->s24.header.count = sIQSkillListMenu->s24.s0.input.unk20;
|
||||
sIQSkillListMenu->s24.header.currId = sIQSkillListMenu->s24.s0.input.unk1E;
|
||||
sIQSkillListMenu->s24.header.width = 10;
|
||||
sIQSkillListMenu->s24.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sIQSkillListMenu->s24.s0.windows, TRUE, TRUE);
|
||||
SUB_80095E4_CALL_2(sIQSkillListMenu->s24.s0);
|
||||
|
|
@ -119,16 +119,16 @@ void BuildIQSkillList(void)
|
|||
u32 skillIndex;
|
||||
s32 counter;
|
||||
|
||||
CallPrepareTextbox_8008C54(sIQSkillListMenu->s24.s0.unk34);
|
||||
sub_80073B8(sIQSkillListMenu->s24.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(sIQSkillListMenu->s24.s0.winId);
|
||||
sub_80073B8(sIQSkillListMenu->s24.s0.winId);
|
||||
x = sIQSkillListMenu->s24.s0.input.unk1E * 8;
|
||||
x2 = x;
|
||||
x2 += 10;
|
||||
PrintStringOnWindow(x2, 0, sIQSkills, sIQSkillListMenu->s24.s0.unk34, 0);
|
||||
PrintStringOnWindow(x2, 0, sIQSkills, sIQSkillListMenu->s24.s0.winId, 0);
|
||||
|
||||
x += 4;
|
||||
x2 = x + sIQSkillListMenu->s24.unk9C.width * 8;
|
||||
sub_8012BC4(x2, 0, sIQSkillListMenu->s24.s0.input.unk1E + 1, 1, 7, sIQSkillListMenu->s24.s0.unk34);
|
||||
x2 = x + sIQSkillListMenu->s24.header.width * 8;
|
||||
sub_8012BC4(x2, 0, sIQSkillListMenu->s24.s0.input.unk1E + 1, 1, 7, sIQSkillListMenu->s24.s0.winId);
|
||||
|
||||
for (counter = 0; counter < sIQSkillListMenu->s24.s0.input.unk1A; counter++) {
|
||||
skillIndex = sIQSkillListMenu->iqSkills[(sIQSkillListMenu->s24.s0.input.unk1E * sIQSkillListMenu->s24.s0.input.unk1C) + counter];
|
||||
|
|
@ -141,10 +141,10 @@ void BuildIQSkillList(void)
|
|||
else
|
||||
strcpy(gFormatBuffer_Items[1] - 80, sUnknown_80DBE18);
|
||||
|
||||
PrintFormattedStringOnWindow(12, y, sFmt01, sIQSkillListMenu->s24.s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(12, y, sFmt01, sIQSkillListMenu->s24.s0.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sIQSkillListMenu->s24.s0.unk34);
|
||||
sub_80073E0(sIQSkillListMenu->s24.s0.winId);
|
||||
}
|
||||
|
||||
bool8 HasNoAvailIQSkills(s16 species)
|
||||
|
|
|
|||
|
|
@ -26,11 +26,11 @@ bool8 sub_8019E40(u32 r0)
|
|||
return FALSE;
|
||||
|
||||
gUnknown_203B214 = MemoryAlloc(sizeof(*gUnknown_203B214), 8);
|
||||
gUnknown_203B214->s0.unk34 = r0;
|
||||
gUnknown_203B214->s0.unk38 = &gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.unk34];
|
||||
gUnknown_203B214->s0.winId = r0;
|
||||
gUnknown_203B214->s0.unk38 = &gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.winId];
|
||||
RestoreSavedWindows(&gUnknown_203B214->s0.windows);
|
||||
gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.unk34] = sUnknown_80DB8CC;
|
||||
gUnknown_203B214->s0.unk38->header = &gUnknown_203B214->unk9C;
|
||||
gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.winId] = sUnknown_80DB8CC;
|
||||
gUnknown_203B214->s0.unk38->header = &gUnknown_203B214->header;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B214->s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&gUnknown_203B214->s0.input, CountKecleonShopItems(), 10, r0);
|
||||
|
|
@ -103,7 +103,7 @@ void sub_801A010(void)
|
|||
{
|
||||
if (gUnknown_203B214 != NULL) {
|
||||
gUnknown_203B218 = gUnknown_203B214->s0.input.menuIndex;
|
||||
gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.unk34] = sUnknown_80DB8B4;
|
||||
gUnknown_203B214->s0.windows.id[gUnknown_203B214->s0.winId] = sUnknown_80DB8B4;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B214->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B214);
|
||||
|
|
@ -113,10 +113,10 @@ void sub_801A010(void)
|
|||
|
||||
static void sub_801A064(void)
|
||||
{
|
||||
gUnknown_203B214->unk9C.count = gUnknown_203B214->s0.input.unk20;
|
||||
gUnknown_203B214->unk9C.currId = gUnknown_203B214->s0.input.unk1E;
|
||||
gUnknown_203B214->unk9C.width = 10;
|
||||
gUnknown_203B214->unk9C.f3 = 0;
|
||||
gUnknown_203B214->header.count = gUnknown_203B214->s0.input.unk20;
|
||||
gUnknown_203B214->header.currId = gUnknown_203B214->s0.input.unk1E;
|
||||
gUnknown_203B214->header.width = 10;
|
||||
gUnknown_203B214->header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(gUnknown_203B214->s0);
|
||||
}
|
||||
|
|
@ -134,9 +134,9 @@ void sub_801A0D8(void)
|
|||
Item item;
|
||||
u8 temp_calc;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B214->s0.unk34);
|
||||
sub_80073B8(gUnknown_203B214->s0.unk34);
|
||||
PrintStringOnWindow((gUnknown_203B214->s0.input.unk1E * 8) + 10, 0, sGoods, gUnknown_203B214->s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B214->s0.winId);
|
||||
sub_80073B8(gUnknown_203B214->s0.winId);
|
||||
PrintStringOnWindow((gUnknown_203B214->s0.input.unk1E * 8) + 10, 0, sGoods, gUnknown_203B214->s0.winId, 0);
|
||||
|
||||
for (index = 0; index < gUnknown_203B214->s0.input.unk1A; index++) {
|
||||
temp_calc = (gUnknown_203B214->s0.input.unk1E * gUnknown_203B214->s0.input.unk1C) + index;
|
||||
|
|
@ -153,14 +153,14 @@ void sub_801A0D8(void)
|
|||
|
||||
if (buyPrice <= gTeamInventoryRef->teamMoney) {
|
||||
y = GetMenuEntryYCoord(&gUnknown_203B214->s0.input, index);
|
||||
PrintStringOnWindow(8, y, auStack204, gUnknown_203B214->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, auStack204, gUnknown_203B214->s0.winId, 0);
|
||||
}
|
||||
else {
|
||||
sprintfStatic(auStack112, sFmtRed, auStack204);
|
||||
y = GetMenuEntryYCoord(&gUnknown_203B214->s0.input, index);
|
||||
PrintStringOnWindow(8, y, auStack112, gUnknown_203B214->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, auStack112, gUnknown_203B214->s0.winId, 0);
|
||||
}
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B214->s0.unk34);
|
||||
sub_80073E0(gUnknown_203B214->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,11 +26,11 @@ bool8 sub_801A20C(u32 r0)
|
|||
return FALSE;
|
||||
|
||||
gUnknown_203B21C = MemoryAlloc(sizeof(*gUnknown_203B21C), 8);
|
||||
gUnknown_203B21C->s0.unk34 = r0;
|
||||
gUnknown_203B21C->s0.unk38 = &gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.unk34];
|
||||
gUnknown_203B21C->s0.winId = r0;
|
||||
gUnknown_203B21C->s0.unk38 = &gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.winId];
|
||||
RestoreSavedWindows(&gUnknown_203B21C->s0.windows);
|
||||
gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.unk34] = sUnknown_80DB914;
|
||||
gUnknown_203B21C->s0.unk38->header = &gUnknown_203B21C->unk9C;
|
||||
gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.winId] = sUnknown_80DB914;
|
||||
gUnknown_203B21C->s0.unk38->header = &gUnknown_203B21C->header;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B21C->s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&gUnknown_203B21C->s0.input, CountKecleonWareItems(), 10, r0);
|
||||
|
|
@ -103,7 +103,7 @@ void sub_801A3DC(void)
|
|||
{
|
||||
if (gUnknown_203B21C != NULL) {
|
||||
gUnknown_203B220 = gUnknown_203B21C->s0.input.menuIndex;
|
||||
gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.unk34] = sUnknown_80DB8FC;
|
||||
gUnknown_203B21C->s0.windows.id[gUnknown_203B21C->s0.winId] = sUnknown_80DB8FC;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B21C->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B21C);
|
||||
|
|
@ -113,10 +113,10 @@ void sub_801A3DC(void)
|
|||
|
||||
static void sub_801A430(void)
|
||||
{
|
||||
gUnknown_203B21C->unk9C.count = gUnknown_203B21C->s0.input.unk20;
|
||||
gUnknown_203B21C->unk9C.currId = gUnknown_203B21C->s0.input.unk1E;
|
||||
gUnknown_203B21C->unk9C.width = 10;
|
||||
gUnknown_203B21C->unk9C.f3 = 0;
|
||||
gUnknown_203B21C->header.count = gUnknown_203B21C->s0.input.unk20;
|
||||
gUnknown_203B21C->header.currId = gUnknown_203B21C->s0.input.unk1E;
|
||||
gUnknown_203B21C->header.width = 10;
|
||||
gUnknown_203B21C->header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(gUnknown_203B21C->s0);
|
||||
}
|
||||
|
|
@ -134,9 +134,9 @@ void sub_801A4A4(void)
|
|||
Item item;
|
||||
u8 temp_calc;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B21C->s0.unk34);
|
||||
sub_80073B8(gUnknown_203B21C->s0.unk34);
|
||||
PrintStringOnWindow(gUnknown_203B21C->s0.input.unk1E * 8 + 10, 0, sGoods, gUnknown_203B21C->s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B21C->s0.winId);
|
||||
sub_80073B8(gUnknown_203B21C->s0.winId);
|
||||
PrintStringOnWindow(gUnknown_203B21C->s0.input.unk1E * 8 + 10, 0, sGoods, gUnknown_203B21C->s0.winId, 0);
|
||||
|
||||
for (index = 0; index < gUnknown_203B21C->s0.input.unk1A; index++) {
|
||||
temp_calc = (gUnknown_203B21C->s0.input.unk1E * gUnknown_203B21C->s0.input.unk1C) + index;
|
||||
|
|
@ -153,14 +153,14 @@ void sub_801A4A4(void)
|
|||
|
||||
if (buyPrice <= gTeamInventoryRef->teamMoney) {
|
||||
y = GetMenuEntryYCoord(&gUnknown_203B21C->s0.input, index);
|
||||
PrintStringOnWindow(8, y, buffer1, gUnknown_203B21C->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, buffer1, gUnknown_203B21C->s0.winId, 0);
|
||||
}
|
||||
else {
|
||||
sprintfStatic(buffer2, sFmtRed, buffer1);
|
||||
y = GetMenuEntryYCoord(&gUnknown_203B21C->s0.input, index);
|
||||
PrintStringOnWindow(8, y, buffer2, gUnknown_203B21C->s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, buffer2, gUnknown_203B21C->s0.winId, 0);
|
||||
}
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B21C->s0.unk34);
|
||||
sub_80073E0(gUnknown_203B21C->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,14 +47,14 @@ bool8 sub_801A5D8(u32 param_1, s32 param_2, DungeonPos *param_3, u32 param_4)
|
|||
gUnknown_203B224->unk0 = param_1;
|
||||
FillInventoryGaps();
|
||||
sub_801AE84();
|
||||
gUnknown_203B224->unk54.s0.unk34 = param_2;
|
||||
gUnknown_203B224->unk54.s0.winId = param_2;
|
||||
gUnknown_203B224->unk54.s0.unk38 = &gUnknown_203B224->unk54.s0.windows.id[param_2];
|
||||
RestoreSavedWindows(&gUnknown_203B224->unk54.s0.windows);
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.unk34] = sUnknown_80DB95C;
|
||||
gUnknown_203B224->unk54.s0.unk38->header = &gUnknown_203B224->unk54.unk9C;
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.winId] = sUnknown_80DB95C;
|
||||
gUnknown_203B224->unk54.s0.unk38->header = &gUnknown_203B224->unk54.header;
|
||||
|
||||
if (param_3 != NULL)
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.unk34].pos = *param_3;
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.winId].pos = *param_3;
|
||||
|
||||
sub_8012D08(gUnknown_203B224->unk54.s0.unk38, param_4);
|
||||
sub_8099690(1);
|
||||
|
|
@ -179,7 +179,7 @@ void sub_801A928(void)
|
|||
if (gUnknown_203B224 != NULL) {
|
||||
gUnknown_203B228 = gUnknown_203B224->unk54.s0.input.menuIndex;
|
||||
gUnknown_203B22A = gUnknown_203B224->unk54.s0.input.unk1E;
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.unk34] = sUnknown_80DB944;
|
||||
gUnknown_203B224->unk54.s0.windows.id[gUnknown_203B224->unk54.s0.winId] = sUnknown_80DB944;
|
||||
sub_8099690(0);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B224->unk54.s0.windows, TRUE, TRUE);
|
||||
|
|
@ -190,10 +190,10 @@ void sub_801A928(void)
|
|||
|
||||
static void sub_801A998(void)
|
||||
{
|
||||
gUnknown_203B224->unk54.unk9C.count = gUnknown_203B224->unk54.s0.input.unk20;
|
||||
gUnknown_203B224->unk54.unk9C.currId = gUnknown_203B224->unk54.s0.input.unk1E;
|
||||
gUnknown_203B224->unk54.unk9C.width = 11;
|
||||
gUnknown_203B224->unk54.unk9C.f3 = 0;
|
||||
gUnknown_203B224->unk54.header.count = gUnknown_203B224->unk54.s0.input.unk20;
|
||||
gUnknown_203B224->unk54.header.currId = gUnknown_203B224->unk54.s0.input.unk1E;
|
||||
gUnknown_203B224->unk54.header.width = 11;
|
||||
gUnknown_203B224->unk54.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B224->unk54.s0.windows, TRUE, TRUE);
|
||||
}
|
||||
|
|
@ -207,14 +207,14 @@ void sub_801A9E0(void)
|
|||
u8 buf1[80]; // sp4
|
||||
Item item; // spC8
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B224->unk54.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B224->unk54.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B224->unk54.s0.winId);
|
||||
sub_80073B8(gUnknown_203B224->unk54.s0.winId);
|
||||
x = gUnknown_203B224->unk54.s0.input.unk1E * 8 + 10;
|
||||
|
||||
if (gUnknown_203B224->unk54.s0.input.unk1E == 0)
|
||||
PrintStringOnWindow(x, 0, sTeamToolboxA, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(x, 0, sTeamToolboxA, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
else
|
||||
PrintStringOnWindow(x, 0, sTeamToolboxB, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(x, 0, sTeamToolboxB, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
|
||||
for (r7 = 0; r7 < gUnknown_203B224->unk54.s0.input.unk1A; r7++) {
|
||||
teamItemIndex = (gUnknown_203B224->unk54.s0.input.unk1E * gUnknown_203B224->unk54.s0.input.unk1C) + r7;
|
||||
|
|
@ -223,7 +223,7 @@ void sub_801A9E0(void)
|
|||
switch (gUnknown_203B224->unk0) {
|
||||
case 0: {
|
||||
sub_8090E14(buf1, &item, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
|
|
@ -236,7 +236,7 @@ void sub_801A9E0(void)
|
|||
item.flags = 1;
|
||||
sub_8090E14(buf1, &item, &thing);
|
||||
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
|
|
@ -249,10 +249,10 @@ void sub_801A9E0(void)
|
|||
sub_8090E14(buf1, &item, &thing);
|
||||
|
||||
if (gUnknown_203B224->unk4[teamItemIndex] != 0 || sub_801ADA0(teamItemIndex))
|
||||
PrintStringOnWindow(8,GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input,r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8,GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input,r7), buf1, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
else {
|
||||
strncpy(gFormatBuffer_Items[0], buf1, 80);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -270,15 +270,15 @@ void sub_801A9E0(void)
|
|||
|
||||
if (GetStackSellPrice(&item) + gTeamInventoryRef->teamMoney > MAX_TEAM_MONEY) {
|
||||
sprintfStatic(buf2, sFmtRed, buf1);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf2, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf2, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
}
|
||||
else
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
}
|
||||
else {
|
||||
sub_8090E14(buf1, &item, 0);
|
||||
strncpy(gFormatBuffer_Items[0], buf1, 80);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -293,20 +293,20 @@ void sub_801A9E0(void)
|
|||
sub_8090E14(buf1, &item, &thing);
|
||||
|
||||
if (IsGummiItem(item.id))
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), buf1, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
else {
|
||||
strncpy(gFormatBuffer_Items[0], buf1, 80);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.unk34, 0);
|
||||
PrintFormattedStringOnWindow(8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), sFmtMoveItem0, gUnknown_203B224->unk54.s0.winId, 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (sub_801AED0(teamItemIndex) & 1)
|
||||
sub_8007B7C(gUnknown_203B224->unk54.s0.unk34, 8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), (gUnknown_203B224->unk54.s0.unk38->width - 2) * 8, 10);
|
||||
sub_8007B7C(gUnknown_203B224->unk54.s0.winId, 8, GetMenuEntryYCoord(&gUnknown_203B224->unk54.s0.input, r7), (gUnknown_203B224->unk54.s0.unk38->width - 2) * 8, 10);
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B224->unk54.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B224->unk54.s0.winId);
|
||||
}
|
||||
|
||||
// arm9.bin::02026234
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ bool8 sub_80302E8(s32 param_1, DungeonPos *param_2, u32 param_3)
|
|||
if (sMakuhitaDojoWork2 == NULL)
|
||||
sMakuhitaDojoWork2 = MemoryAlloc(sizeof(MakuhitaDojoWork2), 8);
|
||||
|
||||
sMakuhitaDojoWork2->s30.s0.unk34 = param_1;
|
||||
sMakuhitaDojoWork2->s30.s0.winId = param_1;
|
||||
sMakuhitaDojoWork2->s30.s0.unk38 = &sMakuhitaDojoWork2->s30.s0.windows.id[param_1];
|
||||
RestoreSavedWindows(&sMakuhitaDojoWork2->s30.s0.windows);
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.unk34] = sUnknown_80E0804;
|
||||
sMakuhitaDojoWork2->s30.s0.unk38->header = &sMakuhitaDojoWork2->s30.unk9C;
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.winId] = sUnknown_80E0804;
|
||||
sMakuhitaDojoWork2->s30.s0.unk38->header = &sMakuhitaDojoWork2->s30.header;
|
||||
|
||||
if (param_2 != NULL)
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.unk34].pos = *param_2;
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.winId].pos = *param_2;
|
||||
|
||||
sub_8012D08(sMakuhitaDojoWork2->s30.s0.unk38, param_3);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -92,7 +92,7 @@ UNUSED static void sub_8030444(bool8 a0)
|
|||
void sub_8030480(void)
|
||||
{
|
||||
if (sMakuhitaDojoWork2 != NULL) {
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.unk34] = sUnknown_80E07EC;
|
||||
sMakuhitaDojoWork2->s30.s0.windows.id[sMakuhitaDojoWork2->s30.s0.winId] = sUnknown_80E07EC;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sMakuhitaDojoWork2->s30.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sMakuhitaDojoWork2);
|
||||
|
|
@ -102,10 +102,10 @@ void sub_8030480(void)
|
|||
|
||||
static void sub_80304C8(void)
|
||||
{
|
||||
sMakuhitaDojoWork2->s30.unk9C.count = 1;
|
||||
sMakuhitaDojoWork2->s30.unk9C.currId = 0;
|
||||
sMakuhitaDojoWork2->s30.unk9C.width = 8;
|
||||
sMakuhitaDojoWork2->s30.unk9C.f3 = 0;
|
||||
sMakuhitaDojoWork2->s30.header.count = 1;
|
||||
sMakuhitaDojoWork2->s30.header.currId = 0;
|
||||
sMakuhitaDojoWork2->s30.header.width = 8;
|
||||
sMakuhitaDojoWork2->s30.header.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(sMakuhitaDojoWork2->s30.s0);
|
||||
}
|
||||
|
|
@ -120,10 +120,10 @@ static void MakuhitaDojo_DrawCourseList(void)
|
|||
s32 i;
|
||||
u8 buffer[256];
|
||||
|
||||
CallPrepareTextbox_8008C54(sMakuhitaDojoWork2->s30.s0.unk34);
|
||||
sub_80073B8(sMakuhitaDojoWork2->s30.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sCourses, sMakuhitaDojoWork2->s30.s0.unk34, 0);
|
||||
sub_8012BC4((sMakuhitaDojoWork2->s30.unk9C.width * 8) + 4, 0, sMakuhitaDojoWork2->s30.s0.input.unk1E + 1, 2, 7, sMakuhitaDojoWork2->s30.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(sMakuhitaDojoWork2->s30.s0.winId);
|
||||
sub_80073B8(sMakuhitaDojoWork2->s30.s0.winId);
|
||||
PrintStringOnWindow(10, 0, sCourses, sMakuhitaDojoWork2->s30.s0.winId, 0);
|
||||
sub_8012BC4((sMakuhitaDojoWork2->s30.header.width * 8) + 4, 0, sMakuhitaDojoWork2->s30.s0.input.unk1E + 1, 2, 7, sMakuhitaDojoWork2->s30.s0.winId);
|
||||
|
||||
for (i = 0; i < sMakuhitaDojoWork2->s30.s0.input.unk1A; i++) {
|
||||
iVar6 = sMakuhitaDojoWork2->unk0[sMakuhitaDojoWork2->s30.s0.input.unk1E * sMakuhitaDojoWork2->s30.s0.input.unk1C + i];
|
||||
|
|
@ -134,13 +134,13 @@ static void MakuhitaDojo_DrawCourseList(void)
|
|||
y = GetMenuEntryYCoord(&sMakuhitaDojoWork2->s30.s0.input, i);
|
||||
color = COLOR_WHITE_2; // COLOR_WHITE again?
|
||||
if ((bool8)IsMazeCompleted(mazeIndex)) {
|
||||
PrintStringOnWindow(8, y, sStarBullet, sMakuhitaDojoWork2->s30.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, y, sStarBullet, sMakuhitaDojoWork2->s30.s0.winId, 0);
|
||||
color = COLOR_GREEN;
|
||||
}
|
||||
sprintfStatic(buffer, sFmtColor, color, GetDungeonName1(dungeonIndex));
|
||||
PrintStringOnWindow(16, y, buffer, sMakuhitaDojoWork2->s30.s0.unk34, 0);
|
||||
PrintStringOnWindow(16, y, buffer, sMakuhitaDojoWork2->s30.s0.winId, 0);
|
||||
}
|
||||
sub_80073E0(sMakuhitaDojoWork2->s30.s0.unk34);
|
||||
sub_80073E0(sMakuhitaDojoWork2->s30.s0.winId);
|
||||
}
|
||||
|
||||
static s32 sub_8030668(void)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ void CreatePartnerSelectionMenu(s16 starterID)
|
|||
|
||||
sub_803CEAC();
|
||||
gUnknown_203B404->StarterID = starterID_s32;
|
||||
gUnknown_203B404->s18.s0.unk34 = 0;
|
||||
gUnknown_203B404->s18.s0.winId = 0;
|
||||
gUnknown_203B404->s18.s0.unk38 = &gUnknown_203B404->s18.s0.windows.id[0];
|
||||
|
||||
gUnknown_203B404->s18.s0.windows.id[0] = gUnknown_80F4290;
|
||||
|
|
@ -41,15 +41,15 @@ void CreatePartnerSelectionMenu(s16 starterID)
|
|||
gUnknown_203B404->s18.s0.windows.id[2] = gUnknown_80F4278;
|
||||
gUnknown_203B404->s18.s0.windows.id[3] = gUnknown_80F4278;
|
||||
|
||||
gUnknown_203B404->s18.s0.unk38->header = &gUnknown_203B404->s18.unk9C;
|
||||
gUnknown_203B404->s18.s0.unk38->header = &gUnknown_203B404->s18.header;
|
||||
|
||||
gUnknown_203B404->s18.unk9C.count = 1;
|
||||
gUnknown_203B404->s18.unk9C.currId = 0;
|
||||
gUnknown_203B404->s18.unk9C.width = 6;
|
||||
gUnknown_203B404->s18.unk9C.f3 = 0;
|
||||
gUnknown_203B404->s18.header.count = 1;
|
||||
gUnknown_203B404->s18.header.currId = 0;
|
||||
gUnknown_203B404->s18.header.width = 6;
|
||||
gUnknown_203B404->s18.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B404->s18.s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&gUnknown_203B404->s18.s0.input, GetValidPartners(), 10, gUnknown_203B404->s18.s0.unk34);
|
||||
sub_8013818(&gUnknown_203B404->s18.s0.input, GetValidPartners(), 10, gUnknown_203B404->s18.s0.winId);
|
||||
RedrawPartnerSelectionMenu();
|
||||
PersonalityTest_DisplayPartnerSprite();
|
||||
}
|
||||
|
|
@ -91,7 +91,7 @@ UNUSED static void sub_803CE34(bool8 cursorSprite)
|
|||
|
||||
void sub_803CE6C(void)
|
||||
{
|
||||
gUnknown_203B404->s18.s0.windows.id[gUnknown_203B404->s18.s0.unk34] = gUnknown_80F4278;
|
||||
gUnknown_203B404->s18.s0.windows.id[gUnknown_203B404->s18.s0.winId] = gUnknown_80F4278;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B404->s18.s0.windows, TRUE, TRUE);
|
||||
sub_803CECC();
|
||||
|
|
@ -124,18 +124,18 @@ static void RedrawPartnerSelectionMenu(void)
|
|||
|
||||
SUB_80095E4_CALL(gUnknown_203B404->s18.s0);
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B404->s18.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B404->s18.s0.unk34);
|
||||
PrintStringOnWindow(12, 0, gPartnerSelectionHeaderText, gUnknown_203B404->s18.s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B404->s18.s0.winId);
|
||||
sub_80073B8(gUnknown_203B404->s18.s0.winId);
|
||||
PrintStringOnWindow(12, 0, gPartnerSelectionHeaderText, gUnknown_203B404->s18.s0.winId, 0);
|
||||
|
||||
monCounter = 0;
|
||||
while (monCounter < gUnknown_203B404->s18.s0.input.unk1A) {
|
||||
yCoord = GetMenuEntryYCoord(&gUnknown_203B404->s18.s0.input, monCounter);
|
||||
monName = GetMonSpecies(gUnknown_203B404->PartnerArray[monCounter]);
|
||||
PrintStringOnWindow(8, yCoord, monName, gUnknown_203B404->s18.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, yCoord, monName, gUnknown_203B404->s18.s0.winId, 0);
|
||||
monCounter++;
|
||||
}
|
||||
sub_80073E0(gUnknown_203B404->s18.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B404->s18.s0.winId);
|
||||
gUnknown_203B404->unk16 = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,15 +32,15 @@ bool8 sub_802B640(u32 a0, DungeonPos *a1, u32 a2)
|
|||
if (sUnknown_203B2CC == NULL)
|
||||
sUnknown_203B2CC = MemoryAlloc(sizeof(struct unkStruct_203B2CC), 8);
|
||||
|
||||
sUnknown_203B2CC->s38.unk34 = a0;
|
||||
sUnknown_203B2CC->s38.winId = a0;
|
||||
sUnknown_203B2CC->s38.unk38 = &sUnknown_203B2CC->s38.windows.id[a0];
|
||||
|
||||
RestoreSavedWindows(&sUnknown_203B2CC->s38.windows);
|
||||
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.unk34] = sUnknown_80DFBEC;
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.winId] = sUnknown_80DFBEC;
|
||||
|
||||
if (a1 != NULL)
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.unk34].pos = *a1;
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.winId].pos = *a1;
|
||||
|
||||
sub_8012D08(sUnknown_203B2CC->s38.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -111,7 +111,7 @@ void sub_802B81C(void)
|
|||
|
||||
sUnknown_203B2D2 = sUnknown_203B2CC->s38.input.unk1E;
|
||||
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.unk34] = sUnknown_80DFBD0;
|
||||
sUnknown_203B2CC->s38.windows.id[sUnknown_203B2CC->s38.winId] = sUnknown_80DFBD0;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B2CC->s38.windows, TRUE, TRUE);
|
||||
|
|
@ -133,22 +133,22 @@ static void CreatePKMNNewsMenu(void)
|
|||
s32 new_index;
|
||||
u8 mailIndex;
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2CC->s38.unk34);
|
||||
sub_80073B8(sUnknown_203B2CC->s38.unk34);
|
||||
PrintStringOnWindow(10, 0, sNewsList, sUnknown_203B2CC->s38.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2CC->s38.winId);
|
||||
sub_80073B8(sUnknown_203B2CC->s38.winId);
|
||||
PrintStringOnWindow(10, 0, sNewsList, sUnknown_203B2CC->s38.winId, 0);
|
||||
|
||||
sub_8012BC4((sUnknown_80DFBE8.width * 8) + 4, 0, sUnknown_203B2CC->s38.input.unk1E + 1, 2, 7, sUnknown_203B2CC->s38.unk34);
|
||||
sub_8012BC4((sUnknown_80DFBE8.width * 8) + 4, 0, sUnknown_203B2CC->s38.input.unk1E + 1, 2, 7, sUnknown_203B2CC->s38.winId);
|
||||
|
||||
for (index = 0; index < sUnknown_203B2CC->s38.input.unk1A; index++) {
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B2CC->s38.input, index);
|
||||
new_index = (sUnknown_203B2CC->s38.input.unk1E * sUnknown_203B2CC->s38.input.unk1C) + index;
|
||||
mailIndex = sUnknown_203B2CC->receivedNewsletters[new_index];
|
||||
sub_803B6B0(10, y, 6, sUnknown_203B2CC->s38.unk34);
|
||||
sub_803B6B0(10, y, 6, sUnknown_203B2CC->s38.winId);
|
||||
sub_802BC7C();
|
||||
PrintFormattedStringOnWindow(21, y, GetPokemonMailHeadline(mailIndex), sUnknown_203B2CC->s38.unk34, 0);
|
||||
PrintFormattedStringOnWindow(21, y, GetPokemonMailHeadline(mailIndex), sUnknown_203B2CC->s38.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B2CC->s38.unk34);
|
||||
sub_80073E0(sUnknown_203B2CC->s38.winId);
|
||||
}
|
||||
|
||||
static s32 GetNumPKMNNews(void)
|
||||
|
|
|
|||
|
|
@ -34,14 +34,14 @@ bool8 sub_802BD14(s32 a0, DungeonPos *a1, u32 a2)
|
|||
if (sUnknown_203B2D8 == NULL)
|
||||
sUnknown_203B2D8 = MemoryAlloc(sizeof(struct unkStruct_203B2D8), 8);
|
||||
|
||||
sUnknown_203B2D8->unk4.s0.unk34 = a0;
|
||||
sUnknown_203B2D8->unk4.s0.winId = a0;
|
||||
sUnknown_203B2D8->unk4.s0.unk38 = &sUnknown_203B2D8->unk4.s0.windows.id[a0];
|
||||
RestoreSavedWindows(&sUnknown_203B2D8->unk4.s0.windows);
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.unk34] = sUnknown_80DFC74;
|
||||
sUnknown_203B2D8->unk4.s0.unk38->header = &sUnknown_203B2D8->unk4.unk9C;
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.winId] = sUnknown_80DFC74;
|
||||
sUnknown_203B2D8->unk4.s0.unk38->header = &sUnknown_203B2D8->unk4.header;
|
||||
|
||||
if (a1 != NULL)
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.unk34].pos = *a1;
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.winId].pos = *a1;
|
||||
|
||||
sub_8012D34(sUnknown_203B2D8->unk4.s0.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -104,7 +104,7 @@ void sub_802BEDC(void)
|
|||
{
|
||||
if (sUnknown_203B2D8 != NULL) {
|
||||
sUnknown_203B2DC = sUnknown_203B2D8->unk4.s0.input.menuIndex;
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.unk34] = sUnknown_80DFC5C;
|
||||
sUnknown_203B2D8->unk4.s0.windows.id[sUnknown_203B2D8->unk4.s0.winId] = sUnknown_80DFC5C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B2D8->unk4.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B2D8);
|
||||
|
|
@ -114,10 +114,10 @@ void sub_802BEDC(void)
|
|||
|
||||
static void sub_802BF30(void)
|
||||
{
|
||||
sUnknown_203B2D8->unk4.unk9C.count = 1;
|
||||
sUnknown_203B2D8->unk4.unk9C.currId = 0;
|
||||
sUnknown_203B2D8->unk4.unk9C.width = 12;
|
||||
sUnknown_203B2D8->unk4.unk9C.f3 = 0;
|
||||
sUnknown_203B2D8->unk4.header.count = 1;
|
||||
sUnknown_203B2D8->unk4.header.currId = 0;
|
||||
sUnknown_203B2D8->unk4.header.width = 12;
|
||||
sUnknown_203B2D8->unk4.header.f3 = 0;
|
||||
SUB_8009614_CALL(sUnknown_203B2D8->unk4.s0);
|
||||
}
|
||||
|
||||
|
|
@ -129,21 +129,21 @@ void CreateMailMenu(void)
|
|||
unkStruct_802C39C local;
|
||||
u8 buffer[128];
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2D8->unk4.s0.unk34);
|
||||
sub_80073B8(sUnknown_203B2D8->unk4.s0.unk34);
|
||||
PrintStringOnWindow((sUnknown_203B2D8->unk4.s0.input.unk1E * 8) + 10, 0, sMailbox, sUnknown_203B2D8->unk4.s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2D8->unk4.s0.winId);
|
||||
sub_80073B8(sUnknown_203B2D8->unk4.s0.winId);
|
||||
PrintStringOnWindow((sUnknown_203B2D8->unk4.s0.input.unk1E * 8) + 10, 0, sMailbox, sUnknown_203B2D8->unk4.s0.winId, 0);
|
||||
|
||||
for (i = 0; i < sUnknown_203B2D8->unk4.s0.input.unk1A; i++) {
|
||||
mail = GetMailboxSlotInfo(sUnknown_203B2D8->unk0[(sUnknown_203B2D8->unk4.s0.input.unk1E * sUnknown_203B2D8->unk4.s0.input.unk1C) + i]);
|
||||
local.unk0[0] = sUnknown_203B2D8->unk4.s0.unk34;
|
||||
local.unk0[0] = sUnknown_203B2D8->unk4.s0.winId;
|
||||
local.y = GetMenuEntryYCoord(&sUnknown_203B2D8->unk4.s0.input, i);
|
||||
|
||||
if (mail->mailType == MAIL_TYPE_UNK1) {
|
||||
y = GetMenuEntryYCoord(&sUnknown_203B2D8->unk4.s0.input, i);
|
||||
sub_803B6B0(10, y, 6, sUnknown_203B2D8->unk4.s0.unk34);
|
||||
sub_803B6B0(10, y, 6, sUnknown_203B2D8->unk4.s0.winId);
|
||||
PrintPokeNameToBuffer(gFormatBuffer_Monsters[0], GetPlayerPokemonStruct());
|
||||
sprintfStatic(buffer, GetPokemonMailHeadline(mail->unk4.dungeon.floor), gFormatBuffer_Monsters[0]);
|
||||
PrintStringOnWindow(21, y, buffer, sUnknown_203B2D8->unk4.s0.unk34, 0);
|
||||
PrintStringOnWindow(21, y, buffer, sUnknown_203B2D8->unk4.s0.winId, 0);
|
||||
}
|
||||
else {
|
||||
sub_803B35C(mail, &local);
|
||||
|
|
@ -154,7 +154,7 @@ void CreateMailMenu(void)
|
|||
}
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B2D8->unk4.s0.unk34);
|
||||
sub_80073E0(sUnknown_203B2D8->unk4.s0.winId);
|
||||
}
|
||||
|
||||
static s32 CountEmptyMailSlots(void)
|
||||
|
|
|
|||
|
|
@ -30,11 +30,11 @@ bool8 sub_80211AC(u32 mode, u32 a1)
|
|||
|
||||
sWigglytuffShop1Work = MemoryAlloc(sizeof(WigglytuffShop1Work), 8);
|
||||
sWigglytuffShop1Work->mode = mode;
|
||||
sWigglytuffShop1Work->s40.s0.unk34 = a1;
|
||||
sWigglytuffShop1Work->s40.s0.unk38 = &sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.unk34];
|
||||
sWigglytuffShop1Work->s40.s0.winId = a1;
|
||||
sWigglytuffShop1Work->s40.s0.unk38 = &sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.winId];
|
||||
RestoreSavedWindows(&sWigglytuffShop1Work->s40.s0.windows);
|
||||
sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.unk34] = sUnknown_80DC47C;
|
||||
sWigglytuffShop1Work->s40.s0.unk38->header = &sWigglytuffShop1Work->s40.unk9C;
|
||||
sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.winId] = sUnknown_80DC47C;
|
||||
sWigglytuffShop1Work->s40.s0.unk38->header = &sWigglytuffShop1Work->s40.header;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sWigglytuffShop1Work->s40.s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&sWigglytuffShop1Work->s40.s0.input, sub_8021664(), 10, a1);
|
||||
|
|
@ -104,7 +104,7 @@ void sub_80213A0(void)
|
|||
sUnknown_203B284 = sWigglytuffShop1Work->mode;
|
||||
sUnknown_203B288 = sWigglytuffShop1Work->s40.s0.input.menuIndex;
|
||||
sUnknown_203B28A = sWigglytuffShop1Work->s40.s0.input.unk1E;
|
||||
sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.unk34] = sUnknown_80DC464;
|
||||
sWigglytuffShop1Work->s40.s0.windows.id[sWigglytuffShop1Work->s40.s0.winId] = sUnknown_80DC464;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sWigglytuffShop1Work->s40.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sWigglytuffShop1Work);
|
||||
|
|
@ -114,10 +114,10 @@ void sub_80213A0(void)
|
|||
|
||||
static void sub_8021410(void)
|
||||
{
|
||||
sWigglytuffShop1Work->s40.unk9C.count = 1;
|
||||
sWigglytuffShop1Work->s40.unk9C.currId = 0;
|
||||
sWigglytuffShop1Work->s40.unk9C.width = 12;
|
||||
sWigglytuffShop1Work->s40.unk9C.f3 = 0;
|
||||
sWigglytuffShop1Work->s40.header.count = 1;
|
||||
sWigglytuffShop1Work->s40.header.currId = 0;
|
||||
sWigglytuffShop1Work->s40.header.width = 12;
|
||||
sWigglytuffShop1Work->s40.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sWigglytuffShop1Work->s40.s0.windows, TRUE, TRUE);
|
||||
|
||||
|
|
@ -131,11 +131,11 @@ void sub_8021494(void)
|
|||
u8 buffer1[80];
|
||||
u8 buffer2[80];
|
||||
|
||||
CallPrepareTextbox_8008C54(sWigglytuffShop1Work->s40.s0.unk34);
|
||||
sub_80073B8(sWigglytuffShop1Work->s40.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sFriendAreas, sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
CallPrepareTextbox_8008C54(sWigglytuffShop1Work->s40.s0.winId);
|
||||
sub_80073B8(sWigglytuffShop1Work->s40.s0.winId);
|
||||
PrintStringOnWindow(10, 0, sFriendAreas, sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
|
||||
sub_8012BC4((sWigglytuffShop1Work->s40.unk9C.width * 8) + 4, 0, sWigglytuffShop1Work->s40.s0.input.unk1E + 1, 1, 7, sWigglytuffShop1Work->s40.s0.unk34);
|
||||
sub_8012BC4((sWigglytuffShop1Work->s40.header.width * 8) + 4, 0, sWigglytuffShop1Work->s40.s0.input.unk1E + 1, 1, 7, sWigglytuffShop1Work->s40.s0.winId);
|
||||
|
||||
for (i = 0; i < sWigglytuffShop1Work->s40.s0.input.unk1A; i++) {
|
||||
friendAreaIndex = sWigglytuffShop1Work->friendAreas[(sWigglytuffShop1Work->s40.s0.input.unk1E * sWigglytuffShop1Work->s40.s0.input.unk1C) + i];
|
||||
|
|
@ -144,25 +144,25 @@ void sub_8021494(void)
|
|||
WriteFriendAreaName(buffer1, friendAreaIndex, TRUE);
|
||||
|
||||
if (GetFriendAreaPrice(friendAreaIndex) <= gTeamInventoryRef->teamMoney)
|
||||
PrintStringOnWindow(8,GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer1, sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
PrintStringOnWindow(8,GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer1, sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
else {
|
||||
sprintfStatic(buffer2, sFmtRedString, buffer1);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer2, sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer2, sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
}
|
||||
}
|
||||
else if (sWigglytuffShop1Work->mode == 0) {
|
||||
if (gFriendAreas[friendAreaIndex] == TRUE)
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), GetFriendAreaName(friendAreaIndex), sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), GetFriendAreaName(friendAreaIndex), sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
else {
|
||||
sprintfStatic(buffer2, sFmtGreenString, GetFriendAreaName(friendAreaIndex));
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer2, sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), buffer2, sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), GetFriendAreaName(friendAreaIndex), sWigglytuffShop1Work->s40.s0.unk34, 0);
|
||||
PrintStringOnWindow(8, GetMenuEntryYCoord(&sWigglytuffShop1Work->s40.s0.input, i), GetFriendAreaName(friendAreaIndex), sWigglytuffShop1Work->s40.s0.winId, 0);
|
||||
}
|
||||
|
||||
sub_80073E0(sWigglytuffShop1Work->s40.s0.unk34);
|
||||
sub_80073E0(sWigglytuffShop1Work->s40.s0.winId);
|
||||
}
|
||||
|
||||
static s32 sub_8021664(void)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include "globaldata.h"
|
||||
#include "constants/communication_error_codes.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_8023868.h"
|
||||
#include "friend_list.h"
|
||||
#include "code_8024458.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "code_80A26CC.h"
|
||||
|
|
@ -39,7 +39,7 @@ extern void sub_8031E10();
|
|||
extern void sub_8031E00();
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8031D70(u8, u32);
|
||||
extern u32 sub_8023CE8(void);
|
||||
extern u32 FriendList_GetPtr(void);
|
||||
extern void sub_8030F58(u32);
|
||||
extern void sub_8029B34(void);
|
||||
extern void sub_8029AD8(void);
|
||||
|
|
@ -401,7 +401,7 @@ void sub_80282FC(void)
|
|||
MemoryFree(sUnknown_203B2C0);
|
||||
sUnknown_203B2C0 = NULL;
|
||||
sub_8031E10();
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
sub_803084C();
|
||||
sub_80155F0();
|
||||
sub_80310B4();
|
||||
|
|
@ -454,17 +454,17 @@ void sub_8028348(void)
|
|||
CreateDialogueBoxAndPortrait(gUnknown_80DDCBC, 0, 0,0x101);
|
||||
break;
|
||||
case SELECT_HELPER_POKEMON:
|
||||
if(sub_8023CE8() == 0)
|
||||
if(FriendList_GetPtr() == 0)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(NULL, TRUE, TRUE);
|
||||
sub_8023868(3, 0, 0, 9);
|
||||
FriendList_Init(3, 0, 0, 9);
|
||||
}
|
||||
break;
|
||||
case 0x34:
|
||||
RestoreSavedWindows(&sUnknown_203B2C0->unk35C);
|
||||
SetMenuItems(sUnknown_203B2C0->unk21C, &sUnknown_203B2C0->unk35C, 3, &gUnknown_80DDAE4, gUnknown_80DDAFC, TRUE, 0, FALSE);
|
||||
sub_8023DA4();
|
||||
FriendList_ShowWindow();
|
||||
sub_8035CF4(sUnknown_203B2C0->unk21C, 3, TRUE);
|
||||
break;
|
||||
case NO_POKEMON_IN_FRIEND_AREA:
|
||||
|
|
@ -1559,20 +1559,20 @@ void sub_80297B8(void)
|
|||
|
||||
void sub_80297D4(void)
|
||||
{
|
||||
switch(sub_8023A94(TRUE))
|
||||
switch(FriendList_HandleInput(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendRescueCounterState(FRIEND_RESCUE_MAIN);
|
||||
sUnknown_203B2C0->speciesNum = -1;
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B2C0->speciesNum = sub_8023B44();
|
||||
sUnknown_203B2C0->speciesNum = FriendList_GetCurrId();
|
||||
SetFriendRescueCounterState(0x34);
|
||||
break;
|
||||
case 4:
|
||||
sUnknown_203B2C0->fallbackState = SELECT_HELPER_POKEMON;
|
||||
sUnknown_203B2C0->speciesNum = sub_8023B44();
|
||||
sUnknown_203B2C0->speciesNum = FriendList_GetCurrId();
|
||||
RestoreSavedWindows(&sUnknown_203B2C0->unk3BC);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(NULL, TRUE, TRUE);
|
||||
|
|
@ -1586,7 +1586,7 @@ void sub_8029884(void)
|
|||
{
|
||||
s32 menuAction;
|
||||
menuAction = -1;
|
||||
sub_8023A94(FALSE);
|
||||
FriendList_HandleInput(FALSE);
|
||||
if(sub_8012FD8(&(sUnknown_203B2C0->unk21C[3])) == 0)
|
||||
{
|
||||
sub_8013114(&(sUnknown_203B2C0->unk21C[3]), &menuAction);
|
||||
|
|
@ -1594,7 +1594,7 @@ void sub_8029884(void)
|
|||
switch(menuAction)
|
||||
{
|
||||
case CONFIRM_ACTION:
|
||||
sub_8023C60();
|
||||
FriendList_Free();
|
||||
SetFriendRescueCounterState(4);
|
||||
break;
|
||||
case INFO_ACTION:
|
||||
|
|
|
|||
|
|
@ -85,16 +85,16 @@ u32 sub_80306A8(u32 wonderMailType, u32 r1, DungeonPos *r2, u32 r3)
|
|||
|
||||
gUnknown_203B320 = MemoryAlloc(sizeof(struct unkStruct_203B320), 8);
|
||||
gUnknown_203B320->wonderMailType = wonderMailType;
|
||||
gUnknown_203B320->s28.s0.unk34 = r1;
|
||||
gUnknown_203B320->s28.s0.winId = r1;
|
||||
|
||||
gUnknown_203B320->s28.s0.unk38 = &gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.unk34];
|
||||
gUnknown_203B320->s28.s0.unk38 = &gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.winId];
|
||||
RestoreSavedWindows(&gUnknown_203B320->s28.s0.windows);
|
||||
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.unk34] = gUnknown_80E0854;
|
||||
gUnknown_203B320->s28.s0.unk38->header = &gUnknown_203B320->s28.unk9C;
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.winId] = gUnknown_80E0854;
|
||||
gUnknown_203B320->s28.s0.unk38->header = &gUnknown_203B320->s28.header;
|
||||
|
||||
if (r2 != 0)
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.unk34].pos = *r2;
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.winId].pos = *r2;
|
||||
|
||||
sub_8012D08(gUnknown_203B320->s28.s0.unk38, r3);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -155,7 +155,7 @@ void sub_803084C(void)
|
|||
{
|
||||
if(gUnknown_203B320 != NULL)
|
||||
{
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.unk34] = gUnknown_80E083C;
|
||||
gUnknown_203B320->s28.s0.windows.id[gUnknown_203B320->s28.s0.winId] = gUnknown_80E083C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B320->s28.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B320);
|
||||
|
|
@ -170,10 +170,10 @@ u8 *sub_8030894(void)
|
|||
|
||||
void sub_80308A0(void)
|
||||
{
|
||||
gUnknown_203B320->s28.unk9C.count = gUnknown_203B320->s28.s0.input.unk20;
|
||||
gUnknown_203B320->s28.unk9C.currId = gUnknown_203B320->s28.s0.input.unk1E;
|
||||
gUnknown_203B320->s28.unk9C.width = 12;
|
||||
gUnknown_203B320->s28.unk9C.f3 = 0;
|
||||
gUnknown_203B320->s28.header.count = gUnknown_203B320->s28.s0.input.unk20;
|
||||
gUnknown_203B320->s28.header.currId = gUnknown_203B320->s28.s0.input.unk1E;
|
||||
gUnknown_203B320->s28.header.width = 12;
|
||||
gUnknown_203B320->s28.header.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B320->s28.s0.windows, TRUE, TRUE);
|
||||
|
||||
|
|
@ -188,19 +188,19 @@ void sub_803092C(void)
|
|||
s32 index;
|
||||
unkStruct_802C39C local;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B320->s28.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B320->s28.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B320->s28.s0.winId);
|
||||
sub_80073B8(gUnknown_203B320->s28.s0.winId);
|
||||
r4 = gUnknown_203B320->s28.s0.input.unk1E * 8;
|
||||
r5 = r4;
|
||||
r5 += 10;
|
||||
PrintStringOnWindow(r5,0,gUnknown_80E086C[gUnknown_203B320->wonderMailType],gUnknown_203B320->s28.s0.unk34,0);
|
||||
PrintStringOnWindow(r5,0,gUnknown_80E086C[gUnknown_203B320->wonderMailType],gUnknown_203B320->s28.s0.winId,0);
|
||||
r4 += 4;
|
||||
r5 = r4 + gUnknown_203B320->s28.unk9C.width * 8;
|
||||
sub_8012BC4(r5,0,gUnknown_203B320->s28.s0.input.unk1E + 1,1,7,gUnknown_203B320->s28.s0.unk34);
|
||||
r5 = r4 + gUnknown_203B320->s28.header.width * 8;
|
||||
sub_8012BC4(r5,0,gUnknown_203B320->s28.s0.input.unk1E + 1,1,7,gUnknown_203B320->s28.s0.winId);
|
||||
|
||||
for (index = 0; index < gUnknown_203B320->s28.s0.input.unk1A; index++) {
|
||||
mail = GetMailatIndex(gUnknown_203B320->unk0[(gUnknown_203B320->s28.s0.input.unk1E * gUnknown_203B320->s28.s0.input.unk1C) + index]);
|
||||
local.unk0[0] = gUnknown_203B320->s28.s0.unk34;
|
||||
local.unk0[0] = gUnknown_203B320->s28.s0.winId;
|
||||
local.y = GetMenuEntryYCoord(&gUnknown_203B320->s28.s0.input,index);
|
||||
local.mailTitleType = 7;
|
||||
local.mailMissionType = MISSION_TYPE_FRIEND_RESCUE;
|
||||
|
|
@ -232,7 +232,7 @@ void sub_803092C(void)
|
|||
}
|
||||
CreateRescueTitle(&local);
|
||||
}
|
||||
sub_80073E0(gUnknown_203B320->s28.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B320->s28.s0.winId);
|
||||
}
|
||||
|
||||
s32 sub_8030A74(void)
|
||||
|
|
|
|||
|
|
@ -28,15 +28,15 @@ bool8 sub_802C10C(s32 a0, DungeonPos *a1, s32 a2)
|
|||
if (gUnknown_203B2E0 == NULL)
|
||||
gUnknown_203B2E0 = MemoryAlloc(sizeof(struct unkStruct_203B2E0), 8);
|
||||
|
||||
gUnknown_203B2E0->unk8.s0.unk34 = a0;
|
||||
gUnknown_203B2E0->unk8.s0.winId = a0;
|
||||
gUnknown_203B2E0->unk8.s0.unk38 = &gUnknown_203B2E0->unk8.s0.windows.id[a0];
|
||||
RestoreSavedWindows(&gUnknown_203B2E0->unk8.s0.windows);
|
||||
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.unk34] = sUnknown_80DFCB4;
|
||||
gUnknown_203B2E0->unk8.s0.unk38->header = &gUnknown_203B2E0->unk8.unk9C;
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.winId] = sUnknown_80DFCB4;
|
||||
gUnknown_203B2E0->unk8.s0.unk38->header = &gUnknown_203B2E0->unk8.header;
|
||||
|
||||
if (a1 != NULL)
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.unk34].pos = *a1;
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.winId].pos = *a1;
|
||||
|
||||
sub_8012D34(gUnknown_203B2E0->unk8.s0.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -98,7 +98,7 @@ void sub_802C2D4(void)
|
|||
{
|
||||
if (gUnknown_203B2E0 != NULL) {
|
||||
gUnknown_203B2E4 = gUnknown_203B2E0->unk8.s0.input.menuIndex;
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.unk34] = sUnknown_80DFC9C;
|
||||
gUnknown_203B2E0->unk8.s0.windows.id[gUnknown_203B2E0->unk8.s0.winId] = sUnknown_80DFC9C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B2E0->unk8.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B2E0);
|
||||
|
|
@ -108,10 +108,10 @@ void sub_802C2D4(void)
|
|||
|
||||
static void sub_802C328(void)
|
||||
{
|
||||
gUnknown_203B2E0->unk8.unk9C.count = gUnknown_203B2E0->unk8.s0.input.unk20;
|
||||
gUnknown_203B2E0->unk8.unk9C.currId = gUnknown_203B2E0->unk8.s0.input.unk1E;
|
||||
gUnknown_203B2E0->unk8.unk9C.width = 12;
|
||||
gUnknown_203B2E0->unk8.unk9C.f3 = 0;
|
||||
gUnknown_203B2E0->unk8.header.count = gUnknown_203B2E0->unk8.s0.input.unk20;
|
||||
gUnknown_203B2E0->unk8.header.currId = gUnknown_203B2E0->unk8.s0.input.unk1E;
|
||||
gUnknown_203B2E0->unk8.header.width = 12;
|
||||
gUnknown_203B2E0->unk8.header.f3 = 0;
|
||||
|
||||
SUB_8009614_CALL(gUnknown_203B2E0->unk8.s0);
|
||||
}
|
||||
|
|
@ -125,21 +125,21 @@ void DrawPelipperBoardJobMenu(void)
|
|||
s32 i;
|
||||
unkStruct_802C39C local;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B2E0->unk8.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B2E0->unk8.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B2E0->unk8.s0.winId);
|
||||
sub_80073B8(gUnknown_203B2E0->unk8.s0.winId);
|
||||
iVar4 = gUnknown_203B2E0->unk8.s0.input.unk1E * 8;
|
||||
x = iVar4;
|
||||
x += 10;
|
||||
PrintStringOnWindow(x, 0, sBulletinBoard, gUnknown_203B2E0->unk8.s0.unk34, 0);
|
||||
PrintStringOnWindow(x, 0, sBulletinBoard, gUnknown_203B2E0->unk8.s0.winId, 0);
|
||||
|
||||
iVar4 += 4;
|
||||
x = iVar4 + (gUnknown_203B2E0->unk8.unk9C.width * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E0->unk8.s0.input.unk1E + 1, 2, 7, gUnknown_203B2E0->unk8.s0.unk34);
|
||||
x = iVar4 + (gUnknown_203B2E0->unk8.header.width * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E0->unk8.s0.input.unk1E + 1, 2, 7, gUnknown_203B2E0->unk8.s0.winId);
|
||||
|
||||
for (i = 0; i < gUnknown_203B2E0->unk8.s0.input.unk1A; i++) {
|
||||
slotIndex = (gUnknown_203B2E0->pelipperBoardSlots[(gUnknown_203B2E0->unk8.s0.input.unk1E * gUnknown_203B2E0->unk8.s0.input.unk1C) + i]);
|
||||
mail = GetPelipperBoardSlotInfo(slotIndex);
|
||||
local.unk0[0] = gUnknown_203B2E0->unk8.s0.unk34;
|
||||
local.unk0[0] = gUnknown_203B2E0->unk8.s0.winId;
|
||||
local.y = GetMenuEntryYCoord(&gUnknown_203B2E0->unk8.s0.input, i);
|
||||
sub_803B35C(mail, &local);
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ void DrawPelipperBoardJobMenu(void)
|
|||
CreateRescueTitle(&local);
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B2E0->unk8.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B2E0->unk8.s0.winId);
|
||||
}
|
||||
|
||||
static s32 CountPelipperBoardSlots(void)
|
||||
|
|
|
|||
|
|
@ -30,15 +30,15 @@ bool8 sub_802C4C8(s32 a0, DungeonPos *a1, u32 a2)
|
|||
return FALSE;
|
||||
|
||||
gUnknown_203B2E8 = MemoryAlloc(sizeof(struct unkStruct_203B2E0), 8);
|
||||
gUnknown_203B2E8->unk8.s0.unk34 = a0;
|
||||
gUnknown_203B2E8->unk8.s0.winId = a0;
|
||||
gUnknown_203B2E8->unk8.s0.unk38 = &gUnknown_203B2E8->unk8.s0.windows.id[a0];
|
||||
RestoreSavedWindows(&gUnknown_203B2E8->unk8.s0.windows);
|
||||
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.unk34] = sUnknown_80DFCFC;
|
||||
gUnknown_203B2E8->unk8.s0.unk38->header = &gUnknown_203B2E8->unk8.unk9C;
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.winId] = sUnknown_80DFCFC;
|
||||
gUnknown_203B2E8->unk8.s0.unk38->header = &gUnknown_203B2E8->unk8.header;
|
||||
|
||||
if (a1 != NULL)
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.unk34].pos = *a1;
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.winId].pos = *a1;
|
||||
|
||||
sub_8012D34(gUnknown_203B2E8->unk8.s0.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -100,7 +100,7 @@ void sub_802C688(void)
|
|||
{
|
||||
if (gUnknown_203B2E8 != NULL) {
|
||||
gUnknown_203B2EC = gUnknown_203B2E8->unk8.s0.input.menuIndex;
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.unk34] = sUnknown_80DFCE4;
|
||||
gUnknown_203B2E8->unk8.s0.windows.id[gUnknown_203B2E8->unk8.s0.winId] = sUnknown_80DFCE4;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B2E8->unk8.s0.windows, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B2E8);
|
||||
|
|
@ -110,10 +110,10 @@ void sub_802C688(void)
|
|||
|
||||
static void sub_802C6DC(void)
|
||||
{
|
||||
gUnknown_203B2E8->unk8.unk9C.count = gUnknown_203B2E8->unk8.s0.input.unk20;
|
||||
gUnknown_203B2E8->unk8.unk9C.currId = gUnknown_203B2E8->unk8.s0.input.unk1E;
|
||||
gUnknown_203B2E8->unk8.unk9C.width = 12;
|
||||
gUnknown_203B2E8->unk8.unk9C.f3 = 0;
|
||||
gUnknown_203B2E8->unk8.header.count = gUnknown_203B2E8->unk8.s0.input.unk20;
|
||||
gUnknown_203B2E8->unk8.header.currId = gUnknown_203B2E8->unk8.s0.input.unk1E;
|
||||
gUnknown_203B2E8->unk8.header.width = 12;
|
||||
gUnknown_203B2E8->unk8.header.f3 = 0;
|
||||
|
||||
SUB_8009614_CALL(gUnknown_203B2E8->unk8.s0);
|
||||
}
|
||||
|
|
@ -126,26 +126,26 @@ void DrawJobListMenu(void)
|
|||
s32 x;
|
||||
unkStruct_802C39C local;
|
||||
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
CallPrepareTextbox_8008C54(gUnknown_203B2E8->unk8.s0.winId);
|
||||
sub_80073B8(gUnknown_203B2E8->unk8.s0.winId);
|
||||
r4 = gUnknown_203B2E8->unk8.s0.input.unk1E * 8;
|
||||
x = r4;
|
||||
x += 10;
|
||||
PrintStringOnWindow(x, 0, sJobList, gUnknown_203B2E8->unk8.s0.unk34, 0);
|
||||
PrintStringOnWindow(x, 0, sJobList, gUnknown_203B2E8->unk8.s0.winId, 0);
|
||||
|
||||
r4 += 4;
|
||||
x = r4 + (gUnknown_203B2E8->unk8.unk9C.width * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E8->unk8.s0.input.unk1E + 1, 2, 7, gUnknown_203B2E8->unk8.s0.unk34);
|
||||
x = r4 + (gUnknown_203B2E8->unk8.header.width * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E8->unk8.s0.input.unk1E + 1, 2, 7, gUnknown_203B2E8->unk8.s0.winId);
|
||||
|
||||
for (i = 0; i < gUnknown_203B2E8->unk8.s0.input.unk1A; i++) {
|
||||
mail = GetJobSlotInfo(gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->unk8.s0.input.unk1E * gUnknown_203B2E8->unk8.s0.input.unk1C) + i]);
|
||||
local.unk0[0] = gUnknown_203B2E8->unk8.s0.unk34;
|
||||
local.unk0[0] = gUnknown_203B2E8->unk8.s0.winId;
|
||||
local.y = GetMenuEntryYCoord(&gUnknown_203B2E8->unk8.s0.input, i);
|
||||
sub_803B35C(mail, &local);
|
||||
CreateRescueTitle(&local);
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
sub_80073E0(gUnknown_203B2E8->unk8.s0.winId);
|
||||
}
|
||||
|
||||
static s32 CountAcceptedJobs(void)
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@ bool8 sub_802CDD4(u32 a0)
|
|||
if (sUnknown_203B2F4 == NULL)
|
||||
sUnknown_203B2F4 = MemoryAlloc(sizeof(struct_Sub80095E4_2), 8);
|
||||
|
||||
sUnknown_203B2F4->s0.unk34 = a0;
|
||||
sUnknown_203B2F4->s0.unk38 = &sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.unk34];
|
||||
sUnknown_203B2F4->s0.winId = a0;
|
||||
sUnknown_203B2F4->s0.unk38 = &sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.winId];
|
||||
RestoreSavedWindows(&sUnknown_203B2F4->s0.windows);
|
||||
sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.unk34] = sUnknown_80DFDA4;
|
||||
sUnknown_203B2F4->s0.unk38->header = &sUnknown_203B2F4->unk9C;
|
||||
sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.winId] = sUnknown_80DFDA4;
|
||||
sUnknown_203B2F4->s0.unk38->header = &sUnknown_203B2F4->header;
|
||||
sub_8012D34(sUnknown_203B2F4->s0.unk38, 4);
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B2F4->s0.windows, TRUE, TRUE);
|
||||
|
|
@ -82,7 +82,7 @@ void sub_802CED8(bool8 cursorSprite)
|
|||
void sub_802CF14(void)
|
||||
{
|
||||
if (sUnknown_203B2F4 != NULL) {
|
||||
sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.unk34] = sUnknown_80DFD8C;
|
||||
sUnknown_203B2F4->s0.windows.id[sUnknown_203B2F4->s0.winId] = sUnknown_80DFD8C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B2F4->s0.windows, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B2F4);
|
||||
|
|
@ -92,10 +92,10 @@ void sub_802CF14(void)
|
|||
|
||||
static void sub_802CF5C(void)
|
||||
{
|
||||
sUnknown_203B2F4->unk9C.count = sUnknown_203B2F4->s0.input.unk20;
|
||||
sUnknown_203B2F4->unk9C.currId = sUnknown_203B2F4->s0.input.unk1E;
|
||||
sUnknown_203B2F4->unk9C.width = 12;
|
||||
sUnknown_203B2F4->unk9C.f3 = 0;
|
||||
sUnknown_203B2F4->header.count = sUnknown_203B2F4->s0.input.unk20;
|
||||
sUnknown_203B2F4->header.currId = sUnknown_203B2F4->s0.input.unk1E;
|
||||
sUnknown_203B2F4->header.width = 12;
|
||||
sUnknown_203B2F4->header.f3 = 0;
|
||||
|
||||
SUB_8009614_CALL(sUnknown_203B2F4->s0);
|
||||
}
|
||||
|
|
@ -107,20 +107,20 @@ void sub_802CFD0(void)
|
|||
s32 r5;
|
||||
s32 r4;
|
||||
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2F4->s0.unk34);
|
||||
sub_80073B8(sUnknown_203B2F4->s0.unk34);
|
||||
CallPrepareTextbox_8008C54(sUnknown_203B2F4->s0.winId);
|
||||
sub_80073B8(sUnknown_203B2F4->s0.winId);
|
||||
|
||||
r5 = r4 = (sUnknown_203B2F4->s0.input.unk1E * 8) + 10;
|
||||
PrintStringOnWindow(r5, 0, sRescueEvent, sUnknown_203B2F4->s0.unk34, 0);
|
||||
PrintStringOnWindow(r5, 0, sRescueEvent, sUnknown_203B2F4->s0.winId, 0);
|
||||
|
||||
r4 -= 6;
|
||||
r5 = r4 + (sUnknown_203B2F4->unk9C.width * 8);
|
||||
sub_8012BC4(r5, 0, sUnknown_203B2F4->s0.input.unk1E + 1, 2, 7, sUnknown_203B2F4->s0.unk34);
|
||||
r5 = r4 + (sUnknown_203B2F4->header.width * 8);
|
||||
sub_8012BC4(r5, 0, sUnknown_203B2F4->s0.input.unk1E + 1, 2, 7, sUnknown_203B2F4->s0.winId);
|
||||
|
||||
for (r5 = 0; r5 < sUnknown_203B2F4->s0.input.unk1A; r5++) {
|
||||
iVar1 = sub_803B344((sUnknown_203B2F4->s0.input.unk1E * sUnknown_203B2F4->s0.input.unk1C) + r5);
|
||||
|
||||
local.unk0[0] = sUnknown_203B2F4->s0.unk34;
|
||||
local.unk0[0] = sUnknown_203B2F4->s0.winId;
|
||||
local.y = GetMenuEntryYCoord(&sUnknown_203B2F4->s0.input, r5);
|
||||
sub_803B35C(&iVar1->mail, &local);
|
||||
|
||||
|
|
@ -129,5 +129,5 @@ void sub_802CFD0(void)
|
|||
CreateRescueTitle(&local);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B2F4->s0.unk34);
|
||||
sub_80073E0(sUnknown_203B2F4->s0.winId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
.include "src/code_80035F0.o"
|
||||
.include "src/code_8023144.o"
|
||||
.include "src/code_8023868.o"
|
||||
.include "src/friend_list.o"
|
||||
.include "src/code_809A560.o"
|
||||
.include "src/code_809C5C4.o"
|
||||
.include "src/ground_map.o"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user