more decomp of menus and combining files

This commit is contained in:
Seth Barberee 2023-05-19 08:43:33 -07:00
parent 204dc302be
commit 2d01cbd025
9 changed files with 638 additions and 970 deletions

View File

@ -1,271 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start CreateMailboxMenu
CreateMailboxMenu:
push {r4-r7,lr}
ldr r4, _0802E380
ldr r0, [r4]
adds r0, 0xFC
movs r1, 0
movs r2, 0x10
bl MemoryFill16
ldr r1, [r4]
adds r2, r1, 0
adds r2, 0xBC
ldr r0, _0802E384
str r0, [r2]
adds r1, 0xC0
movs r0, 0x2
str r0, [r1]
bl HasNoMailinMailbox
lsls r0, 24
cmp r0, 0
beq _0802E2E6
ldr r0, [r4]
adds r0, 0xFC
movs r1, 0x1
strh r1, [r0]
_0802E2E6:
movs r5, 0x1
ldr r1, [r4]
movs r6, 0x1
adds r2, r1, 0
adds r2, 0xC4
ldr r0, _0802E388
str r0, [r2]
adds r1, 0xC8
movs r0, 0x3
str r0, [r1]
bl HasNoAcceptedJobs
lsls r0, 24
cmp r0, 0
beq _0802E30A
ldr r0, [r4]
adds r0, 0xFE
strh r5, [r0]
_0802E30A:
ldr r1, [r4]
adds r2, r1, 0
adds r2, 0xCC
ldr r0, _0802E38C
str r0, [r2]
adds r1, 0xD0
movs r0, 0x4
str r0, [r1]
bl HasNoPKMNNews
lsls r0, 24
cmp r0, 0
beq _0802E32E
ldr r0, [r4]
movs r1, 0x80
lsls r1, 1
adds r0, r1
strh r6, [r0]
_0802E32E:
movs r5, 0x3
ldr r2, [r4]
adds r0, r2, 0
adds r0, 0xD4
movs r1, 0
str r1, [r0]
adds r0, 0x4
str r6, [r0]
movs r3, 0
adds r6, r4, 0
mov r12, r2
mov r4, r12
adds r4, 0xFC
adds r2, 0xC0
_0802E34A:
ldrh r0, [r4]
cmp r0, 0
bne _0802E35A
ldr r1, [r2]
mov r7, r12
ldr r0, [r7, 0x64]
cmp r1, r0
beq _0802E3B2
_0802E35A:
adds r4, 0x2
adds r2, 0x8
adds r3, 0x1
cmp r3, r5
blt _0802E34A
movs r3, 0
cmp r3, r5
bge _0802E3B2
ldr r1, [r6]
adds r0, r1, 0
adds r0, 0xFC
ldrh r0, [r0]
cmp r0, 0
bne _0802E390
adds r0, r1, 0
adds r0, 0xC0
ldr r0, [r0]
str r0, [r1, 0x64]
b _0802E3B2
.align 2, 0
_0802E380: .4byte gUnknown_203B304
_0802E384: .4byte gMailboxCheckMail
_0802E388: .4byte gMailboxJobList
_0802E38C: .4byte gMailboxPKMNNews
_0802E390:
adds r3, 0x1
cmp r3, r5
bge _0802E3B2
ldr r2, [r6]
lsls r0, r3, 1
adds r1, r2, 0
adds r1, 0xFC
adds r1, r0
ldrh r0, [r1]
cmp r0, 0
bne _0802E390
lsls r0, r3, 3
adds r1, r2, 0
adds r1, 0xC0
adds r1, r0
ldr r0, [r1]
str r0, [r2, 0x64]
_0802E3B2:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end CreateMailboxMenu
thumb_func_start CreateMailActionMenu
CreateMailActionMenu:
push {r4-r7,lr}
movs r5, 0
ldr r4, _0802E3F0
ldr r0, [r4]
ldrb r0, [r0, 0x8]
bl GetMailboxSlotInfo
adds r7, r0, 0
ldrb r0, [r7]
cmp r0, 0x1
bne _0802E3FC
ldr r2, [r4]
adds r1, r2, 0
adds r1, 0xBC
ldr r0, _0802E3F4
str r0, [r1]
adds r1, 0x4
movs r0, 0x6
str r0, [r1]
adds r1, 0x4
ldr r0, _0802E3F8
str r0, [r1]
adds r1, 0x4
movs r0, 0x7
str r0, [r1]
movs r5, 0x2
b _0802E44A
.align 2, 0
_0802E3F0: .4byte gUnknown_203B304
_0802E3F4: .4byte gMailActionStore
_0802E3F8: .4byte gMailActionRead
_0802E3FC:
ldr r1, [r4]
adds r2, r1, 0
adds r2, 0xBC
ldr r0, _0802E494
ldr r0, [r0]
str r0, [r2]
adds r1, 0xC0
movs r0, 0x5
str r0, [r1]
adds r0, r7, 0
bl IsMailinJobSlot
lsls r0, 24
cmp r0, 0
bne _0802E422
bl GetNumAcceptedJobs
cmp r0, 0x7
ble _0802E42C
_0802E422:
ldr r0, [r4]
adds r0, 0xC0
movs r1, 0x1
negs r1, r1
str r1, [r0]
_0802E42C:
adds r5, 0x1
ldr r4, _0802E498
ldr r2, [r4]
lsls r3, r5, 3
adds r0, r2, 0
adds r0, 0xBC
adds r0, r3
ldr r1, _0802E49C
ldr r1, [r1]
str r1, [r0]
adds r2, 0xC0
adds r2, r3
movs r0, 0x8
str r0, [r2]
adds r5, 0x1
_0802E44A:
mov r12, r4
mov r0, r12
ldr r4, [r0]
lsls r2, r5, 3
adds r0, r4, 0
adds r0, 0xBC
adds r0, r2
movs r1, 0
str r1, [r0]
adds r1, r4, 0
adds r1, 0xC0
adds r2, r1, r2
movs r0, 0x1
str r0, [r2]
movs r3, 0
cmp r3, r5
bge _0802E486
movs r6, 0x1
negs r6, r6
adds r2, r1, 0
_0802E472:
ldr r1, [r2]
cmp r1, r6
beq _0802E47E
ldr r0, [r4, 0x68]
cmp r1, r0
beq _0802E4A8
_0802E47E:
adds r2, 0x8
adds r3, 0x1
cmp r3, r5
blt _0802E472
_0802E486:
ldrb r0, [r7]
cmp r0, 0x1
bne _0802E4A0
mov r0, r12
ldr r1, [r0]
movs r0, 0x7
b _0802E4A6
.align 2, 0
_0802E494: .4byte gUnknown_80D4990
_0802E498: .4byte gUnknown_203B304
_0802E49C: .4byte gUnknown_80D4970
_0802E4A0:
mov r0, r12
ldr r1, [r0]
movs r0, 0x8
_0802E4A6:
str r0, [r1, 0x68]
_0802E4A8:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end CreateMailActionMenu
.align 2,0

