through sub_80EAEF4
This commit is contained in:
parent
6341dbf61f
commit
8634537b8b
2 changed files with 46 additions and 116 deletions
|
@ -5,119 +5,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80EAE90
|
|
||||||
sub_80EAE90: @ 80EAE90
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r3, r1, 0
|
|
||||||
ldrb r1, [r4, 0x1]
|
|
||||||
movs r0, 0xF
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _080EAEAE
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r3, 0
|
|
||||||
bl sub_80EAA64
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl ClearSecretBase
|
|
||||||
_080EAEAE:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80EAE90
|
|
||||||
|
|
||||||
thumb_func_start sub_80EAEB4
|
|
||||||
sub_80EAEB4: @ 80EAEB4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r5, r0, 0
|
|
||||||
movs r6, 0
|
|
||||||
_080EAEBA:
|
|
||||||
lsls r4, r6, 2
|
|
||||||
adds r4, r6
|
|
||||||
lsls r4, 5
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r4
|
|
||||||
ldr r1, [r5, 0x4]
|
|
||||||
ldr r2, [r5, 0x8]
|
|
||||||
bl sub_80EAE90
|
|
||||||
ldr r0, [r5, 0xC]
|
|
||||||
adds r0, r4
|
|
||||||
ldr r1, [r5, 0x10]
|
|
||||||
ldr r2, [r5, 0x14]
|
|
||||||
bl sub_80EAE90
|
|
||||||
ldr r0, [r5, 0x18]
|
|
||||||
adds r0, r4
|
|
||||||
ldr r1, [r5, 0x1C]
|
|
||||||
ldr r2, [r5, 0x20]
|
|
||||||
bl sub_80EAE90
|
|
||||||
adds r0, r6, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r6, r0, 16
|
|
||||||
cmp r6, 0x13
|
|
||||||
bls _080EAEBA
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80EAEB4
|
|
||||||
|
|
||||||
thumb_func_start sub_80EAEF4
|
|
||||||
sub_80EAEF4: @ 80EAEF4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, [r4, 0xC]
|
|
||||||
ldr r2, [r4, 0x18]
|
|
||||||
bl DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords
|
|
||||||
ldr r0, =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, =0x00001a9c
|
|
||||||
adds r0, r1
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, [r4, 0xC]
|
|
||||||
ldr r3, [r4, 0x18]
|
|
||||||
bl sub_80EAD94
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_80EAEB4
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, [r4, 0x4]
|
|
||||||
ldr r2, [r4, 0x8]
|
|
||||||
bl sub_80EAA64
|
|
||||||
ldr r0, [r4, 0xC]
|
|
||||||
ldr r1, [r4, 0x10]
|
|
||||||
ldr r2, [r4, 0x14]
|
|
||||||
bl sub_80EAA64
|
|
||||||
ldr r0, [r4, 0x18]
|
|
||||||
ldr r1, [r4, 0x1C]
|
|
||||||
ldr r2, [r4, 0x20]
|
|
||||||
bl sub_80EAA64
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_80EABA4
|
|
||||||
adds r6, r4, 0
|
|
||||||
adds r6, 0xC
|
|
||||||
adds r0, r6, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_80EABA4
|
|
||||||
adds r5, r4, 0
|
|
||||||
adds r5, 0x18
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_80EABA4
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_80EABA4
|
|
||||||
adds r0, r6, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_80EABA4
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_80EABA4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80EAEF4
|
|
||||||
|
|
||||||
thumb_func_start sub_80EAF80
|
thumb_func_start sub_80EAF80
|
||||||
sub_80EAF80: @ 80EAF80
|
sub_80EAF80: @ 80EAF80
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|
|
@ -44,6 +44,12 @@ struct SecretBaseListMenuBuffer {
|
||||||
u8 names[11][32];
|
u8 names[11][32];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SecretBaseRecordMixer {
|
||||||
|
struct SecretBaseRecord *records;
|
||||||
|
u32 version;
|
||||||
|
u32 language;
|
||||||
|
};
|
||||||
|
|
||||||
// Static RAM declarations
|
// Static RAM declarations
|
||||||
EWRAM_DATA u8 sCurSecretBaseId = 0;
|
EWRAM_DATA u8 sCurSecretBaseId = 0;
|
||||||
EWRAM_DATA u8 gUnknown_0203A01D = 0;
|
EWRAM_DATA u8 gUnknown_0203A01D = 0;
|
||||||
|
@ -1600,15 +1606,15 @@ void sub_80EAAF4(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80EABA4(u32 *args, u8 b)
|
void sub_80EABA4(struct SecretBaseRecordMixer *mixer, u8 b)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
|
|
||||||
for (i = 1; i < 20; i ++)
|
for (i = 1; i < 20; i ++)
|
||||||
{
|
{
|
||||||
if (((struct SecretBaseRecord *)args[0])[i].sbr_field_1_6 == b)
|
if (mixer->records[i].sbr_field_1_6 == b)
|
||||||
{
|
{
|
||||||
sub_80EAA64(&((struct SecretBaseRecord *)args[0])[i], args[1], args[2]);
|
sub_80EAA64(&mixer->records[i], mixer->version, mixer->language);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1758,3 +1764,40 @@ void sub_80EAD94(struct SecretBaseRecord *basesA, struct SecretBaseRecord *bases
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_80EAE90(struct SecretBaseRecord *base, u32 version, u32 language)
|
||||||
|
{
|
||||||
|
if (base->sbr_field_1_0 == 1)
|
||||||
|
{
|
||||||
|
sub_80EAA64(base, version, language);
|
||||||
|
ClearSecretBase(base);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80EAEB4(struct SecretBaseRecordMixer *mixer)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < 20; i ++)
|
||||||
|
{
|
||||||
|
sub_80EAE90(&mixer[0].records[i], mixer[0].version, mixer[0].language);
|
||||||
|
sub_80EAE90(&mixer[1].records[i], mixer[1].version, mixer[1].language);
|
||||||
|
sub_80EAE90(&mixer[2].records[i], mixer[2].version, mixer[2].language);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80EAEF4(struct SecretBaseRecordMixer *mixer)
|
||||||
|
{
|
||||||
|
DeleteFirstOldBaseFromPlayerInRecordMixingFriendsRecords(mixer[0].records, mixer[1].records, mixer[2].records);
|
||||||
|
sub_80EAD94(gSaveBlock1Ptr->secretBases, mixer[0].records, mixer[1].records, mixer[2].records);
|
||||||
|
sub_80EAEB4(mixer);
|
||||||
|
sub_80EAA64(mixer[0].records, mixer[0].version, mixer[0].language);
|
||||||
|
sub_80EAA64(mixer[1].records, mixer[1].version, mixer[1].language);
|
||||||
|
sub_80EAA64(mixer[2].records, mixer[2].version, mixer[2].language);
|
||||||
|
sub_80EABA4(&mixer[0], 1);
|
||||||
|
sub_80EABA4(&mixer[1], 1);
|
||||||
|
sub_80EABA4(&mixer[2], 1);
|
||||||
|
sub_80EABA4(&mixer[0], 0);
|
||||||
|
sub_80EABA4(&mixer[1], 0);
|
||||||
|
sub_80EABA4(&mixer[2], 0);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue