An open API service indexing awesome lists of open source software.

https://github.com/SuperHackio/Hack.io

A Set of Libraries for various Nintendo formats from the J3D Era
https://github.com/SuperHackio/Hack.io

hacking j3d-models mario-galaxy mario-sunshine

Last synced: 4 months ago
JSON representation

A Set of Libraries for various Nintendo formats from the J3D Era

Awesome Lists containing this project

README

          

# Hack.io
**A Collection of File In/Out libraries for various formats**

Previously referred to as "Hackio.IO"

# NOTICE
Please be aware that the Hack.io libraries are indefinitely in a period of transitioning to .NET 8. I do not know when or if I will update every library.

## What is it?
The Hack.io libraries are easy-to-use, modular C# libraries that can be used in multiple projects. I made these with the intent of just using them so I wouldn't have to constantly repeat my code when doing projects.
In the end, here they are, feel free to use them in your projects.

## Library Listing

- **Hack.io**

Hack.io is the base library used by all the other Hack.io libraries.

- **Hack.io.BCK**

Bone Animations for J3D Models (SMG/SMG2, SMS, Pikmin, etc.)

- **Hack.io.BAS**

Sound Links for BCK animations in J3D Models (SMG/SMG2, SMS, Pikmin, etc.)
This library is required for Hack.io.BCK, as some games embed their BAS files into the bck directly instead of being separate.

- **Hack.io.BMD** (DEPRICATED)

Library for J3D Models (SMG/SMG2, SMS, Pikmin, etc.)

Heavily based on SuperBMD, but only does Read/Write to/from BMD/BDL. (no model importing and no model exporting)

- **Hack.io.BTK**

Texture Position Animations for J3D Models (SMG/SMG2, SMS, Pikmin, etc.)

- **Hack.io.BRK**

Colour Register Animations for J3D Models (SMG/SMG2, SMS, Pikmin, etc.)

- **Hack.io.BTI**

Library for the BTI image format. Supports all image formats and mipmaps

- **Hack.io.BTP**

Frame Animations for J3D Models (SMG/SMG2, SMS, etc.)

This would animate a material by swapping out texture indicies

- **Hack.io.BVA**

Mesh Visibility Animations for J3D Models (SMG/SMG2, etc.)

- **Hack.io.BPK**

Palette Animations for J3D Models (SMG/SMG2, etc.)

- **Hack.io.BCSV**

Comma Seperated Values (SMG/SMG2)

- **Hack.io.RARC**

Revolution (Wii) Archives. (SMG/SMG2, SMS)

**THESE ARE NOT U8 FORMATTED ARCHIVES!**

- **Hack.IO.YAZ0**

Library for Compressing/Decompressing data to/from YAZ0. Works with pretty much anything

- **Hack.IO.YAY0**

Library for Compressing/Decompressing data to/from YAY0. Works with pretty much anything

## How to use
Download the Libraries you want and then reference them in your program's Assembly References.

Using statements will also be needed. The statements are identical to the library name.

Example:

```using Hack.io.RARC;```

For Library specific tutorials, please visit it's corresponding Wiki Page.

# Credits
- Super Hackio - Main Programmer/Maintainer
- RenolY2 aka Yoshi2 - Code reference for Hack.io.BTK & Hack.io.BRK
- NoClip.website - Code reference for Hack.io.BCK, Hack.io.BTP, Hack.io.BVA & Hack.io.BPK
- tarsa129 - Code reference for Hack.io.BCK because NoClip wasn't enough
- Old SMG Researchers - File formats for Hack.io.CANM, Hack.io.BCSV & Hack.io.RARC
- Gericom - Quick YAZ0 Compression
- Daniel-McCarthy - YAY0 Compression