through sub_810D0A8

This commit is contained in:
PikalaxALT
2018-10-08 21:41:11 -04:00
parent a6b91869b3
commit fe2d1d4e3c
2 changed files with 68 additions and 137 deletions
-135
View File
@@ -5,141 +5,6 @@
.text
thumb_func_start sub_810CF90
sub_810CF90: @ 810CF90
push {lr}
lsls r0, 24
lsrs r0, 24
subs r0, 0x11
cmp r0, 0x2D
bhi _0810D06C
lsls r0, 2
ldr r1, _0810CFA8 @ =_0810CFAC
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0810CFA8: .4byte _0810CFAC
.align 2, 0
_0810CFAC:
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D068
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D064
.4byte _0810D068
.4byte _0810D068
.4byte _0810D064
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D064
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D06C
.4byte _0810D064
_0810D064:
movs r0, 0x4E
b _0810D06E
_0810D068:
movs r0, 0x4F
b _0810D06E
_0810D06C:
movs r0, 0x4D
_0810D06E:
pop {r1}
bx r1
thumb_func_end sub_810CF90
thumb_func_start sub_810D074
sub_810D074: @ 810D074
adds r0, 0x2
ldrb r1, [r0]
ldrb r0, [r0, 0x1]
lsls r0, 8
orrs r1, r0
adds r0, r1, 0
bx lr
thumb_func_end sub_810D074
thumb_func_start sub_810D084
sub_810D084: @ 810D084
push {lr}
lsls r1, 16
lsrs r1, 16
movs r3, 0
adds r2, r0, 0
_0810D08E:
ldrh r0, [r2]
cmp r0, r1
bne _0810D098
adds r0, r3, 0
b _0810D0A4
_0810D098:
adds r2, 0x10
adds r3, 0x1
cmp r3, 0xDC
bls _0810D08E
movs r0, 0x1
negs r0, r0
_0810D0A4:
pop {r1}
bx r1
thumb_func_end sub_810D084
thumb_func_start sub_810D0A8
sub_810D0A8: @ 810D0A8
push {lr}
ldr r1, _0810D0C0 @ =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, _0810D0C4 @ =0x0000063a
adds r1, r2
adds r1, r0
ldrb r0, [r1]
cmp r0, 0
beq _0810D0C8
movs r0, 0x1
b _0810D0CA
.align 2, 0
_0810D0C0: .4byte gSaveBlock1Ptr
_0810D0C4: .4byte 0x0000063a
_0810D0C8:
movs r0, 0
_0810D0CA:
pop {r1}
bx r1
thumb_func_end sub_810D0A8
thumb_func_start sub_810D0D0
sub_810D0D0: @ 810D0D0
push {r4,lr}
+68 -2
View File
@@ -44,7 +44,7 @@ u8 sub_810CD80(const struct UnkStruct_845318C *, u16);
u8 sub_810CDB4(const struct UnkStruct_845318C *, u16);
int sub_810CE10(const struct UnkStruct_845318C * a0, u16 a1);
bool8 sub_810CED0(const struct UnkStruct_845318C *, u16);
bool32 sub_810D0A8(u16);
bool32 sub_810D0A8(u32);
int sub_810D084(const struct UnkStruct_845318C *, u16);
void sub_810D304(void);
void sub_810C604(void);
@@ -883,7 +883,7 @@ bool8 sub_810CED0(const struct UnkStruct_845318C * a0, u16 a1)
bool8 sub_810CF04(u8 a0)
{
struct MapObject *r1 = &gUnknown_2036E38[a0];
if (r1->active && gMapHeader.events->mapObjectCount >= r1->localId && gSprites[r1->spriteId].data[0] == a0)
return TRUE;
return FALSE;
@@ -907,3 +907,69 @@ u8 sub_810CF54(struct MapObjectTemplate * unused)
return 8;
}
}
u8 sub_810CF90(u8 a0)
{
switch (a0)
{
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1a:
case 0x1c:
case 0x1d:
case 0x1e:
case 0x25:
case 0x27:
case 0x28:
case 0x29:
case 0x2a:
case 0x2d:
case 0x2e:
case 0x36:
case 0x38:
case 0x3e:
return 0x4e;
case 0x24:
case 0x2b:
case 0x2c:
return 0x4f;
default:
return 0x4d;
}
}
u16 sub_810D074(const u8 *a0)
{
u16 retval;
a0 += 2;
retval = a0[0];
retval |= a0[1] << 8;
return retval;
}
int sub_810D084(const struct UnkStruct_845318C * a0, u16 a1)
{
u32 r3;
for (r3 = 0; r3 < 0xdd; r3++)
{
if (a0[r3].unk_0[0] == a1)
return r3;
}
return -1;
}
bool32 sub_810D0A8(u32 a0)
{
if (!gSaveBlock1Ptr->trainerRematches[a0])
return FALSE;
return TRUE;
}