Hello Tempers! This has been on my mind (and for that matter, on my "to-do" list) for a while. I was looking for some GBAtemp threads on this subject, but nothing came up, so I took the liberty of making one such thread myself! ;P I have prepared an aggregation of tutorials for you below, as well as some extra downloads to existing mods. Find the tutorial that suits your need and follow it closely. If you have any questions, simply tag me (@lonemoonHD) and I'll make sure to answer everything I get! These tutorials are targeted towards the 5.5 firmware version, so if you are using anything else, don't worry; most of the guides apply towards other firmware versions too! So, without further hindrace, let's get right to it! Using Cafiine Warning: Spoilers inside! You will need: Cafiine for 5.5, Mario Kart 8's file structure and title ID 1. Go to http://loadiine.ovh in your Wii U's web browser. 2. Run the kernel exploit and launch Cafiine on your Wii U. 3. Open a Command Line window on your computer and type in ipconfig. 4. Mark down your IPv4 address and insert it into the Cafiine client on your Wii U (You can do this by using the D-Pad.). After you're done, click A to proceed. 5. Download Cafiine onto your computer and go to the server folder. Run cafiine_server.exe and if it succeeds, you will see a command line window pop up saying "[listener] Listening on 7332". 6. Go to the cafiine_root folder and make a folder in there with your game's title ID. The ID varies depending on your region, so I recommend checking for the right one. 7. Emulate the folder structure from the link above and insert all hacks in the correct directories. I also recommend using @Ray Koopa's extended Cafiine server for more great features. Using TCPGecko Warning: Spoilers inside! You will need: TCPGecko for 5.5, some cheat code Installation 1. Go to http://loadiine.ovh in your Wii U's web browser. 2. Go to your Wii U's web browser settings and enable Developer Settings. Mark down the IP you see. 3. Run the kernel exploit and launch TCPGecko on your Wii U. 4. Download TCPGecko onto your computer and run Gecko dNet.exe. 5. Go to your computer's firewall and allow TCPGecko through. Tick both the Public and Private boxes. 6. Place your Wii U's IP into the Connect to Gecko box and click it. You should now be able to click buttons in the program and therefore modify RAM. Cheat code use 1. Take any cheat code you want from the link above. 2. Go to the Search tab in Gecko dNet.exe. 3. Mark down the cheat code you want to use. 4. Paste the first row of offsets into the first search box, and then paste the second row of values into the second one. Once you're done, press Poke. Custom Music Warning: Spoilers inside! You will need: Looping Audio Converter, list of MK8 songs 1. Take any song of your choice and open it in Looping Audio Converter. 2. Choose the correct audio settings and export the file as .bfstm. 3. Take the .bfstm and rename it with one of the names I linked above. 5. Make a folder in Cafiine called audio, and in it, create the folder stream. This is where you will put your .bfstm. 6. Run Cafiine and enjoy your custom song! Custom Textures Warning: Spoilers inside! You will need: TexHaxU, a game dump, Python 2, Paint.NET, yaz0dec, yaz0enc, any .szs/.bfres file you want How to edit textures 1. In the game dump, go and find any course's/driver's .szs file you like and use yaz0dec to decrypt it. 2. Then, there should be a .bfres file. Put it into the main TexHaxU folder. 3. Run "extract.bat" and in quotation marks, put in the file name of the .bfres letter for letter. Then run "convertGTX.bat" and wait for the application to finish. 4. Go inside the folder OutDDS_Lossless and modify the .dds files in Paint.NET. Getting them to work 1. Once you're done editing the .dds files, move the edited .dds file and a .gtx file with the same name to the main TexHaxU folder. 2. Make a new text file and name it "filelist.bat". In this file, write "hax.py Mario.bfres pause". Running it will show you all the texture positions in the file, which are crucial for the textures to get inserted. You must download Python 2.7 for this to work, as the hax.py file has instructions only Python can interpret/decode. 3. Once you get the file list, search for your file's name in it and mark down the file's position. Then, make a new file called "splicer.bat" and in it, write "hax.py filename.dds Mario.bfres 0 position pause". Here's where it gets complicated. "position" is obviously the file's position you got earlier. It should be written without brackets or quotation marks. "filename" is again replaced by the file's actual name, and the "0" is the minmip number. Now, of course, the "0" is just temporary. Once the script runs, it will show you "BFRES Mips = X". You need to edit the script and replace the "0" with whatever number you see. Then, when you run the script's edited version, you'll see the "GTX Mips = X", which is the definitive minmip number you want. Edit the script again with this number and run the script again. Now, here's an example how the script should look now: "hax.py anus_alb.dds Mario.bfres X 31 pause" 4. Run "splicer.bat" and if it works, a new file will be made in the main TexHaxU directory; "anus_alb1.gtx". This means you've done it correctly and that your file is now in the .bfres. The file should be smaller than the uncompressed .gtx file from earlier, and it should always have the "1" at the end of its name. 5. Repeat this for every single texture you want to replace and once you're done, use "yaz0enc" to encode the .bfres file into .szs. It will give you a ".bfres.yazo" extension at first, but once it's done compressing, just change it to ".szs". 6. Put the file into Cafiine and you should have your working texture hack hit you in your face. ;P Text Edits Warning: Spoilers inside! You will need: MSBT Editor Reloaded, a game dump (please don't link to game dumps) 1. Go to the game dump and find the ui folder. 2. Identify this folder's path in the game by running Cafiine and finding ".msbt" in the command line. Mark this path down and make the same folders inside of Cafiine. 3. In the ui folder, open the ue folder and modify anything you like with MSBT Editor Reloaded. To save time, I recommend going to the Find tab, ticking Match Case and typing in your desired text. 4. Once you're done editing the text, save the file. 5. Put the file inside of Cafiine and hooray, text edits are now possible! BYAML Edits Warning: Spoilers inside! I was planning on writing this from scratch, but I couldn't have written this better than the amazing @Ray Koopa. Most (if not, all) of what you need to know is on this thread here, which is kept updated fairly often. With all due respect and credit, I'd like to thank him for making this far easier for everyone. @The Koopa Kingdom also wrote an edited version of MrRean's BYAML editor, so for those that need a tool, the program is available on GitHub. Miscellaneous Warning: Spoilers inside! Dumping with Cafiine: Warning: Spoilers inside! Hope this helped you all! Make sure to join the Discord server too!