Skip to content

Releases: cmkushnir/NMSModBuilder

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.

4.22.0.0

07 May 16:18
91ecd97
Compare
Choose a tag to compare
  • Initial parsing of .BNK items.
  • Add Log.Filter property
  • Add CompressionLevel property to PAK.Item.Data objects.
  • Add bool IncludeLoose property to scripts and corresponding Include methods to manually include loose files.
  • cmkNMSReleases.txt now optionally supports time of release, for cases where multiple game releases come out on same day.
  • Alt-Up, Down, Left, Right will scroll to First, Last, Prev, Next search match in text viewer.
  • Alt-W, S, A, D will scroll to First, Last, Prev, Next diff in text diff viewer.
  • cmk.NMS.PAK.XML.Data now includes System.Xml.XmlDocument XmlDocument property with parsed xml data
  • ... see change.log for complete list.

4.12.0.4

21 Mar 02:58
084b30b
Compare
Choose a tag to compare

Requires libmbin >= 4.12.1.1 (included)

  • change:
    • Add Sleep(1) hack to Log.Add method (will likely be removed in future version)
    • Add AutoSelect to custom listbox control, set to false
      for search tab lists so as to not cause a flood of
      selection changed events after search completes,
      each of which would call clipboard settext.
  • update:
    • Octokit NuGet package from 5.0.0 to 5.0.2.
    • Roslyn NuGet package from 4.4.0 to 4.5.0.

4.10.0.0

03 Mar 01:29
ba4e23d
Compare
Choose a tag to compare

Requires libmbin >= 4.10.0.2

  • fix:
    • NMS.PAK.MBIN.Data.Save was not passing Log to libmbin methods,
      thus potentially loosing any errors reported by libmbin.
    • PAK Item tab not reloading item if it's pak is updated e.g. mod pak rebuilt.
    • script ProgressReport no longer takes script object as a parameter to
      remove the chance of it accidently pinning the script assembly.
    • NMSAttribute.Size was mislabled as Length.
  • change:
    • handle changes introduced in NMS "4.1".
    • refactor how NMSAttribute's are queried and handled.
    • refactor how MBINC enums and fake enum's are handled.
    • libMBIN tab enum list now shows bitmap enums in bold,
      and values as binary with hex and dec value in tooltip.
  • add:
    • libmbin API tab, add enum name to array fields indexed by an enum.
  • update:
    • Octokit NuGet package from 4.0.3 to 5.0.0.
    • Pfim NuGet package from 0.11.1 to 0.11.2.

4.6.0.4

24 Dec 02:16
8772e4d
Compare
Choose a tag to compare

4.6.0.4: libmbin >= 4.6.0.1

  • add:
    • selecting a result in one of the search tabs will copy the item path to the clipboard.
    • when the right pak item tab selection changes, the left search tabs will
      try to find and select an entry that contains the path. does not change
      current selection if no match found.
    • double-clicking a script error log item will select that script,
      scroll to error location, set cursor to error location, and set focus to editor.
  • change:
    • Dialog.SelectFolder now uses System.Windows.Forms.FolderBrowserDialog
      instead of custom WPF cmk.SelectFolderDialog.
    • Log viewers shows selected line with yellow background.
    • Auto-scrolling ListBox sets selected item to last item when item added.
  • update:
    • Code completion symbols.
    • Tooltips.
    • Avalon Edit NuGet package from 6.1.3.50 to 6.2.0.78.
      Minor bug fixes and changes framework dep from .NET 5 to .NET 6.

4.6.0.3

05 Dec 13:04
334ea0f
Compare
Choose a tag to compare
  • fix
    • MBINC class support older libmbin w/o implicit string conversion methods.
    • saving a pak item with multiple '.' in name was truncating part of name,
      e.g. WARPLARGEPORTAL.SCENE.MBIN => WARPLARGEPORTAL.MBIN
  • change:
    • add assembly name and version to "is a blah not a blah" error messages
      e.g. "path is a blah not a blah" => "path is a libmbin:4.3.0.1 blah not a libmbin:4.6.0.1 blah"
    • double-click main icon in recipe tab opens dds in PAK Item tab,
      previously only did this for substance, product, technology tabs.
      Ingredient icons do not pass double-click to parent, so they don't work.
    • resize PAK Item tab viewer icons to match other icon sizes.
    • first line of ebin from "EBIN: " to "EBIN "
      to make it easier to parse by 3rd party tools.
  • add
    • Language tab double-click on entry opens entry in right-side PAK Item tab.
  • update:
    • Octokit NuGet package from 4.0.2 to 4.0.3.

