MKWii real-time statistics and graphs [Gecko Codes/Python/InfluxDB/Grafana]
#1
Hey there,
As one of my side-projects, I'm trying to generate some real-time stats out of MKWii.

Here's what I've got already :



I'm using Dolphin breakpoints to write to a logfile, then a Python script read that file and sends events to an InfluxDB instance, and a Grafana is configured to graph those events.

I mainly used the breakpoints and cheat codes in https://mariokartwii.com/showthread.php?...2#pid12692
For now, those events are sent and stored into the database :
- Player position change
- Course start
- Course end (when the last human runner crosses the line, or when the 11th runner crosses it if a human is 12th)
- Lap end (when the first human runner crosses the line - not shown in the video)
- Lightning used (only that a lightning was used, doesn't include the user which used it - not shown in the video)

I also plan to push those events to InfluxDB :
- Every runner position change (including humans but also CPUs)
- Every runner character and kart/moto selection
- When an item is used (including which item was used and which runner used it)
- When a runner is hit by an item (including which item it was)
- When a runner finish its race (when it crosses the line, different from already stored "Course end")

I'm learning Wii PPC Assembly in order to create Gecko Codes that are necessary to write in static RAM whenever such an event occurs. I would be really glad if someone could point me to some RAM addresses they know to help me out.

What do you think of such an idea ? Do you have any piece of clue for me ? Is there anything I could have done better ?
Thanks a lot.
Reply
#2
Very nice work! You can write counts or bools in the 80001500-80001600, there's more than that, this is just a range that is enough for you to store content. Recommend you to do it as a byte to save space for more things.
mtctr r0 ~ bctrl / BLX R0
Reply
#3
Actually, these locations will persist forever. If you want them to reset each race, do it at 81700000 range
mtctr r0 ~ bctrl / BLX R0
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)