tm_case through sub_8132F20
This commit is contained in:
-1442
File diff suppressed because it is too large
Load Diff
@@ -48,5 +48,7 @@ void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8);
|
|||||||
|
|
||||||
void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority);
|
void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority);
|
||||||
bool8 IsBlendTaskActive(void);
|
bool8 IsBlendTaskActive(void);
|
||||||
|
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
|
||||||
|
void sub_810F260(u8 windowId, u8 a1);
|
||||||
|
|
||||||
#endif // GUARD_MENU_H
|
#endif // GUARD_MENU_H
|
||||||
|
|||||||
@@ -22,5 +22,7 @@ bool8 sub_80BF72C(void);
|
|||||||
bool8 sub_80BF708(void);
|
bool8 sub_80BF708(void);
|
||||||
void sub_80BF768(void);
|
void sub_80BF768(void);
|
||||||
void sub_80BF7C8(void);
|
void sub_80BF7C8(void);
|
||||||
|
u8 sub_80BF8E4(void);
|
||||||
|
u8 sub_80BF848(s16 * a0, u16 a1);
|
||||||
|
|
||||||
#endif //GUARD_MENU_HELPERS_H
|
#endif //GUARD_MENU_HELPERS_H
|
||||||
|
|||||||
+2
-1
@@ -11,12 +11,13 @@ void RemoveMoney(u32* moneyPtr, u32 toSub);
|
|||||||
bool8 IsEnoughForCostInVar0x8005(void);
|
bool8 IsEnoughForCostInVar0x8005(void);
|
||||||
void SubtractMoneyFromVar0x8005(void);
|
void SubtractMoneyFromVar0x8005(void);
|
||||||
void PrintMoneyAmountInMoneyBoxInMoneyBox(u8 windowId, int amount, u8 speed);
|
void PrintMoneyAmountInMoneyBoxInMoneyBox(u8 windowId, int amount, u8 speed);
|
||||||
void PrintMoneyAmountInMoneyBox(u8 windowId, u8 x, u8 y, int amount, u8 speed);
|
void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed);
|
||||||
void PrintMoneyAmountInMoneyBoxInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount);
|
void PrintMoneyAmountInMoneyBoxInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount);
|
||||||
void ChangeAmountInMoneyBox(int amount);
|
void ChangeAmountInMoneyBox(int amount);
|
||||||
void DrawMoneyBox(int amount, u8 x, u8 y);
|
void DrawMoneyBox(int amount, u8 x, u8 y);
|
||||||
void HideMoneyBox(void);
|
void HideMoneyBox(void);
|
||||||
void AddMoneyLabelObject(u16 x, u16 y);
|
void AddMoneyLabelObject(u16 x, u16 y);
|
||||||
void RemoveMoneyLabelObject(void);
|
void RemoveMoneyLabelObject(void);
|
||||||
|
void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed);
|
||||||
|
|
||||||
#endif // GUARD_MONEY_H
|
#endif // GUARD_MONEY_H
|
||||||
|
|||||||
@@ -12,10 +12,16 @@ enum {
|
|||||||
AILMENT_BRN
|
AILMENT_BRN
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func);
|
||||||
|
|
||||||
bool8 MonKnowsMove(struct Pokemon *, u16);
|
bool8 MonKnowsMove(struct Pokemon *, u16);
|
||||||
void sub_81B58A8(void);
|
void sub_81B58A8(void);
|
||||||
void DoWallyTutorialBagMenu(void);
|
void DoWallyTutorialBagMenu(void);
|
||||||
u8 pokemon_ailments_get_primary(u32 status);
|
u8 pokemon_ailments_get_primary(u32 status);
|
||||||
u16 ItemIdToBattleMoveId(u16 itemId);
|
u16 ItemIdToBattleMoveId(u16 itemId);
|
||||||
|
void sub_8125B40(u8 taskId, TaskFunc func);
|
||||||
|
void sub_8124C8C(void);
|
||||||
|
void sub_8126EDC(void);
|
||||||
|
void c2_8123744(void);
|
||||||
|
|
||||||
#endif // GUARD_PARTY_MENU_H
|
#endif // GUARD_PARTY_MENU_H
|
||||||
|
|||||||
@@ -13,5 +13,6 @@ void CompactPartySlots(void);
|
|||||||
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
|
||||||
void sub_808BCB4(u8 boxId, u8 monPosition);
|
void sub_808BCB4(u8 boxId, u8 monPosition);
|
||||||
u8 * GetBoxNamePtr(u8 boxId);
|
u8 * GetBoxNamePtr(u8 boxId);
|
||||||
|
void sub_808CE60(void);
|
||||||
|
|
||||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||||
|
|||||||
@@ -8,5 +8,6 @@ extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
|
|||||||
void CreatePokemartMenu(const u16 *);
|
void CreatePokemartMenu(const u16 *);
|
||||||
void CreateDecorationShop1Menu(const u16 *);
|
void CreateDecorationShop1Menu(const u16 *);
|
||||||
void CreateDecorationShop2Menu(const u16 *);
|
void CreateDecorationShop2Menu(const u16 *);
|
||||||
|
void sub_809C09C(u16, u16, u8);
|
||||||
|
|
||||||
#endif // GUARD_SHOP_H
|
#endif // GUARD_SHOP_H
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#ifndef GUARD_TEACHY_TV_H
|
||||||
|
#define GUARD_TEACHY_TV_H
|
||||||
|
|
||||||
|
void sub_815ABFC(void);
|
||||||
|
|
||||||
|
#endif //GUARD_TEACHY_TV_H
|
||||||
+490
-12
@@ -11,6 +11,12 @@
|
|||||||
#include "new_menu_helpers.h"
|
#include "new_menu_helpers.h"
|
||||||
#include "list_menu.h"
|
#include "list_menu.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
|
#include "item_menu.h"
|
||||||
|
#include "link.h"
|
||||||
|
#include "money.h"
|
||||||
|
#include "shop.h"
|
||||||
|
#include "teachy_tv.h"
|
||||||
|
#include "pokemon_storage_system.h"
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "party_menu.h"
|
#include "party_menu.h"
|
||||||
#include "data2.h"
|
#include "data2.h"
|
||||||
@@ -39,7 +45,8 @@ struct UnkStruct_203B118
|
|||||||
u8 unk_07;
|
u8 unk_07;
|
||||||
u8 unk_08;
|
u8 unk_08;
|
||||||
u16 unk_0a;
|
u16 unk_0a;
|
||||||
u8 filler_0c[6];
|
const u8 * unk_0c;
|
||||||
|
u8 unk_10;
|
||||||
s16 unk_12;
|
s16 unk_12;
|
||||||
u8 filler_14[8];
|
u8 filler_14[8];
|
||||||
};
|
};
|
||||||
@@ -78,34 +85,70 @@ void sub_8132120(void);
|
|||||||
void sub_8132170(void);
|
void sub_8132170(void);
|
||||||
void sub_813226C(u8 taskId);
|
void sub_813226C(u8 taskId);
|
||||||
void sub_81322D4(u8 taskId);
|
void sub_81322D4(u8 taskId);
|
||||||
|
void sub_8132568(u8 taskId);
|
||||||
|
void sub_81326F8(u8 taskId);
|
||||||
|
void sub_8132714(u8 taskId);
|
||||||
|
void sub_8132758(u8 taskId);
|
||||||
|
void sub_8132780(u8 taskId);
|
||||||
|
void sub_81329C4(u8 taskId);
|
||||||
|
void sub_8132A34(u8 taskId);
|
||||||
|
void sub_8132AAC(u8 taskId);
|
||||||
|
void sub_8132B5C(s16 quantity, s32 value);
|
||||||
|
void sub_8132BC8(u8 taskId);
|
||||||
|
void sub_8132D34(u8 taskId);
|
||||||
|
void sub_8132E0C(u8 taskId);
|
||||||
void sub_8132F20(u8 taskId);
|
void sub_8132F20(u8 taskId);
|
||||||
|
void sub_8132F60(u8 taskId);
|
||||||
void sub_8133244(void);
|
void sub_8133244(void);
|
||||||
void sub_81332EC(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
void sub_81332EC(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
||||||
|
void sub_8133354(u8 windowId);
|
||||||
|
void sub_8133368(u8 windowId);
|
||||||
|
void sub_813337C(u8 taskId, u8 windowId, const u8 * str, TaskFunc func);
|
||||||
void sub_81333C4(void);
|
void sub_81333C4(void);
|
||||||
void sub_8133404(void);
|
void sub_8133404(void);
|
||||||
void sub_8133444(u16 itemId);
|
void sub_8133444(u16 itemId);
|
||||||
void sub_81335B0(u8 windowId, u8 x, u8 y);
|
void sub_81335B0(u8 windowId, u8 x, u8 y);
|
||||||
|
void sub_81335E0(void);
|
||||||
|
void sub_8133604(u8 taskId, const u8 *const *ptrs);
|
||||||
|
u8 sub_8133630(u8 * a0, u8 a1);
|
||||||
|
void sub_8133664(u8 * a0);
|
||||||
u8 sub_813368C(u16 itemId);
|
u8 sub_813368C(u16 itemId);
|
||||||
void sub_81337E4(u8 a0, u16 itemId);
|
void sub_81337E4(u8 a0, u16 itemId);
|
||||||
void sub_81338A8(void);
|
void sub_81338A8(void);
|
||||||
|
|
||||||
|
// event scripts
|
||||||
|
extern const u8 gUnknown_8416226[];
|
||||||
|
extern const u8 gFameCheckerText_ListMenuCursor[];
|
||||||
|
extern const u8 gUnknown_84162B9[];
|
||||||
|
extern const u8 gUnknown_8416301[];
|
||||||
|
extern const u8 gUnknown_841632A[];
|
||||||
|
extern const u8 gUnknown_841635E[];
|
||||||
|
extern const u8 gUnknown_84166DB[];
|
||||||
|
extern const u8 gUnknown_84166E1[];
|
||||||
|
extern const u8 gUnknown_84166FF[];
|
||||||
|
extern const u8 gUnknown_8416703[];
|
||||||
|
extern const u8 gUnknown_84168F1[];
|
||||||
|
extern const u8 gUnknown_8416911[];
|
||||||
|
extern const u8 gUnknown_8416936[];
|
||||||
|
extern const u8 gUnknown_8416959[];
|
||||||
|
|
||||||
|
// my rodata
|
||||||
extern const struct BgTemplate gUnknown_8463134[3];
|
extern const struct BgTemplate gUnknown_8463134[3];
|
||||||
|
extern void (*const gUnknown_8463140[])(u8 taskId);
|
||||||
|
extern const struct MenuAction gUnknown_8463150[];
|
||||||
|
extern const u8 gUnknown_8463168[];
|
||||||
|
extern const u8 gUnknown_846316B[];
|
||||||
|
extern const u8 *const gUnknown_8463170[];
|
||||||
|
extern const u8 gUnknown_8463178[];
|
||||||
|
extern const u8 gUnknown_846317C[];
|
||||||
|
extern const struct CompressedSpriteSheet gUnknown_8463218;
|
||||||
|
|
||||||
|
// graphics
|
||||||
extern const u32 gUnknown_8E845D8[];
|
extern const u32 gUnknown_8E845D8[];
|
||||||
extern const u32 gUnknown_8E84A24[];
|
extern const u32 gUnknown_8E84A24[];
|
||||||
extern const u32 gUnknown_8E84B70[];
|
extern const u32 gUnknown_8E84B70[];
|
||||||
extern const u32 gUnknown_8E84CB0[];
|
extern const u32 gUnknown_8E84CB0[];
|
||||||
extern const u32 gUnknown_8E84D20[];
|
extern const u32 gUnknown_8E84D20[];
|
||||||
extern const struct CompressedSpriteSheet gUnknown_8463218;
|
|
||||||
extern const u8 gUnknown_8463178[];
|
|
||||||
extern const u8 gUnknown_846317C[];
|
|
||||||
|
|
||||||
extern const u8 gUnknown_8416226[];
|
|
||||||
extern const u8 gFameCheckerText_ListMenuCursor[];
|
|
||||||
extern const u8 gUnknown_84162B9[];
|
|
||||||
extern const u8 gUnknown_84166DB[];
|
|
||||||
extern const u8 gUnknown_84166E1[];
|
|
||||||
extern const u8 gUnknown_84166FF[];
|
|
||||||
extern const u8 gUnknown_8416703[];
|
|
||||||
|
|
||||||
void sub_81317F8(u8 a0, void (* a1)(void), u8 a2)
|
void sub_81317F8(u8 a0, void (* a1)(void), u8 a2)
|
||||||
{
|
{
|
||||||
@@ -565,3 +608,438 @@ void sub_813226C(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_81322D4(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
s32 input;
|
||||||
|
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
{
|
||||||
|
if (sub_80BF72C() != TRUE)
|
||||||
|
{
|
||||||
|
input = ListMenuHandleInput(data[0]);
|
||||||
|
get_coro_args_x18_x1A(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08);
|
||||||
|
if (JOY_NEW(SELECT_BUTTON) && gUnknown_203B10C.unk_05 == 1)
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gSpecialVar_ItemId = ITEM_NONE;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (input)
|
||||||
|
{
|
||||||
|
case -1:
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gSpecialVar_ItemId = 0;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_8131F64(1);
|
||||||
|
sub_813208C();
|
||||||
|
sub_8131F90(data[0], 2);
|
||||||
|
data[1] = input;
|
||||||
|
data[2] = sub_809A7B4(POCKET_TM_CASE, input);
|
||||||
|
gSpecialVar_ItemId = sub_809A798(POCKET_TM_CASE, input);
|
||||||
|
gTasks[taskId].func = gUnknown_8463140[gUnknown_203B10C.unk_04];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81323E4(u8 taskId)
|
||||||
|
{
|
||||||
|
sub_8131F64(0);
|
||||||
|
sub_8132018();
|
||||||
|
gTasks[taskId].func = sub_81322D4;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132414(u8 taskId)
|
||||||
|
{
|
||||||
|
u8 * strbuf;
|
||||||
|
sub_8133368(2);
|
||||||
|
if (!sub_80BF708() && InUnionRoom() != TRUE)
|
||||||
|
{
|
||||||
|
sub_8133630(&gUnknown_203B118->unk_07, 0);
|
||||||
|
gUnknown_203B118->unk_0c = gUnknown_8463168;
|
||||||
|
gUnknown_203B118->unk_10 = 3;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sub_8133630(&gUnknown_203B118->unk_07, 1);
|
||||||
|
gUnknown_203B118->unk_0c = gUnknown_846316B;
|
||||||
|
gUnknown_203B118->unk_10 = 2;
|
||||||
|
}
|
||||||
|
AddItemMenuActionTextPrinters(gUnknown_203B118->unk_07, 2, GetMenuCursorDimensionByFont(2, 0), 2, 0, GetFontAttribute(2, 1) + 2, gUnknown_203B118->unk_10, gUnknown_8463150, gUnknown_203B118->unk_0c);
|
||||||
|
ProgramAndPlaceMenuCursorOnWindow(gUnknown_203B118->unk_07, 2, 0, 2, GetFontAttribute(2, 1) + 2, gUnknown_203B118->unk_10, 0);
|
||||||
|
strbuf = Alloc(256);
|
||||||
|
sub_8131D48(strbuf, gSpecialVar_ItemId);
|
||||||
|
StringAppend(strbuf, gUnknown_8416301);
|
||||||
|
sub_81332EC(2, 2, strbuf, 0, 2, 1, 0, 0, 1);
|
||||||
|
Free(strbuf);
|
||||||
|
if (itemid_is_unique(gSpecialVar_ItemId))
|
||||||
|
{
|
||||||
|
sub_81335B0(2, 0, 2);
|
||||||
|
CopyWindowToVram(2, 2);
|
||||||
|
}
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
gTasks[taskId].func = sub_8132568;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132568(u8 taskId)
|
||||||
|
{
|
||||||
|
s8 input;
|
||||||
|
|
||||||
|
if (sub_80BF72C() != TRUE)
|
||||||
|
{
|
||||||
|
input = ProcessMenuInputNoWrapAround();
|
||||||
|
switch (input)
|
||||||
|
{
|
||||||
|
case -1:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gUnknown_8463150[gUnknown_203B118->unk_0c[gUnknown_203B118->unk_10 - 1]].func.void_u8(taskId);
|
||||||
|
break;
|
||||||
|
case -2:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
gUnknown_8463150[gUnknown_203B118->unk_0c[input]].func.void_u8(taskId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81325F0(u8 taskId)
|
||||||
|
{
|
||||||
|
sub_8133664(&gUnknown_203B118->unk_07);
|
||||||
|
sub_810F4D8(2, 0);
|
||||||
|
ClearWindowTilemap(2);
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
if (CalculatePlayerPartyCount() == 0)
|
||||||
|
{
|
||||||
|
sub_81326F8(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_3005E98 = sub_8125B40;
|
||||||
|
gUnknown_203B118->unk_00 = sub_8124C8C;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_813265C(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
u16 itemId = sub_809A798(POCKET_TM_CASE, data[1]);
|
||||||
|
sub_8133664(&gUnknown_203B118->unk_07);
|
||||||
|
sub_810F4D8(2, 0);
|
||||||
|
ClearWindowTilemap(2);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
PutWindowTilemap(4);
|
||||||
|
PutWindowTilemap(5);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
if (!itemid_is_unique(itemId))
|
||||||
|
{
|
||||||
|
if (CalculatePlayerPartyCount() == 0)
|
||||||
|
{
|
||||||
|
sub_81326F8(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203B118->unk_00 = sub_8126EDC;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sub_8132714(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81326F8(u8 taskId)
|
||||||
|
{
|
||||||
|
sub_813337C(taskId, 2, gUnknown_841632A, sub_8132758);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132714(u8 taskId)
|
||||||
|
{
|
||||||
|
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_841635E);
|
||||||
|
sub_813337C(taskId, 2, gStringVar4, sub_8132758);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132758(u8 taskId)
|
||||||
|
{
|
||||||
|
if (JOY_NEW(A_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_8132780(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132780(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08);
|
||||||
|
data[0] = ListMenuInit(&gUnknown_3005E70, gUnknown_203B10C.unk_0a, gUnknown_203B10C.unk_08);
|
||||||
|
sub_8131F90(data[0], 1);
|
||||||
|
sub_810F260(6, 0);
|
||||||
|
ClearWindowTilemap(6);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
PutWindowTilemap(4);
|
||||||
|
PutWindowTilemap(5);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
sub_81323E4(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81327FC(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
sub_8133664(&gUnknown_203B118->unk_07);
|
||||||
|
sub_810F4D8(2, 0);
|
||||||
|
ClearWindowTilemap(2);
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
sub_8131F90(data[0], 1);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
PutWindowTilemap(4);
|
||||||
|
PutWindowTilemap(5);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
sub_81323E4(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132868(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!itemid_is_unique(sub_809A798(POCKET_TM_CASE, data[1])))
|
||||||
|
{
|
||||||
|
gUnknown_203B118->unk_00 = c2_8123744;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sub_8132714(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81328B8(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!itemid_is_unique(sub_809A798(POCKET_TM_CASE, data[1])))
|
||||||
|
{
|
||||||
|
gUnknown_203B118->unk_00 = sub_808CE60;
|
||||||
|
sub_8132230(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sub_8132714(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132908(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (itemid_get_market_price(gSpecialVar_ItemId) == 0)
|
||||||
|
{
|
||||||
|
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_84168F1);
|
||||||
|
sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132780);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data[8] = 1;
|
||||||
|
if (data[2] == 1)
|
||||||
|
{
|
||||||
|
sub_81335E0();
|
||||||
|
sub_81329C4(taskId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (data[2] > 99)
|
||||||
|
data[2] = 99;
|
||||||
|
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8416911);
|
||||||
|
sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132AAC);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81329C4(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8416936);
|
||||||
|
sub_813337C(taskId, sub_80BF8E4(), gStringVar4, sub_8132A34);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132A34(u8 taskId)
|
||||||
|
{
|
||||||
|
sub_8133604(taskId, gUnknown_8463170);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132A48(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
sub_810F4D8(8, 0);
|
||||||
|
sub_810F260(6, 0);
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
PutWindowTilemap(3);
|
||||||
|
PutWindowTilemap(4);
|
||||||
|
PutWindowTilemap(5);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
sub_8131F90(data[0], 1);
|
||||||
|
sub_81323E4(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132AAC(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
sub_8133354(7);
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_84162B9);
|
||||||
|
sub_81332EC(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1);
|
||||||
|
sub_8132B5C(1, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8]);
|
||||||
|
sub_81335E0();
|
||||||
|
sub_8132054();
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
gTasks[taskId].func = sub_8132BC8;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132B5C(s16 quantity, s32 amount)
|
||||||
|
{
|
||||||
|
FillWindowPixelBuffer(7, 0x11);
|
||||||
|
ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 2);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_84162B9);
|
||||||
|
sub_81332EC(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1);
|
||||||
|
PrintMoneyAmount(7, 0x38, 0x0A, amount, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132BC8(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (sub_80BF848(&data[8], data[2]) == 1)
|
||||||
|
{
|
||||||
|
sub_8132B5C(data[8], itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8]);
|
||||||
|
}
|
||||||
|
else if (JOY_NEW(A_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_810F4D8(7, 0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
sub_813208C();
|
||||||
|
sub_81329C4(taskId);
|
||||||
|
}
|
||||||
|
else if (JOY_NEW(B_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_810F4D8(7, 0);
|
||||||
|
sub_810F4D8(8, 0);
|
||||||
|
sub_810F260(6, 0);
|
||||||
|
PutWindowTilemap(3);
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
sub_813208C();
|
||||||
|
sub_8131F90(data[0], 1);
|
||||||
|
sub_81323E4(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132CAC(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
PutWindowTilemap(0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||||
|
ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(sub_809A798(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8416959);
|
||||||
|
sub_813337C(taskId, 2, gStringVar4, sub_8132D34);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132D34(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
PlaySE(0xF8);
|
||||||
|
RemoveBagItem(gSpecialVar_ItemId, data[8]);
|
||||||
|
AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]);
|
||||||
|
sub_809C09C(gSpecialVar_ItemId, data[8], 2);
|
||||||
|
sub_810713C(data[0], &gUnknown_203B10C.unk_0a, &gUnknown_203B10C.unk_08);
|
||||||
|
sub_81320BC();
|
||||||
|
sub_8132120();
|
||||||
|
sub_8131C50();
|
||||||
|
data[0] = ListMenuInit(&gUnknown_3005E70, gUnknown_203B10C.unk_0a, gUnknown_203B10C.unk_08);
|
||||||
|
sub_8131F90(data[0], 2);
|
||||||
|
PrintMoneyAmountInMoneyBox(8, GetMoney(&gSaveBlock1Ptr->money), 0);
|
||||||
|
gTasks[taskId].func = sub_8132E0C;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132E0C(u8 taskId)
|
||||||
|
{
|
||||||
|
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
|
||||||
|
{
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
sub_810F4D8(8, 0);
|
||||||
|
sub_810F260(6, 0);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
PutWindowTilemap(3);
|
||||||
|
PutWindowTilemap(4);
|
||||||
|
PutWindowTilemap(5);
|
||||||
|
sub_8132780(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132E64(void)
|
||||||
|
{
|
||||||
|
gUnknown_203B11C = AllocZeroed(sizeof(*gUnknown_203B11C));
|
||||||
|
memcpy(gUnknown_203B11C->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||||
|
memcpy(gUnknown_203B11C->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||||
|
gUnknown_203B11C->unk_160 = gUnknown_203B10C.unk_08;
|
||||||
|
gUnknown_203B11C->unk_162 = gUnknown_203B10C.unk_0a;
|
||||||
|
ClearItemSlots(gSaveBlock1Ptr->bagPocket_TMHM, NELEMS(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||||
|
ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, NELEMS(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||||
|
sub_81320AC();
|
||||||
|
AddBagItem(ITEM_TM01, 1);
|
||||||
|
AddBagItem(ITEM_TM03, 1);
|
||||||
|
AddBagItem(ITEM_TM09, 1);
|
||||||
|
AddBagItem(ITEM_TM35, 1);
|
||||||
|
sub_81317F8(4, sub_815ABFC, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8132F20(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
{
|
||||||
|
data[8] = 0;
|
||||||
|
data[9] = 0;
|
||||||
|
gTasks[taskId].func = sub_8132F60;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user