2018-07-09 19:26:13 +02:00
|
|
|
#ifndef SPRITE_H__
|
|
|
|
#define SPRITE_H__
|
|
|
|
|
2018-07-10 23:17:34 +02:00
|
|
|
/* *******************************************************************
|
2018-07-09 19:26:13 +02:00
|
|
|
* Includes
|
2018-07-10 23:17:34 +02:00
|
|
|
* ******************************************************************/
|
2018-07-09 19:26:13 +02:00
|
|
|
|
2018-07-10 23:17:34 +02:00
|
|
|
#include "Camera.h"
|
2018-07-10 00:04:16 +02:00
|
|
|
#include <Gamebuino.h>
|
2018-07-09 19:26:13 +02:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2018-07-10 23:17:34 +02:00
|
|
|
/* *******************************************************************
|
2018-07-09 19:26:13 +02:00
|
|
|
* Defines
|
2018-07-10 23:17:34 +02:00
|
|
|
* ******************************************************************/
|
2018-07-09 19:26:13 +02:00
|
|
|
|
2018-07-10 23:17:34 +02:00
|
|
|
/* *******************************************************************
|
|
|
|
* Global types definition
|
|
|
|
* ******************************************************************/
|
2018-07-09 19:26:13 +02:00
|
|
|
|
2018-07-10 23:17:34 +02:00
|
|
|
/* *******************************************************************
|
|
|
|
* Global variables declaration
|
|
|
|
* ******************************************************************/
|
|
|
|
|
|
|
|
extern const Camera* _cam;
|
|
|
|
|
|
|
|
/* *******************************************************************
|
|
|
|
* Global functions declaration
|
|
|
|
* ******************************************************************/
|
|
|
|
|
|
|
|
/* *******************************************************************
|
2018-07-09 19:26:13 +02:00
|
|
|
* Class definition
|
2018-07-10 23:17:34 +02:00
|
|
|
* ******************************************************************/
|
2018-07-09 19:26:13 +02:00
|
|
|
|
|
|
|
class Sprite
|
|
|
|
{
|
|
|
|
public:
|
2018-08-02 00:54:01 +02:00
|
|
|
Sprite( const uint8_t* const pu8SprData,
|
2018-07-10 23:17:34 +02:00
|
|
|
const bool followCam = true,
|
|
|
|
const uint8_t u8Colour = BLACK,
|
|
|
|
const uint8_t rotation = NOFLIP);
|
2018-07-10 00:04:16 +02:00
|
|
|
void setPos(const uint8_t x, const uint8_t y);
|
|
|
|
void draw(void);
|
2018-07-10 23:17:34 +02:00
|
|
|
static void setCamera(const Camera* const cam)
|
|
|
|
{
|
|
|
|
_cam = cam;
|
|
|
|
};
|
2018-08-05 17:58:03 +02:00
|
|
|
static uint8_t getWidth(const uint8_t* const pu8SprData);
|
|
|
|
static uint8_t getHeight(const uint8_t* const pu8SprData);
|
2018-07-09 19:26:13 +02:00
|
|
|
|
|
|
|
private:
|
2018-07-10 23:17:34 +02:00
|
|
|
const uint8_t* _pu8SprData;
|
|
|
|
const bool _followCam;
|
2018-07-10 00:04:16 +02:00
|
|
|
uint8_t _colour;
|
|
|
|
uint8_t _rotation;
|
|
|
|
uint8_t _x;
|
|
|
|
uint8_t _y;
|
2018-07-09 19:26:13 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* SPRITE_H__ */
|