forked from jaildesigner-jailgames/jaildoctors_dilemma
millorat el renderitzat amb el borde activat
This commit is contained in:
@@ -52,7 +52,7 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer)
|
||||
info_resolution_ = std::to_string(DM.w) + " X " + std::to_string(DM.h) + " AT " + std::to_string(DM.refresh_rate) + " HZ";
|
||||
|
||||
// Ajusta los tamaños
|
||||
adjustGameCanvasRect();
|
||||
game_surface_dstrect_ = {options.video.border.width, options.video.border.height, options.game.width, options.game.height};
|
||||
adjustWindowSize();
|
||||
current_palette_ = findPalette(options.video.palette);
|
||||
|
||||
@@ -139,7 +139,7 @@ void Screen::clearRenderer(Color color)
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
void Screen::start()
|
||||
{
|
||||
SDL_SetRenderTarget(renderer_, game_texture_);
|
||||
//SDL_SetRenderTarget(renderer_, game_texture_);
|
||||
setRendererSurface(nullptr);
|
||||
}
|
||||
|
||||
@@ -170,7 +170,6 @@ void Screen::setVideoMode(int mode)
|
||||
// Configura el modo de pantalla y ajusta la ventana
|
||||
SDL_SetWindowFullscreen(window_, options.video.mode);
|
||||
adjustWindowSize();
|
||||
adjustGameCanvasRect();
|
||||
adjustRenderLogicalSize();
|
||||
|
||||
// Reinicia los shaders
|
||||
@@ -286,16 +285,6 @@ void Screen::adjustWindowSize()
|
||||
}
|
||||
}
|
||||
|
||||
// Ajusta game_canvas_rect_
|
||||
void Screen::adjustGameCanvasRect()
|
||||
{
|
||||
game_rect_ = {
|
||||
options.video.border.enabled ? options.video.border.width : 0,
|
||||
options.video.border.enabled ? options.video.border.height : 0,
|
||||
options.game.width,
|
||||
options.game.height};
|
||||
}
|
||||
|
||||
// Ajusta el tamaño lógico del renderizador
|
||||
void Screen::adjustRenderLogicalSize() { SDL_RenderSetLogicalSize(renderer_, window_width_, window_height_); }
|
||||
|
||||
@@ -395,9 +384,8 @@ void Screen::surfaceToTexture()
|
||||
// Si está el borde activo, vuelca gameCanvas sobre borderCanvas
|
||||
if (options.video.border.enabled)
|
||||
{
|
||||
setRendererSurface(border_surface_);
|
||||
game_surface_->render(options.video.border.width, options.video.border.height);
|
||||
border_surface_->copyToTexture(renderer_, border_texture_);
|
||||
game_surface_->copyToTexture(renderer_, border_texture_, nullptr, &game_surface_dstrect_);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user