From 85dbc2ea8988a3f2540d420d581efd72d91fe5c5 Mon Sep 17 00:00:00 2001 From: water Date: Fri, 15 Jul 2022 13:05:27 -0400 Subject: [PATCH] [gfx] fixes for when the window is force to weird size --- game/graphics/gfx.h | 4 ++-- game/graphics/opengl_renderer/OpenGLRenderer.cpp | 1 + game/graphics/pipelines/opengl.cpp | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/game/graphics/gfx.h b/game/graphics/gfx.h index d9a9710b04..844987bbd4 100644 --- a/game/graphics/gfx.h +++ b/game/graphics/gfx.h @@ -73,8 +73,8 @@ static constexpr int PAT_MAT_COUNT = 23; struct GfxGlobalSettings { // note: this is actually the size of the display that ISN'T letterboxed // the excess space is what will be letterboxed away. - int lbox_w; - int lbox_h; + int lbox_w = 640; + int lbox_h = 480; // actual game resolution int game_res_w = 640; diff --git a/game/graphics/opengl_renderer/OpenGLRenderer.cpp b/game/graphics/opengl_renderer/OpenGLRenderer.cpp index a46f9064c7..390cecc64d 100644 --- a/game/graphics/opengl_renderer/OpenGLRenderer.cpp +++ b/game/graphics/opengl_renderer/OpenGLRenderer.cpp @@ -483,6 +483,7 @@ void OpenGLRenderer::setup_frame(const RenderOptions& settings) { } else { lg::error("bad framebuffer setup. fbo: {}, tex: {}, zbuf: {}, fbo2: {}, tex2: {}", fbo_state.fbo, fbo_state.tex, fbo_state.zbuf, fbo_state.fbo2, fbo_state.tex2); + lg::error("size was: {} x {}\n", fbo_state.width, fbo_state.height); fbo_state.delete_objects(); } } else { diff --git a/game/graphics/pipelines/opengl.cpp b/game/graphics/pipelines/opengl.cpp index 8cd0be658c..6ad240141e 100644 --- a/game/graphics/pipelines/opengl.cpp +++ b/game/graphics/pipelines/opengl.cpp @@ -517,8 +517,9 @@ void GLDisplay::render() { // render game! if (g_gfx_data->debug_gui.should_advance_frame()) { auto p = scoped_prof("game-render"); - render_game_frame(Gfx::g_global_settings.game_res_w, Gfx::g_global_settings.game_res_h, win_w, - win_h, lbox_w, lbox_h, Gfx::g_global_settings.msaa_samples); + render_game_frame(windowed() ? win_w : Gfx::g_global_settings.game_res_w, + windowed() ? win_h : Gfx::g_global_settings.game_res_h, win_w, win_h, lbox_w, + lbox_h, Gfx::g_global_settings.msaa_samples); } if (g_gfx_data->debug_gui.should_gl_finish()) {