ModShardDiff 0.4.0

dotnet tool install --global ModShardDiff --version 0.4.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local ModShardDiff --version 0.4.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=ModShardDiff&version=0.4.0                
nuke :add-package ModShardDiff --version 0.4.0                

ModShardDiff

A cli tool to export differences between two .win files from the same GameMaker-based game.

[!NOTE]
This tool relies heavily on UTMT.

What will I get from this tool ?

MSD will export in seperate files the following:

  • list of added and removed Codes in txt
  • list of added and removed GameObjects in txt
  • list of added and removed Rooms in txt
  • list of added and removed Sounds in txt
  • list of added and removed Sprites in txt
  • list of added and removed TexturePageItems in txt
  • added Codes in gml
  • added GameObjects in json
  • added Sprites in png
  • modified diff Codes in html
  • modified diff GameObjects in html
  • modified Sprites in png
  • list of modified Sprites origin in txt

The diff for Codes and GameObjects is made using the diff-match-patch lib, and the html export relies on this same api.

How can I install it?

  1. Install the latest .NET Core SDK.
  2. Run dotnet tool install --global ModShardDiff.

How can I use it?

Using the CLI:

To compare data_modified.win from data_vanilla.win and export the results in the folder PATH/TO/EXPORT, run msd -n data_modified.win -r data_vanilla.win -o PATH/TO/EXPORT.

Known issues

This tool assumes that each element (Codes, GameObjects, Sprites, ...) is named with a unique name. If for any reasons, some elements share the same name (for instance two Codes using the same name), the tool will export only one (and maybe the one you are not interested in).

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.4.0 105 6/4/2024
0.3.0 146 4/11/2024
0.2.0 156 4/10/2024
0.1.0 176 4/9/2024