LagoLunatic / GCFT

GameCube File Tools, a GUI tool for modifying some common file formats used by GameCube games
MIT License
93 stars 5 forks source link
gamecube j3d modding rarc romhacking yaz0

About

GameCube File Tools (GCFT) is a GUI tool for editing the following common file formats used by GameCube games:

Features:

It currently cannot create brand new GCMs or JPCs from scratch.

You can download GCFT here: https://github.com/LagoLunatic/GCFT/releases
You can also try out the latest development build here (may have bugs): https://nightly.link/LagoLunatic/GCFT/workflows/python-app/master

Usage

Importing and exporting entire GCMs, RARCs, or JPCs can be done via the buttons in the appropriate tabs. Alternatively, you can drag and drop files onto GCFT and it will automatically open them in the correct tab (based on the file extension).
Extracting, replacing, or deleting a single file can be done by first importing the GCM/RARC the file is in, and then right-clicking on the file you want to edit.
Adding a new file can similarly be done by importing a GCM or RARC, and then right-clicking on the folder you want to add the file to.
Editing the file name, folder type, or file ID of RARC files/folders can be done by double clicking on the field you want to edit, and then typing the new value into the text field.

Modifying BTI images can be done by importing a standalone .bti file from the BTI Images tab, or first opening a GCM/RARC/JPC/J3D file that has BTIs inside it, right clicking on the image you want to edit there, and clicking "Open Image".
Once you're on the BTI Images tab, you can import or export the image as a PNG via the buttons at the top, and modify various attributes of the BTI image via the sidebar on the right.

Running from source

Download and install git from here: https://git-scm.com/downloads
Then clone this repository with git by running this in a command prompt:
git clone https://github.com/LagoLunatic/GCFT.git --recurse-submodules=":(exclude)PyJ3DUltra"

Download and install Python 3.12 from here: https://www.python.org/downloads/release/python-3121/
"Windows installer (64-bit)" is the one you want if you're on Windows, "macOS 64-bit universal2 installer" if you're on Mac.
If you're on Linux, run this command instead: sudo apt-get install python3.12

Open the GCFT folder in a command prompt and install dependencies by running:
py -3.12 -m pip install -r requirements.txt (on Windows)
python3 -m pip install -r requirements.txt (on Mac)
python3 -m pip install $(cat requirements.txt) --user (on Linux)

Then run GCFT with:
py gcft.py (on Windows)
python3 gcft.py (on Mac)
python3 gcft.py (on Linux)

J3D model previews while running from source

Optionally, if you want J3D model previews to display while running from source, you must also clone and build PyJ3DUltra.
A script that automates this process is provided. Simply run the following command:
py -3.12 build_pyj3dultra.py
On Windows, you must first install vcpkg and Visual Studio before running that command.

If the script ran successfully with no errors, then the next time you load a J3D model in GCFT you should see a 3D preview.