eliminat soport de borde en les habitacions
This commit is contained in:
@@ -291,8 +291,6 @@ auto MapEditor::revert() -> std::string {
|
|||||||
|
|
||||||
// Refrescar visuales de la habitación
|
// Refrescar visuales de la habitación
|
||||||
room_->setBgColor(room_data_.bg_color);
|
room_->setBgColor(room_data_.bg_color);
|
||||||
Screen::get()->setBorderColor(room_data_.border_color);
|
|
||||||
|
|
||||||
// Restaurar el tilemap completo
|
// Restaurar el tilemap completo
|
||||||
for (int i = 0; i < static_cast<int>(room_data_.tile_map.size()); ++i) {
|
for (int i = 0; i < static_cast<int>(room_data_.tile_map.size()); ++i) {
|
||||||
room_->setTile(i, room_data_.tile_map[i]);
|
room_->setTile(i, room_data_.tile_map[i]);
|
||||||
@@ -960,7 +958,7 @@ void MapEditor::updateStatusBarInfo() { // NOLINT(readability-function-cognitiv
|
|||||||
conv = "right";
|
conv = "right";
|
||||||
}
|
}
|
||||||
|
|
||||||
line2 = "bg:" + std::to_string(room_data_.bg_color) + " brd:" + std::to_string(room_data_.border_color) + " conv:" + conv;
|
line2 = "bg:" + std::to_string(room_data_.bg_color) + " conv:" + conv;
|
||||||
line3 = "u:" + conn(room_data_.upper_room) + " d:" + conn(room_data_.lower_room) +
|
line3 = "u:" + conn(room_data_.upper_room) + " d:" + conn(room_data_.lower_room) +
|
||||||
" l:" + conn(room_data_.left_room) + " r:" + conn(room_data_.right_room) +
|
" l:" + conn(room_data_.left_room) + " r:" + conn(room_data_.right_room) +
|
||||||
" itm:" + std::to_string(room_data_.item_color1) + "/" + std::to_string(room_data_.item_color2);
|
" itm:" + std::to_string(room_data_.item_color1) + "/" + std::to_string(room_data_.item_color2);
|
||||||
@@ -1003,7 +1001,7 @@ auto MapEditor::getSetCompletions() const -> std::vector<std::string> {
|
|||||||
return {"TILE", "COUNTER"};
|
return {"TILE", "COUNTER"};
|
||||||
}
|
}
|
||||||
// Room
|
// Room
|
||||||
return {"BGCOLOR", "BORDER", "ITEMCOLOR1", "ITEMCOLOR2", "CONVEYOR", "TILESET", "UP", "DOWN", "LEFT", "RIGHT"};
|
return {"BGCOLOR", "ITEMCOLOR1", "ITEMCOLOR2", "CONVEYOR", "TILESET", "UP", "DOWN", "LEFT", "RIGHT"};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Modifica una propiedad del enemigo seleccionado
|
// Modifica una propiedad del enemigo seleccionado
|
||||||
@@ -1200,14 +1198,6 @@ auto MapEditor::setRoomProperty(const std::string& property, const std::string&
|
|||||||
return "bgcolor: " + std::to_string(color);
|
return "bgcolor: " + std::to_string(color);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (property == "BORDER") {
|
|
||||||
auto color = static_cast<Uint8>(safeStoi(val, 0));
|
|
||||||
room_data_.border_color = color;
|
|
||||||
Screen::get()->setBorderColor(color);
|
|
||||||
autosave();
|
|
||||||
return "border: " + std::to_string(color);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (property == "ITEMCOLOR1") {
|
if (property == "ITEMCOLOR1") {
|
||||||
auto color = static_cast<Uint8>(safeStoi(val, 0));
|
auto color = static_cast<Uint8>(safeStoi(val, 0));
|
||||||
room_data_.item_color1 = color;
|
room_data_.item_color1 = color;
|
||||||
@@ -1330,7 +1320,7 @@ auto MapEditor::setRoomProperty(const std::string& property, const std::string&
|
|||||||
return toLower(property) + ": " + connection;
|
return toLower(property) + ": " + connection;
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Unknown property: " + property + " (use: bgcolor, border, itemcolor1, itemcolor2, conveyor, tileset, up, down, left, right)";
|
return "Unknown property: " + property + " (use: bgcolor, itemcolor1, itemcolor2, conveyor, tileset, up, down, left, right)";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Crea una nueva habitación
|
// Crea una nueva habitación
|
||||||
@@ -1383,7 +1373,6 @@ auto MapEditor::createNewRoom(const std::string& direction) -> std::string { //
|
|||||||
Room::Data new_room;
|
Room::Data new_room;
|
||||||
new_room.number = std::string(name_buf).substr(0, std::string(name_buf).find('.'));
|
new_room.number = std::string(name_buf).substr(0, std::string(name_buf).find('.'));
|
||||||
new_room.bg_color = 0;
|
new_room.bg_color = 0;
|
||||||
new_room.border_color = 6;
|
|
||||||
new_room.tile_set_file = "standard.gif";
|
new_room.tile_set_file = "standard.gif";
|
||||||
new_room.item_color1 = 11;
|
new_room.item_color1 = 11;
|
||||||
new_room.item_color2 = 12;
|
new_room.item_color2 = 12;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ auto RoomSaver::buildYAML(const fkyaml::node& original_yaml, const Room::Data& r
|
|||||||
out << "room:\n";
|
out << "room:\n";
|
||||||
|
|
||||||
out << " bgColor: " << static_cast<int>(room_data.bg_color) << "\n";
|
out << " bgColor: " << static_cast<int>(room_data.bg_color) << "\n";
|
||||||
out << " border: " << static_cast<int>(room_data.border_color) << "\n";
|
|
||||||
out << " tileSetFile: " << room_data.tile_set_file << "\n";
|
out << " tileSetFile: " << room_data.tile_set_file << "\n";
|
||||||
|
|
||||||
// Conexiones
|
// Conexiones
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
#include <utility> // Para std::move
|
#include <utility> // Para std::move
|
||||||
|
|
||||||
#include "core/rendering/screen.hpp" // Para Screen
|
|
||||||
#include "core/rendering/surface.hpp" // Para Surface
|
#include "core/rendering/surface.hpp" // Para Surface
|
||||||
#include "core/resources/resource_cache.hpp" // Para Resource
|
#include "core/resources/resource_cache.hpp" // Para Resource
|
||||||
#include "game/defaults.hpp" // Para Defaults::Game
|
#include "game/defaults.hpp" // Para Defaults::Game
|
||||||
@@ -33,7 +32,6 @@ Room::Room(const std::string& room_path, std::shared_ptr<Scoreboard::Data> data)
|
|||||||
tilemap_renderer_ = std::make_unique<TilemapRenderer>(tile_map_, tile_set_width_, surface_, bg_color_, conveyor_belt_direction_);
|
tilemap_renderer_ = std::make_unique<TilemapRenderer>(tile_map_, tile_set_width_, surface_, bg_color_, conveyor_belt_direction_);
|
||||||
tilemap_renderer_->initialize(room->collision_tile_map);
|
tilemap_renderer_->initialize(room->collision_tile_map);
|
||||||
|
|
||||||
Screen::get()->setBorderColor(border_color_); // Establece el color del borde
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
@@ -43,7 +41,6 @@ void Room::initializeRoom(const Data& room) {
|
|||||||
// Asignar valores a las variables miembro
|
// Asignar valores a las variables miembro
|
||||||
number_ = room.number;
|
number_ = room.number;
|
||||||
bg_color_ = room.bg_color;
|
bg_color_ = room.bg_color;
|
||||||
border_color_ = room.border_color;
|
|
||||||
item_color1_ = room.item_color1;
|
item_color1_ = room.item_color1;
|
||||||
item_color2_ = room.item_color2;
|
item_color2_ = room.item_color2;
|
||||||
upper_room_ = room.upper_room;
|
upper_room_ = room.upper_room;
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ class Room {
|
|||||||
struct Data {
|
struct Data {
|
||||||
std::string number;
|
std::string number;
|
||||||
Uint8 bg_color{0};
|
Uint8 bg_color{0};
|
||||||
Uint8 border_color{0};
|
|
||||||
Uint8 item_color1{12};
|
Uint8 item_color1{12};
|
||||||
Uint8 item_color2{6};
|
Uint8 item_color2{6};
|
||||||
std::string upper_room;
|
std::string upper_room;
|
||||||
@@ -53,7 +52,6 @@ class Room {
|
|||||||
// --- Funciones ---
|
// --- Funciones ---
|
||||||
[[nodiscard]] auto getNumber() const -> const std::string& { return number_; }
|
[[nodiscard]] auto getNumber() const -> const std::string& { return number_; }
|
||||||
[[nodiscard]] auto getBGColor() const -> Uint8 { return bg_color_; }
|
[[nodiscard]] auto getBGColor() const -> Uint8 { return bg_color_; }
|
||||||
[[nodiscard]] auto getBorderColor() const -> Uint8 { return border_color_; }
|
|
||||||
void renderMap();
|
void renderMap();
|
||||||
void renderEnemies();
|
void renderEnemies();
|
||||||
void renderItems();
|
void renderItems();
|
||||||
@@ -94,7 +92,6 @@ class Room {
|
|||||||
|
|
||||||
std::string number_;
|
std::string number_;
|
||||||
Uint8 bg_color_{0};
|
Uint8 bg_color_{0};
|
||||||
Uint8 border_color_{0};
|
|
||||||
Uint8 item_color1_{12};
|
Uint8 item_color1_{12};
|
||||||
Uint8 item_color2_{6};
|
Uint8 item_color2_{6};
|
||||||
std::string upper_room_;
|
std::string upper_room_;
|
||||||
|
|||||||
@@ -73,9 +73,6 @@ void RoomLoader::parseRoomConfig(const fkyaml::node& yaml, Room::Data& room, con
|
|||||||
if (room_node.contains("bgColor")) {
|
if (room_node.contains("bgColor")) {
|
||||||
room.bg_color = readColorNode(room_node["bgColor"]);
|
room.bg_color = readColorNode(room_node["bgColor"]);
|
||||||
}
|
}
|
||||||
if (room_node.contains("border")) {
|
|
||||||
room.border_color = readColorNode(room_node["border"]);
|
|
||||||
}
|
|
||||||
if (room_node.contains("tileSetFile")) {
|
if (room_node.contains("tileSetFile")) {
|
||||||
room.tile_set_file = room_node["tileSetFile"].get_value<std::string>();
|
room.tile_set_file = room_node["tileSetFile"].get_value<std::string>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -362,7 +362,6 @@ void Game::updateBlackScreen(float delta_time) {
|
|||||||
// Despausar al salir
|
// Despausar al salir
|
||||||
player_->setPaused(false);
|
player_->setPaused(false);
|
||||||
room_->setPaused(false);
|
room_->setPaused(false);
|
||||||
Screen::get()->setBorderColor(room_->getBorderColor());
|
|
||||||
transitionToState(State::PLAYING);
|
transitionToState(State::PLAYING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -542,9 +541,7 @@ void Game::renderPlaying() {
|
|||||||
// Renderiza el juego en estado BLACK_SCREEN (pantalla negra)
|
// Renderiza el juego en estado BLACK_SCREEN (pantalla negra)
|
||||||
void Game::renderBlackScreen() {
|
void Game::renderBlackScreen() {
|
||||||
Screen::get()->start();
|
Screen::get()->start();
|
||||||
auto const COLOR = 0;
|
Screen::get()->clearSurface(0);
|
||||||
Screen::get()->clearSurface(COLOR);
|
|
||||||
Screen::get()->setBorderColor(COLOR);
|
|
||||||
Screen::get()->render();
|
Screen::get()->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -768,8 +765,6 @@ auto Game::changeRoom(const std::string& room_path) -> bool {
|
|||||||
room_ = std::make_shared<Room>(room_path, scoreboard_data_);
|
room_ = std::make_shared<Room>(room_path, scoreboard_data_);
|
||||||
|
|
||||||
// Pone el color del marcador en función del color del borde de la habitación
|
// Pone el color del marcador en función del color del borde de la habitación
|
||||||
setScoreBoardColor();
|
|
||||||
|
|
||||||
if (room_tracker_->addRoom(room_path)) {
|
if (room_tracker_->addRoom(room_path)) {
|
||||||
// Incrementa el contador de habitaciones visitadas
|
// Incrementa el contador de habitaciones visitadas
|
||||||
scoreboard_data_->rooms++;
|
scoreboard_data_->rooms++;
|
||||||
@@ -907,18 +902,6 @@ void Game::killPlayer() {
|
|||||||
transitionToState(State::BLACK_SCREEN);
|
transitionToState(State::BLACK_SCREEN);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pone el color del marcador en función del color del borde de la habitación
|
|
||||||
void Game::setScoreBoardColor() { // NOLINT(readability-convert-member-functions-to-static)
|
|
||||||
// Obtiene el color del borde
|
|
||||||
const Uint8 BORDER_COLOR = room_->getBorderColor();
|
|
||||||
|
|
||||||
const bool IS_BLACK = BORDER_COLOR == 0;
|
|
||||||
const bool IS_BRIGHT_BLACK = BORDER_COLOR == 1;
|
|
||||||
|
|
||||||
// Si el color del borde es negro o negro brillante cambia el texto del marcador a blanco
|
|
||||||
scoreboard_data_->color = IS_BLACK || IS_BRIGHT_BLACK ? 14 : BORDER_COLOR;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pone el juego en pausa
|
// Pone el juego en pausa
|
||||||
void Game::togglePause() {
|
void Game::togglePause() {
|
||||||
paused_ = !paused_;
|
paused_ = !paused_;
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ class Game {
|
|||||||
void checkPlayerAndItems(); // Comprueba las colisiones del jugador con los objetos
|
void checkPlayerAndItems(); // Comprueba las colisiones del jugador con los objetos
|
||||||
void checkIfPlayerIsAlive(); // Comprueba si el jugador esta vivo
|
void checkIfPlayerIsAlive(); // Comprueba si el jugador esta vivo
|
||||||
void killPlayer(); // Mata al jugador
|
void killPlayer(); // Mata al jugador
|
||||||
void setScoreBoardColor(); // Pone el color del marcador en función del color del borde de la habitación
|
|
||||||
void togglePause(); // Pone el juego en pausa
|
void togglePause(); // Pone el juego en pausa
|
||||||
void initPlayer(const Player::SpawnData& spawn_point, std::shared_ptr<Room> room); // Inicializa al jugador
|
void initPlayer(const Player::SpawnData& spawn_point, std::shared_ptr<Room> room); // Inicializa al jugador
|
||||||
void endTransition(); // Finaliza la transición entre pantallas
|
void endTransition(); // Finaliza la transición entre pantallas
|
||||||
|
|||||||
@@ -1025,7 +1025,6 @@ void CommandRegistry::registerHandlers() { // NOLINT(readability-function-cogni
|
|||||||
dynamic_providers_["HELP"] = [this]() -> std::vector<std::string> {
|
dynamic_providers_["HELP"] = [this]() -> std::vector<std::string> {
|
||||||
return getVisibleKeywords();
|
return getVisibleKeywords();
|
||||||
};
|
};
|
||||||
dynamic_providers_["SET BORDER"] = color_provider;
|
|
||||||
dynamic_providers_["SET ITEMCOLOR1"] = color_provider;
|
dynamic_providers_["SET ITEMCOLOR1"] = color_provider;
|
||||||
dynamic_providers_["SET ITEMCOLOR2"] = color_provider;
|
dynamic_providers_["SET ITEMCOLOR2"] = color_provider;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user