From 40b79dec46c840923af6826c702b7327a4a62779 Mon Sep 17 00:00:00 2001 From: Fighter19 <1475802+Fighter19@users.noreply.github.com> Date: Sun, 15 Sep 2024 22:13:13 +0200 Subject: [PATCH 1/4] Consistently use UBOOL over BOOL --- Inc/XOpenGL.h | 16 ++++++++-------- Src/SetTexture.cpp | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Inc/XOpenGL.h b/Inc/XOpenGL.h index 804cd99..5ca98da 100755 --- a/Inc/XOpenGL.h +++ b/Inc/XOpenGL.h @@ -1264,7 +1264,7 @@ class UXOpenGLRenderDevice : public URenderDevice INT NumTextureSamplers; GLenum DrawMode; INT NumVertexAttributes; - BOOL UseSSBOParametersBuffer; + UBOOL UseSSBOParametersBuffer; const DrawCallParameterInfo* ParametersInfo; ShaderWriterFunc* VertexShaderFunc; ShaderWriterFunc* GeoShaderFunc; @@ -1695,7 +1695,7 @@ class UXOpenGLRenderDevice : public URenderDevice static void BuildGeometryShader(GLuint ShaderType, UXOpenGLRenderDevice* GL, FShaderWriterX& Out); static void BuildFragmentShader(GLuint ShaderType, UXOpenGLRenderDevice* GL, FShaderWriterX& Out); - BOOL DepthTesting; + UBOOL DepthTesting; }; // Used for ES _and_ for Core (w/ geo shaders disabled)! @@ -1711,7 +1711,7 @@ class UXOpenGLRenderDevice : public URenderDevice static void BuildVertexShader(GLuint ShaderType, UXOpenGLRenderDevice* GL, FShaderWriterX& Out); static void BuildFragmentShader(GLuint ShaderType, UXOpenGLRenderDevice* GL, FShaderWriterX& Out); - BOOL DepthTesting; + UBOOL DepthTesting; }; // @@ -1912,16 +1912,16 @@ class UXOpenGLRenderDevice : public URenderDevice // // Textures/Sampler Management // - static BOOL WillBlendStateChange(DWORD OldPolyFlags, DWORD NewPolyFlags); - BOOL WillTextureStateChange(INT Multi, FTextureInfo& Info, DWORD PolyFlags); - FCachedTexture* GetCachedTextureInfo(INT Multi, FTextureInfo& Info, DWORD PolyFlags, BOOL& IsResidentBindlessTexture, BOOL& IsBoundToTMU, BOOL& IsTextureDataStale, BOOL ShouldResetStaleState); + static UBOOL WillBlendStateChange(DWORD OldPolyFlags, DWORD NewPolyFlags); + UBOOL WillTextureStateChange(INT Multi, FTextureInfo& Info, DWORD PolyFlags); + FCachedTexture* GetCachedTextureInfo(INT Multi, FTextureInfo& Info, DWORD PolyFlags, UBOOL& IsResidentBindlessTexture, UBOOL& IsBoundToTMU, UBOOL& IsTextureDataStale, UBOOL ShouldResetStaleState); void SetTexture(INT Multi, FTextureInfo& Info, DWORD PolyFlags, FLOAT PanBias); void SetNoTexture(INT Multi); - DWORD GetPolyFlagsAndShaderOptions(DWORD PolyFlags, DWORD& Options, BOOL RemoveOccludeIfSolid); + DWORD GetPolyFlagsAndShaderOptions(DWORD PolyFlags, DWORD& Options, UBOOL RemoveOccludeIfSolid); void SetBlend(DWORD PolyFlags, bool InverseOrder); DWORD SetDepth(DWORD LineFlags); void SetSampler(GLuint Sampler, FTextureInfo& Info, UBOOL SkipMipmaps, UBOOL IsLightOrFogMap, UBOOL NoSmooth); - BOOL UploadTexture(FTextureInfo& Info, FCachedTexture* Bind, DWORD PolyFlags, BOOL IsFirstUpload, BOOL IsBindlessTexture, BOOL PartialUpload=FALSE, INT U=0, INT V=0, INT UL=0, INT VL=0, BYTE* TextureData=nullptr); + UBOOL UploadTexture(FTextureInfo& Info, FCachedTexture* Bind, DWORD PolyFlags, UBOOL IsFirstUpload, UBOOL IsBindlessTexture, UBOOL PartialUpload=0, INT U=0, INT V=0, INT UL=0, INT VL=0, BYTE* TextureData=nullptr); void GenerateTextureAndSampler(FCachedTexture* Bind); void BindTextureAndSampler(INT Multi, FCachedTexture* Bind); diff --git a/Src/SetTexture.cpp b/Src/SetTexture.cpp index 2947cbd..2eac536 100755 --- a/Src/SetTexture.cpp +++ b/Src/SetTexture.cpp @@ -44,10 +44,10 @@ UXOpenGLRenderDevice::GetCachedTextureInfo INT Multi, FTextureInfo& Info, DWORD PolyFlags, - BOOL& IsResidentBindlessTexture, - BOOL& IsBoundToTMU, - BOOL& IsTextureDataStale, - BOOL ShouldResetStaleState + UBOOL& IsResidentBindlessTexture, + UBOOL& IsBoundToTMU, + UBOOL& IsTextureDataStale, + UBOOL ShouldResetStaleState ) { FixCacheID(Info, PolyFlags); @@ -96,9 +96,9 @@ UXOpenGLRenderDevice::GetCachedTextureInfo return Result; } -BOOL UXOpenGLRenderDevice::WillTextureStateChange(INT Multi, FTextureInfo& Info, DWORD PolyFlags) +UBOOL UXOpenGLRenderDevice::WillTextureStateChange(INT Multi, FTextureInfo& Info, DWORD PolyFlags) { - BOOL IsResidentBindlessTexture = FALSE, IsBoundToTMU = FALSE, IsTextureDataStale = FALSE; + UBOOL IsResidentBindlessTexture = FALSE, IsBoundToTMU = FALSE, IsTextureDataStale = FALSE; GetCachedTextureInfo(Multi, Info, PolyFlags, IsResidentBindlessTexture, IsBoundToTMU, IsTextureDataStale, FALSE); // We need to re-upload a texture we're currently using @@ -254,7 +254,7 @@ void UXOpenGLRenderDevice::SetSampler(GLuint Sampler, FTextureInfo& Info, UBOOL static FName UserInterface = FName(TEXT("UserInterface"), FNAME_Intrinsic); #endif -BOOL UXOpenGLRenderDevice::UploadTexture(FTextureInfo& Info, FCachedTexture* Bind, DWORD PolyFlags, BOOL IsFirstUpload, BOOL IsBindlessTexture, BOOL PartialUpload, INT U, INT V, INT UL, INT VL, BYTE* TextureData) +UBOOL UXOpenGLRenderDevice::UploadTexture(FTextureInfo& Info, FCachedTexture* Bind, DWORD PolyFlags, UBOOL IsFirstUpload, UBOOL IsBindlessTexture, UBOOL PartialUpload, INT U, INT V, INT UL, INT VL, BYTE* TextureData) { bool UnsupportedTexture = false; @@ -732,7 +732,7 @@ void UXOpenGLRenderDevice::SetTexture(INT Multi, FTextureInfo& Info, DWORD PolyF STAT(clockFast(Stats.BindCycles)); // Check if the texture is already bound to the correct TMU - BOOL IsResidentBindlessTexture = FALSE, IsBoundToTMU = FALSE, IsTextureDataStale = FALSE; + UBOOL IsResidentBindlessTexture = FALSE, IsBoundToTMU = FALSE, IsTextureDataStale = FALSE; FCachedTexture* Bind = GetCachedTextureInfo(Multi, Info, PolyFlags, IsResidentBindlessTexture, IsBoundToTMU, IsTextureDataStale, TRUE); // Bail out early if the texture is fully up-to-date @@ -804,7 +804,7 @@ void UXOpenGLRenderDevice::SetTexture(INT Multi, FTextureInfo& Info, DWORD PolyF unguard; } -DWORD UXOpenGLRenderDevice::GetPolyFlagsAndShaderOptions(DWORD PolyFlags, DWORD& Options, BOOL RemoveOccludeIfSolid) +DWORD UXOpenGLRenderDevice::GetPolyFlagsAndShaderOptions(DWORD PolyFlags, DWORD& Options, UBOOL RemoveOccludeIfSolid) { if ((PolyFlags & (PF_RenderFog | PF_Translucent)) != PF_RenderFog) PolyFlags &= ~PF_RenderFog; @@ -949,7 +949,7 @@ void UXOpenGLRenderDevice::SetBlend(DWORD PolyFlags, bool InverseOrder) unguard; } -BOOL UXOpenGLRenderDevice::WillBlendStateChange(DWORD OldPolyFlags, DWORD NewPolyFlags) +UBOOL UXOpenGLRenderDevice::WillBlendStateChange(DWORD OldPolyFlags, DWORD NewPolyFlags) { // stijn: returns true if the polyflag switch will cause a change in the blending mode return ((OldPolyFlags ^ NewPolyFlags) & (PF_TwoSided | PF_RenderHint | PF_Translucent | PF_Modulated | PF_Invisible | PF_AlphaBlend | PF_Occlude | PF_Highlighted | PF_RenderFog | PF_Selected)) ? TRUE : FALSE; From 815cdd95cad0fbe15a689f5545a9e745e4a565c7 Mon Sep 17 00:00:00 2001 From: Fighter19 <1475802+Fighter19@users.noreply.github.com> Date: Sun, 15 Sep 2024 22:13:13 +0200 Subject: [PATCH 2/4] Replace all occurences of %ls with %s --- Inc/XOpenGL.h | 2 +- Src/CheckExtensions.cpp | 2 +- Src/DebugLog.cpp | 8 +-- Src/ShaderProgram.cpp | 36 +++++++------- Src/XOpenGL.cpp | 106 ++++++++++++++++++++-------------------- XOpenGLDrv.int | 4 +- 6 files changed, 79 insertions(+), 79 deletions(-) diff --git a/Inc/XOpenGL.h b/Inc/XOpenGL.h index 5ca98da..6bd074a 100755 --- a/Inc/XOpenGL.h +++ b/Inc/XOpenGL.h @@ -320,7 +320,7 @@ inline int CheckGLError(const char* file, int line) case GL_STACK_UNDERFLOW: Msg = TEXT("GL_STACK_UNDERFLOW"); break; case GL_OUT_OF_MEMORY: Msg = TEXT("GL_OUT_OF_MEMORY"); break; }; - GWarn->Logf(TEXT("XOpenGL Error: %ls (%i) file %ls at line %i"), Msg, glErr, appFromAnsi(file), line); + GWarn->Logf(TEXT("XOpenGL Error: %s (%i) file %s at line %i"), Msg, glErr, appFromAnsi(file), line); } return 1; } diff --git a/Src/CheckExtensions.cpp b/Src/CheckExtensions.cpp index 3d1013f..69586a7 100755 --- a/Src/CheckExtensions.cpp +++ b/Src/CheckExtensions.cpp @@ -21,7 +21,7 @@ UBOOL UXOpenGLRenderDevice::GLExtensionSupported(FString ExtensionName) #if SDL2BUILD return SDL_GL_ExtensionSupported(appToAnsi(*ExtensionName)); #else - return AllExtensions.InStr(*FString::Printf(TEXT("%ls "), *ExtensionName)) != -1; + return AllExtensions.InStr(*FString::Printf(TEXT("%s "), *ExtensionName)) != -1; #endif } diff --git a/Src/DebugLog.cpp b/Src/DebugLog.cpp index 3aea2a1..779bc81 100755 --- a/Src/DebugLog.cpp +++ b/Src/DebugLog.cpp @@ -51,19 +51,19 @@ void UXOpenGLRenderDevice::DebugCallback(unsigned int source, unsigned int type, { case GL_DEBUG_SEVERITY_LOW: if (LogLevel >= 2) - debugf(TEXT("XOpenGL DebugLog: In source %ls, type %ls, id %i, severity : LOW, message %ls "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); + debugf(TEXT("XOpenGL DebugLog: In source %s, type %s, id %i, severity : LOW, message %s "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); break; case GL_DEBUG_SEVERITY_MEDIUM: if (LogLevel >= 1) - debugf(TEXT("XOpenGL DebugLog: In source %ls, type %ls, id %i, severity : MEDIUM, message %ls "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); + debugf(TEXT("XOpenGL DebugLog: In source %s, type %s, id %i, severity : MEDIUM, message %s "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); break; case GL_DEBUG_SEVERITY_HIGH: if (LogLevel >= 0) - debugf(TEXT("XOpenGL DebugLog: In source %ls, type %ls, id %i, severity : HIGH, message %ls "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); + debugf(TEXT("XOpenGL DebugLog: In source %s, type %s, id %i, severity : HIGH, message %s "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); break; default: if (LogLevel >= 3) - debugf(TEXT("XOpenGL DebugLog: In source %ls, type %ls, id %i, severity : NONE, message %ls "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); + debugf(TEXT("XOpenGL DebugLog: In source %s, type %s, id %i, severity : NONE, message %s "),*SourceMessage, *TypeMessage, id, appFromAnsi(message)); break; } } diff --git a/Src/ShaderProgram.cpp b/Src/ShaderProgram.cpp index be72d3a..dc46f09 100644 --- a/Src/ShaderProgram.cpp +++ b/Src/ShaderProgram.cpp @@ -289,7 +289,7 @@ static void GetTypeInfo(const char* TypeName, INT& SizeBytes, INT& Components) Components = 1; } else - appErrorf(TEXT("Unknown GLSL type: %ls"), appFromAnsi(TypeName)); + appErrorf(TEXT("Unknown GLSL type: %s"), appFromAnsi(TypeName)); } INT UXOpenGLRenderDevice::ShaderProgram::GetMaximumUniformBufferSize(const DrawCallParameterInfo* Info) const @@ -403,9 +403,9 @@ void UXOpenGLRenderDevice::ShaderProgram::BindUniform(ShaderSpecialization* Spec const GLuint BlockIndex = glGetUniformBlockIndex(Specialization->ShaderProgramObject, Name); if (BlockIndex == GL_INVALID_INDEX) { - debugf(NAME_DevGraphics, TEXT("XOpenGL: invalid or unused shader var (UniformBlockIndex) %ls in %ls"), appFromAnsi(Name), ShaderName); + debugf(NAME_DevGraphics, TEXT("XOpenGL: invalid or unused shader var (UniformBlockIndex) %s in %s"), appFromAnsi(Name), ShaderName); if (RenDev->UseOpenGLDebug && LogLevel >= 2) - debugf(TEXT("XOpenGL: invalid or unused shader var (UniformBlockIndex) %ls in %ls"), appFromAnsi(Name), ShaderName); + debugf(TEXT("XOpenGL: invalid or unused shader var (UniformBlockIndex) %s in %s"), appFromAnsi(Name), ShaderName); } glUniformBlockBinding(Specialization->ShaderProgramObject, BlockIndex, BindingIndex); } @@ -415,9 +415,9 @@ void UXOpenGLRenderDevice::ShaderProgram::GetUniformLocation(ShaderSpecializatio Uniform = glGetUniformLocation(Specialization->ShaderProgramObject, Name); if (Uniform == GL_INVALID_INDEX) { - debugf(NAME_DevGraphics, TEXT("XOpenGL: invalid or unused shader var (UniformLocation) %ls in %ls"), appFromAnsi(Name), ShaderName); + debugf(NAME_DevGraphics, TEXT("XOpenGL: invalid or unused shader var (UniformLocation) %s in %s"), appFromAnsi(Name), ShaderName); if (RenDev->UseOpenGLDebug && LogLevel >= 2) - debugf(TEXT("XOpenGL: invalid or unused shader var (UniformLocation) %ls in %ls"), appFromAnsi(Name), ShaderName); + debugf(TEXT("XOpenGL: invalid or unused shader var (UniformLocation) %s in %s"), appFromAnsi(Name), ShaderName); } } @@ -446,7 +446,7 @@ static void DumpShader(const char* Source, bool AddLineNumbers) if (Line.InStr(TEXT("#line 1")) == 0) LineNum = 0; if (AddLineNumbers) - Lines.AddItem(FString::Printf(TEXT("%03d:\t%ls"), LineNum++, *Line)); + Lines.AddItem(FString::Printf(TEXT("%03d:\t%s"), LineNum++, *Line)); else Lines.AddItem(*Line); if (NewLine == -1) @@ -455,7 +455,7 @@ static void DumpShader(const char* Source, bool AddLineNumbers) } debugf(TEXT("XOpenGL: Shader Source:")); for (INT i = 0; i < Lines.Num(); ++i) - debugf(TEXT("%ls"), *Lines(i)); + debugf(TEXT("%s"), *Lines(i)); } bool UXOpenGLRenderDevice::ShaderProgram::CompileShaderFunction(GLuint ShaderFunctionObject, GLuint FunctionType, ShaderOptions Options, ShaderWriterFunc Func, bool HaveGeoShader) @@ -481,13 +481,13 @@ bool UXOpenGLRenderDevice::ShaderProgram::CompileShaderFunction(GLuint ShaderFun glGetShaderiv(ShaderFunctionObject, GL_COMPILE_STATUS, &IsCompiled); if (!IsCompiled) { - GWarn->Logf(TEXT("XOpenGL: Failed compiling %ls %ls Shader (Options %ls)"), ShaderName, ShaderTypeString(FunctionType), *Options.GetShortString()); + GWarn->Logf(TEXT("XOpenGL: Failed compiling %s %s Shader (Options %s)"), ShaderName, ShaderTypeString(FunctionType), *Options.GetShortString()); glGetShaderiv(ShaderFunctionObject, GL_INFO_LOG_LENGTH, &blen); if (blen > 1) { GLchar* compiler_log = new GLchar[blen + 1]; glGetShaderInfoLog(ShaderFunctionObject, blen, &slen, compiler_log); - debugf(TEXT("XOpenGL: ErrorLog compiling %ls %ls"), ShaderName, appFromAnsi(compiler_log)); + debugf(TEXT("XOpenGL: ErrorLog compiling %s %s"), ShaderName, appFromAnsi(compiler_log)); delete[] compiler_log; } @@ -501,10 +501,10 @@ bool UXOpenGLRenderDevice::ShaderProgram::CompileShaderFunction(GLuint ShaderFun { GLchar* compiler_log = new GLchar[blen + 1]; glGetShaderInfoLog(ShaderFunctionObject, blen, &slen, compiler_log); - debugf(NAME_DevGraphics, TEXT("XOpenGL: Log compiling %ls %ls"), ShaderName, appFromAnsi(compiler_log)); + debugf(NAME_DevGraphics, TEXT("XOpenGL: Log compiling %s %s"), ShaderName, appFromAnsi(compiler_log)); delete[] compiler_log; } - else debugf(NAME_DevGraphics, TEXT("XOpenGL: No compiler messages for %ls %ls Shader (Options %ls)"), ShaderName, ShaderTypeString(FunctionType), *Options.GetShortString()); + else debugf(NAME_DevGraphics, TEXT("XOpenGL: No compiler messages for %s %s Shader (Options %s)"), ShaderName, ShaderTypeString(FunctionType), *Options.GetShortString()); } return Result; @@ -523,7 +523,7 @@ bool UXOpenGLRenderDevice::ShaderProgram::LinkShaderProgram(GLuint ShaderProgram if (!IsLinked) { - GWarn->Logf(TEXT("XOpenGL: Failed linking %ls"), ShaderName); + GWarn->Logf(TEXT("XOpenGL: Failed linking %s"), ShaderName); Result = false; } @@ -532,10 +532,10 @@ bool UXOpenGLRenderDevice::ShaderProgram::LinkShaderProgram(GLuint ShaderProgram { GLchar* linker_log = new GLchar[blen + 1]; glGetProgramInfoLog(ShaderProgramObject, blen, &slen, linker_log); - debugf(TEXT("XOpenGL: Log linking %ls %ls"), ShaderName, appFromAnsi(linker_log)); + debugf(TEXT("XOpenGL: Log linking %s %s"), ShaderName, appFromAnsi(linker_log)); delete[] linker_log; } - else debugf(NAME_DevGraphics, TEXT("XOpenGL: No linker messages for %ls"), ShaderName); + else debugf(NAME_DevGraphics, TEXT("XOpenGL: No linker messages for %s"), ShaderName); CHECK_GL_ERROR(); return Result; @@ -652,7 +652,7 @@ void UXOpenGLRenderDevice::ShaderProgram::BindShaderState(ShaderSpecialization* BindUniform(Specialization, EditorStateIndex, "EditorState"); if (!UseSSBOParametersBuffer) - BindUniform(Specialization, ParametersBufferBindingIndex, appToAnsi(*FString::Printf(TEXT("All%lsShaderDrawParams"), ShaderName))); + BindUniform(Specialization, ParametersBufferBindingIndex, appToAnsi(*FString::Printf(TEXT("All%sShaderDrawParams"), ShaderName))); // Bind regular texture samplers to their respective TMUs check(NumTextureSamplers >= 0 && NumTextureSamplers < 9); @@ -689,7 +689,7 @@ void UXOpenGLRenderDevice::ShaderProgram::SelectShaderSpecialization(ShaderOptio Specializations.Set(Options, Specialization); Specialization->Options = Options; - Specialization->SpecializationName = FString::Printf(TEXT("%ls%ls"), ShaderName, *Options.GetShortString()); + Specialization->SpecializationName = FString::Printf(TEXT("%s%s"), ShaderName, *Options.GetShortString()); check(BuildShaderProgram(Specialization, VertexShaderFunc, GeoShaderFunc, FragmentShaderFunc)); @@ -771,7 +771,7 @@ FString UXOpenGLRenderDevice::ShaderOptions::GetStringHelper(void (*AddOptionFun { FString Result; #define ADD_OPTION(x) \ -AddOptionFunc(Result, L ## #x, (OptionsMask & x) ? true : false); +AddOptionFunc(Result, TEXT(#x), (OptionsMask & x) ? true : false); ADD_OPTION(OPT_DiffuseTexture) ADD_OPTION(OPT_LightMap) @@ -812,7 +812,7 @@ FString UXOpenGLRenderDevice::ShaderOptions::GetShortString() const FString UXOpenGLRenderDevice::ShaderOptions::GetPreprocessorString() const { return GetStringHelper([](FString& Result, const TCHAR* OptionName, bool IsSet) { - Result += FString::Printf(TEXT("#define %ls %d\n"), OptionName, IsSet ? 1 : 0); + Result += FString::Printf(TEXT("#define %s %d\n"), OptionName, IsSet ? 1 : 0); }); } diff --git a/Src/XOpenGL.cpp b/Src/XOpenGL.cpp index adeb3fb..2126408 100755 --- a/Src/XOpenGL.cpp +++ b/Src/XOpenGL.cpp @@ -326,7 +326,7 @@ UBOOL UXOpenGLRenderDevice::Init(UViewport* InViewport, INT NewX, INT NewY, INT debugf(NAME_DevLoad, TEXT("GammaCorrectScreenshots %i"), GammaCorrectScreenshots); debugf(NAME_DevLoad, TEXT("MacroTextures %i"), MacroTextures); debugf(NAME_DevLoad, TEXT("BumpMaps %i"), BumpMaps); - debugf(NAME_DevLoad, TEXT("ParallaxVersion %i (%ls)"),ParallaxVersion, ParallaxVersion == Parallax_Basic ? TEXT("Basic") : ParallaxVersion == Parallax_Occlusion ? TEXT("Occlusion") : ParallaxVersion == Parallax_Relief ? TEXT("Relief") : TEXT("Disabled")); + debugf(NAME_DevLoad, TEXT("ParallaxVersion %i (%s)"),ParallaxVersion, ParallaxVersion == Parallax_Basic ? TEXT("Basic") : ParallaxVersion == Parallax_Occlusion ? TEXT("Occlusion") : ParallaxVersion == Parallax_Relief ? TEXT("Relief") : TEXT("Disabled")); debugf(NAME_DevLoad, TEXT("EnvironmentMaps %i"), EnvironmentMaps); debugf(NAME_DevLoad, TEXT("NoAATiles %i"), NoAATiles); debugf(NAME_DevLoad, TEXT("GenerateMipMaps %i"), GenerateMipMaps); @@ -551,7 +551,7 @@ UBOOL UXOpenGLRenderDevice::SetSDLAttributes() SDLError = SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, (OpenGLVersion == GL_ES) ? SDL_GL_CONTEXT_PROFILE_ES : SDL_GL_CONTEXT_PROFILE_CORE); if (SDLError != 0) - debugf(NAME_DevLoad, TEXT("XOpenGL: SDL Error in SetSDLAttributes (probably non fatal): %ls"), appFromAnsi(SDL_GetError())); + debugf(NAME_DevLoad, TEXT("XOpenGL: SDL Error in SetSDLAttributes (probably non fatal): %s"), appFromAnsi(SDL_GetError())); return !SDLError; unguard; @@ -621,7 +621,7 @@ UBOOL UXOpenGLRenderDevice::CreateOpenGLContext(UViewport* Viewport, INT NewColo SDLError = SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, MinorVersion); if (SDLError != 0) - debugf(NAME_DevLoad, TEXT("XOpenGL: SDL Error in CreateOpenGLContext (probably non fatal): %ls"), appFromAnsi(SDL_GetError())); + debugf(NAME_DevLoad, TEXT("XOpenGL: SDL Error in CreateOpenGLContext (probably non fatal): %s"), appFromAnsi(SDL_GetError())); // not checking for any existing SDL context, create a new one, since using // SDL for splash already and it's getting confused. @@ -639,14 +639,14 @@ UBOOL UXOpenGLRenderDevice::CreateOpenGLContext(UViewport* Viewport, INT NewColo if (glContext == NULL) { - appErrorf(TEXT("XOpenGL: SDL Error in CreateOpenGLContext: %ls"), appFromAnsi(SDL_GetError())); + appErrorf(TEXT("XOpenGL: SDL Error in CreateOpenGLContext: %s"), appFromAnsi(SDL_GetError())); if (OpenGLVersion == GL_Core) { if (UseBindlessTextures || UsePersistentBuffers || UseShaderDrawParameters) { if (MajorVersion == 3 && MinorVersion == 3) // already 3.3 { - appErrorf(TEXT("XOpenGL: Failed to init minimum OpenGL (%i.%i context). SDL_GL_CreateContext: %ls"), MajorVersion, MinorVersion, appFromAnsi(SDL_GetError())); + appErrorf(TEXT("XOpenGL: Failed to init minimum OpenGL (%i.%i context). SDL_GL_CreateContext: %s"), MajorVersion, MinorVersion, appFromAnsi(SDL_GetError())); return 0; } else @@ -682,16 +682,16 @@ UBOOL UXOpenGLRenderDevice::CreateOpenGLContext(UViewport* Viewport, INT NewColo gladLoadGLLoader(SDL_GL_GetProcAddress); Description = appFromAnsi((const ANSICHAR *)glGetString(GL_RENDERER)); - debugf(NAME_Init, TEXT("GL_VENDOR : %ls"), appFromAnsi((const ANSICHAR *)glGetString(GL_VENDOR))); - debugf(NAME_Init, TEXT("GL_RENDERER : %ls"), appFromAnsi((const ANSICHAR *)glGetString(GL_RENDERER))); - debugf(NAME_Init, TEXT("GL_VERSION : %ls"), appFromAnsi((const ANSICHAR *)glGetString(GL_VERSION))); - debugf(NAME_Init, TEXT("GL_SHADING_LANGUAGE_VERSION : %ls"), appFromAnsi((const ANSICHAR *)glGetString(GL_SHADING_LANGUAGE_VERSION))); + debugf(NAME_Init, TEXT("GL_VENDOR : %s"), appFromAnsi((const ANSICHAR *)glGetString(GL_VENDOR))); + debugf(NAME_Init, TEXT("GL_RENDERER : %s"), appFromAnsi((const ANSICHAR *)glGetString(GL_RENDERER))); + debugf(NAME_Init, TEXT("GL_VERSION : %s"), appFromAnsi((const ANSICHAR *)glGetString(GL_VERSION))); + debugf(NAME_Init, TEXT("GL_SHADING_LANGUAGE_VERSION : %s"), appFromAnsi((const ANSICHAR *)glGetString(GL_SHADING_LANGUAGE_VERSION))); glGetIntegerv(GL_NUM_EXTENSIONS, &NumberOfExtensions); for (INT i = 0; iSetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("Description"), *FString::Printf(TEXT("%ls"), *Description)); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("Description"), *FString::Printf(TEXT("%s"), *Description)); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawSimple"), *GetTrueFalse(NoDrawSimple)); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawTile"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoDrawTile))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawGouraudList"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoDrawGouraudList))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawGouraud"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoDrawGouraud))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawComplexSurface"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoDrawComplexSurface))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseOpenGLDebug"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseOpenGLDebug))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseHWClipping"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseHWClipping))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseHWLighting"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseHWLighting))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseBindlessTextures"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseBindlessTextures))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseShaderDrawParameters"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseShaderDrawParameters))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UsePersistentBuffers"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UsePersistentBuffers))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GenerateMipMaps"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(GenerateMipMaps))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseBufferInvalidation"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseBufferInvalidation))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoAATiles"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoAATiles))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("DetailTextures"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(DetailTextures))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("MacroTextures"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(MacroTextures))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("BumpMaps"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(BumpMaps))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ParallaxVersion"), *FString::Printf(TEXT("%ls"), ParallaxVersion == Parallax_Basic ? TEXT("Basic") : ParallaxVersion == Parallax_Occlusion ? TEXT("Occlusion") : ParallaxVersion == Parallax_Relief ? TEXT("Relief") : TEXT("None"))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GammaCorrectScreenshots"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(GammaCorrectScreenshots))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseAA"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseAA))); - //GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseAASmoothing"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseAASmoothing))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseTrilinear"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseTrilinear))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UsePrecache"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UsePrecache))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("AlwaysMipmap"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(AlwaysMipmap))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ShareLists"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(ShareLists))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoFiltering"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(NoFiltering))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("HighDetailActors"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(HighDetailActors))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("Coronas"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(Coronas))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ShinySurfaces"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(ShinySurfaces))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("VolumetricLighting"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(VolumetricLighting))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("SimulateMultiPass"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(SimulateMultiPass))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawTile"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoDrawTile))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawGouraudList"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoDrawGouraudList))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawGouraud"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoDrawGouraud))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoDrawComplexSurface"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoDrawComplexSurface))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseOpenGLDebug"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseOpenGLDebug))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseHWClipping"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseHWClipping))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseHWLighting"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseHWLighting))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseBindlessTextures"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseBindlessTextures))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseShaderDrawParameters"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseShaderDrawParameters))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UsePersistentBuffers"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UsePersistentBuffers))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GenerateMipMaps"), *FString::Printf(TEXT("%s"), *GetTrueFalse(GenerateMipMaps))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseBufferInvalidation"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseBufferInvalidation))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoAATiles"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoAATiles))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("DetailTextures"), *FString::Printf(TEXT("%s"), *GetTrueFalse(DetailTextures))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("MacroTextures"), *FString::Printf(TEXT("%s"), *GetTrueFalse(MacroTextures))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("BumpMaps"), *FString::Printf(TEXT("%s"), *GetTrueFalse(BumpMaps))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ParallaxVersion"), *FString::Printf(TEXT("%s"), ParallaxVersion == Parallax_Basic ? TEXT("Basic") : ParallaxVersion == Parallax_Occlusion ? TEXT("Occlusion") : ParallaxVersion == Parallax_Relief ? TEXT("Relief") : TEXT("None"))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GammaCorrectScreenshots"), *FString::Printf(TEXT("%s"), *GetTrueFalse(GammaCorrectScreenshots))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseAA"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseAA))); + //GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseAASmoothing"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseAASmoothing))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseTrilinear"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseTrilinear))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UsePrecache"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UsePrecache))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("AlwaysMipmap"), *FString::Printf(TEXT("%s"), *GetTrueFalse(AlwaysMipmap))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ShareLists"), *FString::Printf(TEXT("%s"), *GetTrueFalse(ShareLists))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("NoFiltering"), *FString::Printf(TEXT("%s"), *GetTrueFalse(NoFiltering))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("HighDetailActors"), *FString::Printf(TEXT("%s"), *GetTrueFalse(HighDetailActors))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("Coronas"), *FString::Printf(TEXT("%s"), *GetTrueFalse(Coronas))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ShinySurfaces"), *FString::Printf(TEXT("%s"), *GetTrueFalse(ShinySurfaces))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("VolumetricLighting"), *FString::Printf(TEXT("%s"), *GetTrueFalse(VolumetricLighting))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("SimulateMultiPass"), *FString::Printf(TEXT("%s"), *GetTrueFalse(SimulateMultiPass))); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("MaxAnisotropy"), *FString::Printf(TEXT("%f"), MaxAnisotropy)); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("LODBias"), *FString::Printf(TEXT("%f"), LODBias)); @@ -2159,17 +2159,17 @@ void UXOpenGLRenderDevice::Exit() GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("RefreshRate"), *FString::Printf(TEXT("%i"), RefreshRate)); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("DescFlags"), *FString::Printf(TEXT("%i"), DescFlags)); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseVSync"), *FString::Printf(TEXT("%ls"), UseVSync == VS_Off ? TEXT("Off") : UseVSync == VS_On ? TEXT("On") : TEXT("Adaptive"))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("OpenGLVersion"), *FString::Printf(TEXT("%ls"), OpenGLVersion == GL_Core ? TEXT("Core") : TEXT("ES"))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseVSync"), *FString::Printf(TEXT("%s"), UseVSync == VS_Off ? TEXT("Off") : UseVSync == VS_On ? TEXT("On") : TEXT("Adaptive"))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("OpenGLVersion"), *FString::Printf(TEXT("%s"), OpenGLVersion == GL_Core ? TEXT("Core") : TEXT("ES"))); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GammaMultiplier"), *FString::Printf(TEXT("%f"), GammaMultiplier)); GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("GammaMultiplierUED"), *FString::Printf(TEXT("%f"), GammaMultiplierUED)); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("OneXBlending"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(OneXBlending))); - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ActorXBlending"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(ActorXBlending))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("OneXBlending"), *FString::Printf(TEXT("%s"), *GetTrueFalse(OneXBlending))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("ActorXBlending"), *FString::Printf(TEXT("%s"), *GetTrueFalse(ActorXBlending))); #if UNREAL_TOURNAMENT_OLDUNREAL && !defined(__LINUX_ARM__) - GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseLightmapAtlas"), *FString::Printf(TEXT("%ls"), *GetTrueFalse(UseLightmapAtlas))); + GConfig->SetString(TEXT("XOpenGLDrv.XOpenGLRenderDevice"), TEXT("UseLightmapAtlas"), *FString::Printf(TEXT("%s"), *GetTrueFalse(UseLightmapAtlas))); #endif unguard; } diff --git a/XOpenGLDrv.int b/XOpenGLDrv.int index 78ca805..eeaa1db 100644 --- a/XOpenGLDrv.int +++ b/XOpenGLDrv.int @@ -4,8 +4,8 @@ Preferences=(Caption="XOpenGL Support",Parent="Rendering",Class=XOpenGLDrv.XOpen Preferences=(Caption="Debug Options",Parent="XOpenGL Support",Class=XOpenGLDrv.XOpenGLRenderDevice,Immediate=True, Category="DebugOptions") [Errors] -NoFindGL="Can't find OpenGL driver %ls" -MissingFunc="Missing OpenGL function %ls (%i)" +NoFindGL="Can't find OpenGL driver %s" +MissingFunc="Missing OpenGL function %s (%i)" ResFailed="Failed to set resolution" [XOpenGLRenderDevice] From 61f4f9bd16c773e878e0c7a6bd65ac6b57ec3c83 Mon Sep 17 00:00:00 2001 From: Fighter19 <1475802+Fighter19@users.noreply.github.com> Date: Sun, 15 Sep 2024 22:13:13 +0200 Subject: [PATCH 3/4] Always use MakeCurrent in SDL builds SDL changes the current context for the destruction of the Splash Window on CloseSplash and sets it to NULL instead of restoring it on Linux, as of SDL2 0.18.2. This will lead subsequent GL calls to fail --- Src/XOpenGL.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Src/XOpenGL.cpp b/Src/XOpenGL.cpp index 2126408..d989cf5 100755 --- a/Src/XOpenGL.cpp +++ b/Src/XOpenGL.cpp @@ -967,14 +967,11 @@ void UXOpenGLRenderDevice::MakeCurrent() { guard(UOpenGLRenderDevice::MakeCurrent); #ifdef SDL2BUILD - if (!CurrentGLContext || CurrentGLContext != glContext) - { - //debugf(TEXT("XOpenGL: MakeCurrent")); - INT Result = SDL_GL_MakeCurrent(Window, glContext); - if (Result != 0) - debugf(TEXT("XOpenGL: MakeCurrent failed with: %s\n"), appFromAnsi(SDL_GetError())); - CurrentGLContext = glContext; - } + //debugf(TEXT("XOpenGL: MakeCurrent")); + INT Result = SDL_GL_MakeCurrent(Window, glContext); + if (Result != 0) + debugf(TEXT("XOpenGL: MakeCurrent failed with: %s\n"), appFromAnsi(SDL_GetError())); + CurrentGLContext = glContext; #else if (!hRC && !CurrentGLContext) appErrorf(TEXT("No valid GL Context!")); From 3d7581a7f0db567ab7d376a1f707f843bb2beea6 Mon Sep 17 00:00:00 2001 From: Fighter19 <1475802+Fighter19@users.noreply.github.com> Date: Wed, 18 Sep 2024 09:21:16 +0000 Subject: [PATCH 4/4] Add FALSE and TRUE defines for Linux --- Inc/XOpenGL.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Inc/XOpenGL.h b/Inc/XOpenGL.h index 6bd074a..899198a 100755 --- a/Inc/XOpenGL.h +++ b/Inc/XOpenGL.h @@ -41,6 +41,8 @@ #endif #else #define SDL2BUILD 1 + #define FALSE 0 + #define TRUE 1 extern "C" { #include "glad.h"