diff --git a/src/common/2d/v_draw.cpp b/src/common/2d/v_draw.cpp index 7d730c95d76..780692f2e1b 100644 --- a/src/common/2d/v_draw.cpp +++ b/src/common/2d/v_draw.cpp @@ -272,7 +272,7 @@ DEFINE_ACTION_FUNCTION(FCanvas, DrawTexture) PARAM_VA_POINTER(va_reginfo) // Get the hidden type information array auto tex = TexMan.GameByIndex(texid, animate); - VMVa_List args = { param + 4, 0, numparam - 5, va_reginfo + 4 }; + VMVa_List args = { param + 5, 0, numparam - 6, va_reginfo + 5 }; DoDrawTexture(self->Drawer.get(), tex, x, y, args); return 0; } @@ -346,7 +346,7 @@ DEFINE_ACTION_FUNCTION(FCanvas, DrawShape) PARAM_VA_POINTER(va_reginfo) // Get the hidden type information array auto tex = TexMan.GameByIndex(texid, animate); - VMVa_List args = { param + 3, 0, numparam - 4, va_reginfo + 3 }; + VMVa_List args = { param + 4, 0, numparam - 5, va_reginfo + 4 }; DrawShape(self->Drawer.get(), tex, shape, args); return 0; @@ -380,7 +380,7 @@ DEFINE_ACTION_FUNCTION(FCanvas, DrawShapeFill) PARAM_VA_POINTER(va_reginfo) // Get the hidden type information array - VMVa_List args = { param + 3, 0, numparam - 4, va_reginfo + 3 }; + VMVa_List args = { param + 4, 0, numparam - 5, va_reginfo + 4 }; color.a = int(amount * 255.0f); diff --git a/src/common/2d/v_drawtext.cpp b/src/common/2d/v_drawtext.cpp index d5ed9af98de..c475707e901 100644 --- a/src/common/2d/v_drawtext.cpp +++ b/src/common/2d/v_drawtext.cpp @@ -246,7 +246,7 @@ DEFINE_ACTION_FUNCTION(FCanvas, DrawChar) PARAM_VA_POINTER(va_reginfo) // Get the hidden type information array - VMVa_List args = { param + 5, 0, numparam - 6, va_reginfo + 5 }; + VMVa_List args = { param + 6, 0, numparam - 7, va_reginfo + 6 }; DrawChar(self->Drawer.get(), font, cr, x, y, chr, args); return 0; } @@ -448,7 +448,7 @@ DEFINE_ACTION_FUNCTION(FCanvas, DrawText) PARAM_VA_POINTER(va_reginfo) // Get the hidden type information array - VMVa_List args = { param + 5, 0, numparam - 6, va_reginfo + 5 }; + VMVa_List args = { param + 6, 0, numparam - 7, va_reginfo + 6 }; const char *txt = chr[0] == '$' ? GStrings(&chr[1]) : chr.GetChars(); DrawText(self->Drawer.get(), font, cr, x, y, txt, args); return 0; diff --git a/src/common/rendering/gl/gl_framebuffer.cpp b/src/common/rendering/gl/gl_framebuffer.cpp index 7f0e5f326a7..422eccccd92 100644 --- a/src/common/rendering/gl/gl_framebuffer.cpp +++ b/src/common/rendering/gl/gl_framebuffer.cpp @@ -233,6 +233,7 @@ void OpenGLFrameBuffer::RenderTextureView(FCanvasTexture* tex, std::functionDrawer) { ::Draw2D(tex->Drawer.get(), gl_RenderState); + tex->Drawer->Clear(); } GLRenderer->EndOffscreen(); diff --git a/src/common/rendering/vulkan/system/vk_framebuffer.cpp b/src/common/rendering/vulkan/system/vk_framebuffer.cpp index e712c93424f..ee40a739b2d 100644 --- a/src/common/rendering/vulkan/system/vk_framebuffer.cpp +++ b/src/common/rendering/vulkan/system/vk_framebuffer.cpp @@ -218,6 +218,7 @@ void VulkanFrameBuffer::RenderTextureView(FCanvasTexture* tex, std::functionDrawer) { ::Draw2D(tex->Drawer.get(), *mRenderState); + tex->Drawer->Clear(); } mRenderState->EndRenderPass();