In the Super Famicom version of Final Fantasy VI, the player can rename Cyan's sword techniques from the main menu. Given that the expanded names would not fit into the area of save data memory reserved for them, this feature was removed during localization.
This patch brings the feature back into the game, by implementing a system that allows the names to be partitioned across multiple unused arrays. To create the space needed for insertion, the patch first optimizes the code for the actor
naming menu, merging elements common to both menus.
Source code is included to allow for customization.
Final Fantasy III (SNES)
SwdTech Renaming Menu Restoration
Version 1.1
Released on November 28, 2016
Last updated on December 16, 2016
By Novalia Spirit
Contact information: novaliaspirit (AIM and Hotmail)
Table of contents:
1. Description
2. Notes
3. Version history
4. Acknowledgements
5. Legal disclaimer
-------------------------------------------------------------------------------
1. Description
-------------------------------------------------------------------------------
In the Super Famicom version of Final Fantasy VI, the player can rename Cyan's
sword techniques from the main menu. Given that the expanded names would not
fit into the area of save data memory reserved for them, this feature was
removed during localization.
This patch brings the feature back into the game, by implementing a system that
allows the names to be partitioned across multiple unused arrays. To create the
space needed for insertion, the patch first optimizes the code for the actor
naming menu, merging elements common to both menus.
Source code is included to allow for customization.
-------------------------------------------------------------------------------
2. Notes
-------------------------------------------------------------------------------
Patch differences
=================
Patch 1 preserves the original, full-screen window layout. Patch 2 shrinks the
character-set window to eliminate the empty space stemming from the Latin font.
Both patches will corrupt the SwdTech names with existing save files. Instead
of restoring the names manually, consider using the patch with "reset" in its
filename. After applying this patch, load a save file directly from the Load
menu, then immediately overwrite it to fix the recorded names. Repeat with
every file. Afterward, apply either of the main patches, then reload the game.
If you decide to restore the names manually, be sure to enter all the spaces
yourself, or else the names may not be displayed properly in battle.
The patch with "sound" in its filename is optional and must be applied last.
It generates a sound effect when a SwdTech is selected for renaming purposes.
This is missing from the original code, which is likely an oversight.
Header
======
The patch requires a ROM with a header. Various tools are available on the
Internet for adding or removing a header.
Potential conflicts
===================
Note that any patch that uses the unused variables listed below will naturally
not be compatible with this patch. This includes, but may not be limited to,
HatZen08's "Guest Adder" patch.
Furthermore, be aware that Madsiur's fork of FF6LE has an option to increase
the number of treasure bits, which must be disregarded if you use this patch.
Character differences
=====================
The SFC version uses two pages of kanji characters, each of which typically
represents a word. Text characters are 2x2 tiles in size in the SFC version,
but occupy only a single tile in the SNES versions.
Name differences
================
In the SFC version, SwdTech names are composed of 6 characters instead of 12.
By default, all names start with the Japanese equivalent of "SwdTech,"
translating literally as "Deathblow Sword," and are followed by a single
character representing the skill's actual name.
Blank name
==========
No mechanism exists to prevent the player from entering a blank name.
Mistranslation
==============
The term "Charge" is admittedly a mistranslation. The SFC version employs the
Japanese equivalent, specified above, of "SwdTech." Given the gauge's length,
using "SwdTech" would look terrible. Besides, the word "Charge" is arguably
more relevant and less redundant.
Name cursor
===========
The cursor in the SFC version is placed below the SwdTech name, which lies on
the third background layer, causing the text to mask such sprites. Not only
does this look weird, it makes navigation more difficult in the SNES versions,
given the smaller characters. My patch moves the name to the first background
layer and places the cursor to the left of the highlighted character.
Font cursor
===========
In the SFC version, every time a letter is selected in the character set, the
cursor returns to the SwdTech name area. Given the shorter names and how each
character represents a word, this makes sense in a way, but definitely not in
the SNES versions, so the patch does not preserve this behavior.
Cursor-wrapping bug
===================
The actor naming menu in the SFC version has two pages of characters, so the
cursor is not allowed to wrap around vertically. The second page was removed
for the SNES release, but vertical wrapping remained disabled. The patch fixes
that, and does the same for the SwdTech renaming menu.
Centering bug
=============
There are two different spaces in the game. The first uses tile $FE and is
unremovable. The second uses tile $FF and is interpreted as a terminator in
certain situations, such as when a character's name is displayed in dialogue.
SwdTech names contain the first space type to separate words, and the second
type to terminate strings. The space that can be used to rename a SwdTech is of
the first type. This means that if "Quadra Slice" is renamed to just "Q," the
function that centers the attack name in battle will not ignore the 11 spaces.
My patch corrects this oversight by converting trailing spaces automatically.
Font modification
=================
This patch recycles the character set from the actor naming menu, but replaces
the quote character with a space. I originally intended to blank the digit "0"
instead, as it looks identical to the letter "O," but ultimately decided not to
interfere with a potential font replacement by the user. Besides, this makes
the space character easier to access, and having an opening quote without a
closing quote is grammatically senseless.
Description window
==================
The description window was expanded to allow for a second line, even though
the vanilla SwdTech descriptions are entirely limited to a single line.
Event invocation
================
The menu can be accessed from the event script, akin to the actor naming menu.
This feature is unused, but does have the side effect of forcing the player to
return to the main menu instead of the previous menu, as with a Rename Card.
Variables claimed
=================
My patch claims the following unused RAM arrays:
$1460-$147F, $14C0-$14FF, $1CF8-$1D27, $1E1D-$1E3F, $1E70-$1E7C.
Default names
=============
Here are the default SwdTech names for resetting purposes:
Dispatch Retort
Slash Quadra Slam
Empowerer Stunner
Quadra Slice Cleaver
The Japanese equivalents:
Fang Sky
Tiger Dance
Dragon Moon
Fierce Sever
The Game Boy Advance equivalents:
Fang Sky
Tiger Flurry
Dragon Eclipse
Tempest Oblivion
-------------------------------------------------------------------------------
3. Version history
-------------------------------------------------------------------------------
Version 1.1:
Fixed a mistake where I inadvertently removed, during the optimization process,
a call to the subroutine that copies event timer data to the SRAM block when
saving the game. This could result, depending on the emulator, in a countdown
timer being displayed after loading the save file, along with various related
symptoms.
-------------------------------------------------------------------------------
4. Acknowledgements
-------------------------------------------------------------------------------
Thanks to Assassin for pointing out that my alpha release conflicted with one
of his patches, and possibly a few other patches made by other hackers.
Credit goes to Madsiur for exposing the two conflict cases listed in the notes.
Leet Sketcher, for reporting the bug fixed in version 1.1.
-------------------------------------------------------------------------------
5. Legal disclaimer
-------------------------------------------------------------------------------
The contents of this document cannot be reproduced without the written consent
of the author, unless for personal purposes. Permission to distribute the files
included in the archive is granted exclusively to www.romhacking.net.
? 2016 Jame Coban. All rights reserved.
No-Intro name: Final Fantasy III (USA)
CRC32: A27F1C7A
MD5: E986575B98300F721CE27C180264D890
SHA-1: 4F37E4274AC3B2EA1BEDB08AA149D8FC5BB676E7
No-Intro name: Final Fantasy III (USA) (Rev 1)
CRC32: C0FA0464
MD5: 544311E104805E926083ACF29EC664DA
SHA-1: 057ADA1C641E3E0B3CA34E6E4F4EB1B05A87143A