Name functions in mailbox_pc
This commit is contained in:
+16
-16
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user