30 lines
651 B
Haxe
30 lines
651 B
Haxe
import lua.Lua;
|
|
import haxe.io.Bytes;
|
|
import kernel.fs.FS;
|
|
import haxe.zip.Uncompress;
|
|
|
|
class Unpack {
|
|
public static function main() {
|
|
var filename = "/haxe.zip";
|
|
var handle = FS.openReadBinary(filename);
|
|
var size = FS.attributes(filename).size;
|
|
var data = Bytes.alloc(size);
|
|
|
|
for (i in 0...size) {
|
|
data.set(i, handle.readByte());
|
|
}
|
|
|
|
var uncompressed = Uncompress.run(data);
|
|
|
|
var res = Lua.load(uncompressed.toString()); // FIXME: Haxe is missing some parameters. This does not work.
|
|
|
|
var f = res.func; // Required for silly haxe bug.
|
|
|
|
if (res.message == null) {
|
|
f();
|
|
} else {
|
|
trace('Failed: ${res.message}');
|
|
}
|
|
}
|
|
}
|