2017-09-17 03:59:14 +02:00
|
|
|
#ifndef GUARD_FIELD_CAMERA_H
|
|
|
|
#define GUARD_FIELD_CAMERA_H
|
|
|
|
|
2017-09-17 04:15:54 +02:00
|
|
|
struct CameraObject
|
|
|
|
{
|
|
|
|
void (*callback)(struct CameraObject *);
|
2018-04-18 14:12:41 +02:00
|
|
|
u32 spriteId;
|
2018-10-16 15:55:16 +02:00
|
|
|
s32 movementSpeedX;
|
|
|
|
s32 movementSpeedY;
|
2017-09-17 04:15:54 +02:00
|
|
|
s32 x;
|
|
|
|
s32 y;
|
|
|
|
};
|
|
|
|
|
2018-10-16 15:55:16 +02:00
|
|
|
extern struct CameraObject gFieldCamera;
|
|
|
|
extern u16 gTotalCameraPixelOffsetX;
|
|
|
|
extern u16 gTotalCameraPixelOffsetY;
|
2017-09-17 03:59:14 +02:00
|
|
|
|
2017-10-13 17:09:36 +02:00
|
|
|
void DrawWholeMapView(void);
|
2017-10-25 02:19:33 +02:00
|
|
|
void CurrentMapDrawMetatileAt(int x, int y);
|
2022-06-01 18:41:57 +02:00
|
|
|
void GetCameraOffsetWithPan(s16 *x, s16 *y);
|
2018-01-08 00:50:13 +01:00
|
|
|
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
2020-06-20 01:58:56 +02:00
|
|
|
void ResetFieldCamera(void);
|
2018-02-14 00:58:22 +01:00
|
|
|
void ResetCameraUpdateInfo(void);
|
2022-06-01 18:41:57 +02:00
|
|
|
u32 InitCameraUpdateCallback(u8 trackedSpriteId);
|
2018-02-14 00:58:22 +01:00
|
|
|
void CameraUpdate(void);
|
2022-06-01 18:41:57 +02:00
|
|
|
void SetCameraPanningCallback(void (*callback)(void));
|
|
|
|
void SetCameraPanning(s16 horizontal, s16 vertical);
|
2018-02-14 00:58:22 +01:00
|
|
|
void InstallCameraPanAheadCallback(void);
|
|
|
|
void UpdateCameraPanning(void);
|
2019-02-08 18:48:51 +01:00
|
|
|
void FieldUpdateBgTilemapScroll(void);
|
2017-10-13 17:09:36 +02:00
|
|
|
|
2017-09-17 03:59:14 +02:00
|
|
|
#endif //GUARD_FIELD_CAMERA_H
|