{"id":41,"date":"2016-09-10T09:10:52","date_gmt":"2016-09-10T09:10:52","guid":{"rendered":"http:\/\/jaytheham.com\/tink\/?p=41"},"modified":"2016-09-13T03:46:07","modified_gmt":"2016-09-13T03:46:07","slug":"dreamin","status":"publish","type":"post","link":"http:\/\/jaytheham.com\/tink\/?p=41","title":{"rendered":"Dreamin&#8217;"},"content":{"rendered":"<p>So I spent the past months going down a rabbit hole. When the game loads a track it doesn&#8217;t just inflate all the parts and dump them into RAM, as it does, it modifies some of them, and even calculates some things and inserts them between the parts.<br \/>\n&#8220;Well&#8221;, I thought, &#8220;if the game does it, then I must too!&#8221; And that&#8217;s how I spent the past few months decompiling the track loading functions by hand. Only to realise, as I got deeper and deeper, that to do the job properly I would more or less have to write an N64 cpu emulator to emulate the whole game.<\/p>\n<p>At that point I gave up. That point was yesterday.<br \/>\nWhen I thought about it, the data I want to replace is what&#8217;s in the ROM, not the RAM, so really I don&#8217;t care what the game does with the data once it&#8217;s in the RAM, so long as the data I put into the ROM is compatible.<\/p>\n<p>Moving on then, I&#8217;ve now parsed the basics of the track models, bringing me back to where I was last time I tried this years ago. Onwards!<\/p>\n<div id=\"attachment_42\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe.png\"><img aria-describedby=\"caption-attachment-42\" decoding=\"async\" loading=\"lazy\" class=\"size-large wp-image-42\" src=\"http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe-1024x599.png\" alt=\"One of the Hawaii track variations\" width=\"625\" height=\"366\" srcset=\"http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe-1024x599.png 1024w, http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe-300x175.png 300w, http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe-768x449.png 768w, http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe-624x365.png 624w, http:\/\/jaytheham.com\/tink\/wp-content\/uploads\/2016\/09\/Hawaii_wireframe.png 1296w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-42\" class=\"wp-caption-text\">One of the Hawaii track variations<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>So I spent the past months going down a rabbit hole. When the game loads a track it doesn&#8217;t just inflate all the parts and dump them into RAM, as it does, it modifies some of them, and even calculates some things and inserts them between the parts. &#8220;Well&#8221;, I thought, &#8220;if the game does [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,7],"tags":[8,2,9,4],"_links":{"self":[{"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/posts\/41"}],"collection":[{"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=41"}],"version-history":[{"count":1,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":43,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=\/wp\/v2\/posts\/41\/revisions\/43"}],"wp:attachment":[{"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/jaytheham.com\/tink\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}