#ifndef BACKGROUND_H #define BACKGROUND_H #include #include #include #include #include "num/num.h" #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 RenderSelected( uint8_t i, uint8_t j ); void ChangeMap( int level ); void UpdateDataMap( void ); void ConvertTileToBorder( int16_t currentTile, libnum::num DeltaX, libnum::num DeltaY ); void UpdateBorders( void ); bool CanGo( Player *MyPlayer ); bool IsOnGround( Player *MyPlayer ); 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::num DX, libnum::num DY, float x1, float y1, float x2, float y2 ); }; #endif