mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-10 01:55:51 -05:00
major code refactor for sub_8095228
This commit is contained in:
@@ -42,414 +42,4 @@ _080951F6:
|
||||
bx r1
|
||||
thumb_func_end sub_80951BC
|
||||
|
||||
thumb_func_start sub_80951FC
|
||||
sub_80951FC:
|
||||
push {r4,r5,lr}
|
||||
ldr r1, _08095224
|
||||
ldr r1, [r1]
|
||||
adds r1, 0x30
|
||||
ldrb r2, [r1]
|
||||
negs r3, r2
|
||||
orrs r3, r2
|
||||
lsrs r3, 31
|
||||
ldm r0!, {r2,r4,r5}
|
||||
stm r1!, {r2,r4,r5}
|
||||
ldm r0!, {r2,r4,r5}
|
||||
stm r1!, {r2,r4,r5}
|
||||
ldm r0!, {r2,r4,r5}
|
||||
stm r1!, {r2,r4,r5}
|
||||
ldm r0!, {r2,r4,r5}
|
||||
stm r1!, {r2,r4,r5}
|
||||
adds r0, r3, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08095224: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_80951FC
|
||||
|
||||
thumb_func_start sub_8095228
|
||||
sub_8095228:
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, _0809523C
|
||||
lsls r1, r0, 1
|
||||
adds r1, r0
|
||||
lsls r1, 4
|
||||
ldr r0, [r2]
|
||||
adds r0, r1
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0809523C: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095228
|
||||
|
||||
thumb_func_start sub_8095240
|
||||
sub_8095240:
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r5, _08095270
|
||||
lsls r4, r0, 1
|
||||
adds r4, r0
|
||||
lsls r4, 4
|
||||
ldr r0, [r5]
|
||||
adds r0, r4
|
||||
movs r1, 0
|
||||
movs r2, 0x30
|
||||
bl MemoryFill8
|
||||
ldr r0, [r5]
|
||||
adds r0, r4
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r5]
|
||||
adds r0, r4
|
||||
adds r0, 0x22
|
||||
strb r1, [r0]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08095270: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095240
|
||||
|
||||
thumb_func_start sub_8095274
|
||||
sub_8095274:
|
||||
push {lr}
|
||||
ldr r1, _08095294
|
||||
ldr r3, [r1]
|
||||
adds r2, r3, 0
|
||||
ldm r2!, {r1}
|
||||
lsls r1, 2
|
||||
adds r2, r1
|
||||
str r0, [r2]
|
||||
ldr r0, [r3]
|
||||
movs r1, 0
|
||||
cmp r0, 0x1E
|
||||
bgt _0809528E
|
||||
adds r1, r0, 0x1
|
||||
_0809528E:
|
||||
str r1, [r3]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08095294: .4byte gUnknown_203B48C
|
||||
thumb_func_end sub_8095274
|
||||
|
||||
thumb_func_start sub_8095298
|
||||
sub_8095298:
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
movs r2, 0
|
||||
ldr r0, _080952B0
|
||||
ldr r0, [r0]
|
||||
adds r1, r0, 0x4
|
||||
_080952A4:
|
||||
ldr r0, [r1]
|
||||
cmp r0, r3
|
||||
bne _080952B4
|
||||
movs r0, 0x1
|
||||
b _080952BE
|
||||
.align 2, 0
|
||||
_080952B0: .4byte gUnknown_203B48C
|
||||
_080952B4:
|
||||
adds r1, 0x4
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1F
|
||||
ble _080952A4
|
||||
movs r0, 0
|
||||
_080952BE:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8095298
|
||||
|
||||
thumb_func_start sub_80952C4
|
||||
sub_80952C4:
|
||||
push {r4,lr}
|
||||
ldr r2, _080952EC
|
||||
ldr r1, [r2]
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
movs r3, 0
|
||||
adds r4, r2, 0
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
_080952D6:
|
||||
ldr r0, [r4]
|
||||
lsls r1, r3, 2
|
||||
adds r0, 0x4
|
||||
adds r0, r1
|
||||
str r2, [r0]
|
||||
adds r3, 0x1
|
||||
cmp r3, 0x1F
|
||||
ble _080952D6
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080952EC: .4byte gUnknown_203B48C
|
||||
thumb_func_end sub_80952C4
|
||||
|
||||
thumb_func_start sub_80952F0
|
||||
sub_80952F0:
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
movs r3, 0
|
||||
ldr r0, _08095310
|
||||
ldr r2, [r0]
|
||||
_080952FE:
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r1
|
||||
bne _08095314
|
||||
ldr r0, [r2, 0x10]
|
||||
cmp r0, r4
|
||||
bne _08095314
|
||||
movs r0, 0x1
|
||||
b _0809531E
|
||||
.align 2, 0
|
||||
_08095310: .4byte gUnknown_203B480
|
||||
_08095314:
|
||||
adds r2, 0x30
|
||||
adds r3, 0x1
|
||||
cmp r3, 0x1F
|
||||
ble _080952FE
|
||||
movs r0, 0
|
||||
_0809531E:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80952F0
|
||||
|
||||
thumb_func_start sub_8095324
|
||||
sub_8095324:
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
movs r3, 0
|
||||
ldr r0, _0809534C
|
||||
ldr r1, [r0]
|
||||
movs r2, 0x1F
|
||||
_08095332:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r4
|
||||
bne _0809533A
|
||||
adds r3, 0x1
|
||||
_0809533A:
|
||||
adds r1, 0x30
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _08095332
|
||||
adds r0, r3, 0
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0809534C: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095324
|
||||
|
||||
thumb_func_start sub_8095350
|
||||
sub_8095350:
|
||||
push {lr}
|
||||
movs r3, 0
|
||||
ldr r0, _08095370
|
||||
ldr r1, [r0]
|
||||
movs r2, 0x1F
|
||||
_0809535A:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _08095362
|
||||
adds r3, 0x1
|
||||
_08095362:
|
||||
adds r1, 0x30
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _0809535A
|
||||
adds r0, r3, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08095370: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095350
|
||||
|
||||
thumb_func_start sub_8095374
|
||||
sub_8095374:
|
||||
push {lr}
|
||||
movs r3, 0x1
|
||||
negs r3, r3
|
||||
movs r2, 0
|
||||
ldr r0, _08095398
|
||||
ldr r1, [r0]
|
||||
_08095380:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x1
|
||||
bne _08095388
|
||||
adds r3, r2, 0
|
||||
_08095388:
|
||||
adds r1, 0x30
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1F
|
||||
ble _08095380
|
||||
adds r0, r3, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08095398: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095374
|
||||
|
||||
thumb_func_start sub_809539C
|
||||
sub_809539C:
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
movs r3, 0
|
||||
ldr r0, _080953BC
|
||||
ldr r2, [r0]
|
||||
_080953AA:
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r1
|
||||
bne _080953C0
|
||||
ldr r0, [r2, 0x10]
|
||||
cmp r0, r4
|
||||
bne _080953C0
|
||||
adds r0, r3, 0
|
||||
b _080953CC
|
||||
.align 2, 0
|
||||
_080953BC: .4byte gUnknown_203B480
|
||||
_080953C0:
|
||||
adds r2, 0x30
|
||||
adds r3, 0x1
|
||||
cmp r3, 0x1F
|
||||
ble _080953AA
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_080953CC:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_809539C
|
||||
|
||||
thumb_func_start sub_80953D4
|
||||
sub_80953D4:
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
movs r2, 0
|
||||
ldr r0, _080953EC
|
||||
ldr r1, [r0]
|
||||
_080953E0:
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r3
|
||||
bne _080953F0
|
||||
adds r0, r2, 0
|
||||
b _080953FC
|
||||
.align 2, 0
|
||||
_080953EC: .4byte gUnknown_203B480
|
||||
_080953F0:
|
||||
adds r1, 0x30
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1F
|
||||
ble _080953E0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_080953FC:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80953D4
|
||||
|
||||
thumb_func_start sub_8095400
|
||||
sub_8095400:
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
movs r2, 0
|
||||
ldr r0, _08095418
|
||||
ldr r0, [r0]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x10
|
||||
_0809540E:
|
||||
ldr r0, [r1]
|
||||
cmp r0, r3
|
||||
bne _0809541C
|
||||
adds r0, r2, 0
|
||||
b _08095428
|
||||
.align 2, 0
|
||||
_08095418: .4byte gUnknown_203B480
|
||||
_0809541C:
|
||||
adds r1, 0x30
|
||||
adds r2, 0x1
|
||||
cmp r2, 0x1F
|
||||
ble _0809540E
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08095428:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8095400
|
||||
|
||||
thumb_func_start sub_809542C
|
||||
sub_809542C:
|
||||
push {r4,lr}
|
||||
sub sp, 0x14
|
||||
ldr r4, _08095490
|
||||
ldr r2, [r4]
|
||||
movs r1, 0x1
|
||||
strb r1, [r2]
|
||||
ldr r2, [r4]
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [r2, 0x4]
|
||||
str r1, [r2, 0x8]
|
||||
bl Random
|
||||
bl sub_8094D28
|
||||
bl sub_8094E4C
|
||||
ldr r1, [r4]
|
||||
str r0, [r1, 0x10]
|
||||
bl GetPlayerPokemonStruct
|
||||
ldr r1, [r4]
|
||||
ldrh r0, [r0, 0x8]
|
||||
strh r0, [r1, 0xC]
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
mov r0, sp
|
||||
bl PrintPokeNameToBuffer
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x14
|
||||
mov r1, sp
|
||||
bl CopyStringtoBuffer
|
||||
bl sub_8011C34
|
||||
ldr r1, [r4]
|
||||
str r0, [r1, 0x24]
|
||||
ldrb r0, [r1, 0x4]
|
||||
bl GetUnk3
|
||||
ldr r1, [r4]
|
||||
adds r1, 0x2C
|
||||
strb r0, [r1]
|
||||
add sp, 0x14
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08095490: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_809542C
|
||||
|
||||
thumb_func_start sub_8095494
|
||||
sub_8095494:
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
ldr r2, _080954B0
|
||||
ldr r3, [r2]
|
||||
lsls r2, r1, 1
|
||||
adds r2, r1
|
||||
lsls r2, 4
|
||||
adds r3, r2
|
||||
ldr r1, [r3, 0x4]
|
||||
ldr r2, [r3, 0x8]
|
||||
str r1, [r0]
|
||||
str r2, [r0, 0x4]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080954B0: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095494
|
||||
|
||||
.align 2,0
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
#ifndef GUARD_CODE_8094F88_H
|
||||
#define GUARD_CODE_8094F88_H
|
||||
|
||||
#include "global.h"
|
||||
#include "item.h"
|
||||
|
||||
// TODO: same as unkStruct_8095228
|
||||
struct unkStruct_203B480
|
||||
{
|
||||
u8 mailType;
|
||||
struct DungeonLocation unk4;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
u8 unk20;
|
||||
u8 unk21;
|
||||
u8 unk22;
|
||||
/* 0x0 */ u8 mailType;
|
||||
/* 0x1 */ u8 missionType;
|
||||
/* 0x4 */ struct DungeonLocation dungeon;
|
||||
/* 0x8 */ u32 unk8;
|
||||
/* 0xC */ s16 clientSpecies;
|
||||
/* 0xE */ s16 targetSpecies;
|
||||
/* 0x10 */ u32 unk10;
|
||||
/* 0x14 */ u8 playerName[0x20 - 0x14];;
|
||||
struct ItemSlot unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u8 unk2C;
|
||||
s8 unk2C;
|
||||
u8 unk2D;
|
||||
u8 padding4[0x30 - 0x2E];
|
||||
};
|
||||
|
||||
struct unkStruct_203B484
|
||||
@@ -34,4 +34,18 @@ struct unkStruct_203B48C
|
||||
s32 unk4[0x20];
|
||||
};
|
||||
|
||||
bool8 sub_80951FC(struct unkStruct_203B480 *param_1);
|
||||
struct unkStruct_203B480 * sub_8095228(u8 index);
|
||||
void sub_8095240(u8 index);
|
||||
void sub_8095274(u32 param_1);
|
||||
bool8 sub_8095298(s32 param_1);
|
||||
void sub_80952C4(void);
|
||||
bool8 sub_80952F0(u8 mailType, u32 param_2);
|
||||
s32 sub_8095324(u8 mailType);
|
||||
u32 sub_8095350(void);
|
||||
s32 sub_8095374(void);
|
||||
s32 sub_809539C(u8 mailType, u32 param_2);
|
||||
s32 sub_80953D4(u8 param_1);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,6 +31,7 @@ const u8 *GetDungeonName1(u8 dungeon);
|
||||
u32 sub_80908D8(struct DungeonLocation *dungeon);
|
||||
u8 sub_8090910(struct DungeonLocation *dungeon, u32 param_2);
|
||||
bool8 sub_809095C(u8 dungeon);
|
||||
s8 GetUnk3(u8 dungeon);
|
||||
u8 GetUnk9(u8 dungeon);
|
||||
|
||||
#endif //GUARD_DUNGEON_H
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
#ifndef GUARD_SUB_8095228_H
|
||||
#define GUARD_SUB_8095228_H
|
||||
|
||||
struct unkStruct_8095228
|
||||
{
|
||||
/* 0x0 */ u8 mailType; // mail type
|
||||
/* 0x1 */ u8 missionType; // mission type
|
||||
/* 0x2 */ u8 unk2;
|
||||
/* 0x3 */ u8 unk3;
|
||||
/* 0x4 */ struct DungeonLocation dungeon; // dungeon
|
||||
/* 0x8 */ u32 unk8;
|
||||
/* 0xC */ s16 clientSpecies; // client pokemon
|
||||
/* 0xE */ s16 targetSpecies; // target
|
||||
u32 unk10; // TODO: verify that this is just a union of the 4 bytes in Wonder Mail
|
||||
u8 padding2[0x20 - 0x14];
|
||||
struct ItemSlot unk20;
|
||||
u8 padding3[0x28 - 0x24];
|
||||
u32 unk28;
|
||||
s8 unk2C;
|
||||
u8 padding4[0x30 - 0x2D];
|
||||
};
|
||||
|
||||
extern struct unkStruct_8095228 *sub_8095228(u8);
|
||||
|
||||
#endif // GUARD_SUB_8095228_H
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "text.h"
|
||||
#include "item.h"
|
||||
#include "pokemon.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
#include "constants/wonder_mail.h"
|
||||
|
||||
@@ -51,7 +51,7 @@ struct WonderMailStruct_203B2C0
|
||||
u32 linkError;
|
||||
u8 unk48[0x30];
|
||||
u8 unk78[0x30];
|
||||
struct unkStruct_8095228 unkA8;
|
||||
struct unkStruct_203B480 unkA8;
|
||||
struct PokemonStruct unkD8;
|
||||
u8 unk130;
|
||||
u8 fill131[0x168 - 0x131];
|
||||
@@ -93,8 +93,8 @@ struct WonderMailStruct_203B2C4
|
||||
u32 unk40;
|
||||
/* 0x44 */ u32 linkError; // another link status
|
||||
u8 filler48[0x1B8 - 0x48];
|
||||
struct unkStruct_8095228 unk1B8;
|
||||
struct unkStruct_8095228 unk1E8;
|
||||
struct unkStruct_203B480 unk1B8;
|
||||
struct unkStruct_203B480 unk1E8;
|
||||
s8 unk218;
|
||||
u32 unk21C;
|
||||
u8 filler220[0x30C - 0x220];
|
||||
|
||||
@@ -16,7 +16,7 @@ struct unkStruct_802C39C
|
||||
{
|
||||
/* 0x0 */ u32 unk0[2];
|
||||
/* 0x8 */ struct DungeonLocation *unk8;
|
||||
/* 0xC */ u8 *unkC;
|
||||
/* 0xC */ u8 *playerName;
|
||||
/* 0x10 */ s16 unk10;
|
||||
/* 0x12 */ s16 unk12;
|
||||
/* 0x14 */ u8 unk14;
|
||||
|
||||
@@ -57,7 +57,7 @@ void sub_8095118(void)
|
||||
unused = &gUnknown_203B480[iVar1];
|
||||
gUnknown_203B480[iVar1].mailType = 0;
|
||||
unused = &gUnknown_203B480[iVar1];
|
||||
gUnknown_203B480[iVar1].unk22 = 0;
|
||||
gUnknown_203B480[iVar1].unk20.itemIndex = 0;
|
||||
unused = &gUnknown_203B480[iVar1];
|
||||
gUnknown_203B480[iVar1].unk2D = 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
#include "global.h"
|
||||
#include "dungeon.h"
|
||||
#include "memory.h"
|
||||
#include "pokemon.h"
|
||||
#include "random.h"
|
||||
#include "save.h"
|
||||
#include "text_util.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
extern struct unkStruct_203B484 *gUnknown_203B484;
|
||||
@@ -15,7 +20,208 @@ extern void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove
|
||||
|
||||
void sub_8095824(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b);
|
||||
void sub_8095774(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b);
|
||||
extern u32 sub_8095324(u32);
|
||||
s32 sub_8095324(u8);
|
||||
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern s32 sub_8094E4C(void);
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern void sub_8094D28(s32);
|
||||
|
||||
struct unkStruct_809542C
|
||||
{
|
||||
struct DungeonLocation unk0;
|
||||
u32 unk4;
|
||||
};
|
||||
|
||||
bool8 sub_80951FC(struct unkStruct_203B480 *param_1)
|
||||
{
|
||||
bool8 bVar1 = gUnknown_203B480[1].mailType != 0;
|
||||
gUnknown_203B480[1] = *param_1;
|
||||
return bVar1;
|
||||
}
|
||||
|
||||
struct unkStruct_203B480 * sub_8095228(u8 index)
|
||||
{
|
||||
struct unkStruct_203B480 *ptr;
|
||||
|
||||
ptr = &gUnknown_203B480[index];
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void sub_8095240(u8 index)
|
||||
{
|
||||
struct unkStruct_203B480 *unused;
|
||||
|
||||
MemoryFill8((u8*)&gUnknown_203B480[index],0,sizeof(struct unkStruct_203B480));
|
||||
unused = &gUnknown_203B480[index];
|
||||
gUnknown_203B480[index].mailType = 0;
|
||||
unused = &gUnknown_203B480[index];
|
||||
gUnknown_203B480[index].unk20.itemIndex = 0;
|
||||
}
|
||||
|
||||
void sub_8095274(u32 param_1)
|
||||
{
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
|
||||
gUnknown_203B48C->unk4[gUnknown_203B48C->unk0] = param_1;
|
||||
iVar2 = gUnknown_203B48C->unk0;
|
||||
iVar3 = 0;
|
||||
if (iVar2 < 0x1f) {
|
||||
iVar3 = iVar2 + 1;
|
||||
}
|
||||
gUnknown_203B48C->unk0 = iVar3;
|
||||
}
|
||||
|
||||
bool8 sub_8095298(s32 param_1)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
if(gUnknown_203B48C->unk4[index] == param_1) return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_80952C4(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
gUnknown_203B48C->unk0 = 0;
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
gUnknown_203B48C->unk4[index] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_80952F0(u8 mailType, u32 param_2)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if ((piVar1->mailType == mailType) && (piVar1->unk10 == param_2)) return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
s32 sub_8095324(u8 mailType)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
s32 total = 0;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if (piVar1->mailType == mailType) total++;
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
u32 sub_8095350(void)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
u32 total = 0;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if (piVar1->mailType != 0) total++;
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
s32 sub_8095374(void)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
s32 retvar = -1;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if (piVar1->mailType == 1) retvar = index;
|
||||
}
|
||||
return retvar;
|
||||
}
|
||||
|
||||
s32 sub_809539C(u8 mailType, u32 param_2)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if ((piVar1->mailType == mailType) && (piVar1->unk10 == param_2)) return index;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 sub_80953D4(u8 param_1)
|
||||
{
|
||||
struct unkStruct_203B480 *piVar1;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0]; index < 0x20; piVar1++, index++)
|
||||
{
|
||||
if (piVar1->mailType == param_1) return index;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
s32 sub_8095400(u32 param_1)
|
||||
{
|
||||
u32 *piVar1;
|
||||
s32 index;
|
||||
|
||||
for(index = 0, piVar1 = &gUnknown_203B480[0].unk10; index < 0x20; piVar1 += 0xC, index++)
|
||||
{
|
||||
if (*piVar1 == param_1) return index;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void sub_809542C(struct unkStruct_809542C *param_1)
|
||||
{
|
||||
u32 uVar4;
|
||||
|
||||
#ifndef NONMATCHING
|
||||
register struct unkStruct_203B480 *preload asm("r2");
|
||||
#else
|
||||
struct unkStruct_203B480 *preload;
|
||||
#endif
|
||||
|
||||
u8 buffer [20];
|
||||
|
||||
gUnknown_203B480->mailType = 1;
|
||||
preload = gUnknown_203B480;
|
||||
uVar4 = param_1->unk4;
|
||||
preload->dungeon = param_1->unk0;
|
||||
preload->unk8 = uVar4;
|
||||
sub_8094D28(Random());
|
||||
gUnknown_203B480->unk10 = sub_8094E4C();
|
||||
gUnknown_203B480->clientSpecies = GetPlayerPokemonStruct()->speciesNum;
|
||||
PrintPokeNameToBuffer(buffer, GetPlayerPokemonStruct());
|
||||
CopyStringtoBuffer(gUnknown_203B480->playerName, buffer);
|
||||
gUnknown_203B480->unk24 = sub_8011C34();
|
||||
gUnknown_203B480->unk2C = GetUnk3(gUnknown_203B480->dungeon.dungeonIndex);
|
||||
}
|
||||
|
||||
void sub_8095494(struct unkStruct_809542C *param_1, u8 index)
|
||||
{
|
||||
u32 uVar1;
|
||||
struct DungeonLocation temp;
|
||||
struct unkStruct_203B480 *iVar2;
|
||||
|
||||
iVar2 = gUnknown_203B480;
|
||||
iVar2 += index;
|
||||
|
||||
temp = iVar2->dungeon;
|
||||
uVar1 = iVar2->unk8;
|
||||
param_1->unk0 = temp;
|
||||
param_1->unk4 = uVar1;
|
||||
}
|
||||
|
||||
u32 sub_80954B4(void)
|
||||
{
|
||||
@@ -115,14 +321,14 @@ void sub_8095774(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b)
|
||||
u8 temp;
|
||||
|
||||
RestoreIntegerBits(a, &b->mailType, 4);
|
||||
RestoreDungeonLocation(a, &b->unk4);
|
||||
RestoreDungeonLocation(a, &b->dungeon);
|
||||
RestoreIntegerBits(a, &b->unk8, 0x18);
|
||||
RestoreIntegerBits(a, &b->unkC, 0x9);
|
||||
RestoreIntegerBits(a, &b->clientSpecies, 0x9);
|
||||
RestoreIntegerBits(a, &b->unk10, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk14, 0x50);
|
||||
RestoreIntegerBits(a, &b->unk20, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk21, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk22, 0x8);
|
||||
RestoreIntegerBits(a, &b->playerName, 0x50);
|
||||
RestoreIntegerBits(a, &b->unk20.itemFlags, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk20.numItems, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk20.itemIndex, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk24, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk28, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk2C, 0x8);
|
||||
@@ -140,14 +346,14 @@ void sub_8095824(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b)
|
||||
zero = 0;
|
||||
|
||||
SaveIntegerBits(a, &b->mailType, 4);
|
||||
SaveDungeonLocation(a, &b->unk4);
|
||||
SaveDungeonLocation(a, &b->dungeon);
|
||||
SaveIntegerBits(a, &b->unk8, 0x18);
|
||||
SaveIntegerBits(a, &b->unkC, 0x9);
|
||||
SaveIntegerBits(a, &b->clientSpecies, 0x9);
|
||||
SaveIntegerBits(a, &b->unk10, 0x20);
|
||||
SaveIntegerBits(a, &b->unk14, 0x50);
|
||||
SaveIntegerBits(a, &b->unk20, 0x8);
|
||||
SaveIntegerBits(a, &b->unk21, 0x8);
|
||||
SaveIntegerBits(a, &b->unk22, 0x8);
|
||||
SaveIntegerBits(a, &b->playerName, 0x50);
|
||||
SaveIntegerBits(a, &b->unk20.itemFlags, 0x8);
|
||||
SaveIntegerBits(a, &b->unk20.numItems, 0x8);
|
||||
SaveIntegerBits(a, &b->unk20.itemIndex, 0x8);
|
||||
SaveIntegerBits(a, &b->unk24, 0x20);
|
||||
SaveIntegerBits(a, &b->unk28, 0x20);
|
||||
SaveIntegerBits(a, &b->unk2C, 0x8);
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
#include "item.h"
|
||||
#include "friend_area.h"
|
||||
#include "constants/friend_area.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "constants/wonder_mail.h"
|
||||
#include "dungeon.h"
|
||||
#include "code_80958E8.h"
|
||||
|
||||
#include "pokemon.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
extern s32 GetDungeonFloorCount(u8);
|
||||
extern bool8 sub_809017C(struct DungeonLocation *);
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
#include "input.h"
|
||||
#include "team_inventory.h"
|
||||
#include "friend_rescue.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "item.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "menu.h"
|
||||
#include "rescue_password_menu.h"
|
||||
|
||||
extern struct TeamInventory *gTeamInventory_203B460;
|
||||
@@ -17,7 +17,6 @@ extern u8 *gUnknown_203B484;
|
||||
extern void SetFriendRescueMenuState(u32);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern void sub_802F2C0();
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern void sub_8095240(u8);
|
||||
extern u32 sub_802F298();
|
||||
|
||||
@@ -26,7 +25,6 @@ extern char gAvailablePokemonNames[0x50];
|
||||
|
||||
extern struct WonderMailStruct_203B33C *gUnknown_203B33C;
|
||||
|
||||
extern u8 sub_80953D4(u32);
|
||||
extern u8 sub_801CF14(u32);
|
||||
|
||||
extern u8 gUnknown_80E48A8[];
|
||||
@@ -44,7 +42,7 @@ extern u8 gUnknown_80E31FC[];
|
||||
|
||||
extern u32 sub_80154F0();
|
||||
extern void sub_80155F0();
|
||||
struct unkStruct_8095228 *sub_8095228(u8);
|
||||
struct unkStruct_203B480 *sub_8095228(u8);
|
||||
extern void sub_80141B4(u8 *r0, u32, u32 *r1, u32);
|
||||
extern void sub_8014248(const char *r0, u32, u32, struct MenuItem *r4, u32, u32, u32, u32 *r5, u32);
|
||||
|
||||
@@ -83,13 +81,10 @@ extern void sub_8023DA4(void);
|
||||
extern void sub_8035D1C(void);
|
||||
extern u16 sub_8023B44(void);
|
||||
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_8095228 *r0);
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_203B480 *r0);
|
||||
extern void sub_8095274(u32);
|
||||
extern void sub_80951BC(struct unkStruct_8095228 *r0);
|
||||
extern void sub_80951FC(struct unkStruct_8095228 *r0);
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern void sub_80951BC(struct unkStruct_203B480 *r0);
|
||||
extern u8 sub_800D588(void);
|
||||
extern u32 sub_8095324(u32);
|
||||
extern s32 sub_8095190(void);
|
||||
|
||||
extern u8 gUnknown_80E44A4[];
|
||||
@@ -436,11 +431,11 @@ void sub_8033DBC(void)
|
||||
{
|
||||
u32 return_var;
|
||||
u32 input_var;
|
||||
struct unkStruct_8095228 temp;
|
||||
struct unkStruct_8095228 *temp2;
|
||||
struct unkStruct_203B480 temp;
|
||||
struct unkStruct_203B480 *temp2;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_203B480));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
@@ -490,7 +485,8 @@ void sub_8033DBC(void)
|
||||
sub_80951FC(&temp);
|
||||
temp2 = sub_8095228(sub_809539C(1, temp.unk10));
|
||||
temp2->mailType = 7;
|
||||
MemoryFill8((u8 *)gUnknown_203B484, 0, sizeof(struct unkStruct_203B484));
|
||||
//MemoryFill8((u8 *)gUnknown_203B484, 0, sizeof(struct unkStruct_203B484));
|
||||
MemoryFill8((u8 *)gUnknown_203B484, 0, 0x5C);
|
||||
SetFriendRescueMenuState(0x40);
|
||||
break;
|
||||
case 24:
|
||||
@@ -1333,11 +1329,11 @@ void sub_8034D54(void)
|
||||
void sub_8034D74(void)
|
||||
{
|
||||
u32 return_var;
|
||||
struct unkStruct_8095228 temp;
|
||||
struct unkStruct_8095228 *temp2;
|
||||
struct unkStruct_203B480 temp;
|
||||
struct unkStruct_203B480 *temp2;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_203B480));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
@@ -1448,7 +1444,7 @@ void sub_8034F58(void)
|
||||
void sub_8034F88(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_8095228 *temp2;
|
||||
struct unkStruct_203B480 *temp2;
|
||||
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
@@ -1644,7 +1640,7 @@ void sub_80351E0(void)
|
||||
void sub_8035210(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_8095228 *temp2;
|
||||
struct unkStruct_203B480 *temp2;
|
||||
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
|
||||
@@ -47,7 +47,6 @@ extern void sub_8035CF4(u32 *, u32, u32);
|
||||
extern void SetMenuItems(u32 *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, u32 *);
|
||||
extern void sub_8095240(u32);
|
||||
|
||||
extern void sub_80920D8(u8 *);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
@@ -58,7 +57,6 @@ extern u32 GetNumAdventures(void);
|
||||
extern void xxx_call_draw_string(u32 x, u32 y, const u8 *, u32, u32);
|
||||
extern void PrintDungeonLocationtoBuffer(u8 *, u8 *);
|
||||
extern void sub_80922B4(u8 *, const u8 *, u32);
|
||||
extern s32 sub_8095324(u32);
|
||||
extern u32 sub_8001658(u32, u32);
|
||||
extern void sub_80073E0(u32);
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
#include "menu.h"
|
||||
#include "memory.h"
|
||||
#include "text.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
struct PostOfficeHelper
|
||||
{
|
||||
@@ -597,7 +597,7 @@ void DisplayMissionObjectives(void)
|
||||
{
|
||||
s32 yCoord;
|
||||
s32 jobSlotIdx;
|
||||
struct unkStruct_8095228 *iVar8;
|
||||
struct unkStruct_203B480 *iVar8;
|
||||
struct WonderMail *jobInfo;
|
||||
u8 auStack248 [100];
|
||||
volatile u8 local_94;
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "save.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "text.h"
|
||||
#include "main_menu.h"
|
||||
#include "rescue_password_menu.h"
|
||||
@@ -31,14 +30,14 @@ extern void sub_8031E10(void);
|
||||
extern void DisplayPasswordAcceptScreen(void);
|
||||
|
||||
|
||||
extern u32 sub_8039068(u32, u8 *passwordBuffer, struct unkStruct_8095228 *r0);
|
||||
extern u32 sub_8039068(u32, u8 *passwordBuffer, struct unkStruct_203B480 *r0);
|
||||
|
||||
extern void sub_80951BC(struct unkStruct_8095228 *r0);
|
||||
extern void sub_80951FC(struct unkStruct_8095228 *r0);
|
||||
extern void sub_80951BC(struct unkStruct_203B480 *r0);
|
||||
extern bool8 sub_80951FC(struct unkStruct_203B480 *r0);
|
||||
extern u8 sub_8012FD8(u32 *r0);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u32 sub_80154F0(void);
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern s32 sub_809539C(u8, u32);
|
||||
extern void sub_8095274(u32);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_80391F8(void);
|
||||
@@ -47,13 +46,12 @@ extern void DisplayRescuePasswordError(u32);
|
||||
extern struct MainMenu *GetMainMenu(void);
|
||||
|
||||
|
||||
extern void sub_8039174(void);
|
||||
extern void SetMenuItems(void *, struct UnkTextStruct2 *, u32, const struct UnkTextStruct2 *, const struct MenuItem *, u32, u32, u32);
|
||||
extern void sub_8035CF4(u32 *r0, u32, u32);
|
||||
bool8 IsInvalidItemReward(u8);
|
||||
bool8 sub_80952F0(u32, u32);
|
||||
bool8 sub_8095298(u32);
|
||||
bool8 sub_803D204(u8 *, struct unkStruct_8095228 *);
|
||||
bool8 sub_80952F0(u8, u32);
|
||||
bool8 sub_8095298(s32);
|
||||
bool8 sub_803D204(u8 *, struct unkStruct_203B480 *);
|
||||
extern s32 GetDungeonFloorCount(u8);
|
||||
extern s32 sub_8095190(void);
|
||||
|
||||
@@ -81,7 +79,7 @@ extern struct MenuItem gUnknown_80E75A0[];
|
||||
|
||||
void CreateRescuePasswordMenu(u32 currMenu)
|
||||
{
|
||||
struct unkStruct_8095228 *temp;
|
||||
struct unkStruct_203B480 *temp;
|
||||
s32 counter;
|
||||
|
||||
if(gRescuePasswordMenu == NULL)
|
||||
@@ -121,7 +119,7 @@ void CreateRescuePasswordMenu(u32 currMenu)
|
||||
break;
|
||||
case MENU_DISPLAY_RESCUE_PASSWORD:
|
||||
temp = sub_8095228(0x1F);
|
||||
MemoryFill8((u8 *)temp, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)temp, 0, sizeof(struct unkStruct_203B480));
|
||||
temp->mailType = 2;
|
||||
temp->unk20.itemIndex = ITEM_ID_NOTHING;
|
||||
sub_8031D70(0x1F, 0);
|
||||
@@ -163,12 +161,12 @@ static inline s32 UpdateRescuePasswordMenu_sub(s32 otherMenu)
|
||||
|
||||
s32 UpdateRescuePasswordMenu(void)
|
||||
{
|
||||
struct unkStruct_8095228 *puVar5;
|
||||
struct unkStruct_8095228 *puVar6;
|
||||
struct unkStruct_203B480 *puVar5;
|
||||
struct unkStruct_203B480 *puVar6;
|
||||
u32 iVar7;
|
||||
struct MainMenu *iVar9;
|
||||
s32 nextMenu;
|
||||
struct unkStruct_8095228 local_44;
|
||||
struct unkStruct_203B480 local_44;
|
||||
u32 local_14;
|
||||
u32 subtract;
|
||||
|
||||
@@ -184,7 +182,7 @@ s32 UpdateRescuePasswordMenu(void)
|
||||
case 3:
|
||||
case 5:
|
||||
iVar7 = sub_80154F0();
|
||||
MemoryFill8((u8 *)&local_44, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&local_44, 0, sizeof(struct unkStruct_203B480));
|
||||
switch(iVar7)
|
||||
{
|
||||
case 1:
|
||||
@@ -451,7 +449,7 @@ u32 ConvertMenutoRescuePasswordState(u32 unused)
|
||||
return uVar1;
|
||||
}
|
||||
|
||||
u32 sub_8039068(u32 mailMode, u8 *passwordBuffer, struct unkStruct_8095228 *param_3)
|
||||
u32 sub_8039068(u32 mailMode, u8 *passwordBuffer, struct unkStruct_203B480 *param_3)
|
||||
{
|
||||
if ( (!sub_803D204(passwordBuffer, param_3)) || (WONDER_MAIL_TYPE_OKD < param_3->mailType) ||
|
||||
(param_3->dungeon.dungeonFloor >= GetDungeonFloorCount(param_3->dungeon.dungeonIndex)) ||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "pokemon.h"
|
||||
#include "file_system.h"
|
||||
#include "item.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "memory.h"
|
||||
#include "menu.h"
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "code_800D090.h"
|
||||
|
||||
extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4;
|
||||
struct unkStruct_203B480 * sub_8095228(u8 index);
|
||||
|
||||
#define THANK_YOU_MAIL_MAIN_MENU 0
|
||||
#define ANYTHING_ELSE_THANK_YOU_MAIN_MENU 1
|
||||
@@ -153,13 +154,11 @@ const struct MenuItem gUnknown_80DEEE4[4] =
|
||||
#include "data/thank_you_wonder_mail.h"
|
||||
|
||||
|
||||
extern s32 sub_80953D4(u32);
|
||||
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
|
||||
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, struct OpenedFile **r5, u32);
|
||||
extern u8 sub_8012FD8(u32 *r0);
|
||||
extern void sub_8035CC0(struct UnkTextStruct2 *r0, u32);
|
||||
extern void sub_8030810(u32);
|
||||
extern u32 sub_8095324(u32);
|
||||
extern u32 sub_8031DCC(void);
|
||||
extern void sub_8031E00(void);
|
||||
extern void sub_8095240(u8);
|
||||
@@ -236,7 +235,6 @@ extern void sub_80306A8(u32, u32, u32, u32);
|
||||
extern s32 sub_8037D64(u32, void *, void *);
|
||||
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 GetDungeonTeamRankPts(struct DungeonLocation *, u32);
|
||||
extern void sub_8031D70(u8, u32);
|
||||
@@ -253,8 +251,7 @@ extern void sub_801CB5C(u32);
|
||||
extern void sub_801CCD8(void);
|
||||
extern void sub_8011C28(u32);
|
||||
extern u32 sub_80154F0(void);
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_8095228 *r0);
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_203B480 *r0);
|
||||
|
||||
|
||||
u32 CreateThankYouMailPelipper(void)
|
||||
@@ -263,7 +260,7 @@ u32 CreateThankYouMailPelipper(void)
|
||||
struct OpenedFile *faceFile;
|
||||
s32 uVar2;
|
||||
int counter;
|
||||
struct unkStruct_8095228 *temp;
|
||||
struct unkStruct_203B480 *temp;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(0,1,1);
|
||||
@@ -822,12 +819,12 @@ void AdvanceToThankYouPasswordProcessing(void)
|
||||
void HandleThankYouMailPasswordMenu(void)
|
||||
{
|
||||
u8 uVar1;
|
||||
struct unkStruct_8095228 *puVar5;
|
||||
struct unkStruct_203B480 *puVar5;
|
||||
u32 return_var;
|
||||
struct unkStruct_8095228 temp;
|
||||
struct unkStruct_203B480 temp;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_203B480));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
@@ -954,7 +951,7 @@ void sub_802A75C(void)
|
||||
void HandleConfirmItemtoSendMenu(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_8095228 *return_var;
|
||||
struct unkStruct_203B480 *return_var;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
switch(temp)
|
||||
@@ -1137,7 +1134,7 @@ void sub_802A9FC(void)
|
||||
void HandleMailCommunicationMenu(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_8095228 *return_var;
|
||||
struct unkStruct_203B480 *return_var;
|
||||
if(sub_80144A4(&temp) == 0)
|
||||
{
|
||||
switch(temp)
|
||||
@@ -1278,7 +1275,7 @@ void UpdateThankYouMailText(void)
|
||||
struct PokemonStruct *pokeStruct;
|
||||
struct PokemonStruct *pokeStruct2;
|
||||
s32 linkStatus;
|
||||
struct unkStruct_8095228 *puVar4;
|
||||
struct unkStruct_203B480 *puVar4;
|
||||
|
||||
switch(gUnknown_203B2C4->state) {
|
||||
case 5:
|
||||
@@ -1335,13 +1332,13 @@ void UpdateThankYouMailText(void)
|
||||
switch(gUnknown_203B2C4->unk40)
|
||||
{
|
||||
case 6:
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1B8,0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1B8,0, sizeof(struct unkStruct_203B480));
|
||||
gUnknown_203B2C4->unk1B8 = *sub_8095228(gUnknown_203B2C4->unk218);
|
||||
gUnknown_203B2C4->linkError = sub_8037D64(gUnknown_203B2C4->unk40,&gUnknown_203B2C4->unk1B8,&gUnknown_203B2C4->unk1E8);
|
||||
break;
|
||||
case 7:
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1B8,0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1E8,0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1B8,0, sizeof(struct unkStruct_203B480));
|
||||
MemoryFill8((u8 *)&gUnknown_203B2C4->unk1E8,0, sizeof(struct unkStruct_203B480));
|
||||
gUnknown_203B2C4->linkError = sub_8037D64(gUnknown_203B2C4->unk40,&gUnknown_203B2C4->unk1B8,&gUnknown_203B2C4->unk1E8);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "file_system.h"
|
||||
#include "item.h"
|
||||
#include "input.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "memory.h"
|
||||
#include "menu.h"
|
||||
@@ -25,13 +24,11 @@ extern u32 sub_8031050();
|
||||
extern void sub_80310B4();
|
||||
extern u32 sub_8095350();
|
||||
extern u8 sub_80A2824(u8);
|
||||
extern u8 sub_809539C(u32, u32);
|
||||
|
||||
extern char gUnknown_202E5D8[0x50];
|
||||
extern char gAvailablePokemonNames[0x50];
|
||||
|
||||
extern s32 sub_8095190(void);
|
||||
extern u32 sub_8095324(u32);
|
||||
extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
|
||||
extern void nullsub_130(void);
|
||||
extern void sub_8028348(void);
|
||||
@@ -48,11 +45,11 @@ extern void sub_8030DE4(void);
|
||||
extern void sub_803092C(void);
|
||||
|
||||
extern u32 sub_80154F0();
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_8095228 *r0);
|
||||
extern u32 sub_8039068(u32, u8 *r1, struct unkStruct_203B480 *r0);
|
||||
extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, void *r5, u32);
|
||||
extern void sub_8095274(u32);
|
||||
extern void sub_80155F0();
|
||||
extern void sub_80951BC(struct unkStruct_8095228 *r0);
|
||||
extern void sub_80951BC(struct unkStruct_203B480 *r0);
|
||||
extern void sub_8013114(u32 *r0, s32 *r1);
|
||||
extern void sub_8023C60();
|
||||
extern u32 sub_8023A94(u32);
|
||||
@@ -1162,7 +1159,7 @@ void sub_8028FC0()
|
||||
void sub_8028FDC(void)
|
||||
{
|
||||
s32 temp;
|
||||
struct unkStruct_8095228 *return_var;
|
||||
struct unkStruct_203B480 *return_var;
|
||||
|
||||
if(sub_80144A4(&temp) != 0)
|
||||
{
|
||||
@@ -1453,10 +1450,10 @@ void sub_80293D8(void)
|
||||
void sub_80293F4(void)
|
||||
{
|
||||
u32 return_var;
|
||||
struct unkStruct_8095228 temp;
|
||||
struct unkStruct_203B480 temp;
|
||||
|
||||
return_var = sub_80154F0();
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_8095228));
|
||||
MemoryFill8((u8 *)&temp, 0, sizeof(struct unkStruct_203B480));
|
||||
switch(return_var)
|
||||
{
|
||||
case 3:
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "save.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "gUnknown_203B46C.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
struct unkStruct_203B2C8
|
||||
{
|
||||
@@ -359,7 +359,7 @@ void nullsub_132(void)
|
||||
|
||||
void sub_802B3E0(void)
|
||||
{
|
||||
struct unkStruct_8095228 *iVar3;
|
||||
struct unkStruct_203B480 *iVar3;
|
||||
char *monName;
|
||||
char teamNameBuffer[40];
|
||||
|
||||
@@ -441,7 +441,7 @@ void sub_802B57C(void)
|
||||
void sub_802B5B8(void)
|
||||
{
|
||||
u32 uVar2;
|
||||
struct unkStruct_8095228 *puVar3;
|
||||
struct unkStruct_203B480 *puVar3;
|
||||
s32 temp;
|
||||
|
||||
if (sub_80144A4(&temp) == 0) {
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "item.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "pokemon.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "constants/wonder_mail.h"
|
||||
@@ -239,7 +238,7 @@ void sub_80308A0(void)
|
||||
|
||||
void sub_803092C(void)
|
||||
{
|
||||
struct unkStruct_8095228 *pbVar2;
|
||||
struct unkStruct_203B480 *pbVar2;
|
||||
s32 r4;
|
||||
s32 r5;
|
||||
s32 r6;
|
||||
@@ -266,7 +265,7 @@ void sub_803092C(void)
|
||||
local.unk3C[12] = 0;
|
||||
|
||||
local.unk8 = &pbVar2->dungeon;
|
||||
local.unkC = pbVar2->padding2;
|
||||
local.unkC = pbVar2->playerName;
|
||||
|
||||
local.unk10 = (pbVar2->clientSpecies);
|
||||
local.unk12 = (pbVar2->clientSpecies);
|
||||
|
||||
@@ -330,7 +330,7 @@ void sub_80313D8(u32 param_1)
|
||||
unused = &gUnknown_203B480[iVar2];
|
||||
gUnknown_203B480[iVar2].mailType = 0;
|
||||
unused = &gUnknown_203B480[iVar2];
|
||||
gUnknown_203B480[iVar2].unk22 = 0;
|
||||
gUnknown_203B480[iVar2].unk20.itemIndex = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
#include "memory.h"
|
||||
#include "text.h"
|
||||
#include "input.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "wonder_mail.h"
|
||||
#include "menu.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
#define SELECT_WONDER_MAIL_MODE_MAIN_SCREEN 0
|
||||
#define SEND_WONDER_MAIL_MAIN_SCREEN 1
|
||||
@@ -118,7 +118,6 @@ struct unkStruct_203B3E8
|
||||
|
||||
EWRAM_DATA struct unkStruct_203B3E8 *gUnknown_203B3E8;
|
||||
|
||||
extern u32 sub_8095324(u32);
|
||||
extern u32 sub_80144A4(s32 *);
|
||||
extern u32 sub_8011C1C(void);
|
||||
extern void SetWonderMailMainMenuState(u8);
|
||||
|
||||
Reference in New Issue
Block a user