-
Notifications
You must be signed in to change notification settings - Fork 51
Roadmap v2.0
This document provides an overview of the goals and requirements to be completed
for Release Version Major 2 of MBINCompiler and libMBIN.
MBINCompiler will be split into separate components so that the MBIN handling code is independent from the command line application. This will allow the same code that MBINCompiler uses, to be used for other tools as well, such as a GUI.
The MBINCompiler.exe will become a simple CLI (Command Line Interface) stub for the core library (libMBIN).
The core code will be implemented in one or more other components, the details still need to be worked out.
There are a few goals to be considered:
-
libMBIN will hopefully be able to handle multiple input and output formats, for eg: mbin, exml, a new xml format, CheatEngine Cheat Tables, json, etc. A plugin system would be best to handle this.
-
Updating the MBIN data structures for each release of NMS should be isolated from the rest of the code base so that the whole project doesn't need to be recompiled each time. It should be possible to use the same libMBIN API to handle multiple versions of NMS. This will also help to simplify the task and streamline the workflow for whoever is maintaining updates to the MBIN data structures. It will also allow for development to happen in libMBIN in parallel to any changes to the MBIN data structures.
-
Updating the MBIN structure definitions for each NMS version should be as accessible as possible. Something like xml schemas should be considered, to allow definitions to be updated by any capable person without needing to download any source code. These files could be redistributed with others, so they could be integrated into the official project and so modders don't need to wait for an official update.