News:

11 March 2016 - Forum Rules

Main Menu

Final Fantasy IV Graphics Update (SNES)

Started by Gedankenschild, October 20, 2015, 07:34:05 PM

Previous topic - Next topic

mziab

#120
Quote from: Gedankenschild on January 15, 2016, 02:40:00 PM
Interestingly enough he is never used in the Wonderswan version. He does make an appearance in one of the added missions of the GBA version. It makes me wonder whether there were plans to add additional content to the WSC remake at first. Romancing Saga had stuff added.

Oh my, should I have been more clear? Let's use an example:



Look at the above row. That's how the young man is supposed to look like.
For the second row I took the man in blue tileset and applied the three palettes to him. Purple is almost right. Only the green on his right leg turned grey. The blond man, on the other hand, is totally different. That's because the colors are arranged completely differently for that palette in particular. And since the SNES version uses only one set of graphics, the colors need to be rearranged to be interchangeable.

Couldn't this be done automatically, though? Something like: go through each pixel of the original image, get the RGB value, look up which color in the target palette it is, change the pixel to that color index. Of course it gets more complicated if the color we want isn't present in the target palette, but in theory you could whip up something like this pretty quick using PIL for instance.

EDIT: Actually, there might be an even better way of doing this, that is by comparing the palettes themselves and creating a mapping based on that.

Gedankenschild

OK, I'm going to change three pixels to fix the blond guy's hair...



What the?! Now the other two guys' hair is screwed up! ;)

The main goal is to rearrange the palettes. However: Some pixel work needs to be done: Note how the guys in blue and purple use some of the same colors in both face and hair? That won't be possible with the guy in red for obvious reasons. So the skin/hair/clothes colors need to be sorted out.

mziab

Well, that throws a wrench in the works. Still, you never know until you try. An automated solution could help lessen the workload, even if you had to make some manual adjustments afterwards.

Vanya

#123
I've been working on this:



What I did was add the sprites present only in the blue and purple sets to the red one.
And adapting them to the style of the red set since it is more detailed in the hair.
Once that is done I'll make new palettes for the blue and purple versions.

Gedankenschild

Excellent!
I'm looking forward to it! Looking at the chocobo I started to wonder: How does the original game handle them, since yellow and blue aren't interchangeable (one being for hair, the other for clothing).
Turns out they have their own dedicated palettes (one for yellow, white, black and red). I guess it's because they are handled as vehicles that appear on the world map?

chillyfeez

Not positive about this, but I think they use a different palette in the world map than they use in locations. World map palette is shared with the enterprise, ship and the hovercraft.
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

Gedankenschild

I see. Just took a look at the world map palettes. The game loads all of the protagonist palettes, even though only one will ever be displayed at once. Hmm...

justin3009

