Expanding Names and Renaming - Printable Version +- FF6 Hacking (https://www.ff6hacking.com/forums) +-- Forum: Hacks, Resources and Tutorials (https://www.ff6hacking.com/forums/forum-1.html) +--- Forum: Narshe School (https://www.ff6hacking.com/forums/forum-14.html) +---- Forum: Assembly / Hex (https://www.ff6hacking.com/forums/forum-25.html) +---- Thread: Expanding Names and Renaming (/thread-714.html) |
Expanding Names and Renaming - Angelo26 - 10-12-2010 [Incomplete!] I will use this thread to share information to those who wish to have a guide to hex hacking - specifically to do the task of renaming spells, esper names, attacks, lores, and items, among other things. I've always been bothered by the translation of spells, espers and everything else in the game, but it wasn't until this summer that I decided to learn hex myself and start doing these changes after seeing metroidquest's hack "the eternal crystals". Though I'm far from finished, I believe people should have easy access to this data. Helpful information: --Final Fantasy 6 Banks (Some information as of the location of the data you need is located here: ) http://slickproductions.org/docs.php?id=FF6 Before I start, please keep the following detail in mind: 1- If you wish to edit something IN BATTLE, then you'd best look for the disassembly banks "C1" and "C2", as the battle data is contained in these files. 2 - If you wish to edit something in the MENUS, then look for the disassembly bank "C3". This means that the game is accessing data for battles and menus from one address. 1 - Magic Spells in the game In Menu: C3/4FA1: A20300 LDX #$0003 (X position of left half of spells) C3/4FAC: A21000 LDX #$0010 (X position of right half of spells) C3/4FB5: A00700 LDY #$0007 (spell letter length) C3/4FBA: A067F5 LDY #$F567 (spell name address) C3/4FBF: A9E6 LDA #$E6 (spell name bank) C3/5052: A2929E LDX #$9E92 (position of spell progress) C3/5AF9: A2929E LDX #$9E92 (space between spell name and ':') C3/87CB: AE3421 LDX $2134 In Battle: C1/601A: A907 LDA #$07 (7 = spell name length) C1/6031: BF68F5E6 LDA $E6F568,X (Load Spell name X) C1/65E8: A907 LDA #$07 (from C1/65AA)(7 = spell name length) C1/65F3: BF67F5E6 LDA $E6F567,X (Load Spell name X) C1/6B1D: A907 LDA #$07 C1/6B2E: BF67F5E6 LDA $E6F567,X (Load spell name X) In simpler words, the "address" E6 F5 67 contains the spell names in the ROM (that is, using the HIROM notation). Spells are limited to 7 characters, including the icon that specifies whether it's a healing, attack or support spell. So if you'd like to expand the spell names in battle, for example, to 10 characters, you would need to replace the "07" bytes in the C1 bank (addresses C1/601A, C1/65E8 and C1/6B1D) to "0A". When increasing the number of characters from 7 to 10 in the example, you will run into a problem: you will see that to successfully rename the spells you will need to overwrite some data from other parts of the game, which will in turn screw up your ROM. You will need to make some space in your ROM to create the new spell names. That is where the addresses C1/6031 , C1/65F3 , and C1/6B2E come into play. When you create the new spell names, you will need to "tell the ROM" to "look for the new spell names" in the address you've created them. If the spell data is created at "F0 11 03", then I would need to change the three locations above mentioned from the old address to "F0 11 03". 2 - Lore Names: In Menu: C3/525D: A20300 LDX #$0003 (Starting position of Lore list in menu) C3/5266: A00A00 LDY #$000A (lore name length) C3/526B: A0FDF9 LDY #$F9FD (lore name address) C3/5270: A9E6 LDA #$E6 (lore name bank) C3/5295: A2959E LDX #$9E95 (position of ... in lore menu) C3/5C91: B7818BA8AB9E00 (position of and word "Lore") In Battle: C1/6665: A90A LDA #$0A (from C1/665E)(10 = lore name length) C1/6670: BFFDF9E6 LDA $E6F9FD,X (Load Lore name X) Lore Names are 10 characters long (both in battle and in the menu). You will need to create the new lore names in a new address and tell the rom to look for the new names. 3 -Esper Names: In MENU: C3/34F4: A00800 LDY #$0008 (esper name length) C3/34F7: BFE1F6E6 LDA $E6F6E1,X (Load Esper name) C3/34F0: 0A ASL A C3/34F1: 0A ASL A C3/34F2: 0A ASL A C3/3508: A00800 LDY #$0008 C3/54E6: A20300 LDX #$0003 (X position of left half of espers) C3/54F1: A21100 LDX #$0011 (X position of right half of espers) C3/54FA: A00800 LDY #$0008 (esper name length) C3/54FF: A0E1F6 LDY #$F6E1 (esper name address) C3/5504: A9E6 LDA #$E6 (esper name bank) C3/5539: A2939E LDX #$9E93 C3/555D: A00C00 LDY #$000C (esper name is 8 letters, 1 for space, 3 more for MP cost) C3/59BD: 0A ASL A C3/59BE: 0A ASL A C3/59BF: 0A ASL A C3/59C0: AA TAX C3/59C1: A00800 LDY #$0008 (Indirectly says below is 8 chars long) C3/59C4: BFE1F6E6 LDA $E6F6E1,X (Load Esper X's name) In BATTLE: C1/5FF3: A908 LDA #$08 (8 = Esper name length) C1/6007: BFE1F6E6 LDA $E6F6E1,X (Load Esper name X) C1/65D0: A908 LDA #$08 (8 = Esper name length) C1/65DB: BFE1F6E6 LDA $E6F6E1,X (Load Esper name X) C1/668D: A908 LDA #$08 (from C1/6686)(Sets name length?) C1/6698: BFE1F6E6 LDA $E6F6E1,X (Loads Esper name X) C2/E091: 04 03 TSB $03 (Change the 04 bit) For esper names, the easy part comes in editing the names in battle. 4- Item Names In Menu: C3/2714: A90D LDA #$0D (13 = item name length) C3/271F: BF00B3D2 LDA $D2B300,X (Get letter at D2B300 + (index * 13) of item name) C3/80D4: A90D LDA #$0D C3/80DF: A00D00 LDY #$000D (Start the count of letters at 13) C3/80E2: BF00B3D2 LDA $D2B300,X (Load letter X of item name) C3/85BC: BF348DC3 LDA $C38D34,X (grab " can be used by:") C3/85C7: C01100 CPY #$0011 (length of " can be used by:" ??) C3/85CE: E00D00 CPX #$000D (at most, uses the full item name length before putting in "can be used by:") C3/900D: A00D00 LDY #$000D C3/9010: BF00B3D2 LDA $D2B300,X (load item X name) C3/901F: A00D00 LDY #$000D (item name length) C3/9D3D: A00D00 LDY #$000D (in equip screen, when manually equipping) C3/9D40: BF00B3D2 LDA $D2B300,X (item name) C3/9D4F: A00D00 LDY #$000D (write 13 blank spaces) C3/C07D: A90D LDA #$0D C3/C088: A00D00 LDY #$000D (item name length in shops) C3/C08B: BF00B3D2 LDA $D2B300,X (item name) C3/80ED: A9C1 LDA #$C1 (colon in the font) C3/80F6: A01000 LDY #$0010 (blank out item name, colon, and quantity) C3/93FF: A21B7A LDX #$7A1B (position of the R-hand slot) C3/9411: A29B7A LDX #$7A9B (position of the L-hand slot) C3/9451: A21B7B LDX #$7B1B (accessory, slot 1) C3/945F: A29B7B LDX #$7B9B (accessory, slot 2) In Battle: C1/6052: A90D LDA #$0D (13 = item name length) C1/6069: BF01B3D2 LDA $D2B301,X (Load item name X) C1/6527: A90D LDA #$0D (13 = item name length) C1/6530: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/653D: A907 LDA #$07 C1/654B: BF006FD2 LDA $D26F00,X (Loads Weapon/Armor type word X) C1/6561: A90D LDA #$0D C1/6568: A90D LDA #$0D C1/6574: A90D LDA #$0D (13 = item name length) C1/6578: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/6A47: A90D LDA #$0D (13 = item name length) C1/6A58: BF00B3D2 LDA $D2B300,X (Loads Item name X) C1/6A91: A90D LDA #$0D (13 = item name length) C1/6AA2: BF00B3D2 LDA $D2B300,X (Loads Item name X) RE: Hex Hacking - Names - SSJ Rick - 10-12-2010 hey I've been meaning to tell u, I spoke with Lord J about your findings and if u are able to finish (char names, spell names, esper names etc.) he is going to make his new editor compatible with those changes, as well as apply a patch within his editor to add these changes as well (he will obviously give u the credit seeing as how I gave him your name lolz) RE: Hex Hacking - Names - Angelo26 - 10-12-2010 My progress is: Spell Names - 100% Menu, 100% Battle Esper Names - 80% Menu, 95% Battle - Problems in displaying correct esper names in menu and status window. In battle, found a glitch for MP display after the esper's name. Esper Attack Names - 100% Battle Dance - 100% Battle, 100% Menu Magitek Attacks - 100% Battle Lore Names - 100% Battle, 100% Menu Item Names - 95% Battle, 0% Menu - There's a glitch in battle that omits the first three letters of a weapon and I'm not sure how to fix. This distorts the Tools names as well. Enemy Attacks - 100% Battle But thanks a lot for doing that first step! Maybe I can contact Lord J now, but you must get some credit as well as you went ahead and told him about the improvements I'm working on. I wasn't thinking about editing the character's names, mainly because I doubt they will fit in battle (they may go out of the borders). That may cause problems in the menu (main window and status window) as well. I may give it a try sometime (maybe that way we can play as "orthros"). RE: Hex Hacking - Names - SSJ Rick - 10-13-2010 actually the minimum letters 4 a character's name without it going over the menu is 8 or 9 (I think 9 but some1 else said 8) but it can be fixed, Metroid Quest and the Pandora's Box team know how to go about it but there is nothing wrong with sending them a PM and showing them what u got MQ however does not seem to like to share his knowledge like that (I could be wrong but I just haven't seen it like that) RE: Hex Hacking - Names - Angelo26 - 10-14-2010 Heh, I agree that MQ does not reveal his findings at all. He will only hints to what you should do next, but finding the data is up to you. RE: Hex Hacking - Names - Angelo26 - 11-09-2010 Poco, I wonder if you could move this thread to hex editing? I lost the file where I documented all the findings and i for sure don't wanna lose this thread RE: Hex Hacking - Names - SSJ Rick - 11-09-2010 np man consider it moved, srry that u guys cant post it up there yet, the site is under construction RE: Hex Hacking - Names - Angelo26 - 11-09-2010 Thanks Thanks bro RE: Hex Hacking - Names - SSJ Rick - 11-09-2010 np man :p RE: Hex Hacking - Names - Angelo26 - 12-15-2010 (10-13-2010, 10:46 AM)Poco Loco Wrote: actually the minimum letters 4 a character's name without it going over the menu is 8 or 9 (I think 9 but some1 else said 8) I saw that on Pandora's Box the actor names are up to 8-9 letters long: http://www.youtube.com/watch?v=HYIUWCKGe84&feature=related But in battle the names are cut off to 6 letters: http://www.youtube.com/watch?v=lY7qfHaH_Hc That should be interesting, I'll take a look at it in these days. Poco, for the summon command in the improvement patch, if you go to the address C2/4E49 00 and replace 00 by 02 you'll fix the aiming problems with the summon command (and it works properly). The only problem is that the command is enabled even when you have no espers equipped, I'm taking a second look at the fix lenophis made to make it compatible with the improvement patch. |