kion-dgl / Miku-Legends-2

Source Code for Writing files to the Megaman Legends 2 format to replace Megaman with Miku
https://kion-dgl.github.io/Miku-Legends-2/
GNU General Public License v3.0
5 stars 1 forks source link

Update Logo for MegaMan Legends 2 in Demo Loading Screen #58

Closed kion-dgl closed 2 months ago

kion-dgl commented 2 months ago

I wasn't able to locate this model by looking around normally. I'm going to check in DEMO.BIN and TITLE.BIN to see if i can find anything.

image

kion-dgl commented 2 months ago

Found the texture data, it's in TITLE.BIN at offset 0x20000. It looks like there is no palette information associated with it.

title_20000

Here is the TIM data:

{
  type: 3,
  fullSize: 16384,
  paletteX: 0,
  paletteY: 0,
  colorCount: 0,
  paletteCount: 0,
  imageX: 832,
  imageY: 128,
  width: 64,
  height: 128,
  bitfieldSize: 404,
  payloadSize: 0,
}

As a sidenote it looks to be 4 bit (0 - 15) indexed image.

kion-dgl commented 2 months ago

Now that we're here, we can make a few notes. First, we're going to need to track down the palette data. This likely means that we can scan through TITLE.BIN for palettes, store them and then see which one (if any) works.

Second is that since the texture contains a lot of other sprite information, we're not going to want to replace everything. We're going to need to store the decompressed data, encode and replace the palette as well as that part of the texture and then replace them back into the file.

kion-dgl commented 2 months ago

Note that I found the palette at offset 0x23000 in TITLE.BIN.

logos_c

kion-dgl commented 2 months ago

The weird part is when I try to do a test by updating the palette at 0x23000 to be all red, i don't see any change in the screen in the ROM, and it looks exactly like it does in game.

I'm trying to think of an approach for how to address this. I think the cheesy approach might be to update the texture to be a grid. That would give me exact colors being used when drawn on the screen, and then i could search through the files or ROM for those specific colors to see if I come up with anything.

As a backup, i think that would mean that i could atleast encode the Miku logo using the existing colors if I'm not able to track them down.

image

kion-dgl commented 2 months ago

After changing both the palette and the logo, neither of them worked. It looks like I might need to do a larger scan to look for everything without a palette.

It looks like the file is also in GAME.BIN at offset 0x041800 palette at 0x0x44800.

kion-dgl commented 2 months ago

I think for approach, we can make a small logo file that is 96 x 40. We can encode it and then we can over-write the bytes in from the original texture.