News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Super Mario Kart, AI Driver Race Positions.  (Read 1256 times)

some random dude

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Super Mario Kart, AI Driver Race Positions.
« on: October 08, 2015, 10:54:24 am »
Hi im currently hacking Mario Kart and adding custom characters, but i cannot find the Race positions.

im talking about the AI positions during the race, NOT Starting positions on the track/map.
the AI uses preset positions during the race,
when you play as Mario, DKjr will always be First, when you play as Peach, Bowser will always be first, ect

basically i want to customize this, so that "Baddy MC Badass" is always among the first races, and that "Whimpy Mc lose alot" is always last.
cause its funny that way. (this is when the AI plays them)


i looked around in places like this:
http://epicedit.stifu.fr/smk_doc/
but im i couldn't find it, just general other info.

zhade

  • Full Member
  • ***
  • Posts: 193
    • View Profile
    • zhaDe's stuff
Re: Super Mario Kart, AI Driver Race Positions.
« Reply #1 on: October 08, 2015, 02:39:36 pm »
I guess it could be possible to find where the data for characters rivals are located using cheat searching.
there is a list of each character's rivals here mariowiki
Each character seem to have a different rival but some have the same "slow" rival like if you use mario or dk jr. the "slow" oponent will be luigi, at least according the site.

There seems to be 3 different "very slow" characters for each character tho, so maybe it would not be possible to have the same guy always lose.

So I guess you could try searching for a cheat to find the RAM adress where the slow character is set (since its the same when using different characters it might be easier than finding the "very fast" one) and then using a debugger you could put a breakpoint at this RAM adress to find where it was taken from in the ROM, hopefully the data for the "very fast" character will be close to it in some kind of table.

some random dude

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Re: Super Mario Kart, AI Driver Race Positions.
« Reply #2 on: October 08, 2015, 04:18:30 pm »
if Fast/slow is simply a setting, then in theory it might be possible to make every one Fast?

anyway, i don't mind if the loser is one of the 3, its more important that the bad guy is among the first.

i managed to replace the first driver with Bowser using cheats & searching cheats.
but i'm not sure where to go from there.

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: Super Mario Kart, AI Driver Race Positions.
« Reply #3 on: October 09, 2015, 02:16:27 am »
Given that there is a setup for each player chosen racer and always a fixed number of entries, each nth entry with the same speed class, then it's likely a look up table "somewhere".

some random dude

  • Jr. Member
  • **
  • Posts: 23
    • View Profile
Re: Super Mario Kart, AI Driver Race Positions.
« Reply #4 on: October 11, 2015, 12:42:28 pm »
i haven't really had much luck, but here's what i've found so far:

Player values:
Mario - 00
Luigi - 02
Bowser - 04
Peach - 06
DKjr - 08
Koopatroopa - 0A
Toad - 0C
Yoshi - 0E

Changes the first driver Code:
7E1712??  (Example: ?? to 04 for bowser)
Second driver:
7E1612??

the codes seam to work differently, code for the first driver changes kart AND palette, also Bowser stays #1 after the code is disabled.
Code for the second changes only kart, not palette, and kart changes back once code is disabled. (palette does change if race is restarted with code ON)

i searched player values in hex, but couldn't find them in any of the driver position orders (aka 08 06 0E ect)
so i dunno.
using the (E) version, though i could easily switch to (U) if need be.


Quote
using a debugger you could put a breakpoint at this RAM adress to find where it was taken from in the ROM
i've never done this so im unsure how its done, could anyone teach me? or help?
« Last Edit: October 11, 2015, 12:49:03 pm by some random dude »