![]() |
CPU Control Cycler [Ro] - Printable Version +- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com) +-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51) +--- Forum: Offline Non-Item (https://mariokartwii.com/forumdisplay.php?fid=53) +--- Thread: CPU Control Cycler [Ro] (/showthread.php?tid=2231) |
CPU Control Cycler [Ro] - _Ro - 09-02-2024 CPU Control Cycler [Ro] This code allows playing as other CPUs, you can cycle the camera thru all CPUs and you will be able to play as the one that the camera is targetting, you can drive and throw items as if you were really them. Once you change the CPU, the CPU you were previously controlling will return back to normal and will start driving by itself again. Your real player will not move or use items while you control CPUs. This code can be fun in many ways, you can mess with CPUs, use it for testing and pictures (you can use Joshua's Disable CPU Driving code to make all CPUs not move and then control each individually to position them for a picture) or even changing CPUs combos with Vega's code and then using it for different things. Most of the HUD is still based on your real player but minimap icon for controlled CPU was coded in. DO NOT USE MORE THAN ONE BUTTON AT SAME TIME (Example: B and D-Pad Left. Use one: D-Pad Left for example) XXXX: Controller Address Second Half [Example: 14C2 for Classic Controller NTSC-U] 803Q: 803Q: Change Q to 5 for GameCube controller, 4 for all other controllers YYYY: Both cycle buttons masked together (Button to cycle to previous+ Button to cycle to next button = YYYY) [Example: 8002 for D-Pad Left/Right for Classic Controller] ZZZZ: Button to cycle to previous [Example: 0002 for D-Pad Left for Classic Controller ] No need to input button to cycle to next, YYYY logic does it, plus, makes code shorter and cleaner. This code makes uses of addresses 0x80001620 thru 0x80001621. Make sure no other codes use these addresses. NTSC-U C2581B2C 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFF0 60000000 00000000 C258E058 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFD0 60000000 00000000 C2589BE4 00000004 88030010 3D808000 898C1620 7C006000 40820008 38000000 60000000 00000000 C25971F8 00000013 3FC08000 889E1620 3D808034 A06CXXXX 3D80809C 818CEE20 898C0010 398CFFFF 2C0C0001 41810014 2C040001 4081000C 38800000 48000044 7063YYYY 4182004C 897E1621 2C0B0000 40820048 706BZZZZ 41820018 2C040000 3884FFFF 4082001C 7D846378 48000014 7C0C2000 38840001 40820008 38800000 989D009C 989E1620 39600001 48000008 39600000 997E1621 60000000 00000000 C2728F84 00000007 3D808000 898C1620 817D0000 814B0000 894A0010 7C0C5000 40820018 818B0004 816C0014 556B003C 916C0014 4E800020 9421FFF0 00000000 C278ED0C 00000005 A01D000C 3D808000 898C1620 2C0C0000 41820010 2C1B0000 40820008 38000000 60000000 00000000 C27E1CA8 00000002 3D808000 898C1620 7C046000 00000000 C27E2018 0000000A 80030B90 3D808000 898C1620 817CFFFC 2C0B0000 41820038 816B0000 816B0000 896B0010 396B0001 7C0B6000 40820020 38000002 819C01BC 39600001 996C00BB 819C01C0 39600005 996C00BB 00000000 PAL C2588350 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFF0 60000000 00000000 C259487C 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFD0 60000000 00000000 C2590408 00000004 88030010 3D808000 898C1620 7C006000 40820008 38000000 60000000 00000000 C25A2230 00000013 3FC08000 889E1620 3D80803Q A06CXXXX 3D80809C 818C3618 898C0010 398CFFFF 2C0C0001 41810014 2C040001 4081000C 38800000 48000044 7063YYYY 4182004C 897E1621 2C0B0000 40820048 706BZZZZ 41820018 2C040000 3884FFFF 4082001C 7D846378 48000014 7C0C2000 38840001 40820008 38800000 989D009C 989E1620 39600001 48000008 39600000 997E1621 60000000 00000000 C273313C 00000007 3D808000 898C1620 817D0000 814B0000 894A0010 7C0C5000 40820018 818B0004 816C0014 556B003C 916C0014 4E800020 9421FFF0 00000000 C2797D18 00000005 A01D000C 3D808000 898C1620 2C0C0000 41820010 2C1B0000 40820008 38000000 60000000 00000000 C27EB554 00000002 3D808000 898C1620 7C046000 00000000 C27EB8C4 0000000A 80030B90 3D808000 898C1620 817CFFFC 2C0B0000 41820038 816B0000 816B0000 896B0010 396B0001 7C0B6000 40820020 38000002 819C01BC 39600001 996C00BB 819C01C0 39600005 996C00BB 00000000 NTSC-J C2587CD0 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFF0 60000000 00000000 C25941FC 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFD0 60000000 00000000 C258FD88 00000004 88030010 3D808000 898C1620 7C006000 40820008 38000000 60000000 00000000 C25A1BB0 00000013 3FC08000 889E1620 3D808034 A06CXXXX 3D80809C 818C2678 898C0010 398CFFFF 2C0C0001 41810014 2C040001 4081000C 38800000 48000044 7063YYYY 4182004C 897E1621 2C0B0000 40820048 706BZZZZ 41820018 2C040000 3884FFFF 4082001C 7D846378 48000014 7C0C2000 38840001 40820008 38800000 989D009C 989E1620 39600001 48000008 39600000 997E1621 60000000 00000000 C27327A8 00000007 3D808000 898C1620 817D0000 814B0000 894A0010 7C0C5000 40820018 818B0004 816C0014 556B003C 916C0014 4E800020 9421FFF0 00000000 C2797384 00000005 A01D000C 3D808000 898C1620 2C0C0000 41820010 2C1B0000 40820008 38000000 60000000 00000000 C27EABC0 00000002 3D808000 898C1620 7C046000 00000000 C27EAF30 0000000A 80030B90 3D808000 898C1620 817CFFFC 2C0B0000 41820038 816B0000 816B0000 896B0010 396B0001 7C0B6000 40820020 38000002 819C01BC 39600001 996C00BB 819C01C0 39600005 996C00BB 00000000 NTSC-K C25763A8 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFF0 60000000 00000000 C25828D4 00000006 819D0000 818C0000 898C0010 3D608000 896B1620 2C0B0000 4182000C 2C0C0000 4D820020 9421FFD0 60000000 00000000 C257E460 00000004 88030010 3D808000 898C1620 7C006000 40820008 38000000 60000000 00000000 C2590288 00000013 3FC08000 889E1620 3D808033 A06CXXXX 3D80809B 818C1C58 898C0010 398CFFFF 2C0C0001 41810014 2C040001 4081000C 38800000 48000044 7063YYYY 4182004C 897E1621 2C0B0000 40820048 706BZZZZ 41820018 2C040000 3884FFFF 4082001C 7D846378 48000014 7C0C2000 38840001 40820008 38800000 989D009C 989E1620 39600001 48000008 39600000 997E1621 60000000 00000000 C27214E4 00000007 3D808000 898C1620 817D0000 814B0000 894A0010 7C0C5000 40820018 818B0004 816C0014 556B003C 916C0014 4E800020 9421FFF0 00000000 C27860D8 00000005 A01D000C 3D808000 898C1620 2C0C0000 41820010 2C1B0000 40820008 38000000 60000000 00000000 C27D9914 00000002 3D808000 898C1620 7C046000 00000000 C27D9C84 0000000A 80030B90 3D808000 898C1620 817CFFFC 2C0B0000 41820038 816B0000 816B0000 896B0010 396B0001 7C0B6000 40820020 38000002 819C01BC 39600001 996C00BB 819C01C0 39600005 996C00BB 00000000 Code creator: Ro Code credits: JoshuaMK and B_squo (Both had important addresses that helped me find CPU AI functions), acaruso (Player camera address) and probably more people RE: CPU Control Cycler [Ro] - Vega - 09-02-2024 Nice work! RE: CPU Control Cycler [Ro] - _Ro - 09-14-2024 While taking a bath today I remembered that I forgot to change another button to YYYY. I updated it so everything works properly. RE: CPU Control Cycler [Ro] - AGES - 12-29-2024 It works an absolute charm! There's just one thing I wonder, could it be possible to make the detached player self drive while controlling the others? RE: CPU Control Cycler [Ro] - _Ro - 12-29-2024 It is possible by modifying the CPU bot code. There's one code there that does something with inputs that only runs once though, so you might need to find another way to toggle CPU on and off in game. For making you the CPU when the camera isnt targetting you, you need to compare if the camera target ID (in 0x80001620) is 0 (you), if it is, skip code, otherwise, check if "CPU" ID is 0 (you) and if it isnt, skip code too, otherwise set CPU I say skip code but you likely have to do something else to disable CPU You will also need to remove one of the 8058XXXX and maybe modify 8072XXXX RE: CPU Control Cycler [Ro] - Vega - 01-11-2025 Can you post the source to this code? Would like to take a closer look at it. RE: CPU Control Cycler [Ro] - _Ro - 01-11-2025 I don't have it anymore but I can port it from C2 and write what each thing do RE: CPU Control Cycler [Ro] - _Ro - 01-11-2025 (01-11-2025, 04:06 AM)Vega Wrote: Can you post the source to this code? Would like to take a closer look at it. Code: Prevent you from controlling your kart when spectating others Code: Manipulate return pointer to control targetted CPU inputs (kart, items etc) Code: Cycle camera through everyone (and store target ID) RE: CPU Control Cycler [Ro] - _Ro - 01-29-2025 Fixed an issue where it would crash in Time Trials when leaving the race with the camera targetting a player ID above 1 (Invalid player in TT) and did minor change in one frame press state so only one YYYY has to set RE: CPU Control Cycler [Ro] - _Ro - 01-29-2025 + Fixed crash on other regions |