View File

@ -1,210 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start CreatePelipperBoardMenu
CreatePelipperBoardMenu:
push {r4-r7,lr}
ldr r4, _0802EBDC
ldr r0, [r4]
adds r0, 0xFC
movs r1, 0
movs r2, 0x10
bl MemoryFill16
ldr r1, [r4]
adds r2, r1, 0
adds r2, 0xBC
ldr r0, _0802EBE0
str r0, [r2]
adds r1, 0xC0
movs r0, 0x2
str r0, [r1]
bl HasNoPelipperBoardJobs
lsls r0, 24
cmp r0, 0
beq _0802EB66
ldr r0, [r4]
adds r0, 0xFC
movs r1, 0x1
strh r1, [r0]
_0802EB66:
movs r5, 0x1
ldr r1, [r4]
adds r2, r1, 0
adds r2, 0xC4
ldr r0, _0802EBE4
str r0, [r2]
adds r1, 0xC8
movs r0, 0x3
str r0, [r1]
bl HasNoAcceptedJobs
lsls r0, 24
cmp r0, 0
beq _0802EB88
ldr r0, [r4]
adds r0, 0xFE
strh r5, [r0]
_0802EB88:
movs r5, 0x2
ldr r2, [r4]
adds r1, r2, 0
adds r1, 0xCC
movs r0, 0
str r0, [r1]
adds r1, 0x4
movs r0, 0x1
str r0, [r1]
movs r3, 0
adds r6, r4, 0
mov r12, r2
mov r4, r12
adds r4, 0xFC
adds r2, 0xC0
_0802EBA6:
ldrh r0, [r4]
cmp r0, 0
bne _0802EBB6
ldr r1, [r2]
mov r7, r12
ldr r0, [r7, 0x64]
cmp r1, r0
beq _0802EC0A
_0802EBB6:
adds r4, 0x2
adds r2, 0x8
adds r3, 0x1
cmp r3, r5
blt _0802EBA6
movs r3, 0
cmp r3, r5
bge _0802EC0A
ldr r1, [r6]
adds r0, r1, 0
adds r0, 0xFC
ldrh r0, [r0]
cmp r0, 0
bne _0802EBE8
adds r0, r1, 0
adds r0, 0xC0
ldr r0, [r0]
str r0, [r1, 0x64]
b _0802EC0A
.align 2, 0
_0802EBDC: .4byte gPelipperBoard
_0802EBE0: .4byte gPelipperBoard_BulletinBoard
_0802EBE4: .4byte gPelipperBoard_JobList
_0802EBE8:
adds r3, 0x1
cmp r3, r5
bge _0802EC0A
ldr r2, [r6]
lsls r0, r3, 1
adds r1, r2, 0
adds r1, 0xFC
adds r1, r0
ldrh r0, [r1]
cmp r0, 0
bne _0802EBE8
lsls r0, r3, 3
adds r1, r2, 0
adds r1, 0xC0
adds r1, r0
ldr r0, [r1]
str r0, [r2, 0x64]
_0802EC0A:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end CreatePelipperBoardMenu
thumb_func_start sub_802EC10
sub_802EC10:
push {r4-r7,lr}
movs r6, 0
ldr r4, _0802ECA8
ldr r2, [r4]
adds r1, r2, 0
adds r1, 0xBC
ldr r0, _0802ECAC
ldr r0, [r0]
str r0, [r1]
adds r1, 0x4
movs r0, 0x4
str r0, [r1]
ldrb r0, [r2, 0x8]
bl GetPelipperBoardSlotInfo
bl IsMailinJobSlot
lsls r0, 24
cmp r0, 0
bne _0802EC40
bl GetNumAcceptedJobs
cmp r0, 0x7
ble _0802EC4A
_0802EC40:
ldr r0, [r4]
adds r0, 0xC0
movs r1, 0x1
negs r1, r1
str r1, [r0]
_0802EC4A:
adds r6, 0x1
ldr r4, _0802ECA8
ldr r5, [r4]
lsls r1, r6, 3
adds r2, r5, 0
adds r2, 0xBC
adds r3, r2, r1
ldr r0, _0802ECB0
ldr r0, [r0]
str r0, [r3]
adds r3, r5, 0
adds r3, 0xC0
adds r1, r3, r1
movs r0, 0x5
str r0, [r1]
adds r6, 0x1
lsls r1, r6, 3
adds r2, r1
movs r0, 0
str r0, [r2]
adds r1, r3, r1
movs r0, 0x1
str r0, [r1]
movs r2, 0
adds r7, r4, 0
cmp r2, r6
bge _0802EC9C
adds r4, r5, 0
movs r5, 0x1
negs r5, r5
adds r1, r3, 0
_0802EC88:
ldr r3, [r1]
cmp r3, r5
beq _0802EC94
ldr r0, [r4, 0x68]
cmp r3, r0
beq _0802ECA2
_0802EC94:
adds r1, 0x8
adds r2, 0x1
cmp r2, r6
blt _0802EC88
_0802EC9C:
ldr r1, [r7]
movs r0, 0x5
str r0, [r1, 0x68]
_0802ECA2:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0802ECA8: .4byte gPelipperBoard
_0802ECAC: .4byte gUnknown_80D4990
_0802ECB0: .4byte gUnknown_80D4970
thumb_func_end sub_802EC10
.align 2,0

