Bläddra i källkod

fixed shader extraction from hl file

ncannasse 6 år sedan
förälder
incheckning
043bf754a1
1 ändrade filer med 5 tillägg och 5 borttagningar
  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);