Amazing work!
I have a question: is it possible to remap the analog triggers from the classic controller to the classic controller pro? Because, for example, DBZ BT3 has that issue when using the classic controller pro. It would be amazing if it had a layout similar to the PS2. It's just a question! ty
Blue Tongue's de Blob was one of the few third-party Wii games to really break through Nintendo's commercial domination of the console. The fact that they managed to do so on Nintendo's home turf, the 3D platformer, makes that all the more impressive. With its environment-painting gameplay sometimes compared at launch to Super Mario Sunshine, in the years since, parallels have also been drawn to Splatoon, putting this game in some pretty good company. That said, once you got past the wildly creative gameplay, visuals and soundtrack, there was one major criticism: the poor use of motion controls. Players had to shake the Wiimote to jump, in a platformer. While this would be fixed in the excellent sequel, the original de Blob had to wait for HD ports on later consoles to get a jump button. Let's rectify that oversight.
@Vague Rant Could you also make a short tutorial for wii disc games like for the wads please? I mean you already did it partially on the first page, but I don't know the first steps like extracting the original control code out of a main.dol to modify it. Is there a command line for that or what program are you using? There are a lot of nerds and geeks on gbatemp who would like to participate in that cc hacking project and maybe in some years it will be possible to play all Wii games with a cc hack. That would be really great. I would also like to get deeper in that topic. So your tutorial would be a big help. Thanks a lot
To be honest, it wouldn't really be a short tutorial as it's a pretty involved process, but the next game I attempt, I'll document it as I go. There's no apps to modify games like this, I'm just digging into the assembly code and writing and inserting my own routines which reroute the KPAD data into different fields and stuff like that. The main Gecko code type these hacks are made up of are C2 codes, which are assembly insertion rather than in-place modifications, i.e. they're not so much editing the controls in the main.dol as they are adding new code to each game that didn't exist before so that it behaves differently.
Yep, there are Classic Controller hacks for both Mario Galaxy games by Super Hackio. This thread isn't a list of all Classic Controller hacks, these are just the ones that I've made personally. The others that I'm aware of are crediar's Donkey Kong Country Returns and Kirby's Return to Dreamland, Thomas83Lin's Rune Factory: Tides of Destiny and New Super Mario Bros. Wii, and the aforementioned Mario Galaxy hacks.
Amazing work!
I have a question: is it possible to remap the analog triggers from the classic controller to the classic controller pro? Because, for example, DBZ BT3 has that issue when using the classic controller pro. It would be amazing if it had a layout similar to the PS2. It's just a question! ty
I don't know, that sounds pretty much impossible to me.
Dragon Ball Z: Budokai Tenkaichi 3 is the third entry in Spike's fighting game series based on the hit manga and anime by the late Akira Toriyama. Tenkaichi 3 is a deep dive into the lore and history of the Dragon Ball Z franchise, with a roster of 98 unique characters in 161 different forms, the largest ever fighting game roster at the time. Though hugely popular and successful, the Tenkaichi series would lie dormant for 17 years after the release of this game, until the fourth entry released *checks watch* ... yesterday.
This is technically a Classic Controller hack, but Tenkaichi 3 always supported the Classic Controller. The issue, as noted by @Alepss, is that the game was developed around the original Classic Controller and its analog shoulder buttons, which were removed in the Pro revision. This hack instead replicates the PlayStation 2 control scheme, where aerial controls are on R1/R2 (Classic R/ZR), with double-taps triggering the equivalent of a full analog button press.
The mapping here is mostly unchanged, besides the modified shoulder buttons, so I will only be covering the changed buttons.
Classic Controller
Classic Controller Pro
Game Function
L (half press)
ZR
Descend
L (full press)
ZR (double tap)
Rapid Descend
R (half press)
R
Ascend
R (full press)
R (double tap)
Rapid Ascend
ZR (double tap)
L (double tap)
Emergency Blaster Wave
General Notes
This modifies the control scheme for all Classic Controllers, so if you are playing on an original Classic Controller with analog shoulder buttons, I don't recommend using this code. The other control schemes (Wii Remote and Nunchuk, GameCube controller) are completely unmodified, so those are fine, but the original CC will play awfully with this control scheme. I don't know how or have any plan to fix this, just don't use the code if you want to play with an original Classic Controller.
As mentioned, this uses the control scheme from the PlayStation 2 version of Tenkaichi 3, where ascending/descending is done on the right shoulder/trigger buttons instead of L and R on the original Classic Controller. These have a more logical "up/down" layout than L/R do; the only reason they're laid out that way is because of the analog nature of the shoulder buttons on original CCs. On a more traditional, non-analog-shoulders controller, the PS2 layout makes more sense. This code is not really adjustable in the way most of the others are, so if you don't like this layout, eh ...
Technical Notes
This was my first time remapping the Classic Controller itself or dealing with the original-CC-specific analog shoulder buttons. It went pretty well. Code breakdown:
C2
This is modifying read_kpad_stick(), which also reads the analog shoulder buttons, in a slightly tricky way. Instead of reading the actual analog shoulder data for the L button, it reads in the fake button value which I set up below in KPADRead(), 0x100. Notably, the Classic Controller (Pro) only has one free button field, since there's 16 possible bits and the CC has 15 buttons. Anyway, instead of actually faking some analog data, I'm reading in the actual bytes of the button value 0x100 as if it was analog data, because that's perfectly fine for this game specifically. Other games likely use different thresholds for when they consider the analog button "half-pressed", so this is in theory portable but in practice shrug, depends on the game.
C2
This modifies KPADRead() to first rotate the shoulder buttons around to match the PS2 setup and add a fake button 0x100 which we use to trigger the left analog shoulder (since it's been moved to ZR here). It then adds a function which masks out the L/R full-press bits by default (so all presses are half-presses) and tracks whether the player has pressed ascend or descend twice in the same 8-frame window. If they have, we unmask the relevant digital press bit so that the game is now reading a full press. Once you release the button, it goes back to the original masking behavior, i.e. the buttons return to half-presses. This matches the behavior of the Wiimote and Nunchuk control scheme, which uses Nunchuk C/Z and similarly checks for two presses in an 8-frame window. I didn't find or copy that code from the original game, just observed the 8-frame timer by pausing execution and frame advancing to see how it worked, but the result should be identical to the original Nunchuk double-tap detection.
Documentation sounds great. Tomorrow I'm gonna inject de Blob to the wii u system. This was a great game even with the crappy controls, but now it will be better than ever. Thanks for that. Have you considered the following games already: "batman the brave and the bold" (minimal motion controls) and "rhythm heaven fever" (no motion controls)?
In what could possibly be the worst way to start October for emulation enthusiasts, as of just a few minutes ago the Ryujinx repository appears to be down, with the...
The Legend of Zelda: Echoes of Wisdom has officially leaked online ahead of its 26th September street date.
TLOZ: Echoes of Wisdom marks the first time that a...
The Legend of Zelda: A Link to the Past is a standout game in the Zelda franchise, and one that many hold dear. With a remarkably open design for its time, paired...
A brand new system software update has been released. Nintendo has just put out a milestone firmware release for the Nintendo Switch, bringing the OFW to 19.0.0...
Images of what are supposedly a factory prototype for the Nintendo Switch 2 alongside a spec sheet have appeared on a Chinese forum.
The renders show the device from...
Late yesterday, Nintendo and The Pokemon Company filed a lawsuit against Pocketpair, the developer of the monster-collecting open-world game Palworld, alleging it...
When Palworld released into early access back in January of this year, it drew attention for its similarities to Pokemon. Some called into question whether or not the...
The little brother to Nintendo’s flagship hardware, the Switch Lite released in 2019 to positive reviews. With all the power of the full-sized console at a lower...
The next Zelda game is around the corner, and Nintendo is eager to show off more of The Legend of Zelda: Echoes of Wisdom ahead of the game's launch later this month...
A little under four years after its PC port, and PlayStation has delisted Horizon Zero Dawn. That's because Horizon Zero Dawn Remastered will soon take its place...
In what could possibly be the worst way to start October for emulation enthusiasts, as of just a few minutes ago the Ryujinx repository appears to be down, with the...
The Legend of Zelda: Echoes of Wisdom has officially leaked online ahead of its 26th September street date.
TLOZ: Echoes of Wisdom marks the first time that a...
Images of what are supposedly a factory prototype for the Nintendo Switch 2 alongside a spec sheet have appeared on a Chinese forum.
The renders show the device from...
A brand new system software update has been released. Nintendo has just put out a milestone firmware release for the Nintendo Switch, bringing the OFW to 19.0.0...
Late yesterday, Nintendo and The Pokemon Company filed a lawsuit against Pocketpair, the developer of the monster-collecting open-world game Palworld, alleging it...
A little under four years after its PC port, and PlayStation has delisted Horizon Zero Dawn. That's because Horizon Zero Dawn Remastered will soon take its place...
When Palworld released into early access back in January of this year, it drew attention for its similarities to Pokemon. Some called into question whether or not the...
The little brother to Nintendo’s flagship hardware, the Switch Lite released in 2019 to positive reviews. With all the power of the full-sized console at a lower...
Nintendo has been a company that tries to do its own thing compared to the rest of the industry. With the rise of generative AI in game development, many studios are...
If you tuned into the State of Play broadcast and were interested in playing the remastered release of Horizon Zero Dawn, you would have seen that you could purchase...
@realtimesave, depends on what it's going into and what it's capable of. I got a 2TB nvme for me Pi5 not really worth it. Easily could have gotten a 1TB drive and had all the stuff I wanted