Skip to content

Commit

Permalink
Fix variable arg bindings
Browse files Browse the repository at this point in the history
Always clear the drawer
  • Loading branch information
dpjudas authored and coelckers committed Jul 25, 2022
1 parent 0049fea commit aa08360
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 5 deletions.
6 changes: 3 additions & 3 deletions src/common/2d/v_draw.cpp
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);

Expand Down
4 changes: 2 additions & 2 deletions src/common/2d/v_drawtext.cpp
Expand Up @@ -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;
}
Expand Down Expand Up @@ -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;
Expand Down
1 change: 1 addition & 0 deletions src/common/rendering/gl/gl_framebuffer.cpp
Expand Up @@ -233,6 +233,7 @@ void OpenGLFrameBuffer::RenderTextureView(FCanvasTexture* tex, std::function<voi
if (tex->Drawer)
{
::Draw2D(tex->Drawer.get(), gl_RenderState);
tex->Drawer->Clear();
}

GLRenderer->EndOffscreen();
Expand Down
1 change: 1 addition & 0 deletions src/common/rendering/vulkan/system/vk_framebuffer.cpp
Expand Up @@ -218,6 +218,7 @@ void VulkanFrameBuffer::RenderTextureView(FCanvasTexture* tex, std::function<voi
if (tex->Drawer)
{
::Draw2D(tex->Drawer.get(), *mRenderState);
tex->Drawer->Clear();
}

mRenderState->EndRenderPass();
Expand Down

0 comments on commit aa08360

Please sign in to comment.