summaryrefslogtreecommitdiff
path: root/src/item_use.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/item_use.c')
-rw-r--r--src/item_use.c80
1 files changed, 38 insertions, 42 deletions
diff --git a/src/item_use.c b/src/item_use.c
index 5682392a1..086f9d0c4 100644
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "gflib.h"
#include "battle.h"
#include "berry_pouch.h"
#include "berry_powder.h"
@@ -17,19 +18,14 @@
#include "item_use.h"
#include "itemfinder.h"
#include "mail.h"
-#include "main.h"
-#include "malloc.h"
#include "event_object_lock.h"
#include "metatile_behavior.h"
#include "new_menu_helpers.h"
#include "overworld.h"
-#include "palette.h"
#include "party_menu.h"
#include "quest_log.h"
#include "region_map.h"
#include "script.h"
-#include "sound.h"
-#include "string_util.h"
#include "strings.h"
#include "task.h"
#include "teachy_tv.h"
@@ -45,9 +41,9 @@
static EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
-static void sub_80A1084(void);
-static void sub_80A109C(u8 taskId);
-static void sub_80A112C(u8 taskId);
+static void FieldCB_FadeInFromBlack(void);
+static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId);
+static void Task_ItemUse_CloseMessageBoxAndReturnToField(u8 taskId);
static void sub_80A11C0(u8 taskId);
static bool8 sub_80A1194(void);
static void sub_80A1208(void);
@@ -130,14 +126,14 @@ static const u8 sUnref_83E27B4[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-static void (*const gUnknown_83E2954[])(void) = {
+static void (*const sExitCallbackByItemType[])(void) = {
CB2_ShowPartyMenuForItemUse,
CB2_ReturnToField,
NULL,
NULL
};
-static void sub_80A0FBC(u8 taskId)
+static void Task_FadeOuFromBackToField(u8 taskId)
{
u8 itemType;
if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY)
@@ -146,12 +142,12 @@ static void sub_80A0FBC(u8 taskId)
itemType = ItemId_GetType(gSpecialVar_ItemId) - 1;
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH)
{
- BerryPouch_SetExitCallback(gUnknown_83E2954[itemType]);
+ BerryPouch_SetExitCallback(sExitCallbackByItemType[itemType]);
BerryPouch_StartFadeToExitCallback(taskId);
}
else
{
- ItemMenu_SetExitCallback(gUnknown_83E2954[itemType]);
+ ItemMenu_SetExitCallback(sExitCallbackByItemType[itemType]);
if (itemType == 1)
Bag_BeginCloseWin0Animation();
ItemMenu_StartFadeToExitCallback(taskId);
@@ -162,20 +158,20 @@ static void sub_80A103C(u8 taskId)
{
if (gTasks[taskId].data[3] != 1)
{
- gFieldCallback = sub_80A1084;
- sub_80A0FBC(taskId);
+ gFieldCallback = FieldCB_FadeInFromBlack;
+ Task_FadeOuFromBackToField(taskId);
}
else
sItemUseOnFieldCB(taskId);
}
-static void sub_80A1084(void)
+static void FieldCB_FadeInFromBlack(void)
{
FadeInFromBlack();
- CreateTask(sub_80A109C, 8);
+ CreateTask(Task_WaitFadeIn_CallItemUseOnFieldCB, 8);
}
-static void sub_80A109C(u8 taskId)
+static void Task_WaitFadeIn_CallItemUseOnFieldCB(u8 taskId)
{
if (IsWeatherNotFadingIn() == TRUE)
{
@@ -183,25 +179,25 @@ static void sub_80A109C(u8 taskId)
}
}
-static void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
+static void DisplayItemMessageInCurrentContext(u8 taskId, bool8 inField, u8 textSpeed, const u8 * str)
{
StringExpandPlaceholders(gStringVar4, str);
- if (a1 == FALSE)
- DisplayItemMessageInBag(taskId, a2, gStringVar4, Task_ReturnToBagFromContextMenu);
+ if (inField == FALSE)
+ DisplayItemMessageInBag(taskId, textSpeed, gStringVar4, Task_ReturnToBagFromContextMenu);
else
- DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
+ DisplayItemMessageOnField(taskId, textSpeed, gStringVar4, Task_ItemUse_CloseMessageBoxAndReturnToField);
}
-static void sub_80A1110(u8 taskId, bool8 a1)
+static void PrintNotTheTimeToUseThat(u8 taskId, bool8 inField)
{
- sub_80A10C4(taskId, a1, 4, gUnknown_8416425);
+ DisplayItemMessageInCurrentContext(taskId, inField, 4, gText_OakForbidsUseOfItemHere);
}
-static void sub_80A112C(u8 taskId)
+static void Task_ItemUse_CloseMessageBoxAndReturnToField(u8 taskId)
{
ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId);
- sub_80696C0();
+ ClearPlayerHeldMovementAndUnfreezeObjectEvents();
ScriptContext2_Disable();
}
@@ -267,14 +263,14 @@ void FieldUseFunc_MachBike(u8 taskId)
|| MetatileBehavior_IsHorizontalRail(behavior) == TRUE
|| MetatileBehavior_IsIsolatedVerticalRail(behavior) == TRUE
|| MetatileBehavior_IsIsolatedHorizontalRail(behavior) == TRUE)
- sub_80A10C4(taskId, gTasks[taskId].data[3], 2, gUnknown_8416451);
+ DisplayItemMessageInCurrentContext(taskId, gTasks[taskId].data[3], 2, gUnknown_8416451);
else if (Overworld_IsBikingAllowed() == TRUE && !MetatileAtPlayerPositionForbidsBiking())
{
sItemUseOnFieldCB = ItemUseOnFieldCB_Bicycle;
sub_80A103C(taskId);
}
else
- sub_80A1110(taskId, gTasks[taskId].data[3]);
+ PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
}
static void ItemUseOnFieldCB_Bicycle(u8 taskId)
@@ -282,7 +278,7 @@ static void ItemUseOnFieldCB_Bicycle(u8 taskId)
if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
PlaySE(SE_JITENSYA);
StartTransitionToFlipBikeState(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE);
- sub_80696C0();
+ ClearPlayerHeldMovementAndUnfreezeObjectEvents();
ScriptContext2_Disable();
DestroyTask(taskId);
}
@@ -295,7 +291,7 @@ void FieldUseFunc_OldRod(u8 taskId)
sub_80A103C(taskId);
}
else
- sub_80A1110(taskId, gTasks[taskId].data[3]);
+ PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
}
static bool8 ItemUseCheckFunc_Rod(void)
@@ -346,7 +342,7 @@ void FieldUseFunc_CoinCase(u8 taskId)
if (gTasks[taskId].data[3] == 0)
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
else
- DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
+ DisplayItemMessageOnField(taskId, 2, gStringVar4, Task_ItemUse_CloseMessageBoxAndReturnToField);
}
void FieldUseFunc_PowderJar(u8 taskId)
@@ -357,7 +353,7 @@ void FieldUseFunc_PowderJar(u8 taskId)
if (gTasks[taskId].data[3] == 0)
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
else
- DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
+ DisplayItemMessageOnField(taskId, 2, gStringVar4, Task_ItemUse_CloseMessageBoxAndReturnToField);
}
void FieldUseFunc_PokeFlute(u8 taskId)
@@ -385,7 +381,7 @@ void FieldUseFunc_PokeFlute(u8 taskId)
if (gTasks[taskId].data[3] == 0)
DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, Task_ReturnToBagFromContextMenu);
else
- DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C);
+ DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, Task_ItemUse_CloseMessageBoxAndReturnToField);
}
}
@@ -402,13 +398,13 @@ static void sub_80A1674(u8 taskId)
if (gTasks[taskId].data[3] == 0)
DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, Task_ReturnToBagFromContextMenu);
else
- DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C);
+ DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, Task_ItemUse_CloseMessageBoxAndReturnToField);
}
}
static void sub_80A16D0(u8 taskId)
{
- sub_80A0FBC(taskId);
+ Task_FadeOuFromBackToField(taskId);
}
void FieldUseFunc_Medicine(u8 taskId)
@@ -444,7 +440,7 @@ void FieldUseFunc_EvoItem(u8 taskId)
void FieldUseFunc_SacredAsh(u8 taskId)
{
gItemUseCB = ItemUseCB_SacredAsh;
- sub_80A0FBC(taskId);
+ Task_FadeOuFromBackToField(taskId);
}
void FieldUseFunc_TmCase(u8 taskId)
@@ -633,7 +629,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId)
sub_80A103C(taskId);
}
else
- sub_80A1110(taskId, gTasks[taskId].data[3]);
+ PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
}
static void sub_80A1C08(u8 taskId)
@@ -725,7 +721,7 @@ void FieldUseFunc_VsSeeker(u8 taskId)
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(THREE_ISLAND_BERRY_FOREST)
|| gSaveBlock1Ptr->location.mapNum == MAP_NUM(SIX_ISLAND_PATTERN_BUSH))))
{
- sub_80A1110(taskId, gTasks[taskId].data[3]);
+ PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
}
else
{
@@ -734,9 +730,9 @@ void FieldUseFunc_VsSeeker(u8 taskId)
}
}
-void sub_80A1E0C(u8 taskId)
+void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8 taskId)
{
- sub_80A112C(taskId);
+ Task_ItemUse_CloseMessageBoxAndReturnToField(taskId);
}
void BattleUseFunc_PokeBallEtc(u8 taskId)
@@ -835,7 +831,7 @@ void BattleUseFunc_PokeDoll(u8 taskId)
DisplayItemMessageInBag(taskId, 2, gStringVar4, ItemMenu_StartFadeToExitCallback);
}
else
- sub_80A1110(taskId, 0);
+ PrintNotTheTimeToUseThat(taskId, 0);
}
void ItemUseOutOfBattle_EnigmaBerry(u8 taskId)
@@ -911,11 +907,11 @@ void FieldUseFunc_OakStopsYou(u8 taskId)
{
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_8416425);
+ StringExpandPlaceholders(gStringVar4, gText_OakForbidsUseOfItemHere);
DisplayItemMessageInBerryPouch(taskId, 4, gStringVar4, Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu);
}
else
- sub_80A1110(taskId, gTasks[taskId].data[3]);
+ PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
}
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon * pokemon, u16 itemId, u16 param)