Users browsing this thread: 1 Guest(s)
Palette Issues

#1
Posts: 2
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Oct 2016
Reputation: 0
Status
None
Hi mods! Please accept my apologies if I'm on the wrong board.

I'm currently working on original sprites of mine to swap into Terra, Locke, Edgar and Celes using FF3SE. I've had no problems with Terra but once I've swapped out Locke with a sprite sheet that has a lot more red in it, it also affected the palette of the imperial soldiers. Like so:

Locke's new Sprite:
[Image: fuuuu.png]

But in turn I get:
[Image: fuuuu.png]

and of course
[Image: fuuuu.png]

...which is WAY too much red for my liking. :/ Turns out I get the same thing with Edgar, Celes, and Sabin(got some horrifying results there as well).

Is there a way for me to unlink their respective color palettes? Thanks in advance. Smile
  Find
Quote  

#2
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
There are 14 characters and 6 usable palettes (5 without restriction) meaning you have to share palettes among characters.

For battle palettes assignation there is a table at C2/CE2B (1 byte per character starting with Terra).

For the field character palettes, the assignation is done by event at character recruit. This document can help.

Finally for the event where characters are NPCs (such as before recruit), you need to change the palette of each instance of the NPC in FF6LE or Zone Doctor.
  Find
Quote  
[-] The following 1 user says Thank You to madsiur for this post:
  • Vulpane (10-14-2016)

#3
Posts: 2
Threads: 1
Thanks Received: 0
Thanks Given: 0
Joined: Oct 2016
Reputation: 0
Status
None
(10-14-2016, 12:28 PM)Madsiur Wrote: There are 14 characters and 6 usable palettes (5 without restriction) meaning you have to share palettes among characters.

For battle palettes assignation there is a table at C2/CE2B (1 byte per character starting with Terra).

For the field character palettes, the assignation is done by event at character recruit. This document can help.

Finally for the event where characters are NPCs (such as before recruit), you need to change the palette of each instance of the NPC in FF6LE or Zone Doctor.

Hello again Sir. I'm actually a complete novice when it comes to code so terms like "C2/CE2B" are lost on me. I've gone through the tutorials on this site and other sites but there doesn't seem to be a place for me to start. So far I got the event dump txt and the palette loc txt you kindly linked me to but I don't know how to implement these into the rom, let alone edit them without ruining the entire file.

Actually, to make my problem simpler, I'm looking for a way to have Celes' overworld palette change palettes with Terra and Terra's overworld palette taking Celes'/Edgar's/Sabin's palette. FF3usSE only seems to let me change the battle palette.

Thanks again.  Smile
  Find
Quote  

#4
Posts: 3,969
Threads: 279
Thanks Received: 236
Thanks Given: 57
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(10-18-2016, 01:55 PM)Vulpane Wrote: Actually, to make my problem simpler, I'm looking for a way to have Celes' overworld palette change palettes with Terra and Terra's overworld palette taking Celes'/Edgar's/Sabin's palette. FF3usSE only seems to let me change the battle palette.

The event dump changes needed and the ones in the document I linked are the same thing. The event dump however won't list the complete bytes of the event commands. You have to go in the ROM yourself to see. I'll take Celes example:

in palette_loc.txt
Code:
CA:8708 0x06
CA:870B 0x00

In the event dump
Code:
CA/8707: 37    Assign graphics $06 to object $06 (Actor in stot 6)
CA/870A: 43    Assign palette $00 to character $06 (Actor in stot 6)

this translate to:
37 06 06
43 06 00

What you need to change here is 43 06 00 to 43 06 02 (02 being Terra's palette).

CA/870A is a HiROM offset. You need to subtract 0xC00000 from the offset or in other word 0xC0 from the bank byte (first byte). This give us 0A/870A in the hex editor, press Ctrl+g and enter 0A870A or simply A870A in HxD or Windhex to get there.

If you ROM has a header you need to add 0x200 bytes to this offset, which would be 0A890A. The easiest thing is working without a header and only applying one when you need to apply a headered patch.


Hope this help!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite