Skip to content

Releases: cmkushnir/NMSModBuilder

4.64.0.0

11 Apr 22:48
f1549a6
Compare
Choose a tag to compare

NOTE: first release that requires .NET 8

libmbin.dll & mapping.json >= 4.64.0.2 (included)

  • add:
    • cmkNMSConfig.json ... finally broke down and added a config file.
      Currently only holds diff colors used when view text diffs in Pak Item tab.
      e.g. change highlight colors to increase contrast or for color blindness.
  • change:
    • .NET 8 required.
      This removes some of the .NET 8 System.*.dll's that were being added to the nmsmb folder
      by 3rd party API's e.g. Roslyn.
    • Ebin moved top-level class guid from first line to 3rd line beside class name.
    • Tech tab list changed back to virtual, initial load time was too long when not virtual.
    • Conflicts tab no longer shows conflicts due to _SCRIPTS folder.
  • fix:
    • Reworked CompilerAssemblies.txt to not load from both the .NET core folder
      and overrides in the app folder e.g. System.Text.Json.dll. Now first loads unique names from
      app folder then adds unique names from .NET core folder, so only version in app folder will be loaded.
    • cmk.NMS.Script.ModFiles:ReleaseModCollection was calling DispatcherBeginInvoke instead of DispatcherInvoke
      which resulted in a race that could prevent the script assemblies from unloading from the AssemblyLoadContext.
      Using the Newtonsoft or System.Text.Json classes in a script can also cause this, possibly because of the static's in:
      https://source.dot.net/#System.Text.Json/System/Text/Json/Serialization/JsonSerializer.Write.HandleMetadata.cs,2ca342a99419a245
      ... other .NET or 3rd party classes may cause the same issue.
  • update:
    • Octokit NuGet package from 10.0.0 to 11.0.0.

4.60.0.0

27 Mar 15:53
431724e
Compare
Choose a tag to compare

libmbin.dll & mapping.json >= 4.60.0.1 (included)

  • add:
    • int indexers to NMS.Game.Save.Node to be used with JsonObject or JsonArray types.
    • Show date-time stamp for save files.
    • FindFirst method added to NMS.Game.Save.File, Data, Node, to find first named node
      using breadth-first search.
  • change:
    • Add last write date to save file name displayed in Save File tab combobox.
    • Sort save files in Save File tab combobox by last write date, descending order.
    • Remove support for Game Pass save files, they aren't in same format as gog and steam.
    • Increase mem threshold from 16GB to 24GB for mbin text caching in Text Search tab;
      mbin.pc text caching threshold is still 32GB. i.e. if you have less than the
      threshold amount the text caching will be disabled, the search will still work.
    • If GitHub is enabled then auto-update mapping.json if it's version doesn't match
      the current linked limbin.dll version.
    • Disable game button if current libmbin.dll is incorrect.
    • Tech tab list changed from virtual to normal to improve scroll response at expense of initial load time.
  • fix:
    • Save File tab missing icon for refresh files button.
    • cmk.IO.Path was adding trailing slash to files w/o extensions (Game Pass save files).
    • Game Pass save file collection included other files.
  • update:
    • Roslyn NuGet package from 4.8.0 to 4.9.2.
    • Octokit NuGet package from 9.1.2 to 10.0.0.
    • K4os.Compression.LZ4 NuGet package from 1.3.6 to 1.3.8.

4.50.0.0

14 Feb 21:23
1c9c9ad
Compare
Choose a tag to compare

4.50.0.0: libmbin >= 4.49.0.2 (included)

  • add:
    • Save file viewer. Will automatically find save files for loaded game instance.
      Can also load loose save files. Save files can be queried and modified using
      query scripts e.g. copy data from one save file to another.
      Requires mapping.json and libmbin.dll to be for same release;
      added error message to game button tooltip if mapping.json and libmbin.dll
      version don't match.
      Currently in beta, untested. Does not create or update mf_save.hg files.
      Does not create or update any save index files.
    • Hex view of byte mbin data. Double-click on [[...]] values in PAK Items mbin view
      to convert the base64 to byte[] then to a hex dump string, then display the
      hex dump string in a popup window.
    • NuGet package SpookilySharp 1.2.0. Only used in edge-case where script sets
      a json name that isn't in mapping.json. SpookilySharp used to gen the name hash.
  • change:
    • Add link in about dialog for ClosedXML (used to export to Excel .xlsx files).
    • Update util and query scripts to show how to export data to an Excel .xlsx file.
    • Do not need to restart app when deleting DISABLEMODS.TXT file.
    • Added a few more dll's to CompilerAssemblies.txt [Application] section so they can be used in scripts.

