forked from jaildesigner-jailgames/jaildoctors_dilemma
Mil arreglos de paletes, gifs i colors transparents
El gif del jugador de game over estava mal
This commit is contained in:
@@ -426,129 +426,13 @@ bool Director::setFileList()
|
||||
Asset::get()->add(system_folder_ + "/stats.csv", AssetType::DATA, false, true);
|
||||
Asset::get()->add(system_folder_ + "/cheevos.bin", AssetType::DATA, false, true);
|
||||
|
||||
// Habitaciones
|
||||
Asset::get()->add(prefix + "/data/room/01.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/02.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/03.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/04.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/05.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/06.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/07.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/08.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/09.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/10.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/11.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/12.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/13.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/14.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/15.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/16.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/17.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/18.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/19.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/20.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/21.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/22.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/23.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/24.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/25.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/26.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/27.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/28.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/29.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/30.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/31.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/32.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/33.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/34.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/35.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/36.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/37.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/38.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/39.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/40.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/41.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/42.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/43.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/44.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/45.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/46.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/47.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/48.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/49.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/50.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/51.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/52.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/53.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/54.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/55.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/56.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/57.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/58.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/59.room", AssetType::ROOM);
|
||||
Asset::get()->add(prefix + "/data/room/60.room", AssetType::ROOM);
|
||||
|
||||
// Tilemaps
|
||||
Asset::get()->add(prefix + "/data/room/01.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/02.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/03.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/04.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/05.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/06.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/07.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/08.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/09.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/10.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/11.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/12.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/13.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/14.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/15.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/16.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/17.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/18.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/19.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/20.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/21.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/22.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/23.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/24.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/25.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/26.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/27.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/28.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/29.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/30.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/31.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/32.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/33.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/34.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/35.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/36.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/37.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/38.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/39.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/40.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/41.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/42.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/43.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/44.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/45.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/46.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/47.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/48.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/49.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/50.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/51.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/52.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/53.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/54.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/55.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/56.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/57.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/58.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/59.tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/60.tmx", AssetType::TILEMAP);
|
||||
// Tilemaps y Rooms
|
||||
for (int i = 1; i <= 60; ++i)
|
||||
{
|
||||
std::string index = (i < 10 ? "0" : "") + std::to_string(i);
|
||||
Asset::get()->add(prefix + "/data/room/" + index + ".tmx", AssetType::TILEMAP);
|
||||
Asset::get()->add(prefix + "/data/room/" + index + ".room", AssetType::ROOM);
|
||||
}
|
||||
|
||||
// Tilesets
|
||||
Asset::get()->add(prefix + "/data/tilesets/standard.gif", AssetType::BITMAP);
|
||||
@@ -693,32 +577,15 @@ bool Director::setFileList()
|
||||
// Efectos de sonido
|
||||
Asset::get()->add(prefix + "/data/sound/item.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/death.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump1.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump2.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump3.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump4.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump5.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump6.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump7.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump8.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump9.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump10.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump11.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump12.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump13.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump14.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump15.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump16.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump17.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump18.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump19.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump20.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump21.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump22.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump23.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/jump24.wav", AssetType::SOUND);
|
||||
Asset::get()->add(prefix + "/data/sound/notify.wav", AssetType::SOUND);
|
||||
|
||||
// Efectos de sonido para el salto
|
||||
for (int i = 1; i <= 24; ++i)
|
||||
{
|
||||
std::string jump_index = std::to_string(i);
|
||||
Asset::get()->add(prefix + "/data/sound/jump" + jump_index + ".wav", AssetType::SOUND);
|
||||
}
|
||||
|
||||
// Logo
|
||||
Asset::get()->add(prefix + "/data/logo/jailgames.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/logo/since_1998.gif", AssetType::BITMAP);
|
||||
@@ -728,7 +595,6 @@ bool Director::setFileList()
|
||||
Asset::get()->add(prefix + "/data/loading/loading_screen_color.gif", AssetType::BITMAP);
|
||||
|
||||
// Title
|
||||
Asset::get()->add(prefix + "/data/title/title_loading.gif", AssetType::BITMAP);
|
||||
Asset::get()->add(prefix + "/data/title/title_logo.gif", AssetType::BITMAP);
|
||||
|
||||
// Ending
|
||||
|
||||
@@ -72,6 +72,7 @@ void Ending::update()
|
||||
// Actualiza el volumen de la musica
|
||||
updateMusicVolume();
|
||||
|
||||
// Actualiza el objeto Screen
|
||||
Screen::get()->update();
|
||||
}
|
||||
}
|
||||
@@ -241,6 +242,7 @@ void Ending::iniPics()
|
||||
|
||||
// Crea la texture
|
||||
sp.image_surface = Resource::get()->getSurface(pic.caption);
|
||||
sp.image_surface->setTransparentColor();
|
||||
const int WIDTH = sp.image_surface->getWidth();
|
||||
const int HEIGHT = sp.image_surface->getHeight();
|
||||
|
||||
|
||||
@@ -440,7 +440,7 @@ void Game::renderBlackScreen()
|
||||
{
|
||||
if (black_screen_)
|
||||
{
|
||||
auto const color = static_cast<Uint8>(PaletteColor::BRIGHT_BLACK);
|
||||
auto const color = static_cast<Uint8>(PaletteColor::BLACK);
|
||||
Screen::get()->setRendererSurface();
|
||||
Screen::get()->clearSurface(color);
|
||||
Screen::get()->setBorderColor(color);
|
||||
@@ -451,13 +451,13 @@ void Game::renderBlackScreen()
|
||||
void Game::setScoreBoardColor()
|
||||
{
|
||||
// Obtiene el color del borde
|
||||
const Uint8 colorBorder = room_->getBorderColor();
|
||||
const Uint8 BORDER_COLOR = room_->getBorderColor();
|
||||
|
||||
const bool isBlack = colorBorder == stringToColor("black");
|
||||
const bool isBrightBlack = colorBorder == stringToColor("bright_black");
|
||||
const bool IS_BLACK = BORDER_COLOR == static_cast<Uint8>(PaletteColor::BLACK);
|
||||
const bool IS_BRIGHT_BLACK = BORDER_COLOR == static_cast<Uint8>(PaletteColor::BRIGHT_BLACK);
|
||||
|
||||
// Si el color del borde es negro o negro brillante cambia el texto del marcador a blanco
|
||||
board_->color = isBlack || isBrightBlack ? stringToColor("white") : colorBorder;
|
||||
board_->color = IS_BLACK || IS_BRIGHT_BLACK ? static_cast<Uint8>(PaletteColor::WHITE) : BORDER_COLOR;
|
||||
}
|
||||
|
||||
// Comprueba si ha finalizado el juego
|
||||
|
||||
@@ -30,6 +30,8 @@ GameOver::GameOver()
|
||||
tv_sprite_->setPosX(GAMECANVAS_CENTER_X - tv_sprite_->getWidth() - 10);
|
||||
tv_sprite_->setPosY(30);
|
||||
|
||||
Screen::get()->setBorderColor(static_cast<Uint8>(PaletteColor::BLACK));
|
||||
|
||||
// Inicializa el vector de colores
|
||||
const std::vector<std::string> COLORS = {"white", "yellow", "cyan", "green", "magenta", "red", "blue", "black"};
|
||||
for (const auto &color : COLORS)
|
||||
@@ -61,6 +63,7 @@ void GameOver::update()
|
||||
player_sprite_->update();
|
||||
tv_sprite_->update();
|
||||
|
||||
// Actualiza el objeto Screen
|
||||
Screen::get()->update();
|
||||
}
|
||||
}
|
||||
@@ -71,7 +74,7 @@ void GameOver::render()
|
||||
constexpr int Y = 32;
|
||||
|
||||
Screen::get()->start();
|
||||
Screen::get()->clearSurface(1);
|
||||
Screen::get()->clearSurface(static_cast<Uint8>(PaletteColor::BLACK));
|
||||
|
||||
auto text = Resource::get()->getText("smb2");
|
||||
|
||||
@@ -84,10 +87,10 @@ void GameOver::render()
|
||||
renderSprites();
|
||||
|
||||
// Escribe el texto con las habitaciones y los items
|
||||
const std::string itemsTxt = std::to_string(options.stats.items / 100) + std::to_string((options.stats.items % 100) / 10) + std::to_string(options.stats.items % 10);
|
||||
const std::string roomsTxt = std::to_string(options.stats.rooms / 100) + std::to_string((options.stats.rooms % 100) / 10) + std::to_string(options.stats.rooms % 10);
|
||||
text->writeDX(TEXT_CENTER | TEXT_COLOR, GAMECANVAS_CENTER_X, Y + 80, "ITEMS: " + itemsTxt, 1, color_);
|
||||
text->writeDX(TEXT_CENTER | TEXT_COLOR, GAMECANVAS_CENTER_X, Y + 90, "ROOMS: " + roomsTxt, 1, color_);
|
||||
const std::string ITEMS_TEXT = std::to_string(options.stats.items / 100) + std::to_string((options.stats.items % 100) / 10) + std::to_string(options.stats.items % 10);
|
||||
const std::string ROOMS_TEXT = std::to_string(options.stats.rooms / 100) + std::to_string((options.stats.rooms % 100) / 10) + std::to_string(options.stats.rooms % 10);
|
||||
text->writeDX(TEXT_CENTER | TEXT_COLOR, GAMECANVAS_CENTER_X, Y + 80, "ITEMS: " + ITEMS_TEXT, 1, color_);
|
||||
text->writeDX(TEXT_CENTER | TEXT_COLOR, GAMECANVAS_CENTER_X, Y + 90, "ROOMS: " + ROOMS_TEXT, 1, color_);
|
||||
|
||||
// Escribe el texto con "Tu peor pesadilla"
|
||||
text->writeDX(TEXT_CENTER | TEXT_COLOR, GAMECANVAS_CENTER_X, Y + 110, "YOUR WORST NIGHTMARE IS", 1, color_);
|
||||
@@ -131,15 +134,15 @@ void GameOver::updateColor()
|
||||
|
||||
if (counter_ < half)
|
||||
{
|
||||
const float step = std::min(counter_, COUNTER_FADE_LENGHT_) / (float)COUNTER_FADE_LENGHT_;
|
||||
const int index = (colors_.size() - 1) - int((colors_.size() - 1) * step);
|
||||
color_ = colors_[index];
|
||||
const float STEP = std::min(counter_, COUNTER_FADE_LENGHT_) / (float)COUNTER_FADE_LENGHT_;
|
||||
const int INDEX = (colors_.size() - 1) - int((colors_.size() - 1) * STEP);
|
||||
color_ = colors_[INDEX];
|
||||
}
|
||||
else
|
||||
{
|
||||
const float step = std::min(std::max(counter_, COUNTER_INIT_FADE_) - COUNTER_INIT_FADE_, COUNTER_FADE_LENGHT_) / (float)COUNTER_FADE_LENGHT_;
|
||||
const int index = (colors_.size() - 1) * step;
|
||||
color_ = colors_[index];
|
||||
const float STEP = std::min(std::max(counter_, COUNTER_INIT_FADE_) - COUNTER_INIT_FADE_, COUNTER_FADE_LENGHT_) / (float)COUNTER_FADE_LENGHT_;
|
||||
const int INDEX = (colors_.size() - 1) * STEP;
|
||||
color_ = colors_[INDEX];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ LoadingScreen::LoadingScreen()
|
||||
screen_surface_(std::make_shared<Surface>(options.game.width, options.game.height))
|
||||
{
|
||||
// Configura la superficie donde se van a pintar los sprites
|
||||
screen_surface_->clear(stringToColor("white"));
|
||||
screen_surface_->clear(static_cast<Uint8>(PaletteColor::WHITE));
|
||||
|
||||
// Inicializa variables
|
||||
options.section.section = Section::LOADING_SCREEN;
|
||||
|
||||
@@ -237,7 +237,7 @@ void Notifier::show(std::vector<std::string> texts, NotificationText text_is, Ui
|
||||
{
|
||||
n.surface->clear(bg_color_);
|
||||
SDL_Rect rect = {0, 0, n.surface->getWidth(), n.surface->getHeight()};
|
||||
n.surface->drawRectBorder(&rect, static_cast<Uint8>(PaletteColor::RED));
|
||||
n.surface->drawRectBorder(&rect, static_cast<Uint8>(PaletteColor::CYAN));
|
||||
}
|
||||
|
||||
// Dibuja el icono de la notificación
|
||||
|
||||
@@ -81,7 +81,7 @@ constexpr Subsection DEFAULT_SUBSECTION = Subsection::LOGO_TO_INTRO;
|
||||
constexpr ControlScheme DEFAULT_CONTROL_SCHEME = ControlScheme::CURSOR; // Control por defecto
|
||||
constexpr NotificationPosition DEFAULT_NOTIFICATION_POSITION = NotificationPosition::UPPER_LEFT; // Posición de las notificaciones por defecto
|
||||
constexpr bool DEFAULT_NOTIFICATION_SOUND = true; // Sonido de las notificaciones por defecto
|
||||
const Uint8 DEFAULT_NOTIFICATION_COLOR = static_cast<Uint8>(PaletteColor::BLACK); // Color de las notificaciones por defecto
|
||||
const Uint8 DEFAULT_NOTIFICATION_COLOR = static_cast<Uint8>(PaletteColor::BLUE); // Color de las notificaciones por defecto
|
||||
constexpr bool DEFAULT_CONSOLE = false; // Consola desactivada por defecto
|
||||
constexpr const char *DEFAULT_VERSION = "1.10"; // Versión por defecto
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
#include "text.h" // for Text, loadTextFile
|
||||
#include "utils.h" // for getFileName, printWithDots, Color
|
||||
#include "room.h"
|
||||
struct JA_Music_t; // lines 12-12
|
||||
struct JA_Sound_t; // lines 13-13
|
||||
struct JA_Music_t; // lines 12-12
|
||||
struct JA_Sound_t; // lines 13-13
|
||||
|
||||
// [SINGLETON] Hay que definir las variables estáticas, desde el .h sólo la hemos declarado
|
||||
Resource *Resource::resource_ = nullptr;
|
||||
@@ -257,6 +257,15 @@ void Resource::loadSurfaces()
|
||||
surfaces_.back().surface->setTransparentColor(0);
|
||||
updateLoadingProgress();
|
||||
}
|
||||
|
||||
// Reconfigura el color transparente de algunas surfaces
|
||||
getSurface("loading_screen_color.gif")->setTransparentColor();
|
||||
getSurface("ending1.gif")->setTransparentColor();
|
||||
getSurface("ending2.gif")->setTransparentColor();
|
||||
getSurface("ending3.gif")->setTransparentColor();
|
||||
getSurface("ending4.gif")->setTransparentColor();
|
||||
getSurface("ending5.gif")->setTransparentColor();
|
||||
getSurface("standard.gif")->setTransparentColor(16);
|
||||
}
|
||||
|
||||
// Carga las paletas
|
||||
@@ -434,7 +443,7 @@ void Resource::renderProgress()
|
||||
const int wired_bar_width = options.game.width - (X_PADDING * 2);
|
||||
SDL_Rect rect_wired = {X_PADDING, bar_position, wired_bar_width, X_PADDING};
|
||||
surface->drawRectBorder(&rect_wired, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
|
||||
|
||||
const int full_bar_width = wired_bar_width * count_.getPercentage();
|
||||
SDL_Rect rect_full = {X_PADDING, bar_position, full_bar_width, X_PADDING};
|
||||
surface->fillRect(&rect_full, static_cast<Uint8>(PaletteColor::WHITE));
|
||||
|
||||
@@ -487,28 +487,15 @@ void Room::fillMapTexture()
|
||||
// Tiled pone los tiles vacios del mapa como cero y empieza a contar de 1 a n.
|
||||
// Al cargar el mapa en memoria, se resta uno, por tanto los tiles vacios son -1
|
||||
// Tampoco hay que dibujar los tiles animados que estan en la fila 19 (indices)
|
||||
const int index = (y * MAP_WIDTH_) + x;
|
||||
const bool a = (tile_map_[index] >= 18 * tile_set_width_) && (tile_map_[index] < 19 * tile_set_width_);
|
||||
const bool b = tile_map_[index] > -1;
|
||||
const int INDEX = (y * MAP_WIDTH_) + x;
|
||||
const bool A = (tile_map_[INDEX] >= 18 * tile_set_width_) && (tile_map_[INDEX] < 19 * tile_set_width_);
|
||||
const bool B = tile_map_[INDEX] > -1;
|
||||
|
||||
if (b && !a)
|
||||
if (B && !A)
|
||||
{
|
||||
clip.x = (tile_map_[index] % tile_set_width_) * TILE_SIZE_;
|
||||
clip.y = (tile_map_[index] / tile_set_width_) * TILE_SIZE_;
|
||||
clip.x = (tile_map_[INDEX] % tile_set_width_) * TILE_SIZE_;
|
||||
clip.y = (tile_map_[INDEX] / tile_set_width_) * TILE_SIZE_;
|
||||
surface_->render(x * TILE_SIZE_, y * TILE_SIZE_, &clip);
|
||||
|
||||
#ifdef DEBUG
|
||||
/*if (Debug::get()->getEnabled())
|
||||
{
|
||||
if (clip.x != -TILE_SIZE_)
|
||||
{
|
||||
clip.x = x * TILE_SIZE_;
|
||||
clip.y = y * TILE_SIZE_;
|
||||
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 64, 64, 64, 224);
|
||||
SDL_RenderFillRect(Screen::get()->getRenderer(), &clip);
|
||||
}
|
||||
}*/
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <numeric>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include "utils.h"
|
||||
|
||||
// Alias
|
||||
using Palette = std::array<Uint32, 256>;
|
||||
@@ -137,7 +138,7 @@ public:
|
||||
|
||||
// Color transparente
|
||||
Uint8 getTransparentColor() const { return transparent_color_; }
|
||||
void setTransparentColor(Uint8 color) { transparent_color_ = color; }
|
||||
void setTransparentColor(Uint8 color = static_cast<Uint8>(PaletteColor::TRANSPARENT)) { transparent_color_ = color; }
|
||||
|
||||
// Paleta
|
||||
void setPalette(const std::array<Uint32, 256> &palette) { palette_ = palette; }
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
// Constructor
|
||||
Title::Title()
|
||||
: title_logo_surface_(Resource::get()->getSurface("title_logo.gif")),
|
||||
title_logo_sprite_(std::make_shared<SSprite>(title_logo_surface_, 0, 0, title_logo_surface_->getWidth(), title_logo_surface_->getHeight())),
|
||||
loading_screen_surface_(Resource::get()->getSurface("title_loading.gif")),
|
||||
loading_screen_sprite_(std::make_shared<SSprite>(loading_screen_surface_, 0, options.game.height - loading_screen_surface_->getHeight(), loading_screen_surface_->getWidth(), loading_screen_surface_->getHeight())),
|
||||
title_logo_sprite_(std::make_shared<SSprite>(title_logo_surface_, 29, 9, title_logo_surface_->getWidth(), title_logo_surface_->getHeight())),
|
||||
loading_screen_surface_(Resource::get()->getSurface("loading_screen_color.gif")),
|
||||
loading_screen_sprite_(std::make_shared<SSprite>(loading_screen_surface_, 0, 0, loading_screen_surface_->getWidth(), loading_screen_surface_->getHeight())),
|
||||
bg_surface_(std::make_shared<Surface>(options.game.width, options.game.height))
|
||||
{
|
||||
// Inicializa variables
|
||||
|
||||
Reference in New Issue
Block a user