mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-30 12:58:10 -05:00
unify wonder mail structs
This commit is contained in:
@@ -1,22 +1,8 @@
|
||||
#ifndef GUARD_WONDER_MAIL_802C4C8_H
|
||||
#define GUARD_WONDER_MAIL_802C4C8_H
|
||||
|
||||
#include "constants/mailbox.h"
|
||||
#include "structs/menu.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// TODO: UNIFY
|
||||
// size: 0xA8
|
||||
struct unkStruct_203B2E8
|
||||
{
|
||||
/* 0x0 */ u8 pelipperBoardSlots[MAX_ACCEPTED_JOBS];
|
||||
/* 0x8 */ MenuInputStruct input;
|
||||
u32 unk3C;
|
||||
UnkTextStruct2 *unk40;
|
||||
UnkTextStruct2 unk44[4];
|
||||
UnkTextStruct2_sub2 unkA4;
|
||||
};
|
||||
|
||||
void DrawJobListMenu(void);
|
||||
bool8 HasNoAcceptedJobs(void);
|
||||
u8 GetPelipperBoardSlotIndex(void);
|
||||
|
||||
@@ -4,17 +4,6 @@
|
||||
#include "structs/menu.h"
|
||||
#include "structs/str_text.h"
|
||||
|
||||
// TODO: UNIFY
|
||||
// size: 0xA0
|
||||
typedef struct unkStruct_203B2F4
|
||||
{
|
||||
MenuInputStruct input;
|
||||
u32 unk34;
|
||||
UnkTextStruct2 *unk38;
|
||||
UnkTextStruct2 unk3C[4];
|
||||
UnkTextStruct2_sub2 unk9C;
|
||||
} unkStruct_203B2F4;
|
||||
|
||||
bool8 sub_802CDD4(u32);
|
||||
u32 sub_802CE5C(bool8);
|
||||
u8 sub_802CEBC(void);
|
||||
|
||||
@@ -8,13 +8,14 @@
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "pokemon_mail.h"
|
||||
#include "wonder_mail_802C10C.h"
|
||||
#include "structs/str_802C39C.h"
|
||||
#include "structs/str_wonder_mail.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
#include "wonder_mail_802C4C8.h"
|
||||
|
||||
static EWRAM_DATA_2 struct unkStruct_203B2E8* gUnknown_203B2E8 = {0};
|
||||
static EWRAM_DATA_2 struct unkStruct_203B2E0* gUnknown_203B2E8 = {0};
|
||||
static EWRAM_DATA_2 u16 gUnknown_203B2EC = {0};
|
||||
|
||||
#include "data/wonder_mail_802C4C8.h"
|
||||
@@ -28,23 +29,23 @@ bool8 sub_802C4C8(s32 a0, UnkTextStruct2_sub *a1, u32 a2)
|
||||
if (HasNoAcceptedJobs())
|
||||
return FALSE;
|
||||
|
||||
gUnknown_203B2E8 = MemoryAlloc(sizeof(struct unkStruct_203B2E8), 8);
|
||||
gUnknown_203B2E8->unk3C = a0;
|
||||
gUnknown_203B2E8->unk40 = &gUnknown_203B2E8->unk44[a0];
|
||||
sub_8006518(gUnknown_203B2E8->unk44);
|
||||
gUnknown_203B2E8 = MemoryAlloc(sizeof(struct unkStruct_203B2E0), 8);
|
||||
gUnknown_203B2E8->unk8.s0.unk34 = a0;
|
||||
gUnknown_203B2E8->unk8.s0.unk38 = &gUnknown_203B2E8->unk8.s0.unk3C[a0];
|
||||
sub_8006518(gUnknown_203B2E8->unk8.s0.unk3C);
|
||||
|
||||
gUnknown_203B2E8->unk44[gUnknown_203B2E8->unk3C] = sUnknown_80DFCFC;
|
||||
gUnknown_203B2E8->unk40->unk14 = &gUnknown_203B2E8->unkA4;
|
||||
gUnknown_203B2E8->unk8.s0.unk3C[gUnknown_203B2E8->unk8.s0.unk34] = sUnknown_80DFCFC;
|
||||
gUnknown_203B2E8->unk8.s0.unk38->unk14 = &gUnknown_203B2E8->unk8.unk9C;
|
||||
|
||||
if (a1 != NULL)
|
||||
gUnknown_203B2E8->unk44[gUnknown_203B2E8->unk3C].unk8 = *a1;
|
||||
gUnknown_203B2E8->unk8.s0.unk3C[gUnknown_203B2E8->unk8.s0.unk34].unk8 = *a1;
|
||||
|
||||
sub_8012D34(gUnknown_203B2E8->unk40, a2);
|
||||
sub_8012D34(gUnknown_203B2E8->unk8.s0.unk38, a2);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2E8->unk44, TRUE, TRUE);
|
||||
sub_8013848(&gUnknown_203B2E8->input, CountAcceptedJobs(), a2, a0);
|
||||
gUnknown_203B2E8->input.menuIndex = gUnknown_203B2EC;
|
||||
sub_8013984(&gUnknown_203B2E8->input);
|
||||
sub_800641C(gUnknown_203B2E8->unk8.s0.unk3C, TRUE, TRUE);
|
||||
sub_8013848(&gUnknown_203B2E8->unk8.s0.input, CountAcceptedJobs(), a2, a0);
|
||||
gUnknown_203B2E8->unk8.s0.input.menuIndex = gUnknown_203B2EC;
|
||||
sub_8013984(&gUnknown_203B2E8->unk8.s0.input);
|
||||
sub_802C6DC();
|
||||
DrawJobListMenu();
|
||||
return TRUE;
|
||||
@@ -53,11 +54,11 @@ bool8 sub_802C4C8(s32 a0, UnkTextStruct2_sub *a1, u32 a2)
|
||||
u32 sub_802C598(bool8 a0)
|
||||
{
|
||||
if (!a0) {
|
||||
sub_8013660(&gUnknown_203B2E8->input);
|
||||
sub_8013660(&gUnknown_203B2E8->unk8.s0.input);
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (GetKeyPress(&gUnknown_203B2E8->input)) {
|
||||
switch (GetKeyPress(&gUnknown_203B2E8->unk8.s0.input)) {
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
return 2;
|
||||
@@ -69,7 +70,7 @@ u32 sub_802C598(bool8 a0)
|
||||
return 4;
|
||||
}
|
||||
|
||||
if (sub_80138B8(&gUnknown_203B2E8->input, 1)) {
|
||||
if (sub_80138B8(&gUnknown_203B2E8->unk8.s0.input, 1)) {
|
||||
sub_802C6DC();
|
||||
DrawJobListMenu();
|
||||
return 1;
|
||||
@@ -79,91 +80,42 @@ u32 sub_802C598(bool8 a0)
|
||||
|
||||
u8 GetPelipperBoardSlotIndex(void)
|
||||
{
|
||||
return gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->input.unk1E * gUnknown_203B2E8->input.unk1C) + gUnknown_203B2E8->input.menuIndex];
|
||||
return gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->unk8.s0.input.unk1E * gUnknown_203B2E8->unk8.s0.input.unk1C) + gUnknown_203B2E8->unk8.s0.input.menuIndex];
|
||||
}
|
||||
|
||||
void sub_802C640(bool8 cursorSprite)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2E8->unk44, FALSE, FALSE);
|
||||
gUnknown_203B2E8->input.unk22 = CountAcceptedJobs();
|
||||
sub_8013984(&gUnknown_203B2E8->input);
|
||||
sub_800641C(gUnknown_203B2E8->unk8.s0.unk3C, FALSE, FALSE);
|
||||
gUnknown_203B2E8->unk8.s0.input.unk22 = CountAcceptedJobs();
|
||||
sub_8013984(&gUnknown_203B2E8->unk8.s0.input);
|
||||
sub_802C6DC();
|
||||
DrawJobListMenu();
|
||||
|
||||
if (cursorSprite)
|
||||
AddMenuCursorSprite(&gUnknown_203B2E8->input);
|
||||
AddMenuCursorSprite(&gUnknown_203B2E8->unk8.s0.input);
|
||||
}
|
||||
|
||||
void sub_802C688(void)
|
||||
{
|
||||
if (gUnknown_203B2E8 != NULL) {
|
||||
gUnknown_203B2EC = gUnknown_203B2E8->input.menuIndex;
|
||||
gUnknown_203B2E8->unk44[gUnknown_203B2E8->unk3C] = sUnknown_80DFCE4;
|
||||
gUnknown_203B2EC = gUnknown_203B2E8->unk8.s0.input.menuIndex;
|
||||
gUnknown_203B2E8->unk8.s0.unk3C[gUnknown_203B2E8->unk8.s0.unk34] = sUnknown_80DFCE4;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B2E8->unk44, TRUE, TRUE);
|
||||
sub_800641C(gUnknown_203B2E8->unk8.s0.unk3C, TRUE, TRUE);
|
||||
MemoryFree(gUnknown_203B2E8);
|
||||
gUnknown_203B2E8 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
NAKED
|
||||
static void sub_802C6DC(void)
|
||||
{
|
||||
asm_unified("\tpush {r4,lr}\n"
|
||||
"\tldr r4, _0802C74C\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldrh r1, [r0, 0x28]\n"
|
||||
"\tadds r0, 0xA4\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldrh r1, [r0, 0x26]\n"
|
||||
"\tadds r0, 0xA5\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0xA6\n"
|
||||
"\tmovs r1, 0xC\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0xA7\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tmovs r1, 0x22\n"
|
||||
"\tldrsh r0, [r0, r1]\n"
|
||||
"\tmovs r1, 0x18\n"
|
||||
"\tbl sub_8009614\n"
|
||||
"\tadds r0, 0x2\n"
|
||||
"\tlsls r0, 16\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldr r3, [r2, 0x3C]\n"
|
||||
"\tlsls r1, r3, 1\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tlsls r1, 3\n"
|
||||
"\tadds r1, r2, r1\n"
|
||||
"\tadds r1, 0x52\n"
|
||||
"\tasrs r3, r0, 16\n"
|
||||
"\tlsrs r0, 16\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tldr r1, [r2, 0x3C]\n"
|
||||
"\tlsls r0, r1, 1\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tadds r3, 0x2\n"
|
||||
"\tadds r2, 0x54\n"
|
||||
"\tstrh r3, [r2]\n"
|
||||
"\tbl ResetUnusedInputStruct\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x44\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_800641C\n"
|
||||
"\tpop {r4}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0802C74C: .4byte gUnknown_203B2E8");
|
||||
gUnknown_203B2E8->unk8.unk9C.f0 = gUnknown_203B2E8->unk8.s0.input.unk20;
|
||||
gUnknown_203B2E8->unk8.unk9C.f1 = gUnknown_203B2E8->unk8.s0.input.unk1E;
|
||||
gUnknown_203B2E8->unk8.unk9C.f2 = 12;
|
||||
gUnknown_203B2E8->unk8.unk9C.f3 = 0;
|
||||
|
||||
SUB_8009614_CALL(gUnknown_203B2E8->unk8.s0);
|
||||
}
|
||||
|
||||
void DrawJobListMenu(void)
|
||||
@@ -174,26 +126,26 @@ void DrawJobListMenu(void)
|
||||
s32 x;
|
||||
unkStruct_802C39C local;
|
||||
|
||||
sub_8008C54(gUnknown_203B2E8->unk3C);
|
||||
sub_80073B8(gUnknown_203B2E8->unk3C);
|
||||
r4 = gUnknown_203B2E8->input.unk1E * 8;
|
||||
sub_8008C54(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
sub_80073B8(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
r4 = gUnknown_203B2E8->unk8.s0.input.unk1E * 8;
|
||||
x = r4;
|
||||
x += 10;
|
||||
PrintStringOnWindow(x, 0, sJobList, gUnknown_203B2E8->unk3C, 0);
|
||||
PrintStringOnWindow(x, 0, sJobList, gUnknown_203B2E8->unk8.s0.unk34, 0);
|
||||
|
||||
r4 += 4;
|
||||
x = r4 + (gUnknown_203B2E8->unkA4.f2 * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E8->input.unk1E + 1, 2, 7, gUnknown_203B2E8->unk3C);
|
||||
x = r4 + (gUnknown_203B2E8->unk8.unk9C.f2 * 8);
|
||||
sub_8012BC4(x, 0, gUnknown_203B2E8->unk8.s0.input.unk1E + 1, 2, 7, gUnknown_203B2E8->unk8.s0.unk34);
|
||||
|
||||
for (i = 0; i < gUnknown_203B2E8->input.unk1A; i++) {
|
||||
mail = GetJobSlotInfo(gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->input.unk1E * gUnknown_203B2E8->input.unk1C) + i]);
|
||||
local.unk0[0] = gUnknown_203B2E8->unk3C;
|
||||
local.y = sub_8013800(&gUnknown_203B2E8->input, i);
|
||||
for (i = 0; i < gUnknown_203B2E8->unk8.s0.input.unk1A; i++) {
|
||||
mail = GetJobSlotInfo(gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->unk8.s0.input.unk1E * gUnknown_203B2E8->unk8.s0.input.unk1C) + i]);
|
||||
local.unk0[0] = gUnknown_203B2E8->unk8.s0.unk34;
|
||||
local.y = sub_8013800(&gUnknown_203B2E8->unk8.s0.input, i);
|
||||
sub_803B35C(mail, &local);
|
||||
CreateRescueTitle(&local);
|
||||
}
|
||||
|
||||
sub_80073E0(gUnknown_203B2E8->unk3C);
|
||||
sub_80073E0(gUnknown_203B2E8->unk8.s0.unk34);
|
||||
}
|
||||
|
||||
static s32 CountAcceptedJobs(void)
|
||||
|
||||
@@ -8,12 +8,13 @@
|
||||
#include "menu_input.h"
|
||||
#include "pokemon_mail.h"
|
||||
#include "structs/str_802C39C.h"
|
||||
#include "structs/struct_sub80095e4.h"
|
||||
#include "structs/str_wonder_mail.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
#include "wonder_mail_802CDD4.h"
|
||||
|
||||
static EWRAM_DATA_2 unkStruct_203B2F4 *sUnknown_203B2F4 = {0};
|
||||
static EWRAM_DATA_2 struct_Sub80095E4_2 *sUnknown_203B2F4 = {0};
|
||||
|
||||
#include "data/wonder_mail_802CDD4.h"
|
||||
|
||||
@@ -22,17 +23,17 @@ static void sub_802CF5C(void);
|
||||
bool8 sub_802CDD4(u32 a0)
|
||||
{
|
||||
if (sUnknown_203B2F4 == NULL)
|
||||
sUnknown_203B2F4 = MemoryAlloc(sizeof(unkStruct_203B2F4), 8);
|
||||
sUnknown_203B2F4 = MemoryAlloc(sizeof(struct_Sub80095E4_2), 8);
|
||||
|
||||
sUnknown_203B2F4->unk34 = a0;
|
||||
sUnknown_203B2F4->unk38 = &sUnknown_203B2F4->unk3C[sUnknown_203B2F4->unk34];
|
||||
sub_8006518(sUnknown_203B2F4->unk3C);
|
||||
sUnknown_203B2F4->unk3C[sUnknown_203B2F4->unk34] = sUnknown_80DFDA4;
|
||||
sUnknown_203B2F4->unk38->unk14 = &sUnknown_203B2F4->unk9C;
|
||||
sub_8012D34(sUnknown_203B2F4->unk38, 4);
|
||||
sUnknown_203B2F4->s0.unk34 = a0;
|
||||
sUnknown_203B2F4->s0.unk38 = &sUnknown_203B2F4->s0.unk3C[sUnknown_203B2F4->s0.unk34];
|
||||
sub_8006518(sUnknown_203B2F4->s0.unk3C);
|
||||
sUnknown_203B2F4->s0.unk3C[sUnknown_203B2F4->s0.unk34] = sUnknown_80DFDA4;
|
||||
sUnknown_203B2F4->s0.unk38->unk14 = &sUnknown_203B2F4->unk9C;
|
||||
sub_8012D34(sUnknown_203B2F4->s0.unk38, 4);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B2F4->unk3C, TRUE, TRUE);
|
||||
sub_8013848(&sUnknown_203B2F4->input, 5, 4, a0);
|
||||
sub_800641C(sUnknown_203B2F4->s0.unk3C, TRUE, TRUE);
|
||||
sub_8013848(&sUnknown_203B2F4->s0.input, 5, 4, a0);
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
return TRUE;
|
||||
@@ -41,18 +42,18 @@ bool8 sub_802CDD4(u32 a0)
|
||||
u32 sub_802CE5C(bool8 a0)
|
||||
{
|
||||
if (!a0) {
|
||||
sub_8013660(&sUnknown_203B2F4->input);
|
||||
sub_8013660(&sUnknown_203B2F4->s0.input);
|
||||
return 0;
|
||||
}
|
||||
|
||||
switch (GetKeyPress(&sUnknown_203B2F4->input)) {
|
||||
switch (GetKeyPress(&sUnknown_203B2F4->s0.input)) {
|
||||
case INPUT_B_BUTTON:
|
||||
PlayMenuSoundEffect(1);
|
||||
return 2;
|
||||
case INPUT_A_BUTTON:
|
||||
return 3;
|
||||
default:
|
||||
if (sub_80138B8(&sUnknown_203B2F4->input, TRUE)) {
|
||||
if (sub_80138B8(&sUnknown_203B2F4->s0.input, TRUE)) {
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
return 1;
|
||||
@@ -63,90 +64,40 @@ u32 sub_802CE5C(bool8 a0)
|
||||
|
||||
u8 sub_802CEBC(void)
|
||||
{
|
||||
return (sUnknown_203B2F4->input.unk1E * sUnknown_203B2F4->input.unk1C) + sUnknown_203B2F4->input.menuIndex;
|
||||
return (sUnknown_203B2F4->s0.input.unk1E * sUnknown_203B2F4->s0.input.unk1C) + sUnknown_203B2F4->s0.input.menuIndex;
|
||||
}
|
||||
|
||||
void sub_802CED8(bool8 cursorSprite)
|
||||
{
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B2F4->unk3C, FALSE, FALSE);
|
||||
sub_8013984(&sUnknown_203B2F4->input);
|
||||
sub_800641C(sUnknown_203B2F4->s0.unk3C, FALSE, FALSE);
|
||||
sub_8013984(&sUnknown_203B2F4->s0.input);
|
||||
sub_802CF5C();
|
||||
sub_802CFD0();
|
||||
|
||||
if (cursorSprite)
|
||||
AddMenuCursorSprite(&sUnknown_203B2F4->input);
|
||||
AddMenuCursorSprite(&sUnknown_203B2F4->s0.input);
|
||||
}
|
||||
|
||||
void sub_802CF14(void)
|
||||
{
|
||||
if (sUnknown_203B2F4 != NULL) {
|
||||
sUnknown_203B2F4->unk3C[sUnknown_203B2F4->unk34] = sUnknown_80DFD8C;
|
||||
sUnknown_203B2F4->s0.unk3C[sUnknown_203B2F4->s0.unk34] = sUnknown_80DFD8C;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(sUnknown_203B2F4->unk3C, TRUE, TRUE);
|
||||
sub_800641C(sUnknown_203B2F4->s0.unk3C, TRUE, TRUE);
|
||||
MemoryFree(sUnknown_203B2F4);
|
||||
sUnknown_203B2F4 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
NAKED
|
||||
static void sub_802CF5C(void)
|
||||
{
|
||||
asm_unified(
|
||||
"\tpush {r4,lr}\n"
|
||||
"\tldr r4, _0802CFCC\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldrh r1, [r0, 0x20]\n"
|
||||
"\tadds r0, 0x9C\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldrh r1, [r0, 0x1E]\n"
|
||||
"\tadds r0, 0x9D\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x9E\n"
|
||||
"\tmovs r1, 0xC\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x9F\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tmovs r1, 0x1A\n"
|
||||
"\tldrsh r0, [r0, r1]\n"
|
||||
"\tmovs r1, 0x18\n"
|
||||
"\tbl sub_8009614\n"
|
||||
"\tadds r0, 0x2\n"
|
||||
"\tlsls r0, 16\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldr r3, [r2, 0x34]\n"
|
||||
"\tlsls r1, r3, 1\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tlsls r1, 3\n"
|
||||
"\tadds r1, r2, r1\n"
|
||||
"\tadds r1, 0x4A\n"
|
||||
"\tasrs r3, r0, 16\n"
|
||||
"\tlsrs r0, 16\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tldr r1, [r2, 0x34]\n"
|
||||
"\tlsls r0, r1, 1\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tadds r3, 0x2\n"
|
||||
"\tadds r2, 0x4C\n"
|
||||
"\tstrh r3, [r2]\n"
|
||||
"\tbl ResetUnusedInputStruct\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x3C\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_800641C\n"
|
||||
"\tpop {r4}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0802CFCC: .4byte sUnknown_203B2F4");
|
||||
sUnknown_203B2F4->unk9C.f0 = sUnknown_203B2F4->s0.input.unk20;
|
||||
sUnknown_203B2F4->unk9C.f1 = sUnknown_203B2F4->s0.input.unk1E;
|
||||
sUnknown_203B2F4->unk9C.f2 = 12;
|
||||
sUnknown_203B2F4->unk9C.f3 = 0;
|
||||
|
||||
SUB_8009614_CALL(sUnknown_203B2F4->s0);
|
||||
}
|
||||
|
||||
void sub_802CFD0(void)
|
||||
@@ -156,21 +107,21 @@ void sub_802CFD0(void)
|
||||
s32 r5;
|
||||
s32 r4;
|
||||
|
||||
sub_8008C54(sUnknown_203B2F4->unk34);
|
||||
sub_80073B8(sUnknown_203B2F4->unk34);
|
||||
sub_8008C54(sUnknown_203B2F4->s0.unk34);
|
||||
sub_80073B8(sUnknown_203B2F4->s0.unk34);
|
||||
|
||||
r5 = r4 = (sUnknown_203B2F4->input.unk1E * 8) + 10;
|
||||
PrintStringOnWindow(r5, 0, sRescueEvent, sUnknown_203B2F4->unk34, 0);
|
||||
r5 = r4 = (sUnknown_203B2F4->s0.input.unk1E * 8) + 10;
|
||||
PrintStringOnWindow(r5, 0, sRescueEvent, sUnknown_203B2F4->s0.unk34, 0);
|
||||
|
||||
r4 -= 6;
|
||||
r5 = r4 + (sUnknown_203B2F4->unk9C.f2 * 8);
|
||||
sub_8012BC4(r5, 0, sUnknown_203B2F4->input.unk1E + 1, 2, 7, sUnknown_203B2F4->unk34);
|
||||
sub_8012BC4(r5, 0, sUnknown_203B2F4->s0.input.unk1E + 1, 2, 7, sUnknown_203B2F4->s0.unk34);
|
||||
|
||||
for (r5 = 0; r5 < sUnknown_203B2F4->input.unk1A; r5++) {
|
||||
iVar1 = sub_803B344((sUnknown_203B2F4->input.unk1E * sUnknown_203B2F4->input.unk1C) + r5);
|
||||
for (r5 = 0; r5 < sUnknown_203B2F4->s0.input.unk1A; r5++) {
|
||||
iVar1 = sub_803B344((sUnknown_203B2F4->s0.input.unk1E * sUnknown_203B2F4->s0.input.unk1C) + r5);
|
||||
|
||||
local.unk0[0] = sUnknown_203B2F4->unk34;
|
||||
local.y = sub_8013800(&sUnknown_203B2F4->input, r5);
|
||||
local.unk0[0] = sUnknown_203B2F4->s0.unk34;
|
||||
local.y = sub_8013800(&sUnknown_203B2F4->s0.input, r5);
|
||||
sub_803B35C(&iVar1->mail, &local);
|
||||
|
||||
local.unk43 = 1;
|
||||
@@ -178,5 +129,5 @@ void sub_802CFD0(void)
|
||||
CreateRescueTitle(&local);
|
||||
}
|
||||
|
||||
sub_80073E0(sUnknown_203B2F4->unk34);
|
||||
sub_80073E0(sUnknown_203B2F4->s0.unk34);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user