This project is a port of slippi-js to modern .NET while maintaining a similar API surface.
Internally an attempt is made to use stack-allocated System.Span<byte> wherever possible.
This package is available on nuget.org and can be referenced by adding a <PackageReference> to your project like:
<ItemGroup>
<PackageReference Include="Slippi.NET" Version="0.8.0" />
</ItemGroup>Just as in slippi-js, the main entrypoint is SlippiGame, taking either a filepath or a byte buffer.
SlippiGame game = new SlippiGame('./game.slp');
// do things with gameSee src/FileReadingTestApp for a concrete example.
Create a new DolphinConnection and call Connect with an IP address and port. You can listen to the
events defined on the base Connection class for updates and information on the Dolphin instance. Currently this is only supported for Windows.
If Dolphin is local, you can use 127.0.0.1. The Ports enumeration provides common values for ports, with Default (51441) being the standard
one that Dolphin uses.
You can find an example in src/DolphinConnectionTestApp/.
Restore and build Slippi.NET.sln from the root of the project.
Currently all projects target .NET 8+ to make use of the latest Span improvements to the standard library.
You will also need a native MSVC toolchain to build the DolphinENet project.
The Slippi.NET.Tests contains all unit tests for the project. All tests have been ported from slippi-js.