through sub_80EB218

This commit is contained in:
PikalaxALT 2017-10-27 22:12:11 -04:00
parent d17ff9430a
commit 9c3a79f3de
4 changed files with 48 additions and 104 deletions

View File

@ -5,110 +5,6 @@
.text .text
thumb_func_start sub_80EB18C
sub_80EB18C: @ 80EB18C
push {r4,r5,lr}
movs r5, 0
adds r4, r0, 0
_080EB192:
ldrb r0, [r4, 0xD]
cmp r0, 0x1
bne _080EB19E
adds r0, r4, 0
bl ClearSecretBase
_080EB19E:
adds r4, 0xA0
adds r5, 0x1
cmp r5, 0x13
bls _080EB192
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80EB18C
thumb_func_start sub_80EB1AC
sub_80EB1AC: @ 80EB1AC
push {lr}
ldr r0, =0x000040ec
movs r1, 0
bl VarSet
ldr r0, =0x000040ed
movs r1, 0
bl VarSet
ldr r0, =0x000040ee
movs r1, 0
bl VarSet
ldr r0, =0x000040ef
movs r1, 0
bl VarSet
ldr r0, =0x00004054
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB1FC
ldr r0, =0x000040f0
movs r1, 0x1
bl VarSet
b _080EB204
.pool
_080EB1FC:
ldr r0, =0x000040f0
movs r1, 0
bl VarSet
_080EB204:
ldr r1, =gUnknown_0203A01D
movs r0, 0
strb r0, [r1]
pop {r0}
bx r0
.pool
thumb_func_end sub_80EB1AC
thumb_func_start sub_80EB218
sub_80EB218: @ 80EB218
push {r4-r6,lr}
ldr r5, =0x000040f0
adds r0, r5, 0
bl VarGet
lsls r0, 16
cmp r0, 0
beq _080EB272
ldr r6, =gUnknown_0203A01D
ldrb r0, [r6]
cmp r0, 0x1
bne _080EB272
bl CurrentMapIsSecretBase
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
bne _080EB272
adds r0, r5, 0
movs r1, 0
bl VarSet
strb r4, [r6]
bl sub_80EEA70
ldr r0, =0x000040ec
movs r1, 0
bl VarSet
ldr r0, =0x000040ed
movs r1, 0
bl VarSet
ldr r0, =0x000040ee
movs r1, 0
bl VarSet
ldr r0, =0x000040ef
movs r1, 0
bl VarSet
adds r0, r5, 0
movs r1, 0
bl VarSet
_080EB272:
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_80EB218
thumb_func_start sub_80EB290 thumb_func_start sub_80EB290
sub_80EB290: @ 80EB290 sub_80EB290: @ 80EB290
push {r4,lr} push {r4,lr}

View File

@ -10,6 +10,7 @@ bool8 GetPriceReduction(u8 newsKind);
u8 GetRibbonCount(struct Pokemon *pokemon); u8 GetRibbonCount(struct Pokemon *pokemon);
void TV_PutSecretBaseVisitOnTheAir(void); void TV_PutSecretBaseVisitOnTheAir(void);
void sub_80EE184(void); void sub_80EE184(void);
void sub_80EEA70(void);
void sub_80F14F8(TVShow *shows); void sub_80F14F8(TVShow *shows);
size_t sub_80EF370(int value); size_t sub_80EF370(int value);

View File

@ -67,6 +67,7 @@
#define VAR_0x40ED 0x40ED #define VAR_0x40ED 0x40ED
#define VAR_0x40EE 0x40EE #define VAR_0x40EE 0x40EE
#define VAR_0x40EF 0x40EF #define VAR_0x40EF 0x40EF
#define VAR_0x40F0 0x40F0
#define VAR_DAILY_BP 0x40F1 #define VAR_DAILY_BP 0x40F1
#endif // GUARD_VARS_H #endif // GUARD_VARS_H

View File

@ -36,6 +36,7 @@
#include "decoration.h" #include "decoration.h"
#include "decoration_inventory.h" #include "decoration_inventory.h"
#include "link.h" #include "link.h"
#include "tv.h"
#include "secret_base.h" #include "secret_base.h"
// Static type declarations // Static type declarations
@ -1890,3 +1891,48 @@ void sub_80EAF80(void *records, size_t recordSize, u8 linkIdx)
} }
} }
} }
void sub_80EB18C(struct SecretBaseRecord *bases)
{
u32 i;
for (i = 0; i < 20; i ++)
{
if (bases[i].language == LANGUAGE_JAPANESE)
{
ClearSecretBase(&bases[i]);
}
}
}
void sub_80EB1AC(void)
{
VarSet(VAR_0x40EC, 0);
VarSet(VAR_0x40ED, 0);
VarSet(VAR_0x40EE, 0);
VarSet(VAR_0x40EF, 0);
if (VarGet(VAR_0x4054) != 0)
{
VarSet(VAR_0x40F0, TRUE);
}
else
{
VarSet(VAR_0x40F0, FALSE);
}
gUnknown_0203A01D = FALSE;
}
void sub_80EB218(void)
{
if (VarGet(VAR_0x40F0) && gUnknown_0203A01D == TRUE && !CurrentMapIsSecretBase())
{
VarSet(VAR_0x40F0, FALSE);
gUnknown_0203A01D = FALSE;
sub_80EEA70();
VarSet(VAR_0x40EC, 0);
VarSet(VAR_0x40ED, 0);
VarSet(VAR_0x40EE, 0);
VarSet(VAR_0x40EF, 0);
VarSet(VAR_0x40F0, FALSE);
}
}