The best bet for PC palettes on the overworld then is knock out whatever routine loads ALL of their palettes and modify it so it checks which PC you currently have on the map and load their specific palette only in one RAM location (And have all the PC's palettes load that main area for it).  As long as there's never more than one PC at a time and it updates properly if you're able to swap them on the fly, it should work out just fine.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

chillyfeez

1-4: character palettes
5: enterprise/hovercraft/ship/chocobo
6: black chocobo
7: falcon
8: lunar whale
9-16: tileset (which is already 4bpp, and unless the world maps are different, tilesets use eight palettes)

Am I missing something?
The SNES certainly can handle all of these being 4bpp.
World map doesn't use dialogue box, remember.

There would be complications to loading one character palette at a time. FFIV has the R-button character display change function, so the palette reload would need to be shimmied into that routine. In addition to figuring out how you would fit that in, there's the potential for lag every time the player changes displayed character.
And you can't just get rid of the r-button function. Let's say you chose to make it so that only the character in the first slot is displayed, which would mean the player has to rearrange the party to change the displayed character manually. That's how FFVI does it. But in FFVI, any character in any slot can be in the front row or the back row. If I have a two-mage party and I want my displayed character to be Rydia, I'd have to put her up front and one of my fighters in the back. Furthermore, if Cecil isn't the displayed character, then an event runs that makes him the displayed character, then whichever slot he's in becomes the displayed slot. Not to mention the fact that you'd have to shimmy the palette load into that routine as well.
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

Gedankenschild

#129
Thanks for checking, chillyfeez.

I have another idea. The game loads 8 palettes for the world map but only uses the first four (three for the moon). Some of these could be replaced with palettes for sprites. Shouldn't be much of a hassle.
The remake uses six palettes for the world map, so I'd like to reserve two for the world map overhaul...  ;)

January 21, 2016, 01:45:50 PM - (Auto Merged - Double Posts are not allowed before 7 days.)

The way the remake handles grass-water transitions eats up lots of tiles. I created a temporary solution by cutting off bits. We'll see where things go from here.



I also went ahead and inserted one of Granville's downsampled portraits, just to show that it can be done:



A break from those town graphics was desperately needed, so I continued working on the house/town interior set, which is almost done. I should have a few screenshots soon...

------------------------

Edit:
Auto Merged, huh? New rule: No responses - no updates! ;P

Kiyoshi Aman

#130
So I did a palette-hack of Dark Knight Cecil, using colours drawn from the down-sampled PSP portrait. Would this be doable on the SNES?



EDIT: I'd have posted the whole sheet, except for the part where the person(s) responsible for the sheet I used as a base fucked up when they inserted the victory pose—it uses an entirely different palette in that sheet. Thanks, Spriter's Resource.

Gedankenschild

Quote from: Kiyoshi Aman on January 22, 2016, 03:16:01 AM
So I did a palette-hack of Dark Knight Cecil, using colours drawn from the down-sampled PSP portrait. Would this be doable on the SNES?


Sure, as long as you don't go beyond the 16 color limit. You really can't go wrong with simply altering the palettes...
The game doesn't do any palette sharing between characters in battle or stuff like that, which I believe VI does. The only thing you need to consider is that all characters have to use the same amount of skin colors (that would be 2 for the original models). That's because of the way poison status works - skin turns purple.

Quote from: Kiyoshi Aman on January 22, 2016, 03:16:01 AM
EDIT: I'd have posted the whole sheet, except for the part where the person(s) responsible for the sheet I used as a base fucked up when they inserted the victory pose—it uses an entirely different palette in that sheet. Thanks, Spriter's Resource.
That's why I extract everything myself. You never really know how sheets were put together and how careful the person was...

Kiyoshi Aman

I'm less concerned about palette limitations than I am about the colour limitations imposed by the 16-bit limitation on colour choices, actually.

Gedankenschild

Quote from: Kiyoshi Aman on January 22, 2016, 10:17:51 AM
I'm less concerned about palette limitations than I am about the colour limitations imposed by the 16-bit limitation on colour choices, actually.

It's really not that bad. You can choose freely from a palette of 32,768 colors. That is significantly better than other 16-bit consoles like the Sega MegaDrive/Genesis (512 colors).

Kiyoshi Aman

#134



Cain's palette-hack went a lot better. Have you thought about upgrading the field sprites from 16×16 to 16×24? I wouldn't be able to draw new sprites, unfortunately, but it'd be neat.

EDIT: I used the PSP battle sprites to recolour Paladin Cecil, which came out looking pretty good.

EDIT 2: I thought about doing Cid, too, but he ends up looking like a silver bullet. I don't know why the PSP version didn't use the DS version's portrait colours—Cid's portrait there actually fits the sprites.

EDIT 3: Child Lydia, hair and hair-piece from portrait, clothing brightened from PSP battle sprites to counteract the 'dulling' of her hair.

EDIT 4: And here's adult Lydia. If it's possible, I'd prefer to have the summon-sprite use a different palette from the rest to preserve the yellow glow.

EDIT 5: You get a palette-squish, and you get a palette-squish...everybody gets a palette-squish! (All four spritesheets are now 16-colour. May take some work to free up a colour for three of 'em for transparency, though.)

EDIT 6: Redid DK Cecil.

Gedankenschild

I haven't really thought about it. It would seem to introduce lots of complications and there's plenty of work to do as it is...
Also: The Japanese-only mobile version already has re-sized overworld sprites. But finding resources concerning that version is a complete nightmare - especially if you don't know a word of Japanese. :-[



Are you thinking of creating a patch containing the new battle palettes? I could help since I already have all the addresses and such. What's your approach creating these new sprites? I hope you're not going pixel by pixel! >:D

Kiyoshi Aman

#136
I copied the sprite dump from Spriter's Resource into the GIMP and switched to Indexed mode, which enables the GIMP's colormap dialog. From there it's just picking colours and then editing the palette. For Paladin Cecil's and Lydia's sheets I switched back and forth between RGB & Indexed in order to squash the palette down and help me isolate any lurking extraneous colours.

EDIT: Oh, hell. Final Fantasy Record Keeper has sprites for everybody but Cid and Yang (and adult Lydia). They do appear to adhere to the 16-colour and 16×24 dimensional limitations, however, so if I can do a 1:1 mapping, I'll recolour them.

Gedankenschild

Personally I'm not too crazy for the Record Keeper sprites, but do whatever you'd like - more options can't hurt!
One warning, though: If you actually start making new sprites I would definitely recommend looking at the actual tilesets. They reuse elements. The walking animation, for example, only adds the walking legs to the standing idle graphics.

Kiyoshi Aman

#138
On more mature reflection...I don't think it's worth it unless someone wants to put the effort into matching them with field sprites. Rosa'll be the last one I recolour the battle sprites for, and then I'll poke at field sprites.

If someone with Photoshop experience is watching the thread: pretty please recolour Cid's portrait to match his battle sprites?

Quote from: Gedankenschild on January 22, 2016, 03:13:03 PM
Are you thinking of creating a patch containing the new battle palettes? I could help since I already have all the addresses and such.

I hadn't planned on it, but I would certainly be interested in doing so. Will need to write a tool to clamp 24-bit colour down to BGR565, though.

EDIT: Here's Rosa.


Gedankenschild

Quote from: Kiyoshi Aman on January 22, 2016, 06:05:50 PM
I hadn't planned on it, but I would certainly be interested in doing so. Will need to write a tool to clamp 24-bit colour down to BGR565, though.
Not really. Digisalt's SNES Palette Tools will insert any TileLayerPro palette into the ROM and do the necessary conversions.

http://www.romhacking.net/utilities/300/

Here's how I inserted the palette for the new Edward portrait above:

1. Get the colors with Pictures to color
2. Copy the values into a TLP palette via hex editor
3. Insert with SNES Palette Tools