MupenSharp 1.1.2
dotnet add package MupenSharp --version 1.1.2
NuGet\Install-Package MupenSharp -Version 1.1.2
<PackageReference Include="MupenSharp" Version="1.1.2" />
paket add MupenSharp --version 1.1.2
#r "nuget: MupenSharp, 1.1.2"
// Install MupenSharp as a Cake Addin #addin nuget:?package=MupenSharp&version=1.1.2 // Install MupenSharp as a Cake Tool #tool nuget:?package=MupenSharp&version=1.1.2
MupenSharp
MupenSharp is a .Net Standard library to interface with .m64 files for reading and writing.
This library is designed to assist in reading and writing .m64 files for the Mupen64 application. By using MupenSharp, you do not need to manually process the file's header or encoding types, as it is all maintained within this library.
For more specific information on the filetype's header layout, please refer to the TASVideos page which documents the format.
Documentation
You can view the documentation anytime here!
Overview
What is Mupen64?
Mupen64 is an emulation tool designed and used for Tool-Assisted Speedrunning Nintendo 64 titles. It is largely used by the Super Mario 64 TASing community, with various application version for video playback recording and LUA plugin support.
What is a .m64 file?
The .m64 file is the movie playback file which holds the inputs of a TAS. This file is made and read by Mupen64 and holds information for the game title, ROM CRC, region code, and other information to ensure a valid emulation can be played back.
Why make MupenSharp?
There are several applications that exist that allow a user to edit or combine files, such as the .m64 editor built into the TAS tool STROOP, which is used by the SM64 TASing community. The goal of this library is to provide a simple interface for all future applications to manage these files.
How to use?
In order to read a .m64 file, you can do the following:
using MupenSharp.Models;
using MupenSharp.FileParsing;
using MupenSharp.Enums;
const string file = "C://path/to/file.m64";
M64 m64 = MupenV3Parser.Parse(file);
Console.WriteLine($"Author(s): {m64.Author}");
Console.WriteLine($"ROM name: {m64.RomName}");
var frameCount = 1;
foreach (var inputFrame in m64.GetControllerInputs(Controller.ControllerOne))
{
Console.WriteLine($"Frame {frameCount++}:\t{inputFrame}");
}
An example console output would be:
Author(s): Phillip Smith
ROM name: SUPER MARIO 64
Frame 1: (0, 0)
Frame 2: (0, 0)
Frame 3: (0, 0) Start
Frame 4: (0, 0) Start
Frame 5: (0, 0) Start
...
Frame 259: (-10, 127)
Frame 260: (-10, 127) B
Frame 261: (-21, 127) R
Frame 262: (-30, 127) R
Frame 263: (-35, 127) R
Frame 264: (13, 127) R, B
Frame 265: (13, 127) R, B
Frame 266: (13, 127) R, B
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- AllOverIt (>= 7.26.0)
- JetBrains.Annotations (>= 2024.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.1.2 | 81 | 10/23/2024 | |
1.1.1 | 89 | 10/23/2024 | |
1.1.0 | 91 | 10/23/2024 | |
1.0.3.8 | 577 | 7/11/2021 | |
1.0.3.7 | 385 | 7/9/2021 | |
1.0.3.6 | 375 | 7/9/2021 | |
1.0.3.5 | 455 | 1/7/2021 | |
1.0.3.4 | 397 | 1/5/2021 | |
1.0.3.3 | 373 | 1/4/2021 | |
1.0.3.2 | 390 | 1/4/2021 | |
1.0.3.1 | 446 | 1/3/2021 | |
1.0.3 | 438 | 1/3/2021 | |
1.0.2 | 473 | 1/1/2021 | |
1.0.1 | 406 | 1/1/2021 | |
1.0.0 | 459 | 1/1/2021 |