Swap two fields in player PC struct

This commit is contained in:
PikalaxALT
2021-07-17 20:27:44 -04:00
parent 00c0cb05b0
commit 864d371c25
4 changed files with 14 additions and 14 deletions
+1 -1
View File
@@ -8,8 +8,8 @@
struct PlayerPCItemPageStruct struct PlayerPCItemPageStruct
{ {
u16 cursorPos;
u16 itemsAbove; u16 itemsAbove;
u16 cursorPos;
u8 pageItems; u8 pageItems;
u8 count; u8 count;
u8 filler_6[3]; u8 filler_6[3];
+2 -2
View File
@@ -120,7 +120,7 @@ u8 MailboxPC_InitListMenu(struct PlayerPCItemPageStruct * playerPcStruct)
gMultiuseListMenuTemplate.itemPrintFunc = ItemPrintFunc; gMultiuseListMenuTemplate.itemPrintFunc = ItemPrintFunc;
gMultiuseListMenuTemplate.cursorKind = 0; gMultiuseListMenuTemplate.cursorKind = 0;
gMultiuseListMenuTemplate.scrollMultiple = 0; gMultiuseListMenuTemplate.scrollMultiple = 0;
return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->itemsAbove, playerPcStruct->cursorPos); return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->cursorPos, playerPcStruct->itemsAbove);
} }
static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list) static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
@@ -131,7 +131,7 @@ static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
void MailboxPC_AddScrollIndicatorArrows(struct PlayerPCItemPageStruct * playerPcStruct) void MailboxPC_AddScrollIndicatorArrows(struct PlayerPCItemPageStruct * playerPcStruct)
{ {
playerPcStruct->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->count - playerPcStruct->pageItems + 1, 110, 110, &playerPcStruct->itemsAbove); playerPcStruct->scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->count - playerPcStruct->pageItems + 1, 110, 110, &playerPcStruct->cursorPos);
} }
void MailboxPC_DestroyListMenuBuffer(void) void MailboxPC_DestroyListMenuBuffer(void)
+1 -1
View File
@@ -5665,7 +5665,7 @@ static void TryGiveMailToSelectedMon(u8 taskId)
struct MailStruct *mail; struct MailStruct *mail;
gPartyMenuUseExitCallback = FALSE; gPartyMenuUseExitCallback = FALSE;
mail = &gSaveBlock1Ptr->mail[gPlayerPcMenuManager.itemsAbove + 6 + gPlayerPcMenuManager.cursorPos]; mail = &gSaveBlock1Ptr->mail[gPlayerPcMenuManager.cursorPos + 6 + gPlayerPcMenuManager.itemsAbove];
if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE) if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)
{ {
DisplayPartyMenuMessage(gText_PkmnHoldingItemCantHoldMail, TRUE); DisplayPartyMenuMessage(gText_PkmnHoldingItemCantHoldMail, TRUE);
+10 -10
View File
@@ -37,7 +37,7 @@ static EWRAM_DATA const u8 *sItemOrder = NULL;
static EWRAM_DATA u8 sTopMenuItemCount = 0; static EWRAM_DATA u8 sTopMenuItemCount = 0;
EWRAM_DATA struct PlayerPCItemPageStruct gPlayerPcMenuManager = {}; EWRAM_DATA struct PlayerPCItemPageStruct gPlayerPcMenuManager = {};
#define SELECTED_MAIL (gSaveBlock1Ptr->mail[PC_MAIL_NUM(gPlayerPcMenuManager.itemsAbove) + gPlayerPcMenuManager.cursorPos]) #define SELECTED_MAIL (gSaveBlock1Ptr->mail[PC_MAIL_NUM(gPlayerPcMenuManager.cursorPos) + gPlayerPcMenuManager.itemsAbove])
static void Task_DrawPlayerPcTopMenu(u8 taskId); static void Task_DrawPlayerPcTopMenu(u8 taskId);
static void Task_TopMenuHandleInput(u8 taskId); static void Task_TopMenuHandleInput(u8 taskId);
@@ -233,8 +233,8 @@ static void Task_PlayerPcMailbox(u8 taskId)
} }
else else
{ {
gPlayerPcMenuManager.cursorPos = 0;
gPlayerPcMenuManager.itemsAbove = 0; gPlayerPcMenuManager.itemsAbove = 0;
gPlayerPcMenuManager.cursorPos = 0;
PCMailCompaction(); PCMailCompaction();
Task_SetPageItemVars(taskId); Task_SetPageItemVars(taskId);
if (gPlayerPcMenuManager.notInRoom == FALSE) if (gPlayerPcMenuManager.notInRoom == FALSE)
@@ -468,7 +468,7 @@ static void Task_MailboxPcHandleInput(u8 taskId)
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
input = ListMenu_ProcessInput(tListMenuTaskId); input = ListMenu_ProcessInput(tListMenuTaskId);
ListMenuGetScrollAndRow(tListMenuTaskId, &gPlayerPcMenuManager.itemsAbove, &gPlayerPcMenuManager.cursorPos); ListMenuGetScrollAndRow(tListMenuTaskId, &gPlayerPcMenuManager.cursorPos, &gPlayerPcMenuManager.itemsAbove);
switch (input) switch (input)
{ {
case -1: case -1:
@@ -482,7 +482,7 @@ static void Task_MailboxPcHandleInput(u8 taskId)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
MailboxPC_RemoveWindow(0); MailboxPC_RemoveWindow(0);
MailboxPC_RemoveWindow(1); MailboxPC_RemoveWindow(1);
DestroyListMenuTask(tListMenuTaskId, &gPlayerPcMenuManager.itemsAbove, &gPlayerPcMenuManager.cursorPos); DestroyListMenuTask(tListMenuTaskId, &gPlayerPcMenuManager.cursorPos, &gPlayerPcMenuManager.itemsAbove);
ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(0);
RemoveScrollIndicatorArrowPair(gPlayerPcMenuManager.scrollIndicatorId); RemoveScrollIndicatorArrowPair(gPlayerPcMenuManager.scrollIndicatorId);
gTasks[taskId].func = Task_PrintWhatToDoWithSelectedMail; gTasks[taskId].func = Task_PrintWhatToDoWithSelectedMail;
@@ -640,10 +640,10 @@ static void Task_TryPutMailInBag_DestroyMsgIfSuccessful(u8 taskId)
ClearMailStruct(mail); ClearMailStruct(mail);
PCMailCompaction(); PCMailCompaction();
gPlayerPcMenuManager.count--; gPlayerPcMenuManager.count--;
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.itemsAbove) if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.cursorPos)
{ {
if (gPlayerPcMenuManager.itemsAbove != 0) if (gPlayerPcMenuManager.cursorPos != 0)
gPlayerPcMenuManager.itemsAbove--; gPlayerPcMenuManager.cursorPos--;
} }
Task_SetPageItemVars(taskId); Task_SetPageItemVars(taskId);
} }
@@ -692,10 +692,10 @@ static void CB2_ReturnToMailboxPc_UpdateScrollVariables(void)
PCMailCompaction(); PCMailCompaction();
if (count != gPlayerPcMenuManager.count) if (count != gPlayerPcMenuManager.count)
{ {
if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.itemsAbove) if (gPlayerPcMenuManager.count < gPlayerPcMenuManager.pageItems + gPlayerPcMenuManager.cursorPos)
{ {
if (gPlayerPcMenuManager.itemsAbove != 0) if (gPlayerPcMenuManager.cursorPos != 0)
gPlayerPcMenuManager.itemsAbove--; gPlayerPcMenuManager.cursorPos--;
} }
} }
Task_SetPageItemVars(taskId); Task_SetPageItemVars(taskId);