summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xasm/field_map_obj.s34
-rw-r--r--include/field_camera.h13
-rwxr-xr-xsrc/field_map_obj.c9
3 files changed, 22 insertions, 34 deletions
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 5b5ec4e0d..a1d549266 100755
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -5,40 +5,6 @@
.text
- thumb_func_start sub_8092FF0
-sub_8092FF0: @ 8092FF0
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r4, [r5]
- ldrh r4, [r4]
- lsls r0, 16
- asrs r0, 16
- subs r0, r4
- lsls r0, 4
- strh r0, [r2]
- ldr r0, [r5]
- ldrh r0, [r0, 0x2]
- lsls r1, 16
- asrs r1, 16
- subs r1, r0
- lsls r1, 4
- strh r1, [r3]
- ldr r1, =gUnknown_03005DEC
- ldrh r0, [r2]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r1, =gUnknown_03005DE8
- ldrh r0, [r3]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8092FF0
-
thumb_func_start sub_8093038
sub_8093038: @ 8093038
push {r4-r7,lr}
diff --git a/include/field_camera.h b/include/field_camera.h
new file mode 100644
index 000000000..48c182c8e
--- /dev/null
+++ b/include/field_camera.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_FIELD_CAMERA_H
+#define GUARD_FIELD_CAMERA_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+extern u16 gUnknown_03005DEC;
+extern u16 gUnknown_03005DE8;
+
+// Exported ROM declarations
+
+#endif //GUARD_FIELD_CAMERA_H
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 4592c4dfe..b8be79d73 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -20,6 +20,7 @@
#include "metatile_behavior.h"
#include "field_effect.h"
#include "field_effect_helpers.h"
+#include "field_camera.h"
#include "field_map_obj.h"
#define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51
@@ -3827,6 +3828,14 @@ void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy)
}
}
+void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y)
+{
+ *dest_x = (x - gSaveBlock1Ptr->pos.x) << 4;
+ *dest_y = (y - gSaveBlock1Ptr->pos.y) << 4;
+ *dest_x -= gUnknown_03005DEC;
+ *dest_y -= gUnknown_03005DE8;
+}
+
asm(".section .text.get_face_direction_anim_id");
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);