summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_setup.c4
-rw-r--r--src/decoration.c14
-rwxr-xr-xsrc/field_effect.c28
-rw-r--r--src/fldeff_cut.c6
-rw-r--r--src/fldeff_strength.c6
-rw-r--r--src/fldeff_sweetscent.c4
-rw-r--r--src/fldeff_teleport.c4
-rw-r--r--src/hof_pc.c4
-rw-r--r--src/item_use.c10
-rw-r--r--src/player_pc.c598
-rw-r--r--src/rom4.c26
-rw-r--r--src/rom6.c6
-rw-r--r--src/safari_zone.c4
-rw-r--r--src/script_pokemon_util_80F99CC.c4
-rw-r--r--src/secret_base.c6
15 files changed, 371 insertions, 353 deletions
diff --git a/src/battle_setup.c b/src/battle_setup.c
index a70157a43..cb99bf5f5 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -31,7 +31,7 @@
extern u16 gScriptResult;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern struct Pokemon gEnemyParty[];
extern struct Pokemon gPlayerParty[];
@@ -580,7 +580,7 @@ void HandleWildBattleEnd(void)
else
{
SetMainCallback2(c2_exit_to_overworld_2_switch);
- gUnknown_0300485C = sub_8080E44;
+ gFieldCallback = sub_8080E44;
}
}
diff --git a/src/decoration.c b/src/decoration.c
index d33931206..6974f7c92 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -3168,7 +3168,7 @@ void sub_8100038(u8 taskId)
void sub_81000A0(u8 taskId)
{
DisplayYesNoMenu(20, 8, 1);
- sub_80F914C(taskId, &gUnknown_083EC95C);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083EC95C);
}
void sub_81000C4(u8 taskId)
@@ -3226,7 +3226,7 @@ void sub_8100174(u8 taskId)
void sub_8100248(u8 taskId)
{
DisplayYesNoMenu(20, 8, 1);
- sub_80F914C(taskId, &gUnknown_083EC964);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083EC964);
}
void sub_810026C(u8 taskId)
@@ -3257,7 +3257,7 @@ void c1_overworld_prev_quest(u8 taskId)
case 1:
sub_81016F4();
FreeSpritePaletteByTag(0xbb8);
- gUnknown_0300485C = &sub_8100364;
+ gFieldCallback = &sub_8100364;
SetMainCallback2(c2_exit_to_overworld_2_switch);
DestroyTask(taskId);
break;
@@ -4047,7 +4047,7 @@ void sub_8101460(u8 taskId)
void sub_8101518(u8 taskId)
{
DisplayYesNoMenu(20, 8, 1);
- sub_80F914C(taskId, &gUnknown_083EC9CC);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083EC9CC);
}
void sub_810153C(u8 taskId)
@@ -4060,7 +4060,7 @@ void sub_810153C(u8 taskId)
void sub_810156C(u8 taskId)
{
DisplayYesNoMenu(20, 8, 1);
- sub_80F914C(taskId, &gUnknown_083EC9D4);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083EC9D4);
}
void sub_8101590(u8 taskId)
@@ -4089,7 +4089,7 @@ void sub_81015E0(u8 taskId)
break;
case 1:
sub_81016F4();
- gUnknown_0300485C = sub_8101678;
+ gFieldCallback = sub_8101678;
SetMainCallback2(c2_exit_to_overworld_2_switch);
DestroyTask(taskId);
break;
@@ -4184,7 +4184,7 @@ void sub_81017A0(u8 taskId)
void sub_8101824(u8 taskId)
{
DisplayYesNoMenu(20, 8, 1);
- sub_80F914C(taskId, &gUnknown_083ECAA0);
+ DoYesNoFuncWithChoice(taskId, &gUnknown_083ECAA0);
}
void sub_8101848(u8 taskId)
diff --git a/src/field_effect.c b/src/field_effect.c
index 2bf9b3dc9..3b6a2ff4c 100755
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1176,7 +1176,7 @@ void c3_080843F8(u8);
void sub_80865BC(void)
{
SetMainCallback2(c2_exit_to_overworld_2_switch);
- gUnknown_0300485C = mapldr_080842E8;
+ gFieldCallback = mapldr_080842E8;
}
void mapldr_080842E8(void)
@@ -1185,7 +1185,7 @@ void mapldr_080842E8(void)
CreateTask(task00_8084310, 0);
ScriptContext2_Enable();
FreezeMapObjects();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
}
void task00_8084310(u8 taskId)
@@ -1211,7 +1211,7 @@ void task00_8084310(u8 taskId)
flag_var_implications_of_teleport_();
warp_in();
SetMainCallback2(CB2_LoadMap);
- gUnknown_0300485C = mapldr_08084390;
+ gFieldCallback = mapldr_08084390;
DestroyTask(taskId);
}
}
@@ -1228,7 +1228,7 @@ void mapldr_08084390(void)
}
ScriptContext2_Enable();
FreezeMapObjects();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
}
void c3_080843F8(u8 taskId)
@@ -1264,7 +1264,7 @@ void sub_8086748(void)
ScriptContext2_Enable();
FreezeMapObjects();
CreateTask(sub_8086774, 0);
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
}
void sub_8086774(u8 taskId)
@@ -1520,7 +1520,7 @@ void sub_8086C40(void)
{
sub_80B483C();
warp_in();
- gUnknown_0300485C = sub_8086C94;
+ gFieldCallback = sub_8086C94;
SetMainCallback2(CB2_LoadMap);
DestroyTask(FindTaskIdByFunc(sub_8086A68));
}
@@ -1532,7 +1532,7 @@ void sub_8086C94(void)
pal_fill_for_map_transition();
ScriptContext2_Enable();
CreateTask(sub_8086CBC, 0);
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
}
void sub_8086CBC(u8 taskId)
@@ -1881,7 +1881,7 @@ bool8 sub_80873F4(struct Task *task, struct MapObject *mapObject, struct Sprite
if (!gPaletteFade.active && sub_8054034() == TRUE)
{
warp_in();
- gUnknown_0300485C = mapldr_080851BC;
+ gFieldCallback = mapldr_080851BC;
SetMainCallback2(CB2_LoadMap);
DestroyTask(FindTaskIdByFunc(sub_80871D0));
}
@@ -1896,7 +1896,7 @@ void mapldr_080851BC(void)
sub_8053E90();
pal_fill_for_map_transition();
ScriptContext2_Enable();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
CreateTask(sub_8087470, 0);
}
@@ -2049,7 +2049,7 @@ bool8 sub_80877D4(struct Task *task, struct MapObject *mapObject, struct Sprite
if (!gPaletteFade.active && sub_8054034() == TRUE)
{
warp_in();
- gUnknown_0300485C = sub_8086748;
+ gFieldCallback = sub_8086748;
SetMainCallback2(CB2_LoadMap);
DestroyTask(FindTaskIdByFunc(sub_808766C));
}
@@ -2111,7 +2111,7 @@ void sub_8087914(struct Task *task)
FieldObjectSetDirection(mapObject, task->data[15]);
sub_8053678();
warp_in();
- gUnknown_0300485C = mapldr_080859D4;
+ gFieldCallback = mapldr_080859D4;
SetMainCallback2(CB2_LoadMap);
DestroyTask(FindTaskIdByFunc(sub_80878C4));
} else if (task->data[1] == 0 || (--task->data[1]) == 0)
@@ -2134,7 +2134,7 @@ void mapldr_080859D4(void)
pal_fill_for_map_transition();
ScriptContext2_Enable();
FreezeMapObjects();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1;
CreateTask(sub_8087A74, 0);
}
@@ -2265,7 +2265,7 @@ void sub_8087D78(struct Task *task)
sub_8053570();
warp_in();
SetMainCallback2(CB2_LoadMap);
- gUnknown_0300485C = mapldr_08085D88;
+ gFieldCallback = mapldr_08085D88;
DestroyTask(FindTaskIdByFunc(sub_8087BBC));
}
}
@@ -2278,7 +2278,7 @@ void mapldr_08085D88(void)
pal_fill_for_map_transition();
ScriptContext2_Enable();
FreezeMapObjects();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1;
CameraObjectReset2();
CreateTask(sub_8087E1C, 0);
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 8fde74852..4a2313499 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -16,7 +16,7 @@
extern u8 gCutGrassSpriteArray[8]; // seems to be an array of 8 sprite IDs
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);
extern struct SpriteTemplate gSpriteTemplate_CutGrass;
@@ -48,7 +48,7 @@ bool8 SetUpFieldMove_Cut(void)
if(npc_before_player_of_type(0x52) == TRUE) // is in front of tree?
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_80A2634;
return TRUE;
}
@@ -67,7 +67,7 @@ bool8 SetUpFieldMove_Cut(void)
if(MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE
|| MetatileBehavior_IsAshGrass(tileBehavior) == TRUE)
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_80A25E8;
return TRUE;
}
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index f9db40a67..a831676b8 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -16,7 +16,7 @@ extern u32 gUnknown_0202FF84[];
extern u8 gLastFieldPokeMenuOpened;
extern u16 gScriptResult;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);
extern u8 UseStrengthScript[];
@@ -26,7 +26,7 @@ bool8 SetUpFieldMove_Strength(void)
if (ShouldDoBrailleStrengthEffect())
{
gScriptResult = gLastFieldPokeMenuOpened;
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_811AA38;
}
else
@@ -34,7 +34,7 @@ bool8 SetUpFieldMove_Strength(void)
if (npc_before_player_of_type(87) != TRUE)
return 0;
gScriptResult = gLastFieldPokeMenuOpened;
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_811AA18;
}
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index 4e8214b07..3a9281ac2 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -18,14 +18,14 @@ static void sub_812C118(u8);
extern u32 gUnknown_0202FF84[];
extern u8 gLastFieldPokeMenuOpened;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern void (*gUnknown_03005CE4)(void);
extern u8 SweetScentNothingHereScript[];
bool8 SetUpFieldMove_SweetScent(void)
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_812BFD4;
return TRUE;
}
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c
index 0e6933649..952193ff0 100644
--- a/src/fldeff_teleport.c
+++ b/src/fldeff_teleport.c
@@ -9,7 +9,7 @@ extern void sub_8087BA8(void);
extern u32 gUnknown_0202FF84[];
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
@@ -20,7 +20,7 @@ bool8 SetUpFieldMove_Teleport(void)
{
if (is_light_level_1_2_3_or_6(gMapHeader.mapType) == TRUE)
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = hm_teleport_run_dp02scr;
return TRUE;
}
diff --git a/src/hof_pc.c b/src/hof_pc.c
index fcbc3f7e1..ca0c2f370 100644
--- a/src/hof_pc.c
+++ b/src/hof_pc.c
@@ -7,7 +7,7 @@
#include "task.h"
extern void sub_81428CC(void);
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
static void ReshowPCMenuAfterHallOfFamePC(void);
static void Task_WaitForPaletteFade(u8);
@@ -21,7 +21,7 @@ void AccessHallOfFamePC(void)
void ReturnFromHallOfFamePC(void)
{
SetMainCallback2(c2_exit_to_overworld_2_switch);
- gUnknown_0300485C = ReshowPCMenuAfterHallOfFamePC;
+ gFieldCallback = ReshowPCMenuAfterHallOfFamePC;
}
static void ReshowPCMenuAfterHallOfFamePC(void)
diff --git a/src/item_use.c b/src/item_use.c
index d1c1dbf2a..c04cf9d7a 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -28,7 +28,7 @@
#include "vars.h"
extern void (* gUnknown_03005D00)(u8);
-extern void (* gUnknown_0300485C)(void);
+extern void (* gFieldCallback)(void);
extern void (* gUnknown_03004AE4)(u8);
extern u8 gUnknown_02038561;
@@ -150,7 +150,7 @@ void SetUpItemUseOnFieldCallback(u8 taskId)
{
if (gTasks[taskId].data[2] != 1)
{
- gUnknown_0300485C = (void *)ExecuteItemUseFromBlackPalette;
+ gFieldCallback = (void *)ExecuteItemUseFromBlackPalette;
ItemMenu_ConfirmNormalFade(taskId);
}
else
@@ -772,7 +772,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
}
else
{
- gUnknown_0300485C = (void *)sub_8080E28;
+ gFieldCallback = (void *)sub_8080E28;
sub_810BA7C(1);
ItemMenu_ConfirmComplexFade(taskId);
}
@@ -825,7 +825,7 @@ void sub_80C9C7C(u8 taskId)
if(IsPlayerFacingPlantedBerryTree() == TRUE)
{
gUnknown_03005D00 = sub_80C9D00;
- gUnknown_0300485C = ExecuteItemUseFromBlackPalette;
+ gFieldCallback = ExecuteItemUseFromBlackPalette;
gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16;
gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch;
gTasks[taskId].func = HandleItemMenuPaletteFade;
@@ -944,7 +944,7 @@ void sub_80C9F80(u8 var)
{
DisplayYesNoMenu(7, 7, 1);
sub_80A3FA0(gBGTilemapBuffers[1], 8, 8, 5, 4, 1);
- sub_80F914C(var, &gUnknown_083D61F4);
+ DoYesNoFuncWithChoice(var, &gUnknown_083D61F4);
}
void sub_80C9FC0(u8 var)
diff --git a/src/player_pc.c b/src/player_pc.c
index f39d812b6..26dc8ccdc 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -16,152 +16,169 @@
#include "name_string_util.h"
#include "mail.h"
#include "rom4.h"
+#include "player_pc.h"
-// task defines
-#define PAGE_INDEX data[0]
-#define ITEMS_ABOVE_TOP data[1]
-#define NUM_ITEMS data[2]
-#define NUM_QUANTITY_ROLLER data[3]
-#define NUM_PAGE_ITEMS data[4]
-// not used
-#define CURRENT_ITEM_STORAGE_MENU data[6]
-// not used
-#define SWAP_ITEM_INDEX data[8]
-#define SWITCH_MODE_ACTIVE data[9]
-
-#define NEW_GAME_PC_ITEMS(i, type) ((u16)(gNewGamePCItems + type)[i * 2])
-
-// defined and used in the above macro
-enum
-{
- ITEM_ID,
- QUANTITY
+extern void DisplayItemMessageOnField(u8, const u8*, TaskFunc, u16);
+extern void DoPlayerPCDecoration(u8);
+extern void BuyMenuFreeMemory(void);
+extern void DestroyVerticalScrollIndicator(u8);
+extern void PauseVerticalScrollIndicator(u8);
+extern void StartVerticalScrollIndicators(int);
+extern void CreateVerticalScrollIndicators(u32, u32, u32); // unknown args
+extern void LoadScrollIndicatorPalette(void);
+extern void ClearMailStruct(struct MailStruct *);
+extern u8 sub_807D770(void);
+extern void sub_808B020(void);
+extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
+extern void sub_80A418C(u16, enum StringConvertMode, int, int, int);
+extern void sub_80A6A30(void);
+extern void sub_80F944C(void);
+
+extern u8 *gPcItemMenuOptionOrder;
+extern u8 gPcItemMenuOptionsNum;
+
+extern u8 gUnknown_02038561;
+
+// event scripts
+extern u8 gBrendanHouse_TurnPCOff[];
+extern u8 gMayHouse_TurnPCOff[];
+
+extern void (*gFieldCallback)(void);
+
+static void InitPlayerPCMenu(u8 taskId);
+static void PlayerPCProcessMenuInput(u8 taskId);
+static void InitItemStorageMenu(u8);
+static void ItemStorageMenuPrint(const u8 *);
+static void ItemStorageMenuProcessInput(u8);
+static void ItemStorage_ProcessInput(u8);
+static void ItemStorage_SetItemAndMailCount(u8);
+static void ItemStorage_DoItemAction(u8);
+static void ItemStorage_GoBackToPlayerPCMenu(u8);
+static void ItemStorage_HandleQuantityRolling(u8);
+static void ItemStorage_DoItemWithdraw(u8);
+static void ItemStorage_DoItemToss(u8);
+static void ItemStorage_HandleRemoveItem(u8);
+static void ItemStorage_WaitPressHandleResumeProcessInput(u8);
+static void ItemStorage_HandleResumeProcessInput(u8);
+static void ItemStorage_DoItemSwap(u8, bool8);
+static void ItemStorage_DrawItemList(u8);
+static void ItemStorage_PrintItemPcResponse(u16);
+static void ItemStorage_DrawBothListAndDescription(u8);
+static void ItemStorage_GoBackToItemPCMenu(u8, u8);
+static void ItemStorage_LoadPalette(void);
+static u8 GetMailboxMailCount(void);
+static void Mailbox_UpdateMailList(void);
+static void Mailbox_DrawMailboxMenu(u8);
+static void Mailbox_ProcessInput(u8);
+static void Mailbox_CloseScrollIndicators(void);
+static void Mailbox_PrintWhatToDoWithPlayerMailText(u8);
+static void Mailbox_TurnOff(u8);
+static void Mailbox_PrintMailOptions(u8);
+static void Mailbox_MailOptionsProcessInput(u8);
+static void Mailbox_FadeAndReadMail(u8);
+static void Mailbox_ReturnToFieldFromReadMail(void);
+static void Mailbox_DrawYesNoBeforeMove(u8);
+static void Mailbox_DoGiveMailPokeMenu(u8);
+static void Mailbox_NoPokemonForMail(u8);
+static void Mailbox_Cancel(u8);
+static void Mailbox_DrawMailMenuAndDoProcessInput(u8);
+static void PlayerPC_ItemStorage(u8 taskId);
+static void PlayerPC_Mailbox(u8 taskId);
+static void PlayerPC_Decoration(u8 var);
+static void PlayerPC_TurnOff(u8 taskId);
+static void ItemStorage_Withdraw(u8);
+static void ItemStorage_Deposit(u8);
+static void ItemStorage_Toss(u8);
+static void ItemStorage_Exit(u8);
+static void ItemStorage_ResumeInputFromYesToss(u8);
+static void ItemStorage_ResumeInputFromNoToss(u8);
+static void Mailbox_DoMailMoveToBag(u8);
+static void Mailbox_ReturnToInputAfterNo(u8);
+static void Mailbox_DoMailRead(u8);
+static void Mailbox_MoveToBag(u8);
+static void Mailbox_Give(u8);
+static void Mailbox_Cancel(u8);
+
+static const struct TextStruct gPCText_OptionDescList[] =
+{
+ PCText_TakeOutItems,
+ PCText_StoreItems,
+ PCText_ThrowAwayItems,
+ gMenuText_GoBackToPrev
};
-// player PC menu options
-enum
+static const struct MenuAction2 gPCText_PlayerPCOptionsText[] =
{
+ { SecretBaseText_ItemStorage, PlayerPC_ItemStorage },
+ { gPCText_Mailbox, PlayerPC_Mailbox },
+ { SecretBaseText_Decoration, PlayerPC_Decoration },
+ { SecretBaseText_TurnOff, PlayerPC_TurnOff }
+};
+
+static const u8 gBedroomPC_OptionOrder[] =
+{
PLAYERPC_MENU_ITEMSTORAGE,
PLAYERPC_MENU_MAILBOX,
PLAYERPC_MENU_DECORATION,
PLAYERPC_MENU_TURNOFF
};
-// item storage menus
-enum
+static const u8 gPlayerPC_OptionOrder[] =
{
- ITEMPC_MENU_WITHDRAW,
- ITEMPC_MENU_DEPOSIT,
- ITEMPC_MENU_TOSS,
- ITEMPC_MENU_EXIT
+ PLAYERPC_MENU_ITEMSTORAGE,
+ PLAYERPC_MENU_MAILBOX,
+ PLAYERPC_MENU_TURNOFF
};
-// special item description handlers
-enum
-{
- ITEMPC_SWITCH_WHICH_ITEM = 0xFFF7,
- ITEMPC_OKAY_TO_THROW_AWAY,
- ITEMPC_TOO_IMPORTANT,
- ITEMPC_NO_MORE_ROOM,
- ITEMPC_THREW_AWAY_ITEM,
- ITEMPC_HOW_MANY_TO_TOSS,
- ITEMPC_WITHDREW_THING,
- ITEMPC_HOW_MANY_TO_WITHDRAW,
- ITEMPC_GO_BACK_TO_PREV
+static const struct MenuAction2 gPCText_ItemPCOptionsText[] =
+{
+ { PCText_WithdrawItem, ItemStorage_Withdraw },
+ { PCText_DepositItem, ItemStorage_Deposit },
+ { PCText_TossItem, ItemStorage_Toss },
+ { gUnknownText_Exit, ItemStorage_Exit }
};
-struct MailboxStruct
+static const struct YesNoFuncTable ResumeFromTossYesNoFuncList[] = // ResumeFromTossYesNoFuncList
{
- /*0x00*/ u8 cursorPos;
- /*0x01*/ u8 pageItems; // number of items (not including Cancel) on the current page.
- /*0x02*/ u8 itemsAbove; // number of items above the top item on the page.
- /*0x03*/ u8 count; // total number of items in mailbox storage.
+ ItemStorage_ResumeInputFromYesToss,
+ ItemStorage_ResumeInputFromNoToss
};
-extern struct MailboxStruct gMailboxInfo;
-
-extern void DisplayItemMessageOnField(u8, const u8*, TaskFunc, u16);
-extern void DoPlayerPCDecoration(u8);
-extern void BuyMenuFreeMemory(void);
-extern void DestroyVerticalScrollIndicator(u8);
-extern void sub_80A6A30(void);
-extern u8 sub_807D770(void);
-extern void sub_80F996C(u8);
-extern void sub_80A418C(u16, enum StringConvertMode, int, int, int);
-extern void sub_80F98DC(int);
-extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
-extern void CreateVerticalScrollIndicators(u32, u32, u32); // unknown args
-extern void sub_80F944C(void);
-extern void LoadScrollIndicatorPalette(void);
-extern void ClearMailStruct(struct MailStruct *);
-extern void sub_808B020(void);
+static const struct YesNoFuncTable ResumeFromWithdrawYesNoFuncList[] = // ResumeFromWithdrawYesNoFuncList
+{
+ Mailbox_DoMailMoveToBag,
+ Mailbox_ReturnToInputAfterNo
+};
-extern u16 gNewGamePCItems[];
-extern u16 gUnknown_08406334[3];
+// the use of this struct is meant to be an ItemSlot struct, but NewGameInitPCItems refuses to match without a weird pointer access.
+static const struct ItemSlot gNewGamePCItems[] =
+{
+ { ITEM_POTION, 1 },
+ { ITEM_NONE, 0 }
+};
-extern u8 *gPcItemMenuOptionOrder;
-extern struct MenuAction gPCText_PlayerPCOptionsText[];
+static const struct MenuAction2 gMailboxMailOptions[] =
+{
+ { OtherText_Read, Mailbox_DoMailRead },
+ { gOtherText_MoveToBag, Mailbox_MoveToBag },
+ { OtherText_Give, Mailbox_Give },
+ { gOtherText_CancelNoTerminator, Mailbox_Cancel }
+};
-extern u8 gBedroomPC_OptionOrder[];
-extern u8 gPlayerPC_OptionOrder[];
-extern u8 gUnknown_0840632A[];
-extern u8 gUnknown_08406327[];
-extern u8 gUnknown_08406330[];
-extern u8 gUnknown_0840631E[];
-extern u8 gUnknown_08406318[];
-extern u8 gUnknown_0840633A[];
+static const u8 gNonSelectedItemFormattedText[] = _("{STR_VAR_1}{CLEAR_TO 80}");
+static const u8 gSelectedItemFormattedText[] = _("{COLOR RED}{STR_VAR_1}{CLEAR_TO 80}");
+static const u8 gNonSelectedItemQuantityFormatText[] = _("{STR_VAR_1}");
+static const u8 gSelectedItemQuantityFormatText[] = _("{COLOR RED}{STR_VAR_1}");
+static const u8 gUnknown_08406330[] = _("{CLEAR_TO 32}");
-extern u8 gPcItemMenuOptionsNum;
+static const u16 gUnknown_08406334[3] =
+{
+ 0x5294,
+ 0x6B5A,
+ 0x7FFF
+};
-extern u8 gUnknown_02038561;
-extern u8 gUnknown_08152850;
-extern u8 gUnknown_08152C75;
-
-extern void (*gUnknown_0300485C)(void);
-
-extern u32 gPCText_OptionDescList[];
-extern const struct MenuAction gPCText_ItemPCOptionsText[];
-extern const struct MenuAction gUnknown_084062F8[];
-extern const struct YesNoFuncTable gUnknown_084062E0;
-extern const struct YesNoFuncTable gUnknown_084062E8;
-
-void InitPlayerPCMenu(u8 taskId);
-void PlayerPCProcessMenuInput(u8 taskId);
-void InitItemStorageMenu(u8);
-void ItemStorageMenuPrint(u8 *);
-void ItemStorageMenuProcessInput(u8);
-void ItemStorage_ProcessInput(u8);
-void ItemStorage_SetItemAndMailCount(u8);
-void ItemStorage_DoItemAction(u8);
-void ItemStorage_GoBackToPlayerPCMenu(u8);
-void ItemStorage_HandleQuantityRolling(u8);
-void ItemStorage_DoItemWithdraw(u8);
-void ItemStorage_DoItemToss(u8);
-void ItemStorage_HandleRemoveItem(u8);
-void ItemStorage_WaitPressHandleResumeProcessInput(u8);
-void ItemStorage_HandleResumeProcessInput(u8);
-void ItemStorage_DoItemSwap(u8, bool8);
-void ItemStorage_DrawItemList(u8);
-void ItemStorage_PrintItemPcResponse(u16);
-void ItemStorage_DrawBothListAndDescription(u8);
-void ItemStorage_GoBackToItemPCMenu(u8, u8);
-void ItemStorage_LoadPalette(void);
-u8 GetMailboxMailCount(void);
-void Mailbox_UpdateMailList(void);
-void Mailbox_DrawMailboxMenu(u8);
-void Mailbox_ProcessInput(u8);
-void sub_813B27C(void);
-void sub_813B294(u8);
-void sub_813B320(u8);
-void sub_813B348(u8);
-void sub_813B3A0(u8);
-void sub_813B454(u8);
-void sub_813B4F0(void);
-void sub_813B554(u8);
-void sub_813B66C(u8);
-void sub_813B718(u8);
-void Mailbox_Cancel(u8);
-void sub_813B758(u8);
+static const u8 gHighlightedMoveToBagFormatText[] = _("{COLOR RED}{STR_VAR_1}");
void NewGameInitPCItems(void)
{
@@ -175,27 +192,27 @@ void NewGameInitPCItems(void)
void BedroomPC(void)
{
- gPcItemMenuOptionOrder = gBedroomPC_OptionOrder;
+ gPcItemMenuOptionOrder = (u8 *)gBedroomPC_OptionOrder;
gPcItemMenuOptionsNum = 4;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
void PlayerPC(void)
{
- gPcItemMenuOptionOrder = gPlayerPC_OptionOrder;
+ gPcItemMenuOptionOrder = (u8 *)gPlayerPC_OptionOrder;
gPcItemMenuOptionsNum = 3;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
-void InitPlayerPCMenu(u8 taskId)
+static void InitPlayerPCMenu(u8 taskId)
{
MenuDrawTextWindow(0, 0, 10, gPcItemMenuOptionsNum * 2 + 1);
- PrintMenuItemsReordered(1, 1, gPcItemMenuOptionsNum, gPCText_PlayerPCOptionsText, gPcItemMenuOptionOrder);
+ PrintMenuItemsReordered(1, 1, gPcItemMenuOptionsNum, (struct MenuAction *)gPCText_PlayerPCOptionsText, gPcItemMenuOptionOrder);
InitMenu(0, 1, 1, gPcItemMenuOptionsNum, 0, 9);
- gTasks[taskId].func = PlayerPCProcessMenuInput;
+ TASK.FUNC = PlayerPCProcessMenuInput;
}
-void PlayerPCProcessMenuInput(u8 taskId)
+static void PlayerPCProcessMenuInput(u8 taskId)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
@@ -226,13 +243,13 @@ void ReshowPlayerPC(u8 var)
DisplayItemMessageOnField(var, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
-void PlayerPC_ItemStorage(u8 taskId)
+static void PlayerPC_ItemStorage(u8 taskId)
{
- InitItemStorageMenu(0);
- gTasks[taskId].func = ItemStorageMenuProcessInput;
+ InitItemStorageMenu(ITEMPC_MENU_WITHDRAW);
+ TASK.FUNC = ItemStorageMenuProcessInput;
}
-void PlayerPC_Mailbox(u8 taskId)
+static void PlayerPC_Mailbox(u8 taskId)
{
MenuZeroFillWindowRect(0, 0, 10, 9);
gMailboxInfo.count = GetMailboxMailCount();
@@ -246,26 +263,26 @@ void PlayerPC_Mailbox(u8 taskId)
Mailbox_UpdateMailList();
ItemStorage_SetItemAndMailCount(taskId);
Mailbox_DrawMailboxMenu(taskId);
- gTasks[taskId].func = Mailbox_ProcessInput;
+ TASK.FUNC = Mailbox_ProcessInput;
}
}
-void PlayerPC_Decoration(u8 var)
+static void PlayerPC_Decoration(u8 var)
{
MenuZeroFillWindowRect(0, 0, 10, 9);
DoPlayerPCDecoration(var);
}
-void PlayerPC_TurnOff(u8 taskId)
+static void PlayerPC_TurnOff(u8 taskId)
{
if (gPcItemMenuOptionsNum == 4) // if the option count is 4, we are at the bedroom PC and not player PC, so do gender specific handling.
{
MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
if (gSaveBlock2.playerGender == MALE)
- ScriptContext1_SetupScript(&gUnknown_08152850);
+ ScriptContext1_SetupScript(gBrendanHouse_TurnPCOff);
else
- ScriptContext1_SetupScript(&gUnknown_08152C75);
+ ScriptContext1_SetupScript(gMayHouse_TurnPCOff);
}
else
{
@@ -275,34 +292,34 @@ void PlayerPC_TurnOff(u8 taskId)
DestroyTask(taskId);
}
-void InitItemStorageMenu(u8 var)
+static void InitItemStorageMenu(u8 var)
{
MenuZeroFillWindowRect(0, 0, 10, 9);
MenuDrawTextWindow(0, 0, 11, 9);
- PrintMenuItems(1, 1, 4, gPCText_ItemPCOptionsText);
+ PrintMenuItems(1, 1, 4, (struct MenuAction *)gPCText_ItemPCOptionsText);
InitMenu(0, 1, 1, 4, var, 10);
- ItemStorageMenuPrint((u8 *)gPCText_OptionDescList[var]);
+ ItemStorageMenuPrint(gPCText_OptionDescList[var].text);
}
-void ItemStorageMenuPrint(u8 *textPtr)
+static void ItemStorageMenuPrint(const u8 *textPtr)
{
MenuFillWindowRectWithBlankTile(2, 15, 27, 18);
MenuPrint(textPtr, 2, 15);
}
-void ItemStorageMenuProcessInput(u8 var)
+static void ItemStorageMenuProcessInput(u8 var)
{
if (gMain.newAndRepeatedKeys & DPAD_UP)
{
PlaySE(SE_SELECT);
MoveMenuCursor(-1);
- ItemStorageMenuPrint((u8 *)gPCText_OptionDescList[GetMenuCursorPos()]);
+ ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text);
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
PlaySE(SE_SELECT);
MoveMenuCursor(1);
- ItemStorageMenuPrint((u8 *)gPCText_OptionDescList[GetMenuCursorPos()]);
+ ItemStorageMenuPrint(gPCText_OptionDescList[GetMenuCursorPos()].text);
}
else if (gMain.newKeys & A_BUTTON)
{
@@ -317,7 +334,7 @@ void ItemStorageMenuProcessInput(u8 var)
}
}
-void Task_ItemStorage_Deposit(u8 taskId)
+static void Task_ItemStorage_Deposit(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -326,29 +343,29 @@ void Task_ItemStorage_Deposit(u8 taskId)
}
}
-void ItemStorage_Deposit(u8 taskId)
+static void ItemStorage_Deposit(u8 taskId)
{
- gTasks[taskId].func = Task_ItemStorage_Deposit;
+ TASK.FUNC = Task_ItemStorage_Deposit;
fade_screen(1, 0);
}
-void sub_813A0C8(u8 taskId)
+static void ItemStorage_HandleReturnToProcessInput(u8 taskId)
{
- if (sub_807D770() == 1)
- gTasks[taskId].func = ItemStorageMenuProcessInput;
+ if (sub_807D770() == TRUE)
+ TASK.FUNC = ItemStorageMenuProcessInput;
}
-void sub_813A0F8(void)
+void ItemStorage_ReturnToMenuAfterDeposit(void)
{
MenuDisplayMessageBox();
- InitItemStorageMenu(1);
- CreateTask(sub_813A0C8, 0);
+ InitItemStorageMenu(ITEMPC_MENU_DEPOSIT);
+ CreateTask(ItemStorage_HandleReturnToProcessInput, 0);
pal_fill_black();
}
-void ItemStorage_Withdraw(u8 taskId)
+static void ItemStorage_Withdraw(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
HandleDestroyMenuCursors();
MenuZeroFillWindowRect(0, 0, 11, 9);
@@ -362,15 +379,15 @@ void ItemStorage_Withdraw(u8 taskId)
ITEMS_ABOVE_TOP = 0;
ItemStorage_SetItemAndMailCount(taskId);
ItemStorage_GoBackToItemPCMenu(taskId, 0);
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ TASK.FUNC = ItemStorage_ProcessInput;
}
else
DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0);
}
-void ItemStorage_Toss(u8 taskId)
+static void ItemStorage_Toss(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
HandleDestroyMenuCursors();
MenuZeroFillWindowRect(0, 0, 11, 9);
@@ -384,22 +401,22 @@ void ItemStorage_Toss(u8 taskId)
ITEMS_ABOVE_TOP = 0;
ItemStorage_SetItemAndMailCount(taskId);
ItemStorage_GoBackToItemPCMenu(taskId, 2);
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ TASK.FUNC = ItemStorage_ProcessInput;
}
else
DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0);
}
-void ItemStorage_Exit(u8 var)
+static void ItemStorage_Exit(u8 var)
{
HandleDestroyMenuCursors();
MenuZeroFillWindowRect(0, 0, 11, 9);
ReshowPlayerPC(var);
}
-void ItemStorage_SetItemAndMailCount(u8 taskId)
+static void ItemStorage_SetItemAndMailCount(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
if (NUM_ITEMS > 7) // we have a full page, so set the num of page items appropriately.
NUM_PAGE_ITEMS = 8;
@@ -412,9 +429,9 @@ void ItemStorage_SetItemAndMailCount(u8 taskId)
gMailboxInfo.pageItems = gMailboxInfo.count + 1;
}
-void ItemStorage_ProcessInput(u8 taskId)
+static void ItemStorage_ProcessInput(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
s16 trueIndex;
if (gMain.newAndRepeatedKeys & DPAD_UP)
@@ -532,24 +549,24 @@ void ItemStorage_ProcessInput(u8 taskId)
}
}
-void ItemStorage_GoBackToPlayerPCMenu(u8 taskId)
+static void ItemStorage_GoBackToPlayerPCMenu(u8 taskId)
{
BuyMenuFreeMemory();
DestroyVerticalScrollIndicator(0);
DestroyVerticalScrollIndicator(1);
MenuZeroFillWindowRect(0, 0, 29, 19);
MenuDisplayMessageBox();
- InitItemStorageMenu(gTasks[taskId].CURRENT_ITEM_STORAGE_MENU);
- gTasks[taskId].func = ItemStorageMenuProcessInput;
+ InitItemStorageMenu(TASK.CURRENT_ITEM_STORAGE_MENU);
+ TASK.FUNC = ItemStorageMenuProcessInput;
}
-void ItemStorage_DoItemAction(u8 taskId)
+static void ItemStorage_DoItemAction(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
u8 trueIndex = PAGE_INDEX + ITEMS_ABOVE_TOP;
- sub_80F996C(0);
- sub_80F996C(1);
+ PauseVerticalScrollIndicator(0);
+ PauseVerticalScrollIndicator(1); // PauseVerticalScrollIndicator
if(CURRENT_ITEM_STORAGE_MENU == ITEMPC_MENU_WITHDRAW)
{
@@ -577,12 +594,12 @@ void ItemStorage_DoItemAction(u8 taskId)
NUM_QUANTITY_ROLLER = 1;
MenuDrawTextWindow(6, 8, 13, 11);
sub_80A418C(NUM_QUANTITY_ROLLER, STR_CONV_MODE_RIGHT_ALIGN, 8, 9, 3);
- gTasks[taskId].func = ItemStorage_HandleQuantityRolling;
+ TASK.FUNC = ItemStorage_HandleQuantityRolling;
}
-void ItemStorage_HandleQuantityRolling(u8 taskId)
+static void ItemStorage_HandleQuantityRolling(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
u8 trueIndex = PAGE_INDEX + ITEMS_ABOVE_TOP;
if(gMain.newAndRepeatedKeys & DPAD_UP)
@@ -635,16 +652,16 @@ void ItemStorage_HandleQuantityRolling(u8 taskId)
{
PlaySE(SE_SELECT);
MenuZeroFillWindowRect(6, 6, 0xD, 0xB);
- sub_80F98DC(0);
- sub_80F98DC(1);
+ StartVerticalScrollIndicators(0);
+ StartVerticalScrollIndicators(1);
ItemStorage_PrintItemPcResponse(gSaveBlock1.pcItems[ITEMS_ABOVE_TOP + PAGE_INDEX].itemId); // why not use trueIndex?
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ TASK.FUNC = ItemStorage_ProcessInput;
}
}
-void ItemStorage_DoItemWithdraw(u8 taskId)
+static void ItemStorage_DoItemWithdraw(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
u8 trueIndex = PAGE_INDEX + ITEMS_ABOVE_TOP;
if(AddBagItem(gSaveBlock1.pcItems[trueIndex].itemId, NUM_QUANTITY_ROLLER) == TRUE) // add item works.
@@ -652,19 +669,19 @@ void ItemStorage_DoItemWithdraw(u8 taskId)
CopyItemName(gSaveBlock1.pcItems[trueIndex].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, NUM_QUANTITY_ROLLER, 0, 3);
ItemStorage_PrintItemPcResponse(ITEMPC_WITHDREW_THING);
- gTasks[taskId].func = ItemStorage_HandleRemoveItem;
+ TASK.FUNC = ItemStorage_HandleRemoveItem;
}
else
{
NUM_QUANTITY_ROLLER = 0;
ItemStorage_PrintItemPcResponse(ITEMPC_NO_MORE_ROOM);
- gTasks[taskId].func = ItemStorage_WaitPressHandleResumeProcessInput;
+ TASK.FUNC = ItemStorage_WaitPressHandleResumeProcessInput;
}
}
-void ItemStorage_DoItemToss(u8 taskId)
+static void ItemStorage_DoItemToss(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
u8 var = PAGE_INDEX + ITEMS_ABOVE_TOP;
if(ItemId_GetImportance(gSaveBlock1.pcItems[var].itemId) == FALSE)
@@ -673,38 +690,38 @@ void ItemStorage_DoItemToss(u8 taskId)
ConvertIntToDecimalStringN(gStringVar2, NUM_QUANTITY_ROLLER, 0, 3);
ItemStorage_PrintItemPcResponse(ITEMPC_OKAY_TO_THROW_AWAY);
DisplayYesNoMenu(7, 6, 1);
- sub_80F914C(taskId, &gUnknown_084062E0);
+ DoYesNoFuncWithChoice(taskId, (struct YesNoFuncTable *)&ResumeFromTossYesNoFuncList);
}
else
{
NUM_QUANTITY_ROLLER = 0;
ItemStorage_PrintItemPcResponse(ITEMPC_TOO_IMPORTANT);
- gTasks[taskId].func = ItemStorage_HandleRemoveItem;
+ TASK.FUNC = ItemStorage_HandleRemoveItem;
}
}
-void ItemStorage_ResumeInputFromYesToss(u8 taskId)
+static void ItemStorage_ResumeInputFromYesToss(u8 taskId)
{
MenuZeroFillWindowRect(0x6, 0x6, 0xD, 0xB);
ItemStorage_PrintItemPcResponse(ITEMPC_THREW_AWAY_ITEM);
- gTasks[taskId].func = ItemStorage_HandleRemoveItem;
+ TASK.FUNC = ItemStorage_HandleRemoveItem;
}
-void ItemStorage_ResumeInputFromNoToss(u8 taskId)
+static void ItemStorage_ResumeInputFromNoToss(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
MenuZeroFillWindowRect(0x6, 0x6, 0xD, 0xB);
InitMenu(0, 16, 2, NUM_PAGE_ITEMS, PAGE_INDEX, 0xD);
- sub_80F98DC(0);
- sub_80F98DC(1);
+ StartVerticalScrollIndicators(0);
+ StartVerticalScrollIndicators(1);
ItemStorage_PrintItemPcResponse(gSaveBlock1.pcItems[ITEMS_ABOVE_TOP + PAGE_INDEX].itemId);
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ TASK.FUNC = ItemStorage_ProcessInput;
}
-void ItemStorage_HandleRemoveItem(u8 taskId)
+static void ItemStorage_HandleRemoveItem(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
s16 oldNumItems;
if(gMain.newKeys & A_BUTTON || gMain.newKeys == B_BUTTON)
@@ -722,31 +739,31 @@ void ItemStorage_HandleRemoveItem(u8 taskId)
}
}
-void ItemStorage_WaitPressHandleResumeProcessInput(u8 taskId)
+static void ItemStorage_WaitPressHandleResumeProcessInput(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
if(gMain.newKeys & A_BUTTON || gMain.newKeys == B_BUTTON)
{
ItemStorage_PrintItemPcResponse(gSaveBlock1.pcItems[ITEMS_ABOVE_TOP + PAGE_INDEX].itemId);
- sub_80F98DC(0);
- sub_80F98DC(1);
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ StartVerticalScrollIndicators(0);
+ StartVerticalScrollIndicators(1);
+ TASK.FUNC = ItemStorage_ProcessInput;
}
}
-void ItemStorage_HandleResumeProcessInput(u8 taskId)
+static void ItemStorage_HandleResumeProcessInput(u8 taskId)
{
MenuZeroFillWindowRect(0x6, 0x6, 0xD, 0xB);
- sub_80F98DC(0);
- sub_80F98DC(1);
+ StartVerticalScrollIndicators(0);
+ StartVerticalScrollIndicators(1);
ItemStorage_DrawBothListAndDescription(taskId);
- gTasks[taskId].func = ItemStorage_ProcessInput;
+ TASK.FUNC = ItemStorage_ProcessInput;
}
-void ItemStorage_DoItemSwap(u8 taskId, bool8 switchModeDisabled)
+static void ItemStorage_DoItemSwap(u8 taskId, bool8 switchModeDisabled)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
u8 trueIndex = ITEMS_ABOVE_TOP + PAGE_INDEX;
SWITCH_MODE_ACTIVE = FALSE;
@@ -784,44 +801,44 @@ void ItemStorage_DoItemSwap(u8 taskId, bool8 switchModeDisabled)
}
}
-void ItemStorage_DrawItemQuantity(u16 arg1, enum StringConvertMode arg2, u8 arg3, u8 arg4, int isSwapSelected)
+static void ItemStorage_DrawItemQuantity(u16 arg1, enum StringConvertMode arg2, u8 arg3, u8 arg4, int isSwapSelected)
{
sub_80A4164(gStringVar1, arg1, arg2, arg4);
if(isSwapSelected != FALSE)
- MenuPrint(gUnknown_0840632A, 0x1A, arg3);
+ MenuPrint(gSelectedItemQuantityFormatText, 0x1A, arg3);
else
- MenuPrint(gUnknown_08406327, 0x1A, arg3);
+ MenuPrint(gNonSelectedItemQuantityFormatText, 0x1A, arg3);
}
-void ItemStorage_DrawItemVoidQuantity(u8 var)
+static void ItemStorage_DrawItemVoidQuantity(u8 var)
{
MenuPrint(gUnknown_08406330, 0x19, var);
}
-void ItemStorage_DrawItemName(struct ItemSlot *itemSlot, u8 var, int isSwapSelected)
+static void ItemStorage_DrawItemName(struct ItemSlot *itemSlot, u8 var, int isSwapSelected)
{
CopyItemName(itemSlot->itemId, gStringVar1);
if(isSwapSelected != FALSE)
- MenuPrint(gUnknown_0840631E, 16, var);
+ MenuPrint(gSelectedItemFormattedText, 16, var);
else
- MenuPrint(gUnknown_08406318, 16, var);
+ MenuPrint(gNonSelectedItemFormattedText, 16, var);
}
-void ItemStorage_DrawNormalItemEntry(struct ItemSlot *itemSlot, u8 var, int var2)
+static void ItemStorage_DrawNormalItemEntry(struct ItemSlot *itemSlot, u8 var, int var2)
{
ItemStorage_DrawItemName(itemSlot, var, var2);
ItemStorage_DrawItemQuantity(itemSlot->quantity, STR_CONV_MODE_RIGHT_ALIGN, var, 3, var2);
}
-void ItemStorage_DrawKeyItemEntry(struct ItemSlot *itemSlot, u8 var, int var2)
+static void ItemStorage_DrawKeyItemEntry(struct ItemSlot *itemSlot, u8 var, int var2)
{
ItemStorage_DrawItemName(itemSlot, var, var2);
ItemStorage_DrawItemVoidQuantity(var);
}
-void ItemStorage_DrawTMHMEntry(struct ItemSlot *itemSlot, u8 var, int var2)
+static void ItemStorage_DrawTMHMEntry(struct ItemSlot *itemSlot, u8 var, int var2)
{
ItemStorage_DrawItemName(itemSlot, var, var2);
@@ -831,9 +848,9 @@ void ItemStorage_DrawTMHMEntry(struct ItemSlot *itemSlot, u8 var, int var2)
ItemStorage_DrawItemVoidQuantity(var); // HMs do not have a quantity.
}
-void ItemStorage_DrawItemList(u8 taskId)
+static void ItemStorage_DrawItemList(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
int tempArg;
u16 i;
u16 yCoord = 0;
@@ -895,7 +912,7 @@ weirdCase:
DestroyVerticalScrollIndicator(1);
}
-void ItemStorage_PrintItemPcResponse(u16 itemId)
+static void ItemStorage_PrintItemPcResponse(u16 itemId)
{
u8 *string;
@@ -936,9 +953,9 @@ void ItemStorage_PrintItemPcResponse(u16 itemId)
sub_8072AB0(string, 8, 0x68, 0x68, 0x30, 1);
}
-void ItemStorage_DrawBothListAndDescription(u8 taskId)
+static void ItemStorage_DrawBothListAndDescription(u8 taskId)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
s16 trueIndex = ITEMS_ABOVE_TOP + PAGE_INDEX;
ItemStorage_DrawItemList(taskId);
@@ -952,9 +969,9 @@ void ItemStorage_DrawBothListAndDescription(u8 taskId)
}
}
-void ItemStorage_GoBackToItemPCMenu(u8 taskId, u8 var)
+static void ItemStorage_GoBackToItemPCMenu(u8 taskId, u8 var)
{
- s16 *data = gTasks[taskId].data;
+ s16 *data = TASK.data;
sub_80F944C();
LoadScrollIndicatorPalette();
@@ -968,7 +985,7 @@ void ItemStorage_GoBackToItemPCMenu(u8 taskId, u8 var)
InitMenu(0, 0x10, 2, NUM_PAGE_ITEMS, PAGE_INDEX, 0xD);
}
-void ItemStorage_LoadPalette(void)
+static void ItemStorage_LoadPalette(void)
{
u16 arr[3];
@@ -978,7 +995,7 @@ void ItemStorage_LoadPalette(void)
LoadPalette(&arr[0], 0xD8, 2);
}
-u8 GetMailboxMailCount(void)
+static u8 GetMailboxMailCount(void)
{
u8 i, j;
@@ -989,7 +1006,7 @@ u8 GetMailboxMailCount(void)
return i;
}
-void Mailbox_UpdateMailList(void)
+static void Mailbox_UpdateMailList(void)
{
struct MailStruct mailBuffer;
u8 i, j;
@@ -1009,7 +1026,7 @@ void Mailbox_UpdateMailList(void)
}
// WWHHHHHYYYYYYYY SOMEBODY PLEASE FIX THIS
-void Mailbox_DrawMailList(u8 taskId) // taskId is unused
+static void Mailbox_DrawMailList(u8 taskId) // taskId is unused
{
u16 yCoord = 0;
u16 i = gMailboxInfo.itemsAbove;
@@ -1062,7 +1079,7 @@ weirdCase:
DestroyVerticalScrollIndicator(1);
}
-void Mailbox_DrawMailboxMenu(u8 taskId)
+static void Mailbox_DrawMailboxMenu(u8 taskId)
{
sub_80F944C();
LoadScrollIndicatorPalette();
@@ -1075,7 +1092,7 @@ void Mailbox_DrawMailboxMenu(u8 taskId)
}
// Mailbox_ProcessInput
-void Mailbox_ProcessInput(u8 taskId)
+static void Mailbox_ProcessInput(u8 taskId)
{
if(!gPaletteFade.active)
{
@@ -1083,12 +1100,12 @@ void Mailbox_ProcessInput(u8 taskId)
{
if(gMailboxInfo.cursorPos != 0)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
gMailboxInfo.cursorPos = MoveMenuCursor(-1);
}
else if(gMailboxInfo.itemsAbove != 0)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
gMailboxInfo.itemsAbove--;
Mailbox_DrawMailList(taskId);
}
@@ -1097,12 +1114,12 @@ void Mailbox_ProcessInput(u8 taskId)
{
if(gMailboxInfo.cursorPos != gMailboxInfo.pageItems - 1)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
gMailboxInfo.cursorPos = MoveMenuCursor(1);
}
else if(gMailboxInfo.itemsAbove + gMailboxInfo.cursorPos != gMailboxInfo.count)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
gMailboxInfo.itemsAbove++;
Mailbox_DrawMailList(taskId);
}
@@ -1110,135 +1127,135 @@ void Mailbox_ProcessInput(u8 taskId)
else if(gMain.newKeys & A_BUTTON)
{
HandleDestroyMenuCursors();
- PlaySE(5);
+ PlaySE(SE_SELECT);
if(gMailboxInfo.itemsAbove + gMailboxInfo.cursorPos == gMailboxInfo.count)
{
- sub_813B320(taskId);
+ Mailbox_TurnOff(taskId);
}
else
{
- sub_813B27C();
- gTasks[taskId].func = sub_813B294;
+ Mailbox_CloseScrollIndicators();
+ TASK.FUNC = Mailbox_PrintWhatToDoWithPlayerMailText;
}
}
else if(gMain.newKeys & B_BUTTON)
{
HandleDestroyMenuCursors();
- PlaySE(5);
- sub_813B320(taskId);
+ PlaySE(SE_SELECT);
+ Mailbox_TurnOff(taskId);
}
}
}
-void sub_813B27C(void)
+static void Mailbox_CloseScrollIndicators(void)
{
BuyMenuFreeMemory();
DestroyVerticalScrollIndicator(0);
DestroyVerticalScrollIndicator(1);
}
-void sub_813B294(u8 taskId)
+static void Mailbox_PrintWhatToDoWithPlayerMailText(u8 taskId)
{
MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
StringCopy(gStringVar1, gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos].playerName);
SanitizeNameString(gStringVar1);
StringExpandPlaceholders(gStringVar4, gOtherText_WhatWillYouDoMail);
- DisplayItemMessageOnField(taskId, gStringVar4, sub_813B348, 0);
+ DisplayItemMessageOnField(taskId, gStringVar4, Mailbox_PrintMailOptions, 0);
}
-void sub_813B300(u8 taskId)
+static void Mailbox_ReturnToPlayerPC(u8 taskId)
{
MenuZeroFillWindowRect(0, 0, 0x1D, 0x13);
ReshowPlayerPC(taskId);
}
-void sub_813B320(u8 taskId)
+static void Mailbox_TurnOff(u8 taskId)
{
- sub_813B27C();
- gTasks[taskId].func = sub_813B300;
+ Mailbox_CloseScrollIndicators();
+ TASK.FUNC = Mailbox_ReturnToPlayerPC;
}
-void sub_813B348(u8 taskId)
+static void Mailbox_PrintMailOptions(u8 taskId) // Mailbox_PrintMailOptions
{
MenuDrawTextWindow(0, 0, 0xC, 0x9);
- PrintMenuItems(1, 1, 4, gUnknown_084062F8);
+ PrintMenuItems(1, 1, 4, (struct MenuAction *)gMailboxMailOptions);
InitMenu(0, 1, 1, 4, 0, 0xB);
- gTasks[taskId].func = sub_813B3A0;
+ TASK.FUNC = Mailbox_MailOptionsProcessInput;
}
-void sub_813B3A0(u8 taskId)
+static void Mailbox_MailOptionsProcessInput(u8 taskId)
{
if(gMain.newAndRepeatedKeys & DPAD_UP)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
MoveMenuCursor(-1);
}
else if(gMain.newAndRepeatedKeys & DPAD_DOWN)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
MoveMenuCursor(1);
}
else if(gMain.newKeys & A_BUTTON)
{
- PlaySE(5);
- gUnknown_084062F8[GetMenuCursorPos()].func(taskId);
+ PlaySE(SE_SELECT);
+ gMailboxMailOptions[GetMenuCursorPos()].func(taskId);
}
else if(gMain.newKeys & B_BUTTON)
{
- PlaySE(5);
+ PlaySE(SE_SELECT);
Mailbox_Cancel(taskId);
}
}
-void Mailbox_Read(u8 taskId)
+static void Mailbox_DoMailRead(u8 taskId)
{
fade_screen(1, 0);
- gTasks[taskId].func = sub_813B454;
+ TASK.FUNC = Mailbox_FadeAndReadMail;
}
-void sub_813B454(u8 taskId)
+static void Mailbox_FadeAndReadMail(u8 taskId)
{
if(!gPaletteFade.active)
{
- HandleReadMail(&gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos], sub_813B4F0, 1);
+ HandleReadMail(&gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos], Mailbox_ReturnToFieldFromReadMail, 1);
DestroyTask(taskId);
}
}
-void sub_813B4A0(u8 taskId)
+static void Mailbox_HandleReturnToProcessInput(u8 taskId) // Mailbox_HandleReturnToProcessInput
{
- if(sub_807D770() == TRUE)
- gTasks[taskId].func = Mailbox_ProcessInput;
+ if(sub_807D770() == TRUE) // is black fade finished? why not gPaletteFade.active?
+ TASK.FUNC = Mailbox_ProcessInput;
}
-void sub_813B4D0(void)
+static void Mailbox_DoRedrawMailboxMenuAfterReturn(void)
{
- Mailbox_DrawMailboxMenu(CreateTask(sub_813B4A0, 0));
+ Mailbox_DrawMailboxMenu(CreateTask(Mailbox_HandleReturnToProcessInput, 0));
pal_fill_black();
}
-void sub_813B4F0(void)
+static void Mailbox_ReturnToFieldFromReadMail(void)
{
- gUnknown_0300485C = sub_813B4D0;
+ gFieldCallback = Mailbox_DoRedrawMailboxMenuAfterReturn;
SetMainCallback2(c2_exit_to_overworld_2_switch);
}
-void Mailbox_MoveToBag(u8 taskId)
+static void Mailbox_MoveToBag(u8 taskId)
{
HandleDestroyMenuCursors();
StringCopy(gStringVar1, gOtherText_MoveToBag);
- MenuPrint(gUnknown_0840633A, 1, 3);
- DisplayItemMessageOnField(taskId, gOtherText_MessageWillBeLost, sub_813B554, 0);
+ MenuPrint(gHighlightedMoveToBagFormatText, 1, 3); // gHighlightedMoveToBagFormatText
+ DisplayItemMessageOnField(taskId, gOtherText_MessageWillBeLost, Mailbox_DrawYesNoBeforeMove, 0);
}
-void sub_813B554(u8 taskId)
+static void Mailbox_DrawYesNoBeforeMove(u8 taskId)
{
DisplayYesNoMenu(0x14, 0x8, 0x1);
- sub_80F914C(taskId, &gUnknown_084062E8);
+ DoYesNoFuncWithChoice(taskId, (struct YesNoFuncTable *)&ResumeFromWithdrawYesNoFuncList);
}
-void sub_813B578(u8 taskId)
+static void Mailbox_DoMailMoveToBag(u8 taskId)
{
struct MailStruct *mail = &gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos];
@@ -1246,11 +1263,11 @@ void sub_813B578(u8 taskId)
if(AddBagItem(mail->itemId, 1) == FALSE)
{
- DisplayItemMessageOnField(taskId, gOtherText_BagIsFull, sub_813B758, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_BagIsFull, Mailbox_DrawMailMenuAndDoProcessInput, 0);
}
else
{
- DisplayItemMessageOnField(taskId, gOtherText_MailWasReturned, sub_813B758, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_MailWasReturned, Mailbox_DrawMailMenuAndDoProcessInput, 0);
ClearMailStruct(mail);
Mailbox_UpdateMailList();
@@ -1263,24 +1280,24 @@ void sub_813B578(u8 taskId)
}
}
-void sub_813B610(u8 taskId)
+static void Mailbox_ReturnToInputAfterNo(u8 taskId) // Mailbox_ReturnToInputAfterNo
{
MenuZeroFillWindowRect(0x14, 0x8, 0x1A, 0xD);
- sub_813B758(taskId);
+ Mailbox_DrawMailMenuAndDoProcessInput(taskId);
}
-void Mailbox_Give(u8 taskId)
+static void Mailbox_Give(u8 taskId)
{
if(CalculatePlayerPartyCount() == 0)
- sub_813B718(taskId);
+ Mailbox_NoPokemonForMail(taskId); // cannot be reached normally
else
{
fade_screen(1, 0);
- gTasks[taskId].func = sub_813B66C;
+ TASK.FUNC = Mailbox_DoGiveMailPokeMenu;
}
}
-void sub_813B66C(u8 taskId)
+static void Mailbox_DoGiveMailPokeMenu(u8 taskId) // Mailbox_DoGiveMailPokeMenu
{
if(!gPaletteFade.active)
{
@@ -1290,9 +1307,9 @@ void sub_813B66C(u8 taskId)
}
}
-void sub_813B6A4(void)
+static void Mailbox_UpdateMailListAfterDeposit(void)
{
- u8 taskId = CreateTask(sub_813B4A0, 0);
+ u8 taskId = CreateTask(Mailbox_HandleReturnToProcessInput, 0);
u8 oldCount = gMailboxInfo.count;
gMailboxInfo.count = GetMailboxMailCount();
@@ -1306,26 +1323,27 @@ void sub_813B6A4(void)
pal_fill_black();
}
-void sub_813B6F8(void)
+void Mailbox_ReturnToMailListAfterDeposit(void)
{
- gUnknown_0300485C = sub_813B6A4;
+ gFieldCallback = Mailbox_UpdateMailListAfterDeposit;
SetMainCallback2(c2_exit_to_overworld_2_switch);
}
-void sub_813B718(u8 taskId)
+// you always have at least 1 POKeMON and you cannot receive mail before you leave Littleroot: therefore this function cannot be reached normally.
+static void Mailbox_NoPokemonForMail(u8 taskId)
{
- DisplayItemMessageOnField(taskId, gOtherText_NoPokemon, sub_813B758, 0);
+ DisplayItemMessageOnField(taskId, gOtherText_NoPokemon, Mailbox_DrawMailMenuAndDoProcessInput, 0);
}
-void Mailbox_Cancel(u8 taskId)
+static void Mailbox_Cancel(u8 taskId)
{
HandleDestroyMenuCursors();
MenuZeroFillWindowRect(0, 0, 0xC, 0x9);
- sub_813B758(taskId);
+ Mailbox_DrawMailMenuAndDoProcessInput(taskId);
}
-void sub_813B758(u8 taskId)
+static void Mailbox_DrawMailMenuAndDoProcessInput(u8 taskId)
{
Mailbox_DrawMailboxMenu(taskId);
- gTasks[taskId].func = Mailbox_ProcessInput;
+ TASK.FUNC = Mailbox_ProcessInput;
}
diff --git a/src/rom4.c b/src/rom4.c
index 79ac6d769..98060c3b1 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -67,7 +67,7 @@ extern u16 (*gUnknown_03000584)(u32);
extern u8 gUnknown_03000588;
extern u16 word_3004858;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern u8 gUnknown_03004860;
extern u8 gFieldLinkPlayerCount;
@@ -1082,11 +1082,11 @@ void sub_80543DC(u16 (*a1)(u32))
void sub_80543E8(void)
{
- if (gUnknown_0300485C)
- gUnknown_0300485C();
+ if (gFieldCallback)
+ gFieldCallback();
else
mapldr_default();
- gUnknown_0300485C = NULL;
+ gFieldCallback = NULL;
}
void CB2_NewGame(void)
@@ -1099,7 +1099,7 @@ void CB2_NewGame(void)
PlayTimeCounter_Start();
ScriptContext1_Init();
ScriptContext2_Disable();
- gUnknown_0300485C = ExecuteTruckSequence;
+ gFieldCallback = ExecuteTruckSequence;
do_load_map_stuff_loop(&gMain.state);
SetFieldVBlankCallback();
set_callback1(c1_overworld);
@@ -1119,7 +1119,7 @@ void CB2_WhiteOut(void)
player_avatar_init_params_reset();
ScriptContext1_Init();
ScriptContext2_Disable();
- gUnknown_0300485C = sub_8080B60;
+ gFieldCallback = sub_8080B60;
val = 0;
do_load_map_stuff_loop(&val);
SetFieldVBlankCallback();
@@ -1166,7 +1166,7 @@ void sub_8054534(void)
void sub_8054588(void)
{
FieldClearVBlankHBlankCallbacks();
- gUnknown_0300485C = sub_8080AC4;
+ gFieldCallback = sub_8080AC4;
SetMainCallback2(c2_80567AC);
}
@@ -1216,7 +1216,7 @@ void sub_805465C(void)
sub_8054F70();
set_callback1(sub_8055354);
sub_80543DC(sub_8055390);
- gUnknown_0300485C = sub_8080A3C;
+ gFieldCallback = sub_8080A3C;
ScriptContext1_Init();
ScriptContext2_Disable();
c2_exit_to_overworld_2_switch();
@@ -1225,28 +1225,28 @@ void sub_805465C(void)
void sub_805469C(void)
{
FieldClearVBlankHBlankCallbacks();
- gUnknown_0300485C = atk17_seteffectuser;
+ gFieldCallback = atk17_seteffectuser;
c2_exit_to_overworld_2_switch();
}
void sub_80546B8(void)
{
FieldClearVBlankHBlankCallbacks();
- gUnknown_0300485C = sub_80809B0;
+ gFieldCallback = sub_80809B0;
c2_exit_to_overworld_2_switch();
}
void c2_exit_to_overworld_1_continue_scripts_restart_music(void)
{
FieldClearVBlankHBlankCallbacks();
- gUnknown_0300485C = sub_8080990;
+ gFieldCallback = sub_8080990;
c2_exit_to_overworld_2_switch();
}
void sub_80546F0(void)
{
FieldClearVBlankHBlankCallbacks();
- gUnknown_0300485C = sub_8080B60;
+ gFieldCallback = sub_8080B60;
c2_exit_to_overworld_2_switch();
}
@@ -1280,7 +1280,7 @@ void CB2_ContinueSavedGame(void)
}
else
{
- gUnknown_0300485C = sub_805470C;
+ gFieldCallback = sub_805470C;
set_callback1(c1_overworld);
c2_exit_to_overworld_2_switch();
}
diff --git a/src/rom6.c b/src/rom6.c
index a2b52c9aa..a8233eb5b 100644
--- a/src/rom6.c
+++ b/src/rom6.c
@@ -14,7 +14,7 @@
extern u16 gScriptLastTalked;
extern u32 gUnknown_0202FF84[];
extern struct MapPosition gUnknown_0203923C;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
extern u8 UseRockSmashScript[];
@@ -122,7 +122,7 @@ bool8 SetUpFieldMove_RockSmash(void)
{
if (npc_before_player_of_type(0x56) == TRUE)
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_810B53C;
return TRUE;
}
@@ -159,7 +159,7 @@ int SetUpFieldMove_Dig(void)
{
if (sub_80CA1C8() == TRUE)
{
- gUnknown_0300485C = sub_808AB90;
+ gFieldCallback = sub_808AB90;
gUnknown_03005CE4 = sub_810B5D8;
return TRUE;
}
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 8c2b63469..986412826 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -29,7 +29,7 @@ EWRAM_DATA u8 gNumSafariBalls = 0;
EWRAM_DATA static u16 gSafariZoneStepCounter = 0;
EWRAM_DATA static struct PokeblockFeeder gPokeblockFeeders[NUM_POKEBLOCK_FEEDERS] = {0};
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern u8 gUnknown_081C340A;
extern u8 gUnknown_081C342D;
@@ -103,7 +103,7 @@ void sub_80C824C(void)
{
ScriptContext2_RunNewScript(&gUnknown_081C340A);
warp_in();
- gUnknown_0300485C = sub_8080E44;
+ gFieldCallback = sub_8080E44;
SetMainCallback2(CB2_LoadMap);
}
else if (gUnknown_02024D26 == 7)
diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c
index 9e833ec34..ee140187f 100644
--- a/src/script_pokemon_util_80F99CC.c
+++ b/src/script_pokemon_util_80F99CC.c
@@ -18,7 +18,7 @@ extern u16 gSpecialVar_0x8005;
extern u8 gUnknown_02038694;
extern u16 gScriptResult;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern void OpenPartyMenu(u8, u8);
extern void TryCreatePartyMenuMonIcon(u8, u8, struct Pokemon *);
@@ -284,7 +284,7 @@ void sub_80F9EEC(void)
{
sub_809D9F0(&gPlayerParty[0], gSpecialVar_0x8004, gPlayerPartyCount - 1, c2_exit_to_overworld_2_switch, 0);
unk_2018000.unk8 = 3;
- gUnknown_0300485C = sub_8080990;
+ gFieldCallback = sub_8080990;
}
void sub_80F9F3C(void) // count pokemon moves
diff --git a/src/secret_base.c b/src/secret_base.c
index aae3853f9..adcd47d66 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -250,7 +250,7 @@ void sub_80BBA48(u8 taskid)
gSaveBlock1.secretBases[curbaseid].sbr_field_10 ++;
sub_80BBA14();
warp_in();
- gUnknown_0300485C = sub_8080990;
+ gFieldCallback = sub_8080990;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskid);
break;
@@ -299,7 +299,7 @@ void sub_80BBBEC(u8 taskid)
idx = 4 * (gUnknown_020387DC / 10);
warp1_set(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]);
warp_in();
- gUnknown_0300485C = sub_80BBB90;
+ gFieldCallback = sub_80BBB90;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskid);
}
@@ -793,7 +793,7 @@ void sub_80BC074(u8 taskid)
case 2:
copy_saved_warp2_bank_and_enter_x_to_warp1(0x7E);
warp_in();
- gUnknown_0300485C = mapldr_default;
+ gFieldCallback = mapldr_default;
SetMainCallback2(CB2_LoadMap);
ScriptContext2_Disable();
DestroyTask(taskid);