FieldObjectSetDirection
This commit is contained in:
parent
69a1ff984d
commit
b263dcc7cf
2 changed files with 12 additions and 39 deletions
|
@ -5,45 +5,6 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start FieldObjectSetDirection
|
|
||||||
@ void FieldObjectSetDirection(struct npc_state *fieldObject, u8 direction)
|
|
||||||
FieldObjectSetDirection: @ 808EFC0
|
|
||||||
push {r4,lr}
|
|
||||||
adds r3, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r2, r1, 24
|
|
||||||
adds r4, r2, 0
|
|
||||||
ldrb r0, [r3, 0x18]
|
|
||||||
lsls r0, 28
|
|
||||||
lsrs r0, 28
|
|
||||||
adds r1, r3, 0
|
|
||||||
adds r1, 0x20
|
|
||||||
strb r0, [r1]
|
|
||||||
ldrb r0, [r3, 0x1]
|
|
||||||
lsls r0, 30
|
|
||||||
cmp r0, 0
|
|
||||||
blt _0808EFF0
|
|
||||||
movs r0, 0xF
|
|
||||||
adds r1, r2, 0
|
|
||||||
ands r1, r0
|
|
||||||
ldrb r2, [r3, 0x18]
|
|
||||||
movs r0, 0x10
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r2
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r3, 0x18]
|
|
||||||
_0808EFF0:
|
|
||||||
lsls r2, r4, 4
|
|
||||||
ldrb r1, [r3, 0x18]
|
|
||||||
movs r0, 0xF
|
|
||||||
ands r0, r1
|
|
||||||
orrs r0, r2
|
|
||||||
strb r0, [r3, 0x18]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end FieldObjectSetDirection
|
|
||||||
|
|
||||||
thumb_func_start GetFieldObjectScriptPointerByLocalIdAndMap
|
thumb_func_start GetFieldObjectScriptPointerByLocalIdAndMap
|
||||||
@ u32 GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
|
@ u32 GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId)
|
||||||
GetFieldObjectScriptPointerByLocalIdAndMap: @ 808F004
|
GetFieldObjectScriptPointerByLocalIdAndMap: @ 808F004
|
||||||
|
|
|
@ -1478,3 +1478,15 @@ u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority)
|
||||||
}
|
}
|
||||||
return MAX_SPRITES;
|
return MAX_SPRITES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction)
|
||||||
|
{
|
||||||
|
s8 d2;
|
||||||
|
mapObject->mapobj_unk_20 = mapObject->mapobj_unk_18;
|
||||||
|
if (!mapObject->mapobj_bit_9)
|
||||||
|
{
|
||||||
|
d2 = direction;
|
||||||
|
mapObject->mapobj_unk_18 = d2;
|
||||||
|
}
|
||||||
|
mapObject->placeholder18 = direction;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue