Browse Source

Move some Lua code around to work around VS2013's 16kB limitation for C++ raw string literals.

--HG--
branch : minor
Alex Szpakowski 5 years ago
parent
commit
acf84349a9

+ 38 - 0
src/modules/graphics/wrap_Graphics.lua

@@ -22,6 +22,9 @@ misrepresented as being the original software.
 3. This notice may not be removed or altered from any source distribution.
 3. This notice may not be removed or altered from any source distribution.
 --]]
 --]]
 
 
+local table_concat = table.concat
+local ipairs = ipairs
+
 function love.graphics.newVideo(file, settings)
 function love.graphics.newVideo(file, settings)
 	settings = settings == nil and {} or settings
 	settings = settings == nil and {} or settings
 	if type(settings) ~= "table" then error("bad argument #2 to newVideo (expected table)", 2) end
 	if type(settings) ~= "table" then error("bad argument #2 to newVideo (expected table)", 2) end
@@ -47,5 +50,40 @@ function love.graphics.newVideo(file, settings)
 	return video
 	return video
 end
 end
 
 
+function love.graphics._transformGLSLErrorMessages(message)
+	local shadertype = message:match("Cannot compile (%a+) shader code")
+	local compiling = shadertype ~= nil
+	if not shadertype then
+		shadertype = message:match("Error validating (%a+) shader")
+	end
+	if not shadertype then return message end
+	local lines = {}
+	local prefix = compiling and "Cannot compile " or "Error validating "
+	lines[#lines+1] = prefix..shadertype.." shader code:"
+	for l in message:gmatch("[^\n]+") do
+		-- nvidia: 0(<linenumber>) : error/warning [NUMBER]: <error message>
+		local linenumber, what, message = l:match("^0%((%d+)%)%s*:%s*(%w+)[^:]+:%s*(.+)$")
+		if not linenumber then
+			-- AMD: ERROR 0:<linenumber>: error/warning(#[NUMBER]) [ERRORNAME]: <errormessage>
+			linenumber, what, message = l:match("^%w+: 0:(%d+):%s*(%w+)%([^%)]+%)%s*(.+)$")
+		end
+		if not linenumber then
+			-- macOS (?): ERROR: 0:<linenumber>: <errormessage>
+			what, linenumber, message = l:match("^(%w+): %d+:(%d+): (.+)$")
+		end
+		if not linenumber and l:match("^ERROR:") then
+			what = l
+		end
+		if linenumber and what and message then
+			lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber, what, message)
+		elseif what then
+			lines[#lines+1] = what
+		end
+	end
+	-- did not match any known error messages
+	if #lines == 1 then return message end
+	return table_concat(lines, "\n")
+end
+
 -- DO NOT REMOVE THE NEXT LINE. It is used to load this file as a C++ string.
 -- DO NOT REMOVE THE NEXT LINE. It is used to load this file as a C++ string.
 --)luastring"--"
 --)luastring"--"

+ 0 - 35
src/modules/graphics/wrap_GraphicsShader.lua

@@ -434,41 +434,6 @@ function love.graphics._shaderCodeToGLSL(gles, arg1, arg2)
 	return vertexcode, pixelcode
 	return vertexcode, pixelcode
 end
 end
 
 
-function love.graphics._transformGLSLErrorMessages(message)
-	local shadertype = message:match("Cannot compile (%a+) shader code")
-	local compiling = shadertype ~= nil
-	if not shadertype then
-		shadertype = message:match("Error validating (%a+) shader")
-	end
-	if not shadertype then return message end
-	local lines = {}
-	local prefix = compiling and "Cannot compile " or "Error validating "
-	lines[#lines+1] = prefix..shadertype.." shader code:"
-	for l in message:gmatch("[^\n]+") do
-		-- nvidia: 0(<linenumber>) : error/warning [NUMBER]: <error message>
-		local linenumber, what, message = l:match("^0%((%d+)%)%s*:%s*(%w+)[^:]+:%s*(.+)$")
-		if not linenumber then
-			-- AMD: ERROR 0:<linenumber>: error/warning(#[NUMBER]) [ERRORNAME]: <errormessage>
-			linenumber, what, message = l:match("^%w+: 0:(%d+):%s*(%w+)%([^%)]+%)%s*(.+)$")
-		end
-		if not linenumber then
-			-- macOS (?): ERROR: 0:<linenumber>: <errormessage>
-			what, linenumber, message = l:match("^(%w+): %d+:(%d+): (.+)$")
-		end
-		if not linenumber and l:match("^ERROR:") then
-			what = l
-		end
-		if linenumber and what and message then
-			lines[#lines+1] = ("Line %d: %s: %s"):format(linenumber, what, message)
-		elseif what then
-			lines[#lines+1] = what
-		end
-	end
-	-- did not match any known error messages
-	if #lines == 1 then return message end
-	return table_concat(lines, "\n")
-end
-
 local defaultcode = {
 local defaultcode = {
 	vertex = [[
 	vertex = [[
 vec4 position(mat4 clipSpaceFromLocal, vec4 localPosition) {
 vec4 position(mat4 clipSpaceFromLocal, vec4 localPosition) {