Credit to Super Hackio
Hey champs. First things first, I want to make sure everybody knows that this hack is by Super Hackio and they deserve all of the credit. Check out their video in case you haven't seen it:
Introduction
What we're going to do here is leverage Hackio's hack to create a Wii VC injection with Classic Controller emulation. This allows the Wii U GamePad to be used to control the entire game, including things that were originally pointer- and motion-controlled. For example, Mario's spin attack can be triggered with a button and the Wii Remote pointer can be controlled with the right analog stick. These images provided with the original patch show the two layouts that Super Hackio implemented:
View attachment 307268 View attachment 307269
A big thing to note here is that while I'd argue the Super Mario 3D All-Stars layout makes the most sense for normal gameplay (with your primary action buttons being Y to spin attack and B to jump), it does mean your confirm buttons in menus will be both of A/B and your cancel button will be ZR.
The Nvidia layout retains the normal A to confirm, B to cancel layout you'll be used to from other Nintendo games, but your primary action buttons will be X to spin attack and A to jump, which is not how Mario games ordinarily control.
Pick whichever one bothers you less!
Another thing that's important to remember is that if you press the Home button, you will not be able to exit or return to the game. This is a limitation of the original patch, as controls are handled completely separately in the Home button menu. When you want to stop playing, you will simply need to shut the Wii U down.
Preparation
Super Hackio's original Classic Controller mod was provided as a Riivolution patch, which can't normally be used with Wii VC injections. For this reason, we need some things we can use to apply the patch directly to a disc image. These are:
- SMG2-GamePadCC.zip
This is a modified version of Hackio's patch suitable for applying to a disc image
- a (relatively) clean Super Mario Galaxy 2 disc image (USA. EUR or JPN region) in a format supported by wit
Any relatively "normal" format is fine: ISO, CISO, WBFS
- Wiimm's ISO Tools (wit)
- Wiimm's SZS Toolset
- a Wii VC injection tool, e.g. NicoAICP's UWUVCI or TeconMoon's WiiVC Injector
I'm not going to go in-depth about how to install or use Wiimm's tools. If you need to, search for a guide about using the Windows command prompt/Linux terminal/etc. In short, these are text-based tools, they don't have GUIs and double clicking them will not open up a GUI window for you to control them. Instead, these apps are controlled by typing commands to them.
Quick tip: When typing a directory or file name on the command prompt/terminal, you can press the Tab key on your keyboard to have your OS complete the rest of the name. This will save you time and help you avoid typos.
Tutorial
So let's get started. If you install Wiimm's tools so that you can run them from anywhere, this will be a lot easier, but you can do this without if you don't mind typing the path to the executables with each command.
- Extract the contents of SMG2-GamePadCC.zip and your Super Mario Galaxy 2 disc image to somewhere sensible. I'm not your dad.
- Open a command prompt window in that directory.
In Windows, you can do this easily by navigating to the folder you want in File Explorer, clicking in the address bar, deleting the contents and typing cmd (short for command) then hitting the Enter/Return key.
- Use wit to extract the contents of your Super Mario Galaxy 2 disc image into a new directory. For example, if your game image is called SB4E01.wbfs, you would do something like this:
Code:
wit x SB4E01.wbfs Galaxy2GamePad
- Use wit again to patch the main.dol from your game. Note that where the main.dol gets extracted to will depend upon your disc image. If you have an UPDATE partition, you'll find the main.dol in the GAME partition, whereas if your image has the UPDATE partition removed, it will be right there in sys under your extracted directory. Example command for Windows (may not match your directory layout):
Code:
wit dolpatch Galaxy2GamePad\sys\main.dol xml=SMG2-ExtraControllers-WiiU.xml
- Use wstrt from Wiimm's SZS Toolset to add your preferred button layout to the main.dol. I'll provide examples of both options here. Don't do both. Come on.
If you want the Super Mario 3D All-Stars layout:
Code:
wstrt patch Galaxy2GamePad\sys\main.dol --add-section SB4E01-SMAS.gct
If you want the Nvidia Shield Mario Galaxy layout:
Code:
wstrt patch Galaxy2GamePad\sys\main.dol --add-section SB4E01-Nvidia.gct
- Repackage your extracted game directory into a standard disc image format, e.g.:
Code:
wit copy Galaxy2GamePad Galaxy2GamePad.wbfs
- Create a Wii VC injection of your final image (e.g. Galaxy2GamePad.wbfs) using your preferred injection tool. Remember to enable your tool's Classic Controller emulation feature.
You don't need the Force Classic Controller mode. Also, don't use the Swap L/R and ZL/ZR feature unless you're weird; both layouts are already optimized for controllers where ZL/ZR are the main shoulder triggers like the Wii U GamePad.
And you're done! Install your injection however you normally go about installing injections (e.g. V10lator's NUSspli). When you launch the game and it asks if you want to control it using the Wii U GamePad ... say yes.