I made an editor for FFTA2 that reads and rebuilds the internal filesystem instead of using fixed offsets. It can do everything that currently existing editors can do (as far as I know) + more. However the saved rom is not compatible with any other editors because all the known data offsets will change after editing. Manually editing with a hex editor is possible if you can find the new offsets.
Setup instructions and known issues can be found here:
FFTA2 Editor (https://github.com/Rurusachi/ffta2-editor)
Current version: v1.3.7
Features:
- Abilities
- Ability Sets
- Jobs. Including Requirements and Groups(jobs that share ability sets)
- Equipment
- Special Characters
- Unit Formations
- Quests
- Bazaar
- Auctions
- Sprites (Battle sprites, Portraits, Top Screen sprites)
- Text (all except text in images?)
Changelog:
v1.3.7 (2025/07/17):
Features:
- Now shows a warning when loading text containing unknown characters.
Fixes:
- Ability Sets were read as 2-byte instead of 1-byte values for Jobs and Formation Units. This was a minor bug since the 2nd byte is unused (in vanilla at least)
v1.3.6 (2025/07/14):
Features:
- Now fixes invalid Ability Set references on load and shows a warning.
- Now uses temporary folders when loading roms.
v1.3.5 (2025/06/25):
Fixes:
- Fixed the editor failing to launch if the config file didn't exist.
v1.3.4 (2025/06/22):
Features:
- Now remembers last import/export path.
- Saves remembered paths to config file more often. Previously only saved when closing the editor successfully.
- Renamed Job Property "Bit 7" to "Cannot use normal Attack".
- Changed Movable Places to a dropdown.
Fixes:
- Fixed some incorrect file handling.
v1.3.3 (2025/06/01):
Fixes:
- Now uses significantly less memory when saving (by calculating the final size instead of allocating ~750 mb). This might fix the editor never finishing saving on some systems.
v1.3.2 (2025/05/13):
As of this update text encoding/decoding and line height calculations should finally be correct.
A new menu at the top named Fixes contains a fix that resets all text affected by the encoding bug to vanilla.
Features:
- Added field for Ability help text
Fixes:
- Fixed Ability help text being saved incorrectly (index was cast to Byte instead of Short). Bugged values will reset to vanilla when loaded.
- Fixed the Auction Prize tables overwriting the Grand Auction Prize tables when saving. Bugged tables will reset to vanilla when loaded.
- Fixed 2 sets of characters being decoded to the same character, replacing all instances of one with the other:
- An apostrophe-like character (now decoded as "`" ) was being replaced by a normal apostrophe.
- "*" was being replaced by a long dash (now decoded as "ー").
v1.3.1 (2025/04/29):
Features:
- Added a Disable Sequencer and Peytral Stat Growth patch.
- Updated the Signed Equipment Stats patch to prevent negative stats. If already applied simply toggle it off and on to apply the updated version
v1.3.0 (2025/04/26):
Features:
- Added autocomplete to most ComboBoxes (dropdown fields).
- Formations are now named after the quest they are used in. Formation 0 is a special case as it is used for recruitable units and starting units.
- Added a new Save button that saves to the most recent opened/saved rom.
- Added copy/paste for abilities. This copies all data except name and description from one ability to another including animations.
- Added a Signed Equipment Stats patch. This changes the range for Equipment stats from [0, 255] to [-128, 127]. If enabled you should set Sequencer/Peytral's Attack/Defense to no higher than 27, otherwise they may overflow when fully stacked.
- Added a Starting MP patch that sets unit's starting mp to max.
- Added a Max Level patch that sets the max level for all units.
- Added an MP Gain Per Turn patch that changes mp gained per turn to a flat value + %max mp.
Fixes:
- The "Required Job" fields in Job Requirement now refer to Ability Sets instead of Job Groups. This bug is unlikely to have affected anyone as they are equivalent for all existing jobs except for Sky Pirate, Dancer, Heritor, Agent, and Nightshade. If any of those jobs _or_ any newly created jobs were set as required for other jobs then they will need to be set again.
v1.2.3 (2025/04/19):
Features:
- Updated Ability Animation fields and Ability Set Ability fields.
- Added logging when loading and saving.
- The file explorer now defaults to the path of the last loaded/saved rom or the current directory.
v1.2.2 (2025/04/16):
Features:
- Now displays editor version in title.
- Renamed the PRIME1 and PRIME2 ability effects to PRIME_CANNONEER and PRIME_FLINTLOCK.
Fixes:
- Fixed a signed conversion bug that affected ability Weapon Requirements.
v1.2.1 (2025/04/15):
Features:
- Added description field for Ability Sets.
- Better error messages when failing to save.
- Renamed some text tables (mainly removing question marks).
Fixes:
- Fixed wrong default strings for some descriptions (mainly new AbilitySets) that would cause an error when saving.
v1.2.0 (2025/04/14):
Fixes:
- Added missing Ability targets, effect, accuracy, and modifier values.
- Fixed Weapon Requirement bug that caused some values to disappear.
- Important: Any rom saved with a previous version of the editor is affected by these bugs. Either start over from a clean rom or follow the manual fix found here (https://github.com/Rurusachi/ffta2-editor/releases/tag/v1.2.0).
v1.1.3 (2025/04/13):
Fixes:
- The ability flags Caught by Sticky Fingers and Activates Absorb MP were switched around.
v1.1.2 (2025/04/12):
Fixes:
- Fixed a memory issue. Now allocates less memory when saving.
v1.1.1 (2025/04/11):
Fixes:
- Job Requirements were referring to Jobs instead of Job Groups.
v1.1.0 (2025/04/08):
- Initial release posted here
Included optional patches:
- Animation Fix. Ports weapon animations to all playable units (including Al-Cid). Also removes hard-coded limitations from Agent's Ability Set.
- Expanded Top Sprite Index Limit. Expands the max amount of Top Screen Sprites from 255 to 65535. Required if more are added.
- Signed Equipment Stats patch. This changes the range for Equipment stats from [0, 255] to [-128, 127]. If enabled you should set Sequencer/Peytral's Attack/Defense to no higher than 27 or apply the Disable Sequencer and Peytral Stat Growth patch.
- Disable Sequencer and Peytral Stat Growth patch.
- Starting MP patch that sets unit's starting mp to max.
- Max Level patch that sets the max level for all units.
- MP Gain Per Turn patch that changes mp gained per turn to a flat value + %max mp.
I just released v1.2.0 which fixes a bug that affects any rom saved with a previous version of the editor. To fix affected roms either start over from a clean rom or follow the manual fix found here (https://github.com/Rurusachi/ffta2-editor/releases/tag/v1.2.0).
Amazing, thanks a lot man
That's impressive. Your editors is pretty solid alright!
Just asking a question: It is possible to add an option to set the level cap? Like making all units (both yours and the enemy) to reach max level 50?
Quote from: Emin3ms on April 16, 2025, 03:33:13 pmAmazing, thanks a lot man
Thank you :)
Quote from: Saul-G on April 17, 2025, 03:07:30 amThat's impressive. Your editors is pretty solid alright!
Just asking a question: It is possible to add an option to set the level cap? Like making all units (both yours and the enemy) to reach max level 50?
Thanks :)
I can look into it. I've seen a post mentioning how to do that somewhere.
I'd like to know more about how you managed to make this editor. Have you been able to identify parts of the source code in assembly ?
There is this feature I've spent a lot of time trying to implement but no success, it's the possibility to have negative stats on equipment. Do you think it's possible ?
Quote from: Emin3ms on April 19, 2025, 06:32:36 amI'd like to know more about how you managed to make this editor. Have you been able to identify parts of the source code in assembly ?
A while ago I found a text editor that had been built to translate the game. I looked at the code and realized it was unpacking and rebuilding the internal filesystem. This gave me the idea to build an all-purpose editor that does the same instead of using known fixed offsets. I built the editor by studying the code of this translation tool and reverse engineering the game with Ghidra. I've used Ghidra to map out a lot of the game's code at this point.
Quote from: Emin3ms on April 19, 2025, 06:32:36 amThere is this feature I've spent a lot of time trying to implement but no success, it's the possibility to have negative stats on equipment. Do you think it's possible ?
That should be possible. I looked into it and it seems to mainly be a matter of changing some instructions to load the stats as signed values instead of unsigned. The slightly more complex part is changing the calls to display equipment stat as signed values but it's doable. I've attached some screenshots with a working implementation for the attack stat only. I'll add this as a patch in the editor at some point :)
This editor is able to make it so that Al-Cid can change job? Instant 10/10 in my book.
Some questions, do you have plans to add features to edit:
1. your clan member's stats?
2. abilities, such as changing Charged Attack's 8 attack value into 40 and increasing Regen's health regeneration value?
3. MP regeneration rate, like say, 15 instead of 10?
Quote from: vangstampede on April 20, 2025, 04:09:17 am1. your clan member's stats?
If you mean the starting clan members they are in Formation 0. Formation 0 contains all the recruitable units. Any unit with Faction set to 8 will be a starting clan member.
Quote from: vangstampede on April 20, 2025, 04:09:17 am2. abilities, such as changing Charged Attack's 8 attack value into 40 and increasing Regen's health regeneration value?
3. MP regeneration rate, like say, 15 instead of 10?
These values are defined in the battle scripts which I haven't fully understood yet. I have found the mp per turn part of the script and made a proof-of-concept flat + %max mp per turn mod. I just need to implement it in the editor. I haven't found any other values in there yet but eventually yes
Damn bro you are such an unexpected hope 🤣
When i wrote the issue about yaml tasks/playbook I didn't see that you already have a Patch section in the editor, so another option could be to have a list of patches available like it is currently in the editor, with a little form if needed to adjust some values. Problem is that if you stop being active on this project there won't be new patches ^^
When it comes to edit assembly code it's difficult without known parts so anyway I wouldn't know how to create a patch !
My 2nd big change that i wanted to make is to gain % of max mana per turn instead of flat. We know the location of the flat values but then I haven't found the function that uses them.
Quote from: Emin3ms on April 20, 2025, 06:08:09 amWhen i wrote the issue about yaml tasks/playbook I didn't see that you already have a Patch section in the editor, so another option could be to have a list of patches available like it is currently in the editor, with a little form if needed to adjust some values. Problem is that if you stop being active on this project there won't be new patches ^^
When it comes to edit assembly code it's difficult without known parts so anyway I wouldn't know how to create a patch !
It's open source so anyone can contribute if they want to ;).
I do also plan to include an import/export function for the internal files. That way they can be modified outside of the editor if you know what you're doing.
But having a format for defining external patches is a good idea I'll write that down.
Quote from: Emin3ms on April 20, 2025, 06:08:09 amMy 2nd big change that i wanted to make is to gain % of max mana per turn instead of flat. We know the location of the flat values but then I haven't found the function that uses them.
Already on the way (mentioned one post above you) :).
I can explain it a bit more. The flat values you're talking about are inside one of the battle scripts ("battle/btlprocess.sbn" to be specific). The battle scripts are written in their own scripting language. So the values are actually part of a "push to stack" call in the script. That part of the script is roughly:
- ...
- Push unit index(?)
- Pop as unit pointer and write to memory-1
- Call getUnitCurrentMp(currentUnit)
- Push call result
- Push 0xA (the flat value you're talking about)
- Stack Addition (push(pop + pop))
- ...
This is slightly simplified and eventually after this it calls setUnitCurrentMp with the new value. There's some more calls in there to manage the stack and memory. I'm also not 100% sure how it gets the unit pointer. I wrote a hook in the scripting language that also gets the max mp, divides by 10, and adds it to the value. I just need to implement it as a patch in the editor with customizable values.
Wonderful, how have you been to extract scripts ? With ghidra ?
Quote from: Emin3ms on April 20, 2025, 07:47:56 amWonderful, how have you been to extract scripts ? With ghidra ?
I found the filenames in the code with Ghidra. The internal filesystem is basically a hashtable so it doesn't store the filenames.
I currently use a python script to extract files but the editor can also do it, I just haven't made the UI for it. The editor already extracts the files to memory for editing (That
is the core idea of the editor after all), I just have to make the UI for selecting which files to extract.
Quote from: Rurusachi on April 20, 2025, 05:51:37 amIf you mean the starting clan members they are in Formation 0. Formation 0 contains all the recruitable units. Any unit with Faction set to 8 will be a starting clan member.
Not that, I meant editing the stats of all the characters I currently have recruited as clan members. Like, suppose that I accidentally level up Luso as Soldier instead of Paladin. I wanna edit Luso so that Luso stays on the same level but his stat is adjusted as if he just leveled up as Paladin instead of Soldier.
Quote from: Rurusachi on April 20, 2025, 05:51:37 amThese values are defined in the battle scripts which I haven't fully understood yet. I have found the mp per turn part of the script and made a proof-of-concept flat + %max mp per turn mod. I just need to implement it in the editor. I haven't found any other values in there yet but eventually yes
Looking forward to that! I've always thought that it's messed up how Doublehand and Charged Attack only give 8 extra attacks lol
Quote from: vangstampede on April 20, 2025, 06:19:04 pmNot that, I meant editing the stats of all the characters I currently have recruited as clan members. Like, suppose that I accidentally level up Luso as Soldier instead of Paladin. I wanna edit Luso so that Luso stays on the same level but his stat is adjusted as if he just leveled up as Paladin instead of Soldier.
Oh this editor is only for editing the rom. It's not for save or memory editing. That's completely different.
Quote from: vangstampede on April 20, 2025, 06:19:04 pmLooking forward to that! I've always thought that it's messed up how Doublehand and Charged Attack only give 8 extra attacks lol
Yeah that's ridiculous lol. I'll find the values eventually so they can be fixed.
Quote from: Rurusachi on April 21, 2025, 09:26:42 amOh this editor is only for editing the rom. It's not for save or memory editing. That's completely different.
Oh, I see. I legit didn't know that, thanks.
Amazing work, from time to time I still play around with A2 but never have the time to finish anything. This will hopefully help me get things back on track.
A question that has bothered me ever since the game release is that Nu Mou and Moogle can't enter water and changing their jobs to allow them too crashes the game. Would the animation fix patch fix this or is there something else that can be changed to make them work? Also if I understand correctly the animation patch would enable any race to use any weapon? Like spear wielding Viera o Nu Mou using braces?
Quote from: GasT87 on April 28, 2025, 10:53:25 amA question that has bothered me ever since the game release is that Nu Mou and Moogle can't enter water and changing their jobs to allow them too crashes the game. Would the animation fix patch fix this or is there something else that can be changed to make them work?
The problem here is probably that they don't have an alternate sprite set for being in water. It should be possible to add in-water sprites for them. Though since the editor doesn't support animation editing you'd have to copy the in-water unit sprites from a race that already has all the animations Moogle/Nu Mou need.
Quote from: GasT87 on April 28, 2025, 10:53:25 amAlso if I understand correctly the animation patch would enable any race to use any weapon? Like spear wielding Viera o Nu Mou using braces?
Yes
Nice nice nice nice nice nice...
These improvements on your editor are quite impressive after a few weeks. Thanks to implementing the level cap, btw.
What more can be done to improve the editor? Maybe adding a flag for monster abilities than can be learn by blue mages? Would that be hardcoded?
What about modifying the unit list that can join your clan on these events? Whould be possible for monsters to join the clan that way?
Sorry if this is read like it that can be easily added upon. Thanks for your fine work.
Are item slots used for grenades usable to create new items or they have something special hardcoded ? Same question for possibility of reordering the items
Quote from: Saul-G on April 29, 2025, 11:55:48 pmWhat more can be done to improve the editor? Maybe adding a flag for monster abilities than can be learn by blue mages? Would that be hardcoded?
Each ability has a field for what ability can be learned from it. Each Blue Magic ability has a Blue Mage version and a monster version. The monster version has the field set to the Blue Mage version (there is also a flag that is automatically handled by the editor).
Quote from: Saul-G on April 29, 2025, 11:55:48 pmWhat about modifying the unit list that can join your clan on these events? Whould be possible for monsters to join the clan that way?
Formation 0 contains all the recruitable units. Any event where a unit joins the clan uses it. But I haven't figured out enough about the event scripts to modify them properly yet.
Having monsters join would probably work to some degree. But I don't think they have all the animations needed. I can look into that at some point, but probably not anytime soon as a lot of other things would need to be figured out first anyway.
Quote from: Emin3ms on April 30, 2025, 03:47:49 pmAre item slots used for grenades usable to create new items or they have something special hardcoded ? Same question for possibility of reordering the items
I don't think anything about the grenades is hardcoded. There are some items that have hardcoded effects though such as Mirror Mail and Angel Ring (and Peytral and Sequencer but there's a patch for those). There might be others, those are just the ones I know of.
It's generally not a good idea to try to reorder things because they might also be referenced in data that can't be edited properly yet (like event and battle scripts).
More questions and requests :
- is there a way to add reaction, support, and opportunity abilities to the editor ? AP values and linked action ability ?
- what about traps, can we edit effects the same way we do for regular abilities ?
- the items given by Judges when law has been respected seem to be always the same, how can this be edited ?
- can you make dropdown menus to unit's loot tables in the formation editor, instead of a number which we don't know what it means ?
- how to change which classes are valid for quests such as "Wanted: Sidekick" (0x113) ?
- how to edit the required clan title for recruiting some classes ?
- do you know where is the formula that calculates hit or miss ? because in this game 75% feels like 50%
- AP slots is quite a confusing thing, can we use any value or only those that originally exist in the game ?
Thanks a lot for your help :)
Quote from: Emin3ms on May 03, 2025, 11:26:39 amMore questions and requests :
- is there a way to add reaction, support, and opportunity abilities to the editor ? AP values and linked action ability ?
- what about traps, can we edit effects the same way we do for regular abilities ?
- the items given by Judges when law has been respected seem to be always the same, how can this be edited ?
- can you make dropdown menus to unit's loot tables in the formation editor, instead of a number which we don't know what it means ?
- how to change which classes are valid for quests such as "Wanted: Sidekick" (0x113) ?
- how to edit the required clan title for recruiting some classes ?
- do you know where is the formula that calculates hit or miss ? because in this game 75% feels like 50%
- AP slots is quite a confusing thing, can we use any value or only those that originally exist in the game ?
Thanks a lot for your help :)
- Mostly no. Reaction and Support abilities are partially hardcoded. The effects are most likely coded in the battle scripts. The only thing that can be easily changed is how much AP they require and which AP slot they use. I'll add that to the editor at some point
- I haven't found anything related to traps yet.
- I've found the law bonuses and I'll add them at some point. It seems to be a fixed sequence for each law bonus "slot".
- I'll make them dropdowns when I add a tab for editing the loot tables
- There's still a lot of unknown bytes for quests. I haven't figured out much about dispatches yet.
- No idea. Recruiting units happens in event scripts which aren't easily edited yet.
- Pretty much anything battle related is in the battle scripts. It's gonna be a while before that can be changed
- Each Race has 200 AP slots. Reaction and Support Abilities are hardcoded to use the same slot for all Races. Active Abilities can use different slots for up to 6 races. This also means that each Active Ability can only be learned by 6 different races. Each slot corresponds to a byte in the unit's data holding the current AP value for that ability. So if multiple Abilities use the same slot they will have the same current AP value. This means that each Race can only learn 200 different Abilities, including Reaction and Support abilities. The only way to exceed this limit is to put multiple abilities in the same slot which means that they will share AP values (This may have side-effects if they don't have the same Max AP)
Thanks for the editor, though I have some questions:
1. Is it possible to make a patch that allows a Beastmaster's controlled monster to use the Move command?
2. There's a patch that enables level scaling somewhere, hopefully you could implement that into your editor.
Quote from: apoc_now on May 09, 2025, 10:08:27 pmThanks for the editor, though I have some questions:
1. Is it possible to make a patch that allows a Beastmaster's controlled monster to use the Move command?
2. There's a patch that enables level scaling somewhere, hopefully you could implement that into your editor.
- Maybe? I'm not sure how those abilities work but I can look into it at some point. It might require modifying the battle scripts
- I believe the level scaling patch just sets the min and max levels of all units in each formation to 1-99. This can already be done with the editor but you'd have to do it manually for each unit. I could add a way to do it automatically
Do you think you would be able to make a generalized no-music patch? It's always kinda bugged me that I can't play this game with the music muted. The OST is great, but I've heard each song for dozens of hours (literally) over the years and I can't listen to it every time I replay it anymore hahaha. I just mute the game, but the sound effects are great and I miss getting to hear them (aside from maybe the menu stuff; attacks, spells, etc. I've never gotten sick of though haha).
If such a thing already exists, or I'm just super oblivious and such an option already exists in game I apologize! If it doesn't though I would tremendously appreciate it if you are able to! :)
Thanks for your work here in general regardless! I'm looking forwards to seeing what comes from the increased flexibility that rom hack makers will have in the future due to the efforts of you and your predecessors in the editor space :) I've seen mention of shrike saying that nu mou bows are possible now! Stuff like that is awesome!
(Btw, if a forum moderator reads this, the verification questions, asking for trivia from the original final fantasy tactics game (which I have not played and thus have no intuition for to be able to answer the question) took 1/3-1/2 as long as writing this message did! I hope it is made more lenient/less specific in the future!)
Holy cow this is amazing! You should absolutely submit this to other sites like romhack.ing and romhacking.net, I'm sure many unaware of these tools could be lured!
Quote from: SuperiorDonut on May 18, 2025, 02:52:44 am(Btw, if a forum moderator reads this, the verification questions, asking for trivia from the original final fantasy tactics game (which I have not played and thus have no intuition for to be able to answer the question) took 1/3-1/2 as long as writing this message did! I hope it is made more lenient/less specific in the future!)
You're not wrong, it's a super archaic filter. I struggled A LOT trying to make an account (And even joined and searched keywords on the Discord to find answers). They should definitely make it simpler, for it is aggresively unintendedly gatekeeping.
Hopefully they do read this, 'cause I don't see where else to post it (Don't see a forum board for suggestions or w/e).
This is incredible! Thank you so much for your amazing work.
The first FFTA game has always been my favourite of the two games, do you have any experience creating resources for the GBA game, I would love to see a new all in one editing tool for the first game, I feel if anyone can create it, you can :)
Keep up the brilliant work!
I've been curious for some time now about this editor Rurusachi, is there any way to implement the following below to the editor to make it possible for Players to mess with?
Mechanics that might be implemented?- HP and MP being able to be added/reduced onto equipment pieces: there's been a few games that i've played that made me interested in this and hoping to see it in this FFTA2 editor
- Clan Privileges being able to be adjusted, removed, and or made into Clan Passives instead?
- Able to add more quests into the game above the Vanilla's 300 quests? I've been wondering about this since in the quest menu there's a lot of empty spots that could've been made for more quests.
So far the Editor has been amazing and has done it's job for a lot of stuff that i've been able to previously do and some extra, love the work you've done for this Editor, it's been a great asset for the FFTA2 Modding scene and i'm hoping in the future it continues to get some extra QOL stuff.
i try to save by click on save as and then stuck on saving please wait does it take long to save or not?
please help me with save it stuck on saving. please waiting it took a long time
Quote from: SuperiorDonut on May 18, 2025, 02:52:44 amDo you think you would be able to make a generalized no-music patch?
I don't know how the music and sound works but I can look into it at some point.
Quote from: blaide on May 21, 2025, 12:18:40 pmThe first FFTA game has always been my favourite of the two games, do you have any experience creating resources for the GBA game, I would love to see a new all in one editing tool for the first game, I feel if anyone can create it, you can :)
I've done some modding for FFTA but I don't think there's any point in making a new tool for it. The reason I created this tool is that it works in a different way than the other FFTA2 tools (rebuilding the game's filesystem). I also alredy don't have time for all the projects I want to work on.
Quote from: Zeke_Aileron on May 23, 2025, 08:25:05 amI've been curious for some time now about this editor Rurusachi, is there any way to implement the following below to the editor to make it possible for Players to mess with?
Mechanics that might be implemented?
- HP and MP being able to be added/reduced onto equipment pieces: there's been a few games that i've played that made me interested in this and hoping to see it in this FFTA2 editor
- Clan Privileges being able to be adjusted, removed, and or made into Clan Passives instead?
- Able to add more quests into the game above the Vanilla's 300 quests? I've been wondering about this since in the quest menu there's a lot of empty spots that could've been made for more quests.
- I believe there are some unused bytes on equipment so this should be possible but will require some work.
- Clan Privileges are mainly implemented in the battle scripts I believe. So probably doable whenever we can decompile and recompile those.
- There are a lot of data structures kept in memory related to quests so I don't think it's feasible to add more. But there are actually 512 "quests" because of how multi-part/battle quests work, so you could probably make some room by changing/removing some of those.
Quote from: maroon on May 27, 2025, 12:05:54 pmi try to save by click on save as and then stuck on saving please wait does it take long to save or not?
I'm not sure what the problem could be. Please send me the log file so I can take a look.
Quote from: Rurusachi on May 28, 2025, 08:56:08 am- I believe there are some unused bytes on equipment so this should be possible but will require some work.
- Clan Privileges are mainly implemented in the battle scripts I believe. So probably doable whenever we can decompile and recompile those.
- There are a lot of data structures kept in memory related to quests so I don't think it's feasible to add more. But there are actually 512 "quests" because of how multi-part/battle quests work, so you could probably make some room by changing/removing some of those.
- Ah okay, i would really like to see them being a thing since they are stats that the player and enemies can mess around with as well
- Clan Privileges tend to break alot of battles with how overpowered some of them are and most of them tend to get overshadowed because of their niche use or just useless overall.
here
here another the one
do you know the number of faction in formation is?
Quote from: maroon on May 29, 2025, 08:25:48 pmhere another the one
Thank you. It might've been a memory issue. Someone else had a similar issue on an earlier version that was fixed when I reduced the amount of memory used when saving. I just released an update (v1.3.3) that reduces the memory usage significantly (I was allocating way more than necessary). Let me know if that fixes the issue.
Quote from: maroon on May 29, 2025, 11:41:25 pmdo you know the number of faction in formation is?
- 0: enemy
- 1: boss enemy? It's used for Illua, Klesta, Neukhia, etc. but I haven't tested it
- 2: guest
- 8: starting unit (only works in formation 0: Recruitable Units. These units will be in the clan at the start of the game)
I've also seen 4, 5, 6, and 18 but I have no idea what they mean.
it is possible for hume race can learn ability for other race like nu mou for example seer learn esunaga
or nu mou learn goblin attack for beastmaster how can do that
can anyone tell me in menu routine mix what can do anything?
Its a new era of possibilities. Thank you Ruru!
how can i change text in image?
Quote from: maroon on June 13, 2025, 04:48:25 amhow can i change text in image?
From what i know, there currently is no way to do that in the Editor, in another older editor you can do so with the help of Crystaltile and such, but since this editor changes everything from the base vanilla game's code, i'm not sure if the image displays would be in the same places as in the crystaltile.
can anyone figure out the problem
Quote from: maroon on June 03, 2025, 06:46:56 amit is possible for hume race can learn ability for other race like nu mou for example seer learn esunaga
or nu mou learn goblin attack for beastmaster how can do that
For an ability to be learnable:
- The Ability must be assigned an AP slot for the unit's race (see 1st attached image)
- The Ability must be in the Job's Ability Set (see 2nd attached image)
Afaik there is no specific limit on abilities per Job. But races only have 200 AP slots each. This is mainly a problem for Hume which only has 1 unused slot in Vanilla. If you want to add more abilities to Hume you'll have to remove some as well.
Quote from: maroon on June 09, 2025, 08:52:47 pmcan anyone tell me in menu routine mix what can do anything?
The Mix routine is left over from an unfinished Job so I'm not sure if it works at all.
Quote from: maroon on June 13, 2025, 04:48:25 amhow can i change text in image?
As Zeke mentioned the Editor can't help with that and the images might not be in the same places as in a vanilla ROM. You would have to find it on your own with Crystaltile. I will probably add a way to import/export most images at some point in the future, but not any time soon.
Quote from: maroon on June 14, 2025, 08:11:17 amcan anyone figure out the problem
Send me the log file and I'll take a look
So I had a small holiday from work and played around whit making NuMou able to enter water, first tried to simply changing Black Mage "Movable places" value to 2 to allow the unit to enter water, this was something that I tried with the old editors bu because there are no in water sprite the game would lock up. Now whit the new edit I did a quick test by simply assigning the Hume Black Mage as a unit alternative sprite in the editor and.... it worked. Even the idle animation remained the NuMou but as son as they did an action it would change to Black Mage. Then I tried to edit the in water sprites to make them NuMou but ran into some problems, seen the work on another thread about making a Ezell in battle sprite I think I missed something in the pallet but it looks the it is possible, just a lot of work.
Small quality of life changes that could be done to the editor that I realized when trying this
- Make the Movable places into a drop down instead of a simple value
- Have the Import/Export buttons remember the last folder it was used
Again thank to Rurasachi for such an amazing tool
the first image show wrong abilities while second image show correct abilitie
what is animation fix
here
Quote from: GasT87 on June 16, 2025, 03:11:38 pmSo I had a small holiday from work and played around whit making NuMou able to enter water, first tried to simply changing Black Mage "Movable places" value to 2 to allow the unit to enter water, this was something that I tried with the old editors bu because there are no in water sprite the game would lock up. Now whit the new edit I did a quick test by simply assigning the Hume Black Mage as a unit alternative sprite in the editor and.... it worked. Even the idle animation remained the NuMou but as son as they did an action it would change to Black Mage. Then I tried to edit the in water sprites to make them NuMou but ran into some problems, seen the work on another thread about making a Ezell in battle sprite I think I missed something in the pallet but it looks the it is possible, just a lot of work.
Small quality of life changes that could be done to the editor that I realized when trying this
- Make the Movable places into a drop down instead of a simple value
- Have the Import/Export buttons remember the last folder it was used
Again thank to Rurasachi for such an amazing tool
It's should definitely be possible yeah. The way the palettes work is a bit odd, especially for the in-water sprites. The color of the water is not part of the unit's palette. The game gets it from somewhere else during gameplay (I believe I mentioned this in the other thread as well).
I wasn't sure what values were valid for Movable Places at the time but that's a good idea.
Remembering folders for Import/Export is a good idea as well.
Quote from: maroon on June 16, 2025, 11:36:02 pmthe first image show wrong abilities while second image show correct abilitie
I'm not sure what's going on here.
Quote from: maroon on June 17, 2025, 12:03:29 amwhat is animation fix
It allows all playable races to use any weapon. Normally Hume can't use Spears and Rapiers for example. With the animation fix they can.
Quote from: maroon on June 19, 2025, 01:20:36 amhere
It looks like one of the units in Formation 9 has an invalid Secondary Ability. I'm not sure how that can happen but I'll look into it. Make sure it's set to an ability that is actually in the Secondary Sbility Set. You can probably fix it by setting it to something else and back again. If that doesn't work try doing it for all the secondary abilities on all units in that formation
doesn't wanna let me load a rom it gives me the error
"java.nio.BufferUnderflowException
Quote from: Divinehero on June 20, 2025, 02:44:03 pmdoesn't wanna let me load a rom it gives me the error
"java.nio.BufferUnderflowException
If you send me the logs I can check what the problem is. The error indicates that some data is shorter than expected.
If it's a vanilla rom make sure it's the USA version. The editor is not compatible with other versions.
If it's a modded rom then there's something else wrong with it and the logs should say exactly what it is.
uh.. i dunno how to upload a file here.. also yea it is a modded rom it's the shrike 1.2 patch
Quote from: Divinehero on June 21, 2025, 02:21:45 pmuh.. i dunno how to upload a file here.. also yea it is a modded rom it's the shrike 1.2 patch
Iirc the Shrike patch used a broken Nightmare module to set Abilities on Equipment. The broken module sets the wrong id for Dancer, Bard, Heritor, and Agent. If you check the logs it should tell you exactly what it's failing to load (probably near the bottom). You'll have to edit that item with a Nightmare module to fix it. If you just set the job to something else you can set it back afterwards when you open it with my editor.
i assume it's.. this?
Jun 20, 2025 2:42:22 PM org.ruru.ffta2editor.model.stringTable.StringTable <init>
SEVERE: Failed to decode entry 55 in table "StringProperty [value: Ability descriptions]"
Quote from: Divinehero on June 21, 2025, 04:24:26 pmi assume it's.. this?
Jun 20, 2025 2:42:22 PM org.ruru.ffta2editor.model.stringTable.StringTable <init>
SEVERE: Failed to decode entry 55 in table "StringProperty [value: Ability descriptions]"
Oh right it's the ability descriptions, I guess the equipment thing was a different mod.
This is a bug in the ffta2 text editor when a description ends in a newline. It writes the newline bytes in the wrong order iirc. You'll need to open it with the text editor and find the descriptions that have an extra blank line at the end.
oof.. guess i gotta comb through every ability that's..gonna take a bit especially if what i'm looking for isn't terribly obvious at a glance
can anyone figure out it seem like when a play seem normal after that it stuck can't play
i send the file game
there something wrong with ability name veil grant astra status that nu mou have astra but luso can't get astra but appear miss
the sprite Montblanc seem to be glitch when use ability name twincast that cast two magick
last two fire are record for nds emulator DeSmuME
I'm having a problem with the version: FFTA2 Editor v1.3.4 Log: Jun 24, 2025 2:31:28 PM org.ruru.ffta2editor.App loadConfig
INFO: Config not found
java.io.FileNotFoundException: ffta2-editor.properties (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.loadConfig(App.java:161)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.start(App.java:213)
at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at javafx.graphics@23.0.2/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:1583)
Quote from: douglaskraft on June 24, 2025, 02:02:48 pmI'm having a problem with the version: FFTA2 Editor v1.3.4 Log: Jun 24, 2025 2:31:28 PM org.ruru.ffta2editor.App loadConfig
INFO: Config not found
java.io.FileNotFoundException: ffta2-editor.properties (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.loadConfig(App.java:161)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.start(App.java:213)
at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at javafx.graphics@23.0.2/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:1583)
Seems like you deleted the .properties files or something. Did you extract the file from the zip? because if you try to run in from inside it could cause problems.
Quote from: douglaskraft on June 24, 2025, 02:02:48 pmI'm having a problem with the version: FFTA2 Editor v1.3.4 Log: Jun 24, 2025 2:31:28 PM org.ruru.ffta2editor.App loadConfig
INFO: Config not found
java.io.FileNotFoundException: ffta2-editor.properties (The system cannot find the file specified)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.loadConfig(App.java:161)
at org.ruru.ffta2editor/org.ruru.ffta2editor.App.start(App.java:213)
at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@23.0.2/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
at javafx.graphics@23.0.2/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at javafx.graphics@23.0.2/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:1583)
Whoops. I made some changes to how the config (.properties) file is read in v1.3.4 which causes it to crash if the file doesn't exist. It's fixed now in v1.3.5
can anyone figure out how to fix it
Thank you for making this editor -- thus far, it's been super fun to mess around in it! I wanted to ask quickly if there's any way to reduce the number of strings in a cutscene event? Simply removing strings at the end willy nilly freezes the game, unfortunately.
I also wanted to ask if it's possible to get rid of the speech bubble for strings whose text I've erased. For instance, when I take a string wherein Luso says something and remove the text, his little speech bubble/portrait still pops up -- just without any dialogue.
Thank you for your time!
Quote from: maroon on June 30, 2025, 06:18:15 amcan anyone figure out how to fix it
Did you by chance use the unused abilities to make the new ones, it may be that the name locations where never assigned in the ROM itself so it pull them wrongly since they were never meant to be used.
On other things managed to get the NuMou black mage working in the water, for anyone that want to try their hand with this here is what I did:
In preparation I would recommend to apply the "animation fix" from the patch tab before starting so that no matter wich unit you choose to copy as base will have the full set of animations. Edit: If you want to try this be sure to read about a possible bug that I edit at the end of the post.
- Copy a in water sprite (in my case I picked the Hume Black Mage).
- Export all the different sprites of the copied set
- Export also all sprite from the grounded version of the Numou Black Mage
- With the in water sprites as base, delete the hume version leaving only the black and white pixels, now copy the Numou sprite in and delete anything bellow the black shape so it looks the same as the Hume version.
- Now that you have all edited sprites is time to import them back over the copied ones (make sure that you replace each action with the same one). Just one thing that there are some specific sprites probably for cut scenes and other stuff that I did not change, like the Veil casting animation that is exclusive to Humes I replaced by the NuMou reading a book.
- Finally just in case I used the in editor option to replace the pallet to make sure every sprite had the same one (just press "replace pallet" and then pick one of the sprite with your desired pallet)
- No go to the Job Data tab, look for the NuMou version of the Black Mage, in the "Main" sub-tab change "Movable Places" to CAN_STAND_IN_WATER and in the "Sprite" sub-tab (not to be confused with the main "Sprites" tab on top) make sure to change both the "Unit alternate Sprite" and the "Enemy alternate Sprite" to your new in water sprite.
- Save rom and load the game it should allow you to have the black mage enter water and attack and cast from it like normal
Note: for the edition of the sprite I would recommend to use a dedicated sprite editor like AseSprite or LibreSprite, as an example I uploaded a rar with my edited sprites as an example, if anyone want to use them they are free to do so
Possible bug for Rurusachi: The first extra unit slot seems bugged, I copied the Black Mage Hume, replaced it with my edited sprites and if that was assigned in the alternate sprite it still crashes the game upon trying to do an action, but if I then copied the already edited sprite and use that copy it works as intended
why is like this how can fix it
why hasteja ability point become 0 it should be 250
anyone know the problem and how to fix
why hasteja have effect for nu mou but no effect for luso can anyone know how to fix it
Instead of images of the game con you show how the edited ability looks in the editor, is probable that you missed assigning it correctly of something, also you can edit your post so as not to multipost
Quote from: GasT87 on July 07, 2025, 03:48:30 pmInstead of images of the game con you show how the edited ability looks in the editor, is probable that you missed assigning it correctly of something, also you can edit your post so as not to multipost
here
Quote from: maroon on July 09, 2025, 12:38:24 amhere
Well that second effect being "only_Allies" makes it so it doesn't hit the caster, also make sure that the "Learning" tab is set up correctly for the Hume Soldier job, that's probably why the AP is not correctly assigned in the item
Very nice! It says that using this changes offsets so I won't be able to use this myself. I do have a question though, were you able to find out how to modify mission rewards like loot, if so, how?!
Quote from: maroon on June 30, 2025, 06:18:15 amcan anyone figure out how to fix it
Quote from: maroon on July 07, 2025, 12:08:01 amwhy is like this how can fix it
I don't really know what's going on here. You'll need to explain what you've changed for me to be able to help. Or make a patch of your modded rom and send it (
not the rom itself. I'd recommend bsdiff for making patches)
Quote from: maroon on July 07, 2025, 02:16:31 amwhy hasteja ability point become 0 it should be 250
Quote from: maroon on July 07, 2025, 02:19:14 amanyone know the problem and how to fix
Make sure the ability has an AP slot assigned for the race you've added it to (On the Ability's Learning tab).
Also make sure you've set the Ability's max AP (on the Job's Ability Set tab since Abilities can have different max ap for each job)
Quote from: maroon on July 09, 2025, 12:38:24 amhere
You only need the first effect here.
Quote from: ZZ Top on July 04, 2025, 05:06:40 amThank you for making this editor -- thus far, it's been super fun to mess around in it! I wanted to ask quickly if there's any way to reduce the number of strings in a cutscene event? Simply removing strings at the end willy nilly freezes the game, unfortunately.
I also wanted to ask if it's possible to get rid of the speech bubble for strings whose text I've erased. For instance, when I take a string wherein Luso says something and remove the text, his little speech bubble/portrait still pops up -- just without any dialogue.
Thank you for your time!
I'm guessing you're the person that also asked about this on Discord but I'll post my answer here as well:
Unfotunately proper cutscene editing isn't really possible yet. Events are written in a scripting language that I haven't fully reverse-engineered yet. The editor can only change the strings that are used in each event. The strings are referenced by index in the event's string table. So a decompiled script would contain something like showDialogue(speakingUnit, stringIndex).
So for now all you can really change is the contents of each speech bubble
Quote from: GasT87 on July 06, 2025, 06:40:57 pmDid you by chance use the unused abilities to make the new ones, it may be that the name locations where never assigned in the ROM itself so it pull them wrongly since they were never meant to be used.
On other things managed to get the NuMou black mage working in the water, for anyone that want to try their hand with this here is what I did:
In preparation I would recommend to apply the "animation fix" from the patch tab before starting so that no matter wich unit you choose to copy as base will have the full set of animations. Edit: If you want to try this be sure to read about a possible bug that I edit at the end of the post.
- Copy a in water sprite (in my case I picked the Hume Black Mage).
- Export all the different sprites of the copied set
- Export also all sprite from the grounded version of the Numou Black Mage
- With the in water sprites as base, delete the hume version leaving only the black and white pixels, now copy the Numou sprite in and delete anything bellow the black shape so it looks the same as the Hume version.
- Now that you have all edited sprites is time to import them back over the copied ones (make sure that you replace each action with the same one). Just one thing that there are some specific sprites probably for cut scenes and other stuff that I did not change, like the Veil casting animation that is exclusive to Humes I replaced by the NuMou reading a book.
- Finally just in case I used the in editor option to replace the pallet to make sure every sprite had the same one (just press "replace pallet" and then pick one of the sprite with your desired pallet)
- No go to the Job Data tab, look for the NuMou version of the Black Mage, in the "Main" sub-tab change "Movable Places" to CAN_STAND_IN_WATER and in the "Sprite" sub-tab (not to be confused with the main "Sprites" tab on top) make sure to change both the "Unit alternate Sprite" and the "Enemy alternate Sprite" to your new in water sprite.
- Save rom and load the game it should allow you to have the black mage enter water and attack and cast from it like normal
Note: for the edition of the sprite I would recommend to use a dedicated sprite editor like AseSprite or LibreSprite, as an example I uploaded a rar with my edited sprites as an example, if anyone want to use them they are free to do so
Possible bug for Rurusachi: The first extra unit slot seems bugged, I copied the Black Mage Hume, replaced it with my edited sprites and if that was assigned in the alternate sprite it still crashes the game upon trying to do an action, but if I then copied the already edited sprite and use that copy it works as intended
Nice that you got it working! Thanks for writing out the steps.
I'll see if I can reproduce that bug myself but I didn't have any issues like that when I tested.
Quote from: Ethereal Embrace on July 09, 2025, 11:47:21 pmVery nice! It says that using this changes offsets so I won't be able to use this myself. I do have a question though, were you able to find out how to modify mission rewards like loot, if so, how?!
Yeah it rebuilds the internal filesystem so there's no guarantee that any offsets stay the same. That's why I tried to include all the features of previous tools. Is there anything you need that the editor can't currently do?
If you mean the mission rewards you get after completing a mission (2x Gikhet Lead and 2x Faren Pollen for Stranger in the Woods) then they're 2-byte values starting 0x50 in the quest data structure. The 2-byte value contains both the amount and the item id. The lower 10 bits are the item id and the upper 6 bits are the amount. So for example 2x Gihket Lead is 0x9DD because the lower 10 bits of that is 0x1DD (which is Gikhet Lead) and the upper 6 bits is 2 (I've attached a simple visual example). If you're familiar with bit shifting and logical operators the calculation would be: (amount << 10) | item
(Sorry if you already knew all/most of this. I'd rather be too detailed than too simple. If you have more questions it might be easier to ask me on the Discord server. I check it a lot more often than I check the forum)
No, I didn't know that, thank you! I knew about the item IDs but I couldn't parse where the number of said items came into it. This is very helpful.
I guess my next question is: is there any way to change judge bonuses for upholding the law in a mission?
Quote from: Ethereal Embrace on July 10, 2025, 01:32:11 pmNo, I didn't know that, thank you! I knew about the item IDs but I couldn't parse where the number of said items came into it. This is very helpful.
I guess my next question is: is there any way to change judge bonuses for upholding the law in a mission?
Yes. I've found the data for it, I just haven't added it to the editor yet. The law bonuses start at 0x054147A0 in a vanilla ROM. It's an array of 50 8-byte data structures. Each one has 3 2-byte item ids and 2 bytes of padding. I also took a look at the code just now to figure out exactly how law bonuses work:
The three items in each entry are for the 1st, 2nd, and 3rd law bonus slot. The game keeps track of how many items have been rewarded for each slot. So when you get the first law bonus you get the 1st item in the 1st entry, the second time you will get the 1st item in the 2nd entry, and the 2nd item in the 1st entry, etc.
The law bonuses are also gated based on story progress every 10 entries. 10 extra entries are unlocked after story progress values 0xC8, 0x190, 0x2A8, and 0x406 (at offset 0x0011F650) for up to 50 entries total. So in the beginning there are only 10 items you can get in each slot, but eventually there will be 50. Once you've received all the available items for a slot you instead get a random item out of the available items for that slot.
Here's a (cleaned up) decompilation of the function responsible for law bonuses:
void FUN_give_law_bonuses(int param_1) {
uint max_slot;
for (max_slot = 0;
(max_slot < 4 && (GLOBAL_law_bonus_story_progress_gates[max_slot] < FUN_get_story_progress()));
max_slot = max_slot + 1) {}
max_slot = (max_slot + 1) * 10;
byte law_bonus_streak = FUN_get_law_bonus_streak();
if (3 < law_bonus_streak) {
*(byte *)(param_1 + 0x85) = 3;
} else {
*(byte *)(param_1 + 0x85) = law_bonus_streak;
}
for (int slot = 0; slot < *(byte *)(param_1 + 0x85); slot = slot + 1) {
ushort stored_index = GLOBAL_law_bonus_stored_indices[slot];
uint max_received = FUN_get_stored_value(stored_index);
if (max_received < max_slot) {
FUN_set_stored_value(stored_index, max_received + 1 & 0xff);
}
else {
uint random_number = FUN_rand?();
max_received = FUN_modulo?(random_number >> 0x10,max_slot);
}
ushort* law_bonuses = FUN_get_law_bonus(max_received);
ushort item_id = law_bonuses[slot];
*(ushort *)(param_1 + slot * 2 + 0x86) = item_id;
FUN_give_item(item_id, 1);
}
return;
}
I see, that's very convoluted but interesting. Thanks for responding.
I decided to try out the editor but when I try opening the file, I get this error. Any idea what it means?
Quote from: Ethereal Embrace on July 10, 2025, 05:40:59 pmI see, that's very convoluted but interesting. Thanks for responding.
I decided to try out the editor but when I try opening the file, I get this error. Any idea what it means?

Did you miss this steps?:
- Follow the instructions to install devkitPro (the NDS Development component is required)
- Find ndstool.exe in DevkitPro/tools/bin and copy it to the same folder as the FFTA2 Editor (next to ffta2-editor.exe).
From the github
I did not do that last part, thanks.
I now have this error lol.
Quote from: Ethereal Embrace on July 10, 2025, 09:14:35 pmI did not do that last part, thanks.
I now have this error lol.
I'm guessing you're trying to load a modded rom (or a non-US version). If it's a modded rom then there's something wrong with some data. The logs should tell you exactly what failed to load or you can post the logs here so I can check.
You are correct, it is because I tried loading my modded one. I've spent a few months on it already so I won't be able to use this editor unless I have entirely rebuild it from the ground up again (which can very well happen, again!).
Being able to mod mission rewards is the last BIG thing I really needed for my mod but there are few niceities I'm interested in modding as well. If you could help out, that would be greatly appreciated.
1. Judge bonus modding, basically a continuation of mission rewards modding. I wanted there to be more varied loot in judge bonuses. This isn't necessary for me to change, but since a majority of early missions already have 3 rewards per, I wanted to mod judge bonuses to be able to compensate. I know you already posted what you know about this above, I'll need to take some time to actually look into down the line. Thank you, for that, by the way.
2. Auction modding, I assume it's just a pool of items listing similar to the mission rewards, how can I mod this? Not a priority, but I do want to highlight some early jobs like animist and fencer some more.
3. Monsters using player abilities. I wasn't able figure out how to grant enemy races the ability to use player skills. I know that some Werewolves can use *some* Fighter skills,so I wanted them to use some more, but giving that race their AP value slot in the skills learning data wasn't enough. So there's something else that I'm missing. Again, not a huge deal as I'm pretty content with monsters as they are buffed in my mod, but it would be nice to make monsters more fun and interesting to fight against!
4. Blue Magick modding, this isn't for me as I've already figured out a very convoluted way to change blue spells. But there is some byte or bytes that determines whether or not Learn activates, maybe you've already found it, but I couldn't figure it out. All I did was replace existing blue Magick and the corresponding enemy skill to match it. Pretty tedious process as I would have to go into every formation to accommodate this change (but I going was doing that already).
But yes, perhaps you've already figured this one out. I'm sure others will benefit from this! I actually personally removed some Nlue Magick as I categorically disagree with the concept of some of them, such as roulette.
5. Changing a job's requirements to unlock does NOT change the description for it in the class change select screen. Do you know how to change this text? I'm sure it's a simple find, but I have found it to be a recurring theme in some FFTA2 mods.
Quote from: Rurusachi on July 10, 2025, 04:19:53 amI don't really know what's going on here. You'll need to explain what you've changed for me to be able to help. Or make a patch of your modded rom and send it (not the rom itself. I'd recommend bsdiff for making patches)
Make sure the ability has an AP slot assigned for the race you've added it to (On the Ability's Learning tab).
Also make sure you've set the Ability's max AP (on the Job's Ability Set tab since Abilities can have different max ap for each job)
You only need the first effect here.
I'm guessing you're the person that also asked about this on Discord but I'll post my answer here as well:
Unfotunately proper cutscene editing isn't really possible yet. Events are written in a scripting language that I haven't fully reverse-engineered yet. The editor can only change the strings that are used in each event. The strings are referenced by index in the event's string table. So a decompiled script would contain something like showDialogue(speakingUnit, stringIndex).
So for now all you can really change is the contents of each speech bubble
Nice that you got it working! Thanks for writing out the steps.
I'll see if I can reproduce that bug myself but I didn't have any issues like that when I tested.
Yeah it rebuilds the internal filesystem so there's no guarantee that any offsets stay the same. That's why I tried to include all the features of previous tools. Is there anything you need that the editor can't currently do?
If you mean the mission rewards you get after completing a mission (2x Gikhet Lead and 2x Faren Pollen for Stranger in the Woods) then they're 2-byte values starting 0x50 in the quest data structure. The 2-byte value contains both the amount and the item id. The lower 10 bits are the item id and the upper 6 bits are the amount. So for example 2x Gihket Lead is 0x9DD because the lower 10 bits of that is 0x1DD (which is Gikhet Lead) and the upper 6 bits is 2 (I've attached a simple visual example). If you're familiar with bit shifting and logical operators the calculation would be: (amount << 10) | item
(Sorry if you already knew all/most of this. I'd rather be too detailed than too simple. If you have more questions it might be easier to ask me on the Discord server. I check it a lot more often than I check the forum)
here
how to make reaction and passive abilities in ability point like 200 or 350
Quote from: maroon on June 30, 2025, 06:18:15 amcan anyone figure out how to fix it
Ngl, I have no clue how you even got this point. Tbh, the only thing I'd say to do is to start over and do it over again.
Quote from: Ethereal Embrace on July 11, 2025, 12:39:16 pmYou are correct, it is because I tried loading my modded one. I've spent a few months on it already so I won't be able to use this editor unless I have entirely rebuild it from the ground up again (which can very well happen, again!).
Being able to mod mission rewards is the last BIG thing I really needed for my mod but there are few niceities I'm interested in modding as well. If you could help out, that would be greatly appreciated.
1. Judge bonus modding, basically a continuation of mission rewards modding. I wanted there to be more varied loot in judge bonuses. This isn't necessary for me to change, but since a majority of early missions already have 3 rewards per, I wanted to mod judge bonuses to be able to compensate. I know you already posted what you know about this above, I'll need to take some time to actually look into down the line. Thank you, for that, by the way.
2. Auction modding, I assume it's just a pool of items listing similar to the mission rewards, how can I mod this? Not a priority, but I do want to highlight some early jobs like animist and fencer some more.
3. Monsters using player abilities. I wasn't able figure out how to grant enemy races the ability to use player skills. I know that some Werewolves can use *some* Fighter skills,so I wanted them to use some more, but giving that race their AP value slot in the skills learning data wasn't enough. So there's something else that I'm missing. Again, not a huge deal as I'm pretty content with monsters as they are buffed in my mod, but it would be nice to make monsters more fun and interesting to fight against!
4. Blue Magick modding, this isn't for me as I've already figured out a very convoluted way to change blue spells. But there is some byte or bytes that determines whether or not Learn activates, maybe you've already found it, but I couldn't figure it out. All I did was replace existing blue Magick and the corresponding enemy skill to match it. Pretty tedious process as I would have to go into every formation to accommodate this change (but I going was doing that already).
But yes, perhaps you've already figured this one out. I'm sure others will benefit from this! I actually personally removed some Nlue Magick as I categorically disagree with the concept of some of them, such as roulette.
5. Changing a job's requirements to unlock does NOT change the description for it in the class change select screen. Do you know how to change this text? I'm sure it's a simple find, but I have found it to be a recurring theme in some FFTA2 mods.
If you send me a patch for your modded rom I'll fix it for you so the editor can load it. Even if you don't plan to use the editor for it I'd at least like to figure out what's wrong.
- No problem. If you have any more questions just ask me
- There is a Prize table for each region (Targ, Camoa, etc.) + 1 Grand Prize table for each auction. The prize tables have 8 item slots. Each slot is 4 bytes, a 2-byte item id + a 2-byte story progress requirement. If the current story progress is below the requirement then that item will not show up in auctions (This is set to 0 for all prizes in vanilla). If you want to hex edit this then the first Prize table starts at 0x05404578 and the first Grand Prize table starts at 0x05404818 (check the editor for which tables are used in which auction. They're not 100% sequential).
- I'm not sure what exactly the problem is. Do they just not use the abilities? How exactly have you tried?
- I'm pretty sure I've figured out Blue Magick in the editor. There's both a bit-flag for "Learnable by Blue Magick" and a field for which ability is learned.
- know where the Job Requirement descriptions are but I haven't added them to the editor yet (Kinda. They are editable in the string tables but not in the Job Requirements tab). The editor supports adding additional Jobs and Job Requirements. The problem is that the Job Requirement descriptions are right in the middle of a string table (instead of at the end) so I need to write a small hook that handles extra Job Requirement descriptions properly.
Quote from: maroon on July 11, 2025, 11:45:28 pmhere
Oh the patcher tells me that your patch is made for a different rom than the version I have (and that the editor is made for). If I ignore the warning I get errors when loading the rom with the editor (I can click past them but it will definitely cause bugs). Do you get any errors or warnings when you load your rom with the editor?
Quote from: maroon on July 13, 2025, 03:26:46 amhow to make reaction and passive abilities in ability point like 200 or 350
The editor currently can't change AP costs for Passive and Reaction Abilities. I'll add that in a future update.
Quote from: Rurusachi on July 14, 2025, 12:29:29 pmOh the patcher tells me that your patch is made for a different rom than the version I have (and that the editor is made for). If I ignore the warning I get errors when loading the rom with the editor (I can click past them but it will definitely cause bugs). Do you get any errors or warnings when you load your rom with the editor?
what kind a different rom and warning is?
Quote from: Rurusachi on July 10, 2025, 04:19:53 amI don't really know what's going on here. You'll need to explain what you've changed for me to be able to help. Or make a patch of your modded rom and send it (not the rom itself. I'd recommend bsdiff for making patches)
how to make patch
Quote from: Rurusachi on July 14, 2025, 12:29:29 pmIf you send me a patch for your modded rom I'll fix it for you so the editor can load it. Even if you don't plan to use the editor for it I'd at least like to figure out what's wrong.
- No problem. If you have any more questions just ask me
- There is a Prize table for each region (Targ, Camoa, etc.) + 1 Grand Prize table for each auction. The prize tables have 8 item slots. Each slot is 4 bytes, a 2-byte item id + a 2-byte story progress requirement. If the current story progress is below the requirement then that item will not show up in auctions (This is set to 0 for all prizes in vanilla). If you want to hex edit this then the first Prize table starts at 0x05404578 and the first Grand Prize table starts at 0x05404818 (check the editor for which tables are used in which auction. They're not 100% sequential).
- I'm not sure what exactly the problem is. Do they just not use the abilities? How exactly have you tried?
- I'm pretty sure I've figured out Blue Magick in the editor. There's both a bit-flag for "Learnable by Blue Magick" and a field for which ability is learned.
- know where the Job Requirement descriptions are but I haven't added them to the editor yet (Kinda. They are editable in the string tables but not in the Job Requirements tab). The editor supports adding additional Jobs and Job Requirements. The problem is that the Job Requirement descriptions are right in the middle of a string table (instead of at the end) so I need to write a small hook that handles extra Job Requirement descriptions properly.
Oh the patcher tells me that your patch is made for a different rom than the version I have (and that the editor is made for). If I ignore the warning I get errors when loading the rom with the editor (I can click past them but it will definitely cause bugs). Do you get any errors or warnings when you load your rom with the editor?
The editor currently can't change AP costs for Passive and Reaction Abilities. I'll add that in a future update.
i know the problem because when i add new abilities and new job because it unuse abilities and unuse job that why it appear incorrect abilities.
Quote from: maroon on July 14, 2025, 08:27:32 pmwhat kind a different rom and warning is?
The editor is made for the US rom (md5 checksum: aaffeb638f1ac98ed3a954264ad1bf2e).
Quote from: maroon on July 14, 2025, 10:46:12 pmhow to make patch
If you're using Delta Patcher you just select the original (unmodified, vanilla) rom, the modded rom, and where you want to save the patch.
Quote from: maroon on July 15, 2025, 09:42:26 pmi know the problem because when i add new abilities and new job because it unuse abilities and unuse job that why it appear incorrect abilities.
I've figured out the issue. It affects the Ability Sets 0x60 to 0x64. The menus use those as hardcoded ids for the current Job's Ability Set, current equipped Secondary Ability Set, Items, Reactions, and Passives. I'll try to fix this in a future update, but for now this is just an annoying visual bug in the menus. You can probably work around it by leaving Ability Sets 0x60 to 0x64 blank and only using 0x65 and up (see attached image for an example).
hey! congrats on the editor man :) I hope this shines a bright new future into FFTA2 romhacking
just wanted to ask since I am having some problems installing the devkitPro, with this editor am I able to change portraits and sprites color schemes or upload new one with different collors?
I always craved for a way to customize all units
thanks a lot!
Quote from: monk-han on July 19, 2025, 12:33:57 pmhey! congrats on the editor man :) I hope this shines a bright new future into FFTA2 romhacking
just wanted to ask since I am having some problems installing the devkitPro, with this editor am I able to change portraits and sprites color schemes or upload new one with different collors?
I always craved for a way to customize all units
thanks a lot!
Yes you can both add and replace sprites/portraits and their palettes. Note that there is currently a bug if you add an odd number of new sprites or portraits so make sure to create an even number. Always make sure to keep backups so you don't lose too much progress if something goes wrong.
What issues are you having with devkitPro?
uooo
Quote from: Rurusachi on July 19, 2025, 02:49:14 pmYes you can both add and replace sprites/portraits and their palettes. Note that there is currently a bug if you add an odd number of new sprites or portraits so make sure to create an even number. Always make sure to keep backups so you don't lose too much progress if something goes wrong.
What issues are you having with devkitPro?
uooo really!? Lets go now I gotta make it work :) hyped up
So, now I was able to install it but even after adding the NDs update there is nothing in the msys file
sorry gotta say I am not a programmer and a total noob on this things, so all of this is pretty confusing to me haha
Thanks anyway i´ll make it work somehow!
Quote from: monk-han on July 19, 2025, 03:33:15 pmSo, now I was able to install it but even after adding the NDs update there is nothing in the msys file
I'm not sure what you mean by msys file. You just need to download the installer for DevkitPro, install it to a folder somwhere, and then find and copy the ndstool.exe file to the ffta2-editor's folder
I was able to solve it, dunno why but the devkit update wasn´t downloading the files at first
BUT now my windows just wont let me unzip the FFTA2 editor, it acuses it to have trojan virus. I am sure its not the case, its probably because of how the .exe is, but now it just wont let me unzip or download it
so close yet so far
EDIT: Was able to make it work! sorry for the noob problems, will try to change the sprites and color palletes, thx!
I seem to get this error when I try to edit the units in the quest To Be a Fighter. Editing other quests and other things still seem to work. What does it mean?
Quote from: monk-han on July 19, 2025, 05:09:49 pmI was able to solve it, dunno why but the devkit update wasn´t downloading the files at first
BUT now my windows just wont let me unzip the FFTA2 editor, it acuses it to have trojan virus. I am sure its not the case, its probably because of how the .exe is, but now it just wont let me unzip or download it
so close yet so far
EDIT: Was able to make it work! sorry for the noob problems, will try to change the sprites and color palletes, thx!
I'm glad you got it working. I explained a bit about sprites and palettes that you might want to read in this thread: https://ffhacktics.com/smf/index.php?topic=13303.0
Quote from: Ethereal Embrace on July 20, 2025, 05:39:27 amI seem to get this error when I try to edit the units in the quest To Be a Fighter. Editing other quests and other things still seem to work. What does it mean?
It means the name of one of the units is null. Changing the name of each unit to something else and back again might fix it.
Quote from: Rurusachi on July 20, 2025, 09:19:04 amI'm glad you got it working. I explained a bit about sprites and palettes that you might want to read in this thread: https://ffhacktics.com/smf/index.php?topic=13303.0
I was able to customize some units! Was really fun, thanks a lot for the editor it made me want to replay this game after so long
Will probably change some others on the future as I recruit them :)
(https://ibb.co/9jxSrm4)
(https://ibb.co/Nd04DL4V)
Quote from: Ethereal Embrace on July 20, 2025, 05:39:27 amI seem to get this error when I try to edit the units in the quest To Be a Fighter. Editing other quests and other things still seem to work. What does it mean?
Once again getting this error. It happens when I change a unit's job to something else. Some missions I can do it no problem, other missions I seem to no matter what I do. Changing the name and back doesn't seem to work.
can anyone figure out why ability name Beg doesn't has text on game but on editor have text in description
hey just wanted to share what customizations I was able to do with this editor :)
Firstly transformed Cid into a full fledged bangaa (was never a fan of his strange design)
Customized Luso to Leif, a soon to be duel wielding magic frenzy user
Black Cat Adelle
And customized two units, Arte my Hunter/Ilusionist and Dillan the Ice Dragoon
thanks again for the editor, its been so fun to replay with the possibillity to customize everyone :)
In regards to equipments being able to have negative values now, what happens if a negative value causes a character's parameter to go below 0?
Like say, you have a sword that gives -5 evasion, and then you give it to a character with 0 evasion. Would the value default to 0 in this situation?
Quote from: Ethereal Embrace on July 22, 2025, 11:31:05 pmOnce again getting this error. It happens when I change a unit's job to something else. Some missions I can do it no problem, other missions I seem to no matter what I do. Changing the name and back doesn't seem to work.
Slight update: it does seem like I can bypass this error by simply deleting that unit and creating a new one, provided that unit doesn't have unique text/event attached to it.
I have just started adding more units to formations, and it's a lot of fun! I specifically want this game to be significantly harder near the end of the game, so this should help make things interesting. Thanks for this feature. :)
Quote from: Ethereal Embrace on July 22, 2025, 11:31:05 pmOnce again getting this error. It happens when I change a unit's job to something else. Some missions I can do it no problem, other missions I seem to no matter what I do. Changing the name and back doesn't seem to work.
Quote from: Ethereal Embrace on July 29, 2025, 04:29:03 amSlight update: it does seem like I can bypass this error by simply deleting that unit and creating a new one, provided that unit doesn't have unique text/event attached to it.
I have just started adding more units to formations, and it's a lot of fun! I specifically want this game to be significantly harder near the end of the game, so this should help make things interesting. Thanks for this feature. :)
That's weird. Changing the job shouldn't affect anything other than the unit's primary Abilities (they just have to be changed to anything else). Can you send me a patch of your rom and your log files so I can try to figure out what's happening?
Quote from: maroon on July 23, 2025, 05:59:04 amcan anyone figure out why ability name Beg doesn't has text on game but on editor have text in description
That's weird. Is it only this specific Ability? Can you send me a patch of you rom?
Quote from: monk-han on July 23, 2025, 04:42:44 pmhey just wanted to share what customizations I was able to do with this editor :)
Firstly transformed Cid into a full fledged bangaa (was never a fan of his strange design)
Customized Luso to Leif, a soon to be duel wielding magic frenzy user
Black Cat Adelle
And customized two units, Arte my Hunter/Ilusionist and Dillan the Ice Dragoon
thanks again for the editor, its been so fun to replay with the possibillity to customize everyone :)
Nice, thanks for sharing. I love seeing what people create with this.
Quote from: vangstampede on July 24, 2025, 11:24:01 pmIn regards to equipments being able to have negative values now, what happens if a negative value causes a character's parameter to go below 0?
Like say, you have a sword that gives -5 evasion, and then you give it to a character with 0 evasion. Would the value default to 0 in this situation?
I believe the minimum is set to 0 for Evasion and 1 for Attack, Defense, Magick, and Resistance.