News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: UMK3 (NES) character select screen palette edit?  (Read 1481 times)

venixuc

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
UMK3 (NES) character select screen palette edit?
« on: April 03, 2021, 07:03:52 pm »
https://tcrf.net/Mortal_Kombat_3_(NES,_Hummer_Team)

This Mortal Kombat game has a number of revisions, as described on the site above. The one I'm interested in is Ultimate Mortal Kombat 3.

I was able to edit several things in this rom (color palette, character fight order, arena order). But I have one question regarding the color palette editing.

https://ibb.co/bgB3w07

As you can see, the green color is overused in the character select screen; I'd like to change that. And not just by replacing the color with another one - my idea is to distribute those colors equally. There are 48 portraits (clones) and 4 color sets, so the best option would be having 12 red, 12 blue, 12 green and 12 yellow portraits. Basically, I need to 'remap' the color palette somehow. Is it possible to do this?

Just for reference:

https://ibb.co/1Mq453B

This is how it looks in MK4 revision - 28 portraits, 4 color sets and each color is used on 7 portraits.
« Last Edit: April 23, 2021, 10:35:41 pm by venixuc »


venixuc

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: UMK3 (NES) character select screen palette edit?
« Reply #2 on: April 04, 2021, 11:35:08 am »
Quote
https://wiki.nesdev.com/w/index.php/PPU_attribute_tables

OK, but which tools to use? NES Screen Tool or something else?

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 625
  • I am the baldest romhacker
    • View Profile
Re: UMK3 (NES) character select screen palette edit?
« Reply #3 on: April 04, 2021, 01:23:15 pm »
You can use an umk3 editor if such thing exists. Or you set a write breakpoint at attributes in ppu, figure out where bytes are read from and also most likely compression format which the game uses to store screen data, and then edit bytes manually.

venixuc

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: UMK3 (NES) character select screen palette edit?
« Reply #4 on: April 04, 2021, 07:55:31 pm »
So, I opened the Name Table Viewer in FCEUX, and here it is:

https://ibb.co/Z66rxpL

The attributes are: 0 (red), 1 (blue), 2 (yellow) and 3 (green). It looks like this with "Show Attributes" options checked:

https://ibb.co/kxYC6QQ

Now, how to change these attributes? I want to edit the rom file itself. Since these attribute values are pointers to color palette data, can this be done with hex editor?

« Last Edit: April 04, 2021, 08:00:55 pm by venixuc »

Cyneprepou4uk

  • Hero Member
  • *****
  • Posts: 625
  • I am the baldest romhacker
    • View Profile
Re: UMK3 (NES) character select screen palette edit?
« Reply #5 on: April 07, 2021, 06:25:59 am »
In FCEUX open Hex Editor -> PPU Memory, go to $23C0, here are your attributes. If you change bytes manually and colors are changing on the screem, you are in the right spot. Then set a write breakpoint to one of these addresses before the screen is drawn. You can also try to search 2-3 bytes from there inside ROM File, better with Code/Data Logger enabled.

venixuc

  • Jr. Member
  • **
  • Posts: 10
    • View Profile
Re: UMK3 (NES) character select screen palette edit?
« Reply #6 on: April 10, 2021, 11:20:27 pm »
I found it; the data in the rom starts at 9019. Now I'll have to mess around with it a bit to figure out how to recolor the portraits properly (sometimes, changing the byte value doesn't recolor the entire portrait, only a portion of it, but i guess that depends on the tiles). Thanks for your help.