This project provides .NET bindings for MechWarrior 3 Asset Extractor (mech3ax
).
Obviously, this is an unofficial fan effort and not connected to the developers, publishers, or rightsholders. Join us on MW3 Discord!
See CHANGELOG.
The development SDK is the LTS .NET 6.0 SDK.
The main library targets .NET Standard 2.1 for Unity compatibility (netstandard2.1
). The unit and functional tests target .NET 6.0 (net6.0
).
Also required are mech3ax native dependencies, e.g. for version 0.6.1:
mech3ax-0.6.1.dll
(Windows x64)libmech3ax-0.6.1.so
(Linux x64)libmech3ax-0.6.1.dylib
(MacOS x64/ARM)
Put one or more into the Mech3DotNet/
directory for testing.
Simply run dotnet test
, or for a more verbose output:
dotnet test --logger "console;verbosity=detailed"
This requires one or more compatible game files. For example, this might be C:\Program Files (x86)\MechWarrior 3
on Windows. On other platforms, you may have multiple versions for testing in a folder:
$ ls -1 "$HOME/Documents/mw3/"
v1.0-de-patched/
v1.2-us-patched/
The tests will recurse into the specified folder, and execute the roundtrip tests for all matching files. So:
dotnet run --project RoundtripTests "$HOME/Documents/mw3/"
will run the tests against both versions.
- Review changelog, and add the date
- Bump version in
Mech3DotNet/Properties/AssemblyInfo.cs
andRoundtripTests/Properties/AssemblyInfo.cs
- Commit, push, and wait for CI
- Create a tag of the version (e.g.
git tag -a v0.1.0 -m "2024-02-10" -s
) - Push the tag (
git push origin v0.1.0
) - The build will automatically create a release as a draft
- Add changelog items to the release notes via the GitHub web interface
- Publish the release via the GitHub web interface
Licensed under the European Union Public Licence (EUPL) 1.2 (LICENSE or https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12).