4.6.0.2

25 Nov 15:28
334ea0f
Compare
Choose a tag to compare
  • fix:
    • public AS_T CreateMbin<AS_T>( string PATH, bool NORMALIZE = true, AS_T NMSTEMPLATE = null, bool LOG = true )
      Wasn't creating a header for the raw mbin stream when passed a NMSTEMPLATE.
  • update:
    • Octokit NuGet package from 4.0.1 to 4.0.2.
    • MS Roslyn NuGet package from 4.3.1 to 4.4.0.

4.6.0.1

24 Nov 17:49
334ea0f
Compare
Choose a tag to compare
4.6.0.1 Pre-release
Pre-release
  • fix:
    • uncomment Reset call when file changed, was preventing compiled assembly from being
      released when a script was edited externally, which in turn prevented the toolbar
      buttons from updating, which in turn prevented recompiling the assembly.
  • change:
    • PAK Item tab Paste now uses regex to extract item path from clipboard text.
    • number of warnings and failures added to Build tab "Finished executing all mods ..." log entry.
    • ebin highlighting for enum assignments e.g. fooEnum.bar in "blah = fooEnum.bar"
    • public AS_T CreateMbin<AS_T>( string PATH, bool NORMALIZE = true, bool LOG = true )
      to
      public AS_T CreateMbin<AS_T>( string PATH, bool NORMALIZE = true, AS_T NMSTEMPLATE = null, bool LOG = true )
  • add:
    • Summary of multiple scripts that extracted a given modified item rolled into app instead of being in script.
    • PAK Item tab has another toolbar combobox to select the lhs pak item tree.
      Can only select if rhs tree is a mod.

4.6.0.0

08 Nov 22:46
966f864
Compare
Choose a tag to compare

libmbin >= 4.5.0.2

  • add:
    • Search Text tab now has optional path filter.
  • change:
    • modified lines in text diff views now highlight modified pieces, not just lines,
      the diffplex alg to identify modified pieces is 'per word' so hex diff will not be exact.
    • ebin will now print header, even if it can't decompile mbin (so can see header version | guid).
    • Scripts.csproj target updated to match app in order to remove warning when using in VS or VS Code.
  • fix:
    • util (Global) script enum's,and cmk mod scripts, broken by recent game update.

4.5.0.0

22 Oct 10:01
d6cdecd
Compare
Choose a tag to compare

includes and requires libmbin >= 4.4.0.3

  • fix:
    • Log GUID mismatch was checking mbin header class guid not raw guid,
      so would never log a mismatch warning.
  • update:
    • Octokit NuGet package from 4.0.0 to 4.0.1.
  • change:
    • conflict mod paks sorted by load order (was sorted by mbinc version then load order).
    • game pub release versions are formatted as #.## or #.##.#.
      exp releases use 4th version part and are formatted as "#.## exp #" or "#.##.# exp #".
    • mbinc pub version formatted as "#.##" or "#.##.#".
      mbinc pre version formatted as "#.##.#-pre#" if command-line pre option specified, else "#.##.#.#".
    • 'play-as' changed to 'profile' in code and documentation.
    • substance, product, tech tabs move ID after name (compress view of data).
  • add:
    • detected Xbox Game Pass instance can auto-load on start using lx command-line option.
    • command-line option pre, to use pre notation for mbinc versions.
    • text editor search box now shows previous result index based on cursor position
      e.g. "10 / 32" instead of just "32".
    • compiler Analyzer NMSMB0001: error if a script contains a static field or property,
      they can lead to the generated Assembly being pinned, which prevents them and the containing ALC from being unloaded.
    • substance name now includes its symbol.
    • libmbin api tab, add selected struct guid to name in toolbar.
    • pak item tab, add mbin header guid to ebin (2nd line, before path).
    • PAK Item tab toolbar now includes buttons for all available viewers|differs for selected item,
      including any added by plugins.
    • hex viewer that can be used to view any pak item.
      note: hex differ is per line, but doesn't highlight the changes on the line,
      a future update may fix this by updating the text diff logic to return and highlight sub-line changes.
    • substance, product, tech tabs have toggle button on toolbar to incude requirement ids & names in search.
    • recipe tabs have toggle button on toolbar to incude ingredient ids & names in search.