4.48.0.1

03 Feb 20:49
4b5e3ba
Compare
Choose a tag to compare
  • change:
    • Add link in about dialog for ClosedXML (used to export to Excel .xlsx files).
    • Update util and query scripts to show how to export data to an Excel .xlsx file.

4.48.0.0

02 Feb 19:08
e27fe71
Compare
Choose a tag to compare

4.48.0.0: libmbin >= 4.47.0.1

  • add:
    • Save as Text button added to language tab.
      Only enabled if a search filter has been applied.
      Creates a .txt file with pairs of rows: id then text.
    • Save as Excel button added to language tab.
      Only enabled if a search filter has been applied.
      Creates an .xlsx file with one worksheet; the name of the worksheet is the search text.
  • change:
    • cmk.NMS.Game.Location.Data:
      • DiscoverGamePassViaPackageManager resolves any link target for game path.
      • DiscoverGamePassViaGamingRoot gets version from MicrosoftGame.config in game folder.
  • fix:
    • recent Roslyn update broke .editorconfig support (again).
  • update:
    • Octokit NuGet package from 7.1.0 to 8.1.1 to 9.1.2.
    • Roslyn NuGet package from 4.7.0 to 4.8.0.
    • DiffPlex NuGet package from 1.7.1 to 1.7.2.

4.41.0.0

03 Sep 00:37
3123750
Compare
Choose a tag to compare

libmbin >= 4.41.0.1 (included)

  • add:
    • CompilerAssemblies.txt file in app folder. Contains lists of .NET dll's that should be loaded into Roslyn host in order to compile and execute scripts. The dll's should be compatible with the .NET version used to compile the app.
  • update:
    • K4os.Compression.LZ4 NuGet package from 1.3.5 to 1.3.6.
    • Octokit NuGet package from 7.0.1 to 7.1.0.
    • Roslyn NuGet package from 4.6.0 to 4.7.0.

4.37.0.1

17 Jul 19:59
dbbb781
Compare
Choose a tag to compare

libmbin >= 4.37.0.1 (first .NET 6 version)

  • add:
    • error message in tooltip and log if installed libmbin.dll incorrect version for selected game instance.
    • error message in tooltip and log if the nms/gamedata/*banks/ or nms/gamedata/*banks/mods/ folder not found.
    • warning message in tooltip and log if *BANKS/DISABLEMODS.TXT file is present.
  • fix:
    • AddDecal mod script was missing function call to create scene mbin (not sure how that happened).
  • update:
    • Octokit NuGet package from 7.0.0 to 7.0.1.

4.36.0.0

04 Jul 12:05
f6f4dee
Compare
Choose a tag to compare

libmbin >= 4.36.2.1 (included)

  • change:
    • prompt to delete existing mod pak when save instead of execute.
  • add:
    • category combobox to item tabs to restrict displayed items to selected category.
  • fix:
    • HGPAK builder did not check items for IsEdited flag, resulting in it adding all items to new pak.
    • Modify_HGPAK and Toggle_Pak_Format query scripts didn't mark extracted data as IsEdited,
      resulting in no items to add to new pak file.
  • update:
    • Octokit NuGet package from 6.0.0 to 7.0.0.

4.30.0.1

13 Jun 20:05
2791f4e
Compare
Choose a tag to compare

libmbin >= 4.30.0.1

  • update:
    • change all PCBANKS code to support MACOSBANKS in addition to PCBANKS.
    • Game.PCBANKS renamed to Game.BANKS to reflect support for MACOSBANKS folder.
      This is may be a breaking change for some scripts,
      just rename PCBANKS to BANKS in scripts.
  • fix:
    • HGPAK Loader|Builder wasn't handling case where LZ4Codec.Encode returned 0 i.e. testing < 0 instead of <= 0,
      resulting in 0 length blocks being stored in pak instead of uncompressed block data.

4.30.0.0

12 Jun 16:23
bd64260
Compare
Choose a tag to compare

libmbin >= 4.30.0.1 (included)

  • add:
    • support for read|write HGPAK pak files (MacOS).
    • pak type combobox (PSARC or HGPAK) on Build tab to select type created when Save.
    • K4os.Compression.LZ4 1.3.5 NuGet package, used by HGPAK pak files.
  • update:
    • Octokit NuGet package from 5.1.0 to 5.0.0.
    • Roslyn NuGet package from 4.5.0 to 4.6.0.