NMS-MCD – a little No Man’s Sky Mod Conflict Detector
NMS-MCDaMM - a little No Man's Sky Mod Conflict Detector and ModManager [edit/compare/merge]
The program compares the contents of the PAK files and merges them into a single pak-file. MOD's that use the same files are filtered out and can be edited.
The program unpacks the mods into a temporary directory and compares the contents if duplicate files are present.
The PSARCTool is used internally to unpack the PAK files. The MBIN files are unpacked with the MBINCompiler.
Many thanks to the developers for the great performance.
xmldiff are used to compare the exml files.
xmldiff is a simple command line tool to demonstrate libxmldiff functionnalities.
libxmldiff aims at providing efficient diff on XML files (C library)
Detection of modified items, added items, removed items
Not sensitive to item position changes (based on a id).
Designed to support large XML files (about 100 Mo). For larger files,
treat these files with XML Pre Diff Tool would be a good idea.
Basic XML manipulation (XSLT, Deletion,...)
Simple to use
The files are compared and merged at xml level. It's more a technical merger than a logical one (it doesn't consider game specific
structures). Whether it works or not can be seen from the successful
compilation with the MBIN compiler.
I try to keep the program up to date, but I can't promise anything. I only do this as a hobby.
Now I wish everyone a lot of fun.
Use at your own risk.
Translated with www.DeepL.com/Translator
v1.00 - initial release
v1.01 - added ini-file support. directories are now loaded automatically from the ini-file at startup
v1.02 - program revised and more clearly arranged
v1.02.1 - PSArcTool-Path now working
v1.03 - new: area to compare, edit and merge the exml (for the moment a very, very, very, very stupid and unintelligent algorithm, didn't go better); improvements in speed, clarity and transparency
v1.04 - wasn't good
v1.05 - design rework, uses temporary folders, comparison should work in one direction, try it out
v1.05.01 - psarc is no longer needed, it is internally integrated, new button added to open the unpacked mod folder
v1.06 - the size of the window can now be changed
v1.07 - improved performance, synchrone scrollbars, redesign, remove bugs, the comparison usually works, merging doesn't work yet, It's hard to do
v1.08 - using xmldiff as comparer and merger
v1.10 - new ModManager: using the current libMBIN.dll to test compatibility (the file must be in the same directory as the main program); if the directory for the unpacked files is specified, then the original file is loaded automatically when comparing, try it out
v1.11 - ModManager improved, some Bugfixing
v1.12 - modmanager improved:
paks can be created (the files are stored in the package folder without additional paths)
in case of errors it may help to delete the ini as well
i'm not quite happy with the modmanager yet. i'll probably revise it again.
v1.13 - modmanager improved:
on exit the window status is saved in the setting file
libMBIN.dll is also used to check the original files in the unpacked folder (if present)
the ini only stores the path information, in case of errors the ini should be deleted
support for modular mods (files will be overwritten)
List of previous projects is loaded from ini
v2.00 - modmanager improved:
only one tab for compare and collect conflicts and errors pak-files
all is saved in user.config
direct merge of 2 changed files compared to original file
V2.00a - set folder (missing "" in the pathname), Unpack Gamefiles now works (missing " " in buttonname) thanks wout25
- open issue: error message when pressing the "Save to _merged_files" button: https://imgur.com/a/ZbZz6qH thanks wout25
V2.00b - If the dll is missing on the computer there is an error message and the program can no longer be used. Now everything should work again, even if
the dll is missing.
- open issue: error message when pressing the "Save to _merged_
V2.00c - bugfixing, files could not be merged if a new file was loaded separately or 2 of 3 files were identical
V2.00d - bugfixing, when directories are deleted, they are correctly removed from user.config
V2.00e - bugfixing, If the color is not changed, the files cannot be merged correctly. Now it works again with the default colors.
V2.00f - bugfixing, if many files are checked, everything is much faster now (selected files mark as good and overwrite (modular) etc.),
error message when pressing the "Save to _merged_files" button should be working now
v3.000 - Almost reprogrammed from scratch. Faster, clearer, multimerge of several files, error correction from the previous version.
v3.001 - if no projects have been loaded, note is shown (quick solution)
v3.002 - new: cancel multimerge process
- fixed several minor bugs (modular-Files, RePAK, and a few others)
in some cases the program has no permissions to access the system folders. Then the folders for projects and unpacked files have to be created in the user area (the program saves and creates files and directories).
v3.003 - bugfixing
- new hash-algorithm "System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing"
- check for new or changed gamefiles
- some comfortfunctions for a better handling
v3.004 - bugfixing
- loading and checking the files is much faster now. (sorry, i should have seen that much sooner, the code line was in the wrong place)
- if the game files are updated, only the new files will be unpacked
v3.005 - bugfixing, unpacking gamefiles now works
- now you can search within the loaded exml
v3.006 - bugfixing
- there was a bug with the .mbin.pc, should work now
- access to https://github.com/monkeyman192/MBINCompiler/releases via Octokit.dll (integrated in the program)
v3.007 - bugfixing
- some types of files can be excluded from the comparison
- added rudimentary resource explorer
- better arrangement of the options
v3.008 - It fixes the problem with this error: "System.OverflowException: Arithmetic operation resulted in an overflow."
v3.009 - New is the automatic multimerge, the same as before, but without clicks. If there are duplicate entries,
they must be confirmed as before. If too many entries are duplicated, cancel and use the previous method.
New is the selection of the method for the multimerge. [ Compare / Merge - settings ]
v3.010 - New: - save and restore config folder - GitHub repo can be edited (add, remove, defaults) - access to https://github.com/HolterPhylo/MBINCompiler-preNet5/releases via Octokit.dll (integrated in the program) - automatic diff file creation (only works for globals when using libmbin.dll, still needs to be improved)