tm_case documentation, 3

This commit is contained in:
PikalaxALT
2019-04-15 13:26:24 -04:00
parent dfbddec062
commit 0f56927039
2 changed files with 41 additions and 41 deletions
+2 -2
View File
@@ -4835,7 +4835,7 @@ _0810A4BC: .4byte gUnknown_841630F
_0810A4C0: .4byte sub_810A1D0
_0810A4C4:
movs r0, 0xB6
lsls r0, 1
lsls r0, 1 @ ITEM_TM_CASE
cmp r4, r0
bne _0810A4D4
ldr r0, _0810A4D0 @ =sub_810A52C
@@ -4843,7 +4843,7 @@ _0810A4C4:
.align 2, 0
_0810A4D0: .4byte sub_810A52C
_0810A4D4:
ldr r0, _0810A4E8 @ =0x0000016d
ldr r0, _0810A4E8 @ =0x0000016d @ ITEM_BERRY_POUCH
cmp r4, r0
bne _0810A4F0
ldr r0, _0810A4EC @ =sub_810A540
+39 -39
View File
@@ -85,10 +85,10 @@ static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *
static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y);
static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex);
static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1);
static void sub_8132018(void);
static void sub_81320BC(void);
static void sub_8132120(void);
static void sub_8132170(void);
static void CreateTMCaseScrollIndicatorArrowPair_Main(void);
static void TMCaseSetup_GetTMCount(void);
static void TMCaseSetup_InitListMenuPositions(void);
static void TMCaseSetup_UpdateVisualMenuOffset(void);
static void Task_FadeOutAndCloseTMCase(u8 taskId);
static void Task_TMCaseMain(u8 taskId);
static void Task_SelectTMAction_FromFieldBag(u8 taskId);
@@ -97,18 +97,18 @@ static void TMHMContextMenuAction_Use(u8 taskId);
static void TMHMContextMenuAction_Give(u8 taskId);
static void PrintError_ThereIsNoPokemon(u8 taskId);
static void PrintError_ItemCantBeHeld(u8 taskId);
static void sub_8132758(u8 taskId);
static void sub_8132780(u8 taskId);
static void Task_WaitButtonAfterErrorPrint(u8 taskId);
static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId);
static void TMHMContextMenuAction_Exit(u8 taskId);
static void sub_8132868(u8 taskId);
static void sub_81328B8(u8 taskId);
static void Task_SelectTMAction_Type1(u8 taskId);
static void Task_SelectTMAction_Type3(u8 taskId);
static void Task_SelectTMAction_FromSellMenu(u8 taskId);
static void Task_AskConfirmSaleWithAmount(u8 taskId);
static void Task_PlaceYesNoBox(u8 taskId);
static void Task_SaleOfTMsCancelled(u8 taskId);
static void Task_InitQuantitySelectUI(u8 taskId);
static void sub_8132B5C(s16 quantity, s32 value);
static void sub_8132BC8(u8 taskId);
static void SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 value);
static void Task_QuantitySelect_HandleInput(u8 taskId);
static void Task_PrintSaleConfirmedText(u8 taskId);
static void Task_DoSaleOfTMs(u8 taskId);
static void Task_AfterSale_ReturnToList(u8 taskId);
@@ -165,9 +165,9 @@ static const struct BgTemplate sBGTemplates[] = {
static void (*const sSelectTMActionTasks[])(u8 taskId) = {
Task_SelectTMAction_FromFieldBag,
sub_8132868,
Task_SelectTMAction_Type1,
Task_SelectTMAction_FromSellMenu,
sub_81328B8
Task_SelectTMAction_Type3
};
static const struct MenuAction sMenuActions_UseGiveExit[] = {
@@ -363,9 +363,9 @@ static bool8 DoSetUpTMCaseUI(void)
gMain.state++;
break;
case 10:
sub_81320BC();
sub_8132120();
sub_8132170();
TMCaseSetup_GetTMCount();
TMCaseSetup_InitListMenuPositions();
TMCaseSetup_UpdateVisualMenuOffset();
gMain.state++;
break;
case 11:
@@ -390,7 +390,7 @@ static bool8 DoSetUpTMCaseUI(void)
gMain.state++;
break;
case 15:
sub_8132018();
CreateTMCaseScrollIndicatorArrowPair_Main();
gMain.state++;
break;
case 16:
@@ -617,12 +617,12 @@ static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1)
}
}
static void sub_8132018(void)
static void CreateTMCaseScrollIndicatorArrowPair_Main(void)
{
sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset);
}
static void sub_8132054(void)
static void CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(void)
{
sTMCaseDynamicResources->currItem = 1;
sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem);
@@ -643,7 +643,7 @@ void ResetTMCaseCursorPos(void)
sTMCaseStaticResources.scrollOffset = 0;
}
static void sub_81320BC(void)
static void TMCaseSetup_GetTMCount(void)
{
struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1];
u16 i;
@@ -659,7 +659,7 @@ static void sub_81320BC(void)
sTMCaseDynamicResources->maxTMsShown = min(sTMCaseDynamicResources->numTMs + 1, 5);
}
static void sub_8132120(void)
static void TMCaseSetup_InitListMenuPositions(void)
{
if (sTMCaseStaticResources.scrollOffset != 0)
{
@@ -675,7 +675,7 @@ static void sub_8132120(void)
}
}
static void sub_8132170(void)
static void TMCaseSetup_UpdateVisualMenuOffset(void)
{
u8 i;
if (sTMCaseStaticResources.selectedRow > 3)
@@ -774,7 +774,7 @@ static void Task_TMCaseMain(u8 taskId)
static void Subtask_ReturnToTMCaseMain(u8 taskId)
{
FillBG2RowWithPalette_2timesNplus1(0);
sub_8132018();
CreateTMCaseScrollIndicatorArrowPair_Main();
gTasks[taskId].func = Task_TMCaseMain;
}
@@ -886,26 +886,26 @@ static void TMHMContextMenuAction_Give(u8 taskId)
static void PrintError_ThereIsNoPokemon(u8 taskId)
{
TMCase_PrintMessageWithFollowupTask(taskId, 2, gText_ThereIsNoPokemon, sub_8132758);
TMCase_PrintMessageWithFollowupTask(taskId, 2, gText_ThereIsNoPokemon, Task_WaitButtonAfterErrorPrint);
}
static void PrintError_ItemCantBeHeld(u8 taskId)
{
CopyItemName(gSpecialVar_ItemId, gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_ItemCantBeHeld);
TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, sub_8132758);
TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, Task_WaitButtonAfterErrorPrint);
}
static void sub_8132758(u8 taskId)
static void Task_WaitButtonAfterErrorPrint(u8 taskId)
{
if (JOY_NEW(A_BUTTON))
{
PlaySE(SE_SELECT);
sub_8132780(taskId);
Subtask_CloseContextMenuAndReturnToMain(taskId);
}
}
static void sub_8132780(u8 taskId)
static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId)
{
s16 * data = gTasks[taskId].data;
@@ -939,7 +939,7 @@ static void TMHMContextMenuAction_Exit(u8 taskId)
Subtask_ReturnToTMCaseMain(taskId);
}
static void sub_8132868(u8 taskId)
static void Task_SelectTMAction_Type1(u8 taskId)
{
s16 * data = gTasks[taskId].data;
@@ -954,7 +954,7 @@ static void sub_8132868(u8 taskId)
}
}
static void sub_81328B8(u8 taskId)
static void Task_SelectTMAction_Type3(u8 taskId)
{
s16 * data = gTasks[taskId].data;
@@ -977,7 +977,7 @@ static void Task_SelectTMAction_FromSellMenu(u8 taskId)
{
CopyItemName(gSpecialVar_ItemId, gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat);
TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, sub_8132780);
TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain);
}
else
{
@@ -1037,15 +1037,15 @@ static void Task_InitQuantitySelectUI(u8 taskId)
ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2);
StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1);
AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1);
sub_8132B5C(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]);
SellTM_PrintQuantityAndSalePrice(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]);
HandlePrintMoneyOnHand();
sub_8132054();
CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect();
schedule_bg_copy_tilemap_to_vram(0);
schedule_bg_copy_tilemap_to_vram(1);
gTasks[taskId].func = sub_8132BC8;
gTasks[taskId].func = Task_QuantitySelect_HandleInput;
}
static void sub_8132B5C(s16 quantity, s32 amount)
static void SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 amount)
{
FillWindowPixelBuffer(7, 0x11);
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 2);
@@ -1054,13 +1054,13 @@ static void sub_8132B5C(s16 quantity, s32 amount)
PrintMoneyAmount(7, 0x38, 0x0A, amount, 0);
}
static void sub_8132BC8(u8 taskId)
static void Task_QuantitySelect_HandleInput(u8 taskId)
{
s16 * data = gTasks[taskId].data;
if (sub_80BF848(&data[8], data[2]) == 1)
{
sub_8132B5C(data[8], itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]);
SellTM_PrintQuantityAndSalePrice(data[8], itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]);
}
else if (JOY_NEW(A_BUTTON))
{
@@ -1109,8 +1109,8 @@ static void Task_DoSaleOfTMs(u8 taskId)
AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]);
sub_809C09C(gSpecialVar_ItemId, data[8], 2);
DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow);
sub_81320BC();
sub_8132120();
TMCaseSetup_GetTMCount();
TMCaseSetup_InitListMenuPositions();
InitTMCaseListMenuItems();
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow);
PrintListMenuCursorByID_WithColorIdx(data[0], 2);
@@ -1129,7 +1129,7 @@ static void Task_AfterSale_ReturnToList(u8 taskId)
PutWindowTilemap(3);
PutWindowTilemap(4);
PutWindowTilemap(5);
sub_8132780(taskId);
Subtask_CloseContextMenuAndReturnToMain(taskId);
}
}