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