General instructions

From Pikmin Technical Knowledge Base
Revision as of 12:24, 16 April 2023 by Espyo (talk | contribs) (Undo: This section only applies to Wii games, and the instructions are different between Wii and Wii U.)
Jump to navigation Jump to search

General instructions on how to perform some important tasks.

Obtaining a game's files

You can obtain the files inside the games by following these instructions. This guide only explains how to obtain the files from inside a copy of the game. It won't explain how to obtain a copy.

GameCube

  1. Get a copy of the game's disk image (.ISO). We do not support any illegal pirating here, so to do this legally, search up how to rip GameCube games using Nintendo Wii homebrew software.
  2. Ensure the file is not corrupted by running it using the Dolphin emulator.
  3. Open GC-Tool and go to File > Open > Pikmin 2 GCN.iso, then go to ISO > Extract whole ISO, check the box that says "Also extract header, apploader, DOL and TOC", choose the directory you want to save it to and then click extract. Give it some time.

To rebuild a new ISO from your root:

  1. Open GC-Rebuilder and go to Root > Open, select the root folder created by GC-Tool and click open.
  2. Go back to Root and now select Save. Name the ISO what you want and choose where you want it, then click save. This does not save the ISO file.
  3. Go back again to Root and finally click Rebuild. It will now rebuild the ISO, this may take some time.

Wii

  1. Download Wiimms ISO Tools. Make sure to install wit specifically.
  2. Dump a copy of your game from a Wii onto your computer.
  3. If your game is in .iso format, type wit copy nameofyourgame.iso nameofyourgame.wbfs in a command prompt (make sure the directory is set to where your dump is). If it's already in .wbfs, skip this step.
  4. Next, type wit copy nameofyourgame.wbfs newnameforgame.wbfs --psel data
  5. Then, type wit extract newnameforgame.wbfs /directory you want the DATA folder to be stored/newfolder (for Linux and MacOS, use /. for Windows, use \. You may need to specify which drive you want to extract to). wit will create "newfolder" for you in this directory.
To rebuild your .wbfs
  1. Once you've made your changes, type <ocde>wit copy ./newfolder/directory your game is stored/hackedgame.wbfs into your command prompt.

Wii U

To do: Add Wii U instructions.

Nintendo Switch

  1. Dump a copy of the game onto your computer.
  2. Using either Yuzu or Ryujinx, right click on the game and select "Dump RomFS Folder".

Nintendo 3DS

You will need:

  1. A .3ds file of the game's data.
  2. DotNet3dsToolkit.

Simply use a command line, run ToolkitConsole.exe with the parameters it expects, and you'll extract the contents of the .3ds file onto a folder. Detailed instructions can be found in the DotNet3dsToolkit page.

Making changes

Once you have a game's files, you can read them all you want. If you want to make changes to the files, you can do so. Some files are as simple as plain text, and can be edited with any text editor (although Notepad++ is recommended over the standard Notepad). Other files can only be edited with the appropriate tools. Some files need to be extracted, and once you're done making changes, they need to be packed again, just like zip files – SZS files are one such type.

That takes care of editing the game's insides, but then you'll need to transform these files into a runnable game, if you want to actually play the changes. What you need to do is elaborated in the next sections.

GameCube/Wii

What you have to do depends on how you want to run the game. If you want to run it with Dolphin, through a folder and boot.dol, you won't need to do anything else after saving the files (except maybe restarting the game or area).

If you use an ISO, you'll have to apply the changes onto the ISO, since you've only made changes on the extracted folder so far.


To do: Add ISO instructions.

Wii U

To do: Add Wii U instructions.

Nintendo 3DS

Just like when you extracted the .3ds file to get the contents, you will have to do the opposite and turn the contents into a .3ds file. Again, you'll need DotNet3dsToolkit. Detailed instructions can once again be found in the DotNet3dsToolkit page.

Running a modified game

After having made the changes, you will want to play your modified game. You can either play it on a real console, or using an emulator. A note regarding savestates and emulators: If the game loads data from a file and saves it in RAM, and you make a savestate after this information is loaded, it will always have that information when you reload the savestate, even if you changed the files in the meantime. To get the changes to take effect, make the game reload the file. This depends on the game and file (e.g. quit and re-enter the area you're on, restart the game, etc.). To be safe, you can always avoid loading savestates altogether.

GameCube/Wii

To do: Add GameCube/Wii instructions.

Wii U

To do: Add Wii U instructions.

Nintendo 3DS

To do: Add real console instructions.

To run a modified .3ds file with Citra, simply open the emulator and choose the .3ds file with your changes.

Scripts

Some articles in the wiki may provide helpful scripts. These can either be Windows bash scripts, or Linux shell scripts. Normally, when you want to, for instance, convert a GTX file to a DDS file, you'd have to go to the command line and run the tools necessary for it. But with scripts, after you set everything up, you can just double-click a GTX file and get a DDS file right away!

First comes the actual script creation. Copy whatever is inside the code blocks provided in the page, but remember to replace any placeholder bits inside less than and greater than signs. For instance, in a code block like so:

python <path to abc.py> $1

You would replace <path to abc.py> with the full path to where you've placed a Python script called abc.py. Anyway, after you've made any necessary replacements, save the file on your disk somewhere, preferably on a "scripts" folder in your documents so you can keep everything organized. The name of your script should end with the extension .bat in Windows, and .sh in Linux.

Then, you'll have to set up your system to run the script when you double click a file of the given type. Or at least when you right-click and choose "Open with".

The instructions depend on your system, so you should search online on how to associate a program (or script) with a file extension. But in general, you can right-click a file of the type you want to operate on, choose "Open with", and use the dialog box to add a new program (or in our case, script) to the file type.