summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/global.h5
-rw-r--r--include/menu_helpers.h12
-rw-r--r--src/item_use.c25
-rw-r--r--src/player_pc.c6
4 files changed, 28 insertions, 20 deletions
diff --git a/include/global.h b/include/global.h
index 59cbd3b89..f4f9f0048 100644
--- a/include/global.h
+++ b/include/global.h
@@ -76,11 +76,6 @@ struct TextStruct
const u8 *text;
};
-struct FuncStruct
-{
- void *func;
-};
-
struct Coords16
{
s16 x;
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
new file mode 100644
index 000000000..f55a90615
--- /dev/null
+++ b/include/menu_helpers.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_MENU_HELPERS_H
+#define GUARD_MENU_HELPERS_H
+
+struct YesNoFuncTable
+{
+ void (*yesFunc)(u8);
+ void (*noFunc)(u8);
+};
+
+void sub_80F914C(u8, const struct YesNoFuncTable *);
+
+#endif // GUARD_MENU_HELPERS_H
diff --git a/src/item_use.c b/src/item_use.c
index 995901156..762bb70f2 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -11,8 +11,10 @@
#include "item.h"
#include "items.h"
#include "mail.h"
+#include "main.h"
#include "map_obj_lock.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "metatile_behavior.h"
#include "palette.h"
#include "rom4.h"
@@ -60,7 +62,6 @@ extern void DoRareCandyItemEffect(u8);
extern void DoEvolutionStoneItemEffect(u8);
extern u16 ItemIdToBattleMoveId(u16);
extern void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32);
-extern void sub_80F914C(u8, void const *);
extern void sub_80A3E0C(void);
extern void TeachMonTMMove(u8);
extern void sub_80878A8(void);
@@ -112,28 +113,28 @@ void ItemUseOutOfBattle_TMHM(u8);
void ItemUseOutOfBattle_EvolutionStone(u8);
void ItemUseOutOfBattle_CannotUse(u8);
-const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
-const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
+static const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
+static const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな");
-const struct TextStruct gUnknown_083D61DC[2] =
+static const struct TextStruct gUnknown_083D61DC[2] =
{
gSSTidalBetaString,
gSSTidalBetaString2,
};
-const struct FuncStruct gExitToOverworldFuncList[3] =
+static const MainCallback gExitToOverworldFuncList[] =
{
sub_808B020,
c2_exit_to_overworld_2_switch,
sub_810B96C,
};
-const u8 gItemFinderDirections[] = { DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST };
+static const u8 gItemFinderDirections[] = { DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST };
-const struct FuncStruct gUnknown_083D61F4[2] =
+static const struct YesNoFuncTable gUnknown_083D61F4 =
{
- sub_80C9FC0,
- CleanUpItemMenuMessage,
+ .yesFunc = sub_80C9FC0,
+ .noFunc = CleanUpItemMenuMessage,
};
void ExecuteSwitchToOverworldFromItemUse(u8 taskId)
@@ -145,8 +146,8 @@ void ExecuteSwitchToOverworldFromItemUse(u8 taskId)
else
taskData = ItemId_GetType(gScriptItemId) - 1;
- gTasks[taskId].data[8] = (u32)(gExitToOverworldFuncList[taskData].func) >> 16;
- gTasks[taskId].data[9] = (u32)(gExitToOverworldFuncList[taskData].func);
+ gTasks[taskId].data[8] = (u32)gExitToOverworldFuncList[taskData] >> 16;
+ gTasks[taskId].data[9] = (u32)gExitToOverworldFuncList[taskData];
gTasks[taskId].func = HandleItemMenuPaletteFade;
}
@@ -960,7 +961,7 @@ void sub_80C9F80(u8 var)
{
DisplayYesNoMenu(7, 7, 1);
sub_80A3FA0(gBGTilemapBuffers[1], 8, 8, 5, 4, 1);
- sub_80F914C(var, gUnknown_083D61F4);
+ sub_80F914C(var, &gUnknown_083D61F4);
}
void sub_80C9FC0(u8 var)
diff --git a/src/player_pc.c b/src/player_pc.c
index d85f90cc4..1096adc5c 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -5,6 +5,7 @@
#include "items.h"
#include "main.h"
#include "menu.h"
+#include "menu_helpers.h"
#include "palette.h"
#include "script.h"
#include "sound.h"
@@ -36,7 +37,6 @@ extern void sub_813AE0C(u8);
extern void sub_80F996C(u8);
extern void sub_80A418C(u16, enum StringConvertMode, int, int, int);
extern void sub_80F98DC(int);
-extern void sub_80F914C(u8, void const *);
extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
extern void CreateVerticalScrollIndicators(u32, u32, u32); // unknown args
@@ -67,7 +67,7 @@ extern u8 gUnknown_08152C75;
extern u32 gUnknown_08406288[];
extern const struct MenuAction gUnknown_084062C0[];
-extern const struct FuncStruct gUnknown_084062E0[];
+extern const struct YesNoFuncTable gUnknown_084062E0;
void InitPlayerPCMenu(u8 taskId);
void PlayerPCProcessMenuInput(u8 taskId);
@@ -604,7 +604,7 @@ void sub_813A794(u8 taskId)
ConvertIntToDecimalStringN(gStringVar2, data[3], 0, 3);
sub_813AD58(65528);
DisplayYesNoMenu(7, 6, 1);
- sub_80F914C(taskId, gUnknown_084062E0);
+ sub_80F914C(taskId, &gUnknown_084062E0);
}
else
{