Knuxfan24 / Sonic-06-Randomiser-Suite

An all in one software suite for randomising various elements in Sonic '06 on the Xbox 360 and PlayStation 3.
MIT License
10 stars 0 forks source link
playstation-3 randomiser sonic-06 sonic-the-hedgehog xbox-360

Sonic '06 Randomiser Suite

An all in one software suite for randomising various elements in Sonic '06 on the Xbox 360 and PlayStation 3.

Building

To build the Randomiser Suite, simply clone the project and its submodules using a git based solution (such as GitHub Desktop) and open the MarathonRandomiser.sln file in a recent version of Visual Studio (anything supporting .NET 6 should work fine, all the development was done using versions of Visual Studio 2022) and then compile it as normal, if the build fails it may be due to missing Nuget Packages, as the project uses Marathon for interfacing with Sonic '06's file formats, HandyControl for much nicer looking UI controls, Ookii Dialogs for better file and folder browsing, SharpCompress for extracting Voice Pack zip archives and NAudio for WAV Normalisation; ensuring that all five of those are present and accounted for should resolve any compile errors. Also check that XNCPLib and Amicitia.IO are both building as well, as they are needed for the User Interface Randomisation.

Compile warnings will be thrown regarding Possible null reference arguments and Dereferences of a possibly null reference but both of those have never caused any problem for me.

Usage

For a proper run down on the features and information on configuring and using the Randomiser Suite, check out the Wiki. For the basic functionality, see below.

Features

Object Placement Randomisation

Randomisation of various elements within '06's Object Placement (.set) files, these are:

A lot of the Object Placement features can be further randomised, see the Wiki for more information.

Event Randomisation

Randomisation of various elements within the EventPlaybook.epb file that handles various factors of the game's cutscenes, these are:

Scene Parameter Randomisation

Randomisation of various values within the game's scene lua binaries (.lub) files, these are:

Animation Randomisation

Randomisation of various animation elements, such as:

Model Randomisation

Randomisation of colouring elements within Ninja models, alongside the option to apply a random cosmetic scale value to player models.

Texture Randomisation

Shuffling of textures, with options for cross archive randomisation.

Audio Randomisation

Shuffling of ingame stage music and sound effects.

Text Randomisation

Modification of various attributes relating to the game's text within the message tabe (.mst) files. These are:

User Interface Randomisation

Randomisation of various bits of data within the game's User Interface (.xncp) files. These are:

Random Episode Generation

Generates an episode that plays through all 45 stages in a random order (A configurable amount of Town Missions can also be included in this episode), starting from a custom stage select. If the Very Hard Mode DLC archives are provided, then there is a 1/3 chance for each stage to swap its DLC version in.

Miscellaneous Randomisation

Randomisation of miscellaneous elements across one off files, these are:

Custom Elements

Allows the user to add custom elements to the Randomisation, these being: