It's a shame all game Wii games didn't have this option from default, as time has gone on I think it's the worst control scheme ever created. To be fair a few games implemented it well like Metroid Prime 3 and Skyward Sword but overall still awful.
I looked into this and have now updated the Metroid: Other M post with a new code adding Nunchuk support.@Vague Rant Thanks for the answer. Yeah, the idea is using the IR pointer. This is how I mapped the game on Dolphin, I'm sure you can figure out something better.
Wario Shake Dimension is working now with the "force cc connected" option. Thanks for that info. I tried Super paper mario. Got it working until I had to enter a name and then the game freezes with a loud buzzing sound. Does it mean I have the wrong revision version? How can I check the rev Version number? Unfortunately I don't have the disc anymore. But if the cc codes are for another version of super paper mario, wouldn't it just freeze at the start and not after typing a name?
Really odd that you're both having problems with Super Paper Mario. I re-tested it on my end on both Dolphin (Windows) and real (OG Wii) hardware and it works without any issues. I'm really not sure what could be causing this. Tough to guess without it ever breaking for me. Definitely weird that it crashes when creating a save specifically. These controller hacks run on every single frame, so I'd generally expect them to either crash immediately or never. Confusing.Never used gecko codes before but using Dolphin Android and this happens when inputting the code for Super Paper Mario.
I mean.... What is the error? Where is the error?? Can anyone help, I'm living upto my name here..
View attachment 462343
Edit... Turns out you take out the heading and only add the code then! That cleared the error however it doesn't seem to working when i boot the game. Using the correct rev also.
I generally don't mention if I've started on a game because I don't want to get hopes up that it will get finished, but I did actually look at Need for Speed: ProStreet after a previous request. I got it partially working, but it needs more work to actually be playable. I got a bit stuck and put it aside and moved on to other games, but I do want to come back to it and see if I can figure it out. Need for Speed: Carbon I'm probably less likely to do since you can already play the GameCube version via Nintendont with whatever controller you want. Is there anything the Wii version adds that you don't get from playing the GameCube one?Can someone make a hack to use the gamecube controller in pes 2013 or the classic controller in need for speed pro street or carbon
Thanks! Fellow Wii U owner here, opening up more Wii games to be playable on GamePad is definitely a nice bonus to this project. I'm not sure if GBATemp can display the same thread across multiple boards, but perhaps some sort of tutorial thread on the Wii U side about how to add Classic Controller hacks to games, with a link back to this thread and any other Classic Controller hacks (crediar's Kirby's Return to Dream Land and Thomas83Lin's Rune Factory: Tides of Destiny; others?), would be a solid idea.Wow, these hacks are great! Thanks for the work. Is it possible to have this thread appear in the Wii U forum as well? Some people, myself included, like to inject Wii games with cc hacks to play them on the gamepad, and I just came across this thread by chance.
Classic Controller and Nunchuk Support [Vague Rant]
C22D3BAC 0000000D
7C0802A6 48000005
7CA802A6 7C0803A6
80030000 70004000
4182003C C0050040
C0250048 80C50044
34C6FFFF 41820028
D003000C D0030010
D0030014 D0230018
90C50044 4E800020
4059999A 00000004
40BC7277 38000004
90050044 9421FFC0
60000000 00000000
C22D48EC 0000003A
7C0802A6 48000005
7CA802A6 80C50198
80E60000 2C070000
41820008 90E5019C
88EE0028 2C070001
4082000C 3903FFF4
48000010 2C070002
40820188 7C681B78
9421FFE0 90010024
90610008 90A1000C
90C10010 38000002
9803005E 800501A0
C04501B0 C008006C
FC000210 C0280070
FC200A10 FC00082A
FC001040 408000C8
2C040000 41820018
8005019C 90060000
80010024 38210020
48000128 2C070001
418200A4 C0030074
FC000210 C0230078
FC200A10 FC00082A
FC001040 4080000C
2C000001 40820080
2C000001 41820018
38000000 90030020
90030024 38000001
900501A0 818501A4
7D8803A6 4E800021
2C030001 80610008
80A1000C 80C10010
C04501A8 40820008
EC4200B2 C06501AC
C0030020 C0230074
FC211024 48000059
D0030020 C0030024
C0230078 FC200850
48000045 D0030024
8005019C 90060000
48000024 38000000
900501A0 C008006C
D0030020 C0080070
D0030024 38000000
90060000 80010024
7C0803A6 38210020
4E800020 FC0100FA
C02501B4 FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
8068494C 3F800000
00000000 8031F36C
3FAAAAAB 3C23D70A
3DCCCCCD 3F4CCCCD
7C0803A6 9421FFE0
60000000 00000000
C22D5CA4 0000001C
2C040001 40820014
71002000 418200C8
60E71000 480000C0
2C040002 408200B8
71200800 41820008
60E78000 71200001
41820008 60E70008
71204000 41820008
60E70004 71200002
41820008 60E70001
71208000 41820008
60E70002 71200010
41820008 60E70800
71200040 41820008
60E70400 71200008
41820008 60E70100
71200020 41820008
60E70200 71202000
41820008 61084000
71200200 41820008
60E70800 71200080
41820008 60E71000
71200004 41820008
60E70400 71200400
41820008 60E70010
71201000 41820008
60E71000 70E09FFF
60000000 00000000
Classic Controller and Nunchuk Support [Vague Rant]
C22D3A4C 0000000D
7C0802A6 48000005
7CA802A6 7C0803A6
80030000 70004000
4182003C C0050040
C0250048 80C50044
34C6FFFF 41820028
D003000C D0030010
D0030014 D0230018
90C50044 4E800020
4059999A 00000004
40BC7277 38000004
90050044 9421FFC0
60000000 00000000
C22D478C 0000003A
7C0802A6 48000005
7CA802A6 80C50198
80E60000 2C070000
41820008 90E5019C
88EE0028 2C070001
4082000C 3903FFF4
48000010 2C070002
40820188 7C681B78
9421FFE0 90010024
90610008 90A1000C
90C10010 38000002
9803005E 800501A0
C04501B0 C008006C
FC000210 C0280070
FC200A10 FC00082A
FC001040 408000C8
2C040000 41820018
8005019C 90060000
80010024 38210020
48000128 2C070001
418200A4 C0030074
FC000210 C0230078
FC200A10 FC00082A
FC001040 4080000C
2C000001 40820080
2C000001 41820018
38000000 90030020
90030024 38000001
900501A0 818501A4
7D8803A6 4E800021
2C030001 80610008
80A1000C 80C10010
C04501A8 40820008
EC4200B2 C06501AC
C0030020 C0230074
FC211024 48000059
D0030020 C0030024
C0230078 FC200850
48000045 D0030024
8005019C 90060000
48000024 38000000
900501A0 C008006C
D0030020 C0080070
D0030024 38000000
90060000 80010024
7C0803A6 38210020
4E800020 FC0100FA
C02501B4 FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
8068450C 3F800000
00000000 8031F20C
3FAAAAAB 3C23D70A
3DCCCCCD 3F4CCCCD
7C0803A6 9421FFE0
60000000 00000000
C22D5B44 0000001C
2C040001 40820014
71002000 418200C8
60E71000 480000C0
2C040002 408200B8
71200800 41820008
60E78000 71200001
41820008 60E70008
71204000 41820008
60E70004 71200002
41820008 60E70001
71208000 41820008
60E70002 71200010
41820008 60E70800
71200040 41820008
60E70400 71200008
41820008 60E70100
71200020 41820008
60E70200 71202000
41820008 61084000
71200200 41820008
60E70800 71200080
41820008 60E71000
71200004 41820008
60E70400 71200400
41820008 60E70010
71201000 41820008
60E71000 70E09FFF
60000000 00000000
Classic Controller and Nunchuk Support [Vague Rant]
C22D0350 0000000D
7C0802A6 48000005
7CA802A6 7C0803A6
80030000 70004000
4182003C C0050040
C0250048 80C50044
34C6FFFF 41820028
D003000C D0030010
D0030014 D0230018
90C50044 4E800020
4059999A 00000004
40BC7277 38000004
90050044 9421FFC0
60000000 00000000
C22D1090 0000003A
7C0802A6 48000005
7CA802A6 80C50198
80E60000 2C070000
41820008 90E5019C
88EE0028 2C070001
4082000C 3903FFF4
48000010 2C070002
40820188 7C681B78
9421FFE0 90010024
90610008 90A1000C
90C10010 38000002
9803005E 800501A0
C04501B0 C008006C
FC000210 C0280070
FC200A10 FC00082A
FC001040 408000C8
2C040000 41820018
8005019C 90060000
80010024 38210020
48000128 2C070001
418200A4 C0030074
FC000210 C0230078
FC200A10 FC00082A
FC001040 4080000C
2C000001 40820080
2C000001 41820018
38000000 90030020
90030024 38000001
900501A0 818501A4
7D8803A6 4E800021
2C030001 80610008
80A1000C 80C10010
C04501A8 40820008
EC4200B2 C06501AC
C0030020 C0230074
FC211024 48000059
D0030020 C0030024
C0230078 FC200850
48000045 D0030024
8005019C 90060000
48000024 38000000
900501A0 C008006C
D0030020 C0080070
D0030024 38000000
90060000 80010024
7C0803A6 38210020
4E800020 FC0100FA
C02501B4 FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
80667A94 3F800000
00000000 80317CB8
3FAAAAAB 3C23D70A
3DCCCCCD 3F4CCCCD
7C0803A6 9421FFE0
60000000 00000000
C22D2448 0000001C
2C040001 40820014
71002000 418200C8
60E71000 480000C0
2C040002 408200B8
71200800 41820008
60E78000 71200001
41820008 60E70008
71204000 41820008
60E70004 71200002
41820008 60E70001
71208000 41820008
60E70002 71200010
41820008 60E70800
71200040 41820008
60E70400 71200008
41820008 60E70100
71200020 41820008
60E70200 71202000
41820008 61084000
71200200 41820008
60E70800 71200080
41820008 60E71000
71200004 41820008
60E70400 71200400
41820008 60E70010
71201000 41820008
60E71000 70E09FFF
60000000 00000000
Wii Remote | Nunchuk | Game Function |
---|---|---|
Minus | Z | Auto-Swim |
Shake | C | Various |
Pointer | Stick | Movement (underwater) |
Wii Remote | Classic Controller | Game Function |
---|---|---|
Home | Home Remember to point with the right stick on Classic Controller | Open/Close Home Button Menu |
D-Pad | D-Pad | Tool Menu Navigation |
A | A/R | Menus Confirm Gameplay Interact |
B | B/ZR | Menus Cancel Gameplay Swim |
Plus | Plus | Focus Zoom In |
Minus | Minus/ZL | Gameplay Auto-Swim Focus Zoom Out |
1 | Y | Open Map |
2 | X | Change View |
Shake | L | Various |
IR Pointer | Left Stick Right Stick | Menus Navigation Gameplay Movement (underwater) Cursor Movement |
read_kpad_acc()
. It's slightly different to previous accelerometer hacks in that instead of completely replacing the "real" accelerometer, here we only replace the function while the user is holding the shake button (Classic L/Nunchuk C). Otherwise, the accelerometer function runs normally. This is important for Nunchuk mode. The accelerometer data is used to determine the relative angle at which the sensor bar should be found, so to correctly find the sensor bar we need the real accelerometer data, not our faked version.calc_dpd_variable()
, a child of read_kpad_dpd()
, the pointer function. Previous hacks applied directly to the parent function, but in this case where we still want the pointer to function normally sometimes, it was easier to apply it here, since this is after KPAD has determined whether or not the (real) IR pointer is currently in-use. This way, if KPAD says a real Wiimote is currently really pointed at the sensor bar, we can use that pointer data, but if not we can stick with our fake pointer instead. This hack is also responsible for managing which stick is currently "in charge" of the IR pointer and disabling the cursor visibility when in absolute mode. A lot going on in here.KPADRead
and It still does all the same stuff, but it's also able to remap the Wiimote itself and it still manages to be slightly shorter than the original method. We're jumping in earlier here (before the button states have been processed into pressed/held/released), so we no longer have to manage all of that manually: injecting the values before they get to that code means the game handles processing the buttons for us, as if they were real Wiimote buttons.Did you test it with a pal version as well? I just have a pal rev 1 and a ntsc rev 0 version of this game. Unfortunately the pal rev 1 is not working. I asked some friends about a ntsc rev 2 version. Maybe this will do the trick. I let you know. In the meantime: how about the game rhythm heaven fever and cc support? Should be relatively easy, it just have two buttons a and b to be pressed. It would be better to transfer them to ZR and ZL, because you have to press them simultaneously sometimes. Would be really great. It is one of those games: easy to understand, but so hard to perfect itI looked into this and have now updated the Metroid: Other M post with a new code adding Nunchuk support.
Really odd that you're both having problems with Super Paper Mario. I re-tested it on my end on both Dolphin (Windows) and real (OG Wii) hardware and it works without any issues. I'm really not sure what could be causing this. Tough to guess without it ever breaking for me. Definitely weird that it crashes when creating a save specifically. These controller hacks run on every single frame, so I'd generally expect them to either crash immediately or never. Confusing.
I generally don't mention if I've started on a game because I don't want to get hopes up that it will get finished, but I did actually look at Need for Speed: ProStreet after a previous request. I got it partially working, but it needs more work to actually be playable. I got a bit stuck and put it aside and moved on to other games, but I do want to come back to it and see if I can figure it out. Need for Speed: Carbon I'm probably less likely to do since you can already play the GameCube version via Nintendont with whatever controller you want. Is there anything the Wii version adds that you don't get from playing the GameCube one?
Thanks! Fellow Wii U owner here, opening up more Wii games to be playable on GamePad is definitely a nice bonus to this project. I'm not sure if GBATemp can display the same thread across multiple boards, but perhaps some sort of tutorial thread on the Wii U side about how to add Classic Controller hacks to games, with a link back to this thread and any other Classic Controller hacks (crediar's Kirby's Return to Dream Land and Thomas83Lin's Rune Factory: Tides of Destiny; others?), would be a solid idea.
View attachment 462904
Arika's Endless Ocean is perhaps the most "blue ocean" game ever released on the Wii, both figuratively and literally. Nintendo courted casual gamers heavily in the Wii/DS generation and this game is just an extremely chilled out, relaxing time. With fantastic graphics and no real way to lose, this game becomes far more about the fun of exploring the depths of the ocean, discovering lost treasures and polishing marine life until it sparkles. It's also one of the few Wii games to support playing custom MP3 music from the SD card, so you can listen to whatever you want (Sigur Rós) while you dive. While the sequel added Classic Controller support, the original game is an extremely Wiimote-focussed affair, with basically all interactions revolving around the IR pointer, with some occasional shaking. This game's heavy focus on the Wiimote led me to implement a Nunchuk mode in addition to Classic Controller, retaining the original spirit while adding a little bit of flexibility. Highlight for @SPAC3W4IFU, who asked about this game.
USAEuropeJapan (Rev 1)
Code:Classic Controller and Nunchuk Support [Vague Rant] C22D3BAC 0000000D 7C0802A6 48000005 7CA802A6 7C0803A6 80030000 70004000 4182003C C0050040 C0250048 80C50044 34C6FFFF 41820028 D003000C D0030010 D0030014 D0230018 90C50044 4E800020 4059999A 00000004 40BC7277 38000004 90050044 9421FFC0 60000000 00000000 C22D48EC 0000003A 7C0802A6 48000005 7CA802A6 80C50198 80E60000 2C070000 41820008 90E5019C 88EE0028 2C070001 4082000C 3903FFF4 48000010 2C070002 40820188 7C681B78 9421FFE0 90010024 90610008 90A1000C 90C10010 38000002 9803005E 800501A0 C04501B0 C008006C FC000210 C0280070 FC200A10 FC00082A FC001040 408000C8 2C040000 41820018 8005019C 90060000 80010024 38210020 48000128 2C070001 418200A4 C0030074 FC000210 C0230078 FC200A10 FC00082A FC001040 4080000C 2C000001 40820080 2C000001 41820018 38000000 90030020 90030024 38000001 900501A0 818501A4 7D8803A6 4E800021 2C030001 80610008 80A1000C 80C10010 C04501A8 40820008 EC4200B2 C06501AC C0030020 C0230074 FC211024 48000059 D0030020 C0030024 C0230078 FC200850 48000045 D0030024 8005019C 90060000 48000024 38000000 900501A0 C008006C D0030020 C0080070 D0030024 38000000 90060000 80010024 7C0803A6 38210020 4E800020 FC0100FA C02501B4 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 8068494C 3F800000 00000000 8031F36C 3FAAAAAB 3C23D70A 3DCCCCCD 3F4CCCCD 7C0803A6 9421FFE0 60000000 00000000 C22D5CA4 0000001C 2C040001 40820014 71002000 418200C8 60E71000 480000C0 2C040002 408200B8 71200800 41820008 60E78000 71200001 41820008 60E70008 71204000 41820008 60E70004 71200002 41820008 60E70001 71208000 41820008 60E70002 71200010 41820008 60E70800 71200040 41820008 60E70400 71200008 41820008 60E70100 71200020 41820008 60E70200 71202000 41820008 61084000 71200200 41820008 60E70800 71200080 41820008 60E71000 71200004 41820008 60E70400 71200400 41820008 60E70010 71201000 41820008 60E71000 70E09FFF 60000000 00000000
Code:Classic Controller and Nunchuk Support [Vague Rant] C22D3A4C 0000000D 7C0802A6 48000005 7CA802A6 7C0803A6 80030000 70004000 4182003C C0050040 C0250048 80C50044 34C6FFFF 41820028 D003000C D0030010 D0030014 D0230018 90C50044 4E800020 4059999A 00000004 40BC7277 38000004 90050044 9421FFC0 60000000 00000000 C22D478C 0000003A 7C0802A6 48000005 7CA802A6 80C50198 80E60000 2C070000 41820008 90E5019C 88EE0028 2C070001 4082000C 3903FFF4 48000010 2C070002 40820188 7C681B78 9421FFE0 90010024 90610008 90A1000C 90C10010 38000002 9803005E 800501A0 C04501B0 C008006C FC000210 C0280070 FC200A10 FC00082A FC001040 408000C8 2C040000 41820018 8005019C 90060000 80010024 38210020 48000128 2C070001 418200A4 C0030074 FC000210 C0230078 FC200A10 FC00082A FC001040 4080000C 2C000001 40820080 2C000001 41820018 38000000 90030020 90030024 38000001 900501A0 818501A4 7D8803A6 4E800021 2C030001 80610008 80A1000C 80C10010 C04501A8 40820008 EC4200B2 C06501AC C0030020 C0230074 FC211024 48000059 D0030020 C0030024 C0230078 FC200850 48000045 D0030024 8005019C 90060000 48000024 38000000 900501A0 C008006C D0030020 C0080070 D0030024 38000000 90060000 80010024 7C0803A6 38210020 4E800020 FC0100FA C02501B4 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 8068450C 3F800000 00000000 8031F20C 3FAAAAAB 3C23D70A 3DCCCCCD 3F4CCCCD 7C0803A6 9421FFE0 60000000 00000000 C22D5B44 0000001C 2C040001 40820014 71002000 418200C8 60E71000 480000C0 2C040002 408200B8 71200800 41820008 60E78000 71200001 41820008 60E70008 71204000 41820008 60E70004 71200002 41820008 60E70001 71208000 41820008 60E70002 71200010 41820008 60E70800 71200040 41820008 60E70400 71200008 41820008 60E70100 71200020 41820008 60E70200 71202000 41820008 61084000 71200200 41820008 60E70800 71200080 41820008 60E71000 71200004 41820008 60E70400 71200400 41820008 60E70010 71201000 41820008 60E71000 70E09FFF 60000000 00000000
Code:Classic Controller and Nunchuk Support [Vague Rant] C22D0350 0000000D 7C0802A6 48000005 7CA802A6 7C0803A6 80030000 70004000 4182003C C0050040 C0250048 80C50044 34C6FFFF 41820028 D003000C D0030010 D0030014 D0230018 90C50044 4E800020 4059999A 00000004 40BC7277 38000004 90050044 9421FFC0 60000000 00000000 C22D1090 0000003A 7C0802A6 48000005 7CA802A6 80C50198 80E60000 2C070000 41820008 90E5019C 88EE0028 2C070001 4082000C 3903FFF4 48000010 2C070002 40820188 7C681B78 9421FFE0 90010024 90610008 90A1000C 90C10010 38000002 9803005E 800501A0 C04501B0 C008006C FC000210 C0280070 FC200A10 FC00082A FC001040 408000C8 2C040000 41820018 8005019C 90060000 80010024 38210020 48000128 2C070001 418200A4 C0030074 FC000210 C0230078 FC200A10 FC00082A FC001040 4080000C 2C000001 40820080 2C000001 41820018 38000000 90030020 90030024 38000001 900501A0 818501A4 7D8803A6 4E800021 2C030001 80610008 80A1000C 80C10010 C04501A8 40820008 EC4200B2 C06501AC C0030020 C0230074 FC211024 48000059 D0030020 C0030024 C0230078 FC200850 48000045 D0030024 8005019C 90060000 48000024 38000000 900501A0 C008006C D0030020 C0080070 D0030024 38000000 90060000 80010024 7C0803A6 38210020 4E800020 FC0100FA C02501B4 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 80667A94 3F800000 00000000 80317CB8 3FAAAAAB 3C23D70A 3DCCCCCD 3F4CCCCD 7C0803A6 9421FFE0 60000000 00000000 C22D2448 0000001C 2C040001 40820014 71002000 418200C8 60E71000 480000C0 2C040002 408200B8 71200800 41820008 60E78000 71200001 41820008 60E70008 71204000 41820008 60E70004 71200002 41820008 60E70001 71208000 41820008 60E70002 71200010 41820008 60E70800 71200040 41820008 60E70400 71200008 41820008 60E70100 71200020 41820008 60E70200 71202000 41820008 61084000 71200200 41820008 60E70800 71200080 41820008 60E71000 71200004 41820008 60E70400 71200400 41820008 60E70010 71201000 41820008 60E71000 70E09FFF 60000000 00000000
Button Mapping
This one adds support for both the Classic Controller and Nunchuk, so we'll need a table for each. That said, the Nunchuk mode is basically just the normal Wiimote mode plus a stick and two buttons, so we'll get that one out of the way first.
Wii Remote Nunchuk Game Function Minus Z Auto-Swim Shake C Various Pointer Stick Movement (underwater)
Wii Remote Classic Controller Game Function Home Home
Remember to point with the right stick on Classic ControllerOpen/Close Home Button Menu D-Pad D-Pad Tool Menu Navigation A A/R Menus
Confirm
Gameplay
InteractB B/ZR Menus
Cancel
Gameplay
SwimPlus Plus Focus
Zoom InMinus Minus/ZL Gameplay
Auto-Swim
Focus
Zoom Out1 Y Open Map 2 X Change View Shake L Various IR Pointer Left Stick
Right StickMenus
Navigation
Gameplay
Movement (underwater)
Cursor Movement
General Notes
- Again, basically everything you do in this game revolves around the IR pointer, from player movement to aiming and fish interactions. Adapting this to a twin-stick (Classic)/one-stick-one-pointer (Nunchuk) setup does require a bit of compromise. Essentially, the different inputs have to fight over who's in charge of the IR pointer at the moment. I decided that the left stick gets higher priority: if you try to use both simultaneously, the left stick wins and right stick movement is ignored.
- The way this all works is that the left stick represents absolute movement and the right stick/IR pointer represents cursor movement. This allows you to swim around with entirely traditional controls (stick and buttons) then when you want to use the cursor, you let go of the left stick and move it around with the right stick/IR pointer. When you want to stop using the pointer, you go back to the left stick again.
- In the brief walking segments, you will need to use the right stick/IR cursor to move around and interact with people, objects and animals. The traditional, left-stick movement only works underwater.
- Remember that A is double-mapped to Classic A and R. When your thumb is busy manipulating the cursor with the right stick, you can use the R button to focus on a fish or whatever else you're interacting with without having to move off the right stick.
- Is this the first Nunchuk hack? Having to add Nunchuk support from scratch forced me to rethink how button injection should work, so with this hack I'm finally retiring crediar's original button injector, which also proved useful when updating the previous Metroid: Other M hack with Nunchuk support, since a method of remapping the Wiimote itself was also necessary in that case. But I'm getting side-tracked. A nice bonus here is that if you're just diving (not interacting with anything), you can do all of that entirely on the solo Nunchuk.
- Japan received two revisions of this game; the first was recalled after the discovery of a game-breaking bug in the aquarium feature. Owners were able to request a replacement copy with the bug fixed. By the time the game came to the US and Europe, this bug fix was already included. I didn't bother hacking the Japan Rev 0 release because I doubt there's enough people playing that rare, recalled Japanese version anyway.
Technical Notes
This hack is made up of three codes, all within KPAD.
The first one applies toread_kpad_acc()
. It's slightly different to previous accelerometer hacks in that instead of completely replacing the "real" accelerometer, here we only replace the function while the user is holding the shake button (Classic L/Nunchuk C). Otherwise, the accelerometer function runs normally. This is important for Nunchuk mode. The accelerometer data is used to determine the relative angle at which the sensor bar should be found, so to correctly find the sensor bar we need the real accelerometer data, not our faked version.
The second hack, which makes up the bulk of the total lines, applies tocalc_dpd_variable()
, a child ofread_kpad_dpd()
, the pointer function. Previous hacks applied directly to the parent function, but in this case where we still want the pointer to function normally sometimes, it was easier to apply it here, since this is after KPAD has determined whether or not the (real) IR pointer is currently in-use. This way, if KPAD says a real Wiimote is currently really pointed at the sensor bar, we can use that pointer data, but if not we can stick with our fake pointer instead. This hack is also responsible for managing which stick is currently "in charge" of the IR pointer and disabling the cursor visibility when in absolute mode. A lot going on in here.
As mentioned, this hack marks the debut of a new button injector, which is the third hack. It's still insideKPADRead
and It still does all the same stuff, but it's also able to remap the Wiimote itself and it still manages to be slightly shorter than the original method. We're jumping in earlier here (before the button states have been processed into pressed/held/released), so we no longer have to manage all of that manually: injecting the values before they get to that code means the game handles processing the buttons for us, as if they were real Wiimote buttons.
I also have the same problem with my pal version.Did you test it with a pal version as well? I just have a pal rev 1 and a ntsc rev 0 version of this game. Unfortunately the pal rev 1 is not working. I asked some friends about a ntsc rev 2 version. Maybe this will do the trick. I let you know. In the meantime: how about the game rhythm heaven fever and cc support? Should be relatively easy, it just have two buttons a and b to be pressed. It would be better to transfer them to ZR and ZL, because you have to press them simultaneously sometimes. Would be really great. It is one of those games: easy to understand, but so hard to perfect it
Thanks for your insights. I will try the following solution then: install an unpatched pal version of the game on the wii u via injection mode, save it after the first cut scene, delete the game and reinstall the patched version again. Then start the game from the previous save point. If this works it will be Christmas in October for meI also have the same problem with my pal version.
Here is what I found out:
1. Saving is no problem in fact it saves before it stops working with a black screen. The problem seems to be the cut scenes. If you load into a cut scene the game crashes but you can load into save files which are in the middle of a chapter and play the game normally.
2. The problem seems to be related to the hack since I tried out Xenoblade, Super Paper Mario and Heaven Rythm Feaver as a base and I tried to patch the normal game and the wii u virtual console version of the game.
3. After patching the game, the game shrinks in size which didn't happen with wario land, with which I also have no problems (But I just tested out these two so far).
4. It works fine if played via usb loader gx on the wii u via activating ocarina codes. ( I haven't tried playing the pre-patched game via usb loader gx)
Thanks for your insights. I will try the following solution then: install an unpatched pal version of the game on the wii u via injection mode, save it after the first cut scene, delete the game and reinstall the patched version again. Then start the game from the previous save point. If this works it will be Christmas in October for me
I think there's a way to use Wii VC to inject forwarders to homebrew that allows you to use the Wii U gamepad with USB Loader GX, at least with Nintendont, but I don't have any experience with that and I wouldn't know if Wii games are supported or not. I do know that when using said method you can only access the SD card though. There are probably topics somewhere on the forum about this, if you feel like searching for them -- I don't feel like doing it myself since I don't really care about using the Wii U gamepad as a classic controller.I got super paper mario working (pal and ntsc version). But here is the thing: it only works like Vague_Rant said via gecko code insert on dolphin and on the wii via usb loader gx ocarina. The main.dol of the game can't be changed with WIT otherwise both versions will crash before the first cut scene comes. So unfortunately it's not possible to inject this patched game to the wii u to be working on the wii u gamepad. As far as I know the usb loader gx on the vWii does not support the wii u gamepad
Did you test it with a pal version as well? I just have a pal rev 1 and a ntsc rev 0 version of this game. Unfortunately the pal rev 1 is not working. I asked some friends about a ntsc rev 2 version. Maybe this will do the trick. I let you know. In the meantime: how about the game rhythm heaven fever and cc support? Should be relatively easy, it just have two buttons a and b to be pressed. It would be better to transfer them to ZR and ZL, because you have to press them simultaneously sometimes. Would be really great. It is one of those games: easy to understand, but so hard to perfect it
I also have the same problem with my pal version.
Here is what I found out:
1. Saving is not a problem, it even saves before it stops with a black screen. The problem seems to be the cutscenes. If you load into a cutscene, the game crashes, but you can load into save files that are in the middle of a chapter and play the game normally.
2. The problem seems to be related to the hack, as I tried Xenoblade, Super Paper Mario and Heaven Rythm Feaver as a base and tried patching the normal game and the Wii U Virtual Console version of the game.
3. After patching the game, the game shrinks, which was not the case with Wario Land, which I also have no problems with (but I've only tested those two so far).
4. It works fine if you play it via usb loader gx on the vwii by enabling ocarina codes (I have not tried playing the pre-patched game via usb loader gx).
Personally I tested USA Rev 2 and PAL Rev 1, but obviously from later posts you two have discovered it's not to do with the versions, but somehow related to the game not liking the main.dol patching. I don't think this would be something I could directly fix since the WSTRT code handler stuff is out of my hands, but I need to revisit Super Paper Mario anyway (I missed the shaking support, see later quote) so I'll have another look if there's anything I can do differently.I got super paper mario working (pal and ntsc version). But here is the thing: it only works like Vague_Rant said via gecko code insert on dolphin and on the wii via usb loader gx ocarina. The main.dol of the game can't be changed with WIT otherwise both versions will crash before the first cut scene comes. So unfortunately it's not possible to inject this patched game to the wii u to be working on the wii u gamepad. As far as I know the usb loader gx on the vWii does not support the wii u gamepad
read_kpad_acc()
and read_kpad_dpd()
can be sacrificed entirely if we replace them with much shorter Classic-only versions. This would break Wiimote control, but since this would only be useful to people playing with CC support on Wii U GamePad, that doesn't matter too much. Still no guarantee it would work via injection, but when I come back to SPM to fix accelerometer, I'll give this a shot to see if it works any better for Wii VC.Disaster: Day of Crisis was fun, I played quite a bit of that one. I do remember some sections are pretty action-heavy third-person shooter/light gun-style using the IR pointer which is never as good on a stick, but definitely this was a cool game that would be nice to open up to more control schemes. Not sure how much motion control there was, I think there's also Nunchuk-shaking stuff which I've never really figured out properly, so on the more challenging end, but I'll add it to my list.To me an underrated game that never came to America was Disaster Day of Crisis. I think it could use classic controller support. It's made by the devs of Xenoblade Chronicles
Unfortunately, this doesn't work for Wii USB loading. USB loaders rely on custom IOSes to redirect disc reads to a USB drive or SD card. The way that Wii VC injection works is that all games run under Nintendo's special Wii U-only IOS255, which has its own official disc redirection support to load games from NAND/USB. This is also partly why game compatibility is not 100%, because some games (ones never intended for release on the Wii U eShop) don't work with Nintendo's "official cIOS". But yeah, since you can't use "traditional" cIOSes, traditional USB loading doesn't work.I think there's a way to use Wii VC to inject forwarders to homebrew that allows you to use the Wii U gamepad with USB Loader GX, at least with Nintendont, but I don't have any experience with that and I wouldn't know if Wii games are supported or not. I do know that when using said method you can only access the SD card though. There are probably topics somewhere on the forum about this, if you feel like searching for them -- I don't feel like doing it myself since I don't really care about using the Wii U gamepad as a classic controller.
Epic Mickey is another one that's been mentioned before. Like Need for Speed: ProStreet, it's one that I looked at and got stuck so I put it on my to-do list and moved on to other games. In that case, I got lost trying to figure out how to fake the Nunchuk accelerometer, since you have to shake that for one of the abilities Mickey has. I definitely plan to come back to it and try again, especially because understanding the Nunchuk is something I've come up against multiple times at this point without ever finding a "proper" solution (in Donkey Kong Jungle Beat, I modified Wiimote shakes to also count as Nunchuk shakes, and in DKC Returns, I ultimately found where the game judges whether or not you shook the Nunchuk and modified it there instead of actually simulating Nunchuk accelerometer stuff).I want to thank you again for these codes! Many of these games I have given up or never started because of the controls, and thanks to your codes I am now really enjoying these games for the first time. One game that I also really like, but where the controls degrade the gaming experience is the first Epic Mickey. In my opinion a cc hack would really benefit this game.
Edit: Is shaking mapped in Super Paper Mario? I came across a few instances where I had to shake but couldn't.
Sonic Riders has been mentioned before and it's one I took a look at but made absolutely no progress with. This is probably by far the most complicated one I've looked at so far, because it needs the Classic Controller remapped to behave like a GameCube pad. In Wii games, there's one (technically two) libraries that handle reading the Wiimote/Nunchuk/Classic Controller, and a completely unrelated library handles reading the GameCube controller. That makes having a Classic Controller behave like a solo Wiimote/Nunchuk a much simpler prospect than behaving like a controller from a completely separate library. I still want to figure this one out, but it's definitely tough.Hello! I'm new in this, and i want to know if are possible to make a cc code for the game Sonic Riders Zero Gravity
Thanks
Mario Strikers Charged is 100% a game I didn't play because of the motion controls. I really liked how the GameCube one controlled and it's a shame they didn't add an option like that for the sequel. Like a lot of games, the Nunchuk accelerometer is the most obvious barrier assuming nothing else goes wrong, since that's not something I've figured out a reliable solution for, but I'd really like to play that one with traditional controls.Any chance Mario Strikers Charged could get a CC patch? Playing online would be fun on the GamePad!
Post automatically merged:
WiiWare game Fluidity could also use a Classic Controller patch to the WAD if possible, it would be fun to play it on the GamePad!
Classic Controller Support/Nunchuk Mod [Vague Rant]
C20BC650 00000002
28000001 41820008
28000002 00000000
C21479FC 00000002
28000001 41820008
28000002 00000000
C2147E08 00000002
28040001 41820008
28040002 00000000
C22531F0 00000002
28000001 41820008
28000002 00000000
C22A3BD8 00000002
28150001 41820008
28150002 00000000
C2253230 00000003
801F0018 28000001
C05F1184 41820008
C05F1190 00000000
C22532FC 00000003
801F0018 28000001
C05F1188 41820008
C05F1194 00000000
04419884 48000010
C2067278 00000007
C03E04AC 801E0004
70000080 41820024
48000009 C059999A
7C6802A6 C0230000
2C0F0003 4082000C
FC200850 D0230000
60000000 00000000
C2068248 0000001F
80030000 70000040
418200E8 80030004
70000040 41820010
38000000 90030020
90030024 38000002
9803005E 9421FFF0
7C0802A6 90010014
90610008 48000015
800811DC 3FAAAAAB
3C23D70A 3F800000
7CA802A6 90A1000C
81850000 7D8803A6
4E800021 2C030001
80610008 80A1000C
C0450004 40820008
EC4200B2 C0650008
C0030020 C023006C
FC211024 48000039
D0030020 C0030024
C0230070 FC200850
48000025 D0030024
38000000 9003006C
90030070 80010014
7C0803A6 38210010
4E800020 FC0100FA
C025000C FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
9421FFC0 00000000
C2068B74 00000013
4E800421 C01E0014
4800000D 3F000000
00000000 7CA802A6
C0450000 809EFFA0
80BEFFA4 80DEFFA8
80FE0004 39000002
FC001040 48000029
FC000050 39000001
FC001040 48000019
909EFFA0 90BEFFA4
90DEFFA8 90FE0004
48000038 41800024
7CE34039 40820008
7CA54378 7C844378
7D0340F8 7CC61838
7CE74378 48000010
7CE34039 41820008
7CE74278 4E800020
60000000 00000000
C206922C 00000022
2C040001 40820038
71000800 41820008
68E70880 71000200
41820008 68E70220
71000100 41820008
68E70110 71000010
418200C8 68E70810
480000C0 2C040002
408200B8 71200800
41820008 60E78000
71200001 41820008
60E70008 71204000
41820008 60E70004
71200002 41820008
60E70001 71208000
41820008 60E70002
71200010 41820008
60E70800 71200040
41820008 60E70080
71200008 41820008
60E70020 71200020
41820008 60E70800
71202000 41820008
60E74000 71200200
41820008 60E70044
71200080 41820008
60E72000 71200004
41820008 60E70400
71200400 41820008
60E70010 71201000
41820008 60E71000
801FFFFC 7CE70278
7CE83B78 70E09FFF
60000000 00000000
C206924C 00000004
901F0004 70000020
41820010 801FFFFC
68000800 901FFFFC
60000000 00000000
Classic Controller Support/Nunchuk Mod [Vague Rant]
C20BC6D0 00000002
28000001 41820008
28000002 00000000
C2147A7C 00000002
28000001 41820008
28000002 00000000
C2147E88 00000002
28040001 41820008
28040002 00000000
C2253270 00000002
28000001 41820008
28000002 00000000
C22A3C58 00000002
28150001 41820008
28150002 00000000
C22532B0 00000003
801F0018 28000001
C05F1184 41820008
C05F1190 00000000
C225337C 00000003
801F0018 28000001
C05F1188 41820008
C05F1194 00000000
04419904 48000010
C2067278 00000007
C03E04AC 801E0004
70000080 41820024
48000009 C059999A
7C6802A6 C0230000
2C0F0003 4082000C
FC200850 D0230000
60000000 00000000
C2068248 0000001F
80030000 70000040
418200E8 80030004
70000040 41820010
38000000 90030020
90030024 38000002
9803005E 9421FFF0
7C0802A6 90010014
90610008 48000015
800811DC 3FAAAAAB
3C23D70A 3F800000
7CA802A6 90A1000C
81850000 7D8803A6
4E800021 2C030001
80610008 80A1000C
C0450004 40820008
EC4200B2 C0650008
C0030020 C023006C
FC211024 48000039
D0030020 C0030024
C0230070 FC200850
48000025 D0030024
38000000 9003006C
90030070 80010014
7C0803A6 38210010
4E800020 FC0100FA
C025000C FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
9421FFC0 00000000
C2068B74 00000013
4E800421 C01E0014
4800000D 3F000000
00000000 7CA802A6
C0450000 809EFFA0
80BEFFA4 80DEFFA8
80FE0004 39000002
FC001040 48000029
FC000050 39000001
FC001040 48000019
909EFFA0 90BEFFA4
90DEFFA8 90FE0004
48000038 41800024
7CE34039 40820008
7CA54378 7C844378
7D0340F8 7CC61838
7CE74378 48000010
7CE34039 41820008
7CE74278 4E800020
60000000 00000000
C206922C 00000022
2C040001 40820038
71000800 41820008
68E70880 71000200
41820008 68E70220
71000100 41820008
68E70110 71000010
418200C8 68E70810
480000C0 2C040002
408200B8 71200800
41820008 60E78000
71200001 41820008
60E70008 71204000
41820008 60E70004
71200002 41820008
60E70001 71208000
41820008 60E70002
71200010 41820008
60E70800 71200040
41820008 60E70080
71200008 41820008
60E70020 71200020
41820008 60E70800
71202000 41820008
60E74000 71200200
41820008 60E70044
71200080 41820008
60E72000 71200004
41820008 60E70400
71200400 41820008
60E70010 71201000
41820008 60E71000
801FFFFC 7CE70278
7CE83B78 70E09FFF
60000000 00000000
C206924C 00000004
901F0004 70000020
41820010 801FFFFC
68000800 901FFFFC
60000000 00000000
Classic Controller Support/Nunchuk Mod [Vague Rant]
C20BC6D0 00000002
28000001 41820008
28000002 00000000
C2147A5C 00000002
28000001 41820008
28000002 00000000
C2147E68 00000002
28040001 41820008
28040002 00000000
C2253250 00000002
28000001 41820008
28000002 00000000
C22A3C38 00000002
28150001 41820008
28150002 00000000
C2253290 00000003
801F0018 28000001
C05F1184 41820008
C05F1190 00000000
C225335C 00000003
801F0018 28000001
C05F1188 41820008
C05F1194 00000000
044198E4 48000010
C2067278 00000007
C03E04AC 801E0004
70000080 41820024
48000009 C059999A
7C6802A6 C0230000
2C0F0003 4082000C
FC200850 D0230000
60000000 00000000
C2068248 0000001F
80030000 70000040
418200E8 80030004
70000040 41820010
38000000 90030020
90030024 38000002
9803005E 9421FFF0
7C0802A6 90010014
90610008 48000015
800811DC 3FAAAAAB
3C23D70A 3F800000
7CA802A6 90A1000C
81850000 7D8803A6
4E800021 2C030001
80610008 80A1000C
C0450004 40820008
EC4200B2 C0650008
C0030020 C023006C
FC211024 48000039
D0030020 C0030024
C0230070 FC200850
48000025 D0030024
38000000 9003006C
90030070 80010014
7C0803A6 38210010
4E800020 FC0100FA
C025000C FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
9421FFC0 00000000
C2068B74 00000013
4E800421 C01E0014
4800000D 3F000000
00000000 7CA802A6
C0450000 809EFFA0
80BEFFA4 80DEFFA8
80FE0004 39000002
FC001040 48000029
FC000050 39000001
FC001040 48000019
909EFFA0 90BEFFA4
90DEFFA8 90FE0004
48000038 41800024
7CE34039 40820008
7CA54378 7C844378
7D0340F8 7CC61838
7CE74378 48000010
7CE34039 41820008
7CE74278 4E800020
60000000 00000000
C206922C 00000022
2C040001 40820038
71000800 41820008
68E70880 71000200
41820008 68E70220
71000100 41820008
68E70110 71000010
418200C8 68E70810
480000C0 2C040002
408200B8 71200800
41820008 60E78000
71200001 41820008
60E70008 71204000
41820008 60E70004
71200002 41820008
60E70001 71208000
41820008 60E70002
71200010 41820008
60E70800 71200040
41820008 60E70080
71200008 41820008
60E70020 71200020
41820008 60E70800
71202000 41820008
60E74000 71200200
41820008 60E70044
71200080 41820008
60E72000 71200004
41820008 60E70400
71200400 41820008
60E70010 71201000
41820008 60E71000
801FFFFC 7CE70278
7CE83B78 70E09FFF
60000000 00000000
C206924C 00000004
901F0004 70000020
41820010 801FFFFC
68000800 901FFFFC
60000000 00000000
Classic Controller Support/Nunchuk Mod [Vague Rant]
C20BC660 00000002
28000001 41820008
28000002 00000000
C2147C3C 00000002
28000001 41820008
28000002 00000000
C2148048 00000002
28040001 41820008
28040002 00000000
C2254F80 00000002
28000001 41820008
28000002 00000000
C22A5968 00000002
28150001 41820008
28150002 00000000
C2254FC0 00000003
801F0018 28000001
C05F1184 41820008
C05F1190 00000000
C225508C 00000003
801F0018 28000001
C05F1188 41820008
C05F1194 00000000
0441B614 48000010
C2067278 00000007
C03E04AC 801E0004
70000080 41820024
48000009 C059999A
7C6802A6 C0230000
2C0F0003 4082000C
FC200850 D0230000
60000000 00000000
C2068248 0000001F
80030000 70000040
418200E8 80030004
70000040 41820010
38000000 90030020
90030024 38000002
9803005E 9421FFF0
7C0802A6 90010014
90610008 48000015
8008121C 3FAAAAAB
3C23D70A 3F800000
7CA802A6 90A1000C
81850000 7D8803A6
4E800021 2C030001
80610008 80A1000C
C0450004 40820008
EC4200B2 C0650008
C0030020 C023006C
FC211024 48000039
D0030020 C0030024
C0230070 FC200850
48000025 D0030024
38000000 9003006C
90030070 80010014
7C0803A6 38210010
4E800020 FC0100FA
C025000C FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
9421FFC0 00000000
C2068B74 00000013
4E800421 C01E0014
4800000D 3F000000
00000000 7CA802A6
C0450000 809EFFA0
80BEFFA4 80DEFFA8
80FE0004 39000002
FC001040 48000029
FC000050 39000001
FC001040 48000019
909EFFA0 90BEFFA4
90DEFFA8 90FE0004
48000038 41800024
7CE34039 40820008
7CA54378 7C844378
7D0340F8 7CC61838
7CE74378 48000010
7CE34039 41820008
7CE74278 4E800020
60000000 00000000
C206922C 00000022
2C040001 40820038
71000800 41820008
68E70880 71000200
41820008 68E70220
71000100 41820008
68E70110 71000010
418200C8 68E70810
480000C0 2C040002
408200B8 71200800
41820008 60E78000
71200001 41820008
60E70008 71204000
41820008 60E70004
71200002 41820008
60E70001 71208000
41820008 60E70002
71200010 41820008
60E70800 71200040
41820008 60E70080
71200008 41820008
60E70020 71200020
41820008 60E70800
71202000 41820008
60E74000 71200200
41820008 60E70044
71200080 41820008
60E72000 71200004
41820008 60E70400
71200400 41820008
60E70010 71201000
41820008 60E71000
801FFFFC 7CE70278
7CE83B78 70E09FFF
60000000 00000000
C206924C 00000004
901F0004 70000020
41820010 801FFFFC
68000800 901FFFFC
60000000 00000000
Classic Controller Support/Nunchuk Mod [Vague Rant]
C20BC5E0 00000002
28000001 41820008
28000002 00000000
C2147B6C 00000002
28000001 41820008
28000002 00000000
C2147F78 00000002
28040001 41820008
28040002 00000000
C2254E70 00000002
28000001 41820008
28000002 00000000
C22A5858 00000002
28150001 41820008
28150002 00000000
C2254EB0 00000003
801F0018 28000001
C05F1184 41820008
C05F1190 00000000
C2254F7C 00000003
801F0018 28000001
C05F1188 41820008
C05F1194 00000000
0441B504 48000010
C206729C 00000007
C03E04AC 801E0004
70000080 41820024
48000009 C059999A
7C6802A6 C0230000
2C0F0003 4082000C
FC200850 D0230000
60000000 00000000
C206826C 0000001F
80030000 70000040
418200E8 80030004
70000040 41820010
38000000 90030020
90030024 38000002
9803005E 9421FFF0
7C0802A6 90010014
90610008 48000015
800811AC 3FAAAAAB
3C23D70A 3F800000
7CA802A6 90A1000C
81850000 7D8803A6
4E800021 2C030001
80610008 80A1000C
C0450004 40820008
EC4200B2 C0650008
C0030020 C023006C
FC211024 48000039
D0030020 C0030024
C0230070 FC200850
48000025 D0030024
38000000 9003006C
90030070 80010014
7C0803A6 38210010
4E800020 FC0100FA
C025000C FC000800
4180000C FC000890
48000014 FC200850
FC000800 41810008
FC000890 4E800020
9421FFC0 00000000
C2068B98 00000013
4E800421 C01E0014
4800000D 3F000000
00000000 7CA802A6
C0450000 809EFFA0
80BEFFA4 80DEFFA8
80FE0004 39000002
FC001040 48000029
FC000050 39000001
FC001040 48000019
909EFFA0 90BEFFA4
90DEFFA8 90FE0004
48000038 41800024
7CE34039 40820008
7CA54378 7C844378
7D0340F8 7CC61838
7CE74378 48000010
7CE34039 41820008
7CE74278 4E800020
60000000 00000000
C2069250 00000022
2C040001 40820038
71000800 41820008
68E70880 71000200
41820008 68E70220
71000100 41820008
68E70110 71000010
418200C8 68E70810
480000C0 2C040002
408200B8 71200800
41820008 60E78000
71200001 41820008
60E70008 71204000
41820008 60E70004
71200002 41820008
60E70001 71208000
41820008 60E70002
71200010 41820008
60E70800 71200040
41820008 60E70080
71200008 41820008
60E70020 71200020
41820008 60E70800
71202000 41820008
60E74000 71200200
41820008 60E70044
71200080 41820008
60E72000 71200004
41820008 60E70400
71200400 41820008
60E70010 71201000
41820008 60E71000
801FFFFC 7CE70278
7CE83B78 70E09FFF
60000000 00000000
C2069270 00000004
901F0004 70000020
41820010 801FFFFC
68000800 901FFFFC
60000000 00000000
Wii Remote & Nunchuk | Wii Remote & Nunchuk | Game Function |
---|---|---|
Wiimote A | Wiimote Plus | Menus Confirm Gameplay Interact Show Compass (hold) |
Wiimote A (hold) | Wiimote 1 | Gameplay Show Compass |
Wiimote Plus | Wiimote 2 | Gameplay Pause |
Wiimote Shake | Wiimote A | Gameplay Jump Paint Landmarks |
Wii Remote & Nunchuk | Classic Controller | Game Function |
---|---|---|
Wiimote Home | Home Remember to hold R to enable the IR pointer | Open Home Menu |
Wiimote D-Pad Up | D-Pad Up | Not used? |
Wiimote D-Pad Down | D-Pad Down R | Gameplay First-Person View |
Wiimote D-Pad Left/Right | D-Pad Left/Right Right Stick Left/Right | Gameplay Rotate Camera |
Wiimote A | A Y | Menus Confirm Gameplay Interact Show Compass (hold) |
Wiimote A (hold) | X | Gameplay Show Compass |
Wiimote B | ZR | Gameplay Brake Drop (air) |
Wiimote 1 & 2 | Not mapped | Not used? |
Wiimote Plus | Plus | Gameplay Pause |
Wiimote Minus | Minus | Menus Back/Cancel Gameplay Skip Text/Cutscenes |
Wiimote Shake | B | Gameplay Jump Paint Landmarks |
Wiimote IR Pointer | R (hold to enable) Left Stick | Menus Navigation Gameplay Look Around (first person) |
Nunchuk Stick | Left Stick | Menus Navigation Gameplay Movement |
Nunchuk C | L | Gameplay Re-Center Camera |
Nunchuk Z | ZL | Gameplay Lock-On |
Nunchuk Shake | Not mapped Use Wiimote Shake (B) | Gameplay Paint Landmarks |
C2
codes, which now check for either Nunchuk of Classic Controller.C2
codes handle redirecting Nunchuk analog stick reads to the Classic Controller stick.04
code, once again patching the Home Button Menu update()
function to prevent it re-initing the Classic Controller every 64 frames as was done in Super Paper Mario and some other game, was it Animal Crossing?C2
is a modification to read_kpad_acc()
which injects a "different" shake every time you press the designated shake button, i.e. one up, one down, repeat. This isn't necessary for the jumping (either direction is fine), but there are times when you need to shake the Wiimote to fill a landmark with paint and it doesn't like you shaking in the same direction every time.C2
is a pretty standard pointer hack for read_kpad_dpd()
, with the one unique feature that the pointer is only enabled while you're holding the designated pointer button (R). The pointer is fairly optional in this game; it's used to look around in first-person mode and can optionally be used for menu navigation. Since the first-person camera is activated by holding a button, it made sense to tie the pointer to that same button.C2
code to read_kpad_stick()
handles emulating D-Pad left/right on the right analog stick for camera manipulation using a slightly modified version of the usual stick emulation feature in hacks like Metroid: Other M. Nothing too tricky going on there.C2
s are in KPADRead()
and handle the button mapping. The first is the new button injector which debuted in Endless Ocean and the second is handling that A button Caps Lock feature. If you press the "hold A" button, the A button value gets stored into a variable that gets or
ed into all button reads. If you press it again, the bit is cleared and A is no longer held.Ooh, nice! Some control concepts would be:Fluidity is a cool idea, I loved that game. While it's of course impossible to truly match the original and its tilt sensitivity, it would definitely be nice to have it playable on a stick. Would like to see if this could be done, onto the list
Should definitely be doable but it will be a bit more work than for disc games. You'd have to unpack the WAD and then the resulting@Vague Rant I tried doing the unpacking wads thing for fluidity, but i cant seem to find a main.dol file for the game, is there any other way a gecko code / hack could be applied to it? (If the hack ever comes out lol)
00000001.app
is an LZX-compressed main.dol
. You can unpack that with a command line tool like lzx.exe
which you can find in the download for the RiiConnect24 Auto WiiWare Patcher.00000001.app
00000001.app
and lzx.exe
into the same directorylzx -d 00000001.app
in the command prompt to decompress the file; this will replace the existing 00000001.app
with a decompressed versionmain.dol
just to make things easier on yourselfwstrt
stuff with the decompressed main.dol
and .gct
file00000001.app
lzx -evb 00000001.app
00000001.app
back to the rest of your extracted WAD contents (replacing the original if it's still there)