Advance Sprite Palettes
02-24-2022, 11:59 AM
So, I'm using FF6Tools, the online ROM hacker thing to try and make a mod/hack.
What I want to do at the moment is replace Edgar and Sabin with Biggs and Wedge.
Seemed easy enough. Export the "Soldier" sprite sheet and import it over those 2.
But when I do that, they show up as the green soldiers. I know that Locke's sprite palette is the only one that makes them show up as the normal brown soldiers, so naturally I set the Palette color to his when I did all this, but that didn't seem to do anything. Do I have to do something special to make the game use Locke's color palette on Edgar and Sabin? Can I even do that?
Forgive me, I'm quite new at this.
Btw, any way to turn that Pig sprite in my user information on the left over there into a Ghost?
What I want to do at the moment is replace Edgar and Sabin with Biggs and Wedge.
Seemed easy enough. Export the "Soldier" sprite sheet and import it over those 2.
But when I do that, they show up as the green soldiers. I know that Locke's sprite palette is the only one that makes them show up as the normal brown soldiers, so naturally I set the Palette color to his when I did all this, but that didn't seem to do anything. Do I have to do something special to make the game use Locke's color palette on Edgar and Sabin? Can I even do that?
Forgive me, I'm quite new at this.
Btw, any way to turn that Pig sprite in my user information on the left over there into a Ghost?
(02-24-2022, 11:59 AM)LM008 Wrote: Do I have to do something special to make the game use Locke's color palette on Edgar and Sabin? Can I even do that?
This is a common question. There is the battle palette and field palette IDs. The battle palette ID can be changed with FF3usME/FF6Tools (I think) but the field one is assigned by event at character recruit. Check the palette document by runelancer here: https://www.ff6hacking.com/wiki/doku.php...s:doc:game
It will tell you where in the event banks palette for each character is assigned. This can be edited with FF6Tools event editor I think or worst case scenario with a hex editor. You'll need to test with a save file prior to the character recruit because the field palette ID is saved in SRAM.
02-24-2022, 01:52 PM
Okay....
So is it the bottom row of numbers I need to mess with? Example, I see this in the document:
Edgar
D8/EAA4 - Standing
D8/EAAD - Fanfare
02 80 01 40 35 80 11 42 35 02 80 00 44 35 80 10 46 35
Sabin
D8/EAB6 - Standing
D8/EABF - Fanfare
02 80 01 48 35 80 11 4A 35 02 80 00 4C 35 80 10 4E 35
Is it that long string of numbers down at the bottom that has to do with the palette?
So is it the bottom row of numbers I need to mess with? Example, I see this in the document:
Edgar
D8/EAA4 - Standing
D8/EAAD - Fanfare
02 80 01 40 35 80 11 42 35 02 80 00 44 35 80 10 46 35
Sabin
D8/EAB6 - Standing
D8/EABF - Fanfare
02 80 01 48 35 80 11 4A 35 02 80 00 4C 35 80 10 4E 35
Is it that long string of numbers down at the bottom that has to do with the palette?
I was talking about this document: https://www.ff6hacking.com/wiki/lib/exe/...e_locs.zip
Edit: I think the document you got is the OAM document and that might be needed for Shop/Save screen palette but I'm not 100% sure.
Code:
SABIN
Sabin is present in two events: the introduction flashback when the Matron tells you about him, and
when he boots Vargas. He uses sprite ID 0x04 and palette 0x00.
CA:6CAC 0x04 (INTRO)
CA:6CAF 0x00 (INTRO)
CA:6D29 0x05 (VARGAS)
CA:6D2C 0x00 (VARGAS)
EDGAR
Like Cyan, Edgar remains in the party for a while. However, he is an NPC when you first meet him,
and hits NPC status when you later meet him as "Gerad." For the rest of the time, he uses sprite
0x04 and palette 0x00.
CA:66BA 0x04
CA:66BD 0x00
Edit: I think the document you got is the OAM document and that might be needed for Shop/Save screen palette but I'm not 100% sure.
02-24-2022, 02:16 PM
Okay. Im starting to understand, but I'm still a bit confused.
I get the sprite ID stuff, I think, because Ive been messing around with Codebreaker codes and I get the character selection. I think.
Example:
CB:AB39 0x14 (GHOST 1)
Yes, that makes sense. I put in a 14 to change people into a Ghost.
But:
CB:AB3C 0x00 (GHOST 1)
Thats the palette and now I'm confused.
Looking through things in FF6Tools and in a Hex Editor, I'm not quite sure where I would change things to change its palette.
Assuming I'm a TOTAL dumbass, which you should, where would you say I should go in a Hex Editor or FF6Tools to change Edgar's color palette.
I see the Event Tree, for example, but I never get to anything that has a CA like in CA:6CAC for example. Ive got 87A through 87E, for example.
I get the sprite ID stuff, I think, because Ive been messing around with Codebreaker codes and I get the character selection. I think.
Example:
CB:AB39 0x14 (GHOST 1)
Yes, that makes sense. I put in a 14 to change people into a Ghost.
But:
CB:AB3C 0x00 (GHOST 1)
Thats the palette and now I'm confused.
Looking through things in FF6Tools and in a Hex Editor, I'm not quite sure where I would change things to change its palette.
Assuming I'm a TOTAL dumbass, which you should, where would you say I should go in a Hex Editor or FF6Tools to change Edgar's color palette.
I see the Event Tree, for example, but I never get to anything that has a CA like in CA:6CAC for example. Ive got 87A through 87E, for example.
EDGAR
CA66BA 0x04 = Sprite
CA66BD 0x00 = Palette
To keep it simple, without displaying the offset as Hi-ROM, CA66BD is offset A66BD in a hex editor, so that's where you'd want to go to - you can disregard the 'C' for this.
That will put you at a 04 hex value followed by a 00. the 00 byte is the one you'd want to change to another palette value (00-07).
The entirety of the palette command actually starts one byte earlier at A66BC: 43 04 00
43 is the issue palette command, the second parameter is the character ID, which is 04 in this case for Edgar, and the third parameter 00 is the palette.
Also besides changing the sprite and palette with FF3usME and hex editor, there will be instances of needing to change the character sprite and palette within the level editor, where they are used as NPCs on the map.
Another note, that first document you found with the OAM data for shops, you can instead use FF3usME to check a flag for the save/shop palettes to sync up to the battle palette, instead of doing it manually with that document using a hex editor. Look for the flag in the sprite editor portion of FF3usME to the right that says Save Screen / Shops Palette Indexes, and check that box for 'Use the same indexes as the battle one', if need be.
CA66BA 0x04 = Sprite
CA66BD 0x00 = Palette
To keep it simple, without displaying the offset as Hi-ROM, CA66BD is offset A66BD in a hex editor, so that's where you'd want to go to - you can disregard the 'C' for this.
That will put you at a 04 hex value followed by a 00. the 00 byte is the one you'd want to change to another palette value (00-07).
The entirety of the palette command actually starts one byte earlier at A66BC: 43 04 00
43 is the issue palette command, the second parameter is the character ID, which is 04 in this case for Edgar, and the third parameter 00 is the palette.
Also besides changing the sprite and palette with FF3usME and hex editor, there will be instances of needing to change the character sprite and palette within the level editor, where they are used as NPCs on the map.
Another note, that first document you found with the OAM data for shops, you can instead use FF3usME to check a flag for the save/shop palettes to sync up to the battle palette, instead of doing it manually with that document using a hex editor. Look for the flag in the sprite editor portion of FF3usME to the right that says Save Screen / Shops Palette Indexes, and check that box for 'Use the same indexes as the battle one', if need be.
We are born, live, die and then do the same thing over again.
02-24-2022, 03:16 PM
Okay. I think maybe you're already way WAY ahead of me. Ive searched for "A66BD" as a hex offset in HxD and it says no such hex offset exists.
(02-24-2022, 03:16 PM)LM008 Wrote: Okay. I think maybe you're already way WAY ahead of me. Ive searched for "A66BD" as a hex offset in HxD and it says no such hex offset exists.
We want to go to the address of A66BD, not search for it as hex bytes:
With HxD, at top click 'Search', then 'Goto'. In the offset field type A66BD. Click 'OK'. It should bring you to A66BD.
Alternatively you can just manually go to the offset A66BD.
We are born, live, die and then do the same thing over again.
02-24-2022, 03:33 PM
Okay, so this is where I'm at now.
I don't see anything that goes "43 04 00"
Do I have something set wrong?
I don't see anything that goes "43 04 00"
Do I have something set wrong?
Hmm, yeah something definitely isn't right, that doesn't appear to even be event code... I though maybe it was a header issue at first, meaning you'd have to remove the header, but I don't recognize any of that code. It should look like this:
Is that a more or less unedited ROM you're working with?
Is that a more or less unedited ROM you're working with?
We are born, live, die and then do the same thing over again.
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)