Mapping vertex data from shygoo's Course Viewer back to ROM addresses
#1
(This is copied from the Origami64 thread. I wasn't sure where the best place to post would be so feel free to remove this if its not appropriate here.)

I found the Origami64 MK64 hacking thread a few weeks ago and have been playing with shygoo's course viewer since then. I'm surprised that there still haven't been any custom MK64 levels released (other than the one from 2008) when it seems like a lot of the work has already been done and we are really close.

I am determined to make at least a custom battle course. Using shygoo's course viewer, I've gotten to the point where I can manipulate vertexes (although not user-friendly) and come up with edited course layouts. If i was able to get to the point of changing Big Donut around to be a "custom" course within the course viewer, how difficult would it be to map the updated vertex data back to the original memory addresses in the ROM?

Basically I'm looking at the 3d rendering of my edited course in the viewer and I'm going to begin just trying to just reverse what the course viewer does when loading from the ROM. For each of my updated vertices I want to find the addresses of the data where that vertex originally came from, so I can write my changes to the ROM. Is this possible or is the original ROM address of a vertex impossible to determine from just the rendered 3d model? Is there another or better way anyone can think of to do this?
Reply
#2
Quote:I'm surprised that there still haven't been any custom MK64 levels released (other than the one from 2008) when it seems like a lot of the work has already been done and we are really close.

Micro500 is actually working on a really nice level exporter for blender right now: https://www.twitch.tv/videos/267948955. I don't think it's been released yet though.

Quote:If i was able to get to the point of changing Big Donut around to be a "custom" course within the course viewer, how difficult would it be to map the updated vertex data back to the original memory addresses in the ROM?

If want to give it a shot, the addresses for all the course data are stored in this table: https://hack64.net/wiki/doku.php?id=mari..._structure. The vertex data is stored MIO0 compressed in ROM, so the edited data would need to be recompressed. I had started making an MIO0 compressor for the course viewer here that you could try. If a custom recompressed block is smaller than the original, it could probably be put back in-place, else you could store it at the very end of the ROM over the padding bits and update the pointers in the course data table.
Reply




Users browsing this thread: 3 Guest(s)