fixed windows builds

This commit is contained in:
2025-07-20 00:45:31 +03:00
parent 070c3ff309
commit fb4c201921
26 changed files with 519 additions and 338 deletions

View File

@@ -95,7 +95,7 @@ void IFGUI::SetRectColor( float r, float g, float b, float a )
//----------------------------------------------------------------------------
void IFGUI::DrawRect( int32_t iPosX, int32_t iPosY, uint32_t uSizeX, uint32_t uSizeY )
{
IRenderer::BindPipeline(fgui_RectPipeline);
Renderer()->BindPipeline(fgui_RectPipeline);
struct RectConstants_t
{
uint32_t nResolution[2];
@@ -113,8 +113,8 @@ void IFGUI::DrawRect( int32_t iPosX, int32_t iPosY, uint32_t uSizeX, uint32_t uS
constants.nSize[1] = uSizeY;
for ( int i = 0; i < 4; i++ )
constants.fColor[i] = fgui_fRectColor[i];
IRenderer::SetConstants(sizeof(RectConstants_t), &constants);
IRenderer::Draw(fgui_pRectangleBuffer, NULL);
Renderer()->SetConstants(sizeof(RectConstants_t), &constants);
Renderer()->Draw(fgui_pRectangleBuffer, NULL);
}
CUtlVector<CFont*> fgui_fonts;
@@ -133,10 +133,10 @@ CFont *IFGUI::LoadFont( CUtlString szFontPath )
CFont *pFont = new CFont;
pFont->szName = szFontPath;
pFont->pTexture = ITextureManager::LoadTexture(CUtlString("%s.png", szFontPath.GetString()));
FileHandle_t f = IFileSystem::Open(CUtlString("%s.fontdata", szFontPath.GetString()), IFILE_READ);
CUtlBuffer<char> b = IFileSystem::Size(f)+1;
IFileSystem::Read(f, b.GetMemory(), IFileSystem::Size(f));
IFileSystem::Close(f);
FileHandle_t f = FileSystem()->Open(CUtlString("%s.fontdata", szFontPath.GetString()), IFILE_READ);
CUtlBuffer<char> b = FileSystem()->Size(f)+1;
FileSystem()->Read(f, b.GetMemory(), FileSystem()->Size(f));
FileSystem()->Close(f);
char cCharacterSet[256] = {};
V_memset(cCharacterSet, 0, 256);
uint32_t nElementsWidth;
@@ -191,7 +191,7 @@ void IFGUI::DrawText( CUtlString psz )
}
IRenderer::BindPipeline(fgui_TextPipeline);
Renderer()->BindPipeline(fgui_TextPipeline);
struct RectConstants_t
{
@@ -223,8 +223,8 @@ void IFGUI::DrawText( CUtlString psz )
constants.fGlyphPos[1] = fgui_pTextFont->cCharacterSet[psz[i]] / fgui_pTextFont->nGlyphsPerRow;
if (isprint(psz[i]) && !isspace(psz[i]))
{
IRenderer::SetConstants(sizeof(RectConstants_t), &constants);
IRenderer::Draw(fgui_pUVRectangleBuffer, NULL);
Renderer()->SetConstants(sizeof(RectConstants_t), &constants);
Renderer()->Draw(fgui_pUVRectangleBuffer, NULL);
}
constants.nPosition[0] += constants.nSize[0];
}
@@ -241,7 +241,7 @@ DECLARE_UI_RENDERING_STAGE(CFGUI_Rendering, fgui_rendering);
void CFGUI_Rendering::Init()
{
fgui_RectPipeline = IRenderer::CreateGraphicsPipeline(
fgui_RectPipeline = Renderer()->CreateGraphicsPipeline(
{
{"gfx/fgui_rect_vert.shader", SHADER_TYPE_VERTEX},
{"gfx/fgui_rect_frag.shader", SHADER_TYPE_FRAGMENT},
@@ -253,7 +253,7 @@ void CFGUI_Rendering::Init()
{IMAGE_FORMAT_WINDOW},
true
);
fgui_TextPipeline = IRenderer::CreateGraphicsPipeline(
fgui_TextPipeline = Renderer()->CreateGraphicsPipeline(
{
{"gfx/fgui_text_vert.shader", SHADER_TYPE_VERTEX},
{"gfx/fgui_text_frag.shader", SHADER_TYPE_FRAGMENT},
@@ -276,7 +276,7 @@ void CFGUI_Rendering::Init()
0,1,
1,1,
};
fgui_pRectangleBuffer = IRenderer::CreateVertexBuffer(sizeof(vertices));
fgui_pRectangleBuffer = Renderer()->CreateVertexBuffer(sizeof(vertices));
void *pMapping = fgui_pRectangleBuffer->Map();
V_memcpy(pMapping, vertices, sizeof(vertices));
fgui_pRectangleBuffer->Unmap();
@@ -290,7 +290,7 @@ void CFGUI_Rendering::Init()
0,1, 0,1,
1,1, 1,1,
};
fgui_pUVRectangleBuffer = IRenderer::CreateVertexBuffer(sizeof(vertices));
fgui_pUVRectangleBuffer = Renderer()->CreateVertexBuffer(sizeof(vertices));
void *pMapping = fgui_pUVRectangleBuffer->Map();
V_memcpy(pMapping, vertices, sizeof(vertices));
fgui_pUVRectangleBuffer->Unmap();
@@ -301,16 +301,16 @@ void CFGUI_Rendering::Frame( float fDelta )
{
fgui_TextPipeline->PushBindings();
IRenderer::Begin(g_nWindowWidth, g_nWindowHeight, {
Renderer()->Begin(g_nWindowWidth, g_nWindowHeight, {
{
IRenderer::GetOutputImage(),
Renderer()->GetOutputImage(),
NULL,
ATTACHMENT_LOAD_MODE_LOAD,
ATTACHMENT_STORE_MODE_STORE,
}
}, {});
IRenderer::ResetState();
IRenderer::SetDepthMode(DEPTH_MODE_LESS);
Renderer()->ResetState();
Renderer()->SetDepthMode(DEPTH_MODE_LESS);
for (auto &widget: fgui_widgets)
{
if (!widget->IsVisible())
@@ -321,7 +321,7 @@ void CFGUI_Rendering::Frame( float fDelta )
widget->ComputeOffset();
widget->Draw();
}
IRenderer::End();
Renderer()->End();
};
void CFGUI_Rendering::Deinit()