From 0684a0f0c1a51cfc12e5c53e32686ef0d9ec84f2 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Mon, 12 Sep 2022 20:45:44 +0200 Subject: [PATCH] =?UTF-8?q?A=C3=B1adida=20tecla=20para=20activar/desactiva?= =?UTF-8?q?r=20el=20borde?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/room/01.room | 2 +- data/room/02.room | 2 +- data/room/10.room | 2 +- source/game.cpp | 5 +++++ source/screen.cpp | 14 ++++++-------- source/screen.h | 2 -- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/data/room/01.room b/data/room/01.room index e44be9f..d1eb5c1 100644 --- a/data/room/01.room +++ b/data/room/01.room @@ -1,6 +1,6 @@ name=void main bgColor=black -border=red +border=yellow tileset=standard.png roomUp=0 roomDown=0 diff --git a/data/room/02.room b/data/room/02.room index 6b6b044..af5a6de 100644 --- a/data/room/02.room +++ b/data/room/02.room @@ -1,6 +1,6 @@ name=case switch bgColor=black -border=green +border=cyan tileset=standard.png roomUp=0 roomDown=04.room diff --git a/data/room/10.room b/data/room/10.room index 9dbbd8e..7bb46bb 100644 --- a/data/room/10.room +++ b/data/room/10.room @@ -1,6 +1,6 @@ name=welcome to the jail bgColor=black -border=black +border=bright_magenta tileset=standard.png roomUp=0 roomDown=0 diff --git a/source/game.cpp b/source/game.cpp index 3db4ed1..3866f1e 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -102,6 +102,11 @@ void Game::checkEventHandler() board.music ? JA_ResumeMusic() : JA_PauseMusic(); break; + case SDL_SCANCODE_B: + screen->switchBorder(); + reLoadTextures(); + break; + case SDL_SCANCODE_F: screen->switchVideoMode(); reLoadTextures(); diff --git a/source/screen.cpp b/source/screen.cpp index ee0c164..69ea685 100644 --- a/source/screen.cpp +++ b/source/screen.cpp @@ -15,8 +15,6 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer, options_t *options, i // Define el color del borde para el modo de pantalla completa borderColor = {0x00, 0x00, 0x00}; - borderEnabled = options->borderEnabled; - borderSize = options->borderSize; // Crea la textura donde se dibujan los graficos del juego gameCanvas = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, gameCanvasWidth, gameCanvasHeight); @@ -80,10 +78,10 @@ void Screen::setVideoMode(int fullScreenMode) // Si está activo el modo ventana quita el borde if (fullScreenMode == 0) { - if (borderEnabled) + if (options->borderEnabled) { - const int incWidth = gameCanvasWidth * borderSize; - const int incHeight = gameCanvasHeight * borderSize; + const int incWidth = gameCanvasWidth * options->borderSize; + const int incHeight = gameCanvasHeight * options->borderSize; screenWidth = gameCanvasWidth + incWidth; screenHeight = gameCanvasHeight + incHeight; dest = {0 + (incWidth / 2), 0 + (incHeight / 2), gameCanvasWidth, gameCanvasHeight}; @@ -192,18 +190,18 @@ void Screen::setBlendMode(SDL_BlendMode blendMode) // Establece el tamaño del borde void Screen::setBorderSize(float s) { - borderSize = s; + options->borderSize = s; } // Establece si se ha de ver el borde en el modo ventana void Screen::setBorderEnabled(bool value) { - borderEnabled = value; + options->borderEnabled = value; } // Cambia entre borde visible y no visible void Screen::switchBorder() { - borderEnabled = !borderEnabled; + options->borderEnabled = !options->borderEnabled; setVideoMode(0); } \ No newline at end of file diff --git a/source/screen.h b/source/screen.h index aa013ee..6c0f7ab 100644 --- a/source/screen.h +++ b/source/screen.h @@ -32,8 +32,6 @@ private: anchor_t anchor; // Variable con los anclajes de la pantalla SDL_Rect dest; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana color_t borderColor; // Color del borde añadido a la textura de juego para rellenar la pantalla - bool borderEnabled; // Indica si ha de mostrar el borde en el modo de ventana - float borderSize; // Porcentaje de borde que se añade a lo ventana public: // Constructor