|
@@ -1,6 +1,10 @@
|
|
|
package hxd.fmt.hmd;
|
|
|
import hxd.fmt.hmd.Data;
|
|
|
|
|
|
+typedef HideData = {
|
|
|
+ var animations : haxe.DynamicAccess<{ events : Array<{ frame : Int, data : String }> }>;
|
|
|
+}
|
|
|
+
|
|
|
private class FormatMap {
|
|
|
public var size : Int;
|
|
|
public var offset : Int;
|
|
@@ -29,6 +33,7 @@ class Library {
|
|
|
var cachedAnimations : Map<String, h3d.anim.Animation>;
|
|
|
var cachedSkin : Map<String, h3d.anim.Skin>;
|
|
|
var tmp = haxe.io.Bytes.alloc(4);
|
|
|
+ public var hideData : HideData;
|
|
|
|
|
|
public function new(res, header) {
|
|
|
this.resource = res;
|
|
@@ -398,6 +403,13 @@ class Library {
|
|
|
l.loop = a.loop;
|
|
|
if( a.events != null ) l.setEvents(a.events);
|
|
|
|
|
|
+ if( hideData != null ) {
|
|
|
+ var name = resource.entry.name.split(".")[0];
|
|
|
+ if( StringTools.startsWith(name,"Anim_") ) name = name.substr(5);
|
|
|
+ if(hideData.animations.exists(name))
|
|
|
+ l.setEvents(hideData.animations.get(name).events);
|
|
|
+ }
|
|
|
+
|
|
|
var entry = resource.entry;
|
|
|
entry.open();
|
|
|
entry.skip(header.dataPosition + a.dataPosition);
|