Mario editor: formatting
This commit is contained in:
+165
-122
@@ -5,131 +5,160 @@
|
||||
#include "editor_visitor.hpp"
|
||||
#include <unordered_map>
|
||||
|
||||
MarioBlock::MarioBlock(int x, int y, std::shared_ptr<SDLPP::Renderer> renderer, std::shared_ptr<SDLPP::Texture> texture, SDL_Rect src) : RectangleRender( x * BLOCK_SIZE, 1 - (16-y) * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE, renderer, texture, src ) {}
|
||||
MarioBlock::MarioBlock( int x, int y,
|
||||
std::shared_ptr< SDLPP::Renderer > renderer,
|
||||
std::shared_ptr< SDLPP::Texture > texture,
|
||||
SDL_Rect src )
|
||||
: RectangleRender( x * BLOCK_SIZE, 1 - ( 16 - y ) * BLOCK_SIZE,
|
||||
BLOCK_SIZE, BLOCK_SIZE, renderer, texture, src ) {}
|
||||
void MarioBlock::visit( SDLPP::Visitor &visitor ) {
|
||||
if(!_tool && _terrain && visitor.getVisitorType() == VisitorType::Terrain) {
|
||||
if ( !_tool && _terrain &&
|
||||
visitor.getVisitorType() == VisitorType::Terrain ) {
|
||||
destroy();
|
||||
}
|
||||
if(!_tool && !_terrain && visitor.getVisitorType() == VisitorType::Modifier) {
|
||||
if ( !_tool && !_terrain &&
|
||||
visitor.getVisitorType() == VisitorType::Modifier ) {
|
||||
destroy();
|
||||
}
|
||||
visitor.visit(*this);
|
||||
visitor.visit( *this );
|
||||
}
|
||||
void MarioBlock::setTool(bool tool) {
|
||||
void MarioBlock::setTool( bool tool ) {
|
||||
_tool = tool;
|
||||
}
|
||||
void MarioBlock::setTerrain(bool terrain) {
|
||||
void MarioBlock::setTerrain( bool terrain ) {
|
||||
_terrain = terrain;
|
||||
}
|
||||
|
||||
const std::vector< uint64_t > possibleBlocks = { FLOOR_ID,
|
||||
STEP_ID,
|
||||
HILL_TOP_ID,
|
||||
HILL_DOTS_LEFT_ID,
|
||||
HILL_FILL_ID,
|
||||
HILL_INCLINE_ID,
|
||||
HILL_DOTS_RIGHT_ID,
|
||||
HILL_DECLINE_ID,
|
||||
CLOUD_LEFT_TOP_ID,
|
||||
CLOUD_MIDDLE_TOP_ID,
|
||||
CLOUD_RIGHT_TOP_ID,
|
||||
VINE_TOP_ID,
|
||||
CLOUD_LEFT_BOTTOM_ID,
|
||||
CLOUD_MIDDLE_BOTTOM_ID,
|
||||
CLOUD_RIGHT_BOTTOM_ID,
|
||||
VINE_BOTTOM_ID,
|
||||
BRICK_TOP_ID,
|
||||
BRICK_ID,
|
||||
FLAG_ID,
|
||||
WATER_TOP_ID,
|
||||
BUSH_LEFT_ID,
|
||||
BUSH_MIDDLE_ID,
|
||||
BUSH_RIGHT_ID,
|
||||
WATER_FILL_ID,
|
||||
PIPE_LEFT_TOP_ID,
|
||||
PIPE_RIGHT_TOP_ID,
|
||||
CASTLE_TOWER_ID,
|
||||
CASTLE_TOWER_FILLED_ID,
|
||||
PIPE_LEFT_BOTTOM_ID,
|
||||
PIPE_RIGHT_BOTTOM_ID,
|
||||
CASTLE_LEFT_ID,
|
||||
CASTLE_RIGHT_ID,
|
||||
POLE_TOP_ID,
|
||||
CASTLE_ENTRY_ID,
|
||||
SIDEWAY_PIPE_END_TOP_ID,
|
||||
SIDEWAY_PIPE_MIDDLE_TOP_ID,
|
||||
POLE_BOTTOM_ID,
|
||||
CASTLE_BLACK_ID,
|
||||
SIDEWAY_PIPE_END_BOTTOM_ID,
|
||||
SIDEWAY_PIPE_MIDDLE_BOTTOM_ID,
|
||||
SIDEWAY_PIPE_CONNECTOR_TOP_ID,
|
||||
TREE_PLATFORM_TOP_LEFT_ID,
|
||||
TREE_PLATFORM_TOP_MIDDLE_ID,
|
||||
TREE_PLATFORM_TOP_RIGHT_ID,
|
||||
SIDEWAY_PIPE_CONNECTOR_BOTTOM_ID,
|
||||
MUSHROOM_PLATFORM_TOP_LEFT_ID,
|
||||
MUSHROOM_PLATFORM_TOP_MIDDLE_ID,
|
||||
MUSHROOM_PLATFORM_TOP_RIGHT_ID,
|
||||
const std::vector< uint64_t > possibleBlocks = {
|
||||
FLOOR_ID,
|
||||
STEP_ID,
|
||||
HILL_TOP_ID,
|
||||
HILL_DOTS_LEFT_ID,
|
||||
HILL_FILL_ID,
|
||||
HILL_INCLINE_ID,
|
||||
HILL_DOTS_RIGHT_ID,
|
||||
HILL_DECLINE_ID,
|
||||
CLOUD_LEFT_TOP_ID,
|
||||
CLOUD_MIDDLE_TOP_ID,
|
||||
CLOUD_RIGHT_TOP_ID,
|
||||
VINE_TOP_ID,
|
||||
CLOUD_LEFT_BOTTOM_ID,
|
||||
CLOUD_MIDDLE_BOTTOM_ID,
|
||||
CLOUD_RIGHT_BOTTOM_ID,
|
||||
VINE_BOTTOM_ID,
|
||||
BRICK_TOP_ID,
|
||||
BRICK_ID,
|
||||
FLAG_ID,
|
||||
WATER_TOP_ID,
|
||||
BUSH_LEFT_ID,
|
||||
BUSH_MIDDLE_ID,
|
||||
BUSH_RIGHT_ID,
|
||||
WATER_FILL_ID,
|
||||
PIPE_LEFT_TOP_ID,
|
||||
PIPE_RIGHT_TOP_ID,
|
||||
CASTLE_TOWER_ID,
|
||||
CASTLE_TOWER_FILLED_ID,
|
||||
PIPE_LEFT_BOTTOM_ID,
|
||||
PIPE_RIGHT_BOTTOM_ID,
|
||||
CASTLE_LEFT_ID,
|
||||
CASTLE_RIGHT_ID,
|
||||
POLE_TOP_ID,
|
||||
CASTLE_ENTRY_ID,
|
||||
SIDEWAY_PIPE_END_TOP_ID,
|
||||
SIDEWAY_PIPE_MIDDLE_TOP_ID,
|
||||
POLE_BOTTOM_ID,
|
||||
CASTLE_BLACK_ID,
|
||||
SIDEWAY_PIPE_END_BOTTOM_ID,
|
||||
SIDEWAY_PIPE_MIDDLE_BOTTOM_ID,
|
||||
SIDEWAY_PIPE_CONNECTOR_TOP_ID,
|
||||
TREE_PLATFORM_TOP_LEFT_ID,
|
||||
TREE_PLATFORM_TOP_MIDDLE_ID,
|
||||
TREE_PLATFORM_TOP_RIGHT_ID,
|
||||
SIDEWAY_PIPE_CONNECTOR_BOTTOM_ID,
|
||||
MUSHROOM_PLATFORM_TOP_LEFT_ID,
|
||||
MUSHROOM_PLATFORM_TOP_MIDDLE_ID,
|
||||
MUSHROOM_PLATFORM_TOP_RIGHT_ID,
|
||||
|
||||
TREE_PLATFORM_BARK_ID,
|
||||
MUSHROOM_PLATFORM_BARK_TOP_ID,
|
||||
TREE_LEAVES_TOP_ID,
|
||||
TREE_LEAVES_SMALL_ID,
|
||||
CANNON_TOWER_ID,
|
||||
MUSHROOM_PLATFORM_BARK_BOTTOM_ID,
|
||||
TREE_LEAVES_BOTTOM_ID,
|
||||
TREE_BARK_ID,
|
||||
CANNON_PEDESTAL_ID,
|
||||
CANNON_ID,
|
||||
MARIO_ID,
|
||||
TREE_PLATFORM_BARK_ID,
|
||||
MUSHROOM_PLATFORM_BARK_TOP_ID,
|
||||
TREE_LEAVES_TOP_ID,
|
||||
TREE_LEAVES_SMALL_ID,
|
||||
CANNON_TOWER_ID,
|
||||
MUSHROOM_PLATFORM_BARK_BOTTOM_ID,
|
||||
TREE_LEAVES_BOTTOM_ID,
|
||||
TREE_BARK_ID,
|
||||
CANNON_PEDESTAL_ID,
|
||||
CANNON_ID,
|
||||
MARIO_ID,
|
||||
};
|
||||
|
||||
const std::unordered_map<uint64_t, const SDL_Rect*> block_mapping = {
|
||||
{FLOOR_ID, &FLOOR_SRC}, {HILL_INCLINE_ID, &HILL_INCLINE_SRC},
|
||||
{HILL_DECLINE_ID, &HILL_DECLINE_SRC}, {HILL_DOTS_RIGHT_ID, &HILL_DOTS_RIGHT_SRC},
|
||||
{HILL_DOTS_LEFT_ID, &HILL_DOTS_LEFT_SRC}, {HILL_FILL_ID, &HILL_FILL_SRC},
|
||||
{HILL_TOP_ID, &HILL_TOP_SRC}, {BUSH_LEFT_ID, &BUSH_LEFT_SRC}, {BUSH_MIDDLE_ID, &BUSH_MIDDLE_SRC},
|
||||
{BUSH_RIGHT_ID, &BUSH_RIGHT_SRC}, {CLOUD_LEFT_BOTTOM_ID, &CLOUD_LEFT_BOTTOM_SRC},
|
||||
{CLOUD_MIDDLE_BOTTOM_ID, &CLOUD_MIDDLE_BOTTOM_SRC}, {CLOUD_RIGHT_BOTTOM_ID, &CLOUD_RIGHT_BOTTOM_SRC},
|
||||
{CLOUD_LEFT_TOP_ID, &CLOUD_LEFT_TOP_SRC}, {CLOUD_MIDDLE_TOP_ID, &CLOUD_MIDDLE_TOP_SRC},
|
||||
{CLOUD_RIGHT_TOP_ID, &CLOUD_RIGHT_TOP_SRC}, {PIPE_LEFT_BOTTOM_ID, &PIPE_LEFT_BOTTOM_SRC},
|
||||
{PIPE_LEFT_TOP_ID, &PIPE_LEFT_TOP_SRC}, {PIPE_RIGHT_BOTTOM_ID, &PIPE_RIGHT_BOTTOM_SRC},
|
||||
{PIPE_RIGHT_TOP_ID, &PIPE_RIGHT_TOP_SRC}, {CASTLE_LEFT_ID, &CASTLE_LEFT_SRC},
|
||||
{CASTLE_RIGHT_ID, &CASTLE_RIGHT_SRC}, {CASTLE_BLACK_ID, &CASTLE_BLACK_SRC},
|
||||
{CASTLE_ENTRY_ID, &CASTLE_ENTRY_SRC}, {CASTLE_TOWER_ID, &CASTLE_TOWER_SRC},
|
||||
{CASTLE_TOWER_FILLED_ID, &CASTLE_TOWER_FILLED_SRC}, {VINE_TOP_ID, &VINE_TOP_SRC},
|
||||
{VINE_BOTTOM_ID, &VINE_BOTTOM_SRC}, {POLE_TOP_ID, &POLE_TOP_SRC},
|
||||
{POLE_BOTTOM_ID, &POLE_BOTTOM_SRC}, {FLAG_ID, &FLAG_SRC},
|
||||
{STEP_ID, &STEP_SRC}, {BRICK_ID, &BRICK_SRC}, {BRICK_TOP_ID, &BRICK_TOP_SRC},
|
||||
{SIDEWAY_PIPE_END_TOP_ID, &SIDEWAY_PIPE_END_TOP_SRC},
|
||||
{SIDEWAY_PIPE_END_BOTTOM_ID, &SIDEWAY_PIPE_END_BOTTOM_SRC},
|
||||
{SIDEWAY_PIPE_MIDDLE_TOP_ID, &SIDEWAY_PIPE_MIDDLE_TOP_SRC},
|
||||
{SIDEWAY_PIPE_MIDDLE_BOTTOM_ID, &SIDEWAY_PIPE_MIDDLE_BOTTOM_SRC},
|
||||
{SIDEWAY_PIPE_CONNECTOR_TOP_ID, &SIDEWAY_PIPE_CONNECTOR_TOP_SRC},
|
||||
{SIDEWAY_PIPE_CONNECTOR_BOTTOM_ID, &SIDEWAY_PIPE_CONNECTOR_BOTTOM_SRC},
|
||||
{TREE_PLATFORM_TOP_LEFT_ID, &TREE_PLATFORM_TOP_LEFT_SRC},
|
||||
{TREE_PLATFORM_TOP_MIDDLE_ID, &TREE_PLATFORM_TOP_MIDDLE_SRC},
|
||||
{TREE_PLATFORM_TOP_RIGHT_ID, &TREE_PLATFORM_TOP_RIGHT_SRC},
|
||||
{TREE_PLATFORM_BARK_ID, &TREE_PLATFORM_BARK_SRC},
|
||||
{WATER_TOP_ID, &WATER_TOP_SRC}, {WATER_FILL_ID, &WATER_FILL_SRC},
|
||||
{MUSHROOM_PLATFORM_TOP_LEFT_ID, &MUSHROOM_PLATFORM_TOP_LEFT_SRC},
|
||||
{MUSHROOM_PLATFORM_TOP_MIDDLE_ID, &MUSHROOM_PLATFORM_TOP_MIDDLE_SRC},
|
||||
{MUSHROOM_PLATFORM_TOP_RIGHT_ID, &MUSHROOM_PLATFORM_TOP_RIGHT_SRC},
|
||||
{MUSHROOM_PLATFORM_BARK_TOP_ID, &MUSHROOM_PLATFORM_BARK_TOP_SRC},
|
||||
{MUSHROOM_PLATFORM_BARK_BOTTOM_ID, &MUSHROOM_PLATFORM_BARK_BOTTOM_SRC},
|
||||
{TREE_BARK_ID, &TREE_BARK_SRC}, {TREE_LEAVES_SMALL_ID, &TREE_LEAVES_SMALL_SRC},
|
||||
{TREE_LEAVES_TOP_ID, &TREE_LEAVES_TOP_SRC},
|
||||
{TREE_LEAVES_BOTTOM_ID, &TREE_LEAVES_BOTTOM_SRC},
|
||||
{CANNON_TOWER_ID, &CANNON_TOWER_SRC},
|
||||
{CANNON_PEDESTAL_ID, &CANNON_PEDESTAL_SRC},
|
||||
{CANNON_ID, &CANNON_SRC}, {MARIO_ID, &MARIO_STANDING_SRC}
|
||||
const std::unordered_map< uint64_t, const SDL_Rect * > block_mapping = {
|
||||
{ FLOOR_ID, &FLOOR_SRC },
|
||||
{ HILL_INCLINE_ID, &HILL_INCLINE_SRC },
|
||||
{ HILL_DECLINE_ID, &HILL_DECLINE_SRC },
|
||||
{ HILL_DOTS_RIGHT_ID, &HILL_DOTS_RIGHT_SRC },
|
||||
{ HILL_DOTS_LEFT_ID, &HILL_DOTS_LEFT_SRC },
|
||||
{ HILL_FILL_ID, &HILL_FILL_SRC },
|
||||
{ HILL_TOP_ID, &HILL_TOP_SRC },
|
||||
{ BUSH_LEFT_ID, &BUSH_LEFT_SRC },
|
||||
{ BUSH_MIDDLE_ID, &BUSH_MIDDLE_SRC },
|
||||
{ BUSH_RIGHT_ID, &BUSH_RIGHT_SRC },
|
||||
{ CLOUD_LEFT_BOTTOM_ID, &CLOUD_LEFT_BOTTOM_SRC },
|
||||
{ CLOUD_MIDDLE_BOTTOM_ID, &CLOUD_MIDDLE_BOTTOM_SRC },
|
||||
{ CLOUD_RIGHT_BOTTOM_ID, &CLOUD_RIGHT_BOTTOM_SRC },
|
||||
{ CLOUD_LEFT_TOP_ID, &CLOUD_LEFT_TOP_SRC },
|
||||
{ CLOUD_MIDDLE_TOP_ID, &CLOUD_MIDDLE_TOP_SRC },
|
||||
{ CLOUD_RIGHT_TOP_ID, &CLOUD_RIGHT_TOP_SRC },
|
||||
{ PIPE_LEFT_BOTTOM_ID, &PIPE_LEFT_BOTTOM_SRC },
|
||||
{ PIPE_LEFT_TOP_ID, &PIPE_LEFT_TOP_SRC },
|
||||
{ PIPE_RIGHT_BOTTOM_ID, &PIPE_RIGHT_BOTTOM_SRC },
|
||||
{ PIPE_RIGHT_TOP_ID, &PIPE_RIGHT_TOP_SRC },
|
||||
{ CASTLE_LEFT_ID, &CASTLE_LEFT_SRC },
|
||||
{ CASTLE_RIGHT_ID, &CASTLE_RIGHT_SRC },
|
||||
{ CASTLE_BLACK_ID, &CASTLE_BLACK_SRC },
|
||||
{ CASTLE_ENTRY_ID, &CASTLE_ENTRY_SRC },
|
||||
{ CASTLE_TOWER_ID, &CASTLE_TOWER_SRC },
|
||||
{ CASTLE_TOWER_FILLED_ID, &CASTLE_TOWER_FILLED_SRC },
|
||||
{ VINE_TOP_ID, &VINE_TOP_SRC },
|
||||
{ VINE_BOTTOM_ID, &VINE_BOTTOM_SRC },
|
||||
{ POLE_TOP_ID, &POLE_TOP_SRC },
|
||||
{ POLE_BOTTOM_ID, &POLE_BOTTOM_SRC },
|
||||
{ FLAG_ID, &FLAG_SRC },
|
||||
{ STEP_ID, &STEP_SRC },
|
||||
{ BRICK_ID, &BRICK_SRC },
|
||||
{ BRICK_TOP_ID, &BRICK_TOP_SRC },
|
||||
{ SIDEWAY_PIPE_END_TOP_ID, &SIDEWAY_PIPE_END_TOP_SRC },
|
||||
{ SIDEWAY_PIPE_END_BOTTOM_ID, &SIDEWAY_PIPE_END_BOTTOM_SRC },
|
||||
{ SIDEWAY_PIPE_MIDDLE_TOP_ID, &SIDEWAY_PIPE_MIDDLE_TOP_SRC },
|
||||
{ SIDEWAY_PIPE_MIDDLE_BOTTOM_ID, &SIDEWAY_PIPE_MIDDLE_BOTTOM_SRC },
|
||||
{ SIDEWAY_PIPE_CONNECTOR_TOP_ID, &SIDEWAY_PIPE_CONNECTOR_TOP_SRC },
|
||||
{ SIDEWAY_PIPE_CONNECTOR_BOTTOM_ID, &SIDEWAY_PIPE_CONNECTOR_BOTTOM_SRC },
|
||||
{ TREE_PLATFORM_TOP_LEFT_ID, &TREE_PLATFORM_TOP_LEFT_SRC },
|
||||
{ TREE_PLATFORM_TOP_MIDDLE_ID, &TREE_PLATFORM_TOP_MIDDLE_SRC },
|
||||
{ TREE_PLATFORM_TOP_RIGHT_ID, &TREE_PLATFORM_TOP_RIGHT_SRC },
|
||||
{ TREE_PLATFORM_BARK_ID, &TREE_PLATFORM_BARK_SRC },
|
||||
{ WATER_TOP_ID, &WATER_TOP_SRC },
|
||||
{ WATER_FILL_ID, &WATER_FILL_SRC },
|
||||
{ MUSHROOM_PLATFORM_TOP_LEFT_ID, &MUSHROOM_PLATFORM_TOP_LEFT_SRC },
|
||||
{ MUSHROOM_PLATFORM_TOP_MIDDLE_ID, &MUSHROOM_PLATFORM_TOP_MIDDLE_SRC },
|
||||
{ MUSHROOM_PLATFORM_TOP_RIGHT_ID, &MUSHROOM_PLATFORM_TOP_RIGHT_SRC },
|
||||
{ MUSHROOM_PLATFORM_BARK_TOP_ID, &MUSHROOM_PLATFORM_BARK_TOP_SRC },
|
||||
{ MUSHROOM_PLATFORM_BARK_BOTTOM_ID, &MUSHROOM_PLATFORM_BARK_BOTTOM_SRC },
|
||||
{ TREE_BARK_ID, &TREE_BARK_SRC },
|
||||
{ TREE_LEAVES_SMALL_ID, &TREE_LEAVES_SMALL_SRC },
|
||||
{ TREE_LEAVES_TOP_ID, &TREE_LEAVES_TOP_SRC },
|
||||
{ TREE_LEAVES_BOTTOM_ID, &TREE_LEAVES_BOTTOM_SRC },
|
||||
{ CANNON_TOWER_ID, &CANNON_TOWER_SRC },
|
||||
{ CANNON_PEDESTAL_ID, &CANNON_PEDESTAL_SRC },
|
||||
{ CANNON_ID, &CANNON_SRC },
|
||||
{ MARIO_ID, &MARIO_STANDING_SRC }
|
||||
};
|
||||
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createBlock( std::shared_ptr< SDLPP::Renderer > &renderer, int x, int y,
|
||||
std::shared_ptr< SDLPP::Texture > &texture, const SDL_Rect &src,
|
||||
uint64_t id, bool collision = false ) {
|
||||
auto block = std::make_shared<MarioBlock>(x, y, renderer, texture, src);
|
||||
auto block = std::make_shared< MarioBlock >( x, y, renderer, texture, src );
|
||||
block->setId( id );
|
||||
block->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER );
|
||||
block->setStatic();
|
||||
@@ -139,9 +168,9 @@ createBlock( std::shared_ptr< SDLPP::Renderer > &renderer, int x, int y,
|
||||
}
|
||||
|
||||
SDL_Rect getSourceRectByID( uint64_t id, LandType::Value type ) {
|
||||
if(block_mapping.find(id) == block_mapping.end())
|
||||
if ( block_mapping.find( id ) == block_mapping.end() )
|
||||
return {};
|
||||
SDL_Rect ret_src = *block_mapping.at(id);
|
||||
SDL_Rect ret_src = *block_mapping.at( id );
|
||||
switch ( type ) {
|
||||
case LandType::OVERWORLD:
|
||||
ret_src.x += OVERWORLD_SHIFT.getX();
|
||||
@@ -162,41 +191,55 @@ SDL_Rect getSourceRectByID( uint64_t id, LandType::Value type ) {
|
||||
}
|
||||
return ret_src;
|
||||
}
|
||||
std::shared_ptr<SDLPP::RectangleRender> createTerrainBlock( uint64_t block_id, LandType::Value type, std::shared_ptr<SDLPP::Renderer> &renderer, int x, int y, std::shared_ptr<SDLPP::Texture> texture, bool collision ) {
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createTerrainBlock( uint64_t block_id, LandType::Value type,
|
||||
std::shared_ptr< SDLPP::Renderer > &renderer, int x, int y,
|
||||
std::shared_ptr< SDLPP::Texture > texture,
|
||||
bool collision ) {
|
||||
return createBlock( renderer, x, y, texture,
|
||||
getSourceRectByID( block_id, type ), block_id,
|
||||
collision );
|
||||
}
|
||||
std::shared_ptr<SDLPP::RectangleRender> createTerrainBlock( uint64_t block_id, LandType::Value type, std::shared_ptr<SDLPP::Renderer> &renderer, std::shared_ptr<SDLPP::Texture> texture, bool collision ) {
|
||||
return createTerrainBlock( block_id, type, renderer, 0, 0, texture, collision );
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createTerrainBlock( uint64_t block_id, LandType::Value type,
|
||||
std::shared_ptr< SDLPP::Renderer > &renderer,
|
||||
std::shared_ptr< SDLPP::Texture > texture,
|
||||
bool collision ) {
|
||||
return createTerrainBlock( block_id, type, renderer, 0, 0, texture,
|
||||
collision );
|
||||
}
|
||||
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createTerrainBlock( uint64_t block_id, LandType::Value type,
|
||||
std::shared_ptr< SDLPP::Renderer > &renderer, int x,
|
||||
int y, bool collision ) {
|
||||
return createTerrainBlock(block_id, type, renderer, x, y, g_terrain_texture, collision);
|
||||
std::shared_ptr< SDLPP::Renderer > &renderer, int x, int y,
|
||||
bool collision ) {
|
||||
return createTerrainBlock( block_id, type, renderer, x, y,
|
||||
g_terrain_texture, collision );
|
||||
}
|
||||
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createTerrainBlock( uint64_t block_id, LandType::Value type,
|
||||
std::shared_ptr< SDLPP::Renderer > &renderer,
|
||||
bool collision ) {
|
||||
return createTerrainBlock(block_id, type, renderer, g_terrain_texture, collision);
|
||||
return createTerrainBlock( block_id, type, renderer, g_terrain_texture,
|
||||
collision );
|
||||
}
|
||||
|
||||
std::shared_ptr<SDLPP::RectangleRender> createMario( LandType::Value type, std::shared_ptr<SDLPP::Renderer> &renderer, int x, int y ) {
|
||||
//TODO add type additions
|
||||
auto mario = createBlock( renderer, x, y, g_mario_texture, MARIO_STANDING_SRC, MARIO_ID, true );
|
||||
dynamic_cast<MarioBlock&>(*mario).setTerrain(false);
|
||||
std::shared_ptr< SDLPP::RectangleRender >
|
||||
createMario( LandType::Value type, std::shared_ptr< SDLPP::Renderer > &renderer,
|
||||
int x, int y ) {
|
||||
// TODO add type additions
|
||||
auto mario = createBlock( renderer, x, y, g_mario_texture,
|
||||
MARIO_STANDING_SRC, MARIO_ID, true );
|
||||
dynamic_cast< MarioBlock & >( *mario ).setTerrain( false );
|
||||
return mario;
|
||||
}
|
||||
|
||||
enum BlockRole::Value getBlockRole(uint64_t id) {
|
||||
if(id >= 0x7000)
|
||||
enum BlockRole::Value getBlockRole( uint64_t id ) {
|
||||
if ( id >= 0x7000 )
|
||||
return BlockRole::TERRAIN;
|
||||
if(id == MARIO_ID)
|
||||
if ( id == MARIO_ID )
|
||||
return BlockRole::MARIO;
|
||||
//TODO modifier/character
|
||||
// TODO modifier/character
|
||||
return BlockRole::MODIFIER;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user