2017-09-16 21:59:14 -04:00
|
|
|
#ifndef GUARD_FIELD_CAMERA_H
|
|
|
|
#define GUARD_FIELD_CAMERA_H
|
|
|
|
|
2017-09-16 22:15:54 -04:00
|
|
|
struct CameraObject
|
|
|
|
{
|
|
|
|
void (*callback)(struct CameraObject *);
|
2018-04-18 17:42:41 +05:30
|
|
|
u32 spriteId;
|
2018-10-16 14:55:16 +01:00
|
|
|
s32 movementSpeedX;
|
|
|
|
s32 movementSpeedY;
|
2017-09-16 22:15:54 -04: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-16 21:59:14 -04:00
|
|
|
|
2017-10-13 11:09:36 -04:00
|
|
|
void DrawWholeMapView(void);
|
2017-10-24 20:19:33 -04:00
|
|
|
void CurrentMapDrawMetatileAt(int x, int y);
|
2022-06-01 12:41:57 -04:00
|
|
|
void GetCameraOffsetWithPan(s16 *x, s16 *y);
|
2018-01-07 17:50:13 -06:00
|
|
|
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
2020-06-19 19:58:56 -04:00
|
|
|
void ResetFieldCamera(void);
|
2018-02-14 00:58:22 +01:00
|
|
|
void ResetCameraUpdateInfo(void);
|
2022-06-01 12:41:57 -04:00
|
|
|
u32 InitCameraUpdateCallback(u8 trackedSpriteId);
|
2018-02-14 00:58:22 +01:00
|
|
|
void CameraUpdate(void);
|
2022-06-01 12:41:57 -04: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 11:48:51 -06:00
|
|
|
void FieldUpdateBgTilemapScroll(void);
|
2017-10-13 11:09:36 -04:00
|
|
|
|
2017-09-16 21:59:14 -04:00
|
|
|
#endif //GUARD_FIELD_CAMERA_H
|