1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/content/lzx/decoder.cpp

45 lines
887 B
C++

#include "xna/content/lzx/decoder.hpp"
#include "libmspack/mspack.h"
#include "libmspack/lzx.h"
namespace xna {
LzxDecoder::LzxDecoder(int window) {
if (window < 15 || window > 21)
return;
window_bits = window;
}
int LzxDecoder::Decompress(Stream* inData, int inLen, Stream* outData, int outLen) {
mspack_file* input = nullptr;
mspack_file* output = nullptr;
auto lzxstream = lzxd_init(
//struct mspack_system* system,
nullptr,
//struct mspack_file* input,
input + inData->Position(),
//struct mspack_file* output,
output + outData->Position(),
//int window_bits,
window_bits,
//int reset_interval,
0,
//int input_buffer_size,
inLen,
//off_t output_length,
outLen,
//char is_delta
0
);
auto result = lzxd_decompress(
//struct lzxd_stream* lzx,
lzxstream,
//off_t out_bytes
0
);
return result;
}
}