MBINCompiler: Difference between revisions

No edit summary
(Add MBINCompiler.retro (legacy-build fork) section with download link and a credits section)
Line 3: Line 3:


Each version of MBINCompiler is customized for each version of No Man's Sky, as the game executable contains all the needed information to decompile MBIN files and this changes in each update. The current version of MBINCompiler is available [https://github.com/monkeyman192/MBINCompiler on github].
Each version of MBINCompiler is customized for each version of No Man's Sky, as the game executable contains all the needed information to decompile MBIN files and this changes in each update. The current version of MBINCompiler is available [https://github.com/monkeyman192/MBINCompiler on github].
== MBINCompiler.retro ==
'''MBINCompiler.retro''' is a fork of monkeyman192's MBINCompiler that targets the '''legacy''' No Man's Sky builds from a single binary, selecting the game version at runtime. One executable handles the Release Candidate (the PS4 disc / launch build), 1.09.1, 1.13, 1.24 and 1.38, so you no longer need a separate MBINCompiler for each old version.
It adds:
* '''Version autodetection''' plus a <code>--nms-version</code> flag to pick the build (rc1, 1.09.1, 1.13, 1.24 or 1.38).
* A '''<code>dumplayout</code>''' command that exports every struct's memory layout (name, type, offset and size) as JSON.
The four PC builds round-trip byte-perfect, and the RC1 (PS4 disc) definitions are derived per struct from the disc data and the PS4 game executable.
Download the latest release from GitHub: [https://github.com/NoMansSkyRetro/MBINCompiler.retro/releases/latest MBINCompiler.retro on GitHub]. It requires the .NET 6 (or newer) Windows Desktop runtime.
== Legacy versions ==


For legacy versions of No Man's Sky you can download an archive that contains all versions up to 1.38 below.
For legacy versions of No Man's Sky you can download an archive that contains all versions up to 1.38 below.
Line 10: Line 24:
|version=1.03 to 1.38
|version=1.03 to 1.38
|file=MBINCompiler1to1.38.zip}}
|file=MBINCompiler1to1.38.zip}}
== Credits ==
MBINCompiler was originally created by [https://github.com/emoose/MBINCompiler Emoose] and has been maintained and greatly extended by [https://github.com/monkeyman192/MBINCompiler monkeyman192] together with the many MBINCompiler contributors. MBINCompiler.retro builds directly on their work (the <code>rc1</code> branch) to reach the legacy builds. Enormous thanks to all of them.

Revision as of 22:14, 31 August 2026

MBINCompiler is a tool created by monkeyman192 (with additional contributors) that decompiles (deserializes) MBIN files into EXML files and likewise can recompile them back to MBIN.

Each version of MBINCompiler is customized for each version of No Man's Sky, as the game executable contains all the needed information to decompile MBIN files and this changes in each update. The current version of MBINCompiler is available on github.

MBINCompiler.retro

MBINCompiler.retro is a fork of monkeyman192's MBINCompiler that targets the legacy No Man's Sky builds from a single binary, selecting the game version at runtime. One executable handles the Release Candidate (the PS4 disc / launch build), 1.09.1, 1.13, 1.24 and 1.38, so you no longer need a separate MBINCompiler for each old version.

It adds:

  • Version autodetection plus a --nms-version flag to pick the build (rc1, 1.09.1, 1.13, 1.24 or 1.38).
  • A dumplayout command that exports every struct's memory layout (name, type, offset and size) as JSON.

The four PC builds round-trip byte-perfect, and the RC1 (PS4 disc) definitions are derived per struct from the disc data and the PS4 game executable.

Download the latest release from GitHub: MBINCompiler.retro on GitHub. It requires the .NET 6 (or newer) Windows Desktop runtime.

Legacy versions

For legacy versions of No Man's Sky you can download an archive that contains all versions up to 1.38 below.

Drive-download.png Download MBINCompiler Archive
File: MBINCompiler1to1.38.zip (640 kB) (info)
Current version: 1.03 to 1.38

Credits

MBINCompiler was originally created by Emoose and has been maintained and greatly extended by monkeyman192 together with the many MBINCompiler contributors. MBINCompiler.retro builds directly on their work (the rc1 branch) to reach the legacy builds. Enormous thanks to all of them.