treball en curs: correccions de tidy

This commit is contained in:
2026-05-16 14:04:59 +02:00
parent 48af959814
commit be18f51735
31 changed files with 1741 additions and 1966 deletions
+113 -113
View File
@@ -21,50 +21,50 @@
// Constructor
Instructions::Instructions(SDL_Renderer *renderer, Section *section) {
// Copia los punteros
this->renderer = renderer;
this->section = section;
this->renderer_ = renderer;
this->section_ = section;
// Texturas (handles compartidos de Resource)
Resource *R = Resource::get();
itemTextures.push_back(R->getTexture("item_points1_disk.png"));
itemTextures.push_back(R->getTexture("item_points2_gavina.png"));
itemTextures.push_back(R->getTexture("item_points3_pacmar.png"));
itemTextures.push_back(R->getTexture("item_clock.png"));
itemTextures.push_back(R->getTexture("item_coffee.png"));
itemTextures.push_back(R->getTexture("item_coffee_machine.png"));
Resource *resource = Resource::get();
item_textures_.push_back(resource->getTexture("item_points1_disk.png"));
item_textures_.push_back(resource->getTexture("item_points2_gavina.png"));
item_textures_.push_back(resource->getTexture("item_points3_pacmar.png"));
item_textures_.push_back(resource->getTexture("item_clock.png"));
item_textures_.push_back(resource->getTexture("item_coffee.png"));
item_textures_.push_back(resource->getTexture("item_coffee_machine.png"));
eventHandler = new SDL_Event();
event_handler_ = new SDL_Event();
sprite = new Sprite(0, 0, 16, 16, itemTextures[0], renderer);
text = R->getText("smb2");
sprite_ = new Sprite(0, 0, 16, 16, item_textures_[0], renderer);
text_ = resource->getText("smb2");
// Crea un backbuffer para el renderizador
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
if (backbuffer != nullptr) {
SDL_SetTextureScaleMode(backbuffer, Texture::currentScaleMode);
backbuffer_ = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT);
if (backbuffer_ != nullptr) {
SDL_SetTextureScaleMode(backbuffer_, Texture::currentScaleMode);
} else {
std::cout << "Error: textTexture could not be created!\nSDL Error: " << SDL_GetError() << '\n';
}
// Inicializa variables
ticks = 0;
ticksSpeed = 15;
manualQuit = false;
counter = 0;
counterEnd = 600;
finished = false;
quitRequested = false;
ticks_ = 0;
ticks_speed_ = 15;
manual_quit_ = false;
counter_ = 0;
counter_end_ = 600;
finished_ = false;
quit_requested_ = false;
}
// Destructor
Instructions::~Instructions() {
// itemTextures y text son propiedad de Resource — no liberar.
itemTextures.clear();
item_textures_.clear();
delete sprite;
delete eventHandler;
delete sprite_;
delete event_handler_;
SDL_DestroyTexture(backbuffer);
SDL_DestroyTexture(backbuffer_);
}
// Actualiza las variables
@@ -77,21 +77,21 @@ void Instructions::update() {
checkInput();
// Actualiza las variables
if (SDL_GetTicks() - ticks > ticksSpeed) {
if (SDL_GetTicks() - ticks_ > ticks_speed_) {
// Actualiza el contador de ticks
ticks = SDL_GetTicks();
ticks_ = SDL_GetTicks();
if (mode == m_auto) { // Modo automático
counter++;
if (mode_ == Mode::AUTO) { // Modo automático
counter_++;
if (counter == counterEnd) {
finished = true;
if (counter_ == counter_end_) {
finished_ = true;
}
} else { // Modo manual
++counter %= 60000;
++counter_ %= 60000;
if (manualQuit) {
finished = true;
if (manual_quit_) {
finished_ = true;
}
}
}
@@ -101,76 +101,76 @@ void Instructions::update() {
void Instructions::render() {
// Pinta en pantalla
SDL_Rect window = {0, 0, GAMECANVAS_WIDTH, GAMECANVAS_HEIGHT};
SDL_Rect srcRect = {0, 0, 16, 16};
SDL_Rect src_rect = {0, 0, 16, 16};
const Color orangeColor = {0xFF, 0x7A, 0x00};
const Color ORANGE_COLOR = {0xFF, 0x7A, 0x00};
const SDL_Rect destRect1 = {60, 88 + (16 * 0), 16, 16}; // Disquito
const SDL_Rect destRect2 = {60, 88 + (16 * 1), 16, 16}; // Gavineixon
const SDL_Rect destRect3 = {60, 88 + (16 * 2), 16, 16}; // Pacmar
const SDL_Rect destRect4 = {60, 88 + (16 * 3), 16, 16}; // Time Stopper
const SDL_Rect destRect5 = {60, 88 + (16 * 4), 16, 16}; // Coffee
const SDL_Rect DEST_RECT1 = {60, 88 + (16 * 0), 16, 16}; // Disquito
const SDL_Rect DEST_RECT2 = {60, 88 + (16 * 1), 16, 16}; // Gavineixon
const SDL_Rect DEST_RECT3 = {60, 88 + (16 * 2), 16, 16}; // Pacmar
const SDL_Rect DEST_RECT4 = {60, 88 + (16 * 3), 16, 16}; // Time Stopper
const SDL_Rect DEST_RECT5 = {60, 88 + (16 * 4), 16, 16}; // Coffee
// Pinta en el backbuffer el texto y los sprites
SDL_SetRenderTarget(renderer, backbuffer);
SDL_SetRenderDrawColor(renderer, bgColor.r, bgColor.g, bgColor.b, 255);
SDL_RenderClear(renderer);
SDL_SetRenderTarget(renderer_, backbuffer_);
SDL_SetRenderDrawColor(renderer_, bgColor.r, bgColor.g, bgColor.b, 255);
SDL_RenderClear(renderer_);
// Escribe el texto
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 8, Lang::get()->getText(11), 1, orangeColor, 1, shdwTxtColor);
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 24, Lang::get()->getText(12), 1, noColor, 1, shdwTxtColor);
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 34, Lang::get()->getText(13), 1, noColor, 1, shdwTxtColor);
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 48, Lang::get()->getText(14), 1, noColor, 1, shdwTxtColor);
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 58, Lang::get()->getText(15), 1, noColor, 1, shdwTxtColor);
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 75, Lang::get()->getText(16), 1, orangeColor, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 8, Lang::get()->getText(11), 1, ORANGE_COLOR, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 24, Lang::get()->getText(12), 1, noColor, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 34, Lang::get()->getText(13), 1, noColor, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 48, Lang::get()->getText(14), 1, noColor, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 58, Lang::get()->getText(15), 1, noColor, 1, shdwTxtColor);
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, 75, Lang::get()->getText(16), 1, ORANGE_COLOR, 1, shdwTxtColor);
text->writeShadowed(84, 92, Lang::get()->getText(17), shdwTxtColor);
text->writeShadowed(84, 108, Lang::get()->getText(18), shdwTxtColor);
text->writeShadowed(84, 124, Lang::get()->getText(19), shdwTxtColor);
text->writeShadowed(84, 140, Lang::get()->getText(20), shdwTxtColor);
text->writeShadowed(84, 156, Lang::get()->getText(21), shdwTxtColor);
text_->writeShadowed(84, 92, Lang::get()->getText(17), shdwTxtColor);
text_->writeShadowed(84, 108, Lang::get()->getText(18), shdwTxtColor);
text_->writeShadowed(84, 124, Lang::get()->getText(19), shdwTxtColor);
text_->writeShadowed(84, 140, Lang::get()->getText(20), shdwTxtColor);
text_->writeShadowed(84, 156, Lang::get()->getText(21), shdwTxtColor);
if ((mode == m_manual) && (counter % 50 > 14)) {
text->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, GAMECANVAS_HEIGHT - 12, Lang::get()->getText(22), 1, orangeColor, 1, shdwTxtColor);
if ((mode_ == Mode::MANUAL) && (counter_ % 50 > 14)) {
text_->writeDX(TXT_CENTER | TXT_COLOR | TXT_SHADOW, GAMECANVAS_CENTER_X, GAMECANVAS_HEIGHT - 12, Lang::get()->getText(22), 1, ORANGE_COLOR, 1, shdwTxtColor);
}
// Disquito
sprite->setTexture(itemTextures[0]);
sprite->setPos(destRect1);
srcRect.y = 16 * (((counter + 12) / 36) % 2);
sprite->setSpriteClip(srcRect);
sprite->render();
sprite_->setTexture(item_textures_[0]);
sprite_->setPos(DEST_RECT1);
src_rect.y = 16 * (((counter_ + 12) / 36) % 2);
sprite_->setSpriteClip(src_rect);
sprite_->render();
// Gavineixon
sprite->setTexture(itemTextures[1]);
sprite->setPos(destRect2);
srcRect.y = 16 * (((counter + 9) / 36) % 2);
sprite->setSpriteClip(srcRect);
sprite->render();
sprite_->setTexture(item_textures_[1]);
sprite_->setPos(DEST_RECT2);
src_rect.y = 16 * (((counter_ + 9) / 36) % 2);
sprite_->setSpriteClip(src_rect);
sprite_->render();
// Pacmar
sprite->setTexture(itemTextures[2]);
sprite->setPos(destRect3);
srcRect.y = 16 * (((counter + 6) / 36) % 2);
sprite->setSpriteClip(srcRect);
sprite->render();
sprite_->setTexture(item_textures_[2]);
sprite_->setPos(DEST_RECT3);
src_rect.y = 16 * (((counter_ + 6) / 36) % 2);
sprite_->setSpriteClip(src_rect);
sprite_->render();
// Time Stopper
sprite->setTexture(itemTextures[3]);
sprite->setPos(destRect4);
srcRect.y = 16 * (((counter + 3) / 36) % 2);
sprite->setSpriteClip(srcRect);
sprite->render();
sprite_->setTexture(item_textures_[3]);
sprite_->setPos(DEST_RECT4);
src_rect.y = 16 * (((counter_ + 3) / 36) % 2);
sprite_->setSpriteClip(src_rect);
sprite_->render();
// Coffee
sprite->setTexture(itemTextures[4]);
sprite->setPos(destRect5);
srcRect.y = 16 * (((counter + 0) / 36) % 2);
sprite->setSpriteClip(srcRect);
sprite->render();
sprite_->setTexture(item_textures_[4]);
sprite_->setPos(DEST_RECT5);
src_rect.y = 16 * (((counter_ + 0) / 36) % 2);
sprite_->setSpriteClip(src_rect);
sprite_->render();
// Cambia el destino de renderizado
SDL_SetRenderTarget(renderer, nullptr);
SDL_SetRenderTarget(renderer_, nullptr);
// Prepara para empezar a dibujar en la textura de juego
Screen::get()->start();
@@ -179,15 +179,15 @@ void Instructions::render() {
Screen::get()->clean(bgColor);
// Establece la ventana del backbuffer
if (mode == m_auto) {
window.y = std::max(8, GAMECANVAS_HEIGHT - counter + 100);
if (mode_ == Mode::AUTO) {
window.y = std::max(8, GAMECANVAS_HEIGHT - counter_ + 100);
} else {
window.y = 0;
}
// Copia el backbuffer al renderizador
SDL_FRect fWindow = {(float)window.x, (float)window.y, (float)window.w, (float)window.h};
SDL_RenderTexture(renderer, backbuffer, nullptr, &fWindow);
SDL_FRect f_window = {(float)window.x, (float)window.y, (float)window.w, (float)window.h};
SDL_RenderTexture(renderer_, backbuffer_, nullptr, &f_window);
// Vuelca el contenido del renderizador en pantalla
Screen::get()->blit();
@@ -197,11 +197,11 @@ void Instructions::render() {
void Instructions::checkEvents() {
#ifndef __EMSCRIPTEN__
// Comprueba los eventos que hay en la cola
while (static_cast<int>(SDL_PollEvent(eventHandler)) != 0) {
while (static_cast<int>(SDL_PollEvent(event_handler_)) != 0) {
// Evento de salida de la aplicación
if (eventHandler->type == SDL_EVENT_QUIT) {
quitRequested = true;
finished = true;
if (event_handler_->type == SDL_EVENT_QUIT) {
quit_requested_ = true;
finished_ = true;
break;
}
}
@@ -212,59 +212,59 @@ void Instructions::checkEvents() {
void Instructions::checkInput() {
#ifndef __EMSCRIPTEN__
if (Input::get()->checkInput(input_exit, REPEAT_FALSE)) {
quitRequested = true;
finished = true;
quit_requested_ = true;
finished_ = true;
return;
}
#endif
if (GlobalInputs::handle()) { return; }
if (Input::get()->checkInput(input_pause, REPEAT_FALSE) || Input::get()->checkInput(input_accept, REPEAT_FALSE) || Input::get()->checkInput(input_fire_left, REPEAT_FALSE) || Input::get()->checkInput(input_fire_center, REPEAT_FALSE) || Input::get()->checkInput(input_fire_right, REPEAT_FALSE)) {
if (mode == m_auto) {
finished = true;
if (mode_ == Mode::AUTO) {
finished_ = true;
} else {
if (counter > 30) {
manualQuit = true;
if (counter_ > 30) {
manual_quit_ = true;
}
}
}
}
// Bucle para la pantalla de instrucciones (compatibilidad)
void Instructions::run(InstructionsMode mode) {
void Instructions::run(Mode mode) {
start(mode);
while (!finished) {
while (!finished_) {
update();
checkEvents();
render();
}
// Aplica los cambios de sección según el resultado
if (quitRequested) {
section->name = SECTION_PROG_QUIT;
if (quit_requested_) {
section_->name = SECTION_PROG_QUIT;
} else {
section->name = SECTION_PROG_TITLE;
section->subsection = (mode == m_auto) ? SUBSECTION_TITLE_1 : SUBSECTION_TITLE_3;
section_->name = SECTION_PROG_TITLE;
section_->subsection = (mode == Mode::AUTO) ? SUBSECTION_TITLE_1 : SUBSECTION_TITLE_3;
}
}
// Inicia las instrucciones (sin bucle)
void Instructions::start(InstructionsMode mode) {
this->mode = mode;
finished = false;
quitRequested = false;
manualQuit = false;
counter = 0;
ticks = 0;
void Instructions::start(Mode mode) {
mode_ = mode;
finished_ = false;
quit_requested_ = false;
manual_quit_ = false;
counter_ = 0;
ticks_ = 0;
}
// Indica si las instrucciones han terminado
auto Instructions::hasFinished() const -> bool {
return finished;
return finished_;
}
// Indica si se ha solicitado salir de la aplicación
auto Instructions::isQuitRequested() const -> bool {
return quitRequested;
return quit_requested_;
}