diff --git a/source/game.cpp b/source/game.cpp index 1fe65e7..71c5c45 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -22,7 +22,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, D scoreboard = new ScoreBoard(renderer, asset, &playerLives, &itemsPicked, &clock); itemTracker = new ItemTracker(); room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked); - player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room); + player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room, debug); eventHandler = new SDL_Event(); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); debugText = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer); @@ -221,7 +221,7 @@ void Game::renderDebugInfo() } // Borra el marcador - const SDL_Rect rect = {0, 17 * BLOCK, PLAY_AREA_WIDTH, GAMECANVAS_HEIGHT - PLAY_AREA_HEIGHT}; + SDL_Rect rect = {0, 17 * BLOCK, PLAY_AREA_WIDTH, GAMECANVAS_HEIGHT - PLAY_AREA_HEIGHT}; SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_RenderFillRect(renderer, &rect); @@ -236,8 +236,13 @@ void Game::renderDebugInfo() SDL_RenderDrawLine(renderer, i, 0, i, PLAY_AREA_BOTTOM - 1); } + // Pinta mascaras de sprite + SDL_SetRenderDrawColor(renderer, 0, 255, 0, 192); + rect = player->getRect(); + SDL_RenderFillRect(renderer, &rect); + // Pinta el texto - debug->setPos({1, 152}); + debug->setPos({1, 17 * 8}); debug->render(); } @@ -327,7 +332,7 @@ void Game::killPlayer() // Crea la nueva habitación y el nuevo jugador room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked); - player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room); + player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room, debug); } // Recarga todas las texturas diff --git a/source/player.cpp b/source/player.cpp index f9349d4..8ad0041 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -3,13 +3,14 @@ #include // Constructor -Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room) +Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room, Debug *debug) { // Obten punteros a objetos this->asset = asset; this->renderer = renderer; this->input = input; this->room = room; + this->debug = debug; // Crea objetos texture = new LTexture(renderer, asset->get(tileset)); @@ -241,6 +242,7 @@ void Player::move() else { tile_e slope = checkSlopes(); + debug->add("SLOPE = " + std::to_string(slope)); if (slope != t_empty) { // Cuesta hacia la derecha if (slope == t_slope_r) diff --git a/source/player.h b/source/player.h index a1ffdbb..3db25c6 100644 --- a/source/player.h +++ b/source/player.h @@ -7,6 +7,7 @@ #include "animatedsprite.h" #include "input.h" #include "const.h" +#include "debug.h" #include #include @@ -47,6 +48,7 @@ public: Room *room; // Objeto encargado de gestionar cada habitación del juego LTexture *texture; // Textura con los graficos del enemigo AnimatedSprite *sprite; // Sprite del enemigo + Debug *debug; // Objeto para gestionar la información de debug color_t color; // Color del jugador SDL_Rect colliderBox; // Caja de colisión con los enemigos u objetos std::vector colliderPoints; // Puntos de colisión con el mapa @@ -101,7 +103,7 @@ public: public: // Constructor - Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room); + Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room, Debug *debug); // Destructor ~Player();