View File

@ -19,7 +19,7 @@ struct unkStruct_203B304
u32 menuAction1;
u32 menuAction2;
struct MenuStruct unk6C;
struct MenuItem unkBC[8];
struct MenuItem menuItems[8];
u16 unkFC[8];
struct UnkTextStruct2 unk10C[4];
};

View File

@ -13,7 +13,7 @@ struct unkStruct_203B308
u32 menuAction1;
u32 menuAction2;
struct MenuStruct unk6C;
struct MenuItem unkBC[8];
struct MenuItem menuItems[8];
u16 unkFC[8];
struct UnkTextStruct2 unk10C[4];
};

View File

@ -139,11 +139,7 @@ SECTIONS {
asm/wonder_mail_3.o(.text);
src/wonder_mail_802DF88.o(.text);
src/mailbox.o(.text);
asm/mailbox.o(.text);
src/mailbox_1.o(.text);
src/pelipper_board.o(.text);
asm/pelipper_board.o(.text);
src/pelipper_board_1.o(.text);
src/wonder_mail_3_mid.o(.text);
asm/wonder_mail_3_mid.o(.text);
src/wonder_mail_3_1.o(.text);

View File

@ -8,18 +8,21 @@
#include "menu_input.h"
extern void HandleMailboxMenu(void);
extern void nullsub_133(void);
extern void sub_802E578(void);
extern void HandleMailActionMenu(void);
extern void sub_802E73C(void);
extern void sub_802E758(void);
extern void sub_802E774(void);
extern void sub_802E7D0(void);
extern u8 *gUnknown_80D4990[];
extern u8 *gUnknown_80D4970[];
extern bool8 IsMailinJobSlot(struct WonderMail *mail);
extern void sub_802E0A0(void);
extern void sub_802E1AC(void);
void sub_802E578(void);
void HandleMailActionMenu(void);
void HandleMailboxMenu(void);
void nullsub_133(void);
void sub_802E0A0(void);
void sub_802E1AC(void);
void sub_802E73C(void);
void sub_802E758(void);
void sub_802E774(void);
void sub_802E7D0(void);
const struct UnkTextStruct2 gUnknown_80E0284 =
{
@ -79,13 +82,41 @@ extern void sub_802BD14(u32, u32, u32);
extern void sub_802BE94(u32);
extern void CreateMailMenu(void);
extern void CreateMailAcceptedStatusBox(u32);
extern struct WonderMail * GetMailboxSlotInfo(u32);
extern void sub_803B35C(struct WonderMail *, u32 *);
extern void sub_802DE84(u32 *);
extern void InitializeJobListMenu(u32);
extern void sub_802B640(u32, u32, u32);
extern void sub_802B7D0(u32);
extern void sub_802B9FC(u8);
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_802BA8C(void);
extern void sub_802BACC(void);
extern u8 GetPokemonNewsIndex(void);
extern void sub_802B81C(void);
extern u32 sub_802B720(u32);
extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
extern struct WonderMail *GetMailboxSlotInfo(u8);
extern u8 HasNoMailinMailbox(void);
extern u32 sub_802BDEC(u32);
extern void AcceptJob(struct WonderMail *);
extern void sub_8096C80(void);
extern void sub_8096D24(void);
extern void ResetMailboxSlot(u8);
extern void ReceivePKMNNews(u8);
extern void sub_8096078(void);
extern void PlayMenuSoundEffect(u32);
extern void PlaySound(u32);
extern void sub_802BEDC(void);
extern u8 sub_802BE74(void);
extern u8 HasNoAcceptedJobs(void);
extern u8 HasNoPelipperBoardJobs(void);
extern u8 HasNoPKMNNews(void);
u32 sub_802DFB0(void)
{
@ -165,12 +196,12 @@ void sub_802E0A0(void)
}
CreateMailboxMenu();
gUnknown_203B304->unk10C[2] = gUnknown_80E029C;
sub_8012CAC(&gUnknown_203B304->unk10C[2], gUnknown_203B304->unkBC);
sub_8012CAC(&gUnknown_203B304->unk10C[2], gUnknown_203B304->menuItems);
break;
case MAIL_ACTION_MENU:
CreateMailActionMenu();
gUnknown_203B304->unk10C[2] = gUnknown_80E02B4;
sub_8012CAC(&gUnknown_203B304->unk10C[2], gUnknown_203B304->unkBC);
sub_8012CAC(&gUnknown_203B304->unk10C[2], gUnknown_203B304->menuItems);
gUnknown_203B304->unk10C[2].unkC = 6;
gUnknown_203B304->unk10C[3] = gUnknown_80E02CC;
break;
@ -190,7 +221,7 @@ void sub_802E1AC(void)
switch(gUnknown_203B304->state)
{
case MAIN_MAILBOX_MENU:
sub_8012D60(&gUnknown_203B304->unk6C, gUnknown_203B304->unkBC, 0, gUnknown_203B304->unkFC, gUnknown_203B304->menuAction1, 2);
sub_8012D60(&gUnknown_203B304->unk6C, gUnknown_203B304->menuItems, 0, gUnknown_203B304->unkFC, gUnknown_203B304->menuAction1, 2);
break;
case MAIL_MENU:
sub_802BD14(0, 0, 4);
@ -201,7 +232,7 @@ void sub_802E1AC(void)
case MAIL_ACTION_MENU:
CreateMailMenu();
CreateMailAcceptedStatusBox(3);
sub_8012D60(&gUnknown_203B304->unk6C, gUnknown_203B304->unkBC, 0, 0, gUnknown_203B304->menuAction2, 2);
sub_8012D60(&gUnknown_203B304->unk6C, gUnknown_203B304->menuItems, 0, 0, gUnknown_203B304->menuAction2, 2);
break;
case MAIL_INFO:
sub_803B35C(GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex), &gUnknown_203B304->unkC);
@ -227,3 +258,320 @@ void sub_802E1AC(void)
break;
}
}
void CreateMailboxMenu(void)
{
int index;
s32 loopMax;
loopMax = 0;
MemoryFill16(gUnknown_203B304->unkFC,0,0x10);
gUnknown_203B304->menuItems[0].text = gMailboxCheckMail;
gUnknown_203B304->menuItems[0].menuAction = 2;
if ((HasNoMailinMailbox())) {
gUnknown_203B304->unkFC[0] = 1;
}
loopMax += 1;
gUnknown_203B304->menuItems[loopMax].text = gMailboxJobList;
gUnknown_203B304->menuItems[loopMax].menuAction = 3;
if(HasNoAcceptedJobs())
{
gUnknown_203B304->unkFC[loopMax] = 1;
}
loopMax += 1;
gUnknown_203B304->menuItems[loopMax].text = gMailboxPKMNNews;
gUnknown_203B304->menuItems[loopMax].menuAction = 4;
if(HasNoPKMNNews())
{
gUnknown_203B304->unkFC[loopMax] = 1;
}
loopMax += 1;
gUnknown_203B304->menuItems[loopMax].text = NULL;
gUnknown_203B304->menuItems[loopMax].menuAction = 1;
for(index = 0; index < loopMax; index++)
{
if (gUnknown_203B304->unkFC[index] == 0) {
if(gUnknown_203B304->menuItems[index].menuAction == gUnknown_203B304->menuAction1)
return;
}
}
for(index = 0; index < loopMax; index++)
{
if (gUnknown_203B304->unkFC[index] == 0) {
gUnknown_203B304->menuAction1 = gUnknown_203B304->menuItems[index].menuAction;
break;
}
}
}
void CreateMailActionMenu(void) {
s32 index;
struct WonderMail *mail;
s32 loopMax = 0;
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
if(mail->mailType == 1)
{
gUnknown_203B304->menuItems[loopMax].text = gMailActionStore;
gUnknown_203B304->menuItems[loopMax].menuAction = 6;
loopMax += 1;
gUnknown_203B304->menuItems[loopMax].text = gMailActionRead;
gUnknown_203B304->menuItems[loopMax].menuAction = 7;
loopMax += 1;
}
else
{
gUnknown_203B304->menuItems[loopMax].text = *gUnknown_80D4990; // Accept
gUnknown_203B304->menuItems[loopMax].menuAction = 5;
if(IsMailinJobSlot(mail) || GetNumAcceptedJobs() >= MAX_ACCEPTED_JOBS)
{
gUnknown_203B304->menuItems[loopMax].menuAction = -1;
}
loopMax += 1;
gUnknown_203B304->menuItems[loopMax].text = *gUnknown_80D4970; // Info
gUnknown_203B304->menuItems[loopMax].menuAction = 8;
loopMax += 1;
}
gUnknown_203B304->menuItems[loopMax].text = NULL;
gUnknown_203B304->menuItems[loopMax].menuAction = 1;
for(index = 0; index < loopMax; index++)
{
if (gUnknown_203B304->menuItems[index].menuAction != -1) {
if(gUnknown_203B304->menuItems[index].menuAction == gUnknown_203B304->menuAction2)
return;
}
}
if(mail->mailType == 1)
gUnknown_203B304->menuAction2 = 7;
else
gUnknown_203B304->menuAction2 = 8;
}
void HandleMailboxMenu(void)
{
s32 menuAction = 0;
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
{
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
if(menuAction != 1) gUnknown_203B304->menuAction1 = menuAction;
}
switch(menuAction)
{
// Check Mail
case 2:
if(!HasNoMailinMailbox())
SetMailboxState(MAIL_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
// Job List
case 3:
if(!HasNoAcceptedJobs())
SetMailboxState(JOB_LIST_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
case 4:
if(!HasNoPKMNNews())
SetMailboxState(PKMN_NEWS_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
case 8:
SetMailboxState(2);
break;
case 1:
SetMailboxState(MAILBOX_EXIT);
break;
}
}
void sub_802E578(void)
{
struct WonderMail *mail;
switch(sub_802BDEC(1))
{
case 3:
gUnknown_203B304->mailboxIndex = sub_802BE74();
SetMailboxState(MAIL_ACTION_MENU);
break;
case 4:
gUnknown_203B304->mailboxIndex = sub_802BE74();
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
if(mail->mailType == 1)
{
gUnknown_203B304->mailIndex = mail->dungeon.floor;
gUnknown_203B304->fallbackState = MAIL_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
}
else
SetMailboxState(MAIL_INFO);
break;
case 2:
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
break;
case 0:
case 1:
break;
}
}
void HandleMailActionMenu(void)
{
s32 menuAction = 0;
struct WonderMail *mail;
sub_802BDEC(0);
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
{
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
if(menuAction != 1) gUnknown_203B304->menuAction2 = menuAction;
}
switch(menuAction)
{
case 2:
case 3:
case 4:
break;
// Accept
case 5:
PlaySound(0x133);
AcceptJob(GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex));
sub_8096C80();
sub_8096D24();
ResetMailboxSlot(gUnknown_203B304->mailboxIndex);
sub_8096078();
if(HasNoMailinMailbox())
{
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
}
else
SetMailboxState(MAIL_MENU_1);
break;
// Info
case 8:
SetMailboxState(MAIL_INFO);
break;
// Store
case 6:
PlaySound(0x133);
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
ReceivePKMNNews(mail->dungeon.floor);
ResetMailboxSlot(gUnknown_203B304->mailboxIndex);
sub_8096078();
if(HasNoMailinMailbox())
{
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
}
else
SetMailboxState(MAIL_MENU_1);
break;
// Read
case 7:
PlayMenuSoundEffect(0);
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
gUnknown_203B304->mailIndex = mail->dungeon.floor;
gUnknown_203B304->fallbackState = MAIL_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
break;
case 1:
SetMailboxState(MAIL_MENU_1);
break;
}
}
void sub_802E73C(void)
{
switch(sub_802DEE0())
{
case 2:
case 3:
sub_802DF24();
SetMailboxState(MAIL_MENU_1);
case 0:
case 1:
break;
}
}
void sub_802E758(void)
{
switch(sub_802C898())
{
case 2:
case 3:
sub_802C8F4();
SetMailboxState(MAIN_MAILBOX_MENU);
case 0:
case 1:
break;
}
}
void sub_802E774(void)
{
switch(sub_802B720(1))
{
case 0:
case 1:
break;
case 3:
case 4:
gUnknown_203B304->mailIndex = GetPokemonNewsIndex();
gUnknown_203B304->fallbackState = PKMN_NEWS_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
break;
case 2:
sub_802B81C();
SetMailboxState(MAIN_MAILBOX_MENU);
break;
}
}
void sub_802E7D0(void)
{
switch(sub_802BA8C())
{
case 2:
case 3:
sub_802BACC();
SetMailboxState(gUnknown_203B304->fallbackState);
case 0:
case 1:
break;
}
}
void nullsub_133(void)
{
}
void CreateMailAcceptedStatusBox(u32 r0)
{
sub_8008C54(r0);
sub_80073B8(r0);
xxx_call_draw_string(3, 0, gMailAccepted, r0, 0);
sub_8012BC4(0x12, 0xD, GetNumAcceptedJobs(), 2, 7, r0);
xxx_call_draw_string(0x16, 0xD, gUnknown_80E0324, r0, 0); // "/"
sub_8012BC4(0x23, 0xD, MAX_ACCEPTED_JOBS, 2, 7, r0);
sub_80073E0(r0);
}

View File

@ -1,263 +0,0 @@
#include "global.h"
#include "memory.h"
#include "text.h"
#include "menu.h"
#include "input.h"
#include "mailbox.h"
#include "wonder_mail.h"
#include "menu_input.h"
extern struct unkStruct_203B304 *gUnknown_203B304;
extern u8 gMailAccepted[];
extern u8 gUnknown_80E0324[];
extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_802BA8C(void);
extern void sub_802BACC(void);
extern u8 GetPokemonNewsIndex(void);
extern void sub_802B81C(void);
extern u32 sub_802B720(u32);
extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
extern struct WonderMail *GetMailboxSlotInfo(u8);
extern u8 HasNoMailinMailbox(void);
extern u32 sub_802BDEC(u32);
extern void AcceptJob(struct WonderMail *);
extern void sub_8096C80(void);
extern void sub_8096D24(void);
extern void ResetMailboxSlot(u8);
extern void ReceivePKMNNews(u8);
extern void sub_8096078(void);
extern void PlayMenuSoundEffect(u32);
extern void PlaySound(u32);
extern void sub_802BEDC(void);
extern u8 sub_802BE74(void);
extern u8 HasNoAcceptedJobs(void);
extern u8 HasNoPKMNNews(void);
void HandleMailboxMenu(void)
{
s32 menuAction = 0;
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
{
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
if(menuAction != 1) gUnknown_203B304->menuAction1 = menuAction;
}
switch(menuAction)
{
// Check Mail
case 2:
if(!HasNoMailinMailbox())
SetMailboxState(MAIL_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
// Job List
case 3:
if(!HasNoAcceptedJobs())
SetMailboxState(JOB_LIST_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
case 4:
if(!HasNoPKMNNews())
SetMailboxState(PKMN_NEWS_MENU);
else
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
break;
case 8:
SetMailboxState(2);
break;
case 1:
SetMailboxState(MAILBOX_EXIT);
break;
}
}
void sub_802E578(void)
{
struct WonderMail *mail;
switch(sub_802BDEC(1))
{
case 3:
gUnknown_203B304->mailboxIndex = sub_802BE74();
SetMailboxState(MAIL_ACTION_MENU);
break;
case 4:
gUnknown_203B304->mailboxIndex = sub_802BE74();
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
if(mail->mailType == 1)
{
gUnknown_203B304->mailIndex = mail->dungeon.floor;
gUnknown_203B304->fallbackState = MAIL_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
}
else
SetMailboxState(MAIL_INFO);
break;
case 2:
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
break;
case 0:
case 1:
break;
}
}
void HandleMailActionMenu(void)
{
s32 menuAction = 0;
struct WonderMail *mail;
sub_802BDEC(0);
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
{
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
if(menuAction != 1) gUnknown_203B304->menuAction2 = menuAction;
}
switch(menuAction)
{
case 2:
case 3:
case 4:
break;
// Accept
case 5:
PlaySound(0x133);
AcceptJob(GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex));
sub_8096C80();
sub_8096D24();
ResetMailboxSlot(gUnknown_203B304->mailboxIndex);
sub_8096078();
if(HasNoMailinMailbox())
{
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
}
else
SetMailboxState(MAIL_MENU_1);
break;
// Info
case 8:
SetMailboxState(MAIL_INFO);
break;
// Store
case 6:
PlaySound(0x133);
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
ReceivePKMNNews(mail->dungeon.floor);
ResetMailboxSlot(gUnknown_203B304->mailboxIndex);
sub_8096078();
if(HasNoMailinMailbox())
{
sub_802BEDC();
SetMailboxState(MAIN_MAILBOX_MENU);
}
else
SetMailboxState(MAIL_MENU_1);
break;
// Read
case 7:
PlayMenuSoundEffect(0);
mail = GetMailboxSlotInfo(gUnknown_203B304->mailboxIndex);
gUnknown_203B304->mailIndex = mail->dungeon.floor;
gUnknown_203B304->fallbackState = MAIL_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
break;
case 1:
SetMailboxState(MAIL_MENU_1);
break;
}
}
void sub_802E73C(void)
{
switch(sub_802DEE0())
{
case 2:
case 3:
sub_802DF24();
SetMailboxState(MAIL_MENU_1);
case 0:
case 1:
break;
}
}
void sub_802E758(void)
{
switch(sub_802C898())
{
case 2:
case 3:
sub_802C8F4();
SetMailboxState(MAIN_MAILBOX_MENU);
case 0:
case 1:
break;
}
}
void sub_802E774(void)
{
switch(sub_802B720(1))
{
case 0:
case 1:
break;
case 3:
case 4:
gUnknown_203B304->mailIndex = GetPokemonNewsIndex();
gUnknown_203B304->fallbackState = PKMN_NEWS_MENU_1;
SetMailboxState(DISPLAY_SEL_PKMN_NEWS);
break;
case 2:
sub_802B81C();
SetMailboxState(MAIN_MAILBOX_MENU);
break;
}
}
void sub_802E7D0(void)
{
switch(sub_802BA8C())
{
case 2:
case 3:
sub_802BACC();
SetMailboxState(gUnknown_203B304->fallbackState);
case 0:
case 1:
break;
}
}
void nullsub_133(void)
{
}
void CreateMailAcceptedStatusBox(u32 r0)
{
sub_8008C54(r0);
sub_80073B8(r0);
xxx_call_draw_string(3, 0, gMailAccepted, r0, 0);
sub_8012BC4(0x12, 0xD, GetNumAcceptedJobs(), 2, 7, r0);
xxx_call_draw_string(0x16, 0xD, gUnknown_80E0324, r0, 0); // "/"
sub_8012BC4(0x23, 0xD, MAX_ACCEPTED_JOBS, 2, 7, r0);
sub_80073E0(r0);
}

View File

@ -1,9 +1,14 @@
#include "global.h"
#include "mailbox.h"
#include "pokemon.h"
#include "item.h"
#include "memory.h"
#include "text.h"
#include "menu.h"
#include "input.h"
#include "wonder_mail.h"
#include "menu_input.h"
#include "team_inventory.h"
#include "pelipper_board.h"
EWRAM_DATA_2 struct unkStruct_203B308 *gPelipperBoard = {0};
@ -70,11 +75,37 @@ extern void sub_802C10C(u32, u32, u32);
extern void sub_802C28C(u32);
extern void DrawPelipperBoardJobMenu(void);
extern void CreatePelipperAcceptedStatusBox(u32);
extern struct WonderMail *GetPelipperBoardSlotInfo(u32);
extern void sub_803B35C(struct WonderMail *, u32 *);
extern void sub_802DE84(u32 *);
extern void InitializeJobListMenu(u32);
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
extern struct WonderMail *GetPelipperBoardSlotInfo(u8);
extern u8 HasNoPelipperBoardJobs(void);
extern void sub_8096C80(void);
extern void sub_8096D24(void);
extern void AcceptJob(struct WonderMail*);
extern void ResetPelipperBoardSlot(u8);
extern void sub_80965F4(void);
extern void sub_802C2D4(void);
extern u32 sub_802C1E4(u32);
extern void PlaySound(u32);
extern u8 sub_802C26C(void);
extern u8 HasNoAcceptedJobs(void);
extern bool8 IsMailinJobSlot(struct WonderMail *mail);
extern u8 *gUnknown_80D4990[];
extern u8 *gUnknown_80D4970[];
void SetPelipperBoardState(u32);
u32 sub_802E864(void)
{
gPelipperBoard = MemoryAlloc(sizeof(struct unkStruct_203B308), 8);
@ -152,12 +183,12 @@ void sub_802E94C(void)
}
CreatePelipperBoardMenu();
gPelipperBoard->unk10C[2] = gUnknown_80E0348;
sub_8012CAC(&gPelipperBoard->unk10C[2], gPelipperBoard->unkBC);
sub_8012CAC(&gPelipperBoard->unk10C[2], gPelipperBoard->menuItems);
break;
case 6:
sub_802EC10();
gPelipperBoard->unk10C[2] = gUnknown_80E0360;
sub_8012CAC(&gPelipperBoard->unk10C[2], gPelipperBoard->unkBC);
sub_8012CAC(&gPelipperBoard->unk10C[2], gPelipperBoard->menuItems);
gPelipperBoard->unk10C[2].unkC = 6;
gPelipperBoard->unk10C[3] = gUnknown_80E0378;
break;
@ -177,7 +208,7 @@ void sub_802EA58(void)
switch(gPelipperBoard->state)
{
case MAIN_PELIPPER_BOARD_MENU:
sub_8012D60(&gPelipperBoard->unk6C, gPelipperBoard->unkBC, 0, gPelipperBoard->unkFC, gPelipperBoard->menuAction1, 2);
sub_8012D60(&gPelipperBoard->unk6C, gPelipperBoard->menuItems, 0, gPelipperBoard->unkFC, gPelipperBoard->menuAction1, 2);
break;
case 4:
sub_802C10C(0, 0, 4);
@ -188,7 +219,7 @@ void sub_802EA58(void)
case 6:
DrawPelipperBoardJobMenu();
CreatePelipperAcceptedStatusBox(3);
sub_8012D60(&gPelipperBoard->unk6C, gPelipperBoard->unkBC, 0, 0, gPelipperBoard->menuAction2, 2);
sub_8012D60(&gPelipperBoard->unk6C, gPelipperBoard->menuItems, 0, 0, gPelipperBoard->menuAction2, 2);
break;
case PELIPPER_JOB_INFO:
sub_803B35C(GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex), &gPelipperBoard->unkC);
@ -205,3 +236,240 @@ void sub_802EA58(void)
break;
}
}
void CreatePelipperBoardMenu(void)
{
int index;
s32 loopMax;
loopMax = 0;
MemoryFill16(gPelipperBoard->unkFC,0,0x10);
gPelipperBoard->menuItems[0].text = gPelipperBoard_BulletinBoard;
gPelipperBoard->menuItems[0].menuAction = 2;
if ((HasNoPelipperBoardJobs())) {
gPelipperBoard->unkFC[0] = 1;
}
loopMax += 1;
gPelipperBoard->menuItems[loopMax].text = gPelipperBoard_JobList;
gPelipperBoard->menuItems[loopMax].menuAction = 3;
if(HasNoAcceptedJobs())
{
gPelipperBoard->unkFC[loopMax] = 1;
}
loopMax += 1;
gPelipperBoard->menuItems[loopMax].text = NULL;
gPelipperBoard->menuItems[loopMax].menuAction = 1;
for(index = 0; index < loopMax; index++)
{
if (gPelipperBoard->unkFC[index] == 0) {
if(gPelipperBoard->menuItems[index].menuAction == gPelipperBoard->menuAction1)
return;
}
}
for(index = 0; index < loopMax; index++)
{
if (gPelipperBoard->unkFC[index] == 0) {
gPelipperBoard->menuAction1 = gPelipperBoard->menuItems[index].menuAction;
break;
}
}
}
void sub_802EC10(void) {
s32 index;
s32 loopMax = 0;
gPelipperBoard->menuItems[loopMax].text = *gUnknown_80D4990;
gPelipperBoard->menuItems[loopMax].menuAction = 4;
if((IsMailinJobSlot(GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex))) || (GetNumAcceptedJobs() >= MAX_ACCEPTED_JOBS))
{
gPelipperBoard->menuItems[loopMax].menuAction = -1;
}
loopMax += 1;
gPelipperBoard->menuItems[loopMax].text = *gUnknown_80D4970;
gPelipperBoard->menuItems[loopMax].menuAction = 5;
loopMax += 1;
gPelipperBoard->menuItems[loopMax].text = NULL;
gPelipperBoard->menuItems[loopMax].menuAction = 1;
for(index = 0; index < loopMax; index++)
{
if(gPelipperBoard->menuItems[index].menuAction != -1)
if(gPelipperBoard->menuItems[index].menuAction == gPelipperBoard->menuAction2)
return;
}
gPelipperBoard->menuAction2 = 5;
}
void sub_802ECB4(void)
{
s32 menuAction = 0;
if(!sub_8012FD8(&gPelipperBoard->unk6C))
{
sub_8013114(&gPelipperBoard->unk6C, &menuAction);
if(menuAction != 1) gPelipperBoard->menuAction1 = menuAction;
}
switch(menuAction)
{
// Bulletin Board
case 2:
if(!HasNoPelipperBoardJobs())
SetPelipperBoardState(4);
else
sub_8012EA4(&gPelipperBoard->unk6C, 1);
break;
// Job List
case 3:
if(!HasNoAcceptedJobs())
SetPelipperBoardState(PELIPPER_JOB_LIST_MENU);
else
sub_8012EA4(&gPelipperBoard->unk6C, 1);
break;
case 5:
SetPelipperBoardState(2);
break;
case 1:
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
}
}
void sub_802ED4C(void)
{
switch(sub_802C1E4(1))
{
case 3:
gPelipperBoard->jobIndex = sub_802C26C();
SetPelipperBoardState(6);
break;
case 4:
gPelipperBoard->jobIndex = sub_802C26C();
SetPelipperBoardState(7);
break;
case 2:
sub_802C2D4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
break;
case 0:
case 1:
break;
}
}
void sub_802EDBC(void)
{
struct WonderMail *mail;
s32 menuAction = 0;
sub_802C1E4(0);
if(!sub_8012FD8(&gPelipperBoard->unk6C))
{
sub_8013114(&gPelipperBoard->unk6C, &menuAction);
if(menuAction != 1) gPelipperBoard->menuAction2 = menuAction;
}
switch(menuAction)
{
// Accept
case 4:
PlaySound(0x133);
mail = GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex);
switch(mail->mailType)
{
case 2:
gPelipperBoard->unk4 = 1;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
case 3:
gPelipperBoard->unk4 = 2;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
case 4:
gPelipperBoard->unk4 = 3;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
default:
AcceptJob(mail);
sub_8096C80();
sub_8096D24();
if(HasNoPelipperBoardJobs())
{
sub_802C2D4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
}
else
SetPelipperBoardState(5);
break;
}
break;
// Info
case 5:
SetPelipperBoardState(PELIPPER_JOB_INFO);
break;
case 1:
SetPelipperBoardState(5);
break;
}
}
void sub_802EEA0(void)
{
switch(sub_802DEE0())
{
case 2:
case 3:
sub_802DF24();
SetPelipperBoardState(5);
case 0:
case 1:
break;
}
}
void sub_802EEBC(void)
{
switch(sub_802C898())
{
case 2:
case 3:
sub_802C8F4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
case 0:
case 1:
break;
}
}
void nullsub_134(void)
{
}
void CreatePelipperAcceptedStatusBox(u32 r0)
{
sub_8008C54(r0);
sub_80073B8(r0);
xxx_call_draw_string(3, 0, gPelipperBoard_Accepted, r0, 0);
sub_8012BC4(0x12, 0xD, GetNumAcceptedJobs(), 2, 7, r0);
xxx_call_draw_string(0x16, 0xD, gPelipperStatusSlash, r0, 0); // "/"
sub_8012BC4(0x23, 0xD, MAX_ACCEPTED_JOBS, 2, 7, r0);
sub_80073E0(r0);
}

