|
@@ -21,7 +21,7 @@ private class LocalEntry extends FileEntry {
|
|
this.name = name;
|
|
this.name = name;
|
|
this.relPath = relPath;
|
|
this.relPath = relPath;
|
|
this.file = file;
|
|
this.file = file;
|
|
- if( fs.createHMD && extension == "fbx" )
|
|
|
|
|
|
+ if( fs.createHMD && (extension == "fbx" || extension == "xtra") )
|
|
convertToHMD();
|
|
convertToHMD();
|
|
else if( fs.createXBX && extension == "fbx" )
|
|
else if( fs.createXBX && extension == "fbx" )
|
|
convertToXBX();
|
|
convertToXBX();
|
|
@@ -34,9 +34,18 @@ private class LocalEntry extends FileEntry {
|
|
function convertToHMD() {
|
|
function convertToHMD() {
|
|
function getHMD() {
|
|
function getHMD() {
|
|
var fbx = null;
|
|
var fbx = null;
|
|
- try fbx = hxd.fmt.fbx.Parser.parse(getBytes().toString()) catch( e : Dynamic ) throw Std.string(e) + " in " + relPath;
|
|
|
|
|
|
+ var content;
|
|
|
|
+ if( extension == "xtra" ) {
|
|
|
|
+ fs.createHMD = false;
|
|
|
|
+ content = fs.get(relPath.substr(0, relPath.length - 4) + "FBX").getBytes();
|
|
|
|
+ fs.createHMD = true;
|
|
|
|
+ } else
|
|
|
|
+ content = getBytes();
|
|
|
|
+ try fbx = hxd.fmt.fbx.Parser.parse(content.toString()) catch( e : Dynamic ) throw Std.string(e) + " in " + relPath;
|
|
var hmdout = new hxd.fmt.fbx.HMDOut();
|
|
var hmdout = new hxd.fmt.fbx.HMDOut();
|
|
hmdout.load(fbx);
|
|
hmdout.load(fbx);
|
|
|
|
+ if( extension == "xtra" )
|
|
|
|
+ hmdout.loadXtra(getBytes().toString());
|
|
var hmd = hmdout.toHMD(null, !StringTools.startsWith(relPath, "Anim_"));
|
|
var hmd = hmdout.toHMD(null, !StringTools.startsWith(relPath, "Anim_"));
|
|
var out = new haxe.io.BytesOutput();
|
|
var out = new haxe.io.BytesOutput();
|
|
new hxd.fmt.hmd.Writer(out).write(hmd);
|
|
new hxd.fmt.hmd.Writer(out).write(hmd);
|