1.5 Elemental Spacing
#1
This is an issue with vanilla FF6; the elemental display for armor is limited to displaying 6 icons, even if there are more than that relevant to the field. This limitation is because there's not enough horizontal room to display all eight icons, the right-side ones will overwrite them, as is evident in the below screenshot; I made the Cursed Shield resist/absorb/null/weak to all eight elements, but in all of them only six display.

[Image: Fun005.png]

Now, there is a patch out there that rearranges the elemental display here to each have their own row, so that all eight icons can display. But this only avoids the underlying problem of only six icons displaying because there's not enough room for eight. Why I said "avoids the problem" is because this means that any other mod that uses the elemental icon function (like, say, a Bestiary...) can run into the same issue of lack of space.

To the point of this topic; there is a solution, if a way can be found to implement it. You'll notice that each elemental icon takes up two fixed character spaces, 8 pixels each, for a total of 16 pixels. But each icon does not take up that full space. So, if the font coding could be modified to squeeze the icons closer together, there would be room for all eight. In this edited mock-up, each icon was moved only 2 pixels to the left, and that is enough to make room for all eight. Four pixels is also doable, but really squeezes them closer together. A more elegant, though likely more difficult solution, would be to have each icon buffered by so many pixels of space, so they're all equal space apart in spite of different widths; Water, Wind, and Poison, for example, have more room to space than Earth or Holy.

[Image: Elemental-Icons.png]

So - can it be done? Can the font coding be changed to allow this? I'm putting this topic out there to raise awareness of the matter and see if anyone out there wants to take a stab at it. It's a minor thing but it would still be cool if it could be pulled off, so players won't have to include the patch to rearrange this menu if they don't want to (if a fix like this could be devised, I'd see it included the the Reynolds Bugfix Comp personally).

Alternatively, is there a way to use the "Small Font" for the icons instead of the "Big Font", so someone could make their own elemental icons in the Small Font that take up less room on the screen, and implement them?
Reply
#2
This is an interesting idea. It definitely seems to be possible but it's not completely straightforward. The reason for the wide spacing used for element symbols is that each element symbol is only loaded once into VRAM so that the same tiles can be used if an element appears more than once on the screen. The tiles are 8 pixels wide, so each symbol takes up two tiles. To squeeze them together with, say, the default horizontal spacing of 12 pixels, you would need to draw each row of symbols separately in VRAM so that two symbols can share adjacent tiles (this is how the descriptions are drawn). Eight symbols would be 96 pixels wide, so you need 24 tiles per row of symbols and 96 tiles total (1536 bytes in VRAM). The element symbols are normally pre-loaded into VRAM at $6800-$68FF when the menu is initialized, but you could put these new squeezed tiles at $6800-$6DFF without overwriting anything (VRAM $6900-$77FF is used for swdtech names in the Japanese version which shouldn't conflict with this and I'm pretty sure this region is completely unused in the English version).

The only trouble is that the squeezed graphics can't be pre-loaded during initialization. It takes a few frames to copy them into VRAM with the correct spacing, so you will need to allow for a short delay between when an item is selected and when the symbols are visible on the screen (This is the same reason why the descriptions don't display instantly when you move the cursor to a new item). I'm not sure what the best way to overcome this would be. You could progressively draw the element symbols after the item detail menu opens, similar to how descriptions are drawn. You could also just wait a few frames until the symbols are drawn before switching to the item detail menu, but this might feel a little laggy. Another idea is to start drawing the symbols immediately after the description, whether the player opens the item detail menu or not, but then they might get cut off if the player opens the item detail menu before they are fully drawn (this also happens with descriptions). All of these options would require a decent amount of asm work, which might be hard to squeeze into bank C3.

Your other idea to use 8x8 element symbols would be much simpler. That could be implemented with a relatively simple asm hack.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Creative help with changing basic elemental/cure spells? Alex Rodrick 4 5,025 05-16-2015, 12:07 PM
Last Post: Catone
  Elemental priorities and ignore damage... Tenkarider 11 10,072 01-26-2015, 03:14 AM
Last Post: Tenkarider
  FF3usME Spacing Issue Talon19892 19 18,578 06-05-2013, 01:16 AM
Last Post: Synchysi

Forum Jump:


Users browsing this thread: 1 Guest(s)