Name functions in mailbox_pc

This commit is contained in:
PikalaxALT
2019-10-05 12:25:18 -04:00
parent cb3e751f5f
commit 69cb422b78
3 changed files with 66 additions and 54 deletions
+16 -16
View File
@@ -369,7 +369,7 @@ _080EB95C:
_080EB962: _080EB962:
ldr r0, _080EB990 @ =gUnknown_203AAC4 ldr r0, _080EB990 @ =gUnknown_203AAC4
ldrb r0, [r0, 0x5] ldrb r0, [r0, 0x5]
bl sub_810EB6C bl MailboxPC_InitBuffers
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
@@ -1054,7 +1054,7 @@ sub_80EBEB0: @ 80EBEB0
lsls r6, 24 lsls r6, 24
lsrs r6, 24 lsrs r6, 24
movs r0, 0 movs r0, 0
bl sub_810EBAC bl MailboxPC_GetAddWindow
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
@@ -1066,7 +1066,7 @@ sub_80EBEB0: @ 80EBEB0
bl GetStringWidth bl GetStringWidth
adds r5, r0, 0 adds r5, r0, 0
movs r0, 0x1 movs r0, 0x1
bl sub_810EBAC bl MailboxPC_GetAddWindow
movs r3, 0x50 movs r3, 0x50
subs r3, r5 subs r3, r5
lsrs r0, r3, 31 lsrs r0, r3, 31
@@ -1087,7 +1087,7 @@ sub_80EBEB0: @ 80EBEB0
bl ScheduleBgCopyTilemapToVram bl ScheduleBgCopyTilemapToVram
ldr r4, _080EBF38 @ =gUnknown_203AAC4 ldr r4, _080EBF38 @ =gUnknown_203AAC4
adds r0, r4, 0 adds r0, r4, 0
bl sub_810EC98 bl MailboxPC_InitListMenu
ldr r2, _080EBF3C @ =gTasks ldr r2, _080EBF3C @ =gTasks
lsls r1, r6, 2 lsls r1, r6, 2
adds r1, r6 adds r1, r6
@@ -1097,7 +1097,7 @@ sub_80EBEB0: @ 80EBEB0
lsrs r0, 24 lsrs r0, 24
strh r0, [r1, 0x1E] strh r0, [r1, 0x1E]
adds r0, r4, 0 adds r0, r4, 0
bl sub_810ED80 bl MailboxPC_AddScrollIndicatorArrows
add sp, 0xC add sp, 0xC
pop {r3} pop {r3}
mov r8, r3 mov r8, r3
@@ -1168,9 +1168,9 @@ _080EBFB6:
movs r0, 0x5 movs r0, 0x5
bl PlaySE bl PlaySE
movs r0, 0 movs r0, 0
bl sub_810EBE0 bl MailboxPC_RemoveWindow
movs r0, 0x1 movs r0, 0x1
bl sub_810EBE0 bl MailboxPC_RemoveWindow
ldrb r0, [r4, 0x16] ldrb r0, [r4, 0x16]
adds r1, r7, 0 adds r1, r7, 0
mov r2, r8 mov r2, r8
@@ -1282,16 +1282,16 @@ sub_80EC094: @ 80EC094
ldr r0, _080EC0D4 @ =gTasks+0x8 ldr r0, _080EC0D4 @ =gTasks+0x8
adds r4, r0 adds r4, r0
movs r0, 0 movs r0, 0
bl sub_810EBE0 bl MailboxPC_RemoveWindow
movs r0, 0x1 movs r0, 0x1
bl sub_810EBE0 bl MailboxPC_RemoveWindow
ldrb r0, [r4, 0x16] ldrb r0, [r4, 0x16]
movs r1, 0 movs r1, 0
movs r2, 0 movs r2, 0
bl DestroyListMenuTask bl DestroyListMenuTask
movs r0, 0 movs r0, 0
bl ScheduleBgCopyTilemapToVram bl ScheduleBgCopyTilemapToVram
bl sub_810EDB0 bl MailboxPC_DestroyListMenuBuffer
adds r0, r5, 0 adds r0, r5, 0
bl sub_80EB8BC bl sub_80EB8BC
pop {r4,r5} pop {r4,r5}
@@ -1311,7 +1311,7 @@ sub_80EC0D8: @ 80EC0D8
lsls r5, 24 lsls r5, 24
lsrs r5, 24 lsrs r5, 24
movs r0, 0x2 movs r0, 0x2
bl sub_810EBAC bl MailboxPC_GetAddWindow
adds r4, r0, 0 adds r4, r0, 0
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
@@ -1437,7 +1437,7 @@ sub_80EC1D4: @ 80EC1D4
ands r0, r1 ands r0, r1
cmp r0, 0 cmp r0, 0
bne _080EC216 bne _080EC216
bl sub_810EDB0 bl MailboxPC_DestroyListMenuBuffer
bl CleanupOverworldWindowsAndTilemaps bl CleanupOverworldWindowsAndTilemaps
ldr r2, _080EC220 @ =gSaveBlock1Ptr ldr r2, _080EC220 @ =gSaveBlock1Ptr
ldr r1, _080EC224 @ =gUnknown_203AAC4 ldr r1, _080EC224 @ =gUnknown_203AAC4
@@ -1519,7 +1519,7 @@ _080EC27E:
lsrs r4, r0, 24 lsrs r4, r0, 24
ldr r0, _080EC2AC @ =gUnknown_203AAC4 ldr r0, _080EC2AC @ =gUnknown_203AAC4
ldrb r0, [r0, 0x5] ldrb r0, [r0, 0x5]
bl sub_810EB6C bl MailboxPC_InitBuffers
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
@@ -1752,7 +1752,7 @@ sub_80EC444: @ 80EC444
ands r0, r1 ands r0, r1
cmp r0, 0 cmp r0, 0
bne _080EC468 bne _080EC468
bl sub_810EDB0 bl MailboxPC_DestroyListMenuBuffer
bl CleanupOverworldWindowsAndTilemaps bl CleanupOverworldWindowsAndTilemaps
bl sub_81273D8 bl sub_81273D8
adds r0, r4, 0 adds r0, r4, 0
@@ -1810,7 +1810,7 @@ _080EC4C6:
bl sub_80F6E9C bl sub_80F6E9C
ldr r0, _080EC4EC @ =gUnknown_203AAC4 ldr r0, _080EC4EC @ =gUnknown_203AAC4
ldrb r0, [r0, 0x5] ldrb r0, [r0, 0x5]
bl sub_810EB6C bl MailboxPC_InitBuffers
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
@@ -1898,7 +1898,7 @@ sub_80EC574: @ 80EC574
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
movs r0, 0x2 movs r0, 0x2
bl sub_810EBE0 bl MailboxPC_RemoveWindow
movs r0, 0 movs r0, 0
bl ScheduleBgCopyTilemapToVram bl ScheduleBgCopyTilemapToVram
ldr r1, _080EC59C @ =gTasks ldr r1, _080EC59C @ =gTasks
+12
View File
@@ -0,0 +1,12 @@
#ifndef GUARD_MAILBOX_PC_H
#define GUARD_MAILBOX_PC_H
bool8 MailboxPC_InitBuffers(u8 num);
u8 MailboxPC_GetAddWindow(u8 winIdx);
void MailboxPC_RemoveWindow(u8 winIdx);
u8 MailboxPC_GetWindowId(u8 winIdx);
u8 MailboxPC_InitListMenu(struct PlayerPC_Unk_203AAC4 * playerPcStruct);
void MailboxPC_AddScrollIndicatorArrows(struct PlayerPC_Unk_203AAC4 * playerPcStruct);
void MailboxPC_DestroyListMenuBuffer(void);
#endif //GUARD_MAILBOX_PC_H
+38 -38
View File
@@ -11,12 +11,12 @@
#include "sound.h" #include "sound.h"
#include "constants/songs.h" #include "constants/songs.h"
EWRAM_DATA u8 gUnknown_203ADDC[3] = {}; EWRAM_DATA u8 sWindowIds[3] = {};
EWRAM_DATA struct ListMenuItem * gUnknown_203ADE0 = NULL; EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL;
void sub_810ED6C(s32 itemIndex, bool8 onInit, struct ListMenu * list); static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list);
static const struct WindowTemplate gUnknown_8453FE8[] = { static const struct WindowTemplate sWindowTemplates[] = {
{ {
.bg = 0, .bg = 0,
.tilemapLeft = 1, .tilemapLeft = 1,
@@ -44,45 +44,45 @@ static const struct WindowTemplate gUnknown_8453FE8[] = {
} }
}; };
static const u8 gUnknown_8454000[3] = {1, 2, 3}; static const u8 sTextColor[3] = {1, 2, 3};
static const u8 gUnknown_8454003[] = _(""); static const u8 sString_Dummy[] = _("");
bool8 sub_810EB6C(u8 num) bool8 MailboxPC_InitBuffers(u8 num)
{ {
u8 i; u8 i;
gUnknown_203ADE0 = Alloc(sizeof(struct ListMenuItem) * (num + 1)); sListMenuItems = Alloc(sizeof(struct ListMenuItem) * (num + 1));
if (gUnknown_203ADE0 == NULL) if (sListMenuItems == NULL)
return FALSE; return FALSE;
for (i = 0; i < NELEMS(gUnknown_203ADDC); i++) for (i = 0; i < NELEMS(sWindowIds); i++)
gUnknown_203ADDC[i] = 0xFF; sWindowIds[i] = 0xFF;
return TRUE; return TRUE;
} }
u8 sub_810EBAC(u8 winIdx) u8 MailboxPC_GetAddWindow(u8 winIdx)
{ {
if (gUnknown_203ADDC[winIdx] == 0xFF) if (sWindowIds[winIdx] == 0xFF)
{ {
gUnknown_203ADDC[winIdx] = AddWindow(&gUnknown_8453FE8[winIdx]); sWindowIds[winIdx] = AddWindow(&sWindowTemplates[winIdx]);
SetStdWindowBorderStyle(gUnknown_203ADDC[winIdx], 0); SetStdWindowBorderStyle(sWindowIds[winIdx], 0);
} }
return gUnknown_203ADDC[winIdx]; return sWindowIds[winIdx];
} }
void sub_810EBE0(u8 winIdx) void MailboxPC_RemoveWindow(u8 winIdx)
{ {
ClearStdWindowAndFrameToTransparent(gUnknown_203ADDC[winIdx], FALSE); ClearStdWindowAndFrameToTransparent(sWindowIds[winIdx], FALSE);
ClearWindowTilemap(gUnknown_203ADDC[winIdx]); ClearWindowTilemap(sWindowIds[winIdx]);
RemoveWindow(gUnknown_203ADDC[winIdx]); RemoveWindow(sWindowIds[winIdx]);
gUnknown_203ADDC[winIdx] = 0xFF; sWindowIds[winIdx] = 0xFF;
} }
u8 sub_810EC10(u8 winIdx) u8 MailboxPC_GetWindowId(u8 winIdx)
{ {
return gUnknown_203ADDC[winIdx]; return sWindowIds[winIdx];
} }
void sub_810EC20(u8 windowId, s32 itemId, u8 y) static void ItemPrintFunc(u8 windowId, s32 itemId, u8 y)
{ {
u8 strbuf[30]; u8 strbuf[30];
if (itemId != -2) if (itemId != -2)
@@ -90,24 +90,24 @@ void sub_810EC20(u8 windowId, s32 itemId, u8 y)
StringCopy(strbuf, gSaveBlock1Ptr->mail[itemId + PARTY_SIZE].playerName); StringCopy(strbuf, gSaveBlock1Ptr->mail[itemId + PARTY_SIZE].playerName);
if (StringLength(strbuf) <= 5) if (StringLength(strbuf) <= 5)
ConvertInternationalString(strbuf, LANGUAGE_JAPANESE); ConvertInternationalString(strbuf, LANGUAGE_JAPANESE);
AddTextPrinterParameterized4(windowId, 2, 8, y, 0, 0, gUnknown_8454000, -1, strbuf); AddTextPrinterParameterized4(windowId, 2, 8, y, 0, 0, sTextColor, -1, strbuf);
} }
} }
u8 sub_810EC98(struct PlayerPC_Unk_203AAC4 * playerPcStruct) u8 MailboxPC_InitListMenu(struct PlayerPC_Unk_203AAC4 * playerPcStruct)
{ {
u16 i; u16 i;
for (i = 0; i < playerPcStruct->unk_5; i++) for (i = 0; i < playerPcStruct->unk_5; i++)
{ {
gUnknown_203ADE0[i].label = gUnknown_8454003; sListMenuItems[i].label = sString_Dummy;
gUnknown_203ADE0[i].index = i; sListMenuItems[i].index = i;
} }
gUnknown_203ADE0[i].label = gFameCheckerText_Cancel; sListMenuItems[i].label = gFameCheckerText_Cancel;
gUnknown_203ADE0[i].index = -2; sListMenuItems[i].index = -2;
gMultiuseListMenuTemplate.items = gUnknown_203ADE0; gMultiuseListMenuTemplate.items = sListMenuItems;
gMultiuseListMenuTemplate.totalItems = playerPcStruct->unk_5 + 1; gMultiuseListMenuTemplate.totalItems = playerPcStruct->unk_5 + 1;
gMultiuseListMenuTemplate.windowId = gUnknown_203ADDC[1]; gMultiuseListMenuTemplate.windowId = sWindowIds[1];
gMultiuseListMenuTemplate.header_X = 0; gMultiuseListMenuTemplate.header_X = 0;
gMultiuseListMenuTemplate.item_X = GetMenuCursorDimensionByFont(2, 0); gMultiuseListMenuTemplate.item_X = GetMenuCursorDimensionByFont(2, 0);
gMultiuseListMenuTemplate.cursor_X = 0; gMultiuseListMenuTemplate.cursor_X = 0;
@@ -119,25 +119,25 @@ u8 sub_810EC98(struct PlayerPC_Unk_203AAC4 * playerPcStruct)
gMultiuseListMenuTemplate.cursorPal = 2; gMultiuseListMenuTemplate.cursorPal = 2;
gMultiuseListMenuTemplate.fillValue = 1; gMultiuseListMenuTemplate.fillValue = 1;
gMultiuseListMenuTemplate.cursorShadowPal = 3; gMultiuseListMenuTemplate.cursorShadowPal = 3;
gMultiuseListMenuTemplate.moveCursorFunc = sub_810ED6C; gMultiuseListMenuTemplate.moveCursorFunc = MoveCursorFunc;
gMultiuseListMenuTemplate.itemPrintFunc = sub_810EC20; gMultiuseListMenuTemplate.itemPrintFunc = ItemPrintFunc;
gMultiuseListMenuTemplate.cursorKind = 0; gMultiuseListMenuTemplate.cursorKind = 0;
gMultiuseListMenuTemplate.scrollMultiple = 0; gMultiuseListMenuTemplate.scrollMultiple = 0;
return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->scrollOffset, playerPcStruct->selectedRow); return ListMenuInit(&gMultiuseListMenuTemplate, playerPcStruct->scrollOffset, playerPcStruct->selectedRow);
} }
void sub_810ED6C(s32 itemIndex, bool8 onInit, struct ListMenu * list) static void MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
{ {
if (onInit != TRUE) if (onInit != TRUE)
PlaySE(SE_SELECT); PlaySE(SE_SELECT);
} }
void sub_810ED80(struct PlayerPC_Unk_203AAC4 * playerPcStruct) void MailboxPC_AddScrollIndicatorArrows(struct PlayerPC_Unk_203AAC4 * playerPcStruct)
{ {
playerPcStruct->unk_A = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->unk_5 - playerPcStruct->unk_4 + 1, 110, 110, &playerPcStruct->scrollOffset); playerPcStruct->unk_A = AddScrollIndicatorArrowPairParameterized(2, 0xC2, 0xC, 0x94, playerPcStruct->unk_5 - playerPcStruct->unk_4 + 1, 110, 110, &playerPcStruct->scrollOffset);
} }
void sub_810EDB0(void) void MailboxPC_DestroyListMenuBuffer(void)
{ {
Free(gUnknown_203ADE0); Free(sListMenuItems);
} }