through sub_80E8BC8
This commit is contained in:
parent
0dfd0f8c0e
commit
eb2c2f0a3f
3 changed files with 38 additions and 75 deletions
|
@ -5,72 +5,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80E8B6C
|
|
||||||
sub_80E8B6C: @ 80E8B6C
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r0, =gScriptResult
|
|
||||||
movs r1, 0
|
|
||||||
strh r1, [r0]
|
|
||||||
movs r3, 0
|
|
||||||
adds r4, r0, 0
|
|
||||||
b _080E8B86
|
|
||||||
.pool
|
|
||||||
_080E8B80:
|
|
||||||
adds r0, r3, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r3, r0, 16
|
|
||||||
_080E8B86:
|
|
||||||
cmp r3, 0x13
|
|
||||||
bhi _080E8BB0
|
|
||||||
ldr r2, =gUnknown_0203A01C
|
|
||||||
ldr r0, =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
lsls r0, r3, 2
|
|
||||||
adds r0, r3
|
|
||||||
lsls r0, 5
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, =0x00001a9c
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r2]
|
|
||||||
ldrb r1, [r1]
|
|
||||||
cmp r0, r1
|
|
||||||
bne _080E8B80
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r4]
|
|
||||||
ldr r0, =0x00004054
|
|
||||||
adds r1, r3, 0
|
|
||||||
bl VarSet
|
|
||||||
_080E8BB0:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80E8B6C
|
|
||||||
|
|
||||||
thumb_func_start sub_80E8BC8
|
|
||||||
sub_80E8BC8: @ 80E8BC8
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, =0x00001a9c
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r1, [r0]
|
|
||||||
cmp r1, 0
|
|
||||||
beq _080E8BEC
|
|
||||||
ldr r1, =gScriptResult
|
|
||||||
movs r0, 0x1
|
|
||||||
strh r0, [r1]
|
|
||||||
b _080E8BF0
|
|
||||||
.pool
|
|
||||||
_080E8BEC:
|
|
||||||
ldr r0, =gScriptResult
|
|
||||||
strh r1, [r0]
|
|
||||||
_080E8BF0:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80E8BC8
|
|
||||||
|
|
||||||
thumb_func_start sub_80E8BF8
|
thumb_func_start sub_80E8BF8
|
||||||
sub_80E8BF8: @ 80E8BF8
|
sub_80E8BF8: @ 80E8BF8
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
@ -375,7 +309,7 @@ sub_80E8E18: @ 80E8E18
|
||||||
push {r6}
|
push {r6}
|
||||||
ldr r2, =gSaveBlock1Ptr
|
ldr r2, =gSaveBlock1Ptr
|
||||||
ldr r0, [r2]
|
ldr r0, [r2]
|
||||||
ldr r1, =gUnknown_0203A01C
|
ldr r1, =sCurSecretBaseId
|
||||||
ldrb r1, [r1]
|
ldrb r1, [r1]
|
||||||
ldr r3, =0x00001a9c
|
ldr r3, =0x00001a9c
|
||||||
adds r0, r3
|
adds r0, r3
|
||||||
|
@ -548,7 +482,7 @@ _080E8F8A:
|
||||||
thumb_func_start sub_80E8F9C
|
thumb_func_start sub_80E8F9C
|
||||||
sub_80E8F9C: @ 80E8F9C
|
sub_80E8F9C: @ 80E8F9C
|
||||||
push {lr}
|
push {lr}
|
||||||
ldr r0, =gUnknown_0203A01C
|
ldr r0, =sCurSecretBaseId
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
movs r1, 0xA
|
movs r1, 0xA
|
||||||
bl __udivsi3
|
bl __udivsi3
|
||||||
|
@ -767,7 +701,7 @@ sub_80E916C: @ 80E916C
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
cmp r0, 0
|
cmp r0, 0
|
||||||
bne _080E91D4
|
bne _080E91D4
|
||||||
ldr r0, =gUnknown_0203A01C
|
ldr r0, =sCurSecretBaseId
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
movs r1, 0xA
|
movs r1, 0xA
|
||||||
bl __udivsi3
|
bl __udivsi3
|
||||||
|
@ -1302,7 +1236,7 @@ sub_80E9608: @ 80E9608
|
||||||
ldrb r0, [r4, 0x3]
|
ldrb r0, [r4, 0x3]
|
||||||
cmp r3, r0
|
cmp r3, r0
|
||||||
bge _080E9660
|
bge _080E9660
|
||||||
ldr r6, =gUnknown_0203A01C
|
ldr r6, =sCurSecretBaseId
|
||||||
_080E9618:
|
_080E9618:
|
||||||
lsls r3, 16
|
lsls r3, 16
|
||||||
asrs r1, r3, 16
|
asrs r1, r3, 16
|
||||||
|
@ -1456,7 +1390,7 @@ sub_80E9744: @ 80E9744
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
ldr r1, =0x00001a9c
|
ldr r1, =0x00001a9c
|
||||||
adds r0, r1
|
adds r0, r1
|
||||||
ldr r1, =gUnknown_0203A01C
|
ldr r1, =sCurSecretBaseId
|
||||||
ldrb r0, [r0]
|
ldrb r0, [r0]
|
||||||
ldrb r1, [r1]
|
ldrb r1, [r1]
|
||||||
cmp r0, r1
|
cmp r0, r1
|
||||||
|
|
|
@ -236,12 +236,12 @@ extern struct SaveBlock2 *gSaveBlock2Ptr;
|
||||||
|
|
||||||
struct SecretBaseRecord
|
struct SecretBaseRecord
|
||||||
{
|
{
|
||||||
/*ID?*/ /*0x1A9C*/ u8 sbr_field_0;
|
/*0x1A9C*/ u8 secretBaseId;
|
||||||
/*0x1A9D*/ u8 sbr_field_1_0:4;
|
/*0x1A9D*/ u8 sbr_field_1_0:4;
|
||||||
/*0x1A9D*/ u8 gender:1;
|
/*0x1A9D*/ u8 gender:1;
|
||||||
/*0x1A9D*/ u8 sbr_field_1_5:1;
|
/*0x1A9D*/ u8 sbr_field_1_5:1;
|
||||||
/*0x1A9D*/ u8 sbr_field_1_6:2;
|
/*0x1A9D*/ u8 sbr_field_1_6:2;
|
||||||
/*0x1A9E*/ u8 trainerName[7]; // 0xFF bytes?
|
/*0x1A9E*/ u8 trainerName[OT_NAME_LENGTH];
|
||||||
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||||
/*0x1AA9*/ u8 language;
|
/*0x1AA9*/ u8 language;
|
||||||
/*0x1AAA*/ u16 sbr_field_e;
|
/*0x1AAA*/ u16 sbr_field_e;
|
||||||
|
|
|
@ -16,7 +16,7 @@ struct SecretBaseListMenuBuffer {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Static RAM declarations
|
// Static RAM declarations
|
||||||
EWRAM_DATA u8 gUnknown_0203A01C = 0;
|
EWRAM_DATA u8 sCurSecretBaseId = 0;
|
||||||
EWRAM_DATA u8 gUnknown_0203A01D = 0;
|
EWRAM_DATA u8 gUnknown_0203A01D = 0;
|
||||||
EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL;
|
EWRAM_DATA struct SecretBaseListMenuBuffer *gUnknown_0203A020 = NULL;
|
||||||
|
|
||||||
|
@ -45,7 +45,36 @@ void ResetSecretBases(void)
|
||||||
|
|
||||||
void sub_80E8B58(void)
|
void sub_80E8B58(void)
|
||||||
{
|
{
|
||||||
gUnknown_0203A01C = gSpecialVar_0x8004;
|
sCurSecretBaseId = gSpecialVar_0x8004;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80E8B6C(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
gScriptResult = FALSE;
|
||||||
|
for (i = 0; i < 20; i ++)
|
||||||
|
{
|
||||||
|
if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
gScriptResult = TRUE;
|
||||||
|
VarSet(VAR_0x4054, i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80E8BC8(void)
|
||||||
|
{
|
||||||
|
if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0)
|
||||||
|
{
|
||||||
|
gScriptResult = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gScriptResult = FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .rodata
|
// .rodata
|
||||||
|
|
Loading…
Reference in a new issue