sub_808F1B4
This commit is contained in:
parent
7c40186e35
commit
2b9b75a824
2 changed files with 18 additions and 50 deletions
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue