You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the latest changes to NMS to improve mod support, the game can now load EXML files within a mod directory.
These EXML files however differ from the ones which are currently generated by MBINCompiler in two important ways:
The actual xml structure is actually expected to be the same as MXML - We found that when giving the game an MBINCompiler EXML file, it would crash, but if we reformatted it to look like MXML, it would work.
The EXML file doesn't need to be a complete file, but it can be just the fields which are modifying the vanilla file.
Because of these two points, this means that the EXML files produced by MBINCompiler are actually not compatible with the EXML files the game expects.
Why not continue having MBINCompiler produce EXML files but with the correct MXML formatting?
If we did this, then we'd not be able to know if an EXML file is a fragment or an entire file. If it were an entire file this would be fine, but if it were a fragment, then passing this to MBINCompiler would cause an error. We could get around this by potentially adding some extra meta to the fragment so that it's understood that it's a fragment, but in this case the EXML file would not be expected to be able to recompiled to an MBIN file anyway.
I am of the opinion that changing MBINCompiler to produce MXML files and then create some extra tooling which would allow EXML files to be generated (see attached quick script I whipped up to at least partially do this) is the best way to move forward with this, but I'd like community feedback before implementing any changes.
I have made the code changes in this PR for those who would like to download the artefact and try it out.
Agree, mbinc should focus on converting: .mbin <=> .NET Object <=> .mxml (full).
Another tool should be responsible for creating the .exml diffs from two .mxml files (game mxml and mod mxml).
NMSMB will focus on creating full .mbin's; i assume amumss will (initially) focus on creating full .mxml files.
There are currently no plans for NMSMB to support generating .exml fragments, it will focus on creating full mbin's. If users want they can then take the .mbin's and convert to .mxml using mbincompiler, then use the 'other tool' to create exml files. It may provide a button users can toggle to choose whether to save .mbin's or .mxml's.
With the latest changes to NMS to improve mod support, the game can now load EXML files within a mod directory.
These EXML files however differ from the ones which are currently generated by MBINCompiler in two important ways:
Because of these two points, this means that the EXML files produced by MBINCompiler are actually not compatible with the EXML files the game expects.
Why not continue having MBINCompiler produce EXML files but with the correct MXML formatting?
If we did this, then we'd not be able to know if an EXML file is a fragment or an entire file. If it were an entire file this would be fine, but if it were a fragment, then passing this to MBINCompiler would cause an error. We could get around this by potentially adding some extra meta to the fragment so that it's understood that it's a fragment, but in this case the EXML file would not be expected to be able to recompiled to an MBIN file anyway.
I am of the opinion that changing MBINCompiler to produce MXML files and then create some extra tooling which would allow EXML files to be generated (see attached quick script I whipped up to at least partially do this) is the best way to move forward with this, but I'd like community feedback before implementing any changes.
I have made the code changes in this PR for those who would like to download the artefact and try it out.
EXML generator demo
The text was updated successfully, but these errors were encountered: