forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | import haxe.io.Path; | ||
|  | import sys.FileSystem; | ||
|  | 
 | ||
|  | class HLSL | ||
|  | { | ||
|  |    var file:String; | ||
|  |    var profile:String; | ||
|  |    var target:String; | ||
|  |    var variable:String; | ||
|  | 
 | ||
|  |    public function new(inFile:String, inProfile:String, inVariable:String, inTarget:String) | ||
|  |    { | ||
|  |       file = inFile; | ||
|  |       profile = inProfile; | ||
|  |       variable = inVariable; | ||
|  |       target = inTarget; | ||
|  |    } | ||
|  | 
 | ||
|  |    public function build() | ||
|  |    { | ||
|  |       if (!FileSystem.exists(Path.directory (target)))  | ||
|  |       { | ||
|  |          PathManager.mkdir(Path.directory (target)); | ||
|  |       } | ||
|  |       | ||
|  |       //DirManager.makeFileDir(target); | ||
|  | 
 | ||
|  |       var srcStamp = FileSystem.stat(file).mtime.getTime(); | ||
|  |       if (!FileSystem.exists(target) || FileSystem.stat(target).mtime.getTime() < srcStamp) | ||
|  |       { | ||
|  |          var exe = "fxc.exe"; | ||
|  |          var args =  [ "/nologo", "/T", profile, file, "/Vn", variable, "/Fh", target ]; | ||
|  |           | ||
|  |          var result = ProcessManager.runCommand("", exe, args); | ||
|  |          if (result!=0) | ||
|  |          { | ||
|  |             Log.error("Could not compile shader \"" + file + "\""); | ||
|  |             //throw "Error : Could not compile shader " + file + " - build cancelled"; | ||
|  |          } | ||
|  |       } | ||
|  |    } | ||
|  | } |