Yarhl is a library for ROM Hacking and fan-translation projects. It provides a virtual file system, file format and format conversion features and plugin support. It's built in C# / .NET and works in Windows, Linux and Mac OS X.
NuGet | |
---|---|
Build & Test | |
Quality report |
Documentation
Feel free to ask any question in the project Discussion site!.
Check our on-line API overview: Yarhl in a nutshell and the complete API documentation here.
Install
Stable releases are available from nuget.org:
The libraries only support the latest version of .NET and its LTS (.NET 6).
Preview releases can be found in this
Azure DevOps package repository.
To use a preview release, create a file nuget.config
in the same directory of
your solution (.sln) file with the following content:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="SceneGate-Preview" value="https://pkgs.dev.azure.com/SceneGate/SceneGate/_packaging/SceneGate-Preview/nuget/v3/index.json" />
</packageSources>
</configuration>
Build
The project requires to build .NET 6.0 SDK and .NET Framework 4.8 or latest Mono. If you open the project with VS Code and you did install the VS Code Remote Containers extension, you can have an already pre-configured development environment with Docker or Podman.
To build, test and generate artifacts run:
# Only required the first time
dotnet tool restore
# Default target is Stage-Artifacts
dotnet cake
To just build and test quickly, run:
dotnet cake --target=BuildTest