* Split OpenRayman into two parts (openrayman and libopenrayman)
libopenrayman is licensed under LGPLv3
* dsb_interpreter -> dsb_script
gf_converter -> gf_texture
This means that all currently available formats share a mostly common interface
(specify stream via constructor, check if the file is valid via valid()
and/or extract/decompile via a function returning bool)
* Since all formats can only be created via an std::istream,
libopenrayman includes two helper stream functions in openrayman::common
These are in_mem_(i/o)stream and encoded_stream
in_mem stream read and write to a block of memory (can be created from vector/char*)
encoded_streams take an existing stream and decodes data after reading it from the original stream
* Some small refactoring to other parts of the engine
* OpenRayman can now read and extract from CNT archives (thanks Szymski/Szymekk!). Check --help for more information.
In the future this, along with other functions, will be exported in a library called "libopenrayman". The plan
is for libopenrayman to be able to read, inspect and extract all relevant files from the Rayman 2 engine.
libopenrayman should be licensed as LGPL, compared to GPL for OpenRayman.
* OpenRayman can now, naturally, also read and convert GF files (CNT files are archives full of textures).
* OpenRayman no longer includes a DSB interpreter, and the decompiler has significantly changed.
Only parts of the DSB that we need are now decompiled. Instead of direct decompilation into a .odsb,
the decompiler produces several .json files that define the same information as the DSB in a much more
human/mod friendly fashion.
* Some minor GTK and engine related changes.