NppClone/src/level.h

54 lines
1.1 KiB
C++

#ifndef BACKGROUND_H
#define BACKGROUND_H
#include <cstdint>
#include <stdlib.h>
#include <azur/gint/render.h>
#include "num/num.h"
#include <vector>
#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