Commit graph

12 commits

Author SHA1 Message Date
Hannes Mann 04026967c4 Mostly complete audio decoding
* OpenRayman can now fully decode .apm (Ubisoft? IMA ADPCM) audio used by Rayman 2 for music.
* APM audio is fully preseved and encoded into FLAC audio to ease editing with external programs (e.g. Audacity)
* Support for .bnm (audio banks with PCM and IMA ADPCM audio) is underway. This is only commited to get the online GitHub repo up to date.
* The data extractor is now threaded (not fully, it simply runs linearly in another thread)
* The data extractor now has a GUI progress dialog showing some information to the user (IProgressDialog on Win32, GTK3 on Linux)
* Various minor changes and bugfixes
2016-08-14 22:33:53 +02:00
Hannes Mann d5b265877a Edit documentation to reflect changes in storage path 2016-07-07 08:32:00 +02:00
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 ce39ade17f Start working on decompilation process
Can decompile part of .dsbs for now, and it can decode files
2016-06-19 03:23:02 +02:00
Hannes Mann 5de095de75 Add documentation for some of the formats
This could not have been done without the amazing https://github.com/szymski/Rayman2Lib. (i have not verified if it works, it might be crap)
2016-06-16 04:25:48 +02:00
Hannes Mann 3fffccf665 Add a game class for mod support
This commit adds a game class, which is a collection of files that can depend on other files.
The base game "rayman2" contains all files required for the game, and they can then be overriden by games that depend on it.
OpenRayman will use this for editing menus (adding settings) and possibly other things.
All mods should target "rayman2_openrayman".
2016-06-15 03:55:52 +02:00
Hannes Mann 0bdfb582c9 Fix for windows 2016-06-12 16:37:23 +02:00
Hannes Mann f2b5e0bb73 Thanks to for lodepng 2016-06-11 22:44:50 +02:00
Hannes Mann f87b0351da Add glfw as submodule 2016-06-11 18:22:42 +02:00
Hannes Mann 2d7779afff Add rough TODO, for now 2016-06-11 03:20:54 +02:00
Hannes Mann 5721e6b2a5 Some initial boilerplate 2016-06-11 03:12:15 +02:00
Hannes Mann 2db6a433c9 Initial commit 2016-06-11 02:35:24 +02:00