Graphics and Text Edit help for Final Fantasy Mystic Quest.

Started by some random dude, August 01, 2013, 01:40:13 PM

Previous topic - Next topic

some random dude

so i though id Hack FFMQ cause its rather small and shouldn't take me forever.
ether way, i got tools to edit names and monsters.

but i haven't found anyway to Edit the text (the text of NPC's when they talk to you)
nor of the graphics.

i testes some Graphics editors it seams FFMQ graphics are compressed quite deep.
the editors just gave blurs of pixels, i couldn't make out anything, no matter the Bpp-ish format i used.
(i don't need to edit tiles, just monsters and Character/npc sprites)

so i'm rather stuck.
and i wanted to ask if anyone knows anything?

KingMike

The text uses dictionary compression. You need to find the dictionary and add those to the table.
"My watch says 30 chickens" Google, 2018

some random dude

Quote from: KingMike on August 01, 2013, 07:23:37 PM
The text uses dictionary compression. You need to find the dictionary and add those to the table.

witch programs do i use to do that?

i'm semi new at this
(i edited Zelda before with hyrule magic and Zcompress, but that's it)

Klarth

Quote from: some random dude on August 01, 2013, 01:40:13 PM
I tested some graphics editors; it seems FFMQ graphics are compressed quite deeply.
This is not the case. Here are some locations to try out (addresses given assuming no header).  To set proper block sizing, use Tile Molester as your editor.  You will need to figure out a way to import palettes (make a zsnes savestate while the graphic is on screen, then open with palette->import, then swap through palettes to find the appropriate one for that sprite) to view the graphics with real colors.

"Overworld" sprites
0x20000: SNES 3bpp - All weapon/spell/item icons
0x21A20: SNES 3bpp, block size 2x2 - Character / NPC sprites followed by boss sprites (shrink canvas size to 4x16) and monster sprites.

Edit: So the battle sprites are significantly more complicated.  It is unlikely you will be able to efficiently edit these without a program.  The base sprite seems to be whole in most cases, but the weakened/dead frames only have the modifications stored to save space.  This means that there is data somewhere in the ROM that tells the game how to "assemble" these frames.

Battle sprites
0x487DD: SNES 3bpp - Brownie sprite

This might be helpful

some random dude

#4
Quote from: Klarth on August 10, 2013, 06:50:16 PM
This is not the case. Here are some locations to try out (addresses given assuming no header).  To set proper block sizing, use Tile Molester as your editor.  You will need to figure out a way to import palettes (make a zsnes savestate while the graphic is on screen, then open with palette->import, then swap through palettes to find the appropriate one for that sprite) to view the graphics with real colors.

"Overworld" sprites
0x20000: SNES 3bpp - All weapon/spell/item icons
0x21A20: SNES 3bpp, block size 2x2 - Character / NPC sprites followed by boss sprites (shrink canvas size to 4x16) and monster sprites.

Edit: So the battle sprites are significantly more complicated.  It is unlikely you will be able to efficiently edit these without a program.  The base sprite seems to be whole in most cases, but the weakened/dead frames only have the modifications stored to save space.  This means that there is data somewhere in the ROM that tells the game how to "assemble" these frames.

Battle sprites
0x487DD: SNES 3bpp - Brownie sprite

This might be helpful

Thank you, that's very helpful =3
I can "assemble" together the parts of the enemy's battle sprites, im familiar with how games putt them together.

the issue was i needed to adjust the "byte forward/backward" to see the sprites right.


so now all i need is knowing what program to Edit text properly with.
(i never done snes text editing with out a program made for that game specifically before.)


Edit: also does anyone know how to edit the palettes IN game?
like making the Main hero's armor Green for example.
(since currently you can only use the colors he already has, i need to replace one or two)

A palette change of Benjamin for Kaeli's colors would work perfectly.

Klarth

If you have the exact palette colors (and you're sure of it), then you can try searching for its entries using this.  Also, the link I gave you in my previous post contains some rough information about where the palettes are stored at, but the SNES Palette Editor should be able to find it anyways.  Alternatively, you could find the palettes using the debugger, but you're not ready for assembly.

For text editing, you need to realize that older games use custom text encodings.  To be able to decode text, you need to create (or find) a table file, generally using a relative search program like Monkey Moore.  Then load the game and the table in WindHex to locate text.  Finally, setting up Cartographer to dump the text and Atlas to reinsert it is generally the way to go and will save you a lot of headaches.  You'll have to do some reading to understand all of this.

some random dude

been looking around, haven't found a table for FFMQ sadly.
(i was looking at the ROM Map, it Lists codes for letters, is that anything i can use?)

Making a Table isn't easy when i never dealt with Tables before.

i been trying Reading a tutorial, but its quite the head scratch-er.
by suggestion of the tutorial, i input the player name ABCDEFGH in the game, then using a new SRM file, the name HGFEDCBA.
then i compared both the SRM save game files in WindHex. to see if i could find the difference. and thus figure out some of the letters.
sadly the only difference is minimal, like only a "." dot , or couldn't exactly be the HEX numbers for letters.

if i only knew the Hex numbers for each letter i could work with it...

Klarth

Quote from: some random dude on August 13, 2013, 02:57:10 PM
Making a Table isn't easy when i never dealt with Tables before.
Try getting some practice first.  Start with Dragon Warrior I NES which has a very simple table and see if you can make the table yourself using relative search.  Download Monkey Moore and relative search for a text string (use a word from the game 4+ letters long and don't use names, mixed capitalization or punctuation) within the ROM.  Then build the table file and load the game and table using WindHex.

Once you've gotten this far, you can do the same for FFMQ, but it's a bit more complex because the game uses dictionary compression.  Terranigma is an example of a game that uses dictionary compression.  Instead of one hex character representing a letter, one or two hex characters can represent an entire word.