Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.
/ Knuxs-Misc-Tools Public archive

Random shit that I write hackily to make some of my stuff easier and research random things.

Notifications You must be signed in to change notification settings

Knuxfan24/Knuxs-Misc-Tools

Repository files navigation

This repository is considered obsolete now and should only be used for formats that aren't yet included in my KnuxLib repository!


Knux's Miscellaneous Tools

A repository containing simple C# code that I hack together to either make some of the stuff I do easier or just to test some stuff. I also dump random reverse engineering stuff in various states of unfinished here too because why not?

I don't officially support any of the stuff in this repo. It's mostly here for my own archival and a potential reference point for other people's research. If you want to actually use any of this, you're on your own.


The stuff here heavily relies on Marathon, specifically my custom Ninja fork.

HedgeLib# is needed for a couple of the Sonic Unleashed Wii SET functions.

Prs.net is needed for the compression and decompression of Sonic and the Secret Rings/Sonic and the Black Knight ONE archives.

All three projects are included as GitHub Submodules now, so a proper clone will pull them down with it.


Also included is a modified version of the already modified importvcolorobj script from Heroes Power Plant that has been modified to pull in some additional data to badly emulate instancing to help with work for the Wrath of Cortex NuScene files. X and Y rotation is missing as Max is fucking stupid when it comes to most things, so that data is easier to input by hand, inputting the Y rotation then the X rotation manually seems to work every time.


Supported:

Adventure2 (Sonic Adventure 2)

  • Basic SET file reading (was intended to be used for potential Sonic '06 mods).

CarZ (Big Rigs Engine)

Gods (Data Design Interactive Engine)

  • WAD archive reading and extracting, alongside inaccurate writing.

Itadaki_Wii (Fortune Street)

  • FRB file reading and writing. Also contains a very very basic Bitmap importer that only makes the general outline of a board.

ProjectM (Metroid Other M)

RockX7 (Megaman X7)

RockX8 (Megaman X8)

SWA (Sonic Unleashed HD)

SWA_Wii (Sonic Unleashed SD)

  • Uncompressed ONE archive reading, writing, extracting and creating.

  • Basic SET file reading and writing, alongside a poorly cobbled together SonicGLVL exporter and importer.

  • Most basic implementation of Path reading.

SonicNext (Sonic The Hedgehog (2006))

  • Functions for importing a model as an XNO, removing an XNO's vertex colours, converting an FBX file's animation to an XNM (either a single file or a directory of files), merging two XNMs together, changing an XNM's framerate, importing a model as a stage collision mesh, retargeting animations from one XNO to another and enabling translucency on an XNO (either a single material or every material in the XNO).

SonicPortable (Sonic The Hedgehog 4)

  • AMB archive reading and extracting.

SonicRangers (Sonic Frontiers)

Storybook (Sonic and the Secret Rings/Sonic and the Black Knight)

  • Basic Visiblity Block reading and writing.

  • ONE archive reading, writing, extracting and creating.

  • Unfinished Path file reading and writing.

  • Uhu Ghost data reading and writing.

  • Basic Player Motion Table reading.

  • Basic SET file reading and writing.

  • SETItems reading and writing.

  • TXD texture archive reading, writing, extracting and creating (doesn't convert to or from Dolphin GVR textures).

Westwood (Monopoly (1995))

WrathOfCortex (Crash Bandicoot: The Wrath of Cortex)

  • Basic Crate Table reading and writing.

  • Entity Table reading and writing.

  • Incomplete GameCube NuScene reading and writing, alongside a very hacked up implementation of OBJ exporting that breaks a lot of the standard and really needs a custom MaxScript to import correctly.

  • Basic Visiblity Table reading.

  • Wumpa Fruit Table reading and writing. This format can also be written in little endian for the Xbox and PlayStation 2 versions of the game.

  • Function to display the position, rotation and scale of an instance in an NuScene. Mainly done for manually inputting X and Y rotation values into 3DS Max after an OBJ import.

Other

  • Function to take a string and run it through Google Translate a specified number of times. Used for my various Lost In Translation mod experiments. (Requires a valid Google Cloud API key to be provided)

About

Random shit that I write hackily to make some of my stuff easier and research random things.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published