øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1973.msg21550e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index14d7.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1973.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index14d7.html.zxª&g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ0P.Š…OKtext/htmlISO-8859-1gzip8:ÖŠ…ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 05:49:53 GMT0ó°° ®0®P®€§²ð®©&g^ÿÿÿÿÿÿÿÿ29Š… Graphics info

Author Topic: Graphics info  (Read 10391 times)

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Graphics info
« on: December 08, 2014, 07:10:35 PM »
I decided to start coding a graphic editor for FFIV. I'm aiming to cover monsters, summons, portraits and character sprites (owerworld and battle). Now I'm not going to start this if PinkPuff decide to implement such features in her editor. I like coding and my goal would be to make an editor that is not in a process of creation or that has already been made. I would like to focus on monsters first.

First, is there a data table with the same number of elements as there is different monsters (excluding special forms) where the palette and graphics offsets are stored?

Second, where does the monster palettes are stored?

Third, is there some tile mapping data for regular monsters? FF6 uses 8x8 and 16x16 stencils and the tile mapping is done inside the stencil (so the tile mapping data is either 8 or 16 bytes). Is it the same for FF4?

Now, reading the first page of this thread gives me a good idea about how handling special forms.


Is there anything else I would be missing?  :hmm:

Thanks!


Edit: Does summons are considered monsters graphic-wise?


Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Graphics info
« Reply #1 on: December 08, 2014, 09:02:54 PM »
Graphic wise, I do believe so, but this thread of ...

http://slickproductions.org/forum/index.php?topic=1890.0

Should help rather immensely in understanding, graphics have never been my forte so to me it's a bit gobbledygook.

I thought Chillyfeez also had a tutorial on portraits, but maybe I'm wrong?

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Graphics info
« Reply #2 on: December 08, 2014, 09:07:26 PM »
This would be a great tool to have, Madsiur, and to my knowledge, I don't think pinkpuff has any plans to implement any graphics editing any time soon.

I think the answers to most of your questions are out there. I don't know all of them off the top of my head, but I'll help you dig them up, because down the road, I will could really benefit from a tool like this...

