HeroesONE-R
1.0.0
dotnet add package HeroesONE-R --version 1.0.0
NuGet\Install-Package HeroesONE-R -Version 1.0.0
<PackageReference Include="HeroesONE-R" Version="1.0.0" />
<PackageVersion Include="HeroesONE-R" Version="1.0.0" />
<PackageReference Include="HeroesONE-R" />
paket add HeroesONE-R --version 1.0.0
#r "nuget: HeroesONE-R, 1.0.0"
#:package HeroesONE-R@1.0.0
#addin nuget:?package=HeroesONE-R&version=1.0.0
#tool nuget:?package=HeroesONE-R&version=1.0.0
HeroesONE-R
HeroesONE-R is a C# library that can read/write .ONE files from Sonic Heroes (2003/2004) and Shadow The Hedgehog (2005). This version uses prs-rs for PRS decompression/compression and should be used over the other releases in most cases.
Usage Example
var oneFile = "example.one"; // path to a .one file
ONEArchiveType archiveType = ONEArchiveTester.GetArchiveType(ref oneData);
var oneDataContent = Archive.FromONEFile(ref oneData);
// ...
// edit content, in this case replacing the data of the first file in the .one, but persisting the internal name and RW metadata
datOneDataContent.Files[0].CompressedData = Prs.CompressData(contentEdited).ToArray();
// ...
var updatedDatOneData = datOneDataContent.BuildShadowONEArchive(archiveType == ONEArchiveType.Shadow060);
File.WriteAllBytes("example-edited.one", updatedDatOneData.ToArray());
Example Projects
This library was primarily written for HeroesONE-Reloaded, a WinForms GUI frontend for editing ONE archives. That repo contains the history of the prior HeroesONE project, and also houses the .NET Framework version of this library using csharp-prs.
ShadowRando - A Shadow the Hedgehog Randomizer, leverages this library to read .ONE files to replace spline data. HeroesPowerPlant - A full level editor for Sonic Heroes and Shadow the Hedgehog, leverages this library for getting and editing game assets such as geometry, collision, models, and more.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- prs_rs.Net.Sys (>= 2.0.3)
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.0.0 | 87 | 1/30/2026 |