- Joined
- Aug 7, 2008
- Messages
- 2,489
- Trophies
- 2
- Location
- Melbourne
- Website
- vaguerant.tumblr.com
- XP
- 3,534
- Country
Wario Land: Shake It! aka Wario Land: The Shake Dimension aka Wario Land: Shake aka Wario Land: Shaking is the game so good they named it four times. This was Good-Feel's "first" game, having released only educational software before this. It takes the form of a level-based 2D platformer with hidden treasures to collect in each stage and a similar countdown timer system to the previous Wario Land 4 on GBA. You really wouldn't know this was the team's first real game-game; from the fun gameplay to the spectacular presentation (with cutscenes by Production I.G.), its biggest downfalls are that it's very short and very reliant on something you might be able to guess from the title. You can tell it's an early Wii game when the fact that you get to shake the controller is the game's unique selling point. There's also some occasional tilting necessary. Maybe it needs a fifth title to incorporate that as well.
B/A Mode
Y/B Mode
USAEuropeJapan (Rev 1)Korea
-
Code:
Classic Controller Support v1.1 (B/A Mode) [Vague Rant, crediar] C2409AB4 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240ABDC 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C63CA4 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240B50C 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAECC 00000000 C240BBFC 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50100 70C40040 41820008 60A50200 70C40008 41820008 60A50800 70C40020 41820008 60A50080 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (B/A Mode) [Vague Rant, crediar] C240A024 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240B14C 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C64214 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240BA7C 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAECC 00000000 C240C16C 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50100 70C40040 41820008 60A50200 70C40008 41820008 60A50800 70C40020 41820008 60A50080 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (B/A Mode) [Vague Rant, crediar] C240D128 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240E250 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C67318 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240EB80 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADB86C 00000000 C240F270 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50100 70C40040 41820008 60A50200 70C40008 41820008 60A50800 70C40020 41820008 60A50080 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (B/A Mode) [Vague Rant, crediar] C2409A9C 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFB0 00000000 C240AC08 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C641B4 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240B538 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAEE4 00000000 C240BC3C 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50100 70C40040 41820008 60A50200 70C40008 41820008 60A50800 70C40020 41820008 60A50080 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
USAEuropeJapan (Rev 1)Korea
-
Code:
Classic Controller Support v1.1 (Y/B Mode) [Vague Rant, crediar] C2409AB4 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240ABDC 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C63CA4 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240B50C 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAECC 00000000 C240BBFC 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50800 70C40040 41820008 60A50100 70C40008 41820008 60A50080 70C40020 41820008 60A50200 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (Y/B Mode) [Vague Rant, crediar] C240A024 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240B14C 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C64214 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240BA7C 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAECC 00000000 C240C16C 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50800 70C40040 41820008 60A50100 70C40008 41820008 60A50080 70C40020 41820008 60A50200 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (Y/B Mode) [Vague Rant, crediar] C240D128 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFC0 00000000 C240E250 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C67318 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240EB80 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADB86C 00000000 C240F270 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50800 70C40040 41820008 60A50100 70C40008 41820008 60A50080 70C40020 41820008 60A50200 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
-
Code:
Classic Controller Support v1.1 (Y/B Mode) [Vague Rant, crediar] C2409A9C 00000013 88040028 2C000002 40820088 7C0802A6 48000005 7CA802A6 7C0803A6 C0030074 FC000050 D0030014 C025006C FC000210 FC000828 D0030010 80030004 70000080 41820010 C0050074 C0250078 48000028 80030000 70000080 41820014 8003000C 68000001 9003000C 4E800020 C0050070 C0250070 D003000C D0230018 4E800020 3F800000 00000000 4059999A 40BC7277 9421FFB0 00000000 C240AC08 00000019 88A40028 2C050002 408200B8 9421FFF0 7C0802A6 9001000C 90610008 98A3005E 3CC0803A 60C641B4 7CC803A6 4E800021 2C030001 80610008 48000005 7CA802A6 C0450078 40820008 EC4200B2 C065007C C0030020 C023006C FC211024 4800002D D0030020 C0030024 C0230070 FC200850 48000019 D0030024 8001000C 7C0803A6 38210010 4E800020 FC0100FA C0250080 FC000800 4180000C FC000890 48000014 FC200850 FC000800 41810008 FC000890 4E800020 3FAAAAAB 3D23D70A 3F800000 9421FFC0 00000000 C240B538 00000017 7C0802A6 C01E000C C03E0010 48000005 7CA802A6 C0450098 809EFFA0 80BEFFA4 80DEFFA8 80FE0024 39000004 FC001040 48000045 39000002 FC011040 48000039 FC000050 39000008 FC001040 48000029 FC200850 39000001 FC011040 48000019 909EFFA0 90BEFFA4 90DEFFA8 90FE0024 4800003C 41800024 7CE34039 40820008 7CA54378 7C844378 7D0340F8 7CC61838 7CE74378 48000010 7CE34039 41820008 7CE74278 4E800020 3F000000 7C0803A6 80ADAEE4 00000000 C240BC3C 00000021 901F0068 80DF0060 48000039 809F0000 7CC62378 90DF0000 7CC630F8 809F0008 7C863038 90DF0008 80DF0064 48000015 809F0004 7CC62378 90DF0004 480000C4 38A00000 70C40800 41820008 60A58000 70C40001 41820008 60A50002 70C44000 41820008 60A50001 70C40002 41820008 60A50008 70C48000 41820008 60A50004 70C40010 41820008 60A50800 70C40040 41820008 60A50100 70C40008 41820008 60A50080 70C40020 41820008 60A50200 70C42000 41820008 60A50100 70C40200 41820008 60A50200 70C40080 41820008 60A50100 70C40004 41820008 60A50200 70C40400 41820008 60A50010 70C41000 41820008 60A51000 7CA62B78 4E800020 60000000 00000000
Button Mapping
Wii Remote | Classic Controller | Game Function |
---|---|---|
Home | Home Home Menu also works | Open/Close Home Button Menu |
D-Pad | D-Pad Left Stick | Movement |
Wiimote A | B/A Mode X Y/B Mode A | Home Menu Confirm |
Wiimote B | Not used | |
Plus | Plus | Pause |
Minus | Minus | Missions |
Wiimote 1 | B/A Mode B/R/ZR Y/B Mode Y/R/ZR | Attack Throw |
Wiimote 2 | B/A Mode A/L/ZL Y/B Mode B/L/ZL | Jump |
Wiimote Tilt | Right Stick | Aiming |
Wiimote IR Pointer | Left Stick | Home Menu Navigation |
Wiimote Shake | B/A Mode Y Y/B Mode X | Shake |
General Notes
- to perform Wario's throw move, you can use whatever button you have mapped as Attack/Throw, but I recommend using R/ZR, which keeps your right thumb free to adjust the tilt/throw angle on the right analog stick
- this hack adds the option to use the left stick as your D-pad; the controls are still completely digital so personally it feels imprecise to me, but use whichever you prefer
- once again, there's two code options here, you can use the B/A controls or Y/B controls depending on how you prefer platformers to play; the obvious downside of Y/B is that those are also your cancel/confirm buttons, but in-game I find it much more comfortable
Changelog
- v1.1 changes the shoulder button layout to accommodate the later vehicle stages
Technical Notes
This is quite similar to Kirby's Epic Yarn (same developer, same hacks), so I'll just list the things that are new here. This hack is four C2 codes, the ones I'll be discussing are the third and fourth codes.
Code 3 hits
Code 4 is in theory the usual button injector, but I actually noticed there's been a minor bug sitting in this hack which forms the backbone of every Classic Controller hack ever made for like ... 15 years or whenever crediar first wrote it. As mentioned above, buttons have three states, but the button injector incorrectly handles the release state, such that any button you press is reported as being both held and released at the same time. Fortunately, there are very few cases where it's useful to know which buttons were released this frame, and games rarely use that information. The fact that it's been broken for 15 years and never caused any problems is a good indicator of this. It's also broken in all my previous Classic Controller hacks, but unless or until any issues are reported with them, I'm not going to go back and fix the issue since games don't care anyway. That said, it is fixed in this one and will be if I do any more Classic Controller hacks going forward.
Bonus note: This is another one that's 100% hitting SDK libraries, so this one is a good candidate to look at for anybody who wants to add CC support to a horizontal Wiimote game. I was lucky in that this game has no "bad EXT" warning, so there was zero Wario-specific hacking necessary here.
Code 3 hits
read_kpad_stick()
(later renamed read_kpad_ext()
as noted in a precious tech notes section). What we're doing here is mapping the left stick to the four D-pad directional buttons. This is kind of busywork, translating an analog stick to cover 12 different button states (each direction pressed/held and released) but it should be very portable, so in theory future hacks of horizontal Wiimote games like this can have analog stick, but crucially, not analog movement, control. I hate playing digital games with a stick but I know some people prefer that, so here it is.Code 4 is in theory the usual button injector, but I actually noticed there's been a minor bug sitting in this hack which forms the backbone of every Classic Controller hack ever made for like ... 15 years or whenever crediar first wrote it. As mentioned above, buttons have three states, but the button injector incorrectly handles the release state, such that any button you press is reported as being both held and released at the same time. Fortunately, there are very few cases where it's useful to know which buttons were released this frame, and games rarely use that information. The fact that it's been broken for 15 years and never caused any problems is a good indicator of this. It's also broken in all my previous Classic Controller hacks, but unless or until any issues are reported with them, I'm not going to go back and fix the issue since games don't care anyway. That said, it is fixed in this one and will be if I do any more Classic Controller hacks going forward.
Bonus note: This is another one that's 100% hitting SDK libraries, so this one is a good candidate to look at for anybody who wants to add CC support to a horizontal Wiimote game. I was lucky in that this game has no "bad EXT" warning, so there was zero Wario-specific hacking necessary here.
Last edited by Vague Rant,