Pārlūkot izejas kodu

fixed shader extraction from hl file

ncannasse 6 gadi atpakaļ
vecāks
revīzija
043bf754a1
1 mainītis faili ar 5 papildinājumiem un 5 dzēšanām
  1. 5 5
      hxsl/CacheFileBuilder.hx

+ 5 - 5
hxsl/CacheFileBuilder.hx

@@ -163,12 +163,12 @@ class CacheFileBuilder {
 				CacheFile.FILENAME = getArg();
 			case "-lib":
 				var lib = new format.hl.Reader().read(new haxe.io.BytesInput(sys.io.File.getBytes(getArg())));
-				var r_shader = ~/^oy4:namey([0-9]+):/;
 				for( s in lib.strings ) {
-					if( !r_shader.match(s) ) continue;
-					var len = Std.parseInt(r_shader.matched(1));
-					var name = r_shader.matchedRight().substr(0, len);
-					builder.shaderLib.set(name, s);
+					if( !StringTools.startsWith(s,"HXSL") ) continue;
+					var data = try haxe.crypto.Base64.decode(s) catch( e : Dynamic ) continue;
+					var len = data.get(3);
+					var name = data.getString(4,len);
+					builder.shaderLib.set(name, s);						
 				}
 			case "-gl":
 				builder.platforms.push(OpenGL);