Skip to content

Releases: cmkushnir/NMSModBuilder

5.20.0.0

23 Oct 18:59
27d525f
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 5.20.0.1

  • add:
    • App.config and App.manifest to make per monitor dpi aware, was system dpi aware.
  • change:
    • search text tab now has a start button to initiate a search.
    • refactor diagnostic filtering code.
    • diagnostic indicator icon reflects worst diagnostic severity: error, warn, info, [none]
    • util/(Global).cs ModelViewsEnum updated with new class name.
    • cmk/Starcharts.cs updated to only explode STARCHART_A to STARCHART_D e.g. not STARCHART_NPC or STARCHART_FRE.
  • update:
    • ClosedXML NuGet package from 0.102.3 to 0.104.1.

5.12.0.0

17 Sep 14:33
5a7face
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 5.10.0.1

  • add:
    • cmkNMSConfig.json supports list of compiler warnings to suppress.
      • these must be set before starting app.
    • Application tab has UI font family and size comboboxes.
      • all listed families are monospaced.
    • conflicts tab now shows out of date mod mbin's i.e. game mbinc version != mod mbin mbinc version.
  • change:
    • script log now shows hidden diagnostics as info e.g. unneeded using statements.
  • fix:
    • apparent deadlock if user cancels libmbin download when prompted.
      • now just downloads without prompting user.
      • if no_github command-line used then won't download and will just fail call.

5.12.0.1

26 Sep 02:28
5a7face
Compare
Choose a tag to compare
5.12.0.1 Pre-release
Pre-release

.NET 8, libmbin.dll & mapping.json >= 5.12.0.1

  • change:
    • move out of date checker into its own tab.
      • can specify other folders to check in config file.
      • has it's own pak item display below the tree of ood items.
      • like the conflicts tab, the ood tab is only display if there are ood items.
      • it can take a long time to gen the diff for some ood mbin's, the app is not hung.

5.11.0.0

08 Sep 10:54
8d0f679
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 5.10.0.1

  • add:
    • cmkNMSConfig.json supports list of compiler warnings to suppress.
      • these must be set before starting app.
  • change:
    • script log now shows hidden diagnostics as info e.g. unneeded using statements.
  • fix:
    • apparent deadlock if user cancels libmbin download when prompted.
      • now just downloads without prompting user.
      • if no_github command-line used then won't download and will just fail call.

5.10.0.0

05 Sep 11:23
b7106af
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 5.10.0.1

  • add:
    • script LogViewer now shows errors & warnings for current script as you type.
    • script editor now shows underlines for script errors & warnings as you type.
    • script list shows error icon for any scripts with warnings or errors as you type.
    • cmkNMSConfig.json supports ScriptDiagnostic{*Color} to set underline color for script errors and warnings.
    • cmkNMSConfig.json supports TextFontFamily and TextFontSize.
      • group category text is fixed to config font size * 1.4 when app starts.
      • does not change tooltip size.
    • DDS search tab has filters for BC compression type and mipmap count.
      • since search may be done in parallel you may be missing some in the displayed result sequence
        if the results count == specified max results i.e. truncated results may not be at end of list.
    • subtitle added to items in substances, products, technologies tabs.
  • change:
    • dds format now includes both the 4 character code and the mapped BC compression type.
    • no longer maintaining support for game pass
      • if curent game pass specific code breaks it will not be fixed going forward.
  • fix:
    • EBIN missing support for new mbinc string types.
    • wrap mbin data SaveFileDialog call in dispatcher invoke call.
    • loading mbinc enum types didn't handle case of dup enum names in diff classes.
    • regex for ebin enum value matching; used to require enum value to be at least 2 char.
  • update:
    • Pfim NuGet package from 0.11.2 to 0.11.3.
    • Roslyn NuGet package from 4.10.0 to 4.11.0.

5.2.0.2

28 Jul 19:27
f0e0656
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 5.1.0.1 (5.1.1.1 included)

  • change:
    • header IsValid check no longer requires libmbin, which allows libmbin's used for viewing to be lazy loaded again.
    • headers now check if first 4 bytes of header timestamp have pre field (4th byte) set,
      if so then uses first 4 bytes for mbinc version, else uses last 4 bytes for mbinc version.

5.2.0.1

28 Jul 02:43
f0e0656
Compare
Choose a tag to compare

Fix:

  • new header code wasn't setting flag to indicate modded mbin was modded, so would be read as a game mbin.
  • new header code was storing mbinc version in last 4 bytes of timestamp field instead of first 4 bytes like mbinc does.

4.65.0.0

01 May 03:36
fd48837
Compare
Choose a tag to compare

.NET 8, libmbin.dll & mapping.json >= 4.65.0.4 (included)

  • change:
    • add support for new mbin version 3250 in header, both reading and writing.
    • remove Log GUID Mismatch option from Application tab.
  • update:
    • Octokit NuGet package from 11.0.0 to 11.0.1.

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.