From 351de94311fef64d9c45e1341f36c4d5bec957ad Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Sun, 19 Nov 2017 04:45:42 -0500 Subject: [PATCH 1/4] - fixed: Accidentally committed in-progress work... again Partial Revert "- fixed: Made shader targets not case sensitive" This reverts commit 2c24d2e047772e8becd344b9152abaaac8c39da3. --- src/gl/renderer/gl_renderstate.cpp | 9 +-------- src/gl/shaders/gl_shader.cpp | 1 - 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/gl/renderer/gl_renderstate.cpp b/src/gl/renderer/gl_renderstate.cpp index 887de5276..67c9c21fa 100644 --- a/src/gl/renderer/gl_renderstate.cpp +++ b/src/gl/renderer/gl_renderstate.cpp @@ -143,12 +143,6 @@ bool FRenderState::ApplyShader() } } - if (!activeShader) - { - assert(0); // We should not be getting to this point! - return false; - } - glVertexAttrib4fv(VATTR_COLOR, mColor.vec); glVertexAttrib4fv(VATTR_NORMAL, mNormal.vec); //activeShader->muObjectColor2.Set(mObjectColor2); @@ -373,8 +367,7 @@ void FRenderState::ApplyLightIndex(int index) { index = GLRenderer->mLights->BindUBO(index); } - if (activeShader) - activeShader->muLightIndex.Set(index); + activeShader->muLightIndex.Set(index); } } diff --git a/src/gl/shaders/gl_shader.cpp b/src/gl/shaders/gl_shader.cpp index 6c9ee416d..41b6c18a1 100644 --- a/src/gl/shaders/gl_shader.cpp +++ b/src/gl/shaders/gl_shader.cpp @@ -682,7 +682,6 @@ void gl_ParseHardwareShader(FScanner &sc, int deflump) PostProcessShader shaderdesc; shaderdesc.Target = sc.String; - shaderdesc.Target.ToLower(); bool validTarget = false; if (sc.Compare("beforebloom")) validTarget = true; From de19efa79d64cf2a9f3cd06b829cce276e5b59e2 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Sun, 19 Nov 2017 04:48:26 -0500 Subject: [PATCH 2/4] - trying again: fix shader targets being case sensitive --- src/gl/shaders/gl_shader.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gl/shaders/gl_shader.cpp b/src/gl/shaders/gl_shader.cpp index 41b6c18a1..6c9ee416d 100644 --- a/src/gl/shaders/gl_shader.cpp +++ b/src/gl/shaders/gl_shader.cpp @@ -682,6 +682,7 @@ void gl_ParseHardwareShader(FScanner &sc, int deflump) PostProcessShader shaderdesc; shaderdesc.Target = sc.String; + shaderdesc.Target.ToLower(); bool validTarget = false; if (sc.Compare("beforebloom")) validTarget = true; From f0dc619b5b3e45739858e83592a85dc0f0022160 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 19 Nov 2017 15:30:45 +0100 Subject: [PATCH 3/4] - fixed bad use of FScanner::GetNumber and GetFloat in code inherited from ZDoomGL. This could lead to bad error messages if some malformed definitions were used. --- src/g_shared/a_dynlightdata.cpp | 4 +- src/gl/shaders/gl_texshader.cpp | 88 ++++++++++++++++----------------- src/textures/texturemanager.cpp | 4 +- 3 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/g_shared/a_dynlightdata.cpp b/src/g_shared/a_dynlightdata.cpp index c45d6fe9f..fcdbcd3d1 100644 --- a/src/g_shared/a_dynlightdata.cpp +++ b/src/g_shared/a_dynlightdata.cpp @@ -269,7 +269,7 @@ extern int ScriptDepth; inline float ParseFloat(FScanner &sc) { - sc.GetFloat(); + sc.MustGetFloat(); return float(sc.Float); } @@ -277,7 +277,7 @@ inline float ParseFloat(FScanner &sc) inline int ParseInt(FScanner &sc) { - sc.GetNumber(); + sc.MustGetNumber(); return sc.Number; } diff --git a/src/gl/shaders/gl_texshader.cpp b/src/gl/shaders/gl_texshader.cpp index f91529909..6276d7a4f 100644 --- a/src/gl/shaders/gl_texshader.cpp +++ b/src/gl/shaders/gl_texshader.cpp @@ -265,11 +265,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc) alpha.ShouldCycle(true); alpha.SetCycleType(ParseCycleType(sc)); - sc.GetFloat(); + sc.MustGetFloat(); start = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); end = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; alpha.SetParams(start, end, cycle); @@ -287,11 +287,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc) srcFactor.ShouldCycle(true); srcFactor.SetCycleType(ParseCycleType(sc)); - sc.GetFloat(); + sc.MustGetFloat(); start = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); end = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; srcFactor.SetParams(start, end, cycle); @@ -309,11 +309,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc) dstFactor.ShouldCycle(true); dstFactor.SetCycleType(ParseCycleType(sc)); - sc.GetFloat(); + sc.MustGetFloat(); start = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); end = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; dstFactor.SetParams(start, end, cycle); @@ -351,23 +351,23 @@ bool FShaderLayer::ParseLayer(FScanner &sc) g.SetCycleType(type); b.SetCycleType(type); - sc.GetFloat(); + sc.MustGetFloat(); r1 = float(sc.Float); - sc.GetFloat(); + sc.MustGetFloat(); g1 = float(sc.Float); - sc.GetFloat(); + sc.MustGetFloat(); b1 = float(sc.Float); // get color2 - sc.GetFloat(); + sc.MustGetFloat(); r2 = float(sc.Float); - sc.GetFloat(); + sc.MustGetFloat(); g2 = float(sc.Float); - sc.GetFloat(); + sc.MustGetFloat(); b2 = float(sc.Float); // get cycle time - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; r.SetParams(r1, r2, cycle); @@ -376,11 +376,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else { - sc.GetFloat(); + sc.MustGetFloat(); r1 = float(sc.Float); - sc.GetFloat(); + sc.MustGetFloat(); g1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); b1 = sc.Float; r.SetParams(r1, r1, 0.f); @@ -390,9 +390,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else if (sc.Compare("center")) { - sc.GetFloat(); + sc.MustGetFloat(); centerX = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); centerY = sc.Float; } else if (sc.Compare("emissive")) @@ -407,17 +407,17 @@ bool FShaderLayer::ParseLayer(FScanner &sc) adjustX.ShouldCycle(true); adjustY.ShouldCycle(true); - sc.GetFloat(); + sc.MustGetFloat(); r1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); r2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; offsetX = r1; @@ -428,9 +428,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else { - sc.GetFloat(); + sc.MustGetFloat(); offsetX = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); offsetY = sc.Float; } } @@ -447,12 +447,12 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else if (sc.Compare("rotate")) { - sc.GetFloat(); + sc.MustGetFloat(); rotate = sc.Float; } else if (sc.Compare("rotation")) { - sc.GetFloat(); + sc.MustGetFloat(); rotation = sc.Float; } else if (sc.Compare("scale")) @@ -462,17 +462,17 @@ bool FShaderLayer::ParseLayer(FScanner &sc) scaleX.ShouldCycle(true); scaleY.ShouldCycle(true); - sc.GetFloat(); + sc.MustGetFloat(); r1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); r2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; scaleX.SetParams(r1, g1, cycle); @@ -480,9 +480,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else { - sc.GetFloat(); + sc.MustGetFloat(); scaleX.SetParams(sc.Float, sc.Float, 0.f); - sc.GetFloat(); + sc.MustGetFloat(); scaleY.SetParams(sc.Float, sc.Float, 0.f); } } @@ -510,15 +510,15 @@ bool FShaderLayer::ParseLayer(FScanner &sc) vectorX.ShouldCycle(true); vectorY.ShouldCycle(true); - sc.GetFloat(); + sc.MustGetFloat(); r1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g1 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); r2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); g2 = sc.Float; - sc.GetFloat(); + sc.MustGetFloat(); cycle = sc.Float; vectorX.SetParams(r1, r2, cycle); @@ -526,9 +526,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc) } else { - sc.GetFloat(); + sc.MustGetFloat(); vectorX.SetParams(sc.Float, sc.Float, 0.f); - sc.GetFloat(); + sc.MustGetFloat(); vectorY.SetParams(sc.Float, sc.Float, 0.f); } } diff --git a/src/textures/texturemanager.cpp b/src/textures/texturemanager.cpp index f7aa4926d..5039f48b6 100644 --- a/src/textures/texturemanager.cpp +++ b/src/textures/texturemanager.cpp @@ -699,9 +699,9 @@ void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname) is32bit = !!sc.Compare("force32bit"); if (!is32bit) sc.UnGet(); - sc.GetNumber(); + sc.MustGetNumber(); width = sc.Number; - sc.GetNumber(); + sc.MustGetNumber(); height = sc.Number; if (lumpnum>=0) From cf9a364f719319666f2260ce6f1cc3236c0ad2db Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sat, 18 Nov 2017 18:22:44 +0200 Subject: [PATCH 4/4] textures for models --- src/gl/models/gl_models.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/gl/models/gl_models.cpp b/src/gl/models/gl_models.cpp index fcad2a95b..a1098706d 100644 --- a/src/gl/models/gl_models.cpp +++ b/src/gl/models/gl_models.cpp @@ -343,14 +343,8 @@ FTextureID LoadSkin(const char * path, const char * fn) buffer.Format("%s%s", path, fn); int texlump = FindGFXFile(buffer); - if (texlump>=0) - { - return TexMan.CheckForTexture(Wads.GetLumpFullName(texlump), FTexture::TEX_Any, FTextureManager::TEXMAN_TryAny); - } - else - { - return FNullTextureID(); - } + const char * const texname = texlump < 0 ? fn : Wads.GetLumpFullName(texlump); + return TexMan.CheckForTexture(texname, FTexture::TEX_Any, FTextureManager::TEXMAN_TryAny); } //===========================================================================