|
@@ -34,4 +34,19 @@ class Tools {
|
|
|
f.data = data.sub(2, data.length - 6);
|
|
|
f.dataSize = f.data.length;
|
|
|
}
|
|
|
+
|
|
|
+ public static function uncompress(f:Entry) {
|
|
|
+ if( !f.compressed )
|
|
|
+ return;
|
|
|
+
|
|
|
+ var c = new Uncompress(-15);
|
|
|
+ var s = haxe.io.Bytes.alloc(f.fileSize);
|
|
|
+ var r = c.execute(f.data,0,s,0);
|
|
|
+ c.close();
|
|
|
+ if( !r.done || r.read != f.data.length || r.write != f.fileSize )
|
|
|
+ throw "Invalid compressed data for "+f.fileName;
|
|
|
+ f.compressed = false;
|
|
|
+ f.dataSize = f.fileSize;
|
|
|
+ f.data = s;
|
|
|
+ }
|
|
|
}
|