From e2cab652d0bb220995e781ae7affbb13c72f6eee Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sat, 10 Feb 2018 14:46:43 +0100 Subject: [PATCH] - Improve the "#line 1" directive insertion so that errors in all the shaders use line numbers relative to the lump they are referring to --- src/gl/shaders/gl_shader.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gl/shaders/gl_shader.cpp b/src/gl/shaders/gl_shader.cpp index 0dd1c9d2d..05ddaa234 100644 --- a/src/gl/shaders/gl_shader.cpp +++ b/src/gl/shaders/gl_shader.cpp @@ -249,8 +249,6 @@ bool FShader::Load(const char * name, const char * vert_prog_lump, const char * i_data += "#define brighttexture texture2\n"; i_data += "#endif\n"; - i_data += "#line 1\n"; - int vp_lump = Wads.CheckNumForFullName(vert_prog_lump, 0); if (vp_lump == -1) I_Error("Unable to load '%s'", vert_prog_lump); FMemLump vp_data = Wads.ReadLump(vp_lump); @@ -307,11 +305,16 @@ bool FShader::Load(const char * name, const char * vert_prog_lump, const char * vp_comb << defines << i_data.GetChars(); FString fp_comb = vp_comb; + vp_comb << "#line 1\n"; + fp_comb << "#line 1\n"; + vp_comb << vp_data.GetString().GetChars() << "\n"; fp_comb << fp_data.GetString().GetChars() << "\n"; if (proc_prog_lump != NULL) { + fp_comb << "#line 1\n"; + if (*proc_prog_lump != '#') { int pp_lump = Wads.CheckNumForFullName(proc_prog_lump);