diff --git a/source/director.cpp b/source/director.cpp index 5477b4c..2e168b3 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -813,7 +813,7 @@ void Director::loadMusics() } } -// Descarga los sonidos del juego +// Libera la memoria usada por los sonidos del juego void Director::deleteSounds() { for (auto s : sounds) @@ -823,7 +823,7 @@ void Director::deleteSounds() sounds.clear(); } -// Descarga las músicas del juego +// Libera la memoria usada por las músicas del juego void Director::deleteMusics() { for (auto m : musics) @@ -833,7 +833,7 @@ void Director::deleteMusics() musics.clear(); } -// Ejecuta la seccion de juego con el logo +// Ejecuta la sección con el logo void Director::runLogo() { logo = new Logo(screen, asset, input, param, section); @@ -841,7 +841,7 @@ void Director::runLogo() delete logo; } -// Ejecuta la seccion de juego de la introducción +// Ejecuta la sección con la secuencia de introducción void Director::runIntro() { intro = new Intro(screen, asset, input, lang, param, section, getMusic(musics, "intro.ogg")); @@ -849,7 +849,7 @@ void Director::runIntro() delete intro; } -// Ejecuta la seccion de juego con el titulo y los menus +// Ejecuta la sección con el titulo del juego void Director::runTitle() { title = new Title(screen, asset, input, options, lang, param, section, getMusic(musics, "title.ogg")); @@ -857,7 +857,7 @@ void Director::runTitle() delete title; } -// Ejecuta la seccion de juego donde se juega +// Ejecuta la sección donde se juega al juego void Director::runGame() { const int playerID = section->subsection == SUBSECTION_GAME_PLAY_1P ? 0 : 1; @@ -866,15 +866,7 @@ void Director::runGame() delete game; } -// Ejecuta la parte donde se muestra la tabla de puntuaciones -void Director::runHiScoreTable() -{ - hiScoreTable = new HiScoreTable(screen, asset, input, lang, param, options, section); - hiScoreTable->run(); - delete hiScoreTable; -} - -// Ejecuta la parte donde se muestran las instrucciones +// Ejecuta la sección donde se muestran las instrucciones void Director::runInstructions() { instructions = new Instructions(screen, asset, input, lang, param, section); @@ -882,6 +874,14 @@ void Director::runInstructions() delete instructions; } +// Ejecuta la sección donde se muestra la tabla de puntuaciones +void Director::runHiScoreTable() +{ + hiScoreTable = new HiScoreTable(screen, asset, input, lang, param, options, section); + hiScoreTable->run(); + delete hiScoreTable; +} + // Ejecuta el juego en modo demo void Director::runDemoGame() { diff --git a/source/director.h b/source/director.h index e8a2255..0eeec8f 100644 --- a/source/director.h +++ b/source/director.h @@ -81,10 +81,10 @@ private: // Carga las musicas del juego void loadMusics(); - // Descarga los sonidos del juego + // Libera la memoria usada por los sonidos del juego void deleteSounds(); - // Descarga las músicas del juego + // Libera la memoria usada por las músicas del juego void deleteMusics(); // Comprueba los parametros del programa @@ -93,22 +93,22 @@ private: // Crea la carpeta del sistema donde guardar datos void createSystemFolder(std::string folder); - // Ejecuta la seccion de juego con el logo + // Ejecuta la sección con el logo void runLogo(); - // Ejecuta la seccion de juego de la introducción + // Ejecuta la sección con la secuencia de introducción void runIntro(); - // Ejecuta la seccion de juego con el titulo y los menus + // Ejecuta la sección con el titulo del juego void runTitle(); - // Ejecuta la seccion de juego donde se juega + // Ejecuta la sección donde se juega al juego void runGame(); - // Ejecuta la parte donde se muestran las instrucciones + // Ejecuta la sección donde se muestran las instrucciones void runInstructions(); - // Ejecuta la parte donde se muestra la tabla de puntuaciones + // Ejecuta la sección donde se muestra la tabla de puntuaciones void runHiScoreTable(); // Ejecuta el juego en modo demo diff --git a/source/scoreboard.cpp b/source/scoreboard.cpp index 95af02f..e28431e 100644 --- a/source/scoreboard.cpp +++ b/source/scoreboard.cpp @@ -1,4 +1,5 @@ #include "scoreboard.h" +#include // Constructor Scoreboard::Scoreboard(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lang *lang, options_t *options) @@ -35,6 +36,8 @@ Scoreboard::Scoreboard(SDL_Renderer *renderer, Screen *screen, Asset *asset, Lan powerMeterSprite = new Sprite(offsetPowerMeter.x - 20, offsetPowerMeter.y, 40, 7, gamePowerMeterTexture); textScoreBoard = new Text(asset->get("8bithud.png"), asset->get("8bithud.txt"), renderer); + background = nullptr; + // Crea la textura de fondo createBackgroundTexture(); @@ -51,7 +54,10 @@ Scoreboard::~Scoreboard() delete gamePowerMeterTexture; delete powerMeterSprite; delete textScoreBoard; - SDL_DestroyTexture(background); + if (background) + { + SDL_DestroyTexture(background); + } for (auto texture : panelTexture) { if (texture) @@ -310,7 +316,7 @@ void Scoreboard::recalculateAnchors() // Constantes para definir las zonas del panel: 4 filas y 1 columna const int rowSize = rect.h / 4; const int textHeight = 7; - + // Filas const int row1 = (rowSize * 0) + (textHeight / 2); const int row2 = (rowSize * 1) + (textHeight / 2) - 1; @@ -367,7 +373,7 @@ void Scoreboard::createPanelTextures() // Elimina las texturas en caso de existir for (auto texture : panelTexture) { - if (texture) + if (texture != nullptr) { SDL_DestroyTexture(texture); } diff --git a/source/title.cpp b/source/title.cpp index 950db69..9523866 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -245,7 +245,7 @@ void Title::checkInput() if (index) { if (section->subsection == SUBSECTION_TITLE_2 || ALLOW_TITLE_ANIMATION_SKIP) - { // No se puede empezar a jugar durante la animación del titulo + { // No se puede empezar a jugar durante la animación del titulo a menos que se permita fade->activate(); postFade = index; }