Releases: cmkushnir/NMSModBuilder
Releases · cmkushnir/NMSModBuilder
5.20.0.0
.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
.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.
- cmkNMSConfig.json supports list of compiler warnings to suppress.
- 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.
- apparent deadlock if user cancels libmbin download when prompted.
5.12.0.1
.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.
- move out of date checker into its own tab.
5.11.0.0
.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.
- cmkNMSConfig.json supports list of compiler warnings to suppress.
- 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.
- apparent deadlock if user cancels libmbin download when prompted.
5.10.0.0
.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.
- since search may be done in parallel you may be missing some in the displayed result sequence
- 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
.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
4.65.0.0
.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
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.
- cmkNMSConfig.json ... finally broke down and added a config file.
- 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.
- .NET 8 required.
- 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.
- Reworked CompilerAssemblies.txt to not load from both the .NET core folder
- update:
- Octokit NuGet package from 10.0.0 to 11.0.0.
4.60.0.0
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.