DSMSPortable v1.4.7
A lightweight, portable version of DS Map Studio for patching param files like Elden Ring's regulation.bin via command line. Requires .NET 6.0. You can test for this by running DSMSPortable.exe -? and checking for an error code (will typically be negative if the runtimes are not found).
Intended to make installation of game mods possible without having to bundle entire game files. Is capable of:
- Applying CSV edits to a given param file with the -C command
- Applying param edits in the form of DS Map Studio "massedit" scripts with the -M command
- Adding new rows via massedit scripts with the -M+ command (nonexistent id's will be created and populated with default values)
- Exporting params to CSV with search queries or mass exporting with the -X command
- Exporting changes between two param files as a single massedit script with the -D command
- Converting CSV edits to massedit scripts with the -C2M command
- Removing rows from params with the -R command
- Upgrading param files with the -U command (Elden Ring supported up to v1.08.1)
- Merging FMG edits & adding new FMG entries to msgbnd files with the --fmgmerge and --fmgentry commands
- Merging new textures and layouts into TPF and sblytbnd files with the --texturemerge and --layoutmerge commands
Usage:
DSMSPortable [paramfile] [-G gametype] [-P gamepath] [-U oldvanillaparams] [-C2M csvfile1 csvfile2 ...] [-C csvfile1 csvfile2 ...] [-M[+] masseditfile1 masseditfile2 ...] [-X paramname1[:query] paramname2 ...] [-D diffparamfile] [-O outputpath]
DSMSPortable --fmgmerge [msgbndfile] [fmgfile1 fmgfile2 ...] [-I]
DSMSPortable --fmgentry [msgbndfile] [name1:id1:text1] [name2:id2:text2] ...
DSMSPortable --texturemerge [tpffile] [ddsfile1 ddsfile2 ...] [-I]
DSMSPortable --layoutmerge [sblytbndfile] [layoutfile1 layoutfile2 ...] [-I]
Use the -? flag for more detailed usage information, and consult the "Example" folder for a demonstration on how to make your own mod installer.
For feedback or for anyone willing to collaborate on this, I'm always available at my discord server at
https://discord.gg/7ZxT9mT