57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
#ifndef __CAM_HEADER__
|
|
#define __CAM_HEADER__
|
|
|
|
/* *************************************
|
|
* Includes
|
|
* *************************************/
|
|
|
|
#include "Global_Inc.h"
|
|
#include "Gfx.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif //__cplusplus
|
|
|
|
|
|
/* *************************************
|
|
* Defines
|
|
* *************************************/
|
|
|
|
/* *************************************
|
|
* Structs and enums
|
|
* *************************************/
|
|
|
|
typedef struct t_Camera
|
|
{
|
|
int16_t X_Offset;
|
|
int16_t Y_Offset;
|
|
int8_t X_Speed;
|
|
int8_t Y_Speed;
|
|
uint8_t Speed_Timer;
|
|
bool locked;
|
|
}TYPE_CAMERA;
|
|
|
|
typedef struct t_sprite TYPE_SPRITE;
|
|
|
|
/* *************************************
|
|
* Global prototypes
|
|
* *************************************/
|
|
|
|
void CameraInit(TYPE_CAMERA* ptrCamera);
|
|
void CameraHandler(TYPE_CAMERA* ptrCamera);
|
|
void CameraSetLock(TYPE_CAMERA* ptrCamera, bool value);
|
|
void CameraApplyCoordinatesToSprite( TYPE_CAMERA* ptrCamera,
|
|
TYPE_SPRITE* spr,
|
|
uint16_t x,
|
|
uint16_t y );
|
|
TYPE_COLLISION_BLOCK CameraApplyCoordinatesToCoordinates( TYPE_CAMERA* ptrCamera,
|
|
uint16_t x,
|
|
uint16_t y );
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif //__cplusplus
|
|
|
|
#endif //__CAM_HEADER__
|