Commit graph

11 commits

Author SHA1 Message Date
Hannes Mann 816a143890 Refactoring, lots of refactoring
* 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
2016-07-07 08:16:48 +02:00
Hannes Mann e71a336693 Big changes
* 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.
2016-07-02 04:24:58 +02:00
Hannes Mann dfdb375801 Interpret most known instructions 2016-06-28 00:52:06 +02:00
Hannes Mann 447cc2a672 Use Release for building
I had switched, and i know you're supposed to do that via e.g. GUI, but im lazy
2016-06-27 23:19:26 +02:00
Hannes Mann ae50ccf7f6 Add basic DSB interpreter
We might need to replace this with something more sophisticated if some scripts use more flow control (e.g. if, while)
2016-06-27 23:14:12 +02:00
Hannes Mann 5d6803b59f Switch from GLFW to SDL2
SDL2 is better supported and has a great game controller api
Wont build on Windows right now
2016-06-15 05:06:21 +02:00
Hannes Mann f4b6006019 Add JSON library 2016-06-13 01:29:50 +02:00
Hannes Mann 0bdfb582c9 Fix for windows 2016-06-12 16:37:23 +02:00
Hannes Mann d3bc643d2a Abstract window handling 2016-06-12 00:27:28 +02:00
Hannes Mann 05f14e5c1e Add message_box, CMakeLists and glfw 2016-06-11 20:43:58 +02:00
Hannes Mann 2db6a433c9 Initial commit 2016-06-11 02:35:24 +02:00