NGMC Toolbox is a toolset with the aim to aid the modding of as many file formats as possible from the Ninja Gaiden: Master Collection. Currently supported file formats include the archive databin
and the texture containers GT1G
and DDS
. Work specifically on Ninja Gaiden Sigma (one) is a priority, however there is limited support for Ninja Gaiden Sigma 2 and Razor's Edge which will also continue to be improved.
The author of this repository has no affiliation with Team Ninja or Koei Tecmo and this software is intended purely for educational or entertainment purposes. The author does not claim ownership of the file formats that may be modifiable through use of the software, and no copyright infringement is intended. No game files will be distributed. All rights go to their respective owners. If you are the rights holder and would like us to remove this content, please contact us and we will comply with your request immediately.
NGMCToolGUI is an executable with a graphical interface powered by Dear ImGui (docking-branch), running in a GLFW window on the OpenGL graphics API as exposed through GLEW, and should therefore be available on most x86/x64 Windows machines. It is the major part of the NGMC Toolbox and the recommended way of using it. All its capabilities are exposed through the UI, however it is possible to directly open files inside of it via drag-and-drop on the executable file or running NGMCToolGUI.exe [path/to/file1] [path/to/file2] [...]
from the command line.
NGMCTool is a small command-line executable without a graphical interface, which can be used to extract the contents of a databin
archive via the command NGSTool.exe unpack [path/to/databin/databin] [path/to/output/directory]
. In the future, this tool may receive additional functionality.
If you would like to contribute to the toolset, feel free to open an issue on the repository or message me on Discord (@mystixor) with your suggestions and bug reports. Of course it is also welcomed if you would like to fork the repository and make a pull request. Keep in mind the toolset is still very unrefined and might undergo major rewrites in all parts of the codebase.
All the latest releases of the NGMC Toolbox will be available from the Releases section here on GitHub, however if you would like to build the toolset yourself you first need to go through a few steps:
- Make sure Visual Studio is installed on your system with the required packages (e.g. Desktop Development in C++) and extensions (Installer Projects 2022). Visual Studio Community 2022, the latest Windows SDK, platform toolset v143 and the C++20 language standard are recommended.
- Clone this repository recursively using
git clone -b [branch] https://github.com/Mystixor/NGMCToolbox.git --recursive
, where[branch]
can be eithermaster
for the latest releases ordev
for the latest (potentially unstable) updates of the toolset. - Depending on whether you would like to build NGMCTool or NGMCToolGUI, see the corresponding steps below.
- Navigate to
vendor/zlib/contrib/vstudio/vc17
and openzlibvc.sln
in Visual Studio. Build the projectzlibstat
for the respective architecture, the binaries should end up invendor/zlib/contrib/vstudio/vc17
automatically (followed by eitherx86
orx64
and thenZlibStatDebug
orZlibStatRelease
).
- Go to the GLFW repository and download the
WIN32
orWIN64
binaries (depending on the architecture you are building for) from the release which NGMCToolbox is using. At the time of writing this, that is GLFW 3.4. NGMCToolGUI expects the library in the directoriesNGMCToolGUI/vendor/GLFW/lib/x64
andNGMCToolGUI/vendor/GLFW/lib/x86
respectively. - Go to the GLEW repository and extract the contents of the latest zip or tgz release snapshot available (tested on GLEW 2.2.0) to the directory
NGMCToolGUI/vendor/GLEW
. These are the archives that come with theinclude
folder necessary for building this dependency. - Navigate to
NGMCToolGUI/vendor/GLEW/build/vc15
and openglew.sln
in Visual Studio. Build the projectglew_static
for the respective architecture, the binaries should end up inNGMCToolGUI/vendor/GLEW/lib
automatically (followed by eitherDebug
orRelease
and thenWin32
orx64
).