summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/field_map_obj.c43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index f600db934..40b12b1b3 100644
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1388,7 +1388,7 @@ void ObjectCB_CameraObject(struct Sprite *sprite)
sprite->data3 = 0;
}
-/*static*/ struct Sprite *FindCameraObject(void)
+static struct Sprite *FindCameraObject(void)
{
u8 spriteId;
@@ -1401,3 +1401,44 @@ void ObjectCB_CameraObject(struct Sprite *sprite)
}
return NULL;
}
+
+void CameraObjectReset1(void)
+{
+ struct Sprite *cameraObject;
+
+ cameraObject = FindCameraObject();
+ if (cameraObject != NULL)
+ {
+ cameraObject->data1 = 0;
+ cameraObject->callback(cameraObject);
+ }
+}
+
+void CameraObjectSetFollowedObjectId(u8 objectId)
+{
+ struct Sprite *cameraObject;
+
+ cameraObject = FindCameraObject();
+ if (cameraObject != NULL)
+ {
+ cameraObject->data0 = objectId;
+ CameraObjectReset1();
+ }
+}
+
+u8 CameraObjectGetFollowedObjectId(void)
+{
+ struct Sprite *cameraObject;
+
+ cameraObject = FindCameraObject();
+ if (cameraObject == NULL)
+ {
+ return MAX_SPRITES;
+ }
+ return cameraObject->data0;
+}
+
+void CameraObjectReset2(void)
+{
+ FindCameraObject()->data1 = 2;
+}