help_system_812B1E0: through sub_812B27C

This commit is contained in:
PikalaxALT
2019-06-11 14:32:12 -04:00
parent 34368a8281
commit c5c9e35807
3 changed files with 33 additions and 67 deletions
-65
View File
@@ -5,71 +5,6 @@
.text
thumb_func_start sub_812B25C
sub_812B25C: @ 812B25C
push {lr}
ldr r0, _0812B268 @ =gUnknown_845C594
bl sub_812B27C
pop {r1}
bx r1
.align 2, 0
_0812B268: .4byte gUnknown_845C594
thumb_func_end sub_812B25C
thumb_func_start sub_812B26C
sub_812B26C: @ 812B26C
push {lr}
ldr r0, _0812B278 @ =gUnknown_845C5BC
bl sub_812B27C
pop {r1}
bx r1
.align 2, 0
_0812B278: .4byte gUnknown_845C5BC
thumb_func_end sub_812B26C
thumb_func_start sub_812B27C
sub_812B27C: @ 812B27C
push {r4,lr}
adds r2, r0, 0
ldr r0, _0812B2AC @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0x4
ldrsb r1, [r0, r1]
lsls r1, 8
ldrb r0, [r0, 0x5]
lsls r0, 24
asrs r0, 24
adds r0, r1
lsls r0, 16
lsrs r3, r0, 16
ldrh r0, [r2]
ldr r1, _0812B2B0 @ =0x0000ffff
cmp r0, r1
beq _0812B2BC
adds r4, r1, 0
adds r1, r2, 0
_0812B2A2:
ldrh r0, [r1]
cmp r0, r3
bne _0812B2B4
movs r0, 0x1
b _0812B2BE
.align 2, 0
_0812B2AC: .4byte gSaveBlock1Ptr
_0812B2B0: .4byte 0x0000ffff
_0812B2B4:
adds r1, 0x2
ldrh r0, [r1]
cmp r0, r4
bne _0812B2A2
_0812B2BC:
movs r0, 0
_0812B2BE:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_812B27C
thumb_func_start sub_812B2C4
sub_812B2C4: @ 812B2C4
push {r4-r7,lr}
+2 -2
View File
@@ -72,7 +72,7 @@ gUnknown_845C594:: @ 845C594
.2byte MAP_FOUR_ISLAND_MART
.2byte MAP_SEVEN_ISLAND_MART
.2byte MAP_SIX_ISLAND_MART
.2byte 0xffff
.2byte MAP_UNDEFINED
gUnknown_845C5BC:: @ 845C5BC
.2byte MAP_PEWTER_CITY_GYM
@@ -83,7 +83,7 @@ gUnknown_845C5BC:: @ 845C5BC
.2byte MAP_SAFFRON_CITY_GYM
.2byte MAP_CINNABAR_ISLAND_GYM
.2byte MAP_VIRIDIAN_CITY_GYM
.2byte 0xffff
.2byte MAP_UNDEFINED
gUnknown_845C5CE:: @ 845C5CE
.byte 0x01, 0x00, 0x01 @ MAP_VIRIDIAN_FOREST
+31
View File
@@ -1,11 +1,17 @@
#include "global.h"
#include "event_data.h"
#include "constants/maps.h"
EWRAM_DATA u16 gUnknown_203B0EC = 0;
EWRAM_DATA u8 gUnknown_203B0EE = 0;
u16 gUnknown_3005EA0;
bool32 sub_812B27C(const u16 * mapIdxs);
extern const u16 gUnknown_845C594[]; // marts
extern const u16 gUnknown_845C5BC[]; // gyms
void sub_812B1E0(u8 a0)
{
gUnknown_203B0EC = a0;
@@ -42,3 +48,28 @@ void sub_812B248(void)
{
gUnknown_203B0EC = gUnknown_3005EA0;
}
bool32 sub_812B25C(void)
{
return sub_812B27C(gUnknown_845C594);
}
bool32 sub_812B26C(void)
{
return sub_812B27C(gUnknown_845C5BC);
}
bool32 sub_812B27C(const u16 * mapIdxs)
{
u16 mapIdx = (gSaveBlock1Ptr->location.mapGroup << 8) + gSaveBlock1Ptr->location.mapNum;
s32 i;
for (i = 0; mapIdxs[i] != MAP_UNDEFINED; i++)
{
if (mapIdxs[i] == mapIdx)
return TRUE;
}
return FALSE;
}