mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 23:17:03 -05:00
more work
This commit is contained in:
parent
b7855b4de5
commit
a0dbdc84f9
|
|
@ -5,404 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_803B344
|
||||
sub_803B344:
|
||||
adds r1, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
lsls r0, r1, 3
|
||||
subs r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _0803B358
|
||||
adds r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0803B358: .4byte gUnknown_80E7F94
|
||||
thumb_func_end sub_803B344
|
||||
|
||||
thumb_func_start sub_803B35C
|
||||
sub_803B35C:
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r1, 0x18
|
||||
bl sub_803C21C
|
||||
ldrb r0, [r5, 0x2]
|
||||
subs r0, 0x1
|
||||
cmp r0, 0x8
|
||||
bls _0803B372
|
||||
b _0803B4FA
|
||||
_0803B372:
|
||||
lsls r0, 2
|
||||
ldr r1, _0803B37C
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0803B37C: .4byte _0803B380
|
||||
.align 2, 0
|
||||
_0803B380:
|
||||
.4byte _0803B3A4
|
||||
.4byte _0803B3BE
|
||||
.4byte _0803B3D8
|
||||
.4byte _0803B3F2
|
||||
.4byte _0803B414
|
||||
.4byte _0803B442
|
||||
.4byte _0803B470
|
||||
.4byte _0803B49E
|
||||
.4byte _0803B4CC
|
||||
_0803B3A4:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
adds r0, 0x1
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
subs r1, 0x14
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B3BE:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
adds r0, 0x1
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
subs r1, 0x14
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B3D8:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0x2
|
||||
strb r1, [r0]
|
||||
adds r0, 0x1
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
subs r1, 0x14
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B3F2:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0x3
|
||||
strb r1, [r0]
|
||||
adds r0, 0x1
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
bl sub_8096DD8
|
||||
str r0, [r4, 0x4C]
|
||||
bl sub_8096DE8
|
||||
str r0, [r4, 0x50]
|
||||
b _0803B578
|
||||
_0803B414:
|
||||
ldrb r0, [r5, 0x1]
|
||||
cmp r0, 0x3
|
||||
bne _0803B42A
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0xB
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x1
|
||||
b _0803B438
|
||||
_0803B42A:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0xC
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x2
|
||||
_0803B438:
|
||||
strb r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x41
|
||||
movs r0, 0x4
|
||||
b _0803B576
|
||||
_0803B442:
|
||||
ldrb r0, [r5, 0x1]
|
||||
cmp r0, 0x3
|
||||
bne _0803B458
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0xB
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x1
|
||||
b _0803B466
|
||||
_0803B458:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x40
|
||||
movs r1, 0xC
|
||||
strb r1, [r0]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x42
|
||||
movs r0, 0x2
|
||||
_0803B466:
|
||||
strb r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x41
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B470:
|
||||
adds r0, r5, 0
|
||||
bl sub_803B600
|
||||
str r0, [r4, 0x4]
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
cmp r0, r1
|
||||
bne _0803B488
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x9
|
||||
b _0803B48E
|
||||
_0803B488:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x4
|
||||
_0803B48E:
|
||||
strb r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x41
|
||||
movs r0, 0x6
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x4
|
||||
b _0803B576
|
||||
_0803B49E:
|
||||
adds r0, r5, 0
|
||||
bl sub_803B628
|
||||
str r0, [r4, 0x4]
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
cmp r0, r1
|
||||
bne _0803B4B6
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x9
|
||||
b _0803B4BC
|
||||
_0803B4B6:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x5
|
||||
_0803B4BC:
|
||||
strb r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x41
|
||||
movs r0, 0x7
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x4
|
||||
b _0803B576
|
||||
_0803B4CC:
|
||||
adds r0, r5, 0
|
||||
bl sub_803B66C
|
||||
str r0, [r4, 0x4]
|
||||
movs r1, 0x1
|
||||
negs r1, r1
|
||||
cmp r0, r1
|
||||
bne _0803B4E4
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0xA
|
||||
b _0803B4EA
|
||||
_0803B4E4:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x6
|
||||
_0803B4EA:
|
||||
strb r0, [r1]
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x41
|
||||
movs r0, 0x8
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B4FA:
|
||||
ldrb r0, [r5, 0x1]
|
||||
cmp r0, 0x2
|
||||
beq _0803B528
|
||||
cmp r0, 0x2
|
||||
bgt _0803B50A
|
||||
cmp r0, 0x1
|
||||
beq _0803B514
|
||||
b _0803B564
|
||||
_0803B50A:
|
||||
cmp r0, 0x3
|
||||
beq _0803B53C
|
||||
cmp r0, 0x4
|
||||
beq _0803B550
|
||||
b _0803B564
|
||||
_0803B514:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x9
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0xD
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x4
|
||||
b _0803B576
|
||||
_0803B528:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0xA
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0xE
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x5
|
||||
b _0803B576
|
||||
_0803B53C:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0xB
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0xF
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x1
|
||||
b _0803B576
|
||||
_0803B550:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0xC
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x10
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x2
|
||||
b _0803B576
|
||||
_0803B564:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x40
|
||||
movs r0, 0x8
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0xC
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x3
|
||||
_0803B576:
|
||||
strb r0, [r1]
|
||||
_0803B578:
|
||||
adds r0, r5, 0x4
|
||||
str r0, [r4, 0x8]
|
||||
movs r0, 0
|
||||
str r0, [r4, 0xC]
|
||||
ldrh r0, [r5, 0xC]
|
||||
movs r1, 0
|
||||
strh r0, [r4, 0x10]
|
||||
ldrh r0, [r5, 0xE]
|
||||
strh r0, [r4, 0x12]
|
||||
ldrb r0, [r5, 0x10]
|
||||
strb r0, [r4, 0x14]
|
||||
ldrb r0, [r5]
|
||||
subs r0, 0x2
|
||||
cmp r0, 0x7
|
||||
bhi _0803B5EC
|
||||
lsls r0, 2
|
||||
ldr r1, _0803B5A0
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0803B5A0: .4byte _0803B5A4
|
||||
.align 2, 0
|
||||
_0803B5A4:
|
||||
.4byte _0803B5C4
|
||||
.4byte _0803B5C4
|
||||
.4byte _0803B5C4
|
||||
.4byte _0803B5C4
|
||||
.4byte _0803B5DC
|
||||
.4byte _0803B5CC
|
||||
.4byte _0803B5DC
|
||||
.4byte _0803B5DC
|
||||
_0803B5C4:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x43
|
||||
movs r1, 0x1
|
||||
b _0803B5F0
|
||||
_0803B5CC:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x43
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x3
|
||||
strb r0, [r1]
|
||||
b _0803B5F6
|
||||
_0803B5DC:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x43
|
||||
movs r0, 0x3
|
||||
strb r0, [r1]
|
||||
adds r1, 0x1
|
||||
movs r0, 0x2
|
||||
strb r0, [r1]
|
||||
b _0803B5F6
|
||||
_0803B5EC:
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x43
|
||||
_0803B5F0:
|
||||
strb r1, [r0]
|
||||
adds r0, 0x1
|
||||
strb r1, [r0]
|
||||
_0803B5F6:
|
||||
str r5, [r4, 0x54]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_803B35C
|
||||
|
||||
thumb_func_start sub_803B600
|
||||
sub_803B600:
|
||||
push {lr}
|
||||
ldr r2, _0803B614
|
||||
movs r1, 0
|
||||
ldr r3, [r0, 0xC]
|
||||
_0803B608:
|
||||
ldr r0, [r2]
|
||||
cmp r0, r3
|
||||
bne _0803B618
|
||||
adds r0, r1, 0
|
||||
b _0803B624
|
||||
.align 2, 0
|
||||
_0803B614: .4byte gUnknown_80E9920
|
||||
_0803B618:
|
||||
adds r2, 0x8
|
||||
adds r1, 0x1
|
||||
cmp r1, 0x14
|
||||
ble _0803B608
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_0803B624:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_803B600
|
||||
|
||||
thumb_func_start sub_803B628
|
||||
sub_803B628:
|
||||
push {r4,r5,lr}
|
||||
|
|
|
|||
|
|
@ -12,15 +12,10 @@ typedef struct unkStruct_802C39C
|
|||
/* 0x10 */ s16 clientSpecies;
|
||||
/* 0x12 */ s16 targetSpecies;
|
||||
/* 0x14 */ u8 targetItem;
|
||||
/* 0x15 */ u8 fill15[0x2E - 0x15];
|
||||
/* 0x2E */ u8 rewardType;
|
||||
u8 *unk30;
|
||||
/* 0x34 */ u8 rewardItem;
|
||||
u8 fill35[0x38 - 0x35];
|
||||
/* 0x38 */ u8 unk38[0x40 - 0x38];
|
||||
u8 mailTitleType;
|
||||
u8 mailDescriptionType;
|
||||
u8 mailMissionType;
|
||||
/* 0x18 */ unkStruct_802F204 unk18;
|
||||
/* 0x40 */ u8 mailTitleType;
|
||||
/* 0x41 */ u8 mailDescriptionType;
|
||||
/* 0x42 */ u8 mailMissionType;
|
||||
u8 unk43;
|
||||
u8 mailStatus; // mail status (suspend / take job / done)
|
||||
/* 0x48 */ u32 y;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
#include "global.h"
|
||||
#include "globaldata.h"
|
||||
#include "structs/str_ground_script.h"
|
||||
#include "code_803C1D0.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "menu_input.h"
|
||||
#include "music_util.h"
|
||||
#include "pokemon_mail.h"
|
||||
#include "text_1.h"
|
||||
#include "text_2.h"
|
||||
#include "text_3.h"
|
||||
|
|
@ -19,6 +21,8 @@ EWRAM_INIT struct unkStruct_203B3FC *gUnknown_203B3FC = NULL;
|
|||
|
||||
extern WindowTemplate gUnknown_80E7F3C;
|
||||
|
||||
|
||||
// https://decomp.me/scratch/xx1GB - 91.35% matched (Seth)
|
||||
NAKED
|
||||
bool8 sub_803B050(void)
|
||||
{
|
||||
|
|
@ -205,3 +209,200 @@ void sub_803B284(void)
|
|||
|
||||
sub_80073E0(gUnknown_203B3FC->mh.m.menuWinId);
|
||||
}
|
||||
|
||||
NAKED
|
||||
unkStruct_803B344 *sub_803B344(u8 r0)
|
||||
{
|
||||
asm_unified(
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tlsls r1, 24\n"
|
||||
"\tlsrs r1, 24\n"
|
||||
"\tlsls r0, r1, 3\n"
|
||||
"\tsubs r0, r1\n"
|
||||
"\tlsls r0, 2\n"
|
||||
"\tldr r1, _0803B358\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tbx lr\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0803B358: .4byte gUnknown_80E7F94");
|
||||
}
|
||||
|
||||
u8 *sub_8096DD8(void);
|
||||
u8 *sub_8096DE8(void);
|
||||
static s32 sub_803B600(WonderMail *);
|
||||
s32 sub_803B628(WonderMail *);
|
||||
s32 sub_803B66C(WonderMail *);
|
||||
|
||||
void sub_803B35C(WonderMail *mail,unkStruct_802C39C *param_2)
|
||||
{
|
||||
u8 uVar2;
|
||||
|
||||
sub_803C21C(mail, ¶m_2->unk18);
|
||||
switch(mail->unk2) {
|
||||
case '\x01':
|
||||
param_2->mailTitleType = 0;
|
||||
param_2->mailDescriptionType = 0;
|
||||
param_2->mailMissionType = MISSION_TYPE_SPECIAL_MISSION;
|
||||
param_2->unk18.rewardType = 5;
|
||||
break;
|
||||
case '\x02':
|
||||
param_2->mailTitleType = 1;
|
||||
param_2->mailDescriptionType = 1;
|
||||
param_2->mailMissionType = MISSION_TYPE_SPECIAL_MISSION;
|
||||
param_2->unk18.rewardType = 5;
|
||||
break;
|
||||
case '\x03':
|
||||
param_2->mailTitleType = 2;
|
||||
param_2->mailDescriptionType = 2;
|
||||
param_2->mailMissionType = MISSION_TYPE_SPECIAL_MISSION;
|
||||
param_2->unk18.rewardType = 5;
|
||||
break;
|
||||
case '\x04':
|
||||
param_2->mailTitleType = 3;
|
||||
param_2->mailDescriptionType = 3;
|
||||
param_2->mailMissionType = MISSION_TYPE_SPECIAL_MISSION;
|
||||
param_2->unk4C = sub_8096DD8();
|
||||
param_2->unk50 = sub_8096DE8();
|
||||
break;
|
||||
case '\x05':
|
||||
if (mail->missionType == MISSION_TYPE_RESCUE_CLIENT) {
|
||||
param_2->mailTitleType = '\v';
|
||||
param_2->mailMissionType = MISSION_TYPE_FIND_ITEM;
|
||||
}
|
||||
else {
|
||||
param_2->mailTitleType = '\f';
|
||||
param_2->mailMissionType = MISSION_TYPE_DELIVER_ITEM;
|
||||
}
|
||||
|
||||
param_2->mailDescriptionType = 4;
|
||||
break;
|
||||
case '\x06':
|
||||
if (mail->missionType == 3) {
|
||||
param_2->mailTitleType = '\v';
|
||||
param_2->mailMissionType = MISSION_TYPE_FIND_ITEM;
|
||||
}
|
||||
else {
|
||||
param_2->mailTitleType = '\f';
|
||||
param_2->mailMissionType = MISSION_TYPE_DELIVER_ITEM;
|
||||
}
|
||||
|
||||
param_2->mailDescriptionType = 5;
|
||||
break;
|
||||
case '\a':
|
||||
param_2->unk0[1] = sub_803B600(mail);
|
||||
if (param_2->unk0[1] == -1) {
|
||||
param_2->mailTitleType = 9;
|
||||
}
|
||||
else {
|
||||
param_2->mailTitleType = 4;
|
||||
}
|
||||
|
||||
param_2->mailDescriptionType = 6;
|
||||
param_2->mailMissionType = MISSION_TYPE_RESCUE_TARGET;
|
||||
break;
|
||||
case '\b':
|
||||
param_2->unk0[1] = sub_803B628(mail);
|
||||
if (param_2->unk0[1] == -1) {
|
||||
param_2->mailTitleType = 9;
|
||||
}
|
||||
else {
|
||||
param_2->mailTitleType = 5;
|
||||
}
|
||||
param_2->mailDescriptionType = 7;
|
||||
param_2->mailMissionType = MISSION_TYPE_RESCUE_TARGET;
|
||||
break;
|
||||
case '\t':
|
||||
param_2->unk0[1] = sub_803B66C(mail);
|
||||
if (param_2->unk0[1] == -1) {
|
||||
param_2->mailTitleType = 0xA;
|
||||
}
|
||||
else {
|
||||
param_2->mailTitleType = 6;
|
||||
}
|
||||
|
||||
param_2->mailDescriptionType = '\b';
|
||||
param_2->mailMissionType = MISSION_TYPE_ESCORT_CLIENT;
|
||||
break;
|
||||
default:
|
||||
switch(mail->missionType)
|
||||
{
|
||||
case 1:
|
||||
param_2->mailTitleType = '\t';
|
||||
param_2->mailDescriptionType = '\r';
|
||||
param_2->mailMissionType = MISSION_TYPE_RESCUE_TARGET;
|
||||
break;
|
||||
case 2:
|
||||
param_2->mailTitleType = '\n';
|
||||
param_2->mailDescriptionType = '\x0e';
|
||||
param_2->mailMissionType = MISSION_TYPE_ESCORT_CLIENT;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
param_2->mailTitleType = '\v';
|
||||
param_2->mailDescriptionType = '\x0f';
|
||||
param_2->mailMissionType = MISSION_TYPE_FIND_ITEM;
|
||||
break;
|
||||
case 4:
|
||||
param_2->mailTitleType = '\f';
|
||||
param_2->mailDescriptionType = '\x10';
|
||||
param_2->mailMissionType = MISSION_TYPE_DELIVER_ITEM;
|
||||
break;
|
||||
default:
|
||||
param_2->mailTitleType = 8;
|
||||
param_2->mailDescriptionType = 0xC;
|
||||
param_2->mailMissionType = MISSION_TYPE_RESCUE_CLIENT;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
param_2->dungeonSeed = &mail->dungeonSeed;
|
||||
param_2->playerName = NULL;
|
||||
uVar2 = 0;
|
||||
param_2->clientSpecies = mail->clientSpecies;
|
||||
param_2->targetSpecies = mail->targetSpecies;
|
||||
param_2->targetItem = mail->targetItem;
|
||||
switch(mail->mailType) {
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
param_2->unk43 = 1;
|
||||
param_2->mailStatus = 1;
|
||||
break;
|
||||
case 7:
|
||||
param_2->unk43 = 0;
|
||||
param_2->mailStatus = 3;
|
||||
break;
|
||||
case 6:
|
||||
case 8:
|
||||
case 9:
|
||||
param_2->unk43 = 3;
|
||||
param_2->mailStatus = 2;
|
||||
break;
|
||||
|
||||
default:
|
||||
param_2->unk43 = uVar2;
|
||||
param_2->mailStatus = uVar2;
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
param_2->mail = mail;
|
||||
return;
|
||||
}
|
||||
|
||||
static s32 sub_803B600(WonderMail *mail)
|
||||
{
|
||||
s32 index;
|
||||
const unkStruct_80E9920 *ptr;
|
||||
|
||||
for(ptr = &gUnknown_80E9920[0], index = 0; index < ARRAY_COUNT_INT(gUnknown_80E9920); ptr++, index++)
|
||||
{
|
||||
if ((ptr->parentSpecies == mail->clientSpecies) && (ptr->childSpecies == mail->targetSpecies)) {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -334,26 +334,26 @@ void CreateRescueDescription(unkStruct_802C39C *param_1)
|
|||
y += 12;
|
||||
PrintStringOnWindow(10, y, gRewardText, param_1->unk0[0], 0);
|
||||
|
||||
switch (param_1->rewardType) {
|
||||
switch (param_1->unk18.rewardType) {
|
||||
case MONEY:
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], param_1->unk30);
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->unk18.rewardType], param_1->unk18.moneyReward);
|
||||
PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0);
|
||||
break;
|
||||
case MONEY_EXTRA:
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], param_1->unk30);
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->unk18.rewardType], param_1->unk18.moneyReward);
|
||||
PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0);
|
||||
break;
|
||||
case ITEM: // Item
|
||||
case ITEM_EXTRA: // Item + ?
|
||||
BufferItemName(gFormatBuffer_Items[0], param_1->rewardItem, NULL);
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->rewardType], gFormatBuffer_Items[0]);
|
||||
BufferItemName(gFormatBuffer_Items[0], param_1->unk18.itemRewards[0], NULL);
|
||||
sprintfStatic(buf_1, gMissionRewardText[param_1->unk18.rewardType], gFormatBuffer_Items[0]);
|
||||
PrintStringOnWindow(68, y, buf_1, param_1->unk0[0], 0);
|
||||
break;
|
||||
case 4: // Friend Area
|
||||
PrintStringOnWindow(68, y, gMissionRewardText[param_1->rewardType], param_1->unk0[0], 0);
|
||||
PrintStringOnWindow(68, y, gMissionRewardText[param_1->unk18.rewardType], param_1->unk0[0], 0);
|
||||
break;
|
||||
default:
|
||||
PrintStringOnWindow(68, y, gMissionRewardText[param_1->rewardType], param_1->unk0[0], 0);
|
||||
PrintStringOnWindow(68, y, gMissionRewardText[param_1->unk18.rewardType], param_1->unk0[0], 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ void sub_803092C(void)
|
|||
local.clientSpecies = mail->clientSpecies;
|
||||
local.targetSpecies = mail->clientSpecies;
|
||||
local.targetItem = ITEM_NOTHING;
|
||||
local.rewardType = MONEY1;
|
||||
local.unk18.rewardType = MONEY1;
|
||||
|
||||
switch(mail->mailType)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -129,11 +129,11 @@ void sub_8030E48(void)
|
|||
stack.targetSpecies = mail->clientSpecies;
|
||||
stack.targetItem = ITEM_NOTHING;
|
||||
if (mail->item.id == ITEM_NOTHING) {
|
||||
stack.rewardType = MONEY1;
|
||||
stack.unk18.rewardType = MONEY1;
|
||||
}
|
||||
else {
|
||||
stack.rewardType = ITEM;
|
||||
stack.rewardItem = mail->item.id;
|
||||
stack.unk18.rewardType = ITEM;
|
||||
stack.unk18.itemRewards[0] = mail->item.id;
|
||||
}
|
||||
switch(mail->mailType)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user