Users browsing this thread:
TileMolester Palette is a bit off... [WonderSwan][Digimon D-Project]
#1
Hello,

I've been trying to rip sprites from Wonderswan Color Game, Digital Monster D-Project. I know that there are spritesheets of this game in the withthewill forums (since 2015), but I wanted to try my hand at it. (because I found out it was, in a way incomplete (a missing frame, another being 'warped'....) (and I wanted to post them here then, so that it'd be easier to find for other people)

At first I did it with YY-CHR, and even GGD, to make sure I would be able to get all the different position of the mons but without any way to find the palette with a savestate (for yy-chr), I finally turned to TileMolester.

I've found the offsets of all mons and their palettes, but at first I didn't know how to find the exact color. So I shrugged it off and just extracted them as is (in psychedelic colors), then turned to my emulator and took screenshots. But then it was a mess, so I searched a solution across the net.

It's only by looking at the palette format that I knew I was in a bind.

In some other thread here in vg-resource, I found out someone (EDIT: It was Deathbringer I think) had managed to make it so the colors would be correct. So, in the TileMolester xml, I inserted:

Code:
<directcolor id="CF07" bpp="16" rmask="0E00" gmask="00E0" bmask="000E">
            <description>9bpp RGB (Wonderswan)</description>
        </directcolor>

with the other color formats, and tried it out.

It looked good. And I thought all my problems were solved.

Until I came onto a digimon with darker colors than it was in screenshot I took of the emulator I use (OswanJ). Checking the colors, I found out they're a bit off...

For example, the first digimon you find when you open the ROM in TM, 
   
From left to right: a screen from OswanJ, a screen from Cygne, and the one I extracted from the ROM.
The Cygne colors looks closer to the palette in the ROM, but the OswanJ's are brighter (and better, and that's what I am aiming for, tbh).

Anyway, how can I know which palette is the 'real' one when I get three different results? (I guess the answer to that is: the one from the ROM, duh) I'd really like to get them in the OswanJ palettes but even by tweaking the masks value in the xml, I can't seem to manage it. For example, one color (the small bright spot on Gigimon's forehead) is #ffcccc in the OswanJ palette, #f0c0c0 in Cygne, and e0c0c0 in the ROM. I thought about just getting the spirtes out, and then swap colors with Aseprite, but I'd rather not take the risk of making errors while replacing colors, like a color replaced getting replaced because it turns out it was already there but in another place. (It already happened  Cry )

Is there a way to tweak the rmask/gmask/bmask values to get to the desired results? (Because another digimon just look plain weird in the ROM's palettes!) If so, how?  Unsure
Reply
Thanked by:
#2
You could always check the palette in a savestate for Oswan. The groupings start at the offset of #F04A (61514 if you want to check with Tile Molester).
Doofenshmirtz: This is a little bit awkward but have you seen my escape jet keys? (Perry nods) What, you have? Well that's great! So where are they? (Perry looks away) You won't tell me? Is this because you don't speak or are you just being a jerk?
~Phineas and Ferb, "One Good Scare Ought to Do It!" (2008)
Reply
Thanked by:
#3
(08-14-2021, 11:55 AM)Deathbringer Wrote: You could always check the palette in a savestate for Oswan. The groupings start at the offset of #F04A (61514 if you want to check with Tile Molester).

Thanks for the reply!

My TileMolester (the Mod version v0.19?) can't open OswanJ's savestate, though. Do I need to modify the tmspec.xml for it to be able to do so? (Somewhere in the palettefilters? I tried to add one for it (amateurishly) but then TM won't open...)

Unless there's another way to peek into the savestate?

I've never really dug deeper when using TileMolester until quite recently, all other games I've used it for where pretty straightforward (gbc games and the likes, you know)...
Reply
Thanked by:
#4
Opening as a regular file or as a palette file? For regular file, you just need to change Files of Type to All Files. As a palette, admittedly I used Oswan 0.7 which might not have the same structure as OswanJ so I'm, not sure entirely. If you upload a savestate, I can take a quick peek and if it follows the same format, I can make a workable one.

These are the two I have so far.
Code:
<palettefilter extensions="wss" colorformat="CF07" size="1024" offset="61514" endianness="little">
            <description>Oswan 0.7 Save States (*.wss)</description>
        </palettefilter>

Code:
<palettefilter extensions="00?" colorformat="CF07" size="1024" offset="65098" endianness="little">
            <description>Oswan 1.73 Save States (*.00?)</description>
        </palettefilter>
Doofenshmirtz: This is a little bit awkward but have you seen my escape jet keys? (Perry nods) What, you have? Well that's great! So where are they? (Perry looks away) You won't tell me? Is this because you don't speak or are you just being a jerk?
~Phineas and Ferb, "One Good Scare Ought to Do It!" (2008)
Reply
Thanked by:
#5
Here is a save state from OswanJ (does it matter that it's at the end of the game?)
https://www.mediafire.com/file/k3vtevvzwz205a8

Additionnaly, if I load the savestate as a file, it gives me something like this (I changed the codec to 4bpp, and reached offset #F04A to see what it would look like):

   

I must admit I'm quite lost for this project of mine... I don't even know if loading the savestate as a palette would do anything that'd help me.

I am grateful for your help nevertheless.
Reply
Thanked by:
#6
Ok, I think I can fix my mistakes from whenever I thought I figured it out for Oswan.

Block 1 = #F048 (61512)
Block 2 = #F248 (62024) Probably has no palette here for any game, just being safe because the next blocks do have palettes
Block 3 = #F448 (62536) Some random strings here

Code:
<palettefilter extensions="00?" colorformat="CF07" size="1024" offset="61512" endianness="little">
            <description>Oswan 1.73/OswanJ Save States (*.00?)</description>
        </palettefilter>

This should be the correct info for any Oswan savestate.
Doofenshmirtz: This is a little bit awkward but have you seen my escape jet keys? (Perry nods) What, you have? Well that's great! So where are they? (Perry looks away) You won't tell me? Is this because you don't speak or are you just being a jerk?
~Phineas and Ferb, "One Good Scare Ought to Do It!" (2008)
Reply
Thanked by:
#7
The savestate did load correctly!

I checked with the digimon shown on the savestate, and the colors are still the ones coming from the ROM rather than the ones shown by the emulator. So I guess I will fiddle with the values of the rgb masks however I can (bit by bit), it will be slow going...

When you told me "check the palette in a savestate", I immediately thought about loading it as a palette for the mons in TM (that's what I did for Hamtaro in YY-CHR after all and it worked). Then I thought about Hex Editors, because that's were go people to check for stuff, right? But beside 00s, I don't think I understand what you were trying to show me.

...

However, I had two mons that I couldn't find the palette of (the others were just before the sprites but I had no luck for those two), so it's a big help!

B) You're awesome, truly. I was afraid of having taken your time for nothing. You made my day with that, especially when I discovered that the colors weren't the same as the screenshots, which I was about to fall back on for those twos!

(I feel like just writing thanks isn't enough! But I really am grateful you were here to help me!)
Reply
Thanked by:


Forum Jump: