mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-01 21:38:41 -05:00
Create common_strings.h
This commit is contained in:
48
include/common_strings.h
Normal file
48
include/common_strings.h
Normal file
@@ -0,0 +1,48 @@
|
||||
#ifndef GUARD_COMMON_STRINGS_H
|
||||
#define GUARD_COMMON_STRINGS_H
|
||||
|
||||
enum KecleonBrosMode
|
||||
{
|
||||
KECLEON_BROS_MODE_ITEMS_AWAKE,
|
||||
KECLEON_BROS_MODE_ITEMS_ASLEEP,
|
||||
KECLEON_BROS_MODE_WARES_AWAKE,
|
||||
KECLEON_BROS_MODE_WARES_ASLEEP,
|
||||
KECLEON_BROS_MODE_COUNT
|
||||
};
|
||||
|
||||
#define MAX_HINTS 5
|
||||
|
||||
// size: 0x8
|
||||
typedef struct Hints
|
||||
{
|
||||
const u8 *heading;
|
||||
const u8 *body;
|
||||
} Hints;
|
||||
|
||||
extern const u8 *gCommonYes[]; // 80D4920
|
||||
extern const u8 *gCommonNo[]; // 80D4928
|
||||
extern const u8 *gCommonCancel[]; // 80D4934
|
||||
extern const u8 *gCommonTrash[]; // 80D4940
|
||||
extern const u8 *gCommonDelete[]; // 80D494C
|
||||
extern const u8 *gCommonStore[]; // 80D4958
|
||||
extern const u8 *gCommonTake[]; // 80D4964
|
||||
extern const u8 *gCommonInfo[]; // 80D4970
|
||||
extern const u8 *gCommonBuy[]; // 80D4978
|
||||
extern const u8 *gCommonSell[]; // 80D4984
|
||||
extern const u8 *gCommonAccept[]; // 80D4990
|
||||
extern const u8 *gCommonCheck[]; // 80D499C
|
||||
extern const u8 *gCommonFriend[]; // 80D49A8
|
||||
extern const u8 *gCommonExit[]; // 80D49B4
|
||||
extern const u8 *gCommonTripleQuestionMark[]; // 80D49BC
|
||||
extern const u8 *gCommonDepositPrompt[]; // 80D49CC
|
||||
extern const u8 *gCommonWithdrawPrompt[]; // 80D49DC
|
||||
|
||||
extern const u8 *gCommonFelicity[2][15]; // 80D49E0
|
||||
extern const u8 *gCommonKangaskhanStorage[2][20]; // 80D5404
|
||||
extern const u8 *gCommonKecleonBros[KECLEON_BROS_MODE_COUNT][23]; // 80D5EC8
|
||||
extern const u8 *gCommonWigglytuff[2][20]; // 80D79A4
|
||||
extern const u8 *gCommonGulpin[2][25]; // 80D8888
|
||||
extern const u8 *gCommonMakuhita[2][10]; // 80D9FC8
|
||||
extern const Hints gCommonHints[MAX_HINTS]; // 80DAA98
|
||||
|
||||
#endif // GUARD_COMMON_STRINGS_H
|
||||
@@ -6,15 +6,6 @@
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
enum KecleonBrosMode
|
||||
{
|
||||
KECLEON_BROS_MODE_ITEMS_AWAKE,
|
||||
KECLEON_BROS_MODE_ITEMS_ASLEEP,
|
||||
KECLEON_BROS_MODE_WARES_AWAKE,
|
||||
KECLEON_BROS_MODE_WARES_ASLEEP,
|
||||
KECLEON_BROS_MODE_COUNT
|
||||
};
|
||||
|
||||
enum KecleonStoreStates
|
||||
{
|
||||
KECLEON_STORE_INIT = 0,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_8012A18_1.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "common_strings.h"
|
||||
#include "memory.h"
|
||||
#include "input.h"
|
||||
#include "text1.h"
|
||||
@@ -18,8 +19,6 @@ struct unkStruct_203B200
|
||||
u8 fill[0x50 - 0x28];
|
||||
};
|
||||
extern struct unkStruct_203B200 *gUnknown_203B200;
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
|
||||
extern const char gUnknown_80DB6A4;
|
||||
extern const char gUnknown_80DB6BC;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801B60C.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/colors.h"
|
||||
#include "items.h"
|
||||
#include "kecleon_bros4.h"
|
||||
@@ -19,10 +20,6 @@ extern u8 gAvailablePokemonNames[]; // 202DF98
|
||||
|
||||
static EWRAM_DATA_2 unkStruct_203B234 *sUnknown_203B234 = {0};
|
||||
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
#include "data/code_801B60C.h" // 80DBA58
|
||||
|
||||
// event_flag.s
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_801C620.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/item.h"
|
||||
#include "constants/iq_skill.h"
|
||||
#include "items.h"
|
||||
@@ -145,7 +146,6 @@ extern u8 gUnknown_80DBE1C[];
|
||||
extern char gUnknown_80DBE2C[]; // {ARG_MOVE_ITEM_0}
|
||||
extern char gUnknown_80DBE30[]; // {ARG_POKEMON_0}
|
||||
extern u8 gUnknown_80DBDC8[];
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
extern u32 sub_801CE58(void);
|
||||
extern void sub_801CC38(void);
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "event_flag.h"
|
||||
#include "ground_main.h"
|
||||
#include "code_801C620.h"
|
||||
#include "common_strings.h"
|
||||
|
||||
struct unkStruct_203B258
|
||||
{
|
||||
@@ -88,10 +89,7 @@ extern u8 gMenuItems[];
|
||||
extern u8 gMenuJobList[];
|
||||
extern u8 gMenuTeam[];
|
||||
extern u8 gMenuOthers[];
|
||||
extern u8 *gCommonExit[];
|
||||
extern u8 gUnknown_80DBF34[];
|
||||
extern u8 *gCommonFriend[];
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
struct TeamBadgeData
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_8023144.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/colors.h"
|
||||
#include "constants/input.h"
|
||||
#include "constants/iq_skill.h"
|
||||
@@ -42,8 +43,6 @@ extern u8 gUnknown_80DC5EC[];
|
||||
extern u8 gUnknown_202DE58[];
|
||||
extern u8 gUnknown_80DC8F0[];
|
||||
extern u8 gUnknown_80DC8F8[];
|
||||
extern u8 *gCommonTrash[];
|
||||
extern u8 *gCommonInfo[];
|
||||
extern void sub_8022924(s32);
|
||||
|
||||
void GetGummiItemStatBoost(PokemonStruct1* pokemon, u8 id, bool8 checkBoostFlags, Gummi *gummi);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "common_strings.h"
|
||||
#include "debug_menu2.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
@@ -41,9 +42,6 @@ static const UnkTextStruct2 sUnknown_80E7E64 =
|
||||
ALIGNED(4) static const u8 sNumberPrompt[] = "Number?";
|
||||
ALIGNED(4) static const u8 sFill[] = "pksdir0";
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
void sub_803A504(u32);
|
||||
void sub_803A51C(void);
|
||||
void sub_803A5A0(void);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8021774.h"
|
||||
#include "code_8021774_pre.h"
|
||||
#include "common_strings.h"
|
||||
#include "debug_menu3.h"
|
||||
#include "friend_area.h"
|
||||
#include "memory.h"
|
||||
@@ -35,9 +36,6 @@ ALIGNED(4) static const u8 sClose[] = "CLOSE";
|
||||
ALIGNED(4) static const u8 sOpen[] = "OPEN";
|
||||
ALIGNED(4) static const u8 sFill[] = "pksdir0";
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
void sub_803A924(u32);
|
||||
void sub_803A93C(void);
|
||||
void sub_803A9AC(void);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "common_strings.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
@@ -14,14 +15,6 @@ extern u32 gUnknown_202DE30;
|
||||
extern u8 gUnknown_202E1C8[];
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonStore[];
|
||||
extern const u8 *gCommonTake[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonDepositPrompt;
|
||||
extern const u8 *gCommonWithdrawPrompt;
|
||||
extern const u8 *gCommonFelicity[2][15];
|
||||
|
||||
#include "data/felicity_bank.h"
|
||||
|
||||
static void CreateFelicityBankShopMenu(void);
|
||||
@@ -390,9 +383,9 @@ static void sub_8016B48(u8 action)
|
||||
sub_80073B8(sFelicityBankWork->unk78);
|
||||
|
||||
if (action != FELICITY_BANK_ACTION_WITHDRAW)
|
||||
xxx_call_draw_string(12, 0, gCommonDepositPrompt, sFelicityBankWork->unk78, 0);
|
||||
xxx_call_draw_string(12, 0, *gCommonDepositPrompt, sFelicityBankWork->unk78, 0);
|
||||
else
|
||||
xxx_call_draw_string(12, 0, gCommonWithdrawPrompt, sFelicityBankWork->unk78, 0);
|
||||
xxx_call_draw_string(12, 0, *gCommonWithdrawPrompt, sFelicityBankWork->unk78, 0);
|
||||
|
||||
sub_8013C68(&sFelicityBankWork->unk64);
|
||||
sub_80073E0(sFelicityBankWork->unk78);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "event_flag.h"
|
||||
#include "friend_area_action_menu.h"
|
||||
@@ -21,10 +22,6 @@
|
||||
|
||||
extern struct unkStruct_203B2BC *gUnknown_203B2BC;
|
||||
|
||||
extern u8 *gCommonYes[];
|
||||
extern u8 *gCommonNo[];
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
void sub_8027D40(u32, BulkItem *heldItem);
|
||||
void sub_8027794(void);
|
||||
extern void SetFriendAreaActionMenuState(u32);
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "event_flag.h"
|
||||
#include "items.h"
|
||||
@@ -53,8 +54,6 @@ extern u8 gAvailablePokemonNames[];
|
||||
|
||||
EWRAM_DATA_2 unkStruct_203B2B4 *gUnknown_203B2B4 = {0};
|
||||
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
#include "data/friend_list_menu.h"
|
||||
|
||||
extern s16 sub_80A5728(void);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "code_801EE10.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "common_strings.h"
|
||||
#include "gulpin_shop.h"
|
||||
#include "pokemon.h"
|
||||
#include "memory.h"
|
||||
@@ -13,13 +14,7 @@
|
||||
|
||||
extern u8 gAvailablePokemonNames[]; // 202DF98
|
||||
|
||||
EWRAM_DATA_2 GulpinShopWork *sGulpinShopWork = {0};
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonGulpin[2][25]; // 80D8888
|
||||
static EWRAM_DATA_2 GulpinShopWork *sGulpinShopWork = {0};
|
||||
|
||||
#include "data/gulpin_shop.h"
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "code_801EE10.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "common_strings.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "gulpin_shop.h"
|
||||
#include "gulpin_shop_801FB50.h"
|
||||
@@ -24,12 +25,6 @@ extern u8 gUnknown_202E128[];
|
||||
extern u8 gUnknown_202E1C8[];
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonGulpin[2][25]; // 80D8888
|
||||
|
||||
#include "data/gulpin_shop_801FB50.h"
|
||||
|
||||
// code_801EE10_1.c (return var type)
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
#include "global.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "common_strings.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
#include "input.h"
|
||||
|
||||
#define MAX_HINTS 5
|
||||
|
||||
struct Hints
|
||||
{
|
||||
u8 *heading;
|
||||
u8 *body;
|
||||
};
|
||||
|
||||
struct unkStruct_203B268
|
||||
{
|
||||
// size: 0xA0
|
||||
@@ -41,7 +34,6 @@ extern UnkTextStruct2 gUnknown_80DC0A0;
|
||||
extern UnkTextStruct2 gUnknown_80DC0BC;
|
||||
extern UnkTextStruct2 gUnknown_80DC0E4;
|
||||
extern UnkTextStruct2 gUnknown_80DC0FC;
|
||||
extern struct Hints gCommonHints[MAX_HINTS];
|
||||
extern u8 gUnknown_80DC0D4[MAX_HINTS];
|
||||
|
||||
extern void sub_801E714(void);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "kangaskhan_storage1.h"
|
||||
#include "kecleon_bros4.h"
|
||||
#include "memory.h"
|
||||
@@ -17,14 +18,6 @@ extern u8 gUnknown_202E5D8[];
|
||||
|
||||
EWRAM_DATA_2 struct KangaskhanStorageWork *gKangaskhanStorageWork = {0};
|
||||
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonStore[];
|
||||
extern const u8 *gCommonTake[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonKangaskhanStorage[2][20]; // 80D5404
|
||||
|
||||
#include "data/kangaskhan_storage1.h" // 80DB748
|
||||
|
||||
static void AdvanceToKangaskhanStorageFallbackState(void);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "kangaskhan_storage2.h"
|
||||
#include "kecleon_bros4.h"
|
||||
#include "memory.h"
|
||||
@@ -10,14 +11,9 @@
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
|
||||
EWRAM_DATA_2 unkStruct_203B20C *gUnknown_203B20C = {0};
|
||||
static EWRAM_DATA_2 unkStruct_203B20C *sUnknown_203B20C = {0};
|
||||
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonStore[];
|
||||
extern const u8 *gCommonTake[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
#include "data/kangaskhan_storage2.h" // 80DB7B8
|
||||
#include "data/kangaskhan_storage2.h"
|
||||
|
||||
static void sub_8017F10(u32);
|
||||
static void sub_8017F28(void);
|
||||
@@ -39,17 +35,17 @@ bool8 sub_8017E1C(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(NULL, TRUE, TRUE);
|
||||
gUnknown_203B20C = MemoryAlloc(sizeof(unkStruct_203B20C), 8);
|
||||
gUnknown_203B20C->menuAction1 = 0;
|
||||
gUnknown_203B20C->menuAction2 = 0;
|
||||
gUnknown_203B20C->menuAction3 = 0;
|
||||
sUnknown_203B20C = MemoryAlloc(sizeof(unkStruct_203B20C), 8);
|
||||
sUnknown_203B20C->menuAction1 = 0;
|
||||
sUnknown_203B20C->menuAction2 = 0;
|
||||
sUnknown_203B20C->menuAction3 = 0;
|
||||
sub_8017F10(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_8017E54(void)
|
||||
{
|
||||
switch (gUnknown_203B20C->state) {
|
||||
switch (sUnknown_203B20C->state) {
|
||||
case 0:
|
||||
sub_8017F10(1);
|
||||
break;
|
||||
@@ -87,15 +83,15 @@ u32 sub_8017E54(void)
|
||||
|
||||
void sub_8017EF4(void)
|
||||
{
|
||||
if (gUnknown_203B20C != NULL) {
|
||||
MemoryFree(gUnknown_203B20C);
|
||||
gUnknown_203B20C = NULL;
|
||||
if (sUnknown_203B20C != NULL) {
|
||||
MemoryFree(sUnknown_203B20C);
|
||||
sUnknown_203B20C = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8017F10(u32 newState)
|
||||
{
|
||||
gUnknown_203B20C->state = newState;
|
||||
sUnknown_203B20C->state = newState;
|
||||
sub_8017F28();
|
||||
sub_8018100();
|
||||
}
|
||||
@@ -104,53 +100,53 @@ static void sub_8017F28(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
sub_8006518(gUnknown_203B20C->unkF0);
|
||||
sub_8006518(sUnknown_203B20C->unkF0);
|
||||
|
||||
switch (gUnknown_203B20C->state) {
|
||||
switch (sUnknown_203B20C->state) {
|
||||
case 1:
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sub_80182E4();
|
||||
gUnknown_203B20C->unkF0[2] = sUnknown_80DB7D0;
|
||||
sub_8012CAC(&gUnknown_203B20C->unkF0[2], gUnknown_203B20C->unk20);
|
||||
sUnknown_203B20C->unkF0[2] = sUnknown_80DB7D0;
|
||||
sub_8012CAC(&sUnknown_203B20C->unkF0[2], sUnknown_203B20C->unk20);
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[2] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[2] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[2] = sUnknown_80DB7B8;
|
||||
gUnknown_203B20C->unkF0[0] = sUnknown_80DB800;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[1] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[2] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[0] = sUnknown_80DB800;
|
||||
break;
|
||||
case 12:
|
||||
gUnknown_203B20C->unkF0[1] = sUnknown_80DB818;
|
||||
sUnknown_203B20C->unkF0[1] = sUnknown_80DB818;
|
||||
break;
|
||||
case 6:
|
||||
case 13:
|
||||
gUnknown_203B20C->unkF0[2] = sUnknown_80DB7E8;
|
||||
sUnknown_203B20C->unkF0[2] = sUnknown_80DB7E8;
|
||||
break;
|
||||
default:
|
||||
case 0:
|
||||
for (index = 0; index < 4; index++)
|
||||
gUnknown_203B20C->unkF0[index] = sUnknown_80DB7B8;
|
||||
sUnknown_203B20C->unkF0[index] = sUnknown_80DB7B8;
|
||||
break;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B20C->unkF0, TRUE, TRUE);
|
||||
sub_800641C(sUnknown_203B20C->unkF0, TRUE, TRUE);
|
||||
}
|
||||
|
||||
static void sub_8018100(void)
|
||||
{
|
||||
switch (gUnknown_203B20C->state) {
|
||||
switch (sUnknown_203B20C->state) {
|
||||
case 1:
|
||||
sub_8012D60(&gUnknown_203B20C->unk70, gUnknown_203B20C->unk20, 0, gUnknown_203B20C->unk60, gUnknown_203B20C->menuAction1, 2);
|
||||
sub_8012D60(&sUnknown_203B20C->unk70, sUnknown_203B20C->unk20, 0, sUnknown_203B20C->unk60, sUnknown_203B20C->menuAction1, 2);
|
||||
break;
|
||||
case 4:
|
||||
sub_801A5D8(3, 3, NULL, 10);
|
||||
@@ -161,10 +157,10 @@ static void sub_8018100(void)
|
||||
case 6:
|
||||
sub_801A9E0();
|
||||
sub_801841C();
|
||||
sub_8012D60(&gUnknown_203B20C->unk70, gUnknown_203B20C->unk20, 0, gUnknown_203B20C->unk60, gUnknown_203B20C->menuAction2, 2);
|
||||
sub_8012D60(&sUnknown_203B20C->unk70, sUnknown_203B20C->unk20, 0, sUnknown_203B20C->unk60, sUnknown_203B20C->menuAction2, 2);
|
||||
break;
|
||||
case 7:
|
||||
sub_801B3C0(&gUnknown_203B20C->item);
|
||||
sub_801B3C0(&sUnknown_203B20C->item);
|
||||
break;
|
||||
case 10:
|
||||
sub_801C8C4(1, 3, 0, 10);
|
||||
@@ -175,30 +171,30 @@ static void sub_8018100(void)
|
||||
sub_801AD34(0);
|
||||
break;
|
||||
case 12:
|
||||
gUnknown_203B20C->unkD0 = 2;
|
||||
gUnknown_203B20C->unkC8 = 1;
|
||||
sUnknown_203B20C->unkD0 = 2;
|
||||
sUnknown_203B20C->unkC8 = 1;
|
||||
|
||||
if (gTeamInventoryRef->teamStorage[gUnknown_203B20C->item.id] > 99)
|
||||
gUnknown_203B20C->unkCC = 99;
|
||||
if (gTeamInventoryRef->teamStorage[sUnknown_203B20C->item.id] > 99)
|
||||
sUnknown_203B20C->unkCC = 99;
|
||||
else
|
||||
gUnknown_203B20C->unkCC = gTeamInventoryRef->teamStorage[gUnknown_203B20C->item.id];
|
||||
sUnknown_203B20C->unkCC = gTeamInventoryRef->teamStorage[sUnknown_203B20C->item.id];
|
||||
|
||||
gUnknown_203B20C->unkC4 = gUnknown_203B20C->unkCC;
|
||||
gUnknown_203B20C->unkD4 = 1;
|
||||
gUnknown_203B20C->unkD8 = &gUnknown_203B20C->unkF0[1];
|
||||
gUnknown_203B20C->unkDC = 40;
|
||||
gUnknown_203B20C->unkE0 = 18;
|
||||
sub_8013AA0(&gUnknown_203B20C->unkC0);
|
||||
sUnknown_203B20C->unkC4 = sUnknown_203B20C->unkCC;
|
||||
sUnknown_203B20C->unkD4 = 1;
|
||||
sUnknown_203B20C->unkD8 = &sUnknown_203B20C->unkF0[1];
|
||||
sUnknown_203B20C->unkDC = 40;
|
||||
sUnknown_203B20C->unkE0 = 18;
|
||||
sub_8013AA0(&sUnknown_203B20C->unkC0);
|
||||
sub_8018280();
|
||||
break;
|
||||
case 13:
|
||||
sub_801CCD8();
|
||||
sub_801AD34(0);
|
||||
sub_80184D4();
|
||||
sub_8012D60(&gUnknown_203B20C->unk70, gUnknown_203B20C->unk20, 0, gUnknown_203B20C->unk60, gUnknown_203B20C->menuAction3, 2);
|
||||
sub_8012D60(&sUnknown_203B20C->unk70, sUnknown_203B20C->unk20, 0, sUnknown_203B20C->unk60, sUnknown_203B20C->menuAction3, 2);
|
||||
break;
|
||||
case 14:
|
||||
sub_801B3C0(&gUnknown_203B20C->item);
|
||||
sub_801B3C0(&sUnknown_203B20C->item);
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
@@ -208,14 +204,14 @@ static void sub_8018100(void)
|
||||
|
||||
static void sub_8018280(void)
|
||||
{
|
||||
sub_8008C54(gUnknown_203B20C->unkD4);
|
||||
sub_80073B8(gUnknown_203B20C->unkD4);
|
||||
xxx_call_draw_string(4, 0, sNumber, gUnknown_203B20C->unkD4, 0);
|
||||
sub_8013C68(&gUnknown_203B20C->unkC0);
|
||||
sub_80073E0(gUnknown_203B20C->unkD4);
|
||||
sub_8008C54(sUnknown_203B20C->unkD4);
|
||||
sub_80073B8(sUnknown_203B20C->unkD4);
|
||||
xxx_call_draw_string(4, 0, sNumber, sUnknown_203B20C->unkD4, 0);
|
||||
sub_8013C68(&sUnknown_203B20C->unkC0);
|
||||
sub_80073E0(sUnknown_203B20C->unkD4);
|
||||
sub_801CCD8();
|
||||
sub_801AD34(0);
|
||||
sub_8012EA4(&gUnknown_203B20C->unk70, 0);
|
||||
sub_8012EA4(&sUnknown_203B20C->unk70, 0);
|
||||
}
|
||||
|
||||
static void sub_80182E4(void)
|
||||
@@ -224,38 +220,38 @@ static void sub_80182E4(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B20C->unk60, 0, sizeof(gUnknown_203B20C->unk60));
|
||||
gUnknown_203B20C->unk20[0].text = *gCommonStore;
|
||||
gUnknown_203B20C->unk20[0].menuAction = 2;
|
||||
MemoryFill16(sUnknown_203B20C->unk60, 0, sizeof(sUnknown_203B20C->unk60));
|
||||
sUnknown_203B20C->unk20[0].text = *gCommonStore;
|
||||
sUnknown_203B20C->unk20[0].menuAction = 2;
|
||||
|
||||
if (GetNumberOfFilledInventorySlots() == 0 || sub_801CF50(0))
|
||||
gUnknown_203B20C->unk60[0] = 1;
|
||||
sUnknown_203B20C->unk60[0] = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = *gCommonTake;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 3;
|
||||
sUnknown_203B20C->unk20[loopMax].text = *gCommonTake;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 3;
|
||||
|
||||
if (sub_801CF14(1) || INVENTORY_SIZE <= GetNumberOfFilledInventorySlots())
|
||||
gUnknown_203B20C->unk60[loopMax] = 1;
|
||||
sUnknown_203B20C->unk60[loopMax] = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = *gCommonCancel;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
sUnknown_203B20C->unk20[loopMax].text = *gCommonCancel;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
sUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
if (gUnknown_203B20C->unk20[index].menuAction == gUnknown_203B20C->menuAction1)
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
if (sUnknown_203B20C->unk20[index].menuAction == sUnknown_203B20C->menuAction1)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
gUnknown_203B20C->menuAction1 = gUnknown_203B20C->unk20[index].menuAction;
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
sUnknown_203B20C->menuAction1 = sUnknown_203B20C->unk20[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -267,30 +263,30 @@ static void sub_801841C(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B20C->unk60,0,sizeof(gUnknown_203B20C->unk60));
|
||||
gUnknown_203B20C->unk20[0].text = *gCommonStore;
|
||||
gUnknown_203B20C->unk20[0].menuAction = 2;
|
||||
if (!sub_801ADA0(gUnknown_203B20C->itemIndex))
|
||||
gUnknown_203B20C->unk60[0] = 1;
|
||||
MemoryFill16(sUnknown_203B20C->unk60,0,sizeof(sUnknown_203B20C->unk60));
|
||||
sUnknown_203B20C->unk20[0].text = *gCommonStore;
|
||||
sUnknown_203B20C->unk20[0].menuAction = 2;
|
||||
if (!sub_801ADA0(sUnknown_203B20C->itemIndex))
|
||||
sUnknown_203B20C->unk60[0] = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = *gCommonInfo;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 4;
|
||||
sUnknown_203B20C->unk20[loopMax].text = *gCommonInfo;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 4;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
sUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
if (gUnknown_203B20C->unk20[index].menuAction == gUnknown_203B20C->menuAction2)
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
if (sUnknown_203B20C->unk20[index].menuAction == sUnknown_203B20C->menuAction2)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
gUnknown_203B20C->menuAction2 = gUnknown_203B20C->unk20[index].menuAction;
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
sUnknown_203B20C->menuAction2 = sUnknown_203B20C->unk20[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -302,31 +298,31 @@ static void sub_80184D4(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B20C->unk60, 0, sizeof(gUnknown_203B20C->unk60));
|
||||
gUnknown_203B20C->unk20[0].text = *gCommonTake;
|
||||
gUnknown_203B20C->unk20[0].menuAction = 3;
|
||||
MemoryFill16(sUnknown_203B20C->unk60, 0, sizeof(sUnknown_203B20C->unk60));
|
||||
sUnknown_203B20C->unk20[0].text = *gCommonTake;
|
||||
sUnknown_203B20C->unk20[0].menuAction = 3;
|
||||
|
||||
if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
|
||||
gUnknown_203B20C->unk60[0] = 1;
|
||||
sUnknown_203B20C->unk60[0] = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = *gCommonInfo;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 4;
|
||||
sUnknown_203B20C->unk20[loopMax].text = *gCommonInfo;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 4;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
gUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
sUnknown_203B20C->unk20[loopMax].text = NULL;
|
||||
sUnknown_203B20C->unk20[loopMax].menuAction = 1;
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
if (gUnknown_203B20C->unk20[index].menuAction == gUnknown_203B20C->menuAction3)
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
if (sUnknown_203B20C->unk20[index].menuAction == sUnknown_203B20C->menuAction3)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B20C->unk60[index] == 0) {
|
||||
gUnknown_203B20C->menuAction3 = gUnknown_203B20C->unk20[index].menuAction;
|
||||
if (sUnknown_203B20C->unk60[index] == 0) {
|
||||
sUnknown_203B20C->menuAction3 = sUnknown_203B20C->unk20[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -337,10 +333,10 @@ static void sub_8018588(void)
|
||||
s32 menuAction;
|
||||
menuAction = 0;
|
||||
|
||||
if (sub_8012FD8(&gUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&gUnknown_203B20C->unk70, &menuAction);
|
||||
if (sub_8012FD8(&sUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&sUnknown_203B20C->unk70, &menuAction);
|
||||
if (menuAction != 1)
|
||||
gUnknown_203B20C->menuAction1 = menuAction;
|
||||
sUnknown_203B20C->menuAction1 = menuAction;
|
||||
}
|
||||
|
||||
switch (menuAction) {
|
||||
@@ -348,11 +344,11 @@ static void sub_8018588(void)
|
||||
if (GetNumberOfFilledInventorySlots() != 0 && !sub_801CF50(0))
|
||||
sub_8017F10(4);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
|
||||
sub_8012EA4(&sUnknown_203B20C->unk70, 1);
|
||||
break;
|
||||
case 3:
|
||||
if (sub_801CF14(1))
|
||||
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
|
||||
sub_8012EA4(&sUnknown_203B20C->unk70, 1);
|
||||
else
|
||||
sub_8017F10(10);
|
||||
break;
|
||||
@@ -388,14 +384,14 @@ static void sub_8018620(void)
|
||||
sub_8017F10(5);
|
||||
}
|
||||
else {
|
||||
gUnknown_203B20C->itemIndex = sub_801A8AC();
|
||||
gUnknown_203B20C->item = gTeamInventoryRef->teamItems[gUnknown_203B20C->itemIndex];
|
||||
sUnknown_203B20C->itemIndex = sub_801A8AC();
|
||||
sUnknown_203B20C->item = gTeamInventoryRef->teamItems[sUnknown_203B20C->itemIndex];
|
||||
sub_8017F10(6);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B20C->itemIndex = sub_801A8AC();
|
||||
gUnknown_203B20C->item = gTeamInventoryRef->teamItems[gUnknown_203B20C->itemIndex];
|
||||
sUnknown_203B20C->itemIndex = sub_801A8AC();
|
||||
sUnknown_203B20C->item = gTeamInventoryRef->teamItems[sUnknown_203B20C->itemIndex];
|
||||
sub_8017F10(7);
|
||||
break;
|
||||
case 2:
|
||||
@@ -442,16 +438,16 @@ static void sub_80186F8(void)
|
||||
}
|
||||
}
|
||||
else {
|
||||
gUnknown_203B20C->id = sub_801CB24();
|
||||
xxx_init_itemslot_8090A8C(&gUnknown_203B20C->item, gUnknown_203B20C->id, 0);
|
||||
gUnknown_203B20C->item.quantity = 1;
|
||||
sUnknown_203B20C->id = sub_801CB24();
|
||||
xxx_init_itemslot_8090A8C(&sUnknown_203B20C->item, sUnknown_203B20C->id, 0);
|
||||
sUnknown_203B20C->item.quantity = 1;
|
||||
sub_8017F10(13);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B20C->id = sub_801CB24();
|
||||
xxx_init_itemslot_8090A8C(&gUnknown_203B20C->item, gUnknown_203B20C->id, 0);
|
||||
gUnknown_203B20C->item.quantity = 1;
|
||||
sUnknown_203B20C->id = sub_801CB24();
|
||||
xxx_init_itemslot_8090A8C(&sUnknown_203B20C->item, sUnknown_203B20C->id, 0);
|
||||
sUnknown_203B20C->item.quantity = 1;
|
||||
sub_8017F10(14);
|
||||
break;
|
||||
case 2:
|
||||
@@ -469,14 +465,14 @@ static void sub_8018854(void)
|
||||
BulkItem item;
|
||||
|
||||
sub_801CA08(FALSE);
|
||||
sub_8012FD8(&gUnknown_203B20C->unk70);
|
||||
sub_8012FD8(&sUnknown_203B20C->unk70);
|
||||
|
||||
switch (sub_8013BBC(&gUnknown_203B20C->unkC0)) {
|
||||
switch (sub_8013BBC(&sUnknown_203B20C->unkC0)) {
|
||||
case 3:
|
||||
gUnknown_203B20C->item.quantity = gUnknown_203B20C->unkC0;
|
||||
gTeamInventoryRef->teamStorage[gUnknown_203B20C->item.id] -= gUnknown_203B20C->item.quantity;
|
||||
item.id = gUnknown_203B20C->item.id;
|
||||
item.quantity = gUnknown_203B20C->item.quantity;
|
||||
sUnknown_203B20C->item.quantity = sUnknown_203B20C->unkC0;
|
||||
gTeamInventoryRef->teamStorage[sUnknown_203B20C->item.id] -= sUnknown_203B20C->item.quantity;
|
||||
item.id = sUnknown_203B20C->item.id;
|
||||
item.quantity = sUnknown_203B20C->item.quantity;
|
||||
AddHeldItemToInventory(&item);
|
||||
|
||||
if (!sub_801CF14(1)) {
|
||||
@@ -509,22 +505,22 @@ static void sub_8018904(void)
|
||||
menuAction = 0;
|
||||
|
||||
sub_801A6E8(FALSE);
|
||||
if (sub_8012FD8(&gUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&gUnknown_203B20C->unk70, &menuAction);
|
||||
if (sub_8012FD8(&sUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&sUnknown_203B20C->unk70, &menuAction);
|
||||
if (menuAction != 1)
|
||||
gUnknown_203B20C->menuAction2 = menuAction;
|
||||
sUnknown_203B20C->menuAction2 = menuAction;
|
||||
}
|
||||
|
||||
switch (menuAction) {
|
||||
case 2:
|
||||
if (IsNotMoneyOrUsedTMItem(gUnknown_203B20C->item.id)) {
|
||||
if (!sub_801ADA0(gUnknown_203B20C->itemIndex)) {
|
||||
if (IsNotMoneyOrUsedTMItem(sUnknown_203B20C->item.id)) {
|
||||
if (!sub_801ADA0(sUnknown_203B20C->itemIndex)) {
|
||||
error:
|
||||
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
|
||||
sub_8012EA4(&sUnknown_203B20C->unk70, 1);
|
||||
}
|
||||
else {
|
||||
MoveToStorage(&gUnknown_203B20C->item);
|
||||
ShiftItemsDownFrom(gUnknown_203B20C->itemIndex);
|
||||
MoveToStorage(&sUnknown_203B20C->item);
|
||||
ShiftItemsDownFrom(sUnknown_203B20C->itemIndex);
|
||||
FillInventoryGaps();
|
||||
|
||||
if (GetNumberOfFilledInventorySlots() == 0) {
|
||||
@@ -556,22 +552,22 @@ static void sub_80189C8(void)
|
||||
menuAction = 0;
|
||||
|
||||
sub_801CA08(FALSE);
|
||||
if (sub_8012FD8(&gUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&gUnknown_203B20C->unk70, &menuAction);
|
||||
if (sub_8012FD8(&sUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&sUnknown_203B20C->unk70, &menuAction);
|
||||
if (menuAction != 1)
|
||||
gUnknown_203B20C->menuAction3 = menuAction;
|
||||
sUnknown_203B20C->menuAction3 = menuAction;
|
||||
}
|
||||
|
||||
switch (menuAction) {
|
||||
case 3:
|
||||
if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
|
||||
sub_8012EA4(&gUnknown_203B20C->unk70, 1);
|
||||
else if (IsThrowableItem(gUnknown_203B20C->item.id))
|
||||
sub_8012EA4(&sUnknown_203B20C->unk70, 1);
|
||||
else if (IsThrowableItem(sUnknown_203B20C->item.id))
|
||||
sub_8017F10(12);
|
||||
else {
|
||||
gTeamInventoryRef->teamStorage[gUnknown_203B20C->item.id] -= gUnknown_203B20C->item.quantity;
|
||||
item.id = gUnknown_203B20C->item.id;
|
||||
item.quantity = gUnknown_203B20C->item.quantity;
|
||||
gTeamInventoryRef->teamStorage[sUnknown_203B20C->item.id] -= sUnknown_203B20C->item.quantity;
|
||||
item.id = sUnknown_203B20C->item.id;
|
||||
item.quantity = sUnknown_203B20C->item.quantity;
|
||||
AddHeldItemToInventory(&item);
|
||||
|
||||
if (!sub_801CF14(1)) {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "items.h"
|
||||
#include "kecleon_bros1.h"
|
||||
@@ -22,14 +23,6 @@ extern u8 gUnknown_202E5D8[];
|
||||
|
||||
static EWRAM_DATA_2 KecleonBrosWork1 *sKecleonBrosWork1 = {0};
|
||||
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonBuy[];
|
||||
extern const u8 *gCommonSell[];
|
||||
extern const u8 *gCommonKecleonBros[KECLEON_BROS_MODE_COUNT][23]; // 80D5EC8
|
||||
|
||||
#include "data/kecleon_bros1.h"
|
||||
|
||||
static u32 CountKecleonItems(void);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_8097670.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/bg_music.h"
|
||||
#include "constants/colors.h"
|
||||
#include "constants/evolution_status.h"
|
||||
@@ -23,12 +24,7 @@
|
||||
extern u8 gAvailablePokemonNames[]; // 202DF98
|
||||
extern u8 gPlayerName[]; // 202E2B8
|
||||
|
||||
EWRAM_DATA_2 struct unkStruct_203B2B0 *gUnknown_203B2B0 = {0};
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
static EWRAM_DATA_2 struct unkStruct_203B2B0 *sUnknown_203B2B0 = {0};
|
||||
|
||||
extern const UnkTextStruct2 gUnknown_80DC9E8;
|
||||
extern const UnkTextStruct2 gUnknown_80DCA00;
|
||||
@@ -69,23 +65,26 @@ enum
|
||||
LUMINOUS_CAVE_ASK_EVOLVE,
|
||||
LUMINOUS_CAVE_EVOLVE_INFO,
|
||||
LUMINOUS_CAVE_SHALL_RETURN,
|
||||
//
|
||||
LUMINOUS_CAVE_GIVE_ITEM_1 = 5,
|
||||
//
|
||||
LUMINOUS_CAVE_GIVE_ITEM_2 = 10,
|
||||
LUMINOUS_CAVE_LACK_WHAT_NEEDED = 0xF,
|
||||
LUMINOUS_CAVE_ONLY_ONE_ITEM = 0x10,
|
||||
LUMINOUS_CAVE_LET_US_BEGIN = 0x11,
|
||||
LUMINOUS_CAVE_CHANGED_APPEARANCE = 0x12,
|
||||
LUMINOUS_CAVE_EVOLVED = 0x13,
|
||||
LUMINOUS_CAVE_PROMPT_NAME = 0x14,
|
||||
LUMINOUS_CAVE_FINISH_NAME = 0x15,
|
||||
LUMINOUS_CAVE_COME_ALONE = 0x16,
|
||||
LUMINOUS_CAVE_LACK_LEVEL = 0x17,
|
||||
LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE = 0x18,
|
||||
LUMINOUS_CAVE_LACK_FRIEND_AREA = 0x19,
|
||||
LUMINOUS_CAVE_LACK_ROOM = 0x1A,
|
||||
LUMINOUS_CAVE_LACK_IQ = 0x1B,
|
||||
LUMINOUS_CAVE_LACK_ITEM = 0x1C,
|
||||
LUMINOUS_CAVE_CANT_EVOLVE_YET = 0x1D,
|
||||
//
|
||||
LUMINOUS_CAVE_LACK_WHAT_NEEDED = 15,
|
||||
LUMINOUS_CAVE_ONLY_ONE_ITEM,
|
||||
LUMINOUS_CAVE_LET_US_BEGIN,
|
||||
LUMINOUS_CAVE_CHANGED_APPEARANCE,
|
||||
LUMINOUS_CAVE_EVOLVED,
|
||||
LUMINOUS_CAVE_PROMPT_NAME,
|
||||
LUMINOUS_CAVE_FINISH_NAME,
|
||||
LUMINOUS_CAVE_COME_ALONE,
|
||||
LUMINOUS_CAVE_LACK_LEVEL,
|
||||
LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE,
|
||||
LUMINOUS_CAVE_LACK_FRIEND_AREA,
|
||||
LUMINOUS_CAVE_LACK_ROOM,
|
||||
LUMINOUS_CAVE_LACK_IQ,
|
||||
LUMINOUS_CAVE_LACK_ITEM,
|
||||
LUMINOUS_CAVE_CANT_EVOLVE_YET,
|
||||
};
|
||||
|
||||
u32 sub_802465C(void)
|
||||
@@ -94,28 +93,28 @@ u32 sub_802465C(void)
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(NULL, TRUE, TRUE);
|
||||
gUnknown_203B2B0 = MemoryAlloc(sizeof(struct unkStruct_203B2B0), 8);
|
||||
gUnknown_203B2B0->menuAction1 = 0;
|
||||
gUnknown_203B2B0->menuAction2 = 0;
|
||||
gUnknown_203B2B0->menuAction3 = 0;
|
||||
gUnknown_203B2B0->pokeStruct = GetPlayerPokemonStruct();
|
||||
gUnknown_203B2B0->pokeRenamed = IsPokemonRenamed(gUnknown_203B2B0->pokeStruct);
|
||||
gUnknown_203B2B0->evolutionComplete = FALSE;
|
||||
sUnknown_203B2B0 = MemoryAlloc(sizeof(struct unkStruct_203B2B0), 8);
|
||||
sUnknown_203B2B0->menuAction1 = 0;
|
||||
sUnknown_203B2B0->menuAction2 = 0;
|
||||
sUnknown_203B2B0->menuAction3 = 0;
|
||||
sUnknown_203B2B0->pokeStruct = GetPlayerPokemonStruct();
|
||||
sUnknown_203B2B0->pokeRenamed = IsPokemonRenamed(sUnknown_203B2B0->pokeStruct);
|
||||
sUnknown_203B2B0->evolutionComplete = FALSE;
|
||||
faceFile = GetDialogueSpriteDataPtr(MONSTER_GULPIN);
|
||||
gUnknown_203B2B0->unk104 = faceFile;
|
||||
gUnknown_203B2B0->unk108 = faceFile->data;
|
||||
gUnknown_203B2B0->unk110 = 0;
|
||||
gUnknown_203B2B0->unk111 = 0;
|
||||
gUnknown_203B2B0->unk112 = 0;
|
||||
gUnknown_203B2B0->unk10C = 2;
|
||||
gUnknown_203B2B0->unk10E = 8;
|
||||
sUnknown_203B2B0->unk104 = faceFile;
|
||||
sUnknown_203B2B0->unk108 = faceFile->data;
|
||||
sUnknown_203B2B0->unk110 = 0;
|
||||
sUnknown_203B2B0->unk111 = 0;
|
||||
sUnknown_203B2B0->unk112 = 0;
|
||||
sUnknown_203B2B0->unk10C = 2;
|
||||
sUnknown_203B2B0->unk10E = 8;
|
||||
UpdateLuminousCaveState(LUMINOUS_CAVE_ENTRY);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_80246F0(void)
|
||||
{
|
||||
switch (gUnknown_203B2B0->state) {
|
||||
switch (sUnknown_203B2B0->state) {
|
||||
case LUMINOUS_CAVE_ENTRY:
|
||||
case LUMINOUS_CAVE_ASK_EVOLVE:
|
||||
sub_8024E9C();
|
||||
@@ -160,21 +159,21 @@ u32 sub_80246F0(void)
|
||||
|
||||
bool8 HasEvolutionCompleted(void)
|
||||
{
|
||||
return gUnknown_203B2B0->evolutionComplete;
|
||||
return sUnknown_203B2B0->evolutionComplete;
|
||||
}
|
||||
|
||||
void CleanLuminousCave(void)
|
||||
{
|
||||
if (gUnknown_203B2B0 != NULL) {
|
||||
CloseFile(gUnknown_203B2B0->unk104);
|
||||
MemoryFree(gUnknown_203B2B0);
|
||||
gUnknown_203B2B0 = NULL;
|
||||
if (sUnknown_203B2B0 != NULL) {
|
||||
CloseFile(sUnknown_203B2B0->unk104);
|
||||
MemoryFree(sUnknown_203B2B0);
|
||||
sUnknown_203B2B0 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateLuminousCaveState(u32 newState)
|
||||
{
|
||||
gUnknown_203B2B0->state = newState;
|
||||
sUnknown_203B2B0->state = newState;
|
||||
sub_8024804();
|
||||
UpdateLuminousCaveDialogue();
|
||||
}
|
||||
@@ -183,12 +182,12 @@ static void sub_8024804(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sub_8006518(gUnknown_203B2B0->unk114);
|
||||
sub_8006518(sUnknown_203B2B0->unk114);
|
||||
|
||||
switch (gUnknown_203B2B0->state) {
|
||||
switch (sUnknown_203B2B0->state) {
|
||||
case 8:
|
||||
case 13:
|
||||
gUnknown_203B2B0->unk114[2] = gUnknown_80DCA00;
|
||||
sUnknown_203B2B0->unk114[2] = gUnknown_80DCA00;
|
||||
break;
|
||||
case LUMINOUS_CAVE_LET_US_BEGIN:
|
||||
case LUMINOUS_CAVE_CHANGED_APPEARANCE:
|
||||
@@ -203,44 +202,44 @@ static void sub_8024804(void)
|
||||
break;
|
||||
default:
|
||||
for (i = 0; i < 4; i++)
|
||||
gUnknown_203B2B0->unk114[i] = gUnknown_80DC9E8;
|
||||
sUnknown_203B2B0->unk114[i] = gUnknown_80DC9E8;
|
||||
break;
|
||||
}
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2B0->unk114, TRUE, TRUE);
|
||||
sub_800641C(sUnknown_203B2B0->unk114, TRUE, TRUE);
|
||||
}
|
||||
|
||||
static void UpdateLuminousCaveDialogue(void)
|
||||
{
|
||||
u8 *monName;
|
||||
|
||||
switch (gUnknown_203B2B0->state) {
|
||||
switch (sUnknown_203B2B0->state) {
|
||||
case LUMINOUS_CAVE_ENTRY:
|
||||
if (LuminousCave_HasOnly1Member())
|
||||
gUnknown_203B2B0->menuAction1 = 3;
|
||||
sUnknown_203B2B0->menuAction1 = 3;
|
||||
else
|
||||
gUnknown_203B2B0->menuAction1 = 1;
|
||||
sUnknown_203B2B0->menuAction1 = 1;
|
||||
|
||||
sub_8024CFC();
|
||||
sub_8014248(sLuminousCaveSeekAwakening,0,gUnknown_203B2B0->menuAction1,gUnknown_203B2B0->unk34,gUnknown_203B2B0->unk74,4,0,0,5);
|
||||
sub_8014248(sLuminousCaveSeekAwakening,0,sUnknown_203B2B0->menuAction1,sUnknown_203B2B0->unk34,sUnknown_203B2B0->unk74,4,0,0,5);
|
||||
break;
|
||||
case LUMINOUS_CAVE_ASK_EVOLVE:
|
||||
sub_8024CFC();
|
||||
sub_8014248(sLuminousCaveAskEvolution,0,gUnknown_203B2B0->menuAction1,gUnknown_203B2B0->unk34,gUnknown_203B2B0->unk74,4,0,0,5);
|
||||
sub_8014248(sLuminousCaveAskEvolution,0,sUnknown_203B2B0->menuAction1,sUnknown_203B2B0->unk34,sUnknown_203B2B0->unk74,4,0,0,5);
|
||||
break;
|
||||
case LUMINOUS_CAVE_EVOLVE_INFO:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_ASK_EVOLVE;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_ASK_EVOLVE;
|
||||
sub_80141B4(sLuminousCaveEvolutionInfo,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_SHALL_RETURN:
|
||||
gUnknown_203B2B0->fallbackState = 4;
|
||||
sUnknown_203B2B0->fallbackState = 4;
|
||||
xxx_call_fade_in_new_bgm(MUS_FILE_SELECT,0x3c);
|
||||
sub_80141B4(sLuminousCaveYeShallReturn,0,0,0x305);
|
||||
break;
|
||||
case LUMINOUS_CAVE_GIVE_ITEM_1:
|
||||
sub_8024D48();
|
||||
sub_8014248(sLuminousCaveGiveItem,0,gUnknown_203B2B0->menuAction2,gUnknown_203B2B0->unk34,gUnknown_203B2B0->unk74,4,0,0,5);
|
||||
sub_8014248(sLuminousCaveGiveItem,0,sUnknown_203B2B0->menuAction2,sUnknown_203B2B0->unk34,sUnknown_203B2B0->unk74,4,0,0,5);
|
||||
break;
|
||||
case 6:
|
||||
sub_801A5D8(2,3,NULL,10);
|
||||
@@ -250,132 +249,132 @@ static void UpdateLuminousCaveDialogue(void)
|
||||
break;
|
||||
case LUMINOUS_CAVE_GIVE_ITEM_2:
|
||||
sub_8024DBC();
|
||||
sub_8014248(sLuminousCaveGiveAnotherItem,0,gUnknown_203B2B0->menuAction2,gUnknown_203B2B0->unk34,gUnknown_203B2B0->unk74,4,0,0,5);
|
||||
sub_8014248(sLuminousCaveGiveAnotherItem,0,sUnknown_203B2B0->menuAction2,sUnknown_203B2B0->unk34,sUnknown_203B2B0->unk74,4,0,0,5);
|
||||
break;
|
||||
case 11:
|
||||
sub_801A5D8(2,3,NULL,10);
|
||||
sub_801AEE4(gUnknown_203B2B0->evoItem1_InvIndex,1);
|
||||
sub_801AEE4(sUnknown_203B2B0->evoItem1_InvIndex,1);
|
||||
sub_801A9E0();
|
||||
break;
|
||||
case 12:
|
||||
sub_801A8D0(TRUE);
|
||||
sub_801AEE4(gUnknown_203B2B0->evoItem1_InvIndex,1);
|
||||
sub_801AEE4(sUnknown_203B2B0->evoItem1_InvIndex,1);
|
||||
sub_801A9E0();
|
||||
break;
|
||||
case 8:
|
||||
case 13:
|
||||
sub_801A9E0();
|
||||
sub_8024E30();
|
||||
sub_8012D60(&gUnknown_203B2B0->unk84,gUnknown_203B2B0->unk34,0,gUnknown_203B2B0->unk74,
|
||||
gUnknown_203B2B0->menuAction3,2);
|
||||
sub_8012D60(&sUnknown_203B2B0->unk84,sUnknown_203B2B0->unk34,0,sUnknown_203B2B0->unk74,
|
||||
sUnknown_203B2B0->menuAction3,2);
|
||||
break;
|
||||
case 9:
|
||||
case 14:
|
||||
sub_801B3C0(&gUnknown_203B2B0->chosenItem);
|
||||
sub_801B3C0(&sUnknown_203B2B0->chosenItem);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_WHAT_NEEDED:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_1;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_1;
|
||||
sub_80141B4(sLuminousCaveLackWhatIsNeeded,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_ONLY_ONE_ITEM:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_2;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_GIVE_ITEM_2;
|
||||
sub_80141B4(sLuminousCaveOnlyOneItem,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LET_US_BEGIN:
|
||||
sub_8025254();
|
||||
|
||||
if((gUnknown_203B2B0->evolveStatus.evolutionConditionStatus & EVOLUTION_GOOD))
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CHANGED_APPEARANCE;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_NO_MORE)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_LEVEL)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_LEVEL;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_IQ)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_IQ;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_FRIEND_AREA)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_FRIEND_AREA;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_ROOM)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_ROOM;
|
||||
else if(gUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_ITEM)
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_ITEM;
|
||||
if((sUnknown_203B2B0->evolveStatus.evolutionConditionStatus & EVOLUTION_GOOD))
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CHANGED_APPEARANCE;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_NO_MORE)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_LEVEL)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_LEVEL;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_IQ)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_IQ;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_FRIEND_AREA)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_FRIEND_AREA;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_ROOM)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_ROOM;
|
||||
else if(sUnknown_203B2B0->evolveStatus.evolutionConditionStatus == EVOLUTION_LACK_ITEM)
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_LACK_ITEM;
|
||||
else
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CANT_EVOLVE_YET;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_CANT_EVOLVE_YET;
|
||||
xxx_call_fade_out_bgm(0x3c);
|
||||
sub_80141B4(sLuminousCaveLetUsBegin,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CHANGED_APPEARANCE:
|
||||
PrintColoredPokeNameToBuffer(gPlayerName,gUnknown_203B2B0->pokeStruct, COLOR_CYAN);
|
||||
PrintColoredPokeNameToBuffer(gPlayerName,sUnknown_203B2B0->pokeStruct, COLOR_CYAN);
|
||||
PlaySound(0x1ff);
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_EVOLVED;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_EVOLVED;
|
||||
sub_80141B4(sLuminousCaveChangedAppearance,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_EVOLVED:
|
||||
monName = GetMonSpecies(gUnknown_203B2B0->pokeStruct->speciesNum);
|
||||
monName = GetMonSpecies(sUnknown_203B2B0->pokeStruct->speciesNum);
|
||||
strcpy(gAvailablePokemonNames,monName);
|
||||
monName = GetMonSpecies(gUnknown_203B2B0->evolveStatus.targetEvolveSpecies);
|
||||
monName = GetMonSpecies(sUnknown_203B2B0->evolveStatus.targetEvolveSpecies);
|
||||
strcpy(gAvailablePokemonNames + 0x50,monName);
|
||||
gUnknown_203B2B0->evolutionComplete = TRUE;
|
||||
sUnknown_203B2B0->evolutionComplete = TRUE;
|
||||
sub_80977D0();
|
||||
sub_808F734(gUnknown_203B2B0->pokeStruct,gUnknown_203B2B0->evolveStatus.targetEvolveSpecies);
|
||||
sub_808F734(sUnknown_203B2B0->pokeStruct,sUnknown_203B2B0->evolveStatus.targetEvolveSpecies);
|
||||
nullsub_104();
|
||||
gUnknown_203B2B0->pokeStruct = GetPlayerPokemonStruct();
|
||||
if (gUnknown_203B2B0->evoItem1_InvIndex != INVENTORY_SIZE) {
|
||||
ClearItemSlotAt(gUnknown_203B2B0->evoItem1_InvIndex);
|
||||
sUnknown_203B2B0->pokeStruct = GetPlayerPokemonStruct();
|
||||
if (sUnknown_203B2B0->evoItem1_InvIndex != INVENTORY_SIZE) {
|
||||
ClearItemSlotAt(sUnknown_203B2B0->evoItem1_InvIndex);
|
||||
}
|
||||
if (gUnknown_203B2B0->evoItem2_InvIndex != INVENTORY_SIZE) {
|
||||
ClearItemSlotAt(gUnknown_203B2B0->evoItem2_InvIndex);
|
||||
if (sUnknown_203B2B0->evoItem2_InvIndex != INVENTORY_SIZE) {
|
||||
ClearItemSlotAt(sUnknown_203B2B0->evoItem2_InvIndex);
|
||||
}
|
||||
FillInventoryGaps();
|
||||
xxx_call_stop_fanfare_se(0x1ff);
|
||||
PlaySound(0xd2);
|
||||
if (gUnknown_203B2B0->pokeRenamed) {
|
||||
BoundedCopyStringtoBuffer(gUnknown_203B2B0->pokeStruct->name,GetMonSpecies(gUnknown_203B2B0->pokeStruct->speciesNum),POKEMON_NAME_LENGTH);
|
||||
if (sUnknown_203B2B0->pokeRenamed) {
|
||||
BoundedCopyStringtoBuffer(sUnknown_203B2B0->pokeStruct->name,GetMonSpecies(sUnknown_203B2B0->pokeStruct->speciesNum),POKEMON_NAME_LENGTH);
|
||||
}
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveEvolved,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_COME_ALONE:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveComeAlone,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_LEVEL:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveLackLevel,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CANT_EVOLVE_ANYMORE:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveCantEvolveAnymore,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_FRIEND_AREA:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveLackFriendArea,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_ROOM:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveLackRoom,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_IQ:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveLackIQ,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_LACK_ITEM:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveLackItem,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CANT_EVOLVE_YET:
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_SHALL_RETURN;
|
||||
sub_80141B4(sLuminousCaveCantEvolveYet,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_PROMPT_NAME:
|
||||
xxx_call_fade_in_new_bgm(8,0x3c);
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_FINISH_NAME;
|
||||
sUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_FINISH_NAME;
|
||||
sub_80141B4(sLuminousCaveGiveName,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_FINISH_NAME:
|
||||
if (gUnknown_203B2B0->pokeRenamed) {
|
||||
BoundedCopyStringtoBuffer(gUnknown_203B2B0->pokeStruct->name,GetMonSpecies(gUnknown_203B2B0->pokeStruct->speciesNum),POKEMON_NAME_LENGTH);
|
||||
if (sUnknown_203B2B0->pokeRenamed) {
|
||||
BoundedCopyStringtoBuffer(sUnknown_203B2B0->pokeStruct->name,GetMonSpecies(sUnknown_203B2B0->pokeStruct->speciesNum),POKEMON_NAME_LENGTH);
|
||||
}
|
||||
sub_801602C(0,gUnknown_203B2B0->pokeStruct->name);
|
||||
sub_801602C(0,sUnknown_203B2B0->pokeStruct->name);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -386,22 +385,22 @@ static void sub_8024CFC(void)
|
||||
{
|
||||
s32 loopMax = 0;
|
||||
|
||||
MemoryFill16(gUnknown_203B2B0->unk74, 0, sizeof(gUnknown_203B2B0->unk74));
|
||||
MemoryFill16(sUnknown_203B2B0->unk74, 0, sizeof(sUnknown_203B2B0->unk74));
|
||||
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA18;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 3;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA18;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 3;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = *gCommonInfo;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 2;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = *gCommonInfo;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 2;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
}
|
||||
|
||||
static void sub_8024D48(void)
|
||||
@@ -410,27 +409,27 @@ static void sub_8024D48(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B2B0->unk74, 0, sizeof(gUnknown_203B2B0->unk74));
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA24;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 4;
|
||||
MemoryFill16(sUnknown_203B2B0->unk74, 0, sizeof(sUnknown_203B2B0->unk74));
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA24;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 4;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
|
||||
for (index = 0; index < loopMax; index++) {
|
||||
if (gUnknown_203B2B0->unk74[index] == 0) {
|
||||
if (gUnknown_203B2B0->unk34[index].menuAction == gUnknown_203B2B0->menuAction2)
|
||||
if (sUnknown_203B2B0->unk74[index] == 0) {
|
||||
if (sUnknown_203B2B0->unk34[index].menuAction == sUnknown_203B2B0->menuAction2)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gUnknown_203B2B0->menuAction2 = 4;
|
||||
sUnknown_203B2B0->menuAction2 = 4;
|
||||
}
|
||||
|
||||
static void sub_8024DBC(void)
|
||||
@@ -439,29 +438,29 @@ static void sub_8024DBC(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B2B0->unk74, 0, sizeof(gUnknown_203B2B0->unk74));
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA24;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 4;
|
||||
MemoryFill16(sUnknown_203B2B0->unk74, 0, sizeof(sUnknown_203B2B0->unk74));
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA24;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 4;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = *gCommonCancel;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B0->unk74[index] == 0)
|
||||
if(sUnknown_203B2B0->unk74[index] == 0)
|
||||
{
|
||||
if(gUnknown_203B2B0->unk34[index].menuAction == gUnknown_203B2B0->menuAction2)
|
||||
if(sUnknown_203B2B0->unk34[index].menuAction == sUnknown_203B2B0->menuAction2)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gUnknown_203B2B0->menuAction2 = 4;
|
||||
sUnknown_203B2B0->menuAction2 = 4;
|
||||
}
|
||||
|
||||
static void sub_8024E30(void)
|
||||
@@ -470,26 +469,26 @@ static void sub_8024E30(void)
|
||||
s32 loopMax;
|
||||
|
||||
loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B2B0->unk74, 0, sizeof(gUnknown_203B2B0->unk74));
|
||||
gUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
MemoryFill16(sUnknown_203B2B0->unk74, 0, sizeof(sUnknown_203B2B0->unk74));
|
||||
sUnknown_203B2B0->unk34[loopMax].text = gUnknown_80DCA2C;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 5;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = *gCommonInfo;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 2;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = *gCommonInfo;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 2;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
gUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B0->unk34[loopMax].text = NULL;
|
||||
sUnknown_203B2B0->unk34[loopMax].menuAction = 1;
|
||||
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B0->unk74[index] == 0)
|
||||
if(sUnknown_203B2B0->unk74[index] == 0)
|
||||
{
|
||||
if(gUnknown_203B2B0->unk34[index].menuAction == gUnknown_203B2B0->menuAction3)
|
||||
if(sUnknown_203B2B0->unk34[index].menuAction == sUnknown_203B2B0->menuAction3)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gUnknown_203B2B0->menuAction3 = 5;
|
||||
sUnknown_203B2B0->menuAction3 = 5;
|
||||
}
|
||||
|
||||
static void sub_8024E9C(void)
|
||||
@@ -497,7 +496,7 @@ static void sub_8024E9C(void)
|
||||
s32 menuAction;
|
||||
if(sub_80144A4(&menuAction) == 0)
|
||||
{
|
||||
if(menuAction != 1) gUnknown_203B2B0->menuAction1 = menuAction;
|
||||
if(menuAction != 1) sUnknown_203B2B0->menuAction1 = menuAction;
|
||||
switch(menuAction)
|
||||
{
|
||||
case 3:
|
||||
@@ -521,12 +520,12 @@ static void sub_8024F00(void)
|
||||
s32 menuAction;
|
||||
if(sub_80144A4(&menuAction) == 0)
|
||||
{
|
||||
if(menuAction != 1) gUnknown_203B2B0->menuAction2 = menuAction;
|
||||
if(menuAction != 1) sUnknown_203B2B0->menuAction2 = menuAction;
|
||||
switch(menuAction)
|
||||
{
|
||||
case 4:
|
||||
gUnknown_203B2B0->evoItem1_InvIndex = INVENTORY_SIZE;
|
||||
gUnknown_203B2B0->evoItem2_InvIndex = INVENTORY_SIZE;
|
||||
sUnknown_203B2B0->evoItem1_InvIndex = INVENTORY_SIZE;
|
||||
sUnknown_203B2B0->evoItem2_InvIndex = INVENTORY_SIZE;
|
||||
UpdateLuminousCaveState(LUMINOUS_CAVE_LET_US_BEGIN);
|
||||
break;
|
||||
case 5:
|
||||
@@ -547,7 +546,7 @@ static void sub_8024F70(void)
|
||||
s32 menuAction;
|
||||
if(sub_80144A4(&menuAction) == 0)
|
||||
{
|
||||
if(menuAction != 1) gUnknown_203B2B0->menuAction2 = menuAction;
|
||||
if(menuAction != 1) sUnknown_203B2B0->menuAction2 = menuAction;
|
||||
switch(menuAction)
|
||||
{
|
||||
case 4:
|
||||
@@ -571,13 +570,13 @@ static void sub_8024FD4(void)
|
||||
switch(sub_801A6E8(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B2B0->evoItem1_InvIndex = sub_801A8AC();
|
||||
gUnknown_203B2B0->evoItem2_InvIndex = INVENTORY_SIZE;
|
||||
gUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[gUnknown_203B2B0->evoItem1_InvIndex];
|
||||
sUnknown_203B2B0->evoItem1_InvIndex = sub_801A8AC();
|
||||
sUnknown_203B2B0->evoItem2_InvIndex = INVENTORY_SIZE;
|
||||
sUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sUnknown_203B2B0->evoItem1_InvIndex];
|
||||
UpdateLuminousCaveState(8);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sub_801A8AC()];
|
||||
sUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sub_801A8AC()];
|
||||
sub_8099690(0);
|
||||
UpdateLuminousCaveState(9);
|
||||
break;
|
||||
@@ -593,17 +592,17 @@ static void sub_8025058(void)
|
||||
switch(sub_801A6E8(TRUE))
|
||||
{
|
||||
case 3:
|
||||
if(gUnknown_203B2B0->evoItem1_InvIndex != sub_801A8AC())
|
||||
if(sUnknown_203B2B0->evoItem1_InvIndex != sub_801A8AC())
|
||||
{
|
||||
gUnknown_203B2B0->evoItem2_InvIndex = sub_801A8AC();
|
||||
gUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[gUnknown_203B2B0->evoItem2_InvIndex];
|
||||
sUnknown_203B2B0->evoItem2_InvIndex = sub_801A8AC();
|
||||
sUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sUnknown_203B2B0->evoItem2_InvIndex];
|
||||
UpdateLuminousCaveState(0xD);
|
||||
}
|
||||
else
|
||||
PlayMenuSoundEffect(2);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sub_801A8AC()];
|
||||
sUnknown_203B2B0->chosenItem = gTeamInventoryRef->teamItems[sub_801A8AC()];
|
||||
sub_8099690(0);
|
||||
UpdateLuminousCaveState(0xE);
|
||||
break;
|
||||
@@ -620,10 +619,10 @@ static void sub_80250EC(void)
|
||||
menuAction = 0;
|
||||
sub_801A6E8(FALSE);
|
||||
|
||||
if(!sub_8012FD8(&gUnknown_203B2B0->unk84))
|
||||
if(!sub_8012FD8(&sUnknown_203B2B0->unk84))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B2B0->unk84, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B2B0->menuAction3 = menuAction;
|
||||
sub_8013114(&sUnknown_203B2B0->unk84, &menuAction);
|
||||
if(menuAction != 1) sUnknown_203B2B0->menuAction3 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
@@ -647,10 +646,10 @@ static void sub_802515C(void)
|
||||
menuAction = 0;
|
||||
sub_801A6E8(FALSE);
|
||||
|
||||
if(!sub_8012FD8(&gUnknown_203B2B0->unk84))
|
||||
if(!sub_8012FD8(&sUnknown_203B2B0->unk84))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B2B0->unk84, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B2B0->menuAction3 = menuAction;
|
||||
sub_8013114(&sUnknown_203B2B0->unk84, &menuAction);
|
||||
if(menuAction != 1) sUnknown_203B2B0->menuAction3 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
@@ -704,7 +703,7 @@ static void sub_8025204(void)
|
||||
{
|
||||
case 3:
|
||||
sub_80160D8();
|
||||
gUnknown_203B2B0->pokeRenamed = IsPokemonRenamed(gUnknown_203B2B0->pokeStruct);
|
||||
sUnknown_203B2B0->pokeRenamed = IsPokemonRenamed(sUnknown_203B2B0->pokeStruct);
|
||||
UpdateLuminousCaveState(LUMINOUS_CAVE_SHALL_RETURN);
|
||||
break;
|
||||
default:
|
||||
@@ -717,27 +716,27 @@ static void LuminousCave_AdvancetoFallbackState(void)
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
UpdateLuminousCaveState(gUnknown_203B2B0->fallbackState);
|
||||
UpdateLuminousCaveState(sUnknown_203B2B0->fallbackState);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_8025254(void)
|
||||
{
|
||||
if(gUnknown_203B2B0->evoItem1_InvIndex == INVENTORY_SIZE)
|
||||
gUnknown_203B2B0->evolveStatus.evoItem1 = 0;
|
||||
if(sUnknown_203B2B0->evoItem1_InvIndex == INVENTORY_SIZE)
|
||||
sUnknown_203B2B0->evolveStatus.evoItem1 = 0;
|
||||
else
|
||||
{
|
||||
gUnknown_203B2B0->evolveStatus.evoItem1 = gTeamInventoryRef->teamItems[gUnknown_203B2B0->evoItem1_InvIndex].id;
|
||||
sUnknown_203B2B0->evolveStatus.evoItem1 = gTeamInventoryRef->teamItems[sUnknown_203B2B0->evoItem1_InvIndex].id;
|
||||
}
|
||||
if(gUnknown_203B2B0->evoItem2_InvIndex == INVENTORY_SIZE)
|
||||
gUnknown_203B2B0->evolveStatus.evoItem2 = 0;
|
||||
if(sUnknown_203B2B0->evoItem2_InvIndex == INVENTORY_SIZE)
|
||||
sUnknown_203B2B0->evolveStatus.evoItem2 = 0;
|
||||
else
|
||||
{
|
||||
gUnknown_203B2B0->evolveStatus.evoItem2 = gTeamInventoryRef->teamItems[gUnknown_203B2B0->evoItem2_InvIndex].id;
|
||||
sUnknown_203B2B0->evolveStatus.evoItem2 = gTeamInventoryRef->teamItems[sUnknown_203B2B0->evoItem2_InvIndex].id;
|
||||
}
|
||||
|
||||
gUnknown_203B2B0->evolveStatus.unk6 = RandInt(0xFF);
|
||||
sub_808F468(gUnknown_203B2B0->pokeStruct, &gUnknown_203B2B0->evolveStatus, 1);
|
||||
sUnknown_203B2B0->evolveStatus.unk6 = RandInt(0xFF);
|
||||
sub_808F468(sUnknown_203B2B0->pokeStruct, &sUnknown_203B2B0->evolveStatus, 1);
|
||||
}
|
||||
|
||||
static bool8 LuminousCave_HasOnly1Member(void)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "common_strings.h"
|
||||
#include "memory.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
@@ -60,9 +61,6 @@ const u8 gMailAccepted[] = "Accepted";
|
||||
const u8 gUnknown_80E0324[] = "/";
|
||||
static const u8 mailbox_fill[] = "pksdir0";
|
||||
|
||||
extern u8 *gCommonAccept[];
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
extern bool8 IsMailinJobSlot(WonderMail *mail);
|
||||
|
||||
void sub_802E578(void);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B60C.h"
|
||||
#include "code_80A26CC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/colors.h"
|
||||
#include "dungeon.h"
|
||||
#include "makuhita_dojo1.h"
|
||||
@@ -19,12 +20,7 @@ extern u8 gUnknown_202E5D8[];
|
||||
|
||||
static EWRAM_DATA_2 MakuhitaDojoWork1 *sMakuhitaDojoWork1 = {0};
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonMakuhita[2][10]; // 80D9FC8
|
||||
|
||||
#include "data/makuhita_dojo1.h" // 80E0760
|
||||
#include "data/makuhita_dojo1.h"
|
||||
|
||||
static void MakuhitaDojo_DrawMainMenu(void);
|
||||
static void MakuhitaDojo_GoToFallbackState(void);
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "text2.h"
|
||||
#include "util.h"
|
||||
|
||||
// common_strings.s
|
||||
// data_80D47B8.s
|
||||
extern const u8 gUnknown_80D4828[];
|
||||
|
||||
// text.s
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "code_80118A4.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/colors.h"
|
||||
#include "constants/input.h"
|
||||
#include "game_options.h"
|
||||
@@ -51,8 +52,6 @@ extern const char gOthers_MenuOption[];
|
||||
extern const char gUnknown_80DBFEC[];
|
||||
extern const char gOthers_GameOptions[];
|
||||
extern const char gOthers_Hints[];
|
||||
extern const char *gCommonYes[];
|
||||
extern const char *gCommonNo[];
|
||||
|
||||
extern s32 sub_8008ED0(u8 *);
|
||||
extern void CreateOthersMenu(void);
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8098BDC.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "event_flag.h"
|
||||
#include "items.h"
|
||||
@@ -52,12 +53,7 @@ extern u8 gUnknown_202DE58[0x58];
|
||||
extern u8 gUnknown_202DEA8[0x58];
|
||||
extern u8 gAvailablePokemonNames[0x58]; // 202DF98
|
||||
|
||||
EWRAM_DATA_2 unkStruct_203B2B8 *gUnknown_203B2B8 = {0};
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
static EWRAM_DATA_2 unkStruct_203B2B8 *sUnknown_203B2B8 = {0};
|
||||
|
||||
#include "data/party_list_menu.h"
|
||||
|
||||
@@ -105,27 +101,27 @@ u32 sub_8025EF4(PokemonStruct1 *pokeStruct)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
gUnknown_203B2B8 = MemoryAlloc(sizeof(unkStruct_203B2B8), 8);
|
||||
gUnknown_203B2B8->pokeStruct = pokeStruct;
|
||||
sUnknown_203B2B8 = MemoryAlloc(sizeof(unkStruct_203B2B8), 8);
|
||||
sUnknown_203B2B8->pokeStruct = pokeStruct;
|
||||
|
||||
for (i = 0; i < NUM_MONSTERS; i++) {
|
||||
if (gUnknown_203B2B8->pokeStruct == &gRecruitedPokemonRef->pokemon[(s16)i]) {
|
||||
gUnknown_203B2B8->pokeSpecies = i;
|
||||
if (sUnknown_203B2B8->pokeStruct == &gRecruitedPokemonRef->pokemon[(s16)i]) {
|
||||
sUnknown_203B2B8->pokeSpecies = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gUnknown_203B2B8->menuAction1 = 0;
|
||||
gUnknown_203B2B8->menuAction2 = 0;
|
||||
gUnknown_203B2B8->menuAction3 = 0;
|
||||
gUnknown_203B2B8->unk8 = FALSE;
|
||||
sUnknown_203B2B8->menuAction1 = 0;
|
||||
sUnknown_203B2B8->menuAction2 = 0;
|
||||
sUnknown_203B2B8->menuAction3 = 0;
|
||||
sUnknown_203B2B8->unk8 = FALSE;
|
||||
sub_8026074(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_8025F68(void)
|
||||
{
|
||||
switch (gUnknown_203B2B8->state) {
|
||||
switch (sUnknown_203B2B8->state) {
|
||||
case 0:
|
||||
sub_8026074(1);
|
||||
break;
|
||||
@@ -176,21 +172,21 @@ u32 sub_8025F68(void)
|
||||
|
||||
bool8 sub_802604C(void)
|
||||
{
|
||||
return gUnknown_203B2B8->unk8;
|
||||
return sUnknown_203B2B8->unk8;
|
||||
}
|
||||
|
||||
void sub_8026058(void)
|
||||
{
|
||||
if(gUnknown_203B2B8)
|
||||
if(sUnknown_203B2B8)
|
||||
{
|
||||
MemoryFree(gUnknown_203B2B8);
|
||||
gUnknown_203B2B8 = NULL;
|
||||
MemoryFree(sUnknown_203B2B8);
|
||||
sUnknown_203B2B8 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8026074(s32 newState)
|
||||
{
|
||||
gUnknown_203B2B8->state = newState;
|
||||
sUnknown_203B2B8->state = newState;
|
||||
sub_802608C();
|
||||
sub_80261D0();
|
||||
}
|
||||
@@ -198,65 +194,65 @@ void sub_8026074(s32 newState)
|
||||
void sub_802608C(void)
|
||||
{
|
||||
s32 index;
|
||||
sub_8006518(gUnknown_203B2B8->unk220);
|
||||
switch(gUnknown_203B2B8->state)
|
||||
sub_8006518(sUnknown_203B2B8->unk220);
|
||||
switch(sUnknown_203B2B8->state)
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B2B8->unk220[index] = sUnknown_80DD310;
|
||||
sUnknown_203B2B8->unk220[index] = sUnknown_80DD310;
|
||||
}
|
||||
gUnknown_203B2B8->unk220[0] = sUnknown_80DD358;
|
||||
gUnknown_203B2B8->unk220[3] = sUnknown_80DD370;
|
||||
sUnknown_203B2B8->unk220[0] = sUnknown_80DD358;
|
||||
sUnknown_203B2B8->unk220[3] = sUnknown_80DD370;
|
||||
sub_80264CC();
|
||||
gUnknown_203B2B8->unk220[2] = sUnknown_80DD328;
|
||||
sub_8012CAC(&gUnknown_203B2B8->unk220[2], gUnknown_203B2B8->unk16C);
|
||||
gUnknown_203B2B8->unk220[2].unkC = 9;
|
||||
sUnknown_203B2B8->unk220[2] = sUnknown_80DD328;
|
||||
sub_8012CAC(&sUnknown_203B2B8->unk220[2], sUnknown_203B2B8->unk16C);
|
||||
sUnknown_203B2B8->unk220[2].unkC = 9;
|
||||
break;
|
||||
case 0x14:
|
||||
sub_802678C();
|
||||
gUnknown_203B2B8->unk220[2] = sUnknown_80DD340;
|
||||
sub_8012CAC(&gUnknown_203B2B8->unk220[2], gUnknown_203B2B8->unk16C);
|
||||
sUnknown_203B2B8->unk220[2] = sUnknown_80DD340;
|
||||
sub_8012CAC(&sUnknown_203B2B8->unk220[2], sUnknown_203B2B8->unk16C);
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B2B8->unk220[index] = sUnknown_80DD310;
|
||||
sUnknown_203B2B8->unk220[index] = sUnknown_80DD310;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2B8->unk220, TRUE, TRUE);
|
||||
sub_800641C(sUnknown_203B2B8->unk220, TRUE, TRUE);
|
||||
}
|
||||
|
||||
void sub_80261D0(void)
|
||||
{
|
||||
Item item;
|
||||
|
||||
switch(gUnknown_203B2B8->state) {
|
||||
switch(sUnknown_203B2B8->state) {
|
||||
case 1:
|
||||
sub_8026E08(3);
|
||||
sub_8026DAC(0,&gUnknown_203B2B8->item2);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames,gUnknown_203B2B8->pokeStruct,7);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,gUnknown_203B2B8->pokeStruct,6);
|
||||
sub_8012D60(&gUnknown_203B2B8->unk7C,gUnknown_203B2B8->unk16C,0,gUnknown_203B2B8->unk20C,gUnknown_203B2B8->menuAction1,2);
|
||||
sub_8026DAC(0,&sUnknown_203B2B8->item2);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6);
|
||||
sub_8012D60(&sUnknown_203B2B8->unk7C,sUnknown_203B2B8->unk16C,0,sUnknown_203B2B8->unk20C,sUnknown_203B2B8->menuAction1,2);
|
||||
break;
|
||||
case 2:
|
||||
sub_8026E08(3);
|
||||
sub_8026DAC(0,&gUnknown_203B2B8->item2);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames,gUnknown_203B2B8->pokeStruct,7);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,gUnknown_203B2B8->pokeStruct,6);
|
||||
sub_8012EA4(&gUnknown_203B2B8->unk7C,1);
|
||||
sub_8026DAC(0,&sUnknown_203B2B8->item2);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames,sUnknown_203B2B8->pokeStruct,7);
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames + 0x50,sUnknown_203B2B8->pokeStruct,6);
|
||||
sub_8012EA4(&sUnknown_203B2B8->unk7C,1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8024458(gUnknown_203B2B8->pokeSpecies,2);
|
||||
sub_8024458(sUnknown_203B2B8->pokeSpecies,2);
|
||||
break;
|
||||
case 4:
|
||||
sub_801BEEC(gUnknown_203B2B8->pokeSpecies);
|
||||
sub_801BEEC(sUnknown_203B2B8->pokeSpecies);
|
||||
break;
|
||||
case 0xe:
|
||||
sub_80227B8(gUnknown_203B2B8->pokeStruct);
|
||||
sub_80227B8(sUnknown_203B2B8->pokeStruct);
|
||||
break;
|
||||
case 0x12:
|
||||
sub_801A5D8(1,0,NULL,10);
|
||||
@@ -266,74 +262,74 @@ void sub_80261D0(void)
|
||||
break;
|
||||
case 0x14:
|
||||
sub_801A9E0();
|
||||
sub_8012D60(&gUnknown_203B2B8->unkCC,gUnknown_203B2B8->unk16C,0,gUnknown_203B2B8->unk20C,gUnknown_203B2B8->menuAction2,2);
|
||||
sub_8012D60(&sUnknown_203B2B8->unkCC,sUnknown_203B2B8->unk16C,0,sUnknown_203B2B8->unk20C,sUnknown_203B2B8->menuAction2,2);
|
||||
break;
|
||||
case 0x15:
|
||||
HeldItemToSlot(&item,&gUnknown_203B2B8->item1);
|
||||
HeldItemToSlot(&item,&sUnknown_203B2B8->item1);
|
||||
sub_801B3C0(&item);
|
||||
break;
|
||||
case 0x16:
|
||||
unk_CopyMoves4To8(gUnknown_203B2B8->moves,gUnknown_203B2B8->pokeStruct->moves);
|
||||
sub_801EE10(3,gUnknown_203B2B8->pokeSpecies,gUnknown_203B2B8->moves,0,NULL,0);
|
||||
unk_CopyMoves4To8(sUnknown_203B2B8->moves,sUnknown_203B2B8->pokeStruct->moves);
|
||||
sub_801EE10(3,sUnknown_203B2B8->pokeSpecies,sUnknown_203B2B8->moves,0,NULL,0);
|
||||
break;
|
||||
case 0x17:
|
||||
sub_801F1B0(TRUE, FALSE);
|
||||
break;
|
||||
case 0xc:
|
||||
sub_8026878();
|
||||
sub_8014248(sUnknown_80DD388,0,3,gUnknown_203B2B8->unk1BC,0,4,0,0,0x101);
|
||||
sub_8014248(sUnknown_80DD388,0,3,sUnknown_203B2B8->unk1BC,0,4,0,0,0x101);
|
||||
break;
|
||||
case 0xd:
|
||||
sub_8026878();
|
||||
sub_8014248(sUnknown_80DD420,0,3,gUnknown_203B2B8->unk1BC,0,4,0,0,0x101);
|
||||
sub_8014248(sUnknown_80DD420,0,3,sUnknown_203B2B8->unk1BC,0,4,0,0,0x101);
|
||||
break;
|
||||
case 0x18:
|
||||
GetLinkedSequence(gUnknown_203B2B8->moveIndex, gUnknown_203B2B8->moves,gUnknown_203B2B8->moveIDs);
|
||||
sub_801F808(gUnknown_203B2B8->moveIDs);
|
||||
GetLinkedSequence(sUnknown_203B2B8->moveIndex, sUnknown_203B2B8->moves,sUnknown_203B2B8->moveIDs);
|
||||
sub_801F808(sUnknown_203B2B8->moveIDs);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B2B8->fallbackState = 0x19;
|
||||
sUnknown_203B2B8->fallbackState = 0x19;
|
||||
PlaySound(0xcf);
|
||||
sub_80141B4(sUnknown_80DD4C4,0,0,0x101);
|
||||
break;
|
||||
case 6:
|
||||
gUnknown_203B2B8->fallbackState = 0x19;
|
||||
sUnknown_203B2B8->fallbackState = 0x19;
|
||||
PlaySound(0xcf);
|
||||
sub_80141B4(sUnknown_80DD4F4,0,0,0x101);
|
||||
break;
|
||||
case 7:
|
||||
gUnknown_203B2B8->fallbackState = 0x19;
|
||||
sUnknown_203B2B8->fallbackState = 0x19;
|
||||
PlaySound(0xcc);
|
||||
sub_80141B4(sBecameLeader,0,0,0x101);
|
||||
break;
|
||||
case 8:
|
||||
gUnknown_203B2B8->fallbackState = 9;
|
||||
sUnknown_203B2B8->fallbackState = 9;
|
||||
PlaySound(0xca);
|
||||
sub_80141B4(sUnknown_80DD564,0,0,0x101);
|
||||
break;
|
||||
case 9:
|
||||
sub_8026FA4();
|
||||
sub_808D31C(gUnknown_203B2B8->pokeStruct);
|
||||
gUnknown_203B2B8->unk8 = TRUE;
|
||||
sub_808D31C(sUnknown_203B2B8->pokeStruct);
|
||||
sUnknown_203B2B8->unk8 = TRUE;
|
||||
break;
|
||||
case 0xf:
|
||||
gUnknown_203B2B8->fallbackState = 2;
|
||||
sUnknown_203B2B8->fallbackState = 2;
|
||||
sub_80141B4(sUnknown_80DD594,0,0,0x101);
|
||||
break;
|
||||
case 0x10:
|
||||
gUnknown_203B2B8->fallbackState = 2;
|
||||
sUnknown_203B2B8->fallbackState = 2;
|
||||
sub_80141B4(sUnknown_80DD5B8,0,0,0x101);
|
||||
break;
|
||||
case 0x11:
|
||||
gUnknown_203B2B8->fallbackState = 2;
|
||||
sUnknown_203B2B8->fallbackState = 2;
|
||||
sub_80141B4(sUnknown_80DD60C,0,0,0x101);
|
||||
break;
|
||||
case 10:
|
||||
gUnknown_203B2B8->fallbackState = 0x19;
|
||||
sUnknown_203B2B8->fallbackState = 0x19;
|
||||
sub_80141B4(sUnknown_80DD60C,0,0,0x101);
|
||||
break;
|
||||
case 0xb:
|
||||
gUnknown_203B2B8->fallbackState = 0x19;
|
||||
sUnknown_203B2B8->fallbackState = 0x19;
|
||||
sub_80141B4(sUnknown_80DD63C,0,0,0x101);
|
||||
break;
|
||||
case 0:
|
||||
@@ -348,100 +344,100 @@ void sub_80264CC(void) {
|
||||
s32 one;
|
||||
u16 temp;
|
||||
s32 loopMax = 0;
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B2B8->pokeSpecies];
|
||||
MemoryFill16(gUnknown_203B2B8->unk20C, 0, sizeof(gUnknown_203B2B8->unk20C));
|
||||
gUnknown_203B2B8->isTeamLeader = gUnknown_203B2B8->pokeStruct->isTeamLeader;
|
||||
pokeStruct = &gRecruitedPokemonRef->pokemon[sUnknown_203B2B8->pokeSpecies];
|
||||
MemoryFill16(sUnknown_203B2B8->unk20C, 0, sizeof(sUnknown_203B2B8->unk20C));
|
||||
sUnknown_203B2B8->isTeamLeader = sUnknown_203B2B8->pokeStruct->isTeamLeader;
|
||||
|
||||
PeekPokemonItem(gUnknown_203B2B8->pokeSpecies, &gUnknown_203B2B8->item2);
|
||||
PeekPokemonItem(sUnknown_203B2B8->pokeSpecies, &sUnknown_203B2B8->item2);
|
||||
|
||||
if(temp = pokeStruct->unk0 >> 1, one = 1, temp & one)
|
||||
{
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuStandBy;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 7;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuStandBy;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 7;
|
||||
if(!sub_8026E88(pokeStruct))
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
|
||||
if(sub_80023E4(8) && !pokeStruct->isTeamLeader)
|
||||
{
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMakeLeader;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 8;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMakeLeader;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 8;
|
||||
loopMax += 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuJoinTeam;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 6;
|
||||
if(!sub_808D750(gUnknown_203B2B8->pokeSpecies))
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuJoinTeam;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 6;
|
||||
if(!sub_808D750(sUnknown_203B2B8->pokeSpecies))
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
}
|
||||
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGiveGummi;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 10;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGiveGummi;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 10;
|
||||
if(!HasGummiItem())
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB;
|
||||
if(GetNumberOfFilledInventorySlots() == 0)
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuTake;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 0xC;
|
||||
if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE || gUnknown_203B2B8->item2.id == ITEM_NOTHING)
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuTake;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xC;
|
||||
if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE || sUnknown_203B2B8->item2.id == ITEM_NOTHING)
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
|
||||
if((temp = pokeStruct->unk0 >> 1, one = 1, temp & one) == 0)
|
||||
{
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSayFarewell;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 9;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSayFarewell;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 9;
|
||||
if(!sub_8026EB8(pokeStruct))
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
sUnknown_203B2B8->unk20C[loopMax] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
}
|
||||
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSummary;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 4;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuSummary;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 4;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMoves;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 0xD;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuMoves;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xD;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuCheckIQ;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 5;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuCheckIQ;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 5;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = NULL;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = NULL;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 1;
|
||||
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk20C[index] == 0)
|
||||
if(sUnknown_203B2B8->unk20C[index] == 0)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk16C[index].menuAction == gUnknown_203B2B8->menuAction1)
|
||||
if(sUnknown_203B2B8->unk16C[index].menuAction == sUnknown_203B2B8->menuAction1)
|
||||
return;
|
||||
}
|
||||
}
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk20C[index] == 0)
|
||||
if(sUnknown_203B2B8->unk20C[index] == 0)
|
||||
{
|
||||
gUnknown_203B2B8->menuAction1 = gUnknown_203B2B8->unk16C[index].menuAction;
|
||||
sUnknown_203B2B8->menuAction1 = sUnknown_203B2B8->unk16C[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -451,33 +447,33 @@ void sub_802678C(void)
|
||||
{
|
||||
s32 index;
|
||||
s32 loopMax = 0;
|
||||
MemoryFill16(gUnknown_203B2B8->unk20C, 0, sizeof(gUnknown_203B2B8->unk20C));
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB;
|
||||
MemoryFill16(sUnknown_203B2B8->unk20C, 0, sizeof(sUnknown_203B2B8->unk20C));
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = sPartyMenuGive;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 0xB;
|
||||
if(GetNumberOfFilledInventorySlots() == 0)
|
||||
{
|
||||
gUnknown_203B2B8->unk20C[0] = 1;
|
||||
sUnknown_203B2B8->unk20C[0] = 1;
|
||||
}
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = *gCommonInfo;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 4;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = *gCommonInfo;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 4;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk16C[loopMax].text = NULL;
|
||||
gUnknown_203B2B8->unk16C[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B8->unk16C[loopMax].text = NULL;
|
||||
sUnknown_203B2B8->unk16C[loopMax].menuAction = 1;
|
||||
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk20C[index] == 0)
|
||||
if(sUnknown_203B2B8->unk20C[index] == 0)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk16C[index].menuAction == gUnknown_203B2B8->menuAction2)
|
||||
if(sUnknown_203B2B8->unk16C[index].menuAction == sUnknown_203B2B8->menuAction2)
|
||||
return;
|
||||
}
|
||||
}
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if(gUnknown_203B2B8->unk20C[index] == 0)
|
||||
if(sUnknown_203B2B8->unk20C[index] == 0)
|
||||
{
|
||||
gUnknown_203B2B8->menuAction2 = gUnknown_203B2B8->unk16C[index].menuAction;
|
||||
sUnknown_203B2B8->menuAction2 = sUnknown_203B2B8->unk16C[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -485,14 +481,14 @@ void sub_802678C(void)
|
||||
|
||||
void sub_8026878(void) {
|
||||
s32 loopMax = 0;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].text = *gCommonYes;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].menuAction = 2;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].text = *gCommonYes;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].menuAction = 2;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].text = *gCommonNo;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].menuAction = 3;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].text = *gCommonNo;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].menuAction = 3;
|
||||
loopMax += 1;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].text = NULL;
|
||||
gUnknown_203B2B8->unk1BC[loopMax].menuAction = 1;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].text = NULL;
|
||||
sUnknown_203B2B8->unk1BC[loopMax].menuAction = 1;
|
||||
}
|
||||
|
||||
void sub_80268CC(void)
|
||||
@@ -503,17 +499,17 @@ void sub_80268CC(void)
|
||||
s32 choice;
|
||||
|
||||
choice = 0;
|
||||
if ((sub_8012FD8(&gUnknown_203B2B8->unk7C) == 0) && (sub_8013114(&gUnknown_203B2B8->unk7C,&choice), choice != 1)) {
|
||||
gUnknown_203B2B8->menuAction1 = choice;
|
||||
if ((sub_8012FD8(&sUnknown_203B2B8->unk7C) == 0) && (sub_8013114(&sUnknown_203B2B8->unk7C,&choice), choice != 1)) {
|
||||
sUnknown_203B2B8->menuAction1 = choice;
|
||||
}
|
||||
switch(choice) {
|
||||
case 6:
|
||||
if (sub_808D750(gUnknown_203B2B8->pokeSpecies)) {
|
||||
if (sub_808D750(sUnknown_203B2B8->pokeSpecies)) {
|
||||
|
||||
#ifdef NONMATCHING
|
||||
pokeStruct = &gUnknown_203B2B8->pokeSpecies[gRecruitedPokemonRef->pokemon];
|
||||
pokeStruct = &sUnknown_203B2B8->pokeSpecies[gRecruitedPokemonRef->pokemon];
|
||||
#else
|
||||
register size_t offset asm("r1") = offsetof(unkStruct_203B45C, pokemon[gUnknown_203B2B8->pokeSpecies]);
|
||||
register size_t offset asm("r1") = offsetof(unkStruct_203B45C, pokemon[sUnknown_203B2B8->pokeSpecies]);
|
||||
PokemonStruct1* p = gRecruitedPokemonRef->pokemon;
|
||||
size_t addr = offset + (size_t)p;
|
||||
pokeStruct = (PokemonStruct1*)addr;
|
||||
@@ -526,13 +522,13 @@ void sub_80268CC(void)
|
||||
sub_8026074(5);
|
||||
break;
|
||||
case 7:
|
||||
gUnknown_203B2B8->pokeStruct->unk0 &= ~(FLAG_ON_TEAM);
|
||||
sUnknown_203B2B8->pokeStruct->unk0 &= ~(FLAG_ON_TEAM);
|
||||
nullsub_104();
|
||||
sub_808ED00();
|
||||
sub_8026074(6);
|
||||
break;
|
||||
case 8:
|
||||
pokeStruct2 = &gRecruitedPokemonRef->pokemon[gUnknown_203B2B8->pokeSpecies];
|
||||
pokeStruct2 = &gRecruitedPokemonRef->pokemon[sUnknown_203B2B8->pokeSpecies];
|
||||
playerPokemon = GetPlayerPokemonStruct();
|
||||
|
||||
if (!pokeStruct2->isTeamLeader) {
|
||||
@@ -557,13 +553,13 @@ void sub_80268CC(void)
|
||||
break;
|
||||
case 0xc:
|
||||
PlaySound(0x14d);
|
||||
if (gUnknown_203B2B8->item2.id != ITEM_NOTHING) {
|
||||
AddHeldItemToInventory(&gUnknown_203B2B8->item2);
|
||||
if (sUnknown_203B2B8->item2.id != ITEM_NOTHING) {
|
||||
AddHeldItemToInventory(&sUnknown_203B2B8->item2);
|
||||
}
|
||||
FillInventoryGaps();
|
||||
gUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
gUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(gUnknown_203B2B8->pokeSpecies,&gUnknown_203B2B8->item2);
|
||||
sUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
sUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item2);
|
||||
nullsub_104();
|
||||
sub_8026074(0x11);
|
||||
break;
|
||||
@@ -612,7 +608,7 @@ void sub_8026A94(void)
|
||||
|
||||
|
||||
static inline bool8 sub_8026AB0_sub(void) {
|
||||
if (gUnknown_203B2B8->pokeStruct->dungeonLocation.id == DUNGEON_HOWLING_FOREST_2 || gUnknown_203B2B8->pokeStruct->dungeonLocation.id == DUNGEON_POKEMON_SQUARE)
|
||||
if (sUnknown_203B2B8->pokeStruct->dungeonLocation.id == DUNGEON_HOWLING_FOREST_2 || sUnknown_203B2B8->pokeStruct->dungeonLocation.id == DUNGEON_POKEMON_SQUARE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -679,15 +675,15 @@ void sub_8026B64(void)
|
||||
switch(sub_801A6E8(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B2B8->id = sub_801A8AC();
|
||||
gUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[gUnknown_203B2B8->id].id;
|
||||
gUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[gUnknown_203B2B8->id].quantity;
|
||||
sUnknown_203B2B8->id = sub_801A8AC();
|
||||
sUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].id;
|
||||
sUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].quantity;
|
||||
sub_8026074(0x14);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B2B8->id = sub_801A8AC();
|
||||
gUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[gUnknown_203B2B8->id].id;
|
||||
gUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[gUnknown_203B2B8->id].quantity;
|
||||
sUnknown_203B2B8->id = sub_801A8AC();
|
||||
sUnknown_203B2B8->item1.id = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].id;
|
||||
sUnknown_203B2B8->item1.quantity = gTeamInventoryRef->teamItems[sUnknown_203B2B8->id].quantity;
|
||||
sub_8099690(0);
|
||||
sub_8026074(0x15);
|
||||
break;
|
||||
@@ -710,27 +706,27 @@ void sub_8026C14(void)
|
||||
|
||||
menuAction = 0;
|
||||
sub_801A6E8(FALSE);
|
||||
if ((sub_8012FD8(&gUnknown_203B2B8->unkCC) == '\0') && (sub_8013114(&gUnknown_203B2B8->unkCC,&menuAction), menuAction != 1)) {
|
||||
gUnknown_203B2B8->menuAction2 = menuAction;
|
||||
if ((sub_8012FD8(&sUnknown_203B2B8->unkCC) == '\0') && (sub_8013114(&sUnknown_203B2B8->unkCC,&menuAction), menuAction != 1)) {
|
||||
sUnknown_203B2B8->menuAction2 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 0xb:
|
||||
nextState = 0xF;
|
||||
PlaySound(0x14d);
|
||||
ShiftItemsDownFrom(gUnknown_203B2B8->id);
|
||||
ShiftItemsDownFrom(sUnknown_203B2B8->id);
|
||||
FillInventoryGaps();
|
||||
if (gUnknown_203B2B8->item2.id != ITEM_NOTHING) {
|
||||
AddHeldItemToInventory(&gUnknown_203B2B8->item2);
|
||||
if (sUnknown_203B2B8->item2.id != ITEM_NOTHING) {
|
||||
AddHeldItemToInventory(&sUnknown_203B2B8->item2);
|
||||
nextState = 0x10;
|
||||
}
|
||||
HeldItemToSlot(&slot,&gUnknown_203B2B8->item1);
|
||||
HeldItemToSlot(&slot,&sUnknown_203B2B8->item1);
|
||||
temp.unk0 = 0;
|
||||
temp.unk4 = 0;
|
||||
temp.unk8 = 1;
|
||||
slot.flags = ITEM_FLAG_EXISTS;
|
||||
sub_8090E14(gUnknown_202DEA8,&slot,&temp);
|
||||
GivePokemonItem(gUnknown_203B2B8->pokeSpecies,&gUnknown_203B2B8->item1);
|
||||
GivePokemonItem(sUnknown_203B2B8->pokeSpecies,&sUnknown_203B2B8->item1);
|
||||
sub_801A928();
|
||||
nullsub_104();
|
||||
sub_8026074(nextState);
|
||||
@@ -770,8 +766,8 @@ void sub_8026D0C(void)
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
gUnknown_203B2B8->moveIndex = sub_801F194();
|
||||
gUnknown_203B2B8->moveID = gUnknown_203B2B8->moves[gUnknown_203B2B8->moveIndex].id;
|
||||
sUnknown_203B2B8->moveIndex = sub_801F194();
|
||||
sUnknown_203B2B8->moveID = sUnknown_203B2B8->moves[sUnknown_203B2B8->moveIndex].id;
|
||||
sub_8026074(0x18);
|
||||
break;
|
||||
case 2:
|
||||
@@ -801,7 +797,7 @@ void sub_8026D88(void)
|
||||
s32 temp;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
sub_8026074(gUnknown_203B2B8->fallbackState);
|
||||
sub_8026074(sUnknown_203B2B8->fallbackState);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -830,8 +826,8 @@ void sub_8026E08(u32 r0)
|
||||
|
||||
sub_8008C54(r0);
|
||||
sub_80073B8(r0);
|
||||
sub_80922B4(gAvailablePokemonNames, gUnknown_203B2B8->pokeStruct->name, POKEMON_NAME_LENGTH);
|
||||
sub_808D930(buffer, gUnknown_203B2B8->pokeStruct->speciesNum);
|
||||
sub_80922B4(gAvailablePokemonNames, sUnknown_203B2B8->pokeStruct->name, POKEMON_NAME_LENGTH);
|
||||
sub_808D930(buffer, sUnknown_203B2B8->pokeStruct->speciesNum);
|
||||
sprintfStatic(buffer1, sUnknown_80DD6E0, gAvailablePokemonNames);
|
||||
x = sub_8008ED0(buffer1);
|
||||
xxx_call_draw_string(((sUnknown_80DD370.unkC << 3) - x) / 2, 3, buffer1, r0, 0);
|
||||
@@ -909,31 +905,31 @@ bool8 CanTakePokemonHeldItem(PokemonStruct1 *r0)
|
||||
|
||||
void sub_8026FA4(void)
|
||||
{
|
||||
switch(sub_8026F04(gUnknown_203B2B8->pokeStruct))
|
||||
switch(sub_8026F04(sUnknown_203B2B8->pokeStruct))
|
||||
{
|
||||
case 1:
|
||||
PlaySound(0x14d);
|
||||
AddHeldItemToInventory(&gUnknown_203B2B8->item2);
|
||||
AddHeldItemToInventory(&sUnknown_203B2B8->item2);
|
||||
FillInventoryGaps();
|
||||
gUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
gUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(gUnknown_203B2B8->pokeSpecies, &gUnknown_203B2B8->item2);
|
||||
sUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
sUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(sUnknown_203B2B8->pokeSpecies, &sUnknown_203B2B8->item2);
|
||||
sub_8026074(0xA);
|
||||
break;
|
||||
case 2:
|
||||
PlaySound(0x14d);
|
||||
if(IsThrowableItem(gUnknown_203B2B8->item2.id))
|
||||
if(IsThrowableItem(sUnknown_203B2B8->item2.id))
|
||||
{
|
||||
gTeamInventoryRef->teamStorage[gUnknown_203B2B8->item2.id] += gUnknown_203B2B8->item2.quantity;
|
||||
gTeamInventoryRef->teamStorage[sUnknown_203B2B8->item2.id] += sUnknown_203B2B8->item2.quantity;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTeamInventoryRef->teamStorage[gUnknown_203B2B8->item2.id] += 1;
|
||||
gTeamInventoryRef->teamStorage[sUnknown_203B2B8->item2.id] += 1;
|
||||
}
|
||||
|
||||
gUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
gUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(gUnknown_203B2B8->pokeSpecies, &gUnknown_203B2B8->item2);
|
||||
sUnknown_203B2B8->item2.id = ITEM_NOTHING;
|
||||
sUnknown_203B2B8->item2.quantity = 0;
|
||||
GivePokemonItem(sUnknown_203B2B8->pokeSpecies, &sUnknown_203B2B8->item2);
|
||||
sub_8026074(0xB);
|
||||
break;
|
||||
case 0:
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "input.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
#include "common_strings.h"
|
||||
#include "pelipper_board.h"
|
||||
#include "code_80118A4.h"
|
||||
|
||||
@@ -97,9 +97,6 @@ extern u8 sub_802C26C(void);
|
||||
extern u8 HasNoAcceptedJobs(void);
|
||||
extern bool8 IsMailinJobSlot(WonderMail *mail);
|
||||
|
||||
extern u8 *gCommonAccept[];
|
||||
extern u8 *gCommonInfo[];
|
||||
|
||||
void SetPelipperBoardState(u32);
|
||||
|
||||
u32 sub_802E864(void)
|
||||
|
||||
@@ -21,13 +21,14 @@
|
||||
#include "code_800D090.h"
|
||||
#include "event_flag.h"
|
||||
#include "exclusive_pokemon.h"
|
||||
#include "common_strings.h"
|
||||
|
||||
// TODO: This file was originally 3 files. Split properly
|
||||
// 4 files if you count code_8023144.s
|
||||
|
||||
// split1
|
||||
|
||||
struct unkStruct_203B280
|
||||
typedef struct unkStruct_203B280
|
||||
{
|
||||
/* 0x0 */ u8 friendAreas[NUM_FRIEND_AREAS];
|
||||
/* 0x3C */ u32 mode;
|
||||
@@ -36,15 +37,15 @@ struct unkStruct_203B280
|
||||
UnkTextStruct2 *unk78;
|
||||
UnkTextStruct2 unk7C[4];
|
||||
u8 unkDC[4];
|
||||
};
|
||||
EWRAM_DATA_2 struct unkStruct_203B280 *gUnknown_203B280 = {0};
|
||||
} unkStruct_203B280;
|
||||
EWRAM_DATA_2 unkStruct_203B280 *gUnknown_203B280 = {0};
|
||||
EWRAM_DATA_2 u32 gUnknown_203B284 = {0};
|
||||
EWRAM_DATA_2 u16 gUnknown_203B288 = {0};
|
||||
EWRAM_DATA_2 u16 gUnknown_203B28A = {0};
|
||||
|
||||
// split2
|
||||
|
||||
struct unkStruct_203B28C
|
||||
typedef struct unkStruct_203B28C
|
||||
{
|
||||
MenuInputStructSub unk0;
|
||||
/* 0xC */ u8 friendArea;
|
||||
@@ -56,12 +57,12 @@ struct unkStruct_203B28C
|
||||
UnkTextStruct2 *unk78;
|
||||
UnkTextStruct2 unk7C[4];
|
||||
u8 unkDC[4];
|
||||
};
|
||||
EWRAM_DATA_2 struct unkStruct_203B28C *gUnknown_203B28C = {0};
|
||||
} unkStruct_203B28C;
|
||||
EWRAM_DATA_2 unkStruct_203B28C *gUnknown_203B28C = {0};
|
||||
|
||||
// split3
|
||||
|
||||
EWRAM_DATA_2 WigglytuffShop *gWigglytuffShop = {0};
|
||||
static EWRAM_DATA_2 WigglytuffShop *sWigglytuffShop = {0};
|
||||
|
||||
// other stuff
|
||||
|
||||
@@ -72,16 +73,6 @@ extern u8 gUnknown_202E1C8[];
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
extern u8 gUnknown_202E628[];
|
||||
|
||||
// common_strings.s
|
||||
extern const u8 *gCommonYes[];
|
||||
extern const u8 *gCommonNo[];
|
||||
extern const u8 *gCommonCancel[];
|
||||
extern const u8 *gCommonInfo[];
|
||||
extern const u8 *gCommonBuy[];
|
||||
extern const u8 *gCommonCheck[]; // 80D499C
|
||||
extern const u8 *gCommonTripleQuestionMark[];
|
||||
extern const u8 *gCommonWigglytuff[2][20]; // 80D79A4
|
||||
|
||||
// split1
|
||||
extern const UnkTextStruct2 gUnknown_80DC464;
|
||||
extern const UnkTextStruct2 gUnknown_80DC47C;
|
||||
@@ -149,7 +140,7 @@ bool8 sub_80211AC(u32 mode, u32 param_2)
|
||||
if (sub_8021700(mode))
|
||||
return FALSE;
|
||||
|
||||
gUnknown_203B280 = MemoryAlloc(sizeof(struct unkStruct_203B280), 8);
|
||||
gUnknown_203B280 = MemoryAlloc(sizeof(unkStruct_203B280), 8);
|
||||
gUnknown_203B280->mode = mode;
|
||||
gUnknown_203B280->unk74 = param_2;
|
||||
gUnknown_203B280->unk78 = &gUnknown_203B280->unk7C[gUnknown_203B280->unk74];
|
||||
@@ -431,7 +422,7 @@ u8 sub_8021700(u32 mode)
|
||||
|
||||
bool8 sub_8021774(u8 friendArea, bool8 param_2, s32 param_3)
|
||||
{
|
||||
gUnknown_203B28C = MemoryAlloc(sizeof(struct unkStruct_203B28C), 8);
|
||||
gUnknown_203B28C = MemoryAlloc(sizeof(unkStruct_203B28C), 8);
|
||||
gUnknown_203B28C->friendArea = friendArea;
|
||||
gUnknown_203B28C->unkD = param_2;
|
||||
sub_801317C(&gUnknown_203B28C->unk0);
|
||||
@@ -596,35 +587,35 @@ bool8 CreateWigglytuffShop(bool32 isAsleep)
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(NULL, TRUE, TRUE);
|
||||
gWigglytuffShop = MemoryAlloc(sizeof(WigglytuffShop), 8);
|
||||
gWigglytuffShop->menuAction1 = 0;
|
||||
gWigglytuffShop->menuAction2 = 0;
|
||||
gWigglytuffShop->isAsleep = isAsleep;
|
||||
sWigglytuffShop = MemoryAlloc(sizeof(WigglytuffShop), 8);
|
||||
sWigglytuffShop->menuAction1 = 0;
|
||||
sWigglytuffShop->menuAction2 = 0;
|
||||
sWigglytuffShop->isAsleep = isAsleep;
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E5D8,MONSTER_WIGGLYTUFF);
|
||||
CopyYellowMonsterNametoBuffer(gUnknown_202E1C8,MONSTER_WIGGLYTUFF);
|
||||
string = GetMonSpecies(MONSTER_WIGGLYTUFF);
|
||||
strcpy(gUnknown_202E1C8 - 0x50, string);
|
||||
if (gWigglytuffShop->isAsleep == TRUE) {
|
||||
gWigglytuffShop->unkCC = NULL;
|
||||
if (sWigglytuffShop->isAsleep == TRUE) {
|
||||
sWigglytuffShop->unkCC = NULL;
|
||||
}
|
||||
else {
|
||||
gWigglytuffShop->unkCC = &gWigglytuffShop->faceFile;
|
||||
sWigglytuffShop->unkCC = &sWigglytuffShop->faceFile;
|
||||
}
|
||||
file = GetDialogueSpriteDataPtr(MONSTER_WIGGLYTUFF);
|
||||
gWigglytuffShop->faceFile = file;
|
||||
gWigglytuffShop->faceData = file->data;
|
||||
gWigglytuffShop->unkC8 = 0;
|
||||
gWigglytuffShop->unkC9 = 0;
|
||||
gWigglytuffShop->unkCA = 0;
|
||||
gWigglytuffShop->unkC4 = 2;
|
||||
gWigglytuffShop->unkC6 = 8;
|
||||
sWigglytuffShop->faceFile = file;
|
||||
sWigglytuffShop->faceData = file->data;
|
||||
sWigglytuffShop->unkC8 = 0;
|
||||
sWigglytuffShop->unkC9 = 0;
|
||||
sWigglytuffShop->unkCA = 0;
|
||||
sWigglytuffShop->unkC4 = 2;
|
||||
sWigglytuffShop->unkC6 = 8;
|
||||
SetWigglytuffState(WIGGLYTUFF_INIT);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u32 sub_8021C5C(void)
|
||||
{
|
||||
switch(gWigglytuffShop->state)
|
||||
switch(sWigglytuffShop->state)
|
||||
{
|
||||
case WIGGLYTUFF_INIT:
|
||||
case WIGGLYTUFF_MAIN_MENU:
|
||||
@@ -664,17 +655,17 @@ u32 sub_8021C5C(void)
|
||||
|
||||
void sub_8021D1C(void)
|
||||
{
|
||||
if(gWigglytuffShop)
|
||||
if(sWigglytuffShop)
|
||||
{
|
||||
CloseFile(gWigglytuffShop->faceFile);
|
||||
MemoryFree(gWigglytuffShop);
|
||||
gWigglytuffShop = NULL;
|
||||
CloseFile(sWigglytuffShop->faceFile);
|
||||
MemoryFree(sWigglytuffShop);
|
||||
sWigglytuffShop = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void SetWigglytuffState(s32 newState)
|
||||
{
|
||||
gWigglytuffShop->state = newState;
|
||||
sWigglytuffShop->state = newState;
|
||||
sub_8021D5C();
|
||||
UpdateWigglytuffDialogue();
|
||||
}
|
||||
@@ -683,28 +674,28 @@ void sub_8021D5C(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
sub_8006518(gWigglytuffShop->unkD0);
|
||||
switch(gWigglytuffShop->state)
|
||||
sub_8006518(sWigglytuffShop->unkD0);
|
||||
switch(sWigglytuffShop->state)
|
||||
{
|
||||
case WIGGLYTUFF_UNK9:
|
||||
case WIGGLYTUFF_UNKA:
|
||||
gWigglytuffShop->unkD0[0] = gUnknown_80DC534;
|
||||
gWigglytuffShop->unkD0[2] = gUnknown_80DC534;
|
||||
gWigglytuffShop->unkD0[1] = gUnknown_80DC564;
|
||||
sWigglytuffShop->unkD0[0] = gUnknown_80DC534;
|
||||
sWigglytuffShop->unkD0[2] = gUnknown_80DC534;
|
||||
sWigglytuffShop->unkD0[1] = gUnknown_80DC564;
|
||||
break;
|
||||
case WIGGLYTUFF_UNKB:
|
||||
gWigglytuffShop->unkD0[2] = gUnknown_80DC54C;
|
||||
sWigglytuffShop->unkD0[2] = gUnknown_80DC54C;
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gWigglytuffShop->unkD0[index] = gUnknown_80DC534;
|
||||
sWigglytuffShop->unkD0[index] = gUnknown_80DC534;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gWigglytuffShop->unkD0, TRUE, TRUE);
|
||||
sub_800641C(sWigglytuffShop->unkD0, TRUE, TRUE);
|
||||
}
|
||||
|
||||
void UpdateWigglytuffDialogue(void)
|
||||
@@ -712,49 +703,49 @@ void UpdateWigglytuffDialogue(void)
|
||||
char *string;
|
||||
unkStruct_8092638 uStack_14;
|
||||
|
||||
switch(gWigglytuffShop->state)
|
||||
switch(sWigglytuffShop->state)
|
||||
{
|
||||
case WIGGLYTUFF_INIT:
|
||||
sub_80222C8();
|
||||
sub_8014248(gCommonWigglytuff[gWigglytuffShop->isAsleep][0],0,gWigglytuffShop->menuAction1,gWigglytuffShop->unk1C,gWigglytuffShop->unk5C,4,0,gWigglytuffShop->unkCC,0xc);
|
||||
sub_8014248(gCommonWigglytuff[sWigglytuffShop->isAsleep][0],0,sWigglytuffShop->menuAction1,sWigglytuffShop->unk1C,sWigglytuffShop->unk5C,4,0,sWigglytuffShop->unkCC,0xc);
|
||||
break;
|
||||
case WIGGLYTUFF_MAIN_MENU:
|
||||
sub_80222C8();
|
||||
sub_8014248(gCommonWigglytuff[gWigglytuffShop->isAsleep][1],0,gWigglytuffShop->menuAction1,gWigglytuffShop->unk1C,gWigglytuffShop->unk5C,4,0,gWigglytuffShop->unkCC,0xc);
|
||||
sub_8014248(gCommonWigglytuff[sWigglytuffShop->isAsleep][1],0,sWigglytuffShop->menuAction1,sWigglytuffShop->unk1C,sWigglytuffShop->unk5C,4,0,sWigglytuffShop->unkCC,0xc);
|
||||
break;
|
||||
case FRIEND_AREA_SELECT_BUY:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNK9;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][3],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNK9;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][3],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case FRIEND_AREA_SELECT_BUY_AGAIN:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][4],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][4],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_INFO:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_MAIN_MENU;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][19],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_MAIN_MENU;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][19],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_PRE_EXIT:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][2],0,gWigglytuffShop->unkCC,0x30d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][2],0,sWigglytuffShop->unkCC,0x30d);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case WIGGLYTUFF_CANT_ADD_FRIEND_AREA:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_PRE_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][8],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_PRE_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][8],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case NO_MONEY:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][9],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][9],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case NO_FRIEND_AREAS:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_PRE_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][10],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_PRE_EXIT;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][10],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case NOT_ENOUGH_MONEY:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][11],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNKA;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][11],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_UNK9:
|
||||
sub_80211AC(2,3);
|
||||
@@ -768,49 +759,49 @@ void UpdateWigglytuffDialogue(void)
|
||||
sub_8021494();
|
||||
DrawTeamMoneyBox(1);
|
||||
sub_8022380();
|
||||
sub_8012D60(&gWigglytuffShop->unk6C,gWigglytuffShop->unk1C,0,gWigglytuffShop->unk5C, gWigglytuffShop->menuAction2,2);
|
||||
sub_8012D60(&sWigglytuffShop->unk6C,sWigglytuffShop->unk1C,0,sWigglytuffShop->unk5C, sWigglytuffShop->menuAction2,2);
|
||||
break;
|
||||
case BUY_FRIEND_AREA:
|
||||
CreateWigglytuffConfirmFriendAreaMenu();
|
||||
sub_8092578(gUnknown_202E628,gWigglytuffShop->chosenFriendArea,FALSE);
|
||||
gUnknown_202DE30[0] = gWigglytuffShop->friendAreaPrice;
|
||||
sub_8014248(gCommonWigglytuff[gWigglytuffShop->isAsleep][5],0,5,gWigglytuffShop->unk1C,0,4,0,gWigglytuffShop->unkCC,0xc);
|
||||
sub_8092578(gUnknown_202E628,sWigglytuffShop->chosenFriendArea,FALSE);
|
||||
gUnknown_202DE30[0] = sWigglytuffShop->friendAreaPrice;
|
||||
sub_8014248(gCommonWigglytuff[sWigglytuffShop->isAsleep][5],0,5,sWigglytuffShop->unk1C,0,4,0,sWigglytuffShop->unkCC,0xc);
|
||||
break;
|
||||
case FRIEND_AREA_INFO:
|
||||
sub_8021774(gWigglytuffShop->chosenFriendArea,FALSE,2);
|
||||
sub_8021774(sWigglytuffShop->chosenFriendArea,FALSE,2);
|
||||
break;
|
||||
case CONFIRM_BUY_FRIEND_AREA:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNKD;
|
||||
sub_8092578(gUnknown_202E628,gWigglytuffShop->chosenFriendArea,FALSE);
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][6],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNKD;
|
||||
sub_8092578(gUnknown_202E628,sWigglytuffShop->chosenFriendArea,FALSE);
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][6],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_UNKD:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNKE;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNKE;
|
||||
PlaySound(0x25b);
|
||||
gWigglytuffShop->unk130 = 1;
|
||||
sWigglytuffShop->unk130 = 1;
|
||||
break;
|
||||
case WIGGLYTUFF_UNKE:
|
||||
gWigglytuffShop->fallbackState = FRIEND_AREA_UNLOCKED;
|
||||
gWigglytuffShop->unk134 = 30;
|
||||
sWigglytuffShop->fallbackState = FRIEND_AREA_UNLOCKED;
|
||||
sWigglytuffShop->unk134 = 30;
|
||||
break;
|
||||
case FRIEND_AREA_UNLOCKED:
|
||||
if (sub_8021700(2) != 0) {
|
||||
sub_80213A0();
|
||||
gWigglytuffShop->fallbackState = NO_FRIEND_AREAS;
|
||||
sWigglytuffShop->fallbackState = NO_FRIEND_AREAS;
|
||||
}
|
||||
else {
|
||||
gWigglytuffShop->fallbackState = FRIEND_AREA_SELECT_BUY_AGAIN;
|
||||
sWigglytuffShop->fallbackState = FRIEND_AREA_SELECT_BUY_AGAIN;
|
||||
}
|
||||
PlaySound(0xce);
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][7],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][7],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNK16;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][12],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNK16;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][12],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK_AGAIN:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_UNK17;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][13],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_UNK17;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][13],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_UNK16:
|
||||
sub_8023144(0,3,0,10);
|
||||
@@ -819,53 +810,53 @@ void UpdateWigglytuffDialogue(void)
|
||||
sub_8023354(1);
|
||||
break;
|
||||
case DISPLAY_POKEMON_FRIEND_AREA_INFO:
|
||||
sub_8092638(gWigglytuffShop->chosenFriendArea,&uStack_14,FALSE,FALSE);
|
||||
sub_8092638(sWigglytuffShop->chosenFriendArea,&uStack_14,FALSE,FALSE);
|
||||
if (uStack_14.hasFriendArea) {
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_HAS_FRIEND_AREA;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_HAS_FRIEND_AREA;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(GetFriendAreaUnlockCondition(gWigglytuffShop->chosenFriendArea))
|
||||
switch(GetFriendAreaUnlockCondition(sWigglytuffShop->chosenFriendArea))
|
||||
{
|
||||
case UNLOCK_SHOP_POST_GAME:
|
||||
if (sub_80023E4(6) != 0) {
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
}
|
||||
else {
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_POST_GAME;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_POST_GAME;
|
||||
}
|
||||
break;
|
||||
case UNLOCK_WONDER_MAIL:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_WONDER_MAIL;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_WONDER_MAIL;
|
||||
break;
|
||||
case UNLOCK_LEGENDARY_REQUEST:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_LEGENDARY;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_LEGENDARY;
|
||||
break;
|
||||
default:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
string = GetMonSpecies(gWigglytuffShop->chosenSpecies);
|
||||
string = GetMonSpecies(sWigglytuffShop->chosenSpecies);
|
||||
strcpy(gAvailablePokemonNames,string);
|
||||
sub_8092578(gUnknown_202E628,gWigglytuffShop->chosenFriendArea,FALSE);
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][14],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sub_8092578(gUnknown_202E628,sWigglytuffShop->chosenFriendArea,FALSE);
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][14],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK_HAS_FRIEND_AREA:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][15],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][15],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK_POST_GAME:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][16],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][16],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK_WONDER_MAIL:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][17],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][17],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
case WIGGLYTUFF_CHECK_LEGENDARY:
|
||||
gWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[gWigglytuffShop->isAsleep][18],0,gWigglytuffShop->unkCC,0x10d);
|
||||
sWigglytuffShop->fallbackState = WIGGLYTUFF_CHECK_AGAIN;
|
||||
sub_80141B4(gCommonWigglytuff[sWigglytuffShop->isAsleep][18],0,sWigglytuffShop->unkCC,0x10d);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -874,32 +865,32 @@ void sub_80222C8(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 index = 0;
|
||||
MemoryFill16(gWigglytuffShop->unk5C, 0, sizeof(gWigglytuffShop->unk5C));
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonBuy;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 2;
|
||||
MemoryFill16(sWigglytuffShop->unk5C, 0, sizeof(sWigglytuffShop->unk5C));
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonBuy;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 2;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonCheck;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 3;
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonCheck;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 3;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonInfo;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 4;
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonInfo;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 4;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonCancel;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonCancel;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = NULL;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
sWigglytuffShop->unk1C[index].text = NULL;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
|
||||
for(i = 0; i < index; i++)
|
||||
{
|
||||
if(gWigglytuffShop->unk5C[i] == 0 && gWigglytuffShop->unk1C[i].menuAction == gWigglytuffShop->menuAction1)
|
||||
if(sWigglytuffShop->unk5C[i] == 0 && sWigglytuffShop->unk1C[i].menuAction == sWigglytuffShop->menuAction1)
|
||||
return;
|
||||
}
|
||||
for(i = 0; i < index; i++)
|
||||
{
|
||||
if(gWigglytuffShop->unk5C[i] == 0)
|
||||
if(sWigglytuffShop->unk5C[i] == 0)
|
||||
{
|
||||
gWigglytuffShop->menuAction1 = gWigglytuffShop->unk1C[i].menuAction;
|
||||
sWigglytuffShop->menuAction1 = sWigglytuffShop->unk1C[i].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -909,26 +900,26 @@ void sub_8022380(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 index = 0;
|
||||
MemoryFill16(gWigglytuffShop->unk5C, 0, sizeof(gWigglytuffShop->unk5C));
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonBuy;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 2;
|
||||
MemoryFill16(sWigglytuffShop->unk5C, 0, sizeof(sWigglytuffShop->unk5C));
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonBuy;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 2;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonInfo;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 4;
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonInfo;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 4;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = NULL;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
sWigglytuffShop->unk1C[index].text = NULL;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
|
||||
for(i = 0; i < index; i++)
|
||||
{
|
||||
if(gWigglytuffShop->unk5C[i] == 0 && gWigglytuffShop->unk1C[i].menuAction == gWigglytuffShop->menuAction2)
|
||||
if(sWigglytuffShop->unk5C[i] == 0 && sWigglytuffShop->unk1C[i].menuAction == sWigglytuffShop->menuAction2)
|
||||
return;
|
||||
}
|
||||
for(i = 0; i < index; i++)
|
||||
{
|
||||
if(gWigglytuffShop->unk5C[i] == 0)
|
||||
if(sWigglytuffShop->unk5C[i] == 0)
|
||||
{
|
||||
gWigglytuffShop->menuAction2 = gWigglytuffShop->unk1C[i].menuAction;
|
||||
sWigglytuffShop->menuAction2 = sWigglytuffShop->unk1C[i].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -937,15 +928,15 @@ void sub_8022380(void)
|
||||
void CreateWigglytuffConfirmFriendAreaMenu(void)
|
||||
{
|
||||
s32 index = 0;
|
||||
MemoryFill16(gWigglytuffShop->unk5C, 0, sizeof(gWigglytuffShop->unk5C));
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonYes;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 5;
|
||||
MemoryFill16(sWigglytuffShop->unk5C, 0, sizeof(sWigglytuffShop->unk5C));
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonYes;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 5;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = *gCommonNo;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 6;
|
||||
sWigglytuffShop->unk1C[index].text = *gCommonNo;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 6;
|
||||
index++;
|
||||
gWigglytuffShop->unk1C[index].text = NULL;
|
||||
gWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
sWigglytuffShop->unk1C[index].text = NULL;
|
||||
sWigglytuffShop->unk1C[index].menuAction = 1;
|
||||
}
|
||||
|
||||
void sub_8022460(void)
|
||||
@@ -955,7 +946,7 @@ void sub_8022460(void)
|
||||
if (sub_80144A4(&menuAction) == 0)
|
||||
{
|
||||
if (menuAction != 1) {
|
||||
gWigglytuffShop->menuAction1 = menuAction;
|
||||
sWigglytuffShop->menuAction1 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
@@ -988,8 +979,8 @@ void HandleWigglytuffConfirmFriendAreaMenu(void)
|
||||
switch(menuAction)
|
||||
{
|
||||
case 5:
|
||||
gTeamInventoryRef->teamMoney -= gWigglytuffShop->friendAreaPrice;
|
||||
UnlockFriendArea(gWigglytuffShop->chosenFriendArea);
|
||||
gTeamInventoryRef->teamMoney -= sWigglytuffShop->friendAreaPrice;
|
||||
UnlockFriendArea(sWigglytuffShop->chosenFriendArea);
|
||||
PlaySound(0x14C);
|
||||
SetWigglytuffState(CONFIRM_BUY_FRIEND_AREA);
|
||||
break;
|
||||
@@ -1006,13 +997,13 @@ void sub_8022538(void)
|
||||
switch(sub_8021274(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gWigglytuffShop->chosenFriendArea = sub_802132C();
|
||||
gWigglytuffShop->friendAreaPrice = GetFriendAreaPrice(gWigglytuffShop->chosenFriendArea);
|
||||
sWigglytuffShop->chosenFriendArea = sub_802132C();
|
||||
sWigglytuffShop->friendAreaPrice = GetFriendAreaPrice(sWigglytuffShop->chosenFriendArea);
|
||||
SetWigglytuffState(WIGGLYTUFF_UNKB);
|
||||
break;
|
||||
case 4:
|
||||
gWigglytuffShop->chosenFriendArea = sub_802132C();
|
||||
gWigglytuffShop->friendAreaPrice = GetFriendAreaPrice(gWigglytuffShop->chosenFriendArea);
|
||||
sWigglytuffShop->chosenFriendArea = sub_802132C();
|
||||
sWigglytuffShop->friendAreaPrice = GetFriendAreaPrice(sWigglytuffShop->chosenFriendArea);
|
||||
SetWigglytuffState(FRIEND_AREA_INFO);
|
||||
break;
|
||||
case 0:
|
||||
@@ -1032,10 +1023,10 @@ void sub_80225C8(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
sub_8021274(FALSE);
|
||||
if(sub_8012FD8(&gWigglytuffShop->unk6C) == 0)
|
||||
if(sub_8012FD8(&sWigglytuffShop->unk6C) == 0)
|
||||
{
|
||||
sub_8013114(&gWigglytuffShop->unk6C, &menuAction);
|
||||
if(menuAction != 1) gWigglytuffShop->menuAction2 = menuAction;
|
||||
sub_8013114(&sWigglytuffShop->unk6C, &menuAction);
|
||||
if(menuAction != 1) sWigglytuffShop->menuAction2 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
@@ -1044,7 +1035,7 @@ void sub_80225C8(void)
|
||||
{
|
||||
SetWigglytuffState(NO_MONEY);
|
||||
}
|
||||
else if(gWigglytuffShop->friendAreaPrice > gTeamInventoryRef->teamMoney)
|
||||
else if(sWigglytuffShop->friendAreaPrice > gTeamInventoryRef->teamMoney)
|
||||
{
|
||||
SetWigglytuffState(NOT_ENOUGH_MONEY);
|
||||
}
|
||||
@@ -1082,8 +1073,8 @@ void sub_8022684(void)
|
||||
switch(sub_8023278(1))
|
||||
{
|
||||
case 3:
|
||||
gWigglytuffShop->chosenSpecies = sub_802331C();
|
||||
gWigglytuffShop->chosenFriendArea = GetFriendArea(gWigglytuffShop->chosenSpecies);
|
||||
sWigglytuffShop->chosenSpecies = sub_802331C();
|
||||
sWigglytuffShop->chosenFriendArea = GetFriendArea(sWigglytuffShop->chosenSpecies);
|
||||
SetWigglytuffState(DISPLAY_POKEMON_FRIEND_AREA_INFO);
|
||||
break;
|
||||
case 2:
|
||||
@@ -1101,7 +1092,7 @@ void sub_80226CC(void)
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0)
|
||||
SetWigglytuffState(gWigglytuffShop->fallbackState);
|
||||
SetWigglytuffState(sWigglytuffShop->fallbackState);
|
||||
}
|
||||
|
||||
void sub_80226F0(void)
|
||||
@@ -1118,7 +1109,7 @@ void sub_80226F0(void)
|
||||
ptr[3] = r2;
|
||||
if(sub_8099B94() == 0)
|
||||
{
|
||||
switch(gWigglytuffShop->unk130)
|
||||
switch(sWigglytuffShop->unk130)
|
||||
{
|
||||
case 1:
|
||||
case 3:
|
||||
@@ -1130,18 +1121,18 @@ void sub_80226F0(void)
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
SetWigglytuffState(gWigglytuffShop->fallbackState);
|
||||
gWigglytuffShop->unk130 = 0;
|
||||
SetWigglytuffState(sWigglytuffShop->fallbackState);
|
||||
sWigglytuffShop->unk130 = 0;
|
||||
break;
|
||||
}
|
||||
gWigglytuffShop->unk130++;
|
||||
sWigglytuffShop->unk130++;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8022790(void)
|
||||
{
|
||||
if (gWigglytuffShop->unk134 != 0)
|
||||
gWigglytuffShop->unk134--;
|
||||
if (sWigglytuffShop->unk134 != 0)
|
||||
sWigglytuffShop->unk134--;
|
||||
else
|
||||
SetWigglytuffState(gWigglytuffShop->fallbackState);
|
||||
SetWigglytuffState(sWigglytuffShop->fallbackState);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "constants/mailbox.h"
|
||||
#include "global.h"
|
||||
#include "common_strings.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "constants/input.h"
|
||||
#include "memory.h"
|
||||
@@ -167,10 +168,6 @@ extern UnkTextStruct2 gUnknown_80DFDA4;
|
||||
|
||||
extern struct unkStruct_203B2F0 *gUnknown_203B2F0;
|
||||
|
||||
extern u8 *gCommonYes[];
|
||||
extern u8 *gCommonNo[];
|
||||
extern u8 *gCommonDelete[];
|
||||
extern u8 *gCommonInfo[];
|
||||
extern u8 gUnknown_80DFD70[];
|
||||
extern u8 gUnknown_80DFD7C[];
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "code_80118A4.h"
|
||||
#include "wonder_mail_3.h"
|
||||
#include "code_801B60C.h"
|
||||
#include "common_strings.h"
|
||||
|
||||
extern unkStruct_803B344 *sub_803B344(u8);
|
||||
|
||||
@@ -122,7 +123,6 @@ extern u8 gUnknown_202DEA8[];
|
||||
extern u8 gUnknown_202E5D8[];
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
extern u32 gUnknown_202DE30;
|
||||
extern const u8 *gCommonInfo[];
|
||||
|
||||
const UnkTextStruct2 gUnknown_80E03C4 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
|
||||
Reference in New Issue
Block a user