View File

@ -1,200 +0,0 @@
#include "global.h"
#include "mailbox.h"
#include "pokemon.h"
#include "item.h"
#include "memory.h"
#include "menu.h"
#include "text.h"
#include "team_inventory.h"
#include "wonder_mail.h"
#include "menu_input.h"
#include "pelipper_board.h"
extern u8 gPelipperBoard_Accepted[];
extern u8 gPelipperStatusSlash[];
extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32);
extern void sub_8008C54(u32);
extern void sub_80073B8(u32);
extern void sub_80073E0(u32);
extern u32 sub_802C898(void);
extern void sub_802C8F4(void);
extern u32 sub_802DEE0(void);
extern void sub_802DF24(void);
extern struct WonderMail *GetPelipperBoardSlotInfo(u8);
extern u8 HasNoPelipperBoardJobs(void);
extern void sub_8096C80(void);
extern void sub_8096D24(void);
extern void AcceptJob(struct WonderMail*);
extern void ResetPelipperBoardSlot(u8);
extern void sub_80965F4(void);
extern void sub_802C2D4(void);
extern u32 sub_802C1E4(u32);
extern void PlaySound(u32);
extern void SetPelipperBoardState(u32);
extern u8 sub_802C26C(void);
extern u8 HasNoAcceptedJobs(void);
void sub_802ECB4(void)
{
s32 menuAction = 0;
if(!sub_8012FD8(&gPelipperBoard->unk6C))
{
sub_8013114(&gPelipperBoard->unk6C, &menuAction);
if(menuAction != 1) gPelipperBoard->menuAction1 = menuAction;
}
switch(menuAction)
{
// Bulletin Board
case 2:
if(!HasNoPelipperBoardJobs())
SetPelipperBoardState(4);
else
sub_8012EA4(&gPelipperBoard->unk6C, 1);
break;
// Job List
case 3:
if(!HasNoAcceptedJobs())
SetPelipperBoardState(PELIPPER_JOB_LIST_MENU);
else
sub_8012EA4(&gPelipperBoard->unk6C, 1);
break;
case 5:
SetPelipperBoardState(2);
break;
case 1:
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
}
}
void sub_802ED4C(void)
{
switch(sub_802C1E4(1))
{
case 3:
gPelipperBoard->jobIndex = sub_802C26C();
SetPelipperBoardState(6);
break;
case 4:
gPelipperBoard->jobIndex = sub_802C26C();
SetPelipperBoardState(7);
break;
case 2:
sub_802C2D4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
break;
case 0:
case 1:
break;
}
}
void sub_802EDBC(void)
{
struct WonderMail *mail;
s32 menuAction = 0;
sub_802C1E4(0);
if(!sub_8012FD8(&gPelipperBoard->unk6C))
{
sub_8013114(&gPelipperBoard->unk6C, &menuAction);
if(menuAction != 1) gPelipperBoard->menuAction2 = menuAction;
}
switch(menuAction)
{
// Accept
case 4:
PlaySound(0x133);
mail = GetPelipperBoardSlotInfo(gPelipperBoard->jobIndex);
switch(mail->mailType)
{
case 2:
gPelipperBoard->unk4 = 1;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
case 3:
gPelipperBoard->unk4 = 2;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
case 4:
gPelipperBoard->unk4 = 3;
ResetPelipperBoardSlot(gPelipperBoard->jobIndex);
sub_80965F4();
sub_802C2D4();
SetPelipperBoardState(PELIPPER_BOARD_EXIT);
break;
default:
AcceptJob(mail);
sub_8096C80();
sub_8096D24();
if(HasNoPelipperBoardJobs())
{
sub_802C2D4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
}
else
SetPelipperBoardState(5);
break;
}
break;
// Info
case 5:
SetPelipperBoardState(PELIPPER_JOB_INFO);
break;
case 1:
SetPelipperBoardState(5);
break;
}
}
void sub_802EEA0(void)
{
switch(sub_802DEE0())
{
case 2:
case 3:
sub_802DF24();
SetPelipperBoardState(5);
case 0:
case 1:
break;
}
}
void sub_802EEBC(void)
{
switch(sub_802C898())
{
case 2:
case 3:
sub_802C8F4();
SetPelipperBoardState(MAIN_PELIPPER_BOARD_MENU);
case 0:
case 1:
break;
}
}
void nullsub_134(void)
{
}
void CreatePelipperAcceptedStatusBox(u32 r0)
{
sub_8008C54(r0);
sub_80073B8(r0);
xxx_call_draw_string(3, 0, gPelipperBoard_Accepted, r0, 0);
sub_8012BC4(0x12, 0xD, GetNumAcceptedJobs(), 2, 7, r0);
xxx_call_draw_string(0x16, 0xD, gPelipperStatusSlash, r0, 0); // "/"
sub_8012BC4(0x23, 0xD, MAX_ACCEPTED_JOBS, 2, 7, r0);
sub_80073E0(r0);
}