I threw this up in the Post your cheat codes thread, but I fixed a couple bugs. Anyway,
***CHANGE LOG***
Added a simple check to ensure to ignore cheats or recheats file that has codes in it. This way it won't error out on zero length lists.
Added some simple error detection and provided some level of feedback on the activity.
Revised parsing logic to use Regular Expresions.
Parses Pointer Codes with Offsets See below for examples of offsets.
*****************************************************************************************************
Make sure you change the WiiU IP Address in Line: 4
******************************************************************************************************
This is a simple Cheat Code Loader. Just unzip and install in the PyGecko folder. Run the Kernel exploit and PyGecko Code Handler on the Wii U. Once you've loaded your game and your cheats are in the files you want. Just double click "cheats.py".
If you are using someone's hosted kernel exploit and tcpgecko handler, than you will still need to download pyGecko from the github. Its at: https://github.com/wiiudev/pyGecko Download the zip folder and install wherever you want, unzip the file I attached into that folder. You will also need at Python 2.7 installed. To run it, connect to the hosted site, run the kernel exploit, the tcpgecko installer and than go to the main menu and launch your game. Once you've launched the game, you can double click cheat.py and it will auto auto connect, grab the codes in cheat.txt, and recheat.txt and load the codes into memory.
This has to have files included, "cheats.txt" and "recheats.txt". This codes stored in cheats.txt are one time run only required, such as infinite lives for Mario 3d World, which uses a pointer code. The codes stored in recheats.txt are ones that you want to keep constant. Example in the recheat is for Mario 3d World, sets the time to not reduce and autoloads a P-Leaf in your 2nd container.
To be clear, any line in cheats or recheats.txt thats with a # is a comment and is ignored by the script. Any code you want to run is must be in this example:
Examples Codes:
This is a simple address/value code. Just adjust the value at this address:
This is a simple Pointer address/value code. It resolves the address in the brackets and uses that as the address/value
This is a complex Pointer address/value code. It will resolve the address in the brackets and than adds the hex value to it. This code is where the adjustment is a value that is part of a structure.
This is a complex Pointer in Pointer address/value code.It resolves the address in the brackets, and adds the Modifier to it. It than it resolves that Pointer code and than subtracts the offset. It uses the result of that expression as the address/value
Any code that is in the format of [xxxxxxxx] is a pointer code. It is recursive dereference as many pointers as necessary.
I don't know if anyone finds it useful, but if you do, credits belong to others. This is mostly a wrapper for some functions already in pygecko, with some simple file parsing.
Marionumber1
NWPlayer123
Mathew_Wi
CosmoCourtney
Cyan
***CHANGE LOG***
Added a simple check to ensure to ignore cheats or recheats file that has codes in it. This way it won't error out on zero length lists.
Added some simple error detection and provided some level of feedback on the activity.
Revised parsing logic to use Regular Expresions.
Parses Pointer Codes with Offsets See below for examples of offsets.
*****************************************************************************************************
Make sure you change the WiiU IP Address in Line: 4
******************************************************************************************************
This is a simple Cheat Code Loader. Just unzip and install in the PyGecko folder. Run the Kernel exploit and PyGecko Code Handler on the Wii U. Once you've loaded your game and your cheats are in the files you want. Just double click "cheats.py".
If you are using someone's hosted kernel exploit and tcpgecko handler, than you will still need to download pyGecko from the github. Its at: https://github.com/wiiudev/pyGecko Download the zip folder and install wherever you want, unzip the file I attached into that folder. You will also need at Python 2.7 installed. To run it, connect to the hosted site, run the kernel exploit, the tcpgecko installer and than go to the main menu and launch your game. Once you've launched the game, you can double click cheat.py and it will auto auto connect, grab the codes in cheat.txt, and recheat.txt and load the codes into memory.
This has to have files included, "cheats.txt" and "recheats.txt". This codes stored in cheats.txt are one time run only required, such as infinite lives for Mario 3d World, which uses a pointer code. The codes stored in recheats.txt are ones that you want to keep constant. Example in the recheat is for Mario 3d World, sets the time to not reduce and autoloads a P-Leaf in your 2nd container.
To be clear, any line in cheats or recheats.txt thats with a # is a comment and is ignored by the script. Any code you want to run is must be in this example:
Examples Codes:
This is a simple address/value code. Just adjust the value at this address:
Code:
378D6AD4 0000FFFF
This is a simple Pointer address/value code. It resolves the address in the brackets and uses that as the address/value
Code:
[378D3738] 0000FFFF
This is a complex Pointer address/value code. It will resolve the address in the brackets and than adds the hex value to it. This code is where the adjustment is a value that is part of a structure.
Code:
[2E341062 + 34] 0000FFFF
or:
[2E341062] + 34 0000FFFF
This is a complex Pointer in Pointer address/value code.It resolves the address in the brackets, and adds the Modifier to it. It than it resolves that Pointer code and than subtracts the offset. It uses the result of that expression as the address/value
Code:
[[1158342B + 34] - 6F] 0000FFFF
Any code that is in the format of [xxxxxxxx] is a pointer code. It is recursive dereference as many pointers as necessary.
I don't know if anyone finds it useful, but if you do, credits belong to others. This is mostly a wrapper for some functions already in pygecko, with some simple file parsing.
Marionumber1
NWPlayer123
Mathew_Wi
CosmoCourtney
Cyan
Attachments
Last edited by Onion_Knight,