(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
04-29-24 01:16 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Mario Kart 64 Level Hacking. Seriously! New poll | |
Pages: 1 2 3 4 5 6 7Add to favorites | Next newer thread | Next older thread
User Post
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-01-06 02:19 PM Link | Quote
I'm not really sure, there's also a few level commands I need to look at that have some effect on textures. I think that number might be the size of the compressed file, so the game knows how much to copy to memory for decompression. Increasing it has no effect, but decreasing it a bit corrupts the image and decreasing it a lot crashes the game.

[edit] Some more screenshots to drool over.




(edited by HyperMackerel on 08-01-06 04:20 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-02-06 10:43 PM Link | Quote
Well, the good news is I've almost figured out that missing texture attribute. The bad news is it's going to be hell (again) implementing it. I thought the N64 hardware was supposed to be similar to OpenGL, but there sure seems to be a lot of differences.

[edit] Keh. I can't seem to figure out how the texture flags work, OpenGL doesn't appear to have any mechanism for handling this bizarre format (save for constantly re-creating the textures at ~0.5FPS), and I'm sick of dealing with it. Here's what's done so far, which is mostly working.
Binary | Source | Updated hacking doc


(edited by HyperMackerel on 08-02-06 11:23 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-05-06 11:01 PM Link | Quote
Well, I figured out a way to deal with the resizable textures, and found what's up with their coordinates, which has things almost working (see image 1). However, I still have yet to figure out how the game stretches textures in some cases (see image 2). Also, seems the texture coords need to be scaled depending on the image size, for some reason (probably assuming 32x32 again ).
I haven't figured out what's up with the track either. It has no command to select a texture. (Help is welcome, guys. )

[edit] This board's failure of an attatchment feature put the second image first.

Attachments




(edited by HyperMackerel on 08-05-06 10:02 PM)
(edited by HyperMackerel on 08-05-06 10:02 PM)
Hosma293
Newcomer


 





Since: 01-30-06
From: NSW, Australia

Last post: 6474 days
Last view: 6474 days
Posted on 08-08-06 09:30 AM Link | Quote
Whoa.. you have sure made some great progress! I hope you can get those texturing probs sorted as then you can maybe start adding a few editing features in!
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-15-06 05:56 PM Link | Quote
Hmm. This doesn't seem to work with the European version of the ROM ("Mario Kart 64 (E) (V1.0) [!].z64" is what i have). The program gives me "Incorrect ROM or byte order". I changed the header to "NKTE" instead of "NKTP" (as suggested in mk64edit.cpp) and I get "Decompression failed". I know you probably have only tested the US version, but what could be different between the versions? (I also get this with v1.1.)
Kyoufu Kawa
Intends to keep Rom Hacking in one piece until the end








Since: 11-18-05
From: Catgirl Central Station

Last post: 6279 days
Last view: 6279 days
Posted on 08-15-06 05:59 PM Link | Quote
Differences tend to go further than that, Niteice. Things tend to be shifted around. You get that with most systems.
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-15-06 06:31 PM Link | Quote
I knew that the differences would be more than a single byte in the header, I was just hoping that maybe I could force it.

Anyway, I'm interested in adding support for the other versions. I discovered that my ROM does indeed load by forcing it that way, so I think it could be not too hard to do. Mario Raceway (and therefore the level data) starts where the viewer thinks Toad's Turnpike ought to be. Interestingly, the level data does seem to start at a valid location, since all the levels load correctly.

I think I might have a solution (identify the two seperate releases in the viewer and adjust the calls to fread() appropriately), as long as I can get my head around the source.


(edited by niteice on 08-15-06 05:35 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-15-06 08:36 PM Link | Quote
I can add support for other versions if you can get me three addresses:

unsigned int MK64LevelHeaderLoc = 0x122390;
unsigned int MK64SkyColourLoc = 0x1220E0;
unsigned int MK64TextureBaseAddr = 0x641F70;


That's the location of the first track's header (should be Mario Raceway), the sky colour table, and the texture base address.
Sakura
Secret!


 





Since: 11-30-05

Last post: 6351 days
Last view: 6320 days
Posted on 08-15-06 09:05 PM Link | Quote
Originally posted by HyperHacker
[edit] This board's failure of an attatchment feature put the second image first.

It's a failure in how attachments are added to signatures. Note how they're IDd properly, though.

If you bother me on AIM I'll probably fix it...
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-15-06 11:50 PM Link | Quote
Originally posted by HyperHacker
unsigned int MK64LevelHeaderLoc = 0x122390;
unsigned int MK64SkyColourLoc = 0x1220E0;
unsigned int MK64TextureBaseAddr = 0x641F70;


I'll admit that I'm new to MK64 ROM hacking, but shouldn't I find "MIO0" at 0x122390? The first place I found it at was 0x641F70 in the US version of the rom. I'm just getting garbage at the first location, which doesn't show up in either European version.

The data at 0x1220E0 (US) is at 0x1222C0.
The data at 0x641F70 (US) is at 0x642170.

Edit: I tested those offsets. Textures and skies load correctly now, but level offsets seem to be shifted as before.


(edited by niteice on 08-15-06 11:14 PM)
(edited by niteice on 08-15-06 11:15 PM)
(edited by niteice on 08-15-06 11:17 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-16-06 11:04 PM Link | Quote
Originally posted by niteice
shouldn't I find "MIO0" at 0x122390?

No, the header isn't compressed.


Edit: I tested those offsets. Textures and skies load correctly now, but level offsets seem to be shifted as before.

Can you access all the levels (Moo Moo Farm and DK Jungle might not work) despite having the wrong names? They could have reordered them.
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-16-06 11:55 PM Link | Quote
The levels are in the right order. I'm getting total crap for Moo Moo Farm (highly distorted vertexes, though the basic structure is there in some places), and after that it just wraps to Mario Raceway (well, what MK64Edit wants it to be). Prior to that though, everything is shifted forward by 10 levels. OBTW, Frappe Snowland almost always crashes.

I did a quick investigation. It looks like I want to adjust fseek(ROMFile, MK64LevelHeaderLoc + (SIZEOF_MK64LEVELHEADER * Level), SEEK_SET); at the top of MK64ReadLevelHeader. I tried (SIZEOF_MK64LEVELHEADER * Level * 10) and ((SIZEOF_MK64LEVELHEADER * Level) * 10). The former crashes straight up, and the latter renders Toad's Turnpike and Mario Raceway in a very limited fashion (some missing textures).

In other words, I wrote complete and total bugs.


(edited by niteice on 08-16-06 10:56 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-17-06 03:15 PM Link | Quote
I think you want (SIZEOF_MK64LEVELHEADER * (Level + 10)). If this works, then it's possible the levels are reordered or you found the wrong header.

Moo Moo Farm doesn't work, not sure why exactly. Frappe Snowland should though.
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-17-06 05:52 PM Link | Quote
It works, but is extremely temperamental. Frappe Snowland crashes about 95% of the time. Big Donut and Rainbow Road crash about 60% of the time. Switching from Luigi Raceway to Toad's Turnpike (and vice versa) always crashes. Other than that, the levels render perfectly.
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-17-06 11:46 PM Link | Quote
It's not crashing in the current development build, hopefully that means I fixed it. Does it work with the USA ROM, aside from Moo Moo Farm and DK Jungle?
niteice

Gator


 





Since: 08-15-06
From: Connecticut

Last post: 6279 days
Last view: 6279 days
Posted on 08-18-06 04:08 PM Link | Quote
Yep, of course, but it isn't always those two maps that crash. Generally I have the same results as before with both ROMs. I turned the European stuff into a #define and modified the makefile, so I have two easy-to-test binaries.


(edited by niteice on 08-18-06 03:10 PM)
(edited by niteice on 08-18-06 03:11 PM)
(edited by niteice on 08-18-06 03:14 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-18-06 06:27 PM Link | Quote
OK, then that just means I need to poke at the EU/JP ROMs (already got them, thanks) and see what's going on there. I've only tested with the US version so far, so odd behaviours on the others is not unexpected.
A`B-89

Red Goomba


 





Since: 08-15-06

Last post: 6324 days
Last view: 6281 days
Posted on 08-23-06 03:36 PM Link | Quote
HyperHacker
Your Level Viewer doens't run

If I open a Mario Kart 64 Rom it displays "incorrect ROM or Byte Order".
U , V1.0 , V1.1 don't work at this MK viewer!

what I am doing wrong ?

[/img]

Attachments

HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6280 days
Last view: 6280 days
Posted on 08-23-06 04:19 PM Link | Quote
First off the European ROM isn't supported in this version, only the US one. If you get that message with a US ROM, it means it's not a good Mario Kart 64 ROM or (guess what) it's in the wrong byte order.
A`B-89

Red Goomba


 





Since: 08-15-06

Last post: 6324 days
Last view: 6281 days
Posted on 08-24-06 03:39 AM Link | Quote
I have only this US Version "MarioKart64(US).v64" (12MB)

Q: What are the differences betwean "v64" and "rom" Files.

Q: Where I can download "Mario Kart 64 (U) [!].rom"

[/img]

Attachments

Pages: 1 2 3 4 5 6 7Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Mario Kart 64 Level Hacking. Seriously! |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.026 seconds; used 443.95 kB (max 578.06 kB)