32 lines
977 B
C++
32 lines
977 B
C++
#ifndef MAPLOADER_H
|
|
#define MAPLOADER_H
|
|
|
|
#include "../sdlpp/sdlpp_scene.hpp"
|
|
#include "../sdlpp/sdlpp_rectrenderer.hpp"
|
|
|
|
struct MapObject {
|
|
enum Index {
|
|
TERRAIN_TYPE = 0,
|
|
TERRAIN_ID = 1,
|
|
CHARACTER_TYPE = 2,
|
|
CHARACTER_ID = 3,
|
|
MODIFIER_TYPE = 4,
|
|
MODIFIER_DATA = 5,
|
|
};
|
|
};
|
|
|
|
typedef std::tuple< uint8_t, uint16_t, uint8_t, uint8_t, uint8_t, uint8_t >
|
|
mapObjectType;
|
|
typedef std::array< mapObjectType, 16 > mapColumnType;
|
|
|
|
void loadMap( std::shared_ptr< SDLPP::Scene > &scene,
|
|
std::shared_ptr< SDLPP::RectangleRender > mario,
|
|
const std::string &file,
|
|
std::shared_ptr< SDLPP::Renderer > &renderer );
|
|
void loadMap( std::shared_ptr< SDLPP::Scene > &scene, const std::string &file,
|
|
std::shared_ptr< SDLPP::Renderer > &renderer,
|
|
std::vector< mapColumnType > &objects );
|
|
void saveMap( const std::string &file, std::vector< mapColumnType > &objects );
|
|
|
|
#endif
|