sub_80EA828
This commit is contained in:
@@ -5,92 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80EA828
|
|
||||||
sub_80EA828: @ 80EA828
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r9
|
|
||||||
mov r6, r8
|
|
||||||
push {r6,r7}
|
|
||||||
adds r7, r2, 0
|
|
||||||
mov r8, r3
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r6, =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r6]
|
|
||||||
lsls r2, r5, 2
|
|
||||||
adds r2, r5
|
|
||||||
lsls r4, r2, 5
|
|
||||||
adds r0, r4
|
|
||||||
ldr r2, =0x00001a9c
|
|
||||||
mov r9, r2
|
|
||||||
add r0, r9
|
|
||||||
movs r2, 0xA0
|
|
||||||
bl memcpy
|
|
||||||
ldr r2, [r6]
|
|
||||||
adds r2, r4
|
|
||||||
ldr r0, =0x00001a9d
|
|
||||||
adds r2, r0
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, 0x3F
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, 0x80
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
subs r0, r7, 0x1
|
|
||||||
cmp r0, 0x1
|
|
||||||
bhi _080EA876
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r4
|
|
||||||
ldr r1, =0x00001aa9
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0x2
|
|
||||||
strb r1, [r0]
|
|
||||||
_080EA876:
|
|
||||||
cmp r7, 0x3
|
|
||||||
bne _080EA8B8
|
|
||||||
mov r2, r8
|
|
||||||
cmp r2, 0x1
|
|
||||||
bne _080EA8B8
|
|
||||||
mov r1, r9
|
|
||||||
adds r0, r4, r1
|
|
||||||
ldr r1, [r6]
|
|
||||||
adds r1, r0
|
|
||||||
adds r2, r1, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
ldrb r0, [r1, 0x2]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
beq _080EA8A0
|
|
||||||
_080EA892:
|
|
||||||
adds r3, 0x1
|
|
||||||
cmp r3, 0x6
|
|
||||||
bgt _080EA8A0
|
|
||||||
adds r0, r2, r3
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _080EA892
|
|
||||||
_080EA8A0:
|
|
||||||
cmp r3, 0x5
|
|
||||||
ble _080EA8B8
|
|
||||||
ldr r0, =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 5
|
|
||||||
adds r1, r0
|
|
||||||
ldr r2, =0x00001aa9
|
|
||||||
adds r1, r2
|
|
||||||
movs r0, 0x2
|
|
||||||
strb r0, [r1]
|
|
||||||
_080EA8B8:
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80EA828
|
|
||||||
|
|
||||||
thumb_func_start sub_80EA8D4
|
thumb_func_start sub_80EA8D4
|
||||||
sub_80EA8D4: @ 80EA8D4
|
sub_80EA8D4: @ 80EA8D4
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
@@ -1429,3 +1429,31 @@ void sub_80EA3E4(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_80EA828(u8 sbId, struct SecretBaseRecord *base, u32 version, u32 language)
|
||||||
|
{
|
||||||
|
int strlen;
|
||||||
|
u8 *name;
|
||||||
|
|
||||||
|
gSaveBlock1Ptr->secretBases[sbId] = *base;
|
||||||
|
gSaveBlock1Ptr->secretBases[sbId].sbr_field_1_6 = 2;
|
||||||
|
if (version == VERSION_SAPPHIRE || version == VERSION_RUBY)
|
||||||
|
{
|
||||||
|
gSaveBlock1Ptr->secretBases[sbId].language = LANGUAGE_ENGLISH;
|
||||||
|
}
|
||||||
|
if (version == VERSION_EMERALD && language == LANGUAGE_JAPANESE)
|
||||||
|
{
|
||||||
|
name = gSaveBlock1Ptr->secretBases[sbId].trainerName;
|
||||||
|
for (strlen = 0; strlen < 7; strlen ++)
|
||||||
|
{
|
||||||
|
if (name[strlen] == EOS)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (strlen > 5)
|
||||||
|
{
|
||||||
|
gSaveBlock1Ptr->secretBases[sbId].language = LANGUAGE_ENGLISH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user