Mario Kart 64 Hacking General Discussion « 1 ... 13 14 15 16 17 »
Users browsing this thread: 1 Guest(s)

(05-10-2016, 01:57 AM)Ashley Wrote: Has anyone done anything with the race result text in any capacity? I'm looking to edit DK's name, but thus far, haven't managed to find anything.


I don't think any tools support editing the names quite yet, but MK64 Pitstop may support it in the future. Fortunately, these names are just stored as ASCII in the ROM starting at offset 0xF09CC ("D.K." is at 0xF09EC) and can be replaced with a hex editor or an assembler. You'll need to update the ROM checksums since this data is within the first 1MB.

[Image: VJYiEJe.png]

As an example, I replaced "D.K." with "SHYGOO":

[Image: JIqoB5z.png]

(05-10-2016, 02:24 AM)queueRAM Wrote:
(05-10-2016, 01:57 AM)Ashley Wrote:
Has anyone done anything with the race result text in any capacity? I'm looking to edit DK's name, but thus far, haven't managed to find anything.


I don't think any tools support editing the names quite yet, but MK64 Pitstop may support it in the future. Fortunately, these names are just stored as ASCII in the ROM starting at offset 0xF09CC ("D.K." is at 0xF09EC) and can be replaced with a hex editor or an assembler. You'll need to update the ROM checksums since this data is within the first 1MB.

[Image: VJYiEJe.png]

As an example, I replaced "D.K." with "SHYGOO":

[Image: JIqoB5z.png]


Thanks a billion, I didn't think I'd get such a prompt informative reply.

At this adress :

[IMG]​http://img4.hostingpics.net/pics/44242669gg.png[/IMG]

The name are in BADC order how can i put in ABCD order ?
thanks
(This post was last modified: 05-10-2016, 11:02 AM by zouzzz.)

The ROM you are using is byte swapped, try dragging it over this;link
Gone for a while.

Thanks Mr.

If you want i can create an application (c#) for the rename characters.
(This post was last modified: 05-10-2016, 04:39 PM by zouzzz.)

(05-10-2016, 02:24 AM)queueRAM Wrote: I don't think any tools support editing the names quite yet, but MK64 Pitstop may support it in the future.



Yep, can confirm. I've already written a text editor that will compress the existing strings in the text bank so you can add more characters than exist per entry. This means that you can have character names longer than 7 characters.

[Image: xz6njv8.png]

Still trying to scrounge up the time to finish the next version of the program (which will have the text editing), but I think it'll be by next sunday.

This is quite exciting news! Keep things up, I'm looking forward to the features this editor brings to the table.

I have been spending more time digging through the kart texture tables. Turns out there are some higher order tables that provide more structure to them. I'm attaching an updated sm64.karts.asm file which clearly shows the relationship in assembly, but I'm also going to briefly describe it here. There are 4 top-level tables:

​800DDE34/DEA34: table of wheel palette pointers
This table has two rows, each row containing the pointers to tables for each of 8 karts (16 pointers total).
The table these pointers point to each contain 9 segmented addresses (one for each angle) to wheel palettes. The first set for each kart is unique and points to a block 0x2A00 bytes long (84 wheel palettes 0x80 bytes each). The second set are the wheel palette for the spin textures and some are shared so there are only 5 unique blocks, each 0x2800 bytes (80 wheel palettes 0x80 bytes each).

​800E1EE0/E2AE0: table of kart pointer tables
There are two rows in the table, each row containing a pointer to another table for each of 8 karts (16 pointers total). Each table that is pointed to contains 9 pointers to kart texture tables. The kart texture tables for the first row of the original table contain 35 segmented addresses of the CI encoded kart textures. The kart texture tables for the second row of the original contain 20 segmented addresses of the CI encoded kart textures.

​800E2320/E2F20: table of crashing kart tables
This table takes the same form as the previous second level table. It contains 1 table pointer for each kart. Each table that is pointed to contains 32 segmented addresses of the CI encoded kart textures for when the kart crashes.

​800E2340/E2F40: kart palette table
Simple table containing the segmented addresses for the palettes of each of the 8 karts. Each palette is 0x180 bytes in length. For reference, i've decoded the segmented addresses in the table:
Idx  Kart    Segmented  ROM
------------------------------
00   Mario   0F12D430   2728A0
01   Luigi   0F09ABFC   1E006C
02   Yoshi   0F1C4958   309DC8
03   Toad    0F386858   4CBCC8
04   D.K.    0F438874   57DCE4
05   Wario   0F2F5DEC   43B25C
06   Peach   0F258AC8   39DF38
07   Bowser  0F4F8C88   63E0F8


​Remaining Unknown data in Segment 0F
I could not yet decode the data at DEA74-DEABF. Here is a listing with my notes:
// 800DDE74/DEA74 - 800DDEBF/DEABF
800DDE74/DEA74: 00000060 00000080 000000C0 00000100
800DDE84/DEA84: 00000120 00000180 00000200 00000220
// U32s read in function 80026A48 and added to A0->0x240
800DDE94/DEA94: 00000240 00000000 41100000 40E00000
800DDEA4/DEAA4: 40A00000 00000000 00000000
// 0x41100000 = 9.0, 0x40E00000 = 7.0, 0x40A00000 = 5.0
800DDEB0/DEAB0: 06C0 06E0 06E0 0680 07C0 0700 0680 0910
// U16s, passed to osInvalDCache and osPiStartDma in functions 80027040 and 80027560


Attached Files
Size: 32.75 KB / Downloads: 94 .zip   mk64.karts.v2.zip





I thought I would post this here. I was able to use the notes from queueRAM and shygoo to help me with this project, so I just wanted to thank them!

(29-11-2016, 08:02 AM)Nick Nelson Wrote: I thought I would post this here. I was able to use the notes from queueRAM and shygoo to help me with this project, so I just wanted to thank them!


Thank you for posting this - it is absolutely beautiful! I really appreciate that you posted the source as well - very nice GUI and HUD makes every well polished. I think I'm going to spend some time studying your NEAT implementation and the neural network paper you cited. Was there anything that you learned about MK64 objects structures or level data along the way that would be useful to share here as well?

Mario Kart 64 Hacking General Discussion « 1 ... 13 14 15 16 17 »
Users browsing this thread: 1 Guest(s)