diff --git a/mario/blocks.cpp b/mario/blocks.cpp index ac6578a..95cddc7 100644 --- a/mario/blocks.cpp +++ b/mario/blocks.cpp @@ -2,6 +2,35 @@ #include "global_vars.hpp" #include "objectids.hpp" #include "sprites.hpp" +#include + +const std::vector< uint64_t > possibleBlocks = { FLOOR_ID, + HILL_INCLINE_ID, + HILL_DECLINE_ID, + HILL_DOTS_RIGHT_ID, + HILL_DOTS_LEFT_ID, + HILL_FILL_ID, + HILL_TOP_ID, + BUSH_LEFT_ID, + BUSH_MIDDLE_ID, + BUSH_RIGHT_ID, + CLOUD_LEFT_BOTTOM_ID, + CLOUD_MIDDLE_BOTTOM_ID, + CLOUD_RIGHT_BOTTOM_ID, + CLOUD_LEFT_TOP_ID, + CLOUD_MIDDLE_TOP_ID, + CLOUD_RIGHT_TOP_ID }; + +const std::unordered_map 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} +}; std::shared_ptr< SDLPP::RectangleRender > createBlock( std::shared_ptr< SDLPP::Renderer > &renderer, double x, double y, @@ -17,55 +46,43 @@ createBlock( std::shared_ptr< SDLPP::Renderer > &renderer, double x, double y, return block; } -SDL_Rect getSourceRectByID( uint64_t id ) { - switch ( id ) { - case FLOOR_OVERWORLD_ID: - return FLOOR_OVERWORLD_SRC; - case HILL_OVERWORLD_INCLINE_ID: - return HILL_OVERWORLD_INCLINE_SRC; - case HILL_OVERWORLD_DECLINE_ID: - return HILL_OVERWORLD_DECLINE_SRC; - case HILL_OVERWORLD_DOTS_RIGHT_ID: - return HILL_OVERWORLD_DOTS_RIGHT_SRC; - case HILL_OVERWORLD_DOTS_LEFT_ID: - return HILL_OVERWORLD_DOTS_LEFT_SRC; - case HILL_OVERWORLD_FILL_ID: - return HILL_OVERWORLD_FILL_SRC; - case HILL_OVERWORLD_TOP_ID: - return HILL_OVERWORLD_TOP_SRC; - case BUSH_OVERWORLD_LEFT_ID: - return BUSH_OVERWORLD_LEFT_SRC; - case BUSH_OVERWORLD_MIDDLE_ID: - return BUSH_OVERWORLD_MIDDLE_SRC; - case BUSH_OVERWORLD_RIGHT_ID: - return BUSH_OVERWORLD_RIGHT_SRC; - case CLOUD_OVERWORLD_LEFT_BOTTOM_ID: - return CLOUD_OVERWORLD_LEFT_BOTTOM_SRC; - case CLOUD_OVERWORLD_MIDDLE_BOTTOM_ID: - return CLOUD_OVERWORLD_MIDDLE_BOTTOM_SRC; - case CLOUD_OVERWORLD_RIGHT_BOTTOM_ID: - return CLOUD_OVERWORLD_RIGHT_BOTTOM_SRC; - case CLOUD_OVERWORLD_LEFT_TOP_ID: - return CLOUD_OVERWORLD_LEFT_TOP_SRC; - case CLOUD_OVERWORLD_MIDDLE_TOP_ID: - return CLOUD_OVERWORLD_MIDDLE_TOP_SRC; - case CLOUD_OVERWORLD_RIGHT_TOP_ID: - return CLOUD_OVERWORLD_RIGHT_TOP_SRC; +SDL_Rect getSourceRectByID( uint64_t id, BlockType type ) { + if(block_mapping.find(id) == block_mapping.end()) + return {}; + SDL_Rect ret_src = *block_mapping.at(id); + switch ( type ) { + case OVERWORLD: + ret_src.x += OVERWORLD_SHIFT.getX(); + ret_src.y += OVERWORLD_SHIFT.getY(); + break; + case UNDERWORLD: + ret_src.x += UNDERWORLD_SHIFT.getX(); + ret_src.y += UNDERWORLD_SHIFT.getY(); + break; + case WATER: + ret_src.x += WATER_SHIFT.getX(); + ret_src.y += WATER_SHIFT.getY(); + break; + case BOWSER: + ret_src.x += BOWSER_SHIFT.getX(); + ret_src.y += BOWSER_SHIFT.getY(); + break; } - return {}; + return ret_src; } std::shared_ptr< SDLPP::RectangleRender > -createTerrainBlock( uint64_t block_id, +createTerrainBlock( uint64_t block_id, BlockType type, std::shared_ptr< SDLPP::Renderer > &renderer, double x, double y, bool collision ) { return createBlock( renderer, x, y, g_terrain_texture, - getSourceRectByID( block_id ), block_id, collision ); + getSourceRectByID( block_id, type ), block_id, + collision ); } std::shared_ptr< SDLPP::RectangleRender > -createTerrainBlock( uint64_t block_id, +createTerrainBlock( uint64_t block_id, BlockType type, std::shared_ptr< SDLPP::Renderer > &renderer, bool collision ) { - return createTerrainBlock( block_id, renderer, 0, 0, collision ); + return createTerrainBlock( block_id, type, renderer, 0, 0, collision ); } diff --git a/mario/blocks.hpp b/mario/blocks.hpp index 101936a..165041a 100644 --- a/mario/blocks.hpp +++ b/mario/blocks.hpp @@ -4,7 +4,16 @@ #include "../sdlpp/sdlpp_rectrenderer.hpp" #include -std::shared_ptr createTerrainBlock( uint64_t block_id, std::shared_ptr &renderer, bool collision = false ); -std::shared_ptr createTerrainBlock( uint64_t block_id, std::shared_ptr &renderer, double x, double y, bool collision = false ); +extern const std::vector possibleBlocks; + +enum BlockType { + OVERWORLD = 0, + UNDERWORLD = 1, + WATER = 2, + BOWSER = 3 +}; + +std::shared_ptr createTerrainBlock( uint64_t block_id, BlockType type, std::shared_ptr &renderer, bool collision = false ); +std::shared_ptr createTerrainBlock( uint64_t block_id, BlockType type, std::shared_ptr &renderer, double x, double y, bool collision = false ); #endif diff --git a/mario/main.cpp b/mario/main.cpp index 5494bdc..1822451 100644 --- a/mario/main.cpp +++ b/mario/main.cpp @@ -201,8 +201,8 @@ int main() { renderer, "sprites/mario.png", MARIO_OVERWORLD_COLORKEY ); mario = std::make_shared< SDLPP::RectangleRender >( 0, 0, BLOCK_SIZE, BLOCK_SIZE, renderer, mario_texture, - MARIO_OVERWORLD_STANDING_SRC ); - mario->setAnimationFrames( MARIO_OVERWORLD_WALK_ANIM ); + MARIO_STANDING_SRC ); + mario->setAnimationFrames( MARIO_WALK_ANIM ); mario->setId( 2 ); mario->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER ); mario->setAnimationSpeed( 12.5 ); diff --git a/mario/maploader.cpp b/mario/maploader.cpp index 37c61b3..7fc1b54 100644 --- a/mario/maploader.cpp +++ b/mario/maploader.cpp @@ -5,45 +5,45 @@ #include "blocks.hpp" #include "objectids.hpp" -std::shared_ptr decodeObject( char obj, double x, double y, std::shared_ptr &renderer) { +std::shared_ptr decodeObject( char obj, BlockType type, double x, double y, std::shared_ptr &renderer) { switch(obj) { case 'F': - return createTerrainBlock(FLOOR_OVERWORLD_ID, renderer, x, y, true); + return createTerrainBlock(FLOOR_ID, type, renderer, x, y, true); case 'I': - return createTerrainBlock(HILL_OVERWORLD_INCLINE_ID, renderer, x, y); + return createTerrainBlock(HILL_INCLINE_ID, type, renderer, x, y); case 'R': - return createTerrainBlock(HILL_OVERWORLD_DOTS_RIGHT_ID, renderer, x, y); + return createTerrainBlock(HILL_DOTS_RIGHT_ID, type, renderer, x, y); case 'G': - return createTerrainBlock(HILL_OVERWORLD_FILL_ID, renderer, x, y); + return createTerrainBlock(HILL_FILL_ID, type, renderer, x, y); case 'L': - return createTerrainBlock(HILL_OVERWORLD_DOTS_LEFT_ID, renderer, x, y); + return createTerrainBlock(HILL_DOTS_LEFT_ID, type, renderer, x, y); case 'D': - return createTerrainBlock(HILL_OVERWORLD_DECLINE_ID, renderer, x, y); + return createTerrainBlock(HILL_DECLINE_ID, type, renderer, x, y); case 'T': - return createTerrainBlock(HILL_OVERWORLD_TOP_ID, renderer, x, y); + return createTerrainBlock(HILL_TOP_ID, type, renderer, x, y); case 'q': - return createTerrainBlock(BUSH_OVERWORLD_LEFT_ID, renderer, x, y); + return createTerrainBlock(BUSH_LEFT_ID, type, renderer, x, y); case 'w': - return createTerrainBlock(BUSH_OVERWORLD_MIDDLE_ID, renderer, x, y); + return createTerrainBlock(BUSH_MIDDLE_ID, type, renderer, x, y); case 'r': - return createTerrainBlock(BUSH_OVERWORLD_RIGHT_ID, renderer, x, y); + return createTerrainBlock(BUSH_RIGHT_ID, type, renderer, x, y); case 'a': - return createTerrainBlock(CLOUD_OVERWORLD_LEFT_BOTTOM_ID, renderer, x, y); + return createTerrainBlock(CLOUD_LEFT_BOTTOM_ID, type, renderer, x, y); case 's': - return createTerrainBlock(CLOUD_OVERWORLD_MIDDLE_BOTTOM_ID, renderer, x, y); + return createTerrainBlock(CLOUD_MIDDLE_BOTTOM_ID, type, renderer, x, y); case 'd': - return createTerrainBlock(CLOUD_OVERWORLD_RIGHT_BOTTOM_ID, renderer, x, y); + return createTerrainBlock(CLOUD_RIGHT_BOTTOM_ID, type, renderer, x, y); case 'z': - return createTerrainBlock(CLOUD_OVERWORLD_LEFT_TOP_ID, renderer, x, y); + return createTerrainBlock(CLOUD_LEFT_TOP_ID, type, renderer, x, y); case 'x': - return createTerrainBlock(CLOUD_OVERWORLD_MIDDLE_TOP_ID, renderer, x, y); + return createTerrainBlock(CLOUD_MIDDLE_TOP_ID, type, renderer, x, y); case 'c': - return createTerrainBlock(CLOUD_OVERWORLD_RIGHT_TOP_ID, renderer, x, y); + return createTerrainBlock(CLOUD_RIGHT_TOP_ID, type, renderer, x, y); } return nullptr; } -void loadMap(std::shared_ptr &scene, std::shared_ptr &mario, const std::string &file, std::shared_ptr &renderer) { +void loadMap(std::shared_ptr &scene, std::shared_ptr mario, const std::string &file, std::shared_ptr &renderer) { std::fstream mapFile; mapFile.open(file, std::ios::in); std::string buffer; @@ -63,12 +63,16 @@ void loadMap(std::shared_ptr &scene, std::shared_ptraddObject(obj); } cur_y += BLOCK_SIZE; } - mario->setPos(mario_x * BLOCK_SIZE, 1 - (rows - mario_y) * BLOCK_SIZE); + if(mario != nullptr) { + mario->setPos(mario_x * BLOCK_SIZE, 1 - (rows - mario_y) * BLOCK_SIZE); + } else { + //createMarioBlock + } scene->moveZTop(mario); } diff --git a/mario/maploader.hpp b/mario/maploader.hpp index 84e6228..5e6821e 100644 --- a/mario/maploader.hpp +++ b/mario/maploader.hpp @@ -4,6 +4,6 @@ #include "../sdlpp/sdlpp_scene.hpp" #include "../sdlpp/sdlpp_rectrenderer.hpp" -void loadMap(std::shared_ptr &scene, std::shared_ptr &mario, const std::string &file, std::shared_ptr &renderer); +void loadMap(std::shared_ptr &scene, std::shared_ptr mario, const std::string &file, std::shared_ptr &renderer); #endif diff --git a/mario/mario_visitor.cpp b/mario/mario_visitor.cpp index 6121b97..9f336e0 100644 --- a/mario/mario_visitor.cpp +++ b/mario/mario_visitor.cpp @@ -5,7 +5,7 @@ void MarioVisitor::visit( const SDLPP::RenderObject &obj ) { auto id = obj.getId(); switch ( id ) { - case FLOOR_OVERWORLD_ID: + case FLOOR_ID: if ( from == MARIO_FLOOR_DETECT ) onGround = true; else if ( from == MARIO_LEFT_SIDE_DETECT ) diff --git a/mario/objectids.hpp b/mario/objectids.hpp index da092a9..1810f52 100644 --- a/mario/objectids.hpp +++ b/mario/objectids.hpp @@ -1,22 +1,22 @@ #ifndef OBJECTIDS_H #define OBJECTIDS_H -#define FLOOR_OVERWORLD_ID 0x70000001 -#define HILL_OVERWORLD_INCLINE_ID 0x70000002 -#define HILL_OVERWORLD_DECLINE_ID 0x70000003 -#define HILL_OVERWORLD_DOTS_RIGHT_ID 0x70000004 -#define HILL_OVERWORLD_DOTS_LEFT_ID 0x70000005 -#define HILL_OVERWORLD_FILL_ID 0x70000006 -#define HILL_OVERWORLD_TOP_ID 0x70000007 -#define BUSH_OVERWORLD_LEFT_ID 0x70000008 -#define BUSH_OVERWORLD_MIDDLE_ID 0x70000009 -#define BUSH_OVERWORLD_RIGHT_ID 0x7000000A -#define CLOUD_OVERWORLD_LEFT_BOTTOM_ID 0x7000000B -#define CLOUD_OVERWORLD_MIDDLE_BOTTOM_ID 0x7000000C -#define CLOUD_OVERWORLD_RIGHT_BOTTOM_ID 0x7000000D -#define CLOUD_OVERWORLD_LEFT_TOP_ID 0x7000000E -#define CLOUD_OVERWORLD_MIDDLE_TOP_ID 0x7000000F -#define CLOUD_OVERWORLD_RIGHT_TOP_ID 0x70000010 +#define FLOOR_ID 0x70000001 +#define HILL_INCLINE_ID 0x70000002 +#define HILL_DECLINE_ID 0x70000003 +#define HILL_DOTS_RIGHT_ID 0x70000004 +#define HILL_DOTS_LEFT_ID 0x70000005 +#define HILL_FILL_ID 0x70000006 +#define HILL_TOP_ID 0x70000007 +#define BUSH_LEFT_ID 0x70000008 +#define BUSH_MIDDLE_ID 0x70000009 +#define BUSH_RIGHT_ID 0x7000000A +#define CLOUD_LEFT_BOTTOM_ID 0x7000000B +#define CLOUD_MIDDLE_BOTTOM_ID 0x7000000C +#define CLOUD_RIGHT_BOTTOM_ID 0x7000000D +#define CLOUD_LEFT_TOP_ID 0x7000000E +#define CLOUD_MIDDLE_TOP_ID 0x7000000F +#define CLOUD_RIGHT_TOP_ID 0x70000010 #define DEATH_ID 0x10000001 #define STOP_MOVEMENT 0x2000 diff --git a/mario/sprites.cpp b/mario/sprites.cpp index e0ccd41..9504d68 100644 --- a/mario/sprites.cpp +++ b/mario/sprites.cpp @@ -4,35 +4,40 @@ extern const double BLOCK_SIZE = 0.0625; const std::string MARIO_OVERWORLD_COLORKEY = "#93bbec"; -const SDL_Rect MARIO_OVERWORLD_STANDING_SRC = { 1, 9, 16, 16 }; -const SDL_Rect MARIO_OVERWORLD_DEATH_SRC = { 22, 9, 16, 16 }; -const std::vector< SDL_Rect > MARIO_OVERWORLD_WALK_ANIM = { { 43, 9, 16, 16 }, +const SDL_Rect MARIO_STANDING_SRC = { 1, 9, 16, 16 }; +const SDL_Rect MARIO_DEATH_SRC = { 22, 9, 16, 16 }; +const std::vector< SDL_Rect > MARIO_WALK_ANIM = { { 43, 9, 16, 16 }, { 60, 9, 16, 16 }, { 77, 9, 16, 16 } }; -const SDL_Rect MARIO_OVERWORLD_CHANGE_DIR_SRC = { 98, 9, 16, 16 }; -const SDL_Rect MARIO_OVERWORLD_JUMP_SRC = { 119, 9, 16, 16 }; +const SDL_Rect MARIO_CHANGE_DIR_SRC = { 98, 9, 16, 16 }; +const SDL_Rect MARIO_JUMP_SRC = { 119, 9, 16, 16 }; -const SDL_Rect MARIO_OVERWORLD_STANDING_BIG_SRC = { 1, 26, 16, 32 }; -const SDL_Rect MARIO_OVERWORLD_DEATH_BIG_SRC = { 22, 26, 16, 32 }; -const std::vector< SDL_Rect > MARIO_OVERWORLD_WALK_BIG_ANIM = { +const SDL_Rect MARIO_STANDING_BIG_SRC = { 1, 26, 16, 32 }; +const SDL_Rect MARIO_DEATH_BIG_SRC = { 22, 26, 16, 32 }; +const std::vector< SDL_Rect > MARIO_WALK_BIG_ANIM = { { 43, 26, 16, 32 }, { 60, 9, 16, 32 }, { 77, 9, 16, 32 } }; -const SDL_Rect MARIO_OVERWORLD_CHANGE_DIR_BIG_SRC = { 98, 26, 16, 32 }; -const SDL_Rect MARIO_OVERWORLD_JUMP_BIG_SRC = { 119, 26, 16, 32 }; +const SDL_Rect MARIO_CHANGE_DIR_BIG_SRC = { 98, 26, 16, 32 }; +const SDL_Rect MARIO_JUMP_BIG_SRC = { 119, 26, 16, 32 }; -const SDL_Rect FLOOR_OVERWORLD_SRC = { 1, 131, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_INCLINE_SRC = { 137, 97, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_DECLINE_SRC = { 205, 97, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_FILL_SRC = { 171, 97, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_DOTS_RIGHT_SRC = { 154, 97, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_DOTS_LEFT_SRC = { 188, 97, 16, 16 }; -const SDL_Rect HILL_OVERWORLD_TOP_SRC = { 171, 63, 16, 16 }; -extern const SDL_Rect BUSH_OVERWORLD_LEFT_SRC = {222,97,16,16}; -extern const SDL_Rect BUSH_OVERWORLD_MIDDLE_SRC = {239,97,16,16}; -extern const SDL_Rect BUSH_OVERWORLD_RIGHT_SRC = {256,97,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_LEFT_BOTTOM_SRC = {222,80,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_MIDDLE_BOTTOM_SRC = {239,80,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_RIGHT_BOTTOM_SRC = {256,80,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_LEFT_TOP_SRC = {222,63,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_MIDDLE_TOP_SRC = {239,63,16,16}; -extern const SDL_Rect CLOUD_OVERWORLD_RIGHT_TOP_SRC = {256,63,16,16}; +const SDL_Rect FLOOR_SRC = { 1, 131, 16, 16 }; +const SDL_Rect HILL_INCLINE_SRC = { 137, 97, 16, 16 }; +const SDL_Rect HILL_DECLINE_SRC = { 205, 97, 16, 16 }; +const SDL_Rect HILL_FILL_SRC = { 171, 97, 16, 16 }; +const SDL_Rect HILL_DOTS_RIGHT_SRC = { 154, 97, 16, 16 }; +const SDL_Rect HILL_DOTS_LEFT_SRC = { 188, 97, 16, 16 }; +const SDL_Rect HILL_TOP_SRC = { 171, 63, 16, 16 }; +const SDL_Rect BUSH_LEFT_SRC = {222,97,16,16}; +const SDL_Rect BUSH_MIDDLE_SRC = {239,97,16,16}; +const SDL_Rect BUSH_RIGHT_SRC = {256,97,16,16}; +const SDL_Rect CLOUD_LEFT_BOTTOM_SRC = {222,80,16,16}; +const SDL_Rect CLOUD_MIDDLE_BOTTOM_SRC = {239,80,16,16}; +const SDL_Rect CLOUD_RIGHT_BOTTOM_SRC = {256,80,16,16}; +const SDL_Rect CLOUD_LEFT_TOP_SRC = {222,63,16,16}; +const SDL_Rect CLOUD_MIDDLE_TOP_SRC = {239,63,16,16}; +const SDL_Rect CLOUD_RIGHT_TOP_SRC = {256,63,16,16}; + +const SDLPP::Vec2D OVERWORLD_SHIFT = {0, 0}; +const SDLPP::Vec2D UNDERWORLD_SHIFT = {274, 0}; +const SDLPP::Vec2D WATER_SHIFT = {548, 0}; +const SDLPP::Vec2D BOWSER_SHIFT = {0, 173}; diff --git a/mario/sprites.hpp b/mario/sprites.hpp index cdd8b47..a8ca15f 100644 --- a/mario/sprites.hpp +++ b/mario/sprites.hpp @@ -4,40 +4,46 @@ #include #include #include +#include "../sdlpp/sdlpp_vector.hpp" extern const double BLOCK_SIZE; -//------------------ OVERWORLD ---------------------- +//------------------ COLORS ------------------------- extern const std::string MARIO_OVERWORLD_COLORKEY; //------------------ MARIO -------------------------- -extern const SDL_Rect MARIO_OVERWORLD_STANDING_SRC; -extern const SDL_Rect MARIO_OVERWORLD_DEATH_SRC; -extern const std::vector MARIO_OVERWORLD_WALK_ANIM; -extern const SDL_Rect MARIO_OVERWORLD_CHANGE_DIR_SRC; -extern const SDL_Rect MARIO_OVERWORLD_JUMP_SRC; +extern const SDL_Rect MARIO_STANDING_SRC; +extern const SDL_Rect MARIO_DEATH_SRC; +extern const std::vector MARIO_WALK_ANIM; +extern const SDL_Rect MARIO_CHANGE_DIR_SRC; +extern const SDL_Rect MARIO_JUMP_SRC; //------------------ BIG MARIO ---------------------- -extern const SDL_Rect MARIO_OVERWORLD_STANDING_BIG_SRC; -extern const SDL_Rect MARIO_OVERWORLD_DEATH_BIG_SRC; -extern const std::vector MARIO_OVERWORLD_WALK_BIG_ANIM; -extern const SDL_Rect MARIO_OVERWORLD_CHANGE_DIR_BIG_SRC; -extern const SDL_Rect MARIO_OVERWORLD_JUMP_BIG_SRC; +extern const SDL_Rect MARIO_STANDING_BIG_SRC; +extern const SDL_Rect MARIO_DEATH_BIG_SRC; +extern const std::vector MARIO_WALK_BIG_ANIM; +extern const SDL_Rect MARIO_CHANGE_DIR_BIG_SRC; +extern const SDL_Rect MARIO_JUMP_BIG_SRC; //------------------ TERRAIN ------------------------ -extern const SDL_Rect FLOOR_OVERWORLD_SRC; -extern const SDL_Rect HILL_OVERWORLD_INCLINE_SRC; -extern const SDL_Rect HILL_OVERWORLD_DECLINE_SRC; -extern const SDL_Rect HILL_OVERWORLD_FILL_SRC; -extern const SDL_Rect HILL_OVERWORLD_DOTS_RIGHT_SRC; -extern const SDL_Rect HILL_OVERWORLD_DOTS_LEFT_SRC; -extern const SDL_Rect HILL_OVERWORLD_TOP_SRC; -extern const SDL_Rect BUSH_OVERWORLD_LEFT_SRC; -extern const SDL_Rect BUSH_OVERWORLD_MIDDLE_SRC; -extern const SDL_Rect BUSH_OVERWORLD_RIGHT_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_LEFT_BOTTOM_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_MIDDLE_BOTTOM_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_RIGHT_BOTTOM_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_LEFT_TOP_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_MIDDLE_TOP_SRC; -extern const SDL_Rect CLOUD_OVERWORLD_RIGHT_TOP_SRC; +extern const SDL_Rect FLOOR_SRC; +extern const SDL_Rect HILL_INCLINE_SRC; +extern const SDL_Rect HILL_DECLINE_SRC; +extern const SDL_Rect HILL_FILL_SRC; +extern const SDL_Rect HILL_DOTS_RIGHT_SRC; +extern const SDL_Rect HILL_DOTS_LEFT_SRC; +extern const SDL_Rect HILL_TOP_SRC; +extern const SDL_Rect BUSH_LEFT_SRC; +extern const SDL_Rect BUSH_MIDDLE_SRC; +extern const SDL_Rect BUSH_RIGHT_SRC; +extern const SDL_Rect CLOUD_LEFT_BOTTOM_SRC; +extern const SDL_Rect CLOUD_MIDDLE_BOTTOM_SRC; +extern const SDL_Rect CLOUD_RIGHT_BOTTOM_SRC; +extern const SDL_Rect CLOUD_LEFT_TOP_SRC; +extern const SDL_Rect CLOUD_MIDDLE_TOP_SRC; +extern const SDL_Rect CLOUD_RIGHT_TOP_SRC; + +extern const SDLPP::Vec2D OVERWORLD_SHIFT; +extern const SDLPP::Vec2D UNDERWORLD_SHIFT; +extern const SDLPP::Vec2D WATER_SHIFT; +extern const SDLPP::Vec2D BOWSER_SHIFT; #endif