Skip to content

Releases: hyperbx/Marathon

Marathon - Release 1.0.61

07 Mar 01:02
Compare
Choose a tag to compare

Changes

  • 0435d7f Added GetTotalSize function for retrieving the total byte count of nested data in an ArchiveDirectory.
  • 4f7f312 Added BinaryHelper class with some functions to make byte lengths more human readable.
  • 03a2812 Added preliminary Ninja reading and writing.
  • d1f08c2 Added more known flags for SonicNextSaveData and made SonicNextFlags use StringEnumConverter, making the JSON exports a bit more human readable.
  • fd2eac7 Improved readability of decompiled results from Lua bytecode, using more IDA-styled naming conventions for unknown locals and arguments.
  • dfe7334 Made ObjectDataType use StringEnumConverter, making the JSON exports a bit more human readable.
  • 73c8300 Implemented ByteArrayConverter for JSON conversion with unknown data.
  • 2247b3e Implemented a parser for the CompletelyUnknownData segment of ParticleEffectBank.
  • 47f8e6a Added support for Windows (x64), Linux and macOS.

Fixes

  • 18c0df8 Fixed the logger wrapping entire logs in square brackets, rather than just the caller.

Marathon - Release 1.0.34

27 Nov 20:02
Compare
Choose a tag to compare

Changes

  • d33572f Added LeaveOpen property to FileBase to allow the stream to be left open.
  • d41813d Reimplemented CreateDirectories to U8Archive to allow you to create an archive structure based on a local directory.
  • 2a9867c Reimplemented SonicNextSaveData, now with a more complete specification at 98.86% cracked.
  • f416485 Added ReadNullPaddedString to BinaryReaderEx to make reading hard-coded string lengths easier without null characters getting in the way.
  • b325ff0 Reimplemented GetFiles to ArchiveHelper to allow you to enumerate all files in an archive into a single list.
  • f159028 The minimum .NET version is now .NET 6.0 to utilise some of the C# 10 features.
  • 6c6d99a Added error logging to the command-line interface (if an exception occurs, Marathon.CLI.log should now appear next to the executable).

Fixes

  • 88f6886 Fixed an underlying issue with the archive writer causing uncompressed archives to write the incorrect sizes.
  • f3d8c06 Fixed the BINA writer not using the correct encoding (fixes BINA-formatted files not writing Japanese characters correctly).

Marathon - Release 1.0.0

01 Nov 17:36
Compare
Choose a tag to compare

Welcome to Marathon!

Let's get up-to-date, shall we? Sonic '06 Toolkit has been discontinued for almost a year and in that time, we've certainly improved regarding reverse-engineering and general software development. This release presents the step up we've taken since the last release of Sonic '06 Toolkit, and while this doesn't have a GUI yet, I hope our efforts towards at least allowing a lot of these previously unknown formats to be editable suffices in this release.

Why "Marathon"?

"Marathon" is one of the internal names used by SONIC THE HEDGEHOG, along with "SonicNext". The original PE header name for the Xbox 360 executable is marathon.exe, so that may actually be the proper internal name. I chose the name because Sonic Team used it, it's as simple as that.

What is there to offer in this release?

Marathon supports a multitude of formats that were previously unknown in the Sonic '06 Toolkit days. The available formats are listed in the repository's README document, so please head over there to see what's new. Alternatively, the command-line interface displays all of the supported serialisable formats if you open the application without a file.

Is Marathon complete?

Far from it... Marathon is certainly still a work-in-progress, but I feel like now is the right time to make a public release with our current work, as everything is now up to a more acceptable standard than Sonic '06 Toolkit or the earlier revisions of Marathon. A command-line tool existing alone is certainly a lot more friendly than asking newcomers to build Marathon and write C# code to edit the formats.

There are still some formats that we haven't fully cracked, so you may see remnants of that for certain exports with unknown data. If you can figure out what any of that does though, feel free to reach out.

How do I use Marathon?

Marathon can be used in two ways; as a C# API or as a command-line interface. There will be documentation available at a later date regarding the C# API, but the command-line interface is as easy to use as dragging supported files into it.

Depending on the format, the file's contents will be exported to JSON, which you can then make your changes in. As long as the extension is left intact, Marathon will automatically detect which format you exported and create a new file with your changes.

If you want to rename the JSON, just make sure you leave the full extension. For example; if you export a Message Table, ensure that the JSON uses the *.mst.json extension before dragging back into Marathon.

Where do I get the C# library?

Marathon is available on NuGet - you can download and use the latest release available from there and it'll be updated for every push to this repository.

This feels like a README.

Yeah, it kinda does, doesn't it?

Sonic '06 Toolkit - Version 3.14

27 Jan 04:21
Compare
Choose a tag to compare

► Use ArcPacker instead of Arctool (fixes an issue with the repacker ceasing function due to the Win32 API).
► Added feedback if there's a .NET settings issue.

This may be the last release of Sonic '06 Toolkit for Environment 3 - this codebase is now obsolete. Stay tuned for Environment 4!

image

Sonic '06 Toolkit - Version 3.13

21 Dec 19:04
Compare
Choose a tag to compare

► Implemented batch XNM decoder.

image

Sonic '06 Toolkit - Version 3.12

14 Dec 13:45
Compare
Choose a tag to compare

► Added loop options for ATRAC3plus.
► Optimised standalone sound decoder for ATRAC3plus.
► Redesigned Sonic Sound Studio.
► Added volume control to Sonic Sound Studio.

image

Sonic '06 Toolkit - Version 3.11

05 Dec 20:18
Compare
Choose a tag to compare

► Fixed invalidated repack sessions.

image

Sonic '06 Toolkit - Version 3.1

03 Dec 00:12
Compare
Choose a tag to compare

► Fixed unhandled exception when creating a new ARC with another tab open.
► Added modifier keys to all SDK menus for external file modification (hold SHIFT to use).

image

Sonic '06 Toolkit - Version 3.09

24 Nov 18:54
Compare
Choose a tag to compare

► Added warning if the user attempts to close the application when an archive is repacking.
► Improved Session Log UI and resizing.

image

Sonic '06 Toolkit - Version 3.08

23 Nov 06:01
Compare
Choose a tag to compare

► Added verification for application dependencies, which allows for dependency updates on the fly.
► Improved Session Log UI.
► Improved application stability.
► All processed paths are now decoded to help with virtual machines accessing drives on Unix systems (the most oddly specific error, I know).

image