mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 06:57:18 -05:00
decomp most funcs with CreateRescueTitle
This commit is contained in:
parent
b0217dd778
commit
10248ae248
|
|
@ -884,8 +884,8 @@ sub_803B6B0:
|
|||
_0803B6D0: .4byte gUnknown_80E8B94
|
||||
thumb_func_end sub_803B6B0
|
||||
|
||||
thumb_func_start sub_803B6D4
|
||||
sub_803B6D4:
|
||||
thumb_func_start CreateRescueTitle
|
||||
CreateRescueTitle:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x144
|
||||
adds r7, r0, 0
|
||||
|
|
@ -1204,7 +1204,7 @@ _0803B968:
|
|||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_803B6D4
|
||||
thumb_func_end CreateRescueTitle
|
||||
|
||||
thumb_func_start CreateRescueDescription
|
||||
CreateRescueDescription:
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ sub_803C1F0:
|
|||
_0803C1FC: .4byte gUnknown_80E8BF8
|
||||
thumb_func_end sub_803C1F0
|
||||
|
||||
thumb_func_start sub_803C200
|
||||
sub_803C200:
|
||||
thumb_func_start GetDungeonTeamRankPts
|
||||
GetDungeonTeamRankPts:
|
||||
push {lr}
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
|
|
@ -51,7 +51,7 @@ sub_803C200:
|
|||
bx r1
|
||||
.align 2, 0
|
||||
_0803C218: .4byte gUnknown_80E80A0
|
||||
thumb_func_end sub_803C200
|
||||
thumb_func_end GetDungeonTeamRankPts
|
||||
|
||||
thumb_func_start sub_803C21C
|
||||
sub_803C21C:
|
||||
|
|
@ -225,7 +225,7 @@ _0803C35A:
|
|||
strh r0, [r4, 0x14]
|
||||
ldrb r1, [r6, 0x1]
|
||||
adds r0, r5, 0
|
||||
bl sub_803C200
|
||||
bl GetDungeonTeamRankPts
|
||||
str r0, [r4, 0x24]
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
|
|
|
|||
|
|
@ -2009,8 +2009,8 @@ _080969C2:
|
|||
bx r1
|
||||
thumb_func_end GetNumAcceptedJobs
|
||||
|
||||
thumb_func_start sub_80969D0
|
||||
sub_80969D0:
|
||||
thumb_func_start CountJobsinDungeon
|
||||
CountJobsinDungeon:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
|
|
@ -2041,7 +2041,7 @@ _080969FA:
|
|||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80969D0
|
||||
thumb_func_end CountJobsinDungeon
|
||||
|
||||
thumb_func_start sub_8096A08
|
||||
sub_8096A08:
|
||||
|
|
|
|||
|
|
@ -1453,7 +1453,7 @@ _08033512:
|
|||
strb r1, [r0]
|
||||
adds r0, r2, 0x4
|
||||
movs r1, 0
|
||||
bl sub_803C200
|
||||
bl GetDungeonTeamRankPts
|
||||
ldr r1, [r4]
|
||||
movs r3, 0xAC
|
||||
lsls r3, 3
|
||||
|
|
|
|||
|
|
@ -7349,7 +7349,7 @@ _080A1730:
|
|||
bl sub_80A2740
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_80969D0
|
||||
bl CountJobsinDungeon
|
||||
movs r1, 0
|
||||
cmp r0, 0
|
||||
ble _080A1750
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ _0802FCA8:
|
|||
cmp r5, 0
|
||||
bne _0802FCCA
|
||||
mov r0, r9
|
||||
bl sub_80969D0
|
||||
bl CountJobsinDungeon
|
||||
cmp r0, 0
|
||||
ble _0802FCCA
|
||||
ldr r0, [r4]
|
||||
|
|
|
|||
|
|
@ -5,239 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80308A0
|
||||
sub_80308A0:
|
||||
push {r4,lr}
|
||||
ldr r4, _08030928
|
||||
ldr r0, [r4]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x44
|
||||
ldrh r1, [r1]
|
||||
adds r0, 0xC0
|
||||
movs r2, 0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r4]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x42
|
||||
ldrh r1, [r1]
|
||||
adds r0, 0xC1
|
||||
strb r1, [r0]
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xC2
|
||||
movs r1, 0xC
|
||||
strb r1, [r0]
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xC3
|
||||
strb r2, [r0]
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x60
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_800641C
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x3E
|
||||
ldrsh r0, [r0, r1]
|
||||
movs r1, 0xC
|
||||
bl sub_80095E4
|
||||
adds r0, 0x2
|
||||
lsls r0, 16
|
||||
ldr r2, [r4]
|
||||
ldr r3, [r2, 0x58]
|
||||
lsls r1, r3, 1
|
||||
adds r1, r3
|
||||
lsls r1, 3
|
||||
adds r1, r2, r1
|
||||
adds r1, 0x6E
|
||||
asrs r3, r0, 16
|
||||
lsrs r0, 16
|
||||
strh r0, [r1]
|
||||
ldr r1, [r2, 0x58]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r2, r0
|
||||
adds r3, 0x2
|
||||
adds r2, 0x70
|
||||
strh r3, [r2]
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x60
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_800641C
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08030928: .4byte gUnknown_203B320
|
||||
thumb_func_end sub_80308A0
|
||||
|
||||
thumb_func_start sub_803092C
|
||||
sub_803092C:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x60
|
||||
ldr r7, _08030A24
|
||||
ldr r0, [r7]
|
||||
ldr r0, [r0, 0x58]
|
||||
bl sub_8008C54
|
||||
ldr r0, [r7]
|
||||
ldr r0, [r0, 0x58]
|
||||
bl sub_80073B8
|
||||
ldr r1, [r7]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x42
|
||||
movs r2, 0
|
||||
ldrsh r4, [r0, r2]
|
||||
lsls r4, 3
|
||||
adds r5, r4, 0
|
||||
adds r5, 0xA
|
||||
ldr r2, _08030A28
|
||||
ldr r0, [r1, 0x20]
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldr r2, [r0]
|
||||
ldr r3, [r1, 0x58]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl xxx_call_draw_string
|
||||
adds r4, 0x4
|
||||
ldr r3, [r7]
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xC2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 3
|
||||
adds r5, r4, r0
|
||||
adds r0, r3, 0
|
||||
adds r0, 0x42
|
||||
movs r1, 0
|
||||
ldrsh r2, [r0, r1]
|
||||
adds r2, 0x1
|
||||
movs r0, 0x7
|
||||
str r0, [sp]
|
||||
ldr r0, [r3, 0x58]
|
||||
str r0, [sp, 0x4]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
movs r3, 0x1
|
||||
bl sub_8012BC4
|
||||
movs r6, 0
|
||||
ldr r0, [r7]
|
||||
movs r2, 0x3E
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r6, r0
|
||||
bge _08030A56
|
||||
mov r9, r7
|
||||
mov r8, r6
|
||||
add r7, sp, 0x8
|
||||
mov r5, sp
|
||||
adds r5, 0x4B
|
||||
_080309B0:
|
||||
mov r3, r9
|
||||
ldr r1, [r3]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x42
|
||||
movs r3, 0
|
||||
ldrsh r2, [r0, r3]
|
||||
subs r0, 0x2
|
||||
movs r3, 0
|
||||
ldrsh r0, [r0, r3]
|
||||
muls r0, r2
|
||||
adds r0, r6
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
bl sub_8095228
|
||||
adds r4, r0, 0
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
ldr r1, [r0, 0x58]
|
||||
str r1, [sp, 0x8]
|
||||
adds r0, 0x24
|
||||
adds r1, r6, 0
|
||||
bl sub_8013800
|
||||
str r0, [sp, 0x50]
|
||||
add r1, sp, 0x48
|
||||
movs r0, 0x7
|
||||
strb r0, [r1]
|
||||
mov r0, sp
|
||||
adds r0, 0x4A
|
||||
mov r2, r8
|
||||
strb r2, [r0]
|
||||
add r0, sp, 0x4C
|
||||
strb r2, [r0]
|
||||
adds r0, r4, 0x4
|
||||
str r0, [sp, 0x10]
|
||||
adds r0, 0x10
|
||||
str r0, [sp, 0x14]
|
||||
ldrh r0, [r4, 0xC]
|
||||
strh r0, [r7, 0x10]
|
||||
ldrh r0, [r4, 0xC]
|
||||
strh r0, [r7, 0x12]
|
||||
strb r2, [r7, 0x14]
|
||||
subs r1, 0x12
|
||||
movs r0, 0x5
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0x4
|
||||
beq _08030A32
|
||||
cmp r0, 0x4
|
||||
bgt _08030A2C
|
||||
cmp r0, 0x2
|
||||
bgt _08030A3E
|
||||
cmp r0, 0x1
|
||||
blt _08030A3E
|
||||
movs r0, 0x1
|
||||
strb r0, [r5]
|
||||
b _08030A42
|
||||
.align 2, 0
|
||||
_08030A24: .4byte gUnknown_203B320
|
||||
_08030A28: .4byte gUnknown_80E086C
|
||||
_08030A2C:
|
||||
cmp r0, 0x5
|
||||
beq _08030A38
|
||||
b _08030A3E
|
||||
_08030A32:
|
||||
movs r0, 0x3
|
||||
strb r0, [r5]
|
||||
b _08030A42
|
||||
_08030A38:
|
||||
movs r0, 0x4
|
||||
strb r0, [r5]
|
||||
b _08030A42
|
||||
_08030A3E:
|
||||
mov r3, r8
|
||||
strb r3, [r5]
|
||||
_08030A42:
|
||||
add r0, sp, 0x8
|
||||
bl sub_803B6D4
|
||||
adds r6, 0x1
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
movs r2, 0x3E
|
||||
ldrsh r0, [r0, r2]
|
||||
cmp r6, r0
|
||||
blt _080309B0
|
||||
_08030A56:
|
||||
ldr r0, _08030A70
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x58]
|
||||
bl sub_80073E0
|
||||
add sp, 0x60
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08030A70: .4byte gUnknown_203B320
|
||||
thumb_func_end sub_803092C
|
||||
|
||||
thumb_func_start sub_8030A74
|
||||
sub_8030A74:
|
||||
push {r4,r5,lr}
|
||||
|
|
|
|||
|
|
@ -736,7 +736,7 @@ _0802D034:
|
|||
ldr r0, [r4, 0x14]
|
||||
str r0, [sp, 0x54]
|
||||
add r0, sp, 0x8
|
||||
bl sub_803B6D4
|
||||
bl CreateRescueTitle
|
||||
adds r5, 0x1
|
||||
_0802D076:
|
||||
ldr r0, [r6]
|
||||
|
|
|
|||
|
|
@ -7,8 +7,7 @@ struct unkStruct_8095228
|
|||
/* 0x1 */ u8 missionType; // mission type
|
||||
/* 0x2 */ u8 unk2;
|
||||
/* 0x3 */ u8 unk3;
|
||||
/* 0x4 */ u8 dungeon; // dungeon
|
||||
/* 0x5 */ u8 floor; // floor
|
||||
/* 0x4 */ struct DungeonLocation dungeon; // dungeon
|
||||
/* 0x8 */ u32 unk8;
|
||||
/* 0xC */ s16 clientSpecies; // client pokemon
|
||||
/* 0xE */ s16 targetSpecies; // target
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "pokemon.h"
|
||||
#include "file_system.h"
|
||||
#include "input.h"
|
||||
#include "constants/mailbox.h"
|
||||
#include "menu.h"
|
||||
#include "memory.h"
|
||||
#include "text.h"
|
||||
|
|
@ -185,7 +186,7 @@ extern void DisplayMissionObjectives();
|
|||
extern u8 *GetCurrentMissionText(s16 r0);
|
||||
extern u8 *sub_80975DC(u32 r0);
|
||||
extern u8 sub_8099360(u8 *);
|
||||
extern u8 sub_8099394(u8 *);
|
||||
extern u8 sub_8099394(volatile u8 *);
|
||||
extern struct WonderMail *GetJobSlotInfo(u8);
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, const u8 *, u32 , u32);
|
||||
extern void sub_80073B8(u32);
|
||||
|
|
@ -208,7 +209,7 @@ extern void ReturntoGoRescueMenu();
|
|||
extern void HandlePostOfficeHelpGetHelpMenuSelection();
|
||||
extern void ReturnToGetHelpMenu();
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern s32 sub_80969D0(u8);
|
||||
extern s32 CountJobsinDungeon(u8);
|
||||
extern void sub_8012D08(struct UnkTextStruct2 *, s32);
|
||||
|
||||
|
||||
|
|
@ -582,7 +583,7 @@ void sub_8031A84(void)
|
|||
sub_8006518(gUnknown_203B330->unk18);
|
||||
gUnknown_203B330->unk18[gUnknown_203B330->unk10] = gUnknown_80E1F18;
|
||||
if (gUnknown_203B330->unkC == 2) {
|
||||
iVar1 = sub_80969D0(gUnknown_203B330->dungeonIndex);
|
||||
iVar1 = CountJobsinDungeon(gUnknown_203B330->dungeonIndex);
|
||||
if (iVar1 == 0) {
|
||||
iVar1 = 1;
|
||||
}
|
||||
|
|
@ -599,7 +600,7 @@ void DisplayMissionObjectives(void)
|
|||
struct unkStruct_8095228 *iVar8;
|
||||
struct WonderMail *jobInfo;
|
||||
u8 auStack248 [100];
|
||||
u8 local_94 [4];
|
||||
volatile u8 local_94;
|
||||
u8 auStack144 [100];
|
||||
short auStack44;
|
||||
short local_2a;
|
||||
|
|
@ -611,18 +612,18 @@ void DisplayMissionObjectives(void)
|
|||
switch(gUnknown_203B330->unkC)
|
||||
{
|
||||
case 1:
|
||||
sub_8099394(local_94);
|
||||
iVar8 = sub_8095228(local_94[0]);
|
||||
sub_8099394(&local_94);
|
||||
iVar8 = sub_8095228(local_94);
|
||||
sub_803B6B0(10,16,3,gUnknown_203B330->unk10);
|
||||
// %dF
|
||||
sprintf_2(auStack248,gUnknown_80E1F3C,iVar8->floor);
|
||||
sprintf_2(auStack248,gUnknown_80E1F3C,iVar8->dungeon.dungeonFloor);
|
||||
xxx_call_draw_string(0x15,16,auStack248,gUnknown_203B330->unk10,0);
|
||||
// Rescue #C6%s#R
|
||||
sprintf_2(auStack248,gUnknown_80E1F40,GetMonSpecies(iVar8->clientSpecies));
|
||||
xxx_call_draw_string(0x28,16,auStack248,gUnknown_203B330->unk10,0);
|
||||
break;
|
||||
case 2:
|
||||
if (sub_80969D0(gUnknown_203B330->dungeonIndex) == 0) {
|
||||
if (CountJobsinDungeon(gUnknown_203B330->dungeonIndex) == 0) {
|
||||
// Just go!
|
||||
xxx_call_draw_string(10,16,gUnknown_80E1F54,gUnknown_203B330->unk10,0);
|
||||
}
|
||||
|
|
@ -631,7 +632,7 @@ void DisplayMissionObjectives(void)
|
|||
yCoord = 16;
|
||||
|
||||
// 8 Job Slots... check each of them
|
||||
for(jobSlotIdx = 0; jobSlotIdx < 8; jobSlotIdx++)
|
||||
for(jobSlotIdx = 0; jobSlotIdx < MAX_ACCEPTED_JOBS; jobSlotIdx++)
|
||||
{
|
||||
jobInfo = GetJobSlotInfo(jobSlotIdx);
|
||||
if ((((jobInfo->dungeon == gUnknown_203B330->dungeonIndex) && (jobInfo->mailType != 0)
|
||||
|
|
|
|||
|
|
@ -454,7 +454,7 @@ u32 ConvertMenutoRescuePasswordState(u32 unused)
|
|||
u32 sub_8039068(u32 mailMode, u8 *passwordBuffer, struct unkStruct_8095228 *param_3)
|
||||
{
|
||||
if ( (!sub_803D204(passwordBuffer, param_3)) || (7 < param_3->mailType) ||
|
||||
(param_3->floor >= GetDungeonFloorCount(param_3->dungeon)) ||
|
||||
(param_3->dungeon.dungeonFloor >= GetDungeonFloorCount(param_3->dungeon.dungeonIndex)) ||
|
||||
(param_3->clientSpecies == SPECIES_NONE) || (SPECIES_RAYQUAZA_CUTSCENE < param_3->clientSpecies) ||
|
||||
(IsInvalidItemReward(param_3->unk20.itemIndex))) {
|
||||
return PASSWORD_ENTRY_INCORRECT_PASSWORD;
|
||||
|
|
|
|||
|
|
@ -237,7 +237,7 @@ extern s32 sub_80381F4(u32, void *, void *);
|
|||
extern void sub_801C8C4(u32, u32, s32 * , u32);
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern u8 sub_800D588(void);
|
||||
extern u32 sub_803C200(u8 *, u32);
|
||||
extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void sub_8031D70(u8, u32);
|
||||
|
||||
extern void sub_803092C(void);
|
||||
|
|
@ -1420,7 +1420,7 @@ void UpdateThankYouMailText(void)
|
|||
else
|
||||
gUnknown_203B2C4->unk53C.itemRewards[0] = 0; // unk558
|
||||
gUnknown_203B2C4->unk53C.numItems = 1; // unk55B
|
||||
gUnknown_203B2C4->unk53C.teamRankPtsReward = sub_803C200(&puVar4->dungeon, 0); // unk560
|
||||
gUnknown_203B2C4->unk53C.teamRankPtsReward = GetDungeonTeamRankPts(&puVar4->dungeon, 0); // unk560
|
||||
gUnknown_203B2C4->unk53C.itemRewards[1] = 0; // unk559
|
||||
gUnknown_203B2C4->unk53C.itemRewards[2] = 0; // unk55A
|
||||
gUnknown_203B2C4->unk53C.friendAreaReward = 0; // unk55C
|
||||
|
|
|
|||
|
|
@ -1172,7 +1172,7 @@ void sub_8028FDC(void)
|
|||
{
|
||||
case 8:
|
||||
return_var = sub_8095228(gUnknown_203B2C0->unk218);
|
||||
if(sub_80A2824(return_var->dungeon) == 0)
|
||||
if(sub_80A2824(return_var->dungeon.dungeonIndex) == 0)
|
||||
{
|
||||
sub_8028B04(0x1C);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,8 +141,8 @@ extern void sub_802B5FC(void);
|
|||
extern void sub_802B624(void);
|
||||
|
||||
extern void sub_802F204(struct unkStruct_802F204 *, u32);
|
||||
extern void sub_803C37C(u8 *, u32, u8 *);
|
||||
extern u32 sub_803C200(u8 *, u32);
|
||||
extern void sub_803C37C(struct DungeonLocation *, u32, u8 *);
|
||||
extern u32 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
|
||||
extern u8 sub_80023E4(u32);
|
||||
extern void nullsub_131(void);
|
||||
|
|
@ -387,7 +387,7 @@ void sub_802B3E0(void)
|
|||
sub_8097790();
|
||||
iVar3 = sub_8095228(gUnknown_203B2C8->unk1);
|
||||
sub_803C37C(&iVar3->dungeon, 0, gUnknown_203B2C8->unk114.itemRewards);
|
||||
gUnknown_203B2C8->unk114.teamRankPtsReward = sub_803C200(&iVar3->dungeon, 0);
|
||||
gUnknown_203B2C8->unk114.teamRankPtsReward = GetDungeonTeamRankPts(&iVar3->dungeon, 0);
|
||||
gUnknown_203B2C8->unk114.itemRewards[1] = 0;
|
||||
gUnknown_203B2C8->unk114.itemRewards[2] = 0;
|
||||
gUnknown_203B2C8->unk114.numItems = 10;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,18 @@
|
|||
|
||||
struct unkStruct_802C39C
|
||||
{
|
||||
/* 0x0 */ u32 local_6c[15];
|
||||
/* 0x3C */ u8 local_29[12];
|
||||
/* 0x48 */ u32 local_24[4];
|
||||
/* 0x0 */ u32 unk0[2];
|
||||
/* 0x8 */ struct DungeonLocation *unk8;
|
||||
/* 0xC */ u8 *unkC;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ s16 unk12;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 fill15[0x1B];
|
||||
/* 0x36 */ u8 fill36[0x3C - 0x36];
|
||||
/* 0x3C */ u8 unk3C[0xC];
|
||||
/* 0x48 */ u8 fill48[4];
|
||||
/* 0x4C */ u32 unk4C;
|
||||
/* 0x50 */ u32 unk50[3];
|
||||
};
|
||||
|
||||
struct unkStruct_203B2E8
|
||||
|
|
@ -149,7 +158,7 @@ extern s32 sub_8013800(void *, u32);
|
|||
extern void sub_803B35C(void *, u32 *);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32);
|
||||
extern void sub_803B6D4(void *);
|
||||
extern void CreateRescueTitle(void *);
|
||||
|
||||
extern void sub_8013984(u32 *);
|
||||
extern void sub_802C6DC(void);
|
||||
|
|
@ -379,10 +388,10 @@ void sub_802C750(void)
|
|||
do
|
||||
{
|
||||
uVar1 = GetJobSlotInfo(gUnknown_203B2E8->unk0[gUnknown_203B2E8->unk26 * gUnknown_203B2E8->unk24 + iVar2]);
|
||||
local.local_6c[0] = gUnknown_203B2E8->unk3C;
|
||||
local.local_24[0] = sub_8013800(&gUnknown_203B2E8->unk8,iVar2);
|
||||
sub_803B35C(uVar1,local.local_6c);
|
||||
sub_803B6D4(&local);
|
||||
local.unk0[0] = gUnknown_203B2E8->unk3C;
|
||||
local.unk4C = sub_8013800(&gUnknown_203B2E8->unk8,iVar2);
|
||||
sub_803B35C(uVar1,local.unk0);
|
||||
CreateRescueTitle(&local);
|
||||
iVar2++;
|
||||
} while( iVar2 < gUnknown_203B2E8->unk22);
|
||||
sub_80073E0(gUnknown_203B2E8->unk3C);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ extern u8 *sub_8096574(u32);
|
|||
extern void sub_803B35C(u8 *, u32 *);
|
||||
extern u8 gBulletinBoardText[];
|
||||
extern u8 sub_80968B0(u8 *);
|
||||
extern void sub_803B6D4(void *);
|
||||
extern void CreateRescueTitle(void *);
|
||||
extern void xxx_call_draw_string(s32, s32, u8 *, s32, s32);
|
||||
extern void sub_8012BC4(s32, s32, s32, s32 ,s32 ,s32);
|
||||
|
||||
|
|
@ -77,12 +77,21 @@ extern struct unkStruct_203B2E0 *gUnknown_203B2E0;
|
|||
|
||||
struct unkStruct_802C39C
|
||||
{
|
||||
/* 0x0 */ u32 local_6c[15];
|
||||
/* 0x3C */ u8 local_29[12];
|
||||
/* 0x48 */ u32 local_24[4];
|
||||
/* 0x0 */ u32 unk0[2];
|
||||
/* 0x8 */ struct DungeonLocation *unk8;
|
||||
/* 0xC */ u8 *unkC;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ s16 unk12;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 fill15[0x1B];
|
||||
/* 0x34 */ u8 fill34[2];
|
||||
/* 0x36 */ u8 fill36[0x3C - 0x36];
|
||||
/* 0x3C */ u8 unk3C[0xC];
|
||||
/* 0x48 */ u8 fill48[4];
|
||||
/* 0x4C */ u32 unk4C;
|
||||
/* 0x50 */ u32 unk50[3];
|
||||
};
|
||||
|
||||
|
||||
extern struct UnkTextStruct2 gUnknown_80DFCB4;
|
||||
extern struct UnkTextStruct2 gUnknown_80DFC9C;
|
||||
|
||||
|
|
@ -91,7 +100,7 @@ extern u16 gUnknown_203B2E4;
|
|||
extern u8 *sub_8095FE8(u8);
|
||||
extern u8 sub_80968B0(u8 *);
|
||||
extern void sub_803B35C(u8 *, u32 *);
|
||||
extern void sub_803B6D4(void *);
|
||||
extern void CreateRescueTitle(void *);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern u8 gMailboxText[];
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
|
|
@ -113,8 +122,8 @@ void CreateMailMenu(void)
|
|||
if (iVar5 < gUnknown_203B2D8->unk1E) {
|
||||
do {
|
||||
pcVar2 = sub_8095FE8(gUnknown_203B2D8->unk0[(gUnknown_203B2D8->unk22 * gUnknown_203B2D8->unk20) + iVar5]);
|
||||
local.local_6c[0] = gUnknown_203B2D8->unk38;
|
||||
local.local_24[0] = sub_8013800(&gUnknown_203B2D8->unk4, iVar5);
|
||||
local.unk0[0] = gUnknown_203B2D8->unk38;
|
||||
local.unk4C = sub_8013800(&gUnknown_203B2D8->unk4, iVar5);
|
||||
if (*pcVar2 == 1) {
|
||||
y = sub_8013800(&gUnknown_203B2D8->unk4, iVar5);
|
||||
sub_803B6B0(10,y,6,gUnknown_203B2D8->unk38);
|
||||
|
|
@ -123,11 +132,11 @@ void CreateMailMenu(void)
|
|||
xxx_call_draw_string(0x15,y,buffer,gUnknown_203B2D8->unk38,0);
|
||||
}
|
||||
else {
|
||||
sub_803B35C(pcVar2,local.local_6c);
|
||||
sub_803B35C(pcVar2,local.unk0);
|
||||
if (sub_80968B0(pcVar2) != 0) {
|
||||
local.local_29[7] = 2;
|
||||
local.unk3C[11] = 2;
|
||||
}
|
||||
sub_803B6D4(&local);
|
||||
CreateRescueTitle(&local);
|
||||
}
|
||||
iVar5++;
|
||||
} while (iVar5 < gUnknown_203B2D8->unk1E);
|
||||
|
|
@ -325,19 +334,19 @@ void sub_802C39C(void)
|
|||
u32 uVar1;
|
||||
u8 *uVar3;
|
||||
s32 iVar4;
|
||||
s32 iVar5;
|
||||
s32 x;
|
||||
s32 iVar6;
|
||||
struct unkStruct_802C39C local;
|
||||
|
||||
sub_8008C54(gUnknown_203B2E0->unk3C);
|
||||
sub_80073B8(gUnknown_203B2E0->unk3C);
|
||||
iVar4 = gUnknown_203B2E0->unk26 * 8;
|
||||
iVar5 = iVar4;
|
||||
iVar5 += 10;
|
||||
xxx_call_draw_string(iVar5,0,gBulletinBoardText,gUnknown_203B2E0->unk3C,0);
|
||||
x = iVar4;
|
||||
x += 10;
|
||||
xxx_call_draw_string(x,0,gBulletinBoardText,gUnknown_203B2E0->unk3C,0);
|
||||
iVar4 += 4;
|
||||
iVar5 = iVar4 + gUnknown_203B2E0->unkA4[2] * 8;
|
||||
sub_8012BC4(iVar5,0,gUnknown_203B2E0->unk26 + 1,2,7,gUnknown_203B2E0->unk3C);
|
||||
x = iVar4 + gUnknown_203B2E0->unkA4[2] * 8;
|
||||
sub_8012BC4(x,0,gUnknown_203B2E0->unk26 + 1,2,7,gUnknown_203B2E0->unk3C);
|
||||
|
||||
iVar6 = 0;
|
||||
if(iVar6 < gUnknown_203B2E0->unk22)
|
||||
|
|
@ -345,13 +354,13 @@ void sub_802C39C(void)
|
|||
{
|
||||
uVar1 = (gUnknown_203B2E0->unk0[gUnknown_203B2E0->unk26 * gUnknown_203B2E0->unk24 + iVar6]);
|
||||
uVar3 = sub_8096574(uVar1);
|
||||
local.local_6c[0] = gUnknown_203B2E0->unk3C;
|
||||
local.local_24[0] = sub_8013800(&gUnknown_203B2E0->unk8,iVar6);
|
||||
sub_803B35C(uVar3,local.local_6c);
|
||||
local.unk0[0] = gUnknown_203B2E0->unk3C;
|
||||
local.unk4C = sub_8013800(&gUnknown_203B2E0->unk8,iVar6);
|
||||
sub_803B35C(uVar3,local.unk0);
|
||||
if (sub_80968B0(sub_8096574(uVar1)) != '\0') {
|
||||
local.local_29[7] = 2;
|
||||
local.unk3C[11] = 2;
|
||||
}
|
||||
sub_803B6D4(&local);
|
||||
CreateRescueTitle(&local);
|
||||
iVar6++;
|
||||
} while (iVar6 < gUnknown_203B2E0->unk22);
|
||||
sub_80073E0(gUnknown_203B2E0->unk3C);
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ struct unkStruct_203B310
|
|||
{
|
||||
// size: 0x84
|
||||
/* 0x0 */ u32 state;
|
||||
u32 unk4;
|
||||
u8 unk8;
|
||||
/* 0x4 */ u32 nextState;
|
||||
/* 0x8 */ bool8 displayClientDialogueSprite; // true to display the dialogue sprite for the client
|
||||
/* 0x9 */ u8 currTeamRank; // team rank
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
|
|
@ -354,7 +354,7 @@ void sub_802F1E8(void)
|
|||
|
||||
|
||||
|
||||
u32 sub_802F204(struct unkStruct_802F204 *r0, u8 r1)
|
||||
u32 sub_802F204(struct unkStruct_802F204 *r0, bool8 r1)
|
||||
{
|
||||
struct unkStruct_203B310 *preload;
|
||||
|
||||
|
|
@ -363,7 +363,7 @@ u32 sub_802F204(struct unkStruct_802F204 *r0, u8 r1)
|
|||
gUnknown_203B310 = MemoryAlloc(sizeof(struct unkStruct_203B310), 8);
|
||||
gUnknown_203B310->unk10 = r0;
|
||||
gUnknown_203B310->itemRewardIndex = 0;
|
||||
gUnknown_203B310->unk8 = r1;
|
||||
gUnknown_203B310->displayClientDialogueSprite = r1;
|
||||
|
||||
// NOTE: dumb var to get correct ordering
|
||||
preload = gUnknown_203B310;
|
||||
|
|
@ -459,9 +459,9 @@ void HandleMissionReward(void)
|
|||
}
|
||||
else {
|
||||
gUnknown_202DE30 = moneyReward;
|
||||
if (gUnknown_203B310->unk8 != '\0') {
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
sub_80141B4(gUnknown_80E0434,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
gUnknown_203B310->unk4 = 1;
|
||||
gUnknown_203B310->nextState = 1;
|
||||
}
|
||||
else {
|
||||
sub_802F2E8(1);
|
||||
|
|
@ -477,7 +477,7 @@ void HandleMissionReward(void)
|
|||
else {
|
||||
sub_80141B4(gUnknown_80E0484,0,0,0x101);
|
||||
}
|
||||
gUnknown_203B310->unk4 = 2;
|
||||
gUnknown_203B310->nextState = 2;
|
||||
break;
|
||||
case 2:
|
||||
if (gUnknown_203B310->unk10->friendAreaReward == '\0') {
|
||||
|
|
@ -486,9 +486,9 @@ void HandleMissionReward(void)
|
|||
}
|
||||
else {
|
||||
sub_8092578(gUnknown_202E628,gUnknown_203B310->unk10->friendAreaReward,0);
|
||||
if (gUnknown_203B310->unk8 != '\0') {
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
sub_80141B4(gUnknown_80E04B4,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
gUnknown_203B310->unk4 = 3;
|
||||
gUnknown_203B310->nextState = 3;
|
||||
}
|
||||
else {
|
||||
sub_802F2E8(3);
|
||||
|
|
@ -516,7 +516,7 @@ void HandleMissionReward(void)
|
|||
sub_80141B4(gUnknown_80E05FC,0,0,0x101);
|
||||
}
|
||||
}
|
||||
gUnknown_203B310->unk4 = 4;
|
||||
gUnknown_203B310->nextState = 4;
|
||||
break;
|
||||
case 4:
|
||||
uVar7 = gUnknown_203B310->unk10->itemRewards[0];
|
||||
|
|
@ -542,9 +542,9 @@ void HandleMissionReward(void)
|
|||
local_20.unk4 = 0;
|
||||
local_20.unk8 = 1;
|
||||
sub_8090E14(gUnknown_202DEA8,(struct ItemSlot *)&local_14,&local_20);
|
||||
if (gUnknown_203B310->unk8 != '\0') {
|
||||
if (gUnknown_203B310->displayClientDialogueSprite) {
|
||||
sub_80141B4(gUnknown_80E0640,0,&gUnknown_203B310->faceFile,0x10d);
|
||||
gUnknown_203B310->unk4 = 5;
|
||||
gUnknown_203B310->nextState = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -594,11 +594,11 @@ void HandleMissionReward(void)
|
|||
PlaySound(0xcb);
|
||||
if (gUnknown_203B310->currTeamRank != GetRescueTeamRank()) {
|
||||
// Rank up time
|
||||
gUnknown_203B310->unk4 = 8;
|
||||
gUnknown_203B310->nextState = 8;
|
||||
}
|
||||
else {
|
||||
// No rank up.. close out
|
||||
gUnknown_203B310->unk4 = 9;
|
||||
gUnknown_203B310->nextState = 9;
|
||||
}
|
||||
gUnknown_202DE30 = gUnknown_203B310->unk10->teamRankPtsReward;
|
||||
sub_80141B4(gUnknown_80E0670,0,0,0x101);
|
||||
|
|
@ -607,7 +607,7 @@ void HandleMissionReward(void)
|
|||
case 8:
|
||||
// Rank up
|
||||
PlaySound(0xc9);
|
||||
gUnknown_203B310->unk4 = 9;
|
||||
gUnknown_203B310->nextState = 9;
|
||||
rankString = GetTeamRankString(gUnknown_203B310->currTeamRank);
|
||||
strcpy(gUnknown_202E038,rankString);
|
||||
rankString = GetTeamRankString(GetRescueTeamRank());
|
||||
|
|
@ -639,7 +639,7 @@ void sub_802F718(void)
|
|||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
sub_802F2E8(gUnknown_203B310->unk4);
|
||||
sub_802F2E8(gUnknown_203B310->nextState);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#include "text.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "item.h"
|
||||
#include "sub_8095228.h"
|
||||
|
||||
struct unkStruct_203B320
|
||||
{
|
||||
|
|
@ -9,7 +11,8 @@ struct unkStruct_203B320
|
|||
u8 unk0[4];
|
||||
u8 fill4[0x20 - 4];
|
||||
u32 unk20;
|
||||
u8 fill24[0x3C - 0x24];
|
||||
u32 unk24;
|
||||
u8 fill28[0x3C - 0x28];
|
||||
s16 unk3C;
|
||||
s16 unk3E;
|
||||
s16 unk40;
|
||||
|
|
@ -25,6 +28,23 @@ struct unkStruct_203B320
|
|||
extern struct unkStruct_203B320 *gUnknown_203B320;
|
||||
extern struct UnkTextStruct2 gUnknown_80E083C;
|
||||
extern struct UnkTextStruct2 gUnknown_80E0854;
|
||||
extern u8 *gUnknown_80E086C[];
|
||||
|
||||
struct unkStruct_802C39C
|
||||
{
|
||||
/* 0x0 */ u32 unk0[2];
|
||||
/* 0x8 */ struct DungeonLocation *unk8;
|
||||
/* 0xC */ u8 *unkC;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ s16 unk12;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 fill15[0x1B];
|
||||
/* 0x34 */ u8 fill34[2];
|
||||
/* 0x36 */ u8 fill36[0x3C - 0x36];
|
||||
/* 0x3C */ u8 unk3C[0x10];
|
||||
/* 0x4C */ u32 unk4C;
|
||||
/* 0x50 */ u32 unk50[3];
|
||||
};
|
||||
|
||||
extern u8 sub_8030C20(u32);
|
||||
extern s32 sub_8030A74(void);
|
||||
|
|
@ -33,12 +53,19 @@ extern void sub_803092C(void);
|
|||
extern void sub_8012D08(struct UnkTextStruct2 *, s32);
|
||||
extern void sub_8013818(void *, u32, u32, u32);
|
||||
|
||||
extern u8 sub_80138B8(u8 *, u32);
|
||||
extern void sub_8013660(u8 *);
|
||||
extern s32 GetKeyPress(u8 *);
|
||||
extern u8 sub_80138B8(u32 *, u32);
|
||||
extern void sub_8013660(u32 *);
|
||||
extern s32 GetKeyPress(u32 *);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013984(u8 *);
|
||||
extern void AddMenuCursorSprite(u8 *);
|
||||
extern void sub_8013984(u32 *);
|
||||
extern void AddMenuCursorSprite(u32 *);
|
||||
extern s32 sub_8013800(void *, u32);
|
||||
extern void xxx_call_draw_string(u32, u32, const u8 *, u32, u32);
|
||||
extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void CreateRescueTitle(void *);
|
||||
|
||||
u32 sub_80306A8(u32 r0, u32 r1, struct UnkTextStruct2_sub *r2, u32 r3)
|
||||
{
|
||||
|
|
@ -63,7 +90,7 @@ u32 sub_80306A8(u32 r0, u32 r1, struct UnkTextStruct2_sub *r2, u32 r3)
|
|||
sub_8012D08(gUnknown_203B320->unk5C, r3);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B320->unk60, 1, 1);
|
||||
sub_8013818(gUnknown_203B320->fill24, sub_8030A74(), r3, r1);
|
||||
sub_8013818(&gUnknown_203B320->unk24, sub_8030A74(), r3, r1);
|
||||
sub_80308A0();
|
||||
sub_803092C();
|
||||
return 1;
|
||||
|
|
@ -73,10 +100,10 @@ u32 sub_8030768(u8 r0)
|
|||
{
|
||||
if(r0 == 0)
|
||||
{
|
||||
sub_8013660(gUnknown_203B320->fill24);
|
||||
sub_8013660(&gUnknown_203B320->unk24);
|
||||
return 0;
|
||||
}
|
||||
switch(GetKeyPress(gUnknown_203B320->fill24))
|
||||
switch(GetKeyPress(&gUnknown_203B320->unk24))
|
||||
{
|
||||
case 4:
|
||||
PlayMenuSoundEffect(4);
|
||||
|
|
@ -88,7 +115,7 @@ u32 sub_8030768(u8 r0)
|
|||
PlayMenuSoundEffect(0);
|
||||
return 3;
|
||||
default:
|
||||
if(sub_80138B8(gUnknown_203B320->fill24, 1) != 0)
|
||||
if(sub_80138B8(&gUnknown_203B320->unk24, 1) != 0)
|
||||
{
|
||||
sub_80308A0();
|
||||
sub_803092C();
|
||||
|
|
@ -111,12 +138,12 @@ void sub_8030810(u32 r0)
|
|||
r0_u8 = r0; // cast needed..
|
||||
|
||||
gUnknown_203B320->unk46 = sub_8030A74();
|
||||
sub_8013984(gUnknown_203B320->fill24);
|
||||
sub_8013984(&gUnknown_203B320->unk24);
|
||||
|
||||
sub_80308A0();
|
||||
sub_803092C();
|
||||
if(r0_u8 != 0)
|
||||
AddMenuCursorSprite(gUnknown_203B320->fill24);
|
||||
AddMenuCursorSprite(&gUnknown_203B320->unk24);
|
||||
}
|
||||
|
||||
void sub_803084C()
|
||||
|
|
@ -135,3 +162,132 @@ u8 *sub_8030894()
|
|||
{
|
||||
return gUnknown_203B320->unk0;
|
||||
}
|
||||
|
||||
NAKED
|
||||
void sub_80308A0(void)
|
||||
{
|
||||
asm_unified(
|
||||
"\tpush {r4,lr}\n"
|
||||
"\tldr r4, _08030928\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tadds r1, 0x44\n"
|
||||
"\tldrh r1, [r1]\n"
|
||||
"\tadds r0, 0xC0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tadds r1, 0x42\n"
|
||||
"\tldrh r1, [r1]\n"
|
||||
"\tadds r0, 0xC1\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0xC2\n"
|
||||
"\tmovs r1, 0xC\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0xC3\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tbl ResetUnusedInputStruct\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x60\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_800641C\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tmovs r1, 0x3E\n"
|
||||
"\tldrsh r0, [r0, r1]\n"
|
||||
"\tmovs r1, 0xC\n"
|
||||
"\tbl sub_80095E4\n"
|
||||
"\tadds r0, 0x2\n"
|
||||
"\tlsls r0, 16\n"
|
||||
"\tldr r2, [r4]\n"
|
||||
"\tldr r3, [r2, 0x58]\n"
|
||||
"\tlsls r1, r3, 1\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tlsls r1, 3\n"
|
||||
"\tadds r1, r2, r1\n"
|
||||
"\tadds r1, 0x6E\n"
|
||||
"\tasrs r3, r0, 16\n"
|
||||
"\tlsrs r0, 16\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tldr r1, [r2, 0x58]\n"
|
||||
"\tlsls r0, r1, 1\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r2, r0\n"
|
||||
"\tadds r3, 0x2\n"
|
||||
"\tadds r2, 0x70\n"
|
||||
"\tstrh r3, [r2]\n"
|
||||
"\tbl ResetUnusedInputStruct\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x60\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"
|
||||
"_08030928: .4byte gUnknown_203B320");
|
||||
}
|
||||
|
||||
void sub_803092C(void)
|
||||
{
|
||||
struct unkStruct_8095228 *pbVar2;
|
||||
s32 r4;
|
||||
s32 r5;
|
||||
s32 r6;
|
||||
struct unkStruct_802C39C local;
|
||||
|
||||
sub_8008C54(gUnknown_203B320->unk58);
|
||||
sub_80073B8(gUnknown_203B320->unk58);
|
||||
r4 = gUnknown_203B320->unk42 * 8;
|
||||
r5 = r4;
|
||||
r5 += 10;
|
||||
xxx_call_draw_string(r5,0,gUnknown_80E086C[gUnknown_203B320->unk20],gUnknown_203B320->unk58,0);
|
||||
r4 += 4;
|
||||
r5 = r4 + gUnknown_203B320->unkC0[2] * 8;
|
||||
sub_8012BC4(r5,0,gUnknown_203B320->unk42 + 1,1,7,gUnknown_203B320->unk58);
|
||||
|
||||
r6 = 0;
|
||||
if (r6 < gUnknown_203B320->unk3E) {
|
||||
do {
|
||||
pbVar2 = sub_8095228(gUnknown_203B320->unk0[(gUnknown_203B320->unk42 * gUnknown_203B320->unk40) + r6]);
|
||||
local.unk0[0] = gUnknown_203B320->unk58;
|
||||
local.unk4C = sub_8013800(&gUnknown_203B320->unk24,r6);
|
||||
local.unk3C[8] = 7;
|
||||
local.unk3C[10] = 0;
|
||||
local.unk3C[12] = 0;
|
||||
|
||||
local.unk8 = &pbVar2->dungeon;
|
||||
local.unkC = pbVar2->padding2;
|
||||
|
||||
local.unk10 = (pbVar2->clientSpecies);
|
||||
local.unk12 = (pbVar2->clientSpecies);
|
||||
local.unk14 = 0;
|
||||
local.fill15[0x19] = 5;
|
||||
|
||||
switch(pbVar2->mailType)
|
||||
{
|
||||
case 4:
|
||||
local.unk3C[11] = 3;
|
||||
break;
|
||||
case 5:
|
||||
local.unk3C[11] = 4;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
local.unk3C[11]= 1;
|
||||
break;
|
||||
default:
|
||||
local.unk3C[11]= 0;
|
||||
break;
|
||||
}
|
||||
CreateRescueTitle(&local);
|
||||
r6++;
|
||||
} while (r6 < gUnknown_203B320->unk3E);
|
||||
}
|
||||
sub_80073E0(gUnknown_203B320->unk58);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user