mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-27 19:24:58 -05:00
Debug Menu work YIPPEEEEEEEE
This commit is contained in:
8
include/code_8012A18_1.h
Normal file
8
include/code_8012A18_1.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CODE_8012A18_H
|
||||
#define GUARD_CODE_8012A18_H
|
||||
|
||||
u32 sub_801602C(u32, u8 *);
|
||||
u32 sub_8016080(void);
|
||||
void sub_80160D8(void);
|
||||
|
||||
#endif // GUARD_CODE_8012A18_H
|
||||
28
include/code_801B3C0.h
Normal file
28
include/code_801B3C0.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef GUARD_CODE_801B3C0_H
|
||||
#define GUARD_CODE_801B3C0_H
|
||||
|
||||
#include "input.h"
|
||||
#include "item.h"
|
||||
#include "subStruct_203B240.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x94
|
||||
struct unkStruct_203B230
|
||||
{
|
||||
s32 state;
|
||||
struct Item item;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
struct subStruct_203B240 *unk10[2];
|
||||
u8 fill18[0x20 - 0x18];
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
struct UnkTextStruct2 unk28[4];
|
||||
struct MenuInputStructSub unk88;
|
||||
};
|
||||
|
||||
u32 sub_801B3C0(struct Item *);
|
||||
u32 sub_801B410(void);
|
||||
void sub_801B450(void);
|
||||
|
||||
#endif // GUARD_CODE_801B3C0_H
|
||||
18
include/code_801C620.h
Normal file
18
include/code_801C620.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef GUARD_CODE_801C620_H
|
||||
#define GUARD_CODE_801C620_H
|
||||
|
||||
#include "text.h"
|
||||
|
||||
bool8 sub_801C8C4(s32, s32, struct UnkTextStruct2_sub *, u32);
|
||||
extern u32 sub_801CA08(bool8);
|
||||
u8 sub_801CB24(void);
|
||||
void sub_801CB5C(bool8);
|
||||
void sub_801CBB8(void);
|
||||
void sub_801CCD8(void);
|
||||
bool8 sub_801CF14(s32);
|
||||
bool8 sub_801CF50(s32);
|
||||
void sub_801CF94(void);
|
||||
s32 sub_801CFB8(void);
|
||||
u32 sub_801CFE0(u8);
|
||||
|
||||
#endif // GUARD_CODE_801C620_H
|
||||
12
include/code_801EE10_1.h
Normal file
12
include/code_801EE10_1.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_CODE_801EE10_1_H
|
||||
#define GUARD_CODE_801EE10_1_H
|
||||
|
||||
// code_801EE10_1.s
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern u32 sub_8023A94(bool8);
|
||||
extern s16 sub_8023B44(void);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8023DA4(void);
|
||||
|
||||
#endif // GUARD_CODE_801EE10_1_H
|
||||
7
include/code_801EE10_mid.h
Normal file
7
include/code_801EE10_mid.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_CODE_801EE10_MID_H
|
||||
#define GUARD_CODE_801EE10_MID_H
|
||||
|
||||
// code_801EE10_mid.s
|
||||
extern void sub_8021494(void);
|
||||
|
||||
#endif // GUARD_CODE_801EE10_MID_H
|
||||
8
include/code_8021774.h
Normal file
8
include/code_8021774.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CODE_8021774_H
|
||||
#define GUARD_CODE_8021774_H
|
||||
|
||||
bool8 sub_8021774(u8, u8, s32);
|
||||
u32 sub_80217EC(void);
|
||||
void sub_8021830(void);
|
||||
|
||||
#endif // GUARD_CODE_8021774_H
|
||||
10
include/code_8021774_pre.h
Normal file
10
include/code_8021774_pre.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_CODE_8021774_PRE_H
|
||||
#define GUARD_CODE_8021774_PRE_H
|
||||
|
||||
bool8 sub_80211AC(u32, u32);
|
||||
u32 sub_8021274(bool8);
|
||||
u8 sub_802132C(void);
|
||||
void sub_8021354(bool8);
|
||||
void sub_80213A0(void);
|
||||
|
||||
#endif // GUARD_CODE_8021774_PRE_H
|
||||
@@ -1,56 +0,0 @@
|
||||
#ifndef GUARD_DEBUG_MENU_H
|
||||
#define GUARD_DEBUG_MENU_H
|
||||
|
||||
#include "pokemon.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x1A4
|
||||
struct DebugMenu
|
||||
{
|
||||
struct MenuStruct unk0[4];
|
||||
struct UnkTextStruct2 unk140[4];
|
||||
u32 fill1A0;
|
||||
};
|
||||
|
||||
// size: 0x140
|
||||
struct unkStruct_203B3F8
|
||||
{
|
||||
/* 0x0 */ u32 state;
|
||||
s16 unk4;
|
||||
u16 unk6;
|
||||
/* 0x8 */ struct PokemonStruct *pokemon;
|
||||
/* 0xC */ u32 menuAction;
|
||||
struct MenuStruct unk10;
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
struct UnkTextStruct2 *unk78;
|
||||
u32 unk7C;
|
||||
u32 unk80;
|
||||
u8 fill84[0x90 - 0x84];
|
||||
struct MenuItem unk90[8];
|
||||
u16 unkD0[8];
|
||||
struct UnkTextStruct2 unkE0[4];
|
||||
};
|
||||
|
||||
enum DebugMenuOptions
|
||||
{
|
||||
MENU_DEBUG_MENU_DUNGEONS = 0,
|
||||
MENU_DEBUG_MENU_FIELD,
|
||||
MENU_DEBUG_MENU_FIELD_MAP,
|
||||
MENU_DEBUG_MENU_FIELD_SCRIPT,
|
||||
MENU_DEBUG_MENU_DEBUG_MENU,
|
||||
MENU_DEBUG_MENU_UNKNOWN_1,
|
||||
MENU_DEBUG_MENU_STORAGE,
|
||||
MENU_DEBUG_MENU_H_OPEN = 9,
|
||||
};
|
||||
|
||||
void CreateDebugMenu(void);
|
||||
void DeleteDebugMenu(void);
|
||||
u32 UpdateDebugMenu(void);
|
||||
|
||||
#endif
|
||||
31
include/debug_menu1.h
Normal file
31
include/debug_menu1.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef GUARD_DEBUG_MENU1_H
|
||||
#define GUARD_DEBUG_MENU1_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x1A4
|
||||
struct DebugMenu
|
||||
{
|
||||
struct MenuStruct unk0[4];
|
||||
struct UnkTextStruct2 unk140[4];
|
||||
u32 fill1A0;
|
||||
};
|
||||
|
||||
enum DebugMenuOptions
|
||||
{
|
||||
MENU_DEBUG_MENU_DUNGEONS = 0,
|
||||
MENU_DEBUG_MENU_FIELD,
|
||||
MENU_DEBUG_MENU_FIELD_MAP,
|
||||
MENU_DEBUG_MENU_FIELD_SCRIPT,
|
||||
MENU_DEBUG_MENU_DEBUG_MENU,
|
||||
MENU_DEBUG_MENU_UNKNOWN_1,
|
||||
MENU_DEBUG_MENU_STORAGE,
|
||||
MENU_DEBUG_MENU_H_OPEN = 9,
|
||||
};
|
||||
|
||||
void CreateDebugMenu(void);
|
||||
void DeleteDebugMenu(void);
|
||||
u32 UpdateDebugMenu(void);
|
||||
|
||||
#endif // GUARD_DEBUG_MENU1_H
|
||||
28
include/debug_menu2.h
Normal file
28
include/debug_menu2.h
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef GUARD_DEBUG_MENU2_H
|
||||
#define GUARD_DEBUG_MENU2_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x138
|
||||
struct unkStruct_203B3F0
|
||||
{
|
||||
/* 0x0 */ u32 state;
|
||||
/* 0x4 */ u8 id;
|
||||
/* 0x8 */ u32 menuAction;
|
||||
/* 0xC */ struct MenuItem menuItems[8];
|
||||
struct MenuStruct unk4C;
|
||||
u32 unk9C;
|
||||
u32 unkA0;
|
||||
u32 unkA4;
|
||||
u32 unkA8;
|
||||
u32 unkAC;
|
||||
u32 unkB0;
|
||||
struct UnkTextStruct2 *unkB4;
|
||||
u32 unkB8;
|
||||
u32 unkBC;
|
||||
u8 fill4[0xD8 - 0xC0];
|
||||
struct UnkTextStruct2 unkD8[4];
|
||||
};
|
||||
|
||||
#endif // GUARD_DEBUG_MENU2_H
|
||||
18
include/debug_menu3.h
Normal file
18
include/debug_menu3.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef GUARD_DEBUG_MENU3_H
|
||||
#define GUARD_DEBUG_MENU3_H
|
||||
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0xFC
|
||||
struct unkStruct_203B3F4
|
||||
{
|
||||
/* 0x0 */ u32 state;
|
||||
/* 0x4 */ u8 friendArea;
|
||||
/* 0x8 */ u32 menuAction;
|
||||
/* 0xC */ struct MenuItem menuItems[8];
|
||||
struct MenuStruct unk4C;
|
||||
struct UnkTextStruct2 unk9C[4];
|
||||
};
|
||||
|
||||
#endif // GUARD_DEBUG_MENU3_H
|
||||
32
include/debug_menu4.h
Normal file
32
include/debug_menu4.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef GUARD_DEBUG_MENU4_H
|
||||
#define GUARD_DEBUG_MENU4_H
|
||||
|
||||
#include "pokemon.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
|
||||
// size: 0x140
|
||||
struct unkStruct_203B3F8
|
||||
{
|
||||
/* 0x0 */ u32 state;
|
||||
s16 unk4;
|
||||
u16 unk6;
|
||||
/* 0x8 */ struct PokemonStruct *pokemon;
|
||||
/* 0xC */ u32 menuAction;
|
||||
struct MenuStruct unk10;
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
struct UnkTextStruct2 *unk78;
|
||||
u32 unk7C;
|
||||
u32 unk80;
|
||||
u8 fill84[0x90 - 0x84];
|
||||
struct MenuItem unk90[8];
|
||||
u16 unkD0[8];
|
||||
struct UnkTextStruct2 unkE0[4];
|
||||
};
|
||||
|
||||
#endif // GUARD_DEBUG_MENU4_H
|
||||
@@ -17,6 +17,9 @@ struct unkStruct_8092638
|
||||
s32 unk8;
|
||||
};
|
||||
|
||||
// friend_area.c
|
||||
extern EWRAM_DATA_2 bool8 *gFriendAreas;
|
||||
|
||||
void LoadFriendAreas(void);
|
||||
bool8 *GetBoughtFriendAreas(void);
|
||||
void InitializeFriendAreas(void);
|
||||
@@ -28,6 +31,7 @@ u8 *GetFriendAreaDescription(u8 index);
|
||||
u8 GetFriendAreaUnlockCondition(u8 index);
|
||||
s32 GetFriendAreaPrice(u8 index);
|
||||
const char *GetFriendAreaName(u8 index);
|
||||
void sub_809249C(u8 friendArea, u8 clear);
|
||||
void sub_8092638(u8 friendArea, struct unkStruct_8092638 *param_2, u8 param_3, u8 param_4);
|
||||
|
||||
u32 SaveFriendAreas(u8 *r0, u32 r1);
|
||||
|
||||
@@ -242,5 +242,8 @@ void SavePokemonStruct(struct unkStruct_8094924* a1, struct PokemonStruct* pokem
|
||||
void RestorePokemonStruct(struct unkStruct_8094924*, struct PokemonStruct*);
|
||||
s32 sub_808E218(struct unkStruct_808E218_arg* a1, struct PokemonStruct* pokemon);
|
||||
|
||||
// pokemon.s
|
||||
extern void sub_808CFD0(u8 *, s16, u8 *, u8, u32 *, u16 *);
|
||||
extern u32 sub_808D1DC(u8 *);
|
||||
|
||||
#endif // GUARD_POKEMON_H
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#define MAX_KECLEON_ITEM_SHOP_ITEMS 8
|
||||
#define MAX_KECLEON_WARE_SHOP_ITEMS 4
|
||||
|
||||
#include "item.h"
|
||||
|
||||
// size: 0x268
|
||||
struct TeamInventory
|
||||
{
|
||||
@@ -15,6 +17,7 @@ struct TeamInventory
|
||||
/* 0x264 */ s32 teamSavings;
|
||||
};
|
||||
|
||||
// Declared in items.c
|
||||
extern struct TeamInventory *gTeamInventoryRef;
|
||||
|
||||
#define MAX_TEAM_MONEY 99999
|
||||
|
||||
@@ -160,9 +160,10 @@ SECTIONS {
|
||||
src/load_screen.o(.text);
|
||||
src/wonder_mail_main_menu.o(.text);
|
||||
src/ds_menus.o(.text);
|
||||
src/debug_menu.o(.text);
|
||||
src/debug_menu_mid.o(.text);
|
||||
src/debug_menu_1.o(.text);
|
||||
src/debug_menu1.o(.text);
|
||||
src/debug_menu2.o(.text);
|
||||
src/debug_menu3.o(.text);
|
||||
src/debug_menu4.o(.text);
|
||||
asm/code_803B050.o(.text);
|
||||
src/code_803B050.o(.text);
|
||||
src/pokemon_mail.o(.text);
|
||||
@@ -427,9 +428,10 @@ SECTIONS {
|
||||
src/rescue_password_menu.o(.rodata);
|
||||
src/load_screen.o(.rodata);
|
||||
src/wonder_mail_main_menu.o(.rodata);
|
||||
src/debug_menu.o(.rodata);
|
||||
src/debug_menu_mid.o(.rodata);
|
||||
src/debug_menu_1.o(.rodata);
|
||||
src/debug_menu1.o(.rodata);
|
||||
src/debug_menu2.o(.rodata);
|
||||
src/debug_menu3.o(.rodata);
|
||||
src/debug_menu4.o(.rodata);
|
||||
data/data_80E7D40.o(.rodata);
|
||||
src/pokemon_mail.o(.rodata);
|
||||
data/personality_test.o(.rodata);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "code_8012A18_1.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "memory.h"
|
||||
#include "input.h"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "constants/colors.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
@@ -7,26 +8,10 @@
|
||||
#include "pokemon.h"
|
||||
#include "team_inventory.h"
|
||||
#include "menu_input.h"
|
||||
#include "subStruct_203B240.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "sprite.h"
|
||||
#include "code_80130A8.h"
|
||||
|
||||
// based off of 203B240..
|
||||
struct unkStruct_203B230
|
||||
{
|
||||
// size: 0x94
|
||||
s32 state;
|
||||
struct Item item;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
struct subStruct_203B240 *unk10[2];
|
||||
u8 fill14[0x20 - 0x18];
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
struct UnkTextStruct2 unk28[4];
|
||||
struct MenuInputStructSub unk88;
|
||||
};
|
||||
extern struct unkStruct_203B230 *gUnknown_203B230;
|
||||
|
||||
struct unkStruct_203B234
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "constants/item.h"
|
||||
#include "global.h"
|
||||
#include "code_801C620.h"
|
||||
#include "constants/item.h"
|
||||
#include "constants/iq_skill.h"
|
||||
#include "item.h"
|
||||
#include "memory.h"
|
||||
@@ -162,9 +163,6 @@ void sub_801C6D0(s32);
|
||||
void sub_801C7D4(void);
|
||||
void sub_801C6E4(void);
|
||||
void sub_801C848(void);
|
||||
void sub_801CCD8(void);
|
||||
bool8 sub_801CF14(s32);
|
||||
void sub_801CF94(void);
|
||||
|
||||
u32 sub_801C308(u8);
|
||||
extern void PlaySound(u32);
|
||||
@@ -182,10 +180,7 @@ void sub_801C03C(void);
|
||||
void sub_801C118(void);
|
||||
void sub_801C1A0(void);
|
||||
void sub_801C228(void);
|
||||
u8 sub_801CB24(void);
|
||||
|
||||
u32 sub_801CFE0(u8);
|
||||
s32 sub_801CFB8(void);
|
||||
extern void sub_801D220(void);
|
||||
extern void sub_801D3A8(void);
|
||||
|
||||
@@ -783,13 +778,13 @@ bool8 sub_801C8C4(s32 param_1, s32 param_2, struct UnkTextStruct2_sub *param_3,
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_801CA08(u8 param_1)
|
||||
u32 sub_801CA08(bool8 param_1)
|
||||
{
|
||||
u32 index;
|
||||
u32 temp;
|
||||
u32 flag;
|
||||
|
||||
if (param_1 == 0) {
|
||||
if (param_1 == FALSE) {
|
||||
sub_8013660(&gUnknown_203B244->input);
|
||||
return 0;
|
||||
}
|
||||
@@ -838,7 +833,7 @@ u8 sub_801CB24(void) {
|
||||
return gUnknown_203B244->itemIDs[(gUnknown_203B244->input.unk1E * gUnknown_203B244->input.unk1C) + gUnknown_203B244->input.menuIndex];
|
||||
}
|
||||
|
||||
void sub_801CB5C(u8 r0) {
|
||||
void sub_801CB5C(bool8 r0) {
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B244->unk4F0, 0, 0);
|
||||
gUnknown_203B244->input.unk22 = sub_801CE58();
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "rescue_team_info.h"
|
||||
#include "code_800D090.h"
|
||||
#include "menu_input.h"
|
||||
#include "code_8021774.h"
|
||||
|
||||
struct unkStruct_203B258
|
||||
{
|
||||
@@ -39,8 +40,6 @@ extern void sub_801BF98(void);
|
||||
extern void sub_801D208(u8);
|
||||
extern u32 sub_801DCE8(void);
|
||||
extern void sub_801DD50(void);
|
||||
extern u32 sub_80217EC(void);
|
||||
extern void sub_8021830(void);
|
||||
extern u32 sub_8022860();
|
||||
extern void sub_8022908();
|
||||
extern u32 sub_80244E4(void);
|
||||
@@ -110,7 +109,6 @@ extern u32 sub_8027074(void);
|
||||
extern void sub_80227B8(struct PokemonStruct *);
|
||||
extern bool8 sub_8024458(s16, u32);
|
||||
extern bool8 sub_801BEEC(s16);
|
||||
extern void sub_8021774(u8, u32, u32);
|
||||
void sub_801D894(void);
|
||||
u32 sub_8025EF4(struct PokemonStruct *);
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "subStruct_203B240.h"
|
||||
#include "sprite.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
|
||||
extern struct unkStruct_203B270 *gUnknown_203B270;
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "friend_area.h"
|
||||
#include "code_800D090.h"
|
||||
#include "menu_input.h"
|
||||
#include "code_8021774.h"
|
||||
|
||||
struct unkStruct_203B28C
|
||||
{
|
||||
@@ -56,7 +57,6 @@ extern void sub_8021894(void);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8021A60(void);
|
||||
void sub_8021820(void);
|
||||
extern u8 *gFriendAreas;
|
||||
u8 sub_80023E4(u32);
|
||||
|
||||
s32 sub_8021664(void)
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8021774_pre.h"
|
||||
#include "constants/friend_area.h"
|
||||
#include "constants/input.h"
|
||||
#include "friend_area.h"
|
||||
@@ -10,6 +12,7 @@
|
||||
#include "team_inventory.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
// size: 0xE0
|
||||
struct unkStruct_203B280
|
||||
{
|
||||
u8 unk0[NUM_FRIEND_AREAS];
|
||||
@@ -20,6 +23,7 @@ struct unkStruct_203B280
|
||||
struct UnkTextStruct2 unk7C[4];
|
||||
u8 unkDC[4];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B280 *gUnknown_203B280;
|
||||
extern u32 gUnknown_203B284;
|
||||
extern u16 gUnknown_203B288;
|
||||
@@ -30,9 +34,7 @@ extern struct UnkTextStruct2 gUnknown_80DC464;
|
||||
|
||||
u8 sub_8021700(u32 mode);
|
||||
s32 sub_8021664(void);
|
||||
extern u8 sub_802132C(void);
|
||||
extern void sub_8021410(void);
|
||||
extern void sub_8021494(void);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
|
||||
bool8 sub_80211AC(u32 param_1, u32 param_2)
|
||||
@@ -64,7 +66,7 @@ bool8 sub_80211AC(u32 param_1, u32 param_2)
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_8021274(u8 param_1)
|
||||
u32 sub_8021274(bool8 param_1)
|
||||
{
|
||||
if (param_1 == 0) {
|
||||
sub_8013660(&gUnknown_203B280->unk40);
|
||||
@@ -105,7 +107,7 @@ u8 sub_802132C(void)
|
||||
return gUnknown_203B280->unk0[gUnknown_203B280->unk40.unk1E * gUnknown_203B280->unk40.unk1C + gUnknown_203B280->unk40.menuIndex];
|
||||
}
|
||||
|
||||
void sub_8021354(u8 param_1)
|
||||
void sub_8021354(bool8 param_1)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B280->unk7C,0,0);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "friend_area.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
struct unkStruct_3001B5C
|
||||
{
|
||||
@@ -63,8 +64,6 @@ extern u8 *gUnknown_80D4970[];
|
||||
extern void sub_8022924(s32);
|
||||
extern u32 sub_801B00C(void);
|
||||
extern void sub_801B048(void);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
|
||||
void GetGummiItemStatBoost(struct PokemonStruct* pokemon, u8 id, bool8 checkBoostFlags, struct Gummi* gummi);
|
||||
|
||||
|
||||
@@ -359,7 +359,6 @@ void LugiaScreenFlash2();
|
||||
extern void sub_80861B8(struct Entity *, u32, u32);
|
||||
|
||||
void nullsub_99();
|
||||
extern bool8 *gFriendAreas;
|
||||
|
||||
extern void sub_8049884();
|
||||
extern void sub_8049B8C();
|
||||
|
||||
@@ -19,7 +19,6 @@ extern u8 IsJobSlotEmpty(u8);
|
||||
extern struct WonderMail * GetJobSlotInfo(u8);
|
||||
extern bool8 IsValidWonderMail(struct WonderMail *WonderMailData);
|
||||
extern u8 sub_8095E38(struct WonderMail *, u8, u8, bool8);
|
||||
extern void sub_808CFD0(s32, s16, u8, u8, u32 *, u32);
|
||||
extern void ResetJobSlot(u8);
|
||||
extern void sub_8096C80(void);
|
||||
extern void sub_8096D24(void);
|
||||
@@ -212,7 +211,7 @@ s32 CountJobsinDungeon(u8 dungeon)
|
||||
return count;
|
||||
}
|
||||
|
||||
bool8 sub_8096A08(u8 dungeon, s32 param_2)
|
||||
bool8 sub_8096A08(u8 dungeon, u8 *param_2)
|
||||
{
|
||||
struct WonderMail *mail;
|
||||
s32 index;
|
||||
@@ -236,7 +235,7 @@ bool8 sub_8096A08(u8 dungeon, s32 param_2)
|
||||
temp = 0x100;
|
||||
local_14 |= temp;
|
||||
|
||||
sub_808CFD0(param_2,mail->clientSpecies,0,0,&local_14,0);
|
||||
sub_808CFD0(param_2,mail->clientSpecies,NULL,0,&local_14,NULL);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "friend_area.h"
|
||||
#include "code_80958E8.h"
|
||||
|
||||
extern u8 *gFriendAreas;
|
||||
bool8 sub_8095E38(struct WonderMail *mail, u8 dungeon, u32 floor, u8 param_4);
|
||||
extern s32 sub_80A29B0(u8 *param_1);
|
||||
extern s32 GetDungeonFloorCount(u8);
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
#include "global.h"
|
||||
#include "code_8097670.h"
|
||||
#include "constants/friend_area.h"
|
||||
#include "debug_menu.h"
|
||||
#include "debug_menu1.h"
|
||||
#include "friend_area.h"
|
||||
#include "main_menu.h"
|
||||
#include "menu_input.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "pokemon.h"
|
||||
#include "save.h"
|
||||
#include "text_util.h"
|
||||
#include "text1.h"
|
||||
|
||||
EWRAM_DATA_2 struct DebugMenu *gUnknown_203B3EC = {0};
|
||||
EWRAM_DATA_2 static struct DebugMenu *sDebugMenu = {0};
|
||||
|
||||
static const struct UnkTextStruct2 sUnknown_80E7D40 =
|
||||
{
|
||||
@@ -52,28 +53,24 @@ ALIGNED(4) static const u8 sDebugMenuFill5[] = "pksdir0";
|
||||
ALIGNED(4) static const u8 sDebugMenuFill6[] = "pksdir0";
|
||||
ALIGNED(4) static const u8 sDebugMenuFill7[] = "pksdir0";
|
||||
|
||||
// pokemon.s
|
||||
extern void sub_808CFD0(u8 *, s32, u8 *, u32, u32 *, u16 *);
|
||||
extern void sub_808D1DC(u8 *);
|
||||
|
||||
void SetDebugMenuItems(void);
|
||||
void sub_803A3A0(void);
|
||||
void sub_803A3BC(void);
|
||||
|
||||
void CreateDebugMenu(void)
|
||||
{
|
||||
s32 index;
|
||||
s32 i;
|
||||
|
||||
if (gUnknown_203B3EC == NULL) {
|
||||
gUnknown_203B3EC = MemoryAlloc(sizeof(struct DebugMenu), 8);
|
||||
MemoryFill8((u8 *)gUnknown_203B3EC, 0, sizeof(struct DebugMenu));
|
||||
if (sDebugMenu == NULL) {
|
||||
sDebugMenu = MemoryAlloc(sizeof(struct DebugMenu), 8);
|
||||
MemoryFill8((u8 *)sDebugMenu, 0, sizeof(struct DebugMenu));
|
||||
}
|
||||
|
||||
for (index = 0; index < 4; index++)
|
||||
gUnknown_203B3EC->unk140[index] = sUnknown_80E7D40;
|
||||
for (i = 0; i < 4; i++)
|
||||
sDebugMenu->unk140[i] = sUnknown_80E7D40;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B3EC->unk140, 1, 1);
|
||||
sub_800641C(sDebugMenu->unk140, 1, 1);
|
||||
SetDebugMenuItems();
|
||||
}
|
||||
|
||||
@@ -81,9 +78,9 @@ void DeleteDebugMenu(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(NULL, 1, 1);
|
||||
if (gUnknown_203B3EC != NULL) {
|
||||
MemoryFree(gUnknown_203B3EC);
|
||||
gUnknown_203B3EC = NULL;
|
||||
if (sDebugMenu != NULL) {
|
||||
MemoryFree(sDebugMenu);
|
||||
sDebugMenu = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,8 +93,8 @@ u32 UpdateDebugMenu(void)
|
||||
nextMenu = MENU_NO_SCREEN_CHANGE;
|
||||
debugMenuAction = 11;
|
||||
|
||||
if (sub_8012FD8(&gUnknown_203B3EC->unk0[0]) == 0)
|
||||
sub_8013114(&gUnknown_203B3EC->unk0[0], &debugMenuAction);
|
||||
if (sub_8012FD8(&sDebugMenu->unk0[0]) == 0)
|
||||
sub_8013114(&sDebugMenu->unk0[0], &debugMenuAction);
|
||||
|
||||
switch (debugMenuAction) {
|
||||
case MENU_DEBUG_MENU_DUNGEONS:
|
||||
@@ -123,7 +120,7 @@ u32 UpdateDebugMenu(void)
|
||||
nextMenu = MENU_MAIN_SCREEN;
|
||||
break;
|
||||
case MENU_DEBUG_MENU_H_OPEN:
|
||||
for(counter = 0; counter < 0x20; counter++)
|
||||
for (counter = 0; counter < 0x20; counter++)
|
||||
sub_80976F8(counter);
|
||||
|
||||
nextMenu = MENU_MAIN_SCREEN;
|
||||
@@ -141,13 +138,13 @@ u32 UpdateDebugMenu(void)
|
||||
|
||||
void SetDebugMenuItems(void)
|
||||
{
|
||||
SetMenuItems(gUnknown_203B3EC->unk0, gUnknown_203B3EC->unk140, 0, &sUnknown_80E7D58, sDebugMenuItems, 1, 13, 0);
|
||||
sub_8035CF4(gUnknown_203B3EC->unk0, 0, 1);
|
||||
SetMenuItems(sDebugMenu->unk0, sDebugMenu->unk140, 0, &sUnknown_80E7D58, sDebugMenuItems, 1, 13, 0);
|
||||
sub_8035CF4(sDebugMenu->unk0, 0, 1);
|
||||
}
|
||||
|
||||
void sub_803A3A0(void)
|
||||
{
|
||||
sub_8035CC0(gUnknown_203B3EC->unk140, 0);
|
||||
sub_8035CC0(sDebugMenu->unk140, 0);
|
||||
}
|
||||
|
||||
void sub_803A3BC(void)
|
||||
@@ -184,7 +181,7 @@ void sub_803A3BC(void)
|
||||
CopyMonsterNametoBuffer(buffer, speciesIndex);
|
||||
CopyStringtoBuffer(buffer, buffer);
|
||||
buffer[0] = 0x40;
|
||||
sub_808CFD0(sp_0x8, speciesIndex,buffer, 0x43, &sp_0x7C, r7);
|
||||
sub_808CFD0(sp_0x8, speciesIndex, buffer, 0x43, &sp_0x7C, r7);
|
||||
sub_808D1DC(sp_0x8);
|
||||
} while (index < 300);
|
||||
|
||||
274
src/debug_menu2.c
Normal file
274
src/debug_menu2.c
Normal file
@@ -0,0 +1,274 @@
|
||||
#include "global.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "debug_menu2.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "team_inventory.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
|
||||
EWRAM_DATA_2 static struct unkStruct_203B3F0 *sUnknown_203B3F0 = {0};
|
||||
|
||||
static const struct UnkTextStruct2 sUnknown_80E7E34 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
static const struct UnkTextStruct2 sUnknown_80E7E4C =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x14, 0x04,
|
||||
0x06, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
static const struct UnkTextStruct2 sUnknown_80E7E64 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x14, 0x0e,
|
||||
0x06, 0x04,
|
||||
0x04, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sNumberPrompt[] = "Number?";
|
||||
ALIGNED(4) static const u8 sFill[] = "pksdir0";
|
||||
|
||||
// data_80D47B8.s
|
||||
extern const u8 *gUnknown_80D4970[];
|
||||
|
||||
void sub_803A504(u32);
|
||||
void sub_803A51C(void);
|
||||
void sub_803A5A0(void);
|
||||
void sub_803A690(void);
|
||||
void sub_803A6F0(void);
|
||||
void sub_803A740(void);
|
||||
void sub_803A7B0(void);
|
||||
void sub_803A810(void);
|
||||
void sub_803A86C(void);
|
||||
|
||||
// Unused
|
||||
u32 sub_803A45C(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0, 1, 1);
|
||||
sUnknown_203B3F0 = MemoryAlloc(sizeof(struct unkStruct_203B3F0), 8);
|
||||
sub_803A504(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Unused
|
||||
u32 sub_803A48C(void)
|
||||
{
|
||||
switch (sUnknown_203B3F0->state) {
|
||||
case 0:
|
||||
case 1:
|
||||
sub_803A740();
|
||||
break;
|
||||
case 2:
|
||||
sub_803A7B0();
|
||||
break;
|
||||
case 3:
|
||||
sub_803A810();
|
||||
break;
|
||||
case 4:
|
||||
sub_803A86C();
|
||||
break;
|
||||
case 5:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Unused
|
||||
void sub_803A4E8(void)
|
||||
{
|
||||
if (sUnknown_203B3F0 != NULL) {
|
||||
MemoryFree(sUnknown_203B3F0);
|
||||
sUnknown_203B3F0 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A504(u32 newState)
|
||||
{
|
||||
sUnknown_203B3F0->state = newState;
|
||||
sub_803A51C();
|
||||
sub_803A5A0();
|
||||
}
|
||||
|
||||
void sub_803A51C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sub_8006518(sUnknown_203B3F0->unkD8);
|
||||
|
||||
switch (sUnknown_203B3F0->state) {
|
||||
case 3:
|
||||
sUnknown_203B3F0->unkD8[1] = sUnknown_80E7E64;
|
||||
break;
|
||||
case 2:
|
||||
sUnknown_203B3F0->unkD8[2] = sUnknown_80E7E4C;
|
||||
break;
|
||||
default:
|
||||
for (i = 0; i < 4; i++)
|
||||
sUnknown_203B3F0->unkD8[i] = sUnknown_80E7E34;
|
||||
break;
|
||||
}
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B3F0->unkD8, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803A5A0(void)
|
||||
{
|
||||
struct Item item;
|
||||
|
||||
switch (sUnknown_203B3F0->state) {
|
||||
case 0:
|
||||
sub_801C8C4(2, 3, 0, 10);
|
||||
break;
|
||||
case 1:
|
||||
sub_801CB5C(TRUE);
|
||||
break;
|
||||
case 2:
|
||||
sub_801CCD8();
|
||||
sub_803A6F0();
|
||||
sub_8012D60(&sUnknown_203B3F0->unk4C, sUnknown_203B3F0->menuItems, 0, 0, sUnknown_203B3F0->menuAction, 2);
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B3F0->unkAC = 3;
|
||||
sUnknown_203B3F0->unkA4 = 0;
|
||||
sUnknown_203B3F0->unkA8 = 999;
|
||||
sUnknown_203B3F0->unkA0 = gTeamInventoryRef->teamStorage[sUnknown_203B3F0->id];
|
||||
sUnknown_203B3F0->unkB0 = 1;
|
||||
sUnknown_203B3F0->unkB4 = &sUnknown_203B3F0->unkD8[1];
|
||||
sUnknown_203B3F0->unkB8 = 44;
|
||||
sUnknown_203B3F0->unkBC = 18;
|
||||
sub_8013AA0(&sUnknown_203B3F0->unk9C);
|
||||
sub_803A690();
|
||||
break;
|
||||
case 4:
|
||||
xxx_init_itemslot_8090A8C(&item, sUnknown_203B3F0->id, 0);
|
||||
sub_801B3C0(&item);
|
||||
break;
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A690(void)
|
||||
{
|
||||
sub_8008C54(sUnknown_203B3F0->unkB0);
|
||||
sub_80073B8(sUnknown_203B3F0->unkB0);
|
||||
xxx_call_draw_string(4, 0, sNumberPrompt, sUnknown_203B3F0->unkB0, 0);
|
||||
sub_8013C68(&sUnknown_203B3F0->unk9C);
|
||||
sub_80073E0(sUnknown_203B3F0->unkB0);
|
||||
sub_801CCD8();
|
||||
sub_8012EA4(&sUnknown_203B3F0->unk4C, 0);
|
||||
}
|
||||
|
||||
void sub_803A6F0(void)
|
||||
{
|
||||
s32 loopMax = 0;
|
||||
|
||||
sUnknown_203B3F0->menuItems[loopMax].text = sNumberPrompt;
|
||||
sUnknown_203B3F0->menuItems[loopMax].menuAction = 2;
|
||||
sUnknown_203B3F0->menuAction = 2;
|
||||
if (!IsNotMoneyOrUsedTMItem(sUnknown_203B3F0->id)) {
|
||||
sUnknown_203B3F0->menuItems[loopMax].menuAction = -1;
|
||||
sUnknown_203B3F0->menuAction = 3;
|
||||
}
|
||||
|
||||
loopMax += 1;
|
||||
sUnknown_203B3F0->menuItems[loopMax].text = *gUnknown_80D4970;
|
||||
sUnknown_203B3F0->menuItems[loopMax].menuAction = 3;
|
||||
|
||||
loopMax += 1;
|
||||
sUnknown_203B3F0->menuItems[loopMax].text = NULL;
|
||||
sUnknown_203B3F0->menuItems[loopMax].menuAction = 1;
|
||||
}
|
||||
|
||||
void sub_803A740(void)
|
||||
{
|
||||
switch (sub_801CA08(TRUE)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B3F0->id = sub_801CB24();
|
||||
sub_803A504(2);
|
||||
break;
|
||||
case 4:
|
||||
sUnknown_203B3F0->id = sub_801CB24();
|
||||
sub_803A504(4);
|
||||
break;
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
sub_803A504(5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A7B0(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
|
||||
sub_801CA08(FALSE);
|
||||
|
||||
if (sub_8012FD8(&sUnknown_203B3F0->unk4C) == 0)
|
||||
sub_8013114(&sUnknown_203B3F0->unk4C, &menuAction);
|
||||
|
||||
switch (menuAction) {
|
||||
case 2:
|
||||
sub_803A504(3);
|
||||
break;
|
||||
case 3:
|
||||
sub_803A504(4);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A504(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A810(void)
|
||||
{
|
||||
sub_801CA08(FALSE);
|
||||
sub_8012FD8(&sUnknown_203B3F0->unk4C);
|
||||
|
||||
switch (sub_8013BBC(&sUnknown_203B3F0->unk9C)) {
|
||||
case 3:
|
||||
gTeamInventoryRef->teamStorage[sUnknown_203B3F0->id] = sUnknown_203B3F0->unk9C;
|
||||
// Fallthrough needed to match
|
||||
case 2:
|
||||
sub_803A504(1);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A690();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A86C(void)
|
||||
{
|
||||
switch (sub_801B410()) {
|
||||
case 1:
|
||||
case 0:
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
sub_801B450();
|
||||
sub_803A504(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
254
src/debug_menu3.c
Normal file
254
src/debug_menu3.c
Normal file
@@ -0,0 +1,254 @@
|
||||
#include "global.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8021774.h"
|
||||
#include "code_8021774_pre.h"
|
||||
#include "debug_menu3.h"
|
||||
#include "friend_area.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "pokemon.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
|
||||
EWRAM_DATA_2 static struct unkStruct_203B3F4 *sUnknown_203B3F4 = {0};
|
||||
|
||||
static const struct UnkTextStruct2 sUnknown_80E7E8C =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
static const struct UnkTextStruct2 sUnknown_80E7EA4 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x15, 0x04,
|
||||
0x06, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) static const u8 sClose[] = "CLOSE";
|
||||
ALIGNED(4) static const u8 sOpen[] = "OPEN";
|
||||
ALIGNED(4) static const u8 sFill[] = "pksdir0";
|
||||
|
||||
// data_80D47B8.s
|
||||
extern const u8 *gUnknown_80D4970[];
|
||||
|
||||
void sub_803A924(u32);
|
||||
void sub_803A93C(void);
|
||||
void sub_803A9AC(void);
|
||||
void sub_803AA34(void);
|
||||
void sub_803AAC4(void);
|
||||
void sub_803AB34(void);
|
||||
void sub_803ABAC(void);
|
||||
bool8 sub_803ABC8(void);
|
||||
|
||||
// Unused
|
||||
u32 sub_803A888(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0, 1, 1);
|
||||
sUnknown_203B3F4 = MemoryAlloc(sizeof(struct unkStruct_203B3F4), 8);
|
||||
sub_803A924(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Unused
|
||||
u32 sub_803A8B8(void)
|
||||
{
|
||||
switch (sUnknown_203B3F4->state) {
|
||||
case 0:
|
||||
case 1:
|
||||
sub_803AAC4();
|
||||
break;
|
||||
case 2:
|
||||
sub_803AB34();
|
||||
break;
|
||||
case 3:
|
||||
sub_803ABAC();
|
||||
break;
|
||||
case 4:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Unused
|
||||
void sub_803A908(void)
|
||||
{
|
||||
if (sUnknown_203B3F4 != NULL) {
|
||||
MemoryFree(sUnknown_203B3F4);
|
||||
sUnknown_203B3F4 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A924(u32 newState)
|
||||
{
|
||||
sUnknown_203B3F4->state = newState;
|
||||
sub_803A93C();
|
||||
sub_803A9AC();
|
||||
}
|
||||
|
||||
void sub_803A93C(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sub_8006518(sUnknown_203B3F4->unk9C);
|
||||
|
||||
if (sUnknown_203B3F4->state == 2)
|
||||
sUnknown_203B3F4->unk9C[2] = sUnknown_80E7EA4;
|
||||
else {
|
||||
for(i = 0; i < 4; i++)
|
||||
sUnknown_203B3F4->unk9C[i] = sUnknown_80E7E8C;
|
||||
}
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B3F4->unk9C, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803A9AC(void)
|
||||
{
|
||||
switch (sUnknown_203B3F4->state) {
|
||||
case 0:
|
||||
sub_80211AC(0, 3);
|
||||
break;
|
||||
case 1:
|
||||
sub_8021354(TRUE);
|
||||
break;
|
||||
case 2:
|
||||
sub_8021494();
|
||||
sub_803AA34();
|
||||
sub_8012D60(&sUnknown_203B3F4->unk4C, sUnknown_203B3F4->menuItems, 0, 0, sUnknown_203B3F4->menuAction, 2);
|
||||
break;
|
||||
case 3:
|
||||
sub_8021774(sUnknown_203B3F4->friendArea, 1, 0);
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AA34(void)
|
||||
{
|
||||
s32 index;
|
||||
u8 *FriendAreas;
|
||||
|
||||
index = 0;
|
||||
|
||||
// So dumb that it matches...
|
||||
FriendAreas = gFriendAreas;
|
||||
|
||||
if (FriendAreas[sUnknown_203B3F4->friendArea]) {
|
||||
sUnknown_203B3F4->menuItems[0].text = sClose;
|
||||
|
||||
if (sub_803ABC8())
|
||||
sUnknown_203B3F4->menuItems[0].menuAction = 3;
|
||||
else
|
||||
sUnknown_203B3F4->menuItems[0].menuAction = -1;
|
||||
}
|
||||
else {
|
||||
sUnknown_203B3F4->menuItems[0].text = sOpen;
|
||||
sUnknown_203B3F4->menuItems[0].menuAction = 2;
|
||||
}
|
||||
|
||||
index++;
|
||||
sUnknown_203B3F4->menuItems[index].text = *gUnknown_80D4970;
|
||||
sUnknown_203B3F4->menuItems[index].menuAction = 4;
|
||||
|
||||
index++;
|
||||
sUnknown_203B3F4->menuItems[index].text = NULL;
|
||||
sUnknown_203B3F4->menuItems[index].menuAction = 1;
|
||||
|
||||
sUnknown_203B3F4->menuAction = sUnknown_203B3F4->menuItems[0].menuAction;
|
||||
}
|
||||
|
||||
void sub_803AAC4(void)
|
||||
{
|
||||
switch (sub_8021274(TRUE)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B3F4->friendArea = sub_802132C();
|
||||
sub_803A924(2);
|
||||
break;
|
||||
case 4:
|
||||
sUnknown_203B3F4->friendArea = sub_802132C();
|
||||
sub_803A924(3);
|
||||
break;
|
||||
case 2:
|
||||
sub_80213A0();
|
||||
sub_803A924(4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AB34(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
|
||||
sub_8021274(0);
|
||||
|
||||
if (!sub_8012FD8(&sUnknown_203B3F4->unk4C))
|
||||
sub_8013114(&sUnknown_203B3F4->unk4C, &menuAction);
|
||||
|
||||
switch (menuAction) {
|
||||
case 2:
|
||||
UnlockFriendArea(sUnknown_203B3F4->friendArea);
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_809249C(sUnknown_203B3F4->friendArea, 1);
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 4:
|
||||
sub_803A924(3);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A924(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803ABAC(void)
|
||||
{
|
||||
switch (sub_80217EC()) {
|
||||
case 2:
|
||||
case 3:
|
||||
sub_8021830();
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_803ABC8(void)
|
||||
{
|
||||
struct PokemonStruct *mon;
|
||||
s32 i;
|
||||
s32 mask;
|
||||
|
||||
for (i = 0, mask = 1; i < NUM_MONSTERS; i++) {
|
||||
#ifdef NONMATCHING
|
||||
struct PokemonStruct* mon = &gRecruitedPokemonRef->pokemon[i];
|
||||
#else
|
||||
register struct unkStruct_203B45C** recruited asm("r2") = &gRecruitedPokemonRef;
|
||||
mon = &(*recruited)->pokemon[i];
|
||||
#endif
|
||||
|
||||
if ((mask & mon->unk0) != 0
|
||||
&& ((mon->unk0 >> 1) & mask) != 0
|
||||
&& sUnknown_203B3F4->friendArea == GetFriendArea(mon->speciesNum))
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
279
src/debug_menu4.c
Normal file
279
src/debug_menu4.c
Normal file
@@ -0,0 +1,279 @@
|
||||
#include "global.h"
|
||||
#include "code_8012A18_1.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "debug_menu4.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
|
||||
EWRAM_DATA_2 static struct unkStruct_203B3F8 *sUnknown_203B3F8 = {0};
|
||||
|
||||
static const struct UnkTextStruct2 sUnknown_80E7ED4 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
static const struct UnkTextStruct2 sUnknown_80E7EEC =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x13, 0x04,
|
||||
0x09, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
static const struct UnkTextStruct2 sUnknown_80E7F04 =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x13, 0x0e,
|
||||
0x06, 0x04,
|
||||
0x04, 0x00,
|
||||
NULL
|
||||
};
|
||||
ALIGNED(4) static const u8 sNumberPrompt[] = "Number?";
|
||||
ALIGNED(4) static const u8 sLevel[] = "LEVEL";
|
||||
ALIGNED(4) static const u8 sName[] = "Name";
|
||||
static const u8 sFill[] = "pksdir0";
|
||||
|
||||
void sub_803ACD0(u32);
|
||||
void sub_803ACE8(void);
|
||||
void sub_803AD88(void);
|
||||
void sub_803AE58(void);
|
||||
void sub_803AEB0(void);
|
||||
void sub_803AF38(void);
|
||||
void sub_803AF88(void);
|
||||
void sub_803AFE8(void);
|
||||
void sub_803B034(void);
|
||||
|
||||
// Unused
|
||||
u32 sub_803AC24(void)
|
||||
{
|
||||
sUnknown_203B3F8 = MemoryAlloc(sizeof(struct unkStruct_203B3F8), 8);
|
||||
sub_803ACD0(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Unused
|
||||
u32 sub_803AC48(void)
|
||||
{
|
||||
switch (sUnknown_203B3F8->state) {
|
||||
case 0:
|
||||
sub_803ACD0(1);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
sub_803AF38();
|
||||
break;
|
||||
case 3:
|
||||
sub_803AF88();
|
||||
break;
|
||||
case 5:
|
||||
sub_803AFE8();
|
||||
break;
|
||||
case 6:
|
||||
sub_803B034();
|
||||
break;
|
||||
case 4:
|
||||
case 7:
|
||||
default:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Unused
|
||||
void sub_803ACB4(void)
|
||||
{
|
||||
if (sUnknown_203B3F8 != NULL) {
|
||||
MemoryFree(sUnknown_203B3F8);
|
||||
sUnknown_203B3F8 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803ACD0(u32 newState)
|
||||
{
|
||||
sUnknown_203B3F8->state = newState;
|
||||
sub_803ACE8();
|
||||
sub_803AD88();
|
||||
}
|
||||
|
||||
void sub_803ACE8(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
sub_8006518(sUnknown_203B3F8->unkE0);
|
||||
|
||||
switch (sUnknown_203B3F8->state) {
|
||||
case 3:
|
||||
sub_803AEB0();
|
||||
sUnknown_203B3F8->unkE0[2] = sUnknown_80E7EEC;
|
||||
sub_8012CAC(&sUnknown_203B3F8->unkE0[2], sUnknown_203B3F8->unk90);
|
||||
break;
|
||||
case 5:
|
||||
sUnknown_203B3F8->unkE0[3] = sUnknown_80E7F04;
|
||||
break;
|
||||
default:
|
||||
for (i = 0; i < 4; i++)
|
||||
sUnknown_203B3F8->unkE0[i] = sUnknown_80E7ED4;
|
||||
break;
|
||||
}
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B3F8->unkE0, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803AD88(void)
|
||||
{
|
||||
switch (sUnknown_203B3F8->state) {
|
||||
case 1:
|
||||
sub_8023868(1, 0, 0, 10);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023B7C(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8023DA4();
|
||||
sub_8012D60(&sUnknown_203B3F8->unk10, sUnknown_203B3F8->unk90, 0, sUnknown_203B3F8->unkD0, sUnknown_203B3F8->menuAction, 2);
|
||||
break;
|
||||
case 5:
|
||||
sUnknown_203B3F8->unk70 = 3;
|
||||
sUnknown_203B3F8->unk68 = 1;
|
||||
sUnknown_203B3F8->unk6C = 100;
|
||||
sUnknown_203B3F8->unk64 = sUnknown_203B3F8->pokemon->unkHasNextStage;
|
||||
sUnknown_203B3F8->unk74 = 3;
|
||||
sUnknown_203B3F8->unk78 = &sUnknown_203B3F8->unkE0[3];
|
||||
sUnknown_203B3F8->unk7C = 44;
|
||||
sUnknown_203B3F8->unk80 = 18;
|
||||
sub_8013AA0(&sUnknown_203B3F8->unk60);
|
||||
sub_803AE58();
|
||||
break;
|
||||
case 6:
|
||||
sub_801602C(2, sUnknown_203B3F8->pokemon->name);
|
||||
case 0:
|
||||
case 4:
|
||||
case 7:
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AE58(void)
|
||||
{
|
||||
sub_8008C54(sUnknown_203B3F8->unk74);
|
||||
sub_80073B8(sUnknown_203B3F8->unk74);
|
||||
xxx_call_draw_string(4, 0, sNumberPrompt, sUnknown_203B3F8->unk74, 0);
|
||||
sub_8013C68(&sUnknown_203B3F8->unk60);
|
||||
sub_80073E0(sUnknown_203B3F8->unk74);
|
||||
sub_8023DA4();
|
||||
sub_8012EA4(&sUnknown_203B3F8->unk10, 0);
|
||||
}
|
||||
|
||||
void sub_803AEB0(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 loopMax;
|
||||
|
||||
MemoryFill16(sUnknown_203B3F8->unkD0, 0, sizeof(sUnknown_203B3F8->unkD0));
|
||||
|
||||
loopMax = 0;
|
||||
sUnknown_203B3F8->unk90[loopMax].text = sLevel;
|
||||
sUnknown_203B3F8->unk90[loopMax].menuAction = 4;
|
||||
|
||||
loopMax++;
|
||||
sUnknown_203B3F8->unk90[loopMax].text = sName;
|
||||
sUnknown_203B3F8->unk90[loopMax].menuAction = 5;
|
||||
|
||||
loopMax++;
|
||||
sUnknown_203B3F8->unk90[loopMax].text = NULL;
|
||||
sUnknown_203B3F8->unk90[loopMax].menuAction = 1;
|
||||
|
||||
for (i = 0; i < loopMax; i++) {
|
||||
if (sUnknown_203B3F8->unkD0[i] == 0) {
|
||||
sUnknown_203B3F8->menuAction = sUnknown_203B3F8->unk90[i].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AF38(void)
|
||||
{
|
||||
switch (sub_8023A94(TRUE)) {
|
||||
case 3:
|
||||
sUnknown_203B3F8->unk4 = sub_8023B44();
|
||||
sUnknown_203B3F8->pokemon = &gRecruitedPokemonRef->pokemon[sUnknown_203B3F8->unk4];
|
||||
sub_803ACD0(3);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
sub_803ACD0(7);
|
||||
break;
|
||||
case 1:
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AF88(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
|
||||
sub_8023A94(FALSE);
|
||||
|
||||
if (sub_8012FD8(&sUnknown_203B3F8->unk10) == 0)
|
||||
sub_8013114(&sUnknown_203B3F8->unk10, &menuAction);
|
||||
|
||||
switch (menuAction) {
|
||||
case 4:
|
||||
sub_803ACD0(5);
|
||||
break;
|
||||
case 5:
|
||||
sub_803ACD0(6);
|
||||
break;
|
||||
case 1:
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AFE8(void)
|
||||
{
|
||||
sub_8023A94(FALSE);
|
||||
sub_8012FD8(&sUnknown_203B3F8->unk10);
|
||||
|
||||
switch (sub_8013BBC(&sUnknown_203B3F8->unk60)) {
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
sUnknown_203B3F8->pokemon->unkHasNextStage = sUnknown_203B3F8->unk60;
|
||||
// Fallthrough is needed to match
|
||||
case 2:
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
case 1:
|
||||
sub_803AE58();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803B034(void)
|
||||
{
|
||||
switch (sub_8016080()) {
|
||||
case 2:
|
||||
case 3:
|
||||
sub_80160D8();
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1,285 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "pokemon.h"
|
||||
#include "debug_menu.h"
|
||||
#include "memory.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
#include "menu_input.h"
|
||||
|
||||
extern struct unkStruct_203B3F8 *gUnknown_203B3F8;
|
||||
|
||||
const struct UnkTextStruct2 gUnknown_80E7ED4 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct UnkTextStruct2 gUnknown_80E7EEC = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x13, 0x04,
|
||||
0x09, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct UnkTextStruct2 gUnknown_80E7F04 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x13, 0x0e,
|
||||
0x06, 0x04,
|
||||
0x04, 0x00,
|
||||
NULL
|
||||
};
|
||||
ALIGNED(4) const u8 gDebug_NumberText2[] = "Number?";
|
||||
ALIGNED(4) const u8 gDebug_LevelText[] = "LEVEL";
|
||||
ALIGNED(4) const u8 gDebug_Name[] = "Name";
|
||||
static const u8 fill0[] = "pksdir0";
|
||||
|
||||
extern void sub_803AE58(void);
|
||||
extern u32 sub_8016080(void);
|
||||
extern void sub_803ACD0(u32);
|
||||
extern void sub_80160D8(void);
|
||||
extern u32 sub_8023A94(u32);
|
||||
extern s16 sub_8023B44(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_803ACE8();
|
||||
extern void sub_803AD88();
|
||||
extern void sub_803AF38();
|
||||
extern void sub_803AF88();
|
||||
extern void sub_803AFE8();
|
||||
extern void sub_803B034();
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_801602C(u32, u8 *);
|
||||
extern void sub_803AEB0();
|
||||
|
||||
u32 sub_803AC24(void)
|
||||
{
|
||||
gUnknown_203B3F8 = MemoryAlloc(sizeof(struct unkStruct_203B3F8), 8);
|
||||
sub_803ACD0(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_803AC48(void)
|
||||
{
|
||||
switch(gUnknown_203B3F8->state)
|
||||
{
|
||||
case 0:
|
||||
sub_803ACD0(1);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
sub_803AF38();
|
||||
break;
|
||||
case 3:
|
||||
sub_803AF88();
|
||||
break;
|
||||
case 5:
|
||||
sub_803AFE8();
|
||||
break;
|
||||
case 6:
|
||||
sub_803B034();
|
||||
break;
|
||||
case 4:
|
||||
case 7:
|
||||
default:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_803ACB4(void)
|
||||
{
|
||||
if(gUnknown_203B3F8 != NULL)
|
||||
{
|
||||
MemoryFree(gUnknown_203B3F8);
|
||||
gUnknown_203B3F8 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803ACD0(u32 newState)
|
||||
{
|
||||
gUnknown_203B3F8->state = newState;
|
||||
sub_803ACE8();
|
||||
sub_803AD88();
|
||||
}
|
||||
|
||||
void sub_803ACE8(void)
|
||||
{
|
||||
s32 index;
|
||||
sub_8006518(gUnknown_203B3F8->unkE0);
|
||||
switch(gUnknown_203B3F8->state)
|
||||
{
|
||||
case 3:
|
||||
sub_803AEB0();
|
||||
gUnknown_203B3F8->unkE0[2] = gUnknown_80E7EEC;
|
||||
sub_8012CAC(&gUnknown_203B3F8->unkE0[2], gUnknown_203B3F8->unk90);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B3F8->unkE0[3] = gUnknown_80E7F04;
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B3F8->unkE0[index] = gUnknown_80E7ED4;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B3F8->unkE0, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803AD88(void)
|
||||
{
|
||||
switch(gUnknown_203B3F8->state)
|
||||
{
|
||||
case 1:
|
||||
sub_8023868(1, 0, 0, 10);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023B7C(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_8023DA4();
|
||||
sub_8012D60(&gUnknown_203B3F8->unk10, gUnknown_203B3F8->unk90, 0, gUnknown_203B3F8->unkD0, gUnknown_203B3F8->menuAction, 2);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B3F8->unk70 = 3;
|
||||
gUnknown_203B3F8->unk68 = 1;
|
||||
gUnknown_203B3F8->unk6C = 0x64;
|
||||
gUnknown_203B3F8->unk64 = gUnknown_203B3F8->pokemon->unkHasNextStage;
|
||||
gUnknown_203B3F8->unk74 = 3;
|
||||
gUnknown_203B3F8->unk78 = &gUnknown_203B3F8->unkE0[3];
|
||||
gUnknown_203B3F8->unk7C = 0x2C;
|
||||
gUnknown_203B3F8->unk80 = 0x12;
|
||||
sub_8013AA0(&gUnknown_203B3F8->unk60);
|
||||
sub_803AE58();
|
||||
break;
|
||||
case 6:
|
||||
sub_801602C(2, gUnknown_203B3F8->pokemon->name);
|
||||
case 0:
|
||||
case 4:
|
||||
case 7:
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AE58(void)
|
||||
{
|
||||
sub_8008C54(gUnknown_203B3F8->unk74);
|
||||
sub_80073B8(gUnknown_203B3F8->unk74);
|
||||
xxx_call_draw_string(4, 0, gDebug_NumberText2, gUnknown_203B3F8->unk74, 0);
|
||||
sub_8013C68(&gUnknown_203B3F8->unk60);
|
||||
sub_80073E0(gUnknown_203B3F8->unk74);
|
||||
sub_8023DA4();
|
||||
sub_8012EA4(&gUnknown_203B3F8->unk10, 0);
|
||||
}
|
||||
|
||||
void sub_803AEB0(void)
|
||||
{
|
||||
s32 index;
|
||||
s32 loopMax;
|
||||
|
||||
MemoryFill16(gUnknown_203B3F8->unkD0,0,sizeof(gUnknown_203B3F8->unkD0));
|
||||
loopMax = 0;
|
||||
|
||||
gUnknown_203B3F8->unk90[loopMax].text = gDebug_LevelText;
|
||||
gUnknown_203B3F8->unk90[loopMax].menuAction = 4;
|
||||
loopMax += 1;
|
||||
gUnknown_203B3F8->unk90[loopMax].text = gDebug_Name;
|
||||
gUnknown_203B3F8->unk90[loopMax].menuAction = 5;
|
||||
loopMax += 1;
|
||||
gUnknown_203B3F8->unk90[loopMax].text = NULL;
|
||||
gUnknown_203B3F8->unk90[loopMax].menuAction = 1;
|
||||
|
||||
for(index = 0; index < loopMax; index++)
|
||||
{
|
||||
if (gUnknown_203B3F8->unkD0[index] == 0)
|
||||
{
|
||||
gUnknown_203B3F8->menuAction = gUnknown_203B3F8->unk90[index].menuAction;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AF38(void)
|
||||
{
|
||||
switch(sub_8023A94(1))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B3F8->unk4 = sub_8023B44();
|
||||
gUnknown_203B3F8->pokemon = &gRecruitedPokemonRef->pokemon[gUnknown_203B3F8->unk4];
|
||||
sub_803ACD0(3);
|
||||
break;
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
sub_803ACD0(7);
|
||||
break;
|
||||
case 1:
|
||||
case 0:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AF88(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_8023A94(0);
|
||||
if (sub_8012FD8(&gUnknown_203B3F8->unk10) == 0) {
|
||||
sub_8013114(&gUnknown_203B3F8->unk10, &menuAction);
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 4:
|
||||
sub_803ACD0(5);
|
||||
break;
|
||||
case 5:
|
||||
sub_803ACD0(6);
|
||||
break;
|
||||
case 1:
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AFE8(void)
|
||||
{
|
||||
sub_8023A94(0);
|
||||
sub_8012FD8(&gUnknown_203B3F8->unk10);
|
||||
switch(sub_8013BBC(&gUnknown_203B3F8->unk60))
|
||||
{
|
||||
default:
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B3F8->pokemon->unkHasNextStage = gUnknown_203B3F8->unk60;
|
||||
// Fallthrough is needed to match
|
||||
case 2:
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
case 1:
|
||||
sub_803AE58();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803B034(void)
|
||||
{
|
||||
switch(sub_8016080())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_80160D8();
|
||||
sub_803ACD0(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1,616 +0,0 @@
|
||||
#include "global.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "friend_area.h"
|
||||
#include "item.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "pokemon.h"
|
||||
#include "team_inventory.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
|
||||
// size: 0x138
|
||||
struct unkStruct_203B3F0
|
||||
{
|
||||
u32 state;
|
||||
u8 id;
|
||||
u32 menuAction;
|
||||
struct MenuItem menuItems[8];
|
||||
struct MenuStruct unk4C;
|
||||
u32 unk9C;
|
||||
u32 unkA0;
|
||||
u32 unkA4;
|
||||
u32 unkA8;
|
||||
u32 unkAC;
|
||||
u32 unkB0;
|
||||
struct UnkTextStruct2 *unkB4;
|
||||
u32 unkB8;
|
||||
u32 unkBC;
|
||||
u8 fill4[0xD8 - 0xC0];
|
||||
struct UnkTextStruct2 unkD8[4];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B3F0 *gUnknown_203B3F0;
|
||||
|
||||
// size: 0xFC
|
||||
struct unkStruct_203B3F4
|
||||
{
|
||||
u32 state;
|
||||
u8 friendArea;
|
||||
u8 fill5[0x8 - 5];
|
||||
u32 menuAction;
|
||||
struct MenuItem menuItems[8];
|
||||
struct MenuStruct unk4C;
|
||||
struct UnkTextStruct2 unk9C[4];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B3F4 *gUnknown_203B3F4;
|
||||
|
||||
const struct UnkTextStruct2 gUnknown_80E7E34 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct UnkTextStruct2 gUnknown_80E7E4C = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x14, 0x04,
|
||||
0x06, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct UnkTextStruct2 gUnknown_80E7E64 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x14, 0x0e,
|
||||
0x06, 0x04,
|
||||
0x04, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) const char gDebug_NumberText[] = "Number?";
|
||||
ALIGNED(4) static const u8 fill0[] = "pksdir0";
|
||||
|
||||
const struct UnkTextStruct2 gUnknown_80E7E8C = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
0x00, 0x00,
|
||||
NULL
|
||||
};
|
||||
const struct UnkTextStruct2 gUnknown_80E7EA4 = {
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x03,
|
||||
0x15, 0x04,
|
||||
0x06, 0x03,
|
||||
0x03, 0x00,
|
||||
NULL
|
||||
};
|
||||
|
||||
ALIGNED(4) const u8 gDebug_CloseText[] = "CLOSE";
|
||||
ALIGNED(4) const u8 gDebug_OpenText[] = "OPEN";
|
||||
ALIGNED(4) static const u8 fill1[] = "pksdir0";
|
||||
|
||||
// friend_area.c
|
||||
extern bool8 *gFriendAreas;
|
||||
// data_80D47B8.s
|
||||
extern const char *gUnknown_80D4970[];
|
||||
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern void sub_801C8C4(u32, u32, u32, u32);
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801CCD8(void);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern u8 sub_801CB24(void);
|
||||
extern void sub_801CBB8(void);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern void sub_80211AC(u32, u32);
|
||||
extern void sub_8021354(u32);
|
||||
extern void sub_8021494(void);
|
||||
extern void sub_803AA34(void);
|
||||
extern void sub_8021774(u8,u32, u32);
|
||||
extern void sub_809249C(u8, u32);
|
||||
extern void sub_8021830(void);
|
||||
extern u32 sub_80217EC(void);
|
||||
extern u32 sub_8021274(u32);
|
||||
extern u8 sub_802132C(void);
|
||||
extern void sub_80213A0(void);
|
||||
extern void sub_803AAC4(void);
|
||||
extern void sub_803AB34(void);
|
||||
void sub_803ABAC(void);
|
||||
|
||||
void sub_803A924(u32);
|
||||
void sub_803A93C(void);
|
||||
void sub_803A9AC(void);
|
||||
|
||||
void sub_803A504(u32);
|
||||
void sub_803A51C(void);
|
||||
void sub_803A5A0(void);
|
||||
void sub_803A690(void);
|
||||
void sub_803A6F0(void);
|
||||
void sub_803A740(void);
|
||||
void sub_803A7B0(void);
|
||||
void sub_803A810(void);
|
||||
void sub_803A86C(void);
|
||||
bool8 sub_803ABC8(void);
|
||||
|
||||
// Unused
|
||||
u32 sub_803A45C(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
gUnknown_203B3F0 = MemoryAlloc(sizeof(struct unkStruct_203B3F0), 8);
|
||||
sub_803A504(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Unused
|
||||
u32 sub_803A48C(void)
|
||||
{
|
||||
switch(gUnknown_203B3F0->state) {
|
||||
case 0:
|
||||
case 1:
|
||||
sub_803A740();
|
||||
break;
|
||||
case 2:
|
||||
sub_803A7B0();
|
||||
break;
|
||||
case 3:
|
||||
sub_803A810();
|
||||
break;
|
||||
case 4:
|
||||
sub_803A86C();
|
||||
break;
|
||||
case 5:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Unused
|
||||
void sub_803A4E8(void)
|
||||
{
|
||||
if(gUnknown_203B3F0 != NULL)
|
||||
{
|
||||
MemoryFree(gUnknown_203B3F0);
|
||||
gUnknown_203B3F0 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A504(u32 newState)
|
||||
{
|
||||
gUnknown_203B3F0->state = newState;
|
||||
sub_803A51C();
|
||||
sub_803A5A0();
|
||||
}
|
||||
|
||||
void sub_803A51C(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
sub_8006518(gUnknown_203B3F0->unkD8);
|
||||
switch(gUnknown_203B3F0->state)
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B3F0->unkD8[1] = gUnknown_80E7E64;
|
||||
break;
|
||||
case 2:
|
||||
gUnknown_203B3F0->unkD8[2] = gUnknown_80E7E4C;
|
||||
break;
|
||||
default:
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B3F0->unkD8[index] = gUnknown_80E7E34;
|
||||
}
|
||||
break;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B3F0->unkD8, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803A5A0(void)
|
||||
{
|
||||
struct Item item;
|
||||
|
||||
switch(gUnknown_203B3F0->state) {
|
||||
case 0:
|
||||
sub_801C8C4(2,3,0,10);
|
||||
break;
|
||||
case 1:
|
||||
sub_801CB5C(1);
|
||||
break;
|
||||
case 2:
|
||||
sub_801CCD8();
|
||||
sub_803A6F0();
|
||||
sub_8012D60(&gUnknown_203B3F0->unk4C, gUnknown_203B3F0->menuItems, 0, 0, gUnknown_203B3F0->menuAction, 2);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B3F0->unkAC = 3;
|
||||
gUnknown_203B3F0->unkA4 = 0;
|
||||
gUnknown_203B3F0->unkA8 = 0x3e7;
|
||||
gUnknown_203B3F0->unkA0 = gTeamInventoryRef->teamStorage[gUnknown_203B3F0->id];
|
||||
gUnknown_203B3F0->unkB0 = 1;
|
||||
gUnknown_203B3F0->unkB4 = &gUnknown_203B3F0->unkD8[1];
|
||||
gUnknown_203B3F0->unkB8 = 0x2C;
|
||||
gUnknown_203B3F0->unkBC = 0x12;
|
||||
sub_8013AA0(&gUnknown_203B3F0->unk9C);
|
||||
sub_803A690();
|
||||
break;
|
||||
case 4:
|
||||
xxx_init_itemslot_8090A8C(&item,gUnknown_203B3F0->id,0);
|
||||
sub_801B3C0(&item);
|
||||
break;
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A690(void)
|
||||
{
|
||||
sub_8008C54(gUnknown_203B3F0->unkB0);
|
||||
sub_80073B8(gUnknown_203B3F0->unkB0);
|
||||
xxx_call_draw_string(4, 0, gDebug_NumberText, gUnknown_203B3F0->unkB0, 0);
|
||||
sub_8013C68(&gUnknown_203B3F0->unk9C);
|
||||
sub_80073E0(gUnknown_203B3F0->unkB0);
|
||||
sub_801CCD8();
|
||||
sub_8012EA4(&gUnknown_203B3F0->unk4C,0);
|
||||
}
|
||||
|
||||
void sub_803A6F0(void)
|
||||
{
|
||||
s32 loopMax = 0;
|
||||
|
||||
gUnknown_203B3F0->menuItems[loopMax].text = gDebug_NumberText;
|
||||
gUnknown_203B3F0->menuItems[loopMax].menuAction = 2;
|
||||
gUnknown_203B3F0->menuAction = 2;
|
||||
if (!IsNotMoneyOrUsedTMItem(gUnknown_203B3F0->id)) {
|
||||
gUnknown_203B3F0->menuItems[loopMax].menuAction = -1;
|
||||
gUnknown_203B3F0->menuAction = 3;
|
||||
}
|
||||
loopMax += 1;
|
||||
gUnknown_203B3F0->menuItems[loopMax].text = *gUnknown_80D4970;
|
||||
gUnknown_203B3F0->menuItems[loopMax].menuAction = 3;
|
||||
loopMax += 1;
|
||||
gUnknown_203B3F0->menuItems[loopMax].text = NULL;
|
||||
gUnknown_203B3F0->menuItems[loopMax].menuAction = 1;
|
||||
}
|
||||
|
||||
void sub_803A740(void)
|
||||
{
|
||||
switch(sub_801CA08(1)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B3F0->id = sub_801CB24();
|
||||
sub_803A504(2);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B3F0->id = sub_801CB24();
|
||||
sub_803A504(4);
|
||||
break;
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
sub_803A504(5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A7B0(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_801CA08(0);
|
||||
if (sub_8012FD8(&gUnknown_203B3F0->unk4C) == '\0') {
|
||||
sub_8013114(&gUnknown_203B3F0->unk4C,&menuAction);
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
sub_803A504(3);
|
||||
break;
|
||||
case 3:
|
||||
sub_803A504(4);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A504(1);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A810(void)
|
||||
{
|
||||
sub_801CA08(0);
|
||||
sub_8012FD8(&gUnknown_203B3F0->unk4C);
|
||||
switch(sub_8013BBC(&gUnknown_203B3F0->unk9C))
|
||||
{
|
||||
case 3:
|
||||
gTeamInventoryRef->teamStorage[gUnknown_203B3F0->id] = gUnknown_203B3F0->unk9C;
|
||||
// Fallthrough needed to match
|
||||
case 2:
|
||||
sub_803A504(1);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A690();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A86C(void)
|
||||
{
|
||||
switch(sub_801B410())
|
||||
{
|
||||
case 1:
|
||||
case 0:
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
sub_801B450();
|
||||
sub_803A504(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////
|
||||
|
||||
u32 sub_803A888(void)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0, 1, 1);
|
||||
gUnknown_203B3F4 = MemoryAlloc(sizeof(struct unkStruct_203B3F4), 8);
|
||||
sub_803A924(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_803A8B8(void)
|
||||
{
|
||||
switch(gUnknown_203B3F4->state) {
|
||||
case 0:
|
||||
case 1:
|
||||
sub_803AAC4();
|
||||
break;
|
||||
case 2:
|
||||
sub_803AB34();
|
||||
break;
|
||||
case 3:
|
||||
sub_803ABAC();
|
||||
break;
|
||||
case 4:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_803A908(void)
|
||||
{
|
||||
if(gUnknown_203B3F4 != NULL)
|
||||
{
|
||||
MemoryFree(gUnknown_203B3F4);
|
||||
gUnknown_203B3F4 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803A924(u32 newState)
|
||||
{
|
||||
gUnknown_203B3F4->state = newState;
|
||||
sub_803A93C();
|
||||
sub_803A9AC();
|
||||
}
|
||||
|
||||
void sub_803A93C(void)
|
||||
{
|
||||
s32 index;
|
||||
sub_8006518(gUnknown_203B3F4->unk9C);
|
||||
if(gUnknown_203B3F4->state == 2)
|
||||
{
|
||||
gUnknown_203B3F4->unk9C[2] = gUnknown_80E7EA4;
|
||||
}
|
||||
else
|
||||
{
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
gUnknown_203B3F4->unk9C[index] = gUnknown_80E7E8C;
|
||||
}
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B3F4->unk9C, 1, 1);
|
||||
}
|
||||
|
||||
void sub_803A9AC(void)
|
||||
{
|
||||
switch(gUnknown_203B3F4->state) {
|
||||
case 0:
|
||||
sub_80211AC(0,3);
|
||||
break;
|
||||
case 1:
|
||||
sub_8021354(1);
|
||||
break;
|
||||
case 2:
|
||||
sub_8021494();
|
||||
sub_803AA34();
|
||||
sub_8012D60(&gUnknown_203B3F4->unk4C,gUnknown_203B3F4->menuItems,0,0,gUnknown_203B3F4->menuAction,2);
|
||||
break;
|
||||
case 3:
|
||||
sub_8021774(gUnknown_203B3F4->friendArea,1,0);
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AA34(void)
|
||||
{
|
||||
s32 index;
|
||||
u8 *FriendAreas;
|
||||
|
||||
|
||||
index = 0;
|
||||
|
||||
// So dumb that it matches...
|
||||
FriendAreas = gFriendAreas;
|
||||
|
||||
if(FriendAreas[gUnknown_203B3F4->friendArea])
|
||||
{
|
||||
gUnknown_203B3F4->menuItems[0].text = gDebug_CloseText;
|
||||
if(sub_803ABC8())
|
||||
gUnknown_203B3F4->menuItems[0].menuAction = 3;
|
||||
else
|
||||
gUnknown_203B3F4->menuItems[0].menuAction = -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_203B3F4->menuItems[0].text = gDebug_OpenText;
|
||||
gUnknown_203B3F4->menuItems[0].menuAction = 2;
|
||||
}
|
||||
|
||||
index++;
|
||||
gUnknown_203B3F4->menuItems[index].text = *gUnknown_80D4970;
|
||||
gUnknown_203B3F4->menuItems[index].menuAction = 4;
|
||||
|
||||
index++;
|
||||
gUnknown_203B3F4->menuItems[index].text = NULL;
|
||||
gUnknown_203B3F4->menuItems[index].menuAction = 1;
|
||||
|
||||
gUnknown_203B3F4->menuAction = gUnknown_203B3F4->menuItems[0].menuAction;
|
||||
}
|
||||
|
||||
void sub_803AAC4(void)
|
||||
{
|
||||
switch(sub_8021274(1))
|
||||
{
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B3F4->friendArea = sub_802132C();
|
||||
sub_803A924(2);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B3F4->friendArea = sub_802132C();
|
||||
sub_803A924(3);
|
||||
break;
|
||||
case 2:
|
||||
sub_80213A0();
|
||||
sub_803A924(4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803AB34(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
menuAction = 0;
|
||||
sub_8021274(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B3F4->unk4C))
|
||||
sub_8013114(&gUnknown_203B3F4->unk4C, &menuAction);
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
UnlockFriendArea(gUnknown_203B3F4->friendArea);
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 3:
|
||||
sub_809249C(gUnknown_203B3F4->friendArea, 1);
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 4:
|
||||
sub_803A924(3);
|
||||
break;
|
||||
case 1:
|
||||
sub_803A924(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_803ABAC(void)
|
||||
{
|
||||
switch(sub_80217EC())
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
sub_8021830();
|
||||
sub_803A924(1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#if NONMATCHING // https://decomp.me/scratch/LQcwz
|
||||
bool8 sub_803ABC8(void)
|
||||
{
|
||||
struct PokemonStruct *mon;
|
||||
s32 i;
|
||||
s32 mask;
|
||||
|
||||
for (i = 0, mask = 1; i < NUM_MONSTERS; i++) {
|
||||
mon = &gRecruitedPokemonRef->pokemon[i];
|
||||
|
||||
if ((mask & mon->unk0) != 0
|
||||
&& ((mon->unk0 >> 1) & mask) != 0
|
||||
&& gUnknown_203B3F4->friendArea == GetFriendArea(mon->speciesNum))
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
bool8 sub_803ABC8(void)
|
||||
{
|
||||
asm_unified(
|
||||
"push {r4-r6,lr}\n"
|
||||
"\tmovs r5, 0\n"
|
||||
"\tmovs r6, 0x1\n"
|
||||
"_0803ABCE:\n"
|
||||
"\tldr r2, _0803AC08\n"
|
||||
"\tmovs r0, 0x58\n"
|
||||
"\tadds r1, r5, 0\n"
|
||||
"\tmuls r1, r0\n"
|
||||
"\tldr r0, [r2]\n"
|
||||
"\tadds r2, r0, r1\n"
|
||||
"\tldrh r1, [r2]\n"
|
||||
"\tadds r0, r6, 0\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _0803AC10\n"
|
||||
"\tlsrs r0, r1, 1\n"
|
||||
"\tands r0, r6\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _0803AC10\n"
|
||||
"\tldr r0, _0803AC0C\n"
|
||||
"\tldr r4, [r0]\n"
|
||||
"\tmovs r1, 0x8\n"
|
||||
"\tldrsh r0, [r2, r1]\n"
|
||||
"\tbl GetFriendArea\n"
|
||||
"\tldrb r1, [r4, 0x4]\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tlsrs r0, 24\n"
|
||||
"\tcmp r1, r0\n"
|
||||
"\tbne _0803AC10\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tb _0803AC1C\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0803AC08: .4byte gRecruitedPokemonRef\n"
|
||||
"_0803AC0C: .4byte gUnknown_203B3F4\n"
|
||||
"_0803AC10:\n"
|
||||
"\tadds r5, 0x1\n"
|
||||
"\tmovs r0, 0xCE\n"
|
||||
"\tlsls r0, 1\n"
|
||||
"\tcmp r5, r0\n"
|
||||
"\tble _0803ABCE\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"_0803AC1C:\n"
|
||||
"\tpop {r4-r6}\n"
|
||||
"\tpop {r1}\n"
|
||||
"\tbx r1");
|
||||
}
|
||||
#endif // NONMATCHING
|
||||
@@ -1,8 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "constants/friend_area.h"
|
||||
#include "code_8092334.h"
|
||||
|
||||
extern bool8 *gFriendAreas;
|
||||
#include "friend_area.h"
|
||||
|
||||
u32 SaveFriendAreas(u8 *r0, u32 size)
|
||||
{
|
||||
|
||||
@@ -10,20 +10,18 @@
|
||||
#include "kecleon_bros.h"
|
||||
#include "sprite.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
extern struct unkStruct_203B2BC *gUnknown_203B2BC;
|
||||
|
||||
extern void sub_8027D40(u32, struct BulkItem *);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_8023DA4();
|
||||
extern void sub_8024458(s16, u32);
|
||||
extern void sub_801BEEC(s16);
|
||||
extern void GetLinkedSequence(u32, struct Move *, u16*);
|
||||
extern void sub_801F808(u16*);
|
||||
extern void sub_8027794();
|
||||
extern void sub_801F1B0(u32, u32);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern void unk_CopyMoves4To8(struct Move *, struct Move *);
|
||||
extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32);
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
#include "menu_input.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
extern struct unkStruct_203B2BC *gUnknown_203B2BC;
|
||||
extern struct TeamInventory *gTeamInventoryRef;
|
||||
|
||||
extern u32 sub_801B410();
|
||||
extern void sub_801B450();
|
||||
extern u32 sub_801EF38(u8 r0);
|
||||
extern void sub_801F214();
|
||||
|
||||
@@ -41,12 +41,9 @@ extern void sub_801BF98(void);
|
||||
extern u32 sub_80244E4(void);
|
||||
extern void sub_802453C(void);
|
||||
|
||||
extern u32 sub_8023A94(u32);
|
||||
extern bool8 sub_808D750(s16 index_);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern void sub_808ED00();
|
||||
extern s16 sub_8023B44(void);
|
||||
extern void sub_8023C60(void);
|
||||
|
||||
ALIGNED(4) const u8 gFriendActionStandby[] = "Stand By";
|
||||
ALIGNED(4) const u8 gFriendActionMakeLeader[] = "Make Leader";
|
||||
@@ -124,7 +121,7 @@ void sub_80277FC(void)
|
||||
{
|
||||
struct PokemonStruct *pokeStruct;
|
||||
|
||||
switch(sub_8023A94(1)) {
|
||||
switch(sub_8023A94(TRUE)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
@@ -159,7 +156,7 @@ void sub_80278B4(void)
|
||||
u32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_8023A94(0);
|
||||
sub_8023A94(FALSE);
|
||||
if ((sub_8012FD8(&gUnknown_203B2BC->unk7C) == 0) && (sub_8013114(&gUnknown_203B2BC->unk7C,&menuAction), menuAction != 1)) {
|
||||
gUnknown_203B2BC->menuAction1 = menuAction;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
#include "team_inventory.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_8012A18_1.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
// there might be more overlap with unkStruct_203B2BC
|
||||
// I was working on the moves and put the data that seemed to correspond to that
|
||||
@@ -112,40 +115,28 @@ ALIGNED(4) const u8 gFriendListCheckIQ[] = "Check IQ";
|
||||
ALIGNED(4) const u8 gFriendListItem[] = _("Item: {COLOR_1 GREEN}{ARG_MOVE_ITEM_0}{END_COLOR_TEXT_1} ");
|
||||
ALIGNED(4) static const u8 fill0[] = "pksdir0";
|
||||
|
||||
extern u32 sub_8023A94(u32);
|
||||
extern s16 sub_8023B44(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern s16 sub_80A5728(void);
|
||||
extern u8 sub_8002658(s16);
|
||||
extern bool8 sub_8024108(u32);
|
||||
extern u32 sub_801B3C0(struct Item *param_1);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_801F1B0(u32, u32);
|
||||
extern void PlaySound(u32);
|
||||
extern void sub_8024458(s16, u32);
|
||||
extern void sub_801BEEC(s16);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void nullsub_104(void);
|
||||
extern void sub_808ED00(void);
|
||||
extern u32 sub_80244E4(void);
|
||||
extern void sub_802453C(void);
|
||||
extern u32 sub_801BF48(void);
|
||||
extern void sub_801BF98(void);
|
||||
extern void sub_801B450(void);
|
||||
extern u32 sub_801B410(void);
|
||||
|
||||
extern u32 sub_801EF38(u32);
|
||||
extern u32 sub_801F194(void);
|
||||
extern void sub_801F214(void);
|
||||
extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32);
|
||||
extern void sub_801F808(u16 *);
|
||||
extern u32 sub_801602C(u32 r0, u8 *name);
|
||||
extern void sub_8099690(u32);
|
||||
extern void sub_801F8D0(void);
|
||||
extern u32 sub_801F890(void);
|
||||
extern void sub_80160D8(void);
|
||||
extern u32 sub_8016080(void);
|
||||
extern bool8 sub_80023E4(u32);
|
||||
|
||||
void sub_8025434(s32);
|
||||
@@ -487,7 +478,7 @@ void sub_802591C(void)
|
||||
|
||||
void sub_80259F0(void)
|
||||
{
|
||||
switch(sub_8023A94(1))
|
||||
switch(sub_8023A94(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B2B4->species = sub_8023B44();
|
||||
@@ -512,7 +503,7 @@ void sub_8025A84(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
|
||||
sub_8023A94(0);
|
||||
sub_8023A94(FALSE);
|
||||
if(!sub_8012FD8(&gUnknown_203B2B4->unk78))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B2B4->unk78, &menuAction);
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
#include "code_8094F88.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "main_menu.h"
|
||||
#include "code_801EE10_1.h"
|
||||
#include "code_801C620.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
extern void SetFriendRescueMenuState(u32);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
@@ -251,13 +254,6 @@ extern void sub_8034848(void);
|
||||
|
||||
extern u32 sub_80154F0();
|
||||
extern void sub_80155F0();
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern u8 sub_801CB24(void);
|
||||
extern u32 sub_8030DA0(void);
|
||||
extern void sub_8030DE4(void);
|
||||
extern void sub_803092C(void);
|
||||
@@ -273,35 +269,21 @@ extern u8 sub_8024108(u32);
|
||||
extern void sub_802452C(void);
|
||||
extern u32 sub_80244E4(void);
|
||||
extern void sub_802453C(void);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern u32 sub_8023A94(u32);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_8024458(s16, u32);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_8035D1C(void);
|
||||
extern u16 sub_8023B44(void);
|
||||
extern u32 sub_8039068(u32, u8 *passwordBuffer, struct unkStruct_203B480 *r0);
|
||||
extern bool8 sub_801CF14(s32);
|
||||
|
||||
extern void sub_803084C(void);
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_80155F0(void);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_802F2C0(void);
|
||||
extern void sub_8030DE4(void);
|
||||
extern void sub_802453C(void);
|
||||
extern void sub_801B450(void);
|
||||
extern u8 sub_800D588(void);
|
||||
extern void sub_8011830(void);
|
||||
extern void sub_80151C0(u32, u8 *);
|
||||
extern void sub_801C8C4(u32, u32, s32 * , u32);
|
||||
extern void sub_801CCD8(void);
|
||||
extern u32 sub_801D008(void);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_8023C60(void);
|
||||
extern u32 sub_8023CE8(void);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_802F204(struct unkStruct_802F204 *, u32);
|
||||
extern u32 sub_80306A8(u32 wonderMailType, u32, struct UnkTextStruct2_sub *, u32);
|
||||
extern u32 sub_8030894(void);
|
||||
@@ -1088,8 +1070,8 @@ void sub_8032828(void)
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
{
|
||||
struct {u16 a; u16 b;} local_x = {3, 2};
|
||||
sub_801C8C4(0, 1, (s32 *)&local_x, 9);
|
||||
struct UnkTextStruct2_sub local_x = {3, 2};
|
||||
sub_801C8C4(0, 1, &local_x, 9);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1864,7 +1846,7 @@ void sub_8034130(void)
|
||||
|
||||
void sub_803418C(void)
|
||||
{
|
||||
switch(sub_8023A94(1))
|
||||
switch(sub_8023A94(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
@@ -1896,7 +1878,7 @@ void sub_8034254(void)
|
||||
s32 menuAction;
|
||||
menuAction = -1;
|
||||
|
||||
sub_8023A94(0);
|
||||
sub_8023A94(FALSE);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
@@ -2469,7 +2451,7 @@ void sub_8034B88(void)
|
||||
gUnknown_203B33C->item.id = ITEM_NOTHING;
|
||||
gUnknown_203B33C->item.quantity = 1;
|
||||
gUnknown_203B33C->item.flags = 0;
|
||||
switch(sub_801CA08(1))
|
||||
switch(sub_801CA08(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
@@ -2500,7 +2482,7 @@ void sub_8034C38(void)
|
||||
sub_801B450();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B33C->unk3BC, 1, 1);
|
||||
sub_801CB5C(1);
|
||||
sub_801CB5C(TRUE);
|
||||
if(gUnknown_203B33C->fallbackState == FRIEND_RESCUE_MENU_DEFAULT_FALLBACK)
|
||||
{
|
||||
sub_8035CF4(gUnknown_203B33C->unk21C, 3, 1);
|
||||
@@ -2520,7 +2502,7 @@ void sub_8034C98(void)
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = -1;
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
if(!sub_8012FD8(&gUnknown_203B33C->unk21C[3]))
|
||||
sub_8013114(&gUnknown_203B33C->unk21C[3], &menuAction);
|
||||
switch(menuAction)
|
||||
@@ -2540,7 +2522,7 @@ void sub_8034C98(void)
|
||||
case 5:
|
||||
case 8:
|
||||
sub_8035CC0(gUnknown_203B33C->unk35C, 3);
|
||||
sub_801CB5C(0x1);
|
||||
sub_801CB5C(TRUE);
|
||||
SetFriendRescueMenuState(0x5F);
|
||||
break;
|
||||
}
|
||||
@@ -2780,7 +2762,7 @@ void sub_80350F4(void)
|
||||
switch(menuAction)
|
||||
{
|
||||
case 0x15:
|
||||
if(sub_801CF14(0) != 0)
|
||||
if(sub_801CF14(0))
|
||||
SetFriendRescueMenuState(0x56);
|
||||
else
|
||||
SetFriendRescueMenuState(0x57);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "moves.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801EE10_1.h"
|
||||
|
||||
// size: 0x1E0
|
||||
struct unkStruct_203B27C
|
||||
@@ -93,9 +94,6 @@ bool8 sub_801F808(u16 *moveIDs);
|
||||
void sub_801F700(void);
|
||||
bool8 sub_801F428(s16 index, s32 param_2);
|
||||
void sub_801F5F0(u8 r0);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_8023B7C(u32);
|
||||
extern void sub_801F1B0(u32, u32);
|
||||
extern void sub_801F280(u32);
|
||||
void sub_8024458(u32, u32);
|
||||
@@ -124,9 +122,6 @@ extern void sub_80209FC(void);
|
||||
extern void sub_8020A34(void);
|
||||
extern void sub_801FDC0(void);
|
||||
extern void sub_801FF28(void);
|
||||
u32 sub_8023A94(u32);
|
||||
void sub_8023C60(void);
|
||||
extern s16 sub_8023B44(void);
|
||||
extern u32 sub_80244E4(void);
|
||||
extern u32 sub_801BF48(void);
|
||||
extern void sub_802453C(void);
|
||||
@@ -759,7 +754,7 @@ void sub_8020A34(void)
|
||||
|
||||
void sub_8020A80(void)
|
||||
{
|
||||
switch(sub_8023A94(1))
|
||||
switch(sub_8023A94(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B27C->speciesNum = sub_8023B44();
|
||||
@@ -790,7 +785,7 @@ void sub_8020B38(void)
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = 0;
|
||||
sub_8023A94(0);
|
||||
sub_8023A94(FALSE);
|
||||
if (!sub_8012FD8(&gUnknown_203B27C->unkCC)) {
|
||||
sub_8013114(&gUnknown_203B27C->unkCC,&menuAction);
|
||||
if (menuAction != 1) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "item.h"
|
||||
#include "kangaskhan_storage.h"
|
||||
#include "kecleon_bros.h"
|
||||
@@ -37,24 +39,6 @@ extern const u8 gUnknown_80DB830[]; // "Number?\0"
|
||||
|
||||
extern const u8 *gKangaskhanStorageDialogue[2][20];
|
||||
|
||||
// code_801B3C0.c
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern void sub_801BB20(void);
|
||||
extern void sub_801BC24(void);
|
||||
// code_801C620.c
|
||||
extern void sub_801C8C4(u32, u32, u32, u32);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern u8 sub_801CB24(void);
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_801CCD8(void);
|
||||
extern bool8 sub_801CF14(u32);
|
||||
extern bool8 sub_801CF50(u32);
|
||||
extern void sub_801CF94(void);
|
||||
extern u32 sub_801CFB8(void);
|
||||
extern u32 sub_801CFE0(u8);
|
||||
// code_8098BDC.s
|
||||
extern void sub_8099690(u32);
|
||||
|
||||
@@ -351,7 +335,7 @@ void sub_8016FF8(void)
|
||||
sub_801AD34(0);
|
||||
break;
|
||||
case 23:
|
||||
sub_801CB5C(1);
|
||||
sub_801CB5C(TRUE);
|
||||
sub_801AD34(0);
|
||||
break;
|
||||
case 24:
|
||||
@@ -719,7 +703,7 @@ void sub_8017AF8(void)
|
||||
|
||||
void sub_8017B88(void)
|
||||
{
|
||||
switch (sub_801CA08(1)) {
|
||||
switch (sub_801CA08(TRUE)) {
|
||||
case 3:
|
||||
if (sub_801CFB8() != 0)
|
||||
UpdateKangaskhanStorageState(28);
|
||||
@@ -748,7 +732,7 @@ void sub_8017B88(void)
|
||||
|
||||
void sub_8017C28(void)
|
||||
{
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
sub_8012FD8(&gKangaskhanStorageWork->unk58);
|
||||
|
||||
switch (sub_8013BBC(&gKangaskhanStorageWork->unkA8)) {
|
||||
@@ -805,7 +789,7 @@ void sub_8017D24(void)
|
||||
s32 menuAction;
|
||||
menuAction = 0;
|
||||
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
if (sub_8012FD8(&gKangaskhanStorageWork->unk58) == 0) {
|
||||
sub_8013114(&gKangaskhanStorageWork->unk58, &menuAction);
|
||||
if (menuAction != 1)
|
||||
@@ -1005,7 +989,7 @@ void sub_8018100(void)
|
||||
sub_801AD34(0);
|
||||
break;
|
||||
case 11:
|
||||
sub_801CB5C(1);
|
||||
sub_801CB5C(TRUE);
|
||||
sub_801AD34(0);
|
||||
break;
|
||||
case 12:
|
||||
@@ -1244,7 +1228,7 @@ void sub_80186F8(void)
|
||||
struct BulkItem item;
|
||||
s32 itemID;
|
||||
|
||||
switch (sub_801CA08(1)) {
|
||||
switch (sub_801CA08(TRUE)) {
|
||||
case 3:
|
||||
if (sub_801CFB8() != 0) {
|
||||
for (itemID = 0; itemID < NUMBER_OF_ITEM_IDS; itemID++) {
|
||||
@@ -1302,7 +1286,7 @@ void sub_8018854(void)
|
||||
{
|
||||
struct BulkItem item;
|
||||
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
sub_8012FD8(&gUnknown_203B20C->unk70);
|
||||
|
||||
switch (sub_8013BBC(&gUnknown_203B20C->unkC0)) {
|
||||
@@ -1389,7 +1373,7 @@ void sub_80189C8(void)
|
||||
|
||||
menuAction = 0;
|
||||
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
if (sub_8012FD8(&gUnknown_203B20C->unk70) == 0) {
|
||||
sub_8013114(&gUnknown_203B20C->unk70, &menuAction);
|
||||
if (menuAction != 1)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "constants/input.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "kecleon_bros.h"
|
||||
@@ -54,10 +55,6 @@ extern const u8 *gKecleonShopDialogue[KECLEON_BROS_MODE_COUNT][23];
|
||||
extern const u8 gTeamToolboxA[];
|
||||
extern const u8 gTeamToolboxB[];
|
||||
|
||||
// code_801B3C0.c
|
||||
extern u32 sub_801B3C0(struct Item *);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
// code_8098BDC.s
|
||||
extern void sub_8099690(u32);
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#include "menu_input.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_8012A18_1.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
struct unkStruct_203B2B0
|
||||
{
|
||||
@@ -192,19 +194,13 @@ void PlaySound(u32);
|
||||
void sub_8024CFC(void);
|
||||
void sub_8025254(void);
|
||||
void sub_8024D48(void);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern void nullsub_104();
|
||||
void sub_8024DBC(void);
|
||||
void sub_8024E30(void);
|
||||
void sub_801AEE4(u32, u32);
|
||||
void sub_808F734(struct PokemonStruct *, s16);
|
||||
u32 sub_801602C(u32 r0, u8 *name);
|
||||
extern void sub_8099690(u32);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern u32 sub_8016080(void);
|
||||
extern void sub_80160D8(void);
|
||||
extern void sub_808F468(struct PokemonStruct *, u8 *, u32);
|
||||
|
||||
bool8 LuminousCave_HasOnly1Member(void);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "text2.h"
|
||||
#include "menu_input.h"
|
||||
#include "adventure_log.h"
|
||||
#include "debug_menu.h"
|
||||
#include "debug_menu1.h"
|
||||
#include "ds_menus.h"
|
||||
#include "pokemon.h"
|
||||
#include "friend_rescue.h"
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "moves.h"
|
||||
#include "kecleon_bros.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
struct unkStruct_203B2B8
|
||||
{
|
||||
@@ -173,8 +174,6 @@ extern u32 sub_801EF38(u32);
|
||||
extern s32 sub_8008ED0(u8 *);
|
||||
extern u32 sub_801F890(void);
|
||||
extern void sub_801F8D0(void);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801B450(void);
|
||||
extern void nullsub_104(void);
|
||||
extern void sub_8099690(u32);
|
||||
extern u32 sub_8022860(void);
|
||||
@@ -189,8 +188,6 @@ extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
bool8 sub_8026E88(struct PokemonStruct *r0);
|
||||
bool8 HasGummiItem();
|
||||
bool8 sub_8026EB8(struct PokemonStruct *r0);
|
||||
extern void sub_801BB20(void);
|
||||
extern void sub_801BC24(void);
|
||||
extern void sub_8024458(s16, u32);
|
||||
void sub_8026E08(u32 r0);
|
||||
void sub_8026DAC(u32 r0, struct BulkItem *item);
|
||||
@@ -199,7 +196,6 @@ void sub_8026FA4(void);
|
||||
void sub_8026878(void);
|
||||
extern void sub_801F808(u16*);
|
||||
extern void sub_80227B8(struct PokemonStruct *);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern void sub_801EE10(u32, s16, struct Move *, u32, u32, u32);
|
||||
extern void sub_801F1B0(u32, u32);
|
||||
extern void sub_808D31C(struct PokemonStruct *);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "text_util.h"
|
||||
#include "menu_input.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_8012A18_1.h"
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -42,10 +43,6 @@ extern s32 sub_8094E4C(void);
|
||||
extern void sub_8094D28(s32);
|
||||
extern void sub_8001044(u32 *);
|
||||
|
||||
extern void sub_801602C(u32, char *r0);
|
||||
|
||||
extern u32 sub_8016080(void);
|
||||
extern void sub_80160D8(void);
|
||||
extern void sub_8099690(u32);
|
||||
|
||||
extern void sub_800836C(u32, u8 *r0, u32);
|
||||
|
||||
@@ -75,7 +75,6 @@ EWRAM_DATA_2 struct QuickSaveWrite *gQuickSaveWrite = {0};
|
||||
|
||||
|
||||
extern s32 gUnknown_202DE28;
|
||||
extern bool8 *gFriendAreas;
|
||||
extern u32 *gUnknown_203B488;
|
||||
extern u32 gUnknown_203B494;
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
#include "menu_input.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "main_menu.h"
|
||||
#include "code_801C620.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4;
|
||||
|
||||
@@ -160,7 +162,6 @@ extern void sub_8030810(u32);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_8031E00(void);
|
||||
extern u32 sub_802F298();
|
||||
extern u8 sub_801CF14(u32);
|
||||
extern u32 sub_8030768(u32);
|
||||
extern s8 sub_80307EC(void);
|
||||
extern void sub_8030D40(u8, u32);
|
||||
@@ -206,9 +207,7 @@ extern void sub_802A9FC();
|
||||
extern void sub_802A828();
|
||||
extern void sub_802A850();
|
||||
extern void sub_8030DE4();
|
||||
extern void sub_801B450();
|
||||
extern void sub_803084C();
|
||||
extern void sub_801CBB8();
|
||||
extern void sub_80155F0();
|
||||
extern void sub_8031E10();
|
||||
extern void sub_802F2C0();
|
||||
@@ -218,7 +217,6 @@ extern void sub_802F204(struct unkStruct_802F204 *, u32);
|
||||
extern void sub_80151C0(u32, u8 *);
|
||||
extern void xxx_call_start_bg_music(void);
|
||||
extern void sub_803092C(void);
|
||||
extern void sub_801CCD8(void);
|
||||
extern void sub_8011830(void);
|
||||
extern void nullsub_23(u32);
|
||||
extern s32 sub_8037B28(u32);
|
||||
@@ -227,20 +225,11 @@ extern u32 sub_801D008(void);
|
||||
extern void sub_80306A8(u32, u32, u32, u32);
|
||||
extern s32 sub_8037D64(u32, void *, void *);
|
||||
extern s32 sub_80381F4(u32, void *, void *);
|
||||
extern void sub_801C8C4(u32, u32, s32 * , u32);
|
||||
extern u8 sub_800D588(void);
|
||||
extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void sub_8031D70(u8, u32);
|
||||
|
||||
extern void sub_803092C(void);
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern u8 sub_801CB24(void);
|
||||
extern void sub_801B450(void);
|
||||
extern u32 sub_801B410(void);
|
||||
extern void sub_801CB5C(u32);
|
||||
extern void sub_801CCD8(void);
|
||||
extern void sub_8011C28(u32);
|
||||
extern u32 sub_80154F0(void);
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_203B480 *r0);
|
||||
@@ -671,7 +660,7 @@ void sub_802A28C(void)
|
||||
gUnknown_203B2C4->unk41C.quantity = 1;
|
||||
gUnknown_203B2C4->unk41C.flags = 0;
|
||||
|
||||
switch(sub_801CA08(1))
|
||||
switch(sub_801CA08(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_801CBB8();
|
||||
@@ -702,7 +691,7 @@ void sub_802A33C(void)
|
||||
sub_801B450();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2C4->unk3BC,1,1);
|
||||
sub_801CB5C(1);
|
||||
sub_801CB5C(TRUE);
|
||||
if (gUnknown_203B2C4->fallbackState == 0x2b) {
|
||||
sub_8035CF4(gUnknown_203B2C4->unk21C,3,TRUE);
|
||||
SetThankYouMailMenuState(0x14);
|
||||
@@ -722,7 +711,7 @@ void sub_802A39C(void)
|
||||
s32 menuAction;
|
||||
|
||||
menuAction = -1;
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
if (sub_8012FD8(&gUnknown_203B2C4->unk21C[3]) == 0) {
|
||||
sub_8013114(&gUnknown_203B2C4->unk21C[3], &menuAction);
|
||||
}
|
||||
@@ -1042,7 +1031,7 @@ void sub_802A910(void)
|
||||
switch(menuAction)
|
||||
{
|
||||
case 9:
|
||||
if(sub_801CF14(0) != 0)
|
||||
if(sub_801CF14(0))
|
||||
{
|
||||
SetThankYouMailMenuState(THANK_YOU_MAIL_STORAGE_EMPTY);
|
||||
}
|
||||
@@ -1301,10 +1290,9 @@ void UpdateThankYouMailText(void)
|
||||
break;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
// TODO: Probably a macro - Pika
|
||||
{
|
||||
struct {u16 a; u16 b;} local_x = {3, 2};
|
||||
sub_801C8C4(0, 1, (s32 *)&local_x, 9);
|
||||
struct UnkTextStruct2_sub local_x = {3, 2};
|
||||
sub_801C8C4(0, 1, &local_x, 9);
|
||||
}
|
||||
break;
|
||||
case 0x14:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801B3C0.h"
|
||||
#include "code_801C620.h"
|
||||
#include "constants/communication_error_codes.h"
|
||||
#include "item.h"
|
||||
#include "main_menu.h"
|
||||
@@ -82,18 +84,8 @@ const struct MenuItem gUnknown_80E618C[3] = {
|
||||
#include "data/trade_items.h"
|
||||
|
||||
extern void sub_8035C1C();
|
||||
extern u32 sub_801CA08(u32);
|
||||
extern void sub_801CBB8();
|
||||
extern u8 sub_801CB24();
|
||||
extern void sub_801B3C0(struct Item *);
|
||||
extern void sub_801CCD8();
|
||||
extern u32 sub_801B410();
|
||||
extern void sub_801B450();
|
||||
extern void sub_801CB5C(u32);
|
||||
|
||||
extern u8 sub_801CF14(u32);
|
||||
extern u32 sub_801D008();
|
||||
extern void sub_801C8C4(u32, u32, s32 *, u32);
|
||||
extern s32 sub_8037B28(u32);
|
||||
extern void sub_8011830(void);
|
||||
extern void nullsub_23(u32);
|
||||
@@ -267,7 +259,7 @@ void sub_80365AC(void)
|
||||
gTradeItemsMenu->itemToSend.id = ITEM_NOTHING;
|
||||
gTradeItemsMenu->itemToSend.quantity = 1;
|
||||
gTradeItemsMenu->itemToSend.flags = 0;
|
||||
switch(sub_801CA08(1)){
|
||||
switch(sub_801CA08(TRUE)){
|
||||
case 2:
|
||||
// Cancel
|
||||
sub_801CBB8();
|
||||
@@ -297,7 +289,7 @@ void sub_8036674(void)
|
||||
int menuAction;
|
||||
|
||||
menuAction = -1;
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
if (sub_8012FD8(&gTradeItemsMenu->unk44[3]) == '\0') {
|
||||
sub_8013114(&gTradeItemsMenu->unk44[3], &menuAction);
|
||||
}
|
||||
@@ -332,7 +324,7 @@ void sub_8036728(void)
|
||||
sub_801B450();
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gTradeItemsMenu->unk1E4, 1, 1);
|
||||
sub_801CB5C(1);
|
||||
sub_801CB5C(TRUE);
|
||||
if (gTradeItemsMenu->fallbackState == 0x13) {
|
||||
sub_8035CF4(gTradeItemsMenu->unk44, 3, TRUE);
|
||||
SetTradeItemMenu(TRADE_ITEMS_SEND_ITEM_POPUP_MENU);
|
||||
@@ -349,7 +341,7 @@ void sub_8036728(void)
|
||||
void sub_8036788(void)
|
||||
{
|
||||
sub_8012FD8(&gTradeItemsMenu->unk44[3]);
|
||||
sub_801CA08(0);
|
||||
sub_801CA08(FALSE);
|
||||
switch(sub_8013BBC(&gTradeItemsMenu->quantityToSend)){
|
||||
case 1:
|
||||
// When you change the #
|
||||
@@ -589,7 +581,6 @@ void nullsub_52(void)
|
||||
void sub_8036B28(void)
|
||||
{
|
||||
int linkStatus;
|
||||
s32 local_10;
|
||||
u32 load_2;
|
||||
struct TradeSubStruct *temp;
|
||||
struct TradeSubStruct *temp2;
|
||||
@@ -600,7 +591,7 @@ void sub_8036B28(void)
|
||||
|
||||
switch(gTradeItemsMenu->currMenu) {
|
||||
case TRADE_ITEMS_MAIN_MENU:
|
||||
if (sub_801CF14(0) != 0) {
|
||||
if (sub_801CF14(0)) {
|
||||
sub_8014248(gUnknown_80E61A4,0,1,gUnknown_80E60D4,0,4,0,0,0x101);
|
||||
}
|
||||
else {
|
||||
@@ -614,8 +605,10 @@ void sub_8036B28(void)
|
||||
if (sub_801D008() == 0) {
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
local_10 = 0x20003;
|
||||
{
|
||||
struct UnkTextStruct2_sub local_10 = {3, 2};
|
||||
sub_801C8C4(0,1,&local_10,9);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TRADE_ITEMS_SEND_ITEM_POPUP_MENU:
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
#include "wigglytuff_shop.h"
|
||||
#include "felicity_bank.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_8021774_pre.h"
|
||||
#include "code_801EE10_mid.h"
|
||||
#include "code_8021774.h"
|
||||
|
||||
extern struct UnkTextStruct2 gUnknown_80DC534;
|
||||
extern struct UnkTextStruct2 gUnknown_80DC564;
|
||||
@@ -34,17 +37,6 @@ extern const u8 *gUnknown_80D4978[];
|
||||
|
||||
u8 sub_8021700(u32);
|
||||
void sub_8092578(u8 *buffer, u8 index, u8 r2);
|
||||
extern void sub_80211AC(u32, u32);
|
||||
extern void sub_8021354(u32);
|
||||
extern void sub_8021494();
|
||||
extern void sub_803AA34();
|
||||
extern void sub_8021774(u8,u32, u32);
|
||||
extern void sub_809249C(u8, u32);
|
||||
extern void sub_8021830(void);
|
||||
extern u32 sub_80217EC(void);
|
||||
extern u32 sub_8021274(u32);
|
||||
extern u8 sub_802132C(void);
|
||||
extern void sub_80213A0(void);
|
||||
extern void sub_8022380(void);
|
||||
extern void PlaySound(u32);
|
||||
bool8 sub_8023144(s32 param_1, s32 index, struct UnkTextStruct2_sub *sub, u32 param_4);
|
||||
@@ -245,7 +237,7 @@ void UpdateWigglytuffDialogue(void)
|
||||
DrawTeamMoneyBox(1);
|
||||
break;
|
||||
case WIGGLYTUFF_UNKA:
|
||||
sub_8021354(1);
|
||||
sub_8021354(TRUE);
|
||||
DrawTeamMoneyBox(1);
|
||||
break;
|
||||
case WIGGLYTUFF_UNKB:
|
||||
@@ -487,7 +479,7 @@ void HandleWigglytuffConfirmFriendAreaMenu(void)
|
||||
|
||||
void sub_8022538(void)
|
||||
{
|
||||
switch(sub_8021274(1))
|
||||
switch(sub_8021274(TRUE))
|
||||
{
|
||||
case 3:
|
||||
gWigglytuffShop->chosenFriendArea = sub_802132C();
|
||||
@@ -515,7 +507,7 @@ void sub_8022538(void)
|
||||
void sub_80225C8(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
sub_8021274(0);
|
||||
sub_8021274(FALSE);
|
||||
if(sub_8012FD8(&gWigglytuffShop->unk6C) == 0)
|
||||
{
|
||||
sub_8013114(&gWigglytuffShop->unk6C, &menuAction);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "code_8094F88.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "main_menu.h"
|
||||
#include "code_801EE10_1.h"
|
||||
|
||||
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
|
||||
|
||||
@@ -42,11 +43,7 @@ extern u32 sub_80154F0();
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_203B480 *r0);
|
||||
extern void sub_8095274(u32);
|
||||
extern void sub_80155F0();
|
||||
extern void sub_8023C60();
|
||||
extern u32 sub_8023A94(u32);
|
||||
extern void sub_8024458(s16, u32);
|
||||
extern u16 sub_8023B44();
|
||||
extern void sub_8023B7C(u32);
|
||||
extern u32 sub_80244E4();
|
||||
extern void sub_802452C();
|
||||
extern void sub_802453C();
|
||||
@@ -62,7 +59,6 @@ extern void sub_8030DE4();
|
||||
extern void nullsub_23(u32);
|
||||
extern s32 sub_8037D64(u32, void *, void *);
|
||||
extern s32 sub_80381F4(u32, void *, void *);
|
||||
extern void sub_8023868(u32, u32, u32, u32);
|
||||
extern void sub_80306A8(u32, u32, u32, u32);
|
||||
extern s32 sub_8037B28(u32);
|
||||
extern void sub_8011830(void);
|
||||
@@ -72,7 +68,6 @@ extern void xxx_call_start_bg_music(void);
|
||||
extern u32 sub_8023CE8(void);
|
||||
extern u32 sub_8030894(void);
|
||||
extern void sub_8030F58(u32);
|
||||
extern void sub_8023DA4(void);
|
||||
extern void sub_8029B34(void);
|
||||
extern void sub_8029AD8(void);
|
||||
extern void sub_8029AF4(void);
|
||||
@@ -125,7 +120,6 @@ extern void sub_8029044(void);
|
||||
extern void sub_8028CFC(void);
|
||||
extern void sub_8028D4C(void);
|
||||
extern void sub_8031E10(void);
|
||||
extern void sub_8023C60(void);
|
||||
extern void sub_803084C(void);
|
||||
extern void sub_80155F0(void);
|
||||
extern void sub_80310B4(void);
|
||||
@@ -1651,7 +1645,7 @@ void sub_80297B8(void)
|
||||
|
||||
void sub_80297D4(void)
|
||||
{
|
||||
switch(sub_8023A94(1))
|
||||
switch(sub_8023A94(TRUE))
|
||||
{
|
||||
case 2:
|
||||
sub_8023C60();
|
||||
@@ -1678,7 +1672,7 @@ void sub_8029884(void)
|
||||
{
|
||||
s32 menuAction;
|
||||
menuAction = -1;
|
||||
sub_8023A94(0);
|
||||
sub_8023A94(FALSE);
|
||||
if(sub_8012FD8(&(gUnknown_203B2C0->unk21C[3])) == 0)
|
||||
{
|
||||
sub_8013114(&(gUnknown_203B2C0->unk21C[3]), &menuAction);
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "wonder_mail.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "code_80130A8.h"
|
||||
#include "code_801C620.h"
|
||||
#include "code_801B3C0.h"
|
||||
|
||||
#define SELECT_WONDER_MAIL_MODE_MAIN_SCREEN 0
|
||||
#define SEND_WONDER_MAIL_MAIN_SCREEN 1
|
||||
@@ -124,9 +126,7 @@ EWRAM_DATA_2 struct unkStruct_203B3E8 *gUnknown_203B3E8 = {0};
|
||||
extern u32 sub_8011C1C(void);
|
||||
extern void SetWonderMailMainMenuState(u8);
|
||||
extern void sub_8030DE4(void);
|
||||
extern void sub_801B450(void);
|
||||
extern void sub_803084C(void);
|
||||
extern void sub_801CBB8(void);
|
||||
extern void sub_80155F0(void);
|
||||
extern void sub_8031E10(void);
|
||||
|
||||
|
||||
@@ -373,16 +373,10 @@ gUnknown_203B328: /* 203B328 */
|
||||
.include "src/rescue_password_menu.o"
|
||||
.include "src/load_screen.o"
|
||||
.include "src/wonder_mail_main_menu.o"
|
||||
.include "src/debug_menu.o"
|
||||
|
||||
gUnknown_203B3F0: /* 203B3F0 */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B3F4: /* 203B3F4 */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203B3F8: /* 203B3F8 */
|
||||
.space 0x4
|
||||
.include "src/debug_menu1.o"
|
||||
.include "src/debug_menu2.o"
|
||||
.include "src/debug_menu3.o"
|
||||
.include "src/debug_menu4.o"
|
||||
|
||||
gUnknown_203B3FC: /* 203B3FC */
|
||||
.space 0x4
|
||||
|
||||
Reference in New Issue
Block a user