sub_808F1B4

This commit is contained in:
scnorton 2017-09-11 10:40:34 -04:00
parent 7c40186e35
commit 2b9b75a824
2 changed files with 18 additions and 50 deletions

View file

@ -5,56 +5,6 @@
.text .text
thumb_func_start sub_808F1B4
@ int sub_808F1B4(struct npc_state *fieldObject)
sub_808F1B4: @ 808F1B4
push {r4,r5,lr}
adds r3, r0, 0
ldrb r0, [r3, 0x9]
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
movs r1, 0x5
ldrsb r1, [r2, r1]
cmp r0, r1
bne _0808F200
ldrb r1, [r3, 0xA]
movs r0, 0x4
ldrsb r0, [r2, r0]
cmp r1, r0
beq _0808F1E2
b _0808F200
.pool
_0808F1D8:
movs r1, 0xC7
lsls r1, 4
adds r0, r1
adds r0, r4, r0
b _0808F202
_0808F1E2:
movs r1, 0
adds r4, r2, 0
ldrb r3, [r3, 0x8]
movs r5, 0xC7
lsls r5, 4
adds r2, r4, r5
movs r0, 0
_0808F1F0:
ldrb r5, [r2]
cmp r3, r5
beq _0808F1D8
adds r2, 0x18
adds r0, 0x18
adds r1, 0x1
cmp r1, 0x3F
ble _0808F1F0
_0808F200:
movs r0, 0
_0808F202:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_808F1B4
thumb_func_start sub_808F208 thumb_func_start sub_808F208
@ void sub_808F208(struct npc_state *fieldObject) @ void sub_808F208(struct npc_state *fieldObject)
sub_808F208: @ 808F208 sub_808F208: @ 808F208

View file

@ -1577,3 +1577,21 @@ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, st
} }
return NULL; return NULL;
} }
struct MapObjectTemplate *sub_808F1B4(struct MapObject *mapObject)
{
int i;
if (mapObject->mapNum != gSaveBlock1Ptr->location.mapNum || mapObject->mapGroup != gSaveBlock1Ptr->location.mapGroup)
{
return NULL;
}
for (i = 0; i < 64; i ++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble)
{
if (mapObject->localId == gSaveBlock1Ptr->mapObjectTemplates[i].localId)
{
return &gSaveBlock1Ptr->mapObjectTemplates[i];
}
}
return NULL;
}