This version is not meant for public use and is merely uploaded as the work that I've done so far. It's very much in need of work to be considered a stable release.
GitHub repository licensed under GPLv3
Building on Windows
Stable: None yet.
The bin folder in the repository at the moment has the last compiled version of the code, but ideally no binaries should be hosted there.
- In need of some cleaner refactoring, especially how file opening is handled at the moment. Loading the files should be an external method that returns a value, not a constructor per type of object.
- Almost all of the ugly WinAPI code can and should be ignored since a port to Qt5 is inevitable.
- Switch all headers to #pragma once and try to forward declare mostly everything.
- Needs to be documented a lot more, although the names are pretty obvious as to what the methods do most of the time.
Last Preview Video:
Q: Can I use this over the original SonicGLvl?
A: No, and you shouldn't. The current new branch does not have feature parity with the original SonicGLvl yet. At most it's fairly usable for some simple object layout editing.
Q: Can I use the database/models from the original SonicGLvl?
A: No, the databases are no longer compatible for the purpose of extending the functionality a lot more. However, on the plus side, dumping and detecting new object templates is pretty much unnecessary unless you want bigger control over how the objects are displayed. The new branch of SonicGLvl no longer relies on having objects on the database to be able to load/display them at all.
Q: How similar is it to use this branch of SonicGLvl compared to the original one?
A: For the purposes of optimizing the work pipeline and making it easier to understand, a lot of old tutorials will be pretty much useless, so a new knowledge database will need to be built on the wiki.
Q: Summary of new features planned/implemented compared to original SonicGLvl?
- Smoother and much easier to use Viewport Controls.
- Smarter Object Database with extended previewing features.
- Smarter Stage/Terrain cache, verifies hashes and cleans up automatically.
- Game shader support, able to preview materials in the editor very similarly to the game.
- FBX Importing/Exporting instead of using Ogre formats, which gives us plenty of possibilities for a smoother pipeline between 3DSMax and SonicGLvl.
- Generalized Formats Library: You can do other applications that use LibGens for reading files from the game without having to integrate them into SonicGLvl. Also allows the possibility to do batching command-line tools.
- Terrain Lightfield Generation: Generate a lighting map based on rendered maps of the stage so objects and the player are affected by them.
- Better Terrain Group/GI generation workflow. More details on this can be seen on the roadmap.
- Ghost Playback/Camera Previewing for easier iteration on editing cameras.
- New material editor with real-time previewing, using the real game shaders, simplifying the iteration on polishing graphics a lot.