#ifndef BACKGROUND_H #define BACKGROUND_H #include #include #include #include "num/num.h" #include #include "player.h" #include "vector2D.h" struct Map { /*width, height and the number of layer of the map*/ int w, h, nblayers; /*the tileset to use*/ bopti_image_t *tileset; int tileset_size; /*list of all the tiles*/ short *layers[]; }; class Level { public: Level(); ~Level(); void Update(float dt); void Render(void); void ChangeMap(int level); void UpdateDataMap(void); void ConvertTileToBorder(int16_t currentTile, libnum::num32 DeltaX, libnum::num32 DeltaY); void UpdateBorders(void); bool CanGo(void); private: int GetTileBackground(uint16_t x, uint16_t y); int GetTileForeground(uint16_t x, uint16_t y); int GetTileBackgroundINT(uint8_t x, uint8_t y); int GetTileForegroundINT(uint8_t x, uint8_t y); Border *MakeBorder(libnum::num32 DX, libnum::num32 DY, libnum::num32 x1, libnum::num32 y1, libnum::num32 x2, libnum::num32 y2); }; #endif