Add initial support for LZMA decompression on HTML5 target
This commit is contained in:
@@ -104,6 +104,9 @@ This product bundles FileSaver.js 1.3.3, which is available under an
|
|||||||
This product bundles pako 1.0.2, which is available under an
|
This product bundles pako 1.0.2, which is available under an
|
||||||
"MIT" license. For details, see [dependencies/pako.min.js](dependencies/pako.min.js).
|
"MIT" license. For details, see [dependencies/pako.min.js](dependencies/pako.min.js).
|
||||||
|
|
||||||
|
This product bundles LZMA-JS 2.3.2, which is available under an
|
||||||
|
"MIT" license. For details, see [dependencies/lzma_worker-min.js](dependencies/lzma_worker-min.js).
|
||||||
|
|
||||||
This product bundles stats.js r16, which is available under an
|
This product bundles stats.js r16, which is available under an
|
||||||
"MIT" license. For details, see [dependencies/stats.min.js](dependencies/stats.min.js).
|
"MIT" license. For details, see [dependencies/stats.min.js](dependencies/stats.min.js).
|
||||||
|
|
||||||
|
|||||||
2
dependencies/lzma_worker-min.js
vendored
Normal file
2
dependencies/lzma_worker-min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -92,6 +92,7 @@
|
|||||||
|
|
||||||
<dependency path="dependencies/howler.min.js" if="html5 howlerjs" embed="true" />
|
<dependency path="dependencies/howler.min.js" if="html5 howlerjs" embed="true" />
|
||||||
<dependency path="dependencies/pako.min.js" if="html5" embed="true" web-worker="true" />
|
<dependency path="dependencies/pako.min.js" if="html5" embed="true" web-worker="true" />
|
||||||
|
<dependency path="dependencies/lzma_worker-min.js" if="html5" embed="true" web-worker="true" />
|
||||||
<dependency path="dependencies/FileSaver.min.js" if="html5" embed="true" />
|
<dependency path="dependencies/FileSaver.min.js" if="html5" embed="true" />
|
||||||
<dependency path="dependencies/webgl-debug.js" if="html5 webgl-debug" embed="true" />
|
<dependency path="dependencies/webgl-debug.js" if="html5 webgl-debug" embed="true" />
|
||||||
<dependency path="dependencies/stats.min.js" if="html5 stats" embed="true" />
|
<dependency path="dependencies/stats.min.js" if="html5 stats" embed="true" />
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package lime._internal.format;
|
|||||||
|
|
||||||
import haxe.io.Bytes;
|
import haxe.io.Bytes;
|
||||||
import lime._internal.backend.native.NativeCFFI;
|
import lime._internal.backend.native.NativeCFFI;
|
||||||
|
import lime.utils.UInt8Array;
|
||||||
#if flash
|
#if flash
|
||||||
import flash.utils.CompressionAlgorithm;
|
import flash.utils.CompressionAlgorithm;
|
||||||
import flash.utils.ByteArray;
|
import flash.utils.ByteArray;
|
||||||
@@ -24,6 +25,16 @@ class LZMA
|
|||||||
if (data == null) return null;
|
if (data == null) return null;
|
||||||
return @:privateAccess new Bytes(data.length, data.b);
|
return @:privateAccess new Bytes(data.length, data.b);
|
||||||
#end
|
#end
|
||||||
|
#elseif js
|
||||||
|
var data = untyped #if haxe4 js.Syntax.code #else __js__ #end ("LZMA.compress")(new UInt8Array(bytes.getData()), 5);
|
||||||
|
if (data is String)
|
||||||
|
{
|
||||||
|
return Bytes.ofString(data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Bytes.ofData(cast data);
|
||||||
|
}
|
||||||
#elseif flash
|
#elseif flash
|
||||||
var byteArray:ByteArray = cast bytes.getData();
|
var byteArray:ByteArray = cast bytes.getData();
|
||||||
|
|
||||||
@@ -47,6 +58,16 @@ class LZMA
|
|||||||
if (data == null) return null;
|
if (data == null) return null;
|
||||||
return @:privateAccess new Bytes(data.length, data.b);
|
return @:privateAccess new Bytes(data.length, data.b);
|
||||||
#end
|
#end
|
||||||
|
#elseif js
|
||||||
|
var data = untyped #if haxe4 js.Syntax.code #else __js__ #end ("LZMA.decompress")(new UInt8Array(bytes.getData()));
|
||||||
|
if (data is String)
|
||||||
|
{
|
||||||
|
return Bytes.ofString(data);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Bytes.ofData(cast data);
|
||||||
|
}
|
||||||
#elseif flash
|
#elseif flash
|
||||||
var byteArray:ByteArray = cast bytes.getData();
|
var byteArray:ByteArray = cast bytes.getData();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user