Time trials online mode
#1
Hello,

So over the past week I have been  learning -as best as I can since this is all very new to me- coding using the various tutorials in this forum and I have managed to make easy codes such as always win races offline and so on... You know what they say, we all have to start somewhere...

My final goal is to make a "time trials online" pack where you would race people with time trials conditions.
Right now I have trying to make a code that would make people start at the same xyz coordinates and more precisely the time trials position as defined in the KMP of the .szs files. To my understanding, the game uses a "start area" grid to position racers depending on their previous placement: this start area is 2000 game units wide and 5300 (or 4800 in narrow mode) game units long.

My idea was therefore to try to make this area have a size of 0,0 so that racers would start at the same spot (which would not be a problem with a no clip code). I have therefore tried to find where in static memory the positioning of racers is defined, to no avail. (using a read breakpoint on adresses that have a decimal value of 1000/2000 did not yield any results).

I was wondering if any of you guys could offer some help:
-is the direction I am going in the right one or will changing the size of the area to 0,0 straight up crash the game?
-if it is, does any of you guys know where in the memory I can find what I am looking for?

Thanks in advance.
Reply
#2
Hello Melg, I made a cheat code a long time ago that makes players start a little farther than normal, around that address range I made a code to make players start closer to each other, like when you respawn, it looks cool, however, I don't know the exactly address. That can help you (Around that range! That address is for player start distance NTSC-U: 88B5FC)
Reply
#3
Changed 88b600 and 88b604, decreased a bit, everyone starts a little further than normal, at the left
Reply
#4
Made more progress! Successfully made players together, however, Z axis are still a thing, so, players will be inside of each other, but the distance of Z axis still exists, I recommend testing the code yourself:

NTSC-U:
Time Trails Start Position in VS WIP
0488B608 46000000
0488B60C 46000000

Here are other codes that can help with the pack (All NTSC-U):
No Kart/Bike Collision With Each Other (No Clip) [Supastarrio]
0456AA0C 38C00001

No Item Boxes [Anarion]
04814D68 38800000

Force Item Vanish/Poof (Item Reset) [Fishguy]
04796738 2C00000A
0479673C FD810040

Useful address, this is 'IsTimeTrailsMode' address, could be used for useful stuff maybe such as making items vanish when touching the ground (unlike Force Item Vanish which makes it vanish as soon as the item gets out of the player). I personally didn't tested that address yet.

809BF0B4 IsInTimeTrailsMode NTSC-U
Reply
#5
A good tip, search for the player coordinates while driving around, rather than the coordinates/size of the start coordinates box. Then go from there with your player coordinates to find where it gets set when the race loads.

(Note, you will want to set a save state or 2 for right when you have selected a track and the screen is fading black. This is because pointers are dynamic and you need to reload the exact same instance that you found your memory in to be able to find proper code hooks)
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#6
Thanks both of you for the huge help. (especially the save state tip, it's really useful)

Using your advices, I managed to find the adress that controls the Z-axis distance between drivers at the start (adress 8088B5D0 NTSC-U )

The combined code is therefore

NTSC-U:
Time Trails Start Position in VS
0488B608 46200000  //controls the X distance between racers at the start
0488B5D0 00000000 //controls the Z distance between racers at the start 

However for some reason no matter the value I input in this new address I cannot make the Z distance 0, I can only shorten it. This is already major progress though so thanks a lot. 
Reply
#7
Does 0 crash the game?
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#8
I remember Atlas made a code to make vehicle or driver transparent like TT ghosts, you should ask him if he still has the code
Reply
#9
Tested the code, this is what happens: https://cdn.discordapp.com/attachments/6...153021.jpg
Reply
#10
...that was me
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)