+ Now including support for CodeBreaker Save (CBS) format.
* CBS Parser function requires a function parameter that inflates data (zlib-style) given to it.
- Removed enabling/disabling strict mode from the reference client.
* Made timestamp objects consistant with every file format.
+ Added Pako to as a semi-optional dependancy to the HTML reference client.
* Disabling Pako will also disable CBS support in the HTML reference client.
Internals:
+ Now includes the RC4 cipherkey for deciphering CBS files.
+ Implemented an RC4 cipher function for deciphering CBS files.
Author comments:
One of the big five. Only one remains, and it's not going to be easy.
The road to an LZARI implementation spans a long distance, and the road there is bumpy.
- yellows
fix sps/xps parser crash: apparently those 4 bytes were for a third part of metadata for those files. HTML client now shows this information if available.
example icon: id2_example_001 (12 vertices, 4 triangles)
I've saved and included this icon in the .PSU and .SPS formats. .PSV is a bit more complicated for a valid export.
Example icon shows vertex colours with no animation nor includes a texture (texture type 3).
was considering adding new formats, but its not one of the big five (translation: not MAX/PWS or CBS), and I can barely find any examples to test with. Oh well. adding them to gitignore already. If the demand comes up, I've made the related hexpat's for them anyway.
.xpo and .spo (assuming they're like .xpo files) files are out of scope for this project, if anyone asks. Reason being is that they usually exclude icon data, and even icon.sys. This makes it rather useless to me.
Long version:
Putting an SPS|XPS into the PSU input would read as if the file was very long, so added a 127-file limit (I think this is reasonable) to prevent prolonged stalling.
Added SPS|XPS support to the library, which is the third most common contained format besides PSU and PSV.
Updated demos.
Technical changes:
removed unused u16le definition from readEntryBlock(), since permissions are better read as a u32 instead
added PSV and SPS|XPS reader functions to c6 exports, since I forgot in 0.3.4
moved some stuff around in HTML demo, especially the old raw icon.sys and icon input boxes, since I'm finding parsing a collection of files more useful then the actual standalone files themselves.
HTML-demo: added an "show advanced options" checkbox that unhides features deemed too niche for conventional use