From abbff605c04e0f23c4520e925caf166beb34426e Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Thu, 27 Oct 2022 09:47:21 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1adiendo=20el=20cambio=20de=20tama=C3=B1o?= =?UTF-8?q?=20de=20pantalla=20a=20la=20secci=C3=B3n=20logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/game.cpp | 12 +++++----- source/logo.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++-- source/logo.h | 3 +++ 3 files changed, 67 insertions(+), 8 deletions(-) diff --git a/source/game.cpp b/source/game.cpp index aa85599..baedbb9 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -126,32 +126,32 @@ void Game::checkEventHandler() case SDL_SCANCODE_B: screen->switchBorder(); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F: screen->switchVideoMode(); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F1: screen->setWindowSize(1); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F2: screen->setWindowSize(2); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F3: screen->setWindowSize(3); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F4: screen->setWindowSize(4); - //reLoadTextures(); + reLoadTextures(); break; case SDL_SCANCODE_F5: diff --git a/source/logo.cpp b/source/logo.cpp index b51d849..35a075a 100644 --- a/source/logo.cpp +++ b/source/logo.cpp @@ -81,8 +81,51 @@ void Logo::checkEventHandler() // Cualquier tecla pulsada if ((eventHandler->type == SDL_KEYDOWN) || (eventHandler->type == SDL_JOYBUTTONDOWN)) { - section.name = SECTION_PROG_TITLE; - section.subsection = 0; + switch (eventHandler->key.keysym.scancode) + { + case SDL_SCANCODE_ESCAPE: + section.name = SECTION_PROG_QUIT; + break; + + case SDL_SCANCODE_B: + screen->switchBorder(); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F: + screen->switchVideoMode(); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F1: + screen->setWindowSize(1); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F2: + screen->setWindowSize(2); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F3: + screen->setWindowSize(3); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F4: + screen->setWindowSize(4); + resource->reLoadTextures(); + break; + + case SDL_SCANCODE_F5: + switchPalette(); + break; + + default: + section.name = SECTION_PROG_TITLE; + section.subsection = 0; + break; + } } } } @@ -268,3 +311,16 @@ section_t Logo::run() return section; } + +// Cambia la paleta +void Logo::switchPalette() +{ + if (options->palette == p_zxspectrum) + { + options->palette = p_zxarne; + } + else + { + options->palette = p_zxspectrum; + } +} \ No newline at end of file diff --git a/source/logo.h b/source/logo.h index 9c9dbab..7bdc77e 100644 --- a/source/logo.h +++ b/source/logo.h @@ -53,6 +53,9 @@ private: // Gestiona el color de las texturas void updateTextureColors(); + // Cambia la paleta + void switchPalette(); + public: // Constructor Logo(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, int subsection);