Hi guys, someone can make for me a tool to unpack/repack/recompress this archive https://drive.google.com/file/d/1-z9...w?usp=drivesdk ?
Already there is a BMS script that unpack this archive, but don't recompress, only reimport the files without recompress and the game read the archive compressed only.
Ported my LZSS encoder for this... now size is pretty similar and until 0x7ABB the compressed output matches pretty good,
but after that it becomes quite different.
Btw, its an interesting version of LZSS, with two flag bytes - one usual for literal/match flags,
and the second one to switch between 11:5 and 4:12 match layouts.
int ea_jdlz( byte* in, int insz, byte* out, int outsz ) {
byte* inl = in + insz;
byte* o = out;
byte* outl = out + outsz;
uint flags1 = 1, flags2 = 1;
int i, t, length;
Hey, I've tested the jdlz tool here with the following comands:
Jdlz.exe d FRONTB1.LZC Unpacked - Unpack successfully the FRONTB1. LZC
Jdlz. exe c Unpacked NEW_FRONTB1. LZC - Compress the FRONTB1. LZC unpacked creating a new FRONTB1.LZC packed.
But there is an small problem, the output file packed is too large, the original is 456Kb and the new packed is about 700Kb, so it is impossible to me reinsert this edited file in the game. The strange thing is that I did'nt changed nothing in the unpacked FRONTB1, I just compress using the tool and the tool create a new packed file too large.
Can you adjust the compress rate/level in the tool to reach the original size in the recompress mode? There is no problem if the new FRONTB1 file to increase 5 or 10Kb larger, but for me is impossible to work with more of 10Kb because the limitations used by game.
1) v0 actually has two encoding functions, one from the dll: "c" command, and another from the other thread: "e" command.
2) v1 contains another encoding function, written by myself, its slower, but more similar to original file.
I've replaced this source in the ea_jdlz compress function in the ea_jdlz.inc file and the packed ouput file continue with the 700Kb size. Maybe I've not replaced properly the source?