Screen: resolucion del juego y del overlay independientes

This commit is contained in:
2023-05-07 18:33:03 +02:00
parent c1f8e16963
commit 5363433871
2 changed files with 7 additions and 4 deletions

View File

@@ -33,8 +33,8 @@ int main(int argc, char *argv[])
initOptions(options); initOptions(options);
options->screen.nativeWidth = 320; options->screen.nativeWidth = 320;
options->screen.nativeHeight = 240; options->screen.nativeHeight = 240;
options->screen.nativeZoom = 1; options->screen.nativeZoom = 2;
options->screen.windowZoom = 2; options->screen.windowZoom = 1;
options->console = false; options->console = false;
// Inicializa la lista de recursos // Inicializa la lista de recursos
@@ -98,7 +98,7 @@ int main(int argc, char *argv[])
sprite->setVelY(2); sprite->setVelY(2);
// Bucle principal // Bucle principal
JA_PlayMusic(music, true); //JA_PlayMusic(music, true);
bool should_exit = false; bool should_exit = false;
while (!should_exit) while (!should_exit)
{ {

View File

@@ -56,6 +56,7 @@ void Screen::clean(color_t color)
void Screen::start() void Screen::start()
{ {
SDL_SetRenderTarget(renderer, gameCanvas); SDL_SetRenderTarget(renderer, gameCanvas);
SDL_RenderSetLogicalSize(renderer, options->screen.nativeWidth, options->screen.nativeHeight);
} }
// Vuelca el contenido del renderizador en pantalla // Vuelca el contenido del renderizador en pantalla
@@ -68,6 +69,8 @@ void Screen::blit()
SDL_SetRenderDrawColor(renderer, borderColor.r, borderColor.g, borderColor.b, 0xFF); SDL_SetRenderDrawColor(renderer, borderColor.r, borderColor.g, borderColor.b, 0xFF);
SDL_RenderClear(renderer); SDL_RenderClear(renderer);
SDL_RenderSetLogicalSize(renderer, gameWidth, gameHeight);
// Copia la textura de juego en el renderizador en la posición adecuada // Copia la textura de juego en el renderizador en la posición adecuada
SDL_RenderCopy(renderer, gameCanvas, nullptr, &dest); SDL_RenderCopy(renderer, gameCanvas, nullptr, &dest);
@@ -167,7 +170,7 @@ void Screen::setVideoMode(int videoMode)
// Modifica el tamaño del renderizador // Modifica el tamaño del renderizador
// SDL_RenderSetLogicalSize(renderer, windowWidth, windowHeight); // SDL_RenderSetLogicalSize(renderer, windowWidth, windowHeight);
SDL_RenderSetLogicalSize(renderer, gameWidth, gameHeight); //SDL_RenderSetLogicalSize(renderer, gameWidth, gameHeight);
// Actualiza las opciones // Actualiza las opciones
options->screen.mode = videoMode; options->screen.mode = videoMode;