This patch for Mario Kart 64 (USA/NTSC) gives the CPUs in Grand Prix mode some of the same items a human can use. CPUs can finally fire shells, use multibananas, and triple mushrooms. Normally CPUs can only use single bananas, stars, ghosts, fake item boxes, single mushroom boosts, and lightning. They spawn the items all at the same time up to three times per lap and draw from their own item probability tables. With these new items the CPUs can use against you, GP mode is now more challenging! CPUs never used shells, multi-bananas, triple mushrooms, or golden mushrooms. Through an exhaustive look into the game's code, micro500 and I were able to deduce how CPU players spawn items. It turns out that a lot of this code never made it into the final game, and has remained hidden for over 20 years in the inside the game's rom. Some of it it was never fully debugged or finished. This patch takes most of the unused CPU item spawning code that works and adds it back into the game with some custom assembly code. See the readme.txt for more details.
NOTE: For other hacks that have their own implementation of CPUs using human items, check out Hooting Time by HootHoot: https://www.romhacking.net/hacks/6148/ and Amped Up by Litronom: https://patch.wedarobi.com/mk64_amped_up
Updated July 13, 2023! What's new in version 2.8?
-Fixed the item sticking and item disappearing glitches (I hope!, if you have it happen to you, please let me know).
-Set CPU item usage frequency and timing back to the stock game.
Updated Dec. 28, 2021! What's new in version 2.7?
-The biggest change is to ensure compatibility with other Mario Kart 64 hacks. If you want to patch a specific hack and do not know how to do checksum corrections, let me know, and I can create a patch for a specific hack.
-Increased the CPU item usage frequency a bit, now the game is more challenging!
-There should be less audio glitches.
-Lightning probability tweaked to be more reasonable.
CPUs Use Human Items (v2.8)
by Triclon
Questions, comments, or found a bug?
Email me:
[email protected]
I usually hang out on the OverKart 64 Discord: https://discord.gg/7dKKsnr4yU
Visit my website: https://triclon.neocities.org
Visit my YouTube channel: https://www.youtube.com/user/triclon
NOTE: I created this hack a few years ago to achieve what I thought was impossible at the time. Since then, others have tried and succeeded. For other hacks that have their own implementation of CPUs using human items, check out Hooting Time by HootHoot: https://www.romhacking.net/hacks/6148/ and Amped Up by Litronom: https://patch.wedarobi.com/mk64_amped_up
What's new in version 2.8?
-Fixed item sticking and disappearing glitch (hopefully!).
-Set CPU item usage frequency back to what it was in the stock game. I feel that it works better that way.
What's new in version 2.7?
-The biggest change is to ensure compatibility with other Mario Kart 64 hacks. If you want to patch a specific hack and do not know how to do checksum corrections, let me know, and I can create a patch for a specific hack.
-Increased the CPU item usage frequency a bit, now the game is more challenging!
-There should be less audio glitches.
-Lightning probability tweaked to be more reasonable.
What is this patch?
This patch for Mario Kart 64 (USA/NTSC) gives the CPUs in Grand Prix mode some of the same items a human can use. CPUs can finally fire shells, use multibananas, and triple mushrooms. Normally CPUs can only use single bananas, stars, ghosts, fake item boxes, single mushroom boosts, and lightning. They spawn the items all at the same time up to three times per lap and draw from their own item probability tables. With these new items the CPUs can use against you, GP mode is now more challenging! CPUs never used shells, multi-bananas, triple mushrooms, or golden mushrooms. Through an exhaustive look into the game's code, micro500 and I were able to deduce how CPU players spawn items. It turns out that a lot of this code never made it into the final game, and has remained hidden for over 20 years in the inside the game's rom. Some of it it was never fully debugged or finished. This patch takes most of the unused CPU item spawning code that works and adds it back into the game with some custom assembly code. If you want to know more about the game's CPU item spawning code, I recommend you look at micro500's excellent notes on the subject here:
https://github.com/micro500/mariokart64/wiki/CPU-Item-Spawning
So what has been tweaked/added about CPUs using items?
-CPUs now use the human item probability table instead of their own table.
-CPUs can now use single green shells, single red shells, multibanans, and triple mushrooms. These items have fully functional (or nearly fully functional) code to handle the logic of CPUs using them.
-The CPU item spawn timing has been staggered so all the characters don't spawn items all at once, giving the game a more "natural" feel.
-Lightning probability for CPUs has been toned down from human values to make the game way less annoying to play.
-If a CPU gets triple shells, they are replaced with single shells of the same type since the game's code lacks a way to handle triple shells for CPUs.
-If a CPU gets a blue shell, it is replaced by a red shell, since the game's code lacks CPU blue shell usage.
-Golden mushrooms are replaced with triple mushrooms because the golden mushroom code for CPUs is unfinished. If a CPU uses a golden mushroom, there is no timer to stop them from boosting infinitely so they will just zoom past you and win the race.
What do you need to patch?
A USA/NTSC Mario Kart 64 rom in the .z64 format
How to patch a rom?
There are several ways:
-On the romhacking.net page, there is a link that says "Patch Online NOW!"
-You can use romhacking.net's online rom patcher here: https://www.romhacking.net/patch/
-There is another online rom patcher on hack64.net here: https://hack64.net/tools/patcher.php
-There are many rom patching apps you can download. I am not going to list them all, but they should be easy to find.
How to patch an existing rom hack (e.g. Overkart or Amped Up)?
-You might need to select an option in whatever patching program that you use that says to ignore checksum and errors.
-Fix the resulting double patched rom's checksum using n64crc (http://n64dev.org/n64crc.html) or contact on discord or via email (
[email protected]) and I can create a custom patch for you.
Change log:
v2.8 - Fixed a glitch where your items appear to "stick" to you after you hold Z and do not fire if you release Z, and also items you have sometimes disappearing. Also put CPU item usage frequency back to how it is in the stock game. I think it feels better that way.
v2.7 - Completely rewritten code in armips. Code moved to different places in rom/rom compatibility with nearly all other Mario Kart 64 hacks. Tweaked lightning probability to be more reasonable. Modified a fix for a previous crash to reduce audio glitches. Tweaked the rate CPUs spawn items. Fixed issue where previously CPUs would only spawn up to 3 items per lap. Now they will spawn items continuously no matter how long each lap is.
v2.5 - original release
Known issues:
-CPUs cannot use triple shells or blue shells. The code for them to handle these items just doesn't exist in the rom.
-CPUs cannot use golden mushrooms due to glitchy code for golden mushroom handing in the rom. If a CPU gets a golden mushroom from the item table, it gets replaced with a triple mushroom.
-Some audio glitches still exist. Sorry, not much I can do about it.
Credits:
-triclon is I who wrote the patch
-micro500 for helping deduce a lot of the CPU item spawning code
-HootHoot for helping solve the item sticking/disappearing bugs
-many people for helping test this patch through its many buggy crash prone iterations
-parasyte who's old Gameshark code for preventing CPUs from spawning items pointed me to the right part of the rom to look for CPU item spawning code
Database match: Mario Kart 64 (USA)
Database: No-Intro: Nintendo 64 (v. 20180814-043336)
File/ROM SHA-1: 579C48E211AE952530FFC8738709F078D5DD215E
File/ROM CRC32: 434389C1