Quote
First, is there a data table with the same number of elements as there is different monsters (excluding special forms) where the palette and graphics offsets are stored?
I think you might be looking for this info:
http://rb.thundaga.com/monsters/monster_image_data_ff2us.txt
The "size" (usually, when it's not a Special Size) is actually a pointer to a two-byte rectangular measurement (byte 0 width, byte 1 height) in the table at 7015E (in ROM with header).
And the graphical pointer (the last two bytes in each entry) is used as follows:
([pointer] * 8) + 8200 = Beginning of graphical data. (Again, ROM with header)

Quote
Second, where does the monster palettes are stored?
Don't know this one, but the answer is almost certainly out there somewhere...

Quote
Third, is there some tile mapping data for regular monsters? FF6 uses 8x8 and 16x16 stencils and the tile mapping is done inside the stencil (so the tile mapping data is either 8 or 16 bytes). Is it the same for FF4?
There's no mapping, so to speak. The aforementioned table identifies a rectangular shape and the tiles fill in that rectangle from left to right, top to bottom, starting with the first tile pointed to by the graphical pointer.

And for the most part, yes, summon graphics are treated like monster graphics. The actual sprites are in the same banks of data as monster sprites, and they use the same palettes. The summons that are also enemy monsters (all of them except chocobo, Jinn, Shiva and Indra) use the same sprites as enemies that they use as summons.
A lot of summons are Special Sizes, though, and to make Shiva, Indra and Jinn enemies requires altering special size data such as the process I described here:
http://slickproductions.org/forum/index.php?topic=1890.msg19384#msg19384
« Last Edit: December 09, 2014, 12:19:10 AM by chillyfeez »

Gedankenschild

  • Vargas
  • *
  • Posts: 101
  • Gender: Male
    • View Profile
Re: Graphics info
« Reply #3 on: December 09, 2014, 12:49:14 AM »
According to Yousei's FFIV hacking document:

Code: [Select]
E7000-E7E9F (1CEE00-1CFC9F) Enemy Palette Data
I'm not sure to what degree that data has been analyzed here yet. I did create a list for my hack (that replaces every single enemy, so it should be pretty damn complete...). Can clean that up and post it if anyone wishes.
You've got to be kidding me with that Dynasty Warriors registration question??!!
I barely know such a series exists...

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Graphics info
« Reply #4 on: December 09, 2014, 01:05:18 AM »
I think that would be of great worth for Chillyfeez and Madsiur definitely.

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Graphics info
« Reply #5 on: December 09, 2014, 05:52:56 PM »
Thanks chillyfeez for your answer!

I did create a list for my hack (that replaces every single enemy, so it should be pretty damn complete...). Can clean that up and post it if anyone wishes.

Yes, that would be much appreciated!

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Graphics info
« Reply #6 on: December 09, 2014, 06:17:27 PM »
Hi Madsir,

By all means, go right ahead. Editing acutal sprite bitmaps will not be part of the scope of FF4kster in the foreseeable future. Even if it were to become such, it would not happen for a very, very long time. That said, I would like to incorporate more graphics into FF4kster from the perspective of being able to read them and display them. Thus I am probably just as interested in this information as you are.

The only capacity in which FF4kster has any immediate plans for "changing graphics" would be, for example, changing what sprite a particular monster has (like, say, changing the Yellow Dragon from being the "sitting down dragon" sprite to the "coily spring oriental dragon" sprite, or to the "fat horizontal flying dragon" sprite), which is something it can technically already do I think, but instead of seeing the results how they would appear in the game, it currently just gives you some awkward text descriptions like those you see here, or maybe some numbers (i.e. Sprite 25, Palette 6 or something). Ideally I'd like it to be able to give a realistic preview of what your monster will look like as you edit it so that you don't have to keep going "change, save, load up ZSNES, fight a battle, look at the sprite, load up FF4kster, change, save, load up ZSNES, ..."

But in any case, what is not (currently) part of the plan for FF4kster is to, say, be able to draw a moustache on the dragon; or to change it into something else entirely, like a samurai or something.
Let's dance!

Gedankenschild

  • Vargas
  • *
  • Posts: 101
  • Gender: Male
    • View Profile
Re: Graphics info
« Reply #7 on: December 10, 2014, 02:57:49 AM »
OK, so I'll just copy and paste my list here. It doesn't contain the addresses themselves, but lists each entry in the enemy palette section. I noted the (headerless) original address a few times when I wanted to manually check and compare something. Ignore the "snespalin ff2.sfc xxxxxxx" parts, those are just the command lines for inserting my TLP palettes to where my hack loads them from, which I added for my own convenience.

Code: [Select]
Imp snespalin ff2.sfc x164000
Basilisk snespalin ff2.sfc x164020
Eagle snespalin ff2.sfc x164040
FloatEye snespalin ff2.sfc x164060
Larva snespalin ff2.sfc x164080
Cave Bat snespalin ff2.sfc x1640A0
Treant snespalin ff2.sfc x1640C0
SwordRat snespalin ff2.sfc x1640E0
TinyMage snespalin ff2.sfc x164100
Sand Man snespalin ff2.sfc x164120
SandMoth snespalin ff2.sfc x164140
Sandpede snespalin ff2.sfc x164160
SandWorm snespalin ff2.sfc x164180
CaveToad snespalin ff2.sfc x1641A0
EvilShel snespalin ff2.sfc x1641C0
Zombie snespalin ff2.sfc x1641E0
Pike snespalin ff2.sfc x164200
TrapRose snespalin ff2.sfc x164220
Mad Toad snespalin ff2.sfc x164240
Jelly snespalin ff2.sfc x164260
Cream snespalin ff2.sfc x164280
WaterHag snespalin ff2.sfc x1642A0
Weeper snespalin ff2.sfc x1642C0
RocLarva snespalin ff2.sfc x1642E0
Dark Imp snespalin ff2.sfc x164300
BlackLiz snespalin ff2.sfc x164320
Turtle snespalin ff2.sfc x164340
Imp Cap. snespalin ff2.sfc x164360
Slime snespalin ff2.sfc x164380
Soldier snespalin ff2.sfc x1643A0
Officer snespalin ff2.sfc x1643C0
Needler snespalin ff2.sfc x1643E0
Tricker snespalin ff2.sfc x164400
Cannibal snespalin ff2.sfc x164420
Spirit snespalin ff2.sfc x164440
Skelton snespalin ff2.sfc x164460
Cocktric snespalin ff2.sfc x164480
Gargoyle snespalin ff2.sfc x1644A0
Roc Baby snespalin ff2.sfc x1644C0
Hooligan snespalin ff2.sfc x1644E0
Raven snespalin ff2.sfc x164500
WaterBug snespalin ff2.sfc x164520
Aligator snespalin ff2.sfc x164540
Piranha snespalin ff2.sfc x164560
Fighter snespalin ff2.sfc x164580
General snespalin ff2.sfc x1645A0
Soul snespalin ff2.sfc x1645C0
Red Bone snespalin ff2.sfc x1645E0
Ghoul snespalin ff2.sfc x164600
Skull snespalin ff2.sfc x164620
Revenant snespalin ff2.sfc x164640
VampGirl snespalin ff2.sfc x164660
CaveNaga snespalin ff2.sfc x164680
D.Bone snespalin ff2.sfc x1646A0
ElecFish snespalin ff2.sfc x1646C0
Crocdile snespalin ff2.sfc x1646E0
Hydra snespalin ff2.sfc x164700
AquaWorm snespalin ff2.sfc x164720
Guard snespalin ff2.sfc x164740
Lamia snespalin ff2.sfc x164760
StingRat snespalin ff2.sfc x164780
Python snespalin ff2.sfc x1647A0
Grudger snespalin ff2.sfc x1647C0
Mage snespalin ff2.sfc x1647E0
Naga snespalin ff2.sfc x164800
Ogre snespalin ff2.sfc x164820
Panther snespalin ff2.sfc x164840
SwordMan snespalin ff2.sfc x164860
Centaur snespalin ff2.sfc x164880
VampLady snespalin ff2.sfc x1648A0
Marion snespalin ff2.sfc x1648C0
Puppet snespalin ff2.sfc x1648E0
GlomWing snespalin ff2.sfc x164900
FangShel snespalin ff2.sfc x164920
Screamer snespalin ff2.sfc x164940
Warrior snespalin ff2.sfc x164960
Armadilo snespalin ff2.sfc x164980
EpeeGirl snespalin ff2.sfc x1649A0
BladeMan snespalin ff2.sfc x1649C0
HugeNaga snespalin ff2.sfc x1649E0
Medusa snespalin ff2.sfc x164A00
D.Fossil snespalin ff2.sfc x164A20
Tortoise snespalin ff2.sfc x164A40
Dummy (Imp) -------------------------
Ghost snespalin ff2.sfc x164A80
Bomb snespalin ff2.sfc x164AA0
GrayBomb snespalin ff2.sfc x164AC0
Chimera snespalin ff2.sfc x164AE0
Carapace snespalin ff2.sfc x164B00
Ironback snespalin ff2.sfc x164B20
FlameDog snespalin ff2.sfc x164B40
Gorgon snespalin ff2.sfc x164B60
Stoneman snespalin ff2.sfc x164B80
Lilith snespalin ff2.sfc x164BA0
Q.Lamia snespalin ff2.sfc x164BC0
TinyToad snespalin ff2.sfc x164BE0
HugeCell snespalin ff2.sfc x164C00
Roc snespalin ff2.sfc x164C20
Sorcerer snespalin ff2.sfc x164C40
Mad Ogre snespalin ff2.sfc x164C60
EvilDoll snespalin ff2.sfc x164C80
GiantBat snespalin ff2.sfc x164CA0
Arachne snespalin ff2.sfc x164CC0
FlameMan snespalin ff2.sfc x164CE0
Beamer snespalin ff2.sfc x164D00
Ballon snespalin ff2.sfc x164D20
Grenade snespalin ff2.sfc x164D40
Plague snespalin ff2.sfc x164D60
Last Arm snespalin ff2.sfc x164D80
BlackCat snespalin ff2.sfc x164DA0
D.Machin snespalin ff2.sfc x164DC0
Talantla snespalin ff2.sfc x164DE0
Gremlin snespalin ff2.sfc x164E00
Centpede snespalin ff2.sfc x164E20
Red Worm snespalin ff2.sfc x164E40
Red Eye snespalin ff2.sfc x164E60
Crawler snespalin ff2.sfc x164E80
Ice Liz snespalin ff2.sfc x164EA0
RockMoth snespalin ff2.sfc x164EC0
Were Bat snespalin ff2.sfc x164EE0
IceBeast snespalin ff2.sfc x164F00
Conjurer snespalin ff2.sfc x164F20
Witch snespalin ff2.sfc x164F40
TrapDoor snespalin ff2.sfc x164F60
ToadLady snespalin ff2.sfc x164F80
DarkTree snespalin ff2.sfc x164FA0
Mantcore snespalin ff2.sfc x164FC0
MoonCell snespalin ff2.sfc x164FE0
Breath snespalin ff2.sfc x165000
Tofu snespalin ff2.sfc x165020
Pudding snespalin ff2.sfc x165040
Mind snespalin ff2.sfc x165060
Ironman snespalin ff2.sfc x165080
Green D. snespalin ff2.sfc x1650A0
PinkPuff snespalin ff2.sfc x1650C0
Alert snespalin ff2.sfc x1650E0
Machine snespalin ff2.sfc x165100
MacGiant snespalin ff2.sfc x165120
Kary snespalin ff2.sfc x165140
Molbol snespalin ff2.sfc x165160
Ging-Ryu snespalin ff2.sfc x165180
Yellow D snespalin ff2.sfc x1651A0
Fiend snespalin ff2.sfc x1651C0
Juclyote snespalin ff2.sfc x1651E0
EvilMask snespalin ff2.sfc x165200
Horseman snespalin ff2.sfc x165220
RedGiant snespalin ff2.sfc x165240
Staleman snespalin ff2.sfc x165260
FatalEye snespalin ff2.sfc x165280
D. Lunar snespalin ff2.sfc x1652A0
Searcher snespalin ff2.sfc x1652C0
Warlock snespalin ff2.sfc x1652E0
Wyvern snespalin ff2.sfc x165300
Procyote snespalin ff2.sfc x165320
Ogopogo snespalin ff2.sfc x165340
Blue D. snespalin ff2.sfc x165360
King-Ryu snespalin ff2.sfc x165380
Clapper snespalin ff2.sfc x1653A0
Pale Dim snespalin ff2.sfc x1653C0
Red D. snespalin ff2.sfc x1653E0
Behemoth snespalin ff2.sfc x165400
D. Mist snespalin ff2.sfc x165420
Octomamm snespalin ff2.sfc x165440
Antlion snespalin ff2.sfc x165460
MomBomb snespalin ff2.sfc x165480
Milon snespalin ff2.sfc x1654A0
Milon Z snespalin ff2.sfc x1654C0
Baigan snespalin ff2.sfc x1654E0
Left Arm snespalin ff2.sfc x165500
RightArm snespalin ff2.sfc x165520
Kainazzo snespalin ff2.sfc x165540
Dark Elf snespalin ff2.sfc x165560
-Unused- (EvilDoll duplicate)----- (0E78C0)
Sandy snespalin ff2.sfc x1655A0
Cindy snespalin ff2.sfc x1655C0
Mindy snespalin ff2.sfc x1655E0
Golbez snespalin ff2.sfc x165600 (0E7900)
Valvalis snespalin ff2.sfc x165620
Cal snespalin ff2.sfc x165640
Calbrena snespalin ff2.sfc x165660
-Unused- ------------------------- (0E7940)
Shadow snespalin ff2.sfc x1656A0
Dr.Lugae 1 snespalin ff2.sfc x1656C0
Balnab(-Z) snespalin ff2.sfc x1656E0
Dr.Lugae 2 snespalin ff2.sfc x165700
K.Eblan 1 snespalin ff2.sfc x165720
Q.Eblan 1 snespalin ff2.sfc x165740
Rubicant snespalin ff2.sfc x165760
Odin snespalin ff2.sfc x165780
Leviatan snespalin ff2.sfc x1657A0
Bahamut snespalin ff2.sfc x1657C0
EvilWall snespalin ff2.sfc x1657E0
Asura snespalin ff2.sfc x165800
-Unused- -------------------------
-Unused- -------------------------
Dark Elf 2 snespalin ff2.sfc x165860
-Unused- ------------------------- (0E7A40)
CPU(+D&A) snespalin ff2.sfc x1658A0
-Unused- -------------------------
Zemus snespalin ff2.sfc x1658E0
Zeromus 1 snespalin ff2.sfc x165900
Zeromus 2 snespalin ff2.sfc x165920 (4bpp)
--------
--------
Chocobo snespalin ff2.sfc x1659A0
Shiva snespalin ff2.sfc x1659C0
Indra snespalin ff2.sfc x1659E0
Jinn snespalin ff2.sfc x165A00
Titan snespalin ff2.sfc x165A20
Sylph snespalin ff2.sfc x165A40
Brena snespalin ff2.sfc x165A60
--------
--------
--------
--------
-Unused- -------------------------
-Unused- -------------------------
A. Matsui snespalin ff2.sfc x165B40 (TinyMage palette swap)
--------
H. Nakada snespalin ff2.sfc x165B80 (Lamia palette swap)
K. Yoshii snespalin ff2.sfc x165BA0 (Ogre palette swap)
--------
--------
K.Eblan 2 snespalin ff2.sfc x165C00
Q.Eblan 2 snespalin ff2.sfc x165C20
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------
-Unused- -------------------------

"--------" means there's nothing there but 0000s = black (sometimes with a transparent color value though, for some reason).
The three palette swaps at the bottom are of course dummied out in the US version.
The palette for the Size/Toad/Piggy/Egg status effects (yes, they share ONE) is elsewhere at 074B30 (headerless). The first (non-transparent) color of that palette is also used for floating enemy shadows.
It's getting late here, so I hope I'm still making sense...  :sleep: Ask away if anything's unclear!
You've got to be kidding me with that Dynasty Warriors registration question??!!
I barely know such a series exists...

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Graphics info
« Reply #8 on: December 13, 2014, 09:26:42 AM »
I think you might be looking for this info:
http://rb.thundaga.com/monsters/monster_image_data_ff2us.txt

That helped. I found out the table containing this info is at 0x7CC00 (ROM with header). Now I need to check how many different graphics there is because a lot of monsters share graphics.

Edit: Also, would a monster graphics relocalization option would be a good idea? Since there doesn't seems to be free space after the monster data, you would need to delete a graphic in order to add a new one. I could relocate the graphics by expanding the ROM, but this would mean changes to the code, where the offset 0x48000 is added to the graphic pointer. I will check if I can find where this is done in the code. Also the free space could not be unlimited even with that option since the last pointer cannot be higher than 0xFFFF. By not having the font between the monster graphics, we can however save 0x1000 bytes...

But in any case, what is not (currently) part of the plan for FF4kster is to, say, be able to draw a moustache on the dragon; or to change it into something else entirely, like a samurai or something.

That is what I'm aiming for as well as assigning an existing graphic to a different monster. I already have a good part of the coding done since I was doing a graphic editor for FF6A. I got a fully functional portrait editor with image importing and drawing features but never released it since I wanted to do monsters too, but I cannot break the mystery of the monster data in FF6A. :sad:

Also, could anyone upload a copy of Yousei's FF4 ROM map? I've seen it as an attachment on some other post but it seems all old attachments are broken now. Maybe it's the attachment system that is broken?
« Last Edit: December 13, 2014, 09:56:26 AM by Madsiur »

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Graphics info
« Reply #9 on: December 13, 2014, 02:18:57 PM »
Sure, I also have some of my various RAM findings thrown in there as well.

You can find the original at rb.thundaga.com under Tower of Babil RAM Notes as well.

There is apparently free space for something... Chillyfeez ported my extra dungeon boss (copy of Ramuh) into unused space at the end of the Summons without having to delete anything.

I am afraid though that if the ROM is expanded, FF4kster will break.

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Graphics info
« Reply #10 on: December 13, 2014, 03:16:21 PM »
Sure, I also have some of my various RAM findings thrown in there as well.

Thanks for thr RAM map. I was actually looking for Yousei's FFIV hacking document mentionned in the 4th post of this thread.

There is apparently free space for something... Chillyfeez ported my extra dungeon boss (copy of Ramuh) into unused space at the end of the Summons without having to delete anything.

Nice! I'll look into this.

I am afraid though that if the ROM is expanded, FF4kster will break.

This is sad news. Is it because FF4kster reads the ROM size byte when loading the ROM or does the program checks the file size in bytes?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Graphics info
« Reply #11 on: December 13, 2014, 03:37:09 PM »
I think it checks the relative file size and subtracts 200 for whether its header or unheader. I could be completely off base though.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Graphics info
« Reply #12 on: December 14, 2014, 12:59:21 AM »
Madsiur, there are a few different banks of monster graphics. They're all pretty close together, but they are distinct if you're viewing the graphics in a program like Tile Layer. The graphical pointer is multiplied by 8 before it's actually used, so monster images cover a lot of ground. The bank that contains the summons (which is the last bank) has a couple of empty spaces - one that's big enough for a monster about 6x6 (maybe a little larger) which is just before imp, and one that is huge (big enough at least to replicate the evil wall) which is after Asura.
All of it might not be relevant, but a lot of my research on summon images will probably be useful info to you for this project:
http://slickproductions.org/forum/index.php?topic=1890.0

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Graphics info
« Reply #13 on: December 14, 2014, 07:39:07 AM »
Be aware that any kind of data relocation or ROM expansion will render your ROM horribly incompatible with FF4kster.
Let's dance!

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: Graphics info
« Reply #14 on: December 14, 2014, 09:41:56 AM »
All of it might not be relevant, but a lot of my research on summon images will probably be useful info to you for this project:
http://slickproductions.org/forum/index.php?topic=1890.0

Yes, this thread is really helpful concerning special sizes. I'm thinking if I should have a checkbox that tells if the monster is special size or not...

Also concerning these monster, I'm assuming bit 6 of the first bytes tells it is an character battle sprite? I'm unsure of the other bits of the first byte and the last two bytes....

Code: [Select]
41010080   Dragoon
44040080   Bard
46060080   Karate
40000080   D.Knight
42020080   Girl

Be aware that any kind of data relocation or ROM expansion will render your ROM horribly incompatible with FF4kster.

Well this is the last thing I want to do so I'll give up on the expansion/relocalization idea.