• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 14, 2025, 04:47:45 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Rurusachi

1
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.3
June 01, 2025, 05:17:56 am
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.
2
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.2
May 28, 2025, 08:56:08 am
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.
3
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.1
May 11, 2025, 08:12:06 am
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
4
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.1
May 06, 2025, 05:53:31 am
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)
5
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.1
May 02, 2025, 05:59:06 am
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).
6
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.1
April 29, 2025, 10:33:23 am
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
7
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 21, 2025, 09:26:42 am
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.
8
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 20, 2025, 11:16:17 am
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.
9
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 20, 2025, 07:00:52 am
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.
10
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 20, 2025, 05:51:37 am
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
11
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 19, 2025, 04:06:36 pm
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 :)
12
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.3
April 18, 2025, 06:39:49 pm
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.
13
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.2.0
April 14, 2025, 09:44:25 am
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.
14
Quote from: undefinedI definetly see the issue, pretty sure I had to save my sprite not indexed and rather as a RGB mode of some sort.
No it has to be saved as indexed. The editor can't import a sprite that doesn't use indexed color mode. It's just that the game uses 256 color palettes, but only a few units (mainly large ones like Klesta) use the first 128 colors. The rest only use the last 32 colors.

The only exceptions are that the first color is always used as transparency, and that the in-water sprites also use at least one color outside the last 32 (for the water I think?), but those are not saved as part of the sprite's palette.
15
I just saw your edit. The sprite looks good, the issue is the palette. The palette needs to have 256 colors, but only the last 32 colors can be used, and the first color is transparent. I've attached images to show the difference between your palette and what it should look like. I would suggest exporting one of Ezel's sprites with the editor and using its palette. Idk what program you use but Aseprite can easily copy the palette to another sprite and remap the colors correctly.
16
The Ezel sprites in the game are only intended for cutscenes so it doesn't have all the sprites and animations needed for battle. There's currently no way to add new animations and sprites to a unit. Instead you should copy one of the Nu Mou units' sprites. That way you retain all of the Nu Mou animations and can replace the individual sprites with Ezel sprites.

To make a new special character you should do the following:
  • (If you want unique sprites) Go to Sprites and copy an existing unit's sprites (If you copy Top Screen make sure to apply the patch for it). You can replace the sprites in the copied version with new ones for your character. IMPORTANT: When replacing a unit sprite make sure the new sprite has the same pose, otherwise animations will look weird.
  • Go to Characters and create a new Character. Set the sprites to the newly created/copied ones. Set Dialogue role to the next unused number (vanilla highest used is Frimelda at 30, so 31). Set Name, Gender, and Default Job to whatever you want.
  • Go to Text, select "28: Ally death text?", and add a new string. Input whatever you want you character to say when they die in battle. Make sure to end it with "\var2:00\\end\" like all the other entries.
  • Go to Text, select "33: Opportunity text?", and add 2 new strings. The first will show up when the character starts an opportunity turn and the second will show up when they end an opportunity turn. Make sure they both end with "\var2:00\\end\" like all the other entries

If you want to make a special job for the character you can follow the "How to make a new playable Job" guide on the Github page for the editor .
If it's a special job only for the new character you can skip the step for the job's sprites. When you create the Job Requirement, set "Character 1" to the character you just created so only they can use it.


QuoteIs there anyway to add characters after a mission such as Montblanc and Al-Cid? I'd like to expedite their recruitment to early as possible within the story and I'd also like to add characters like Ezel after specific missions.
There's currently no way to do this. It requires editing events which are not understood well enough yet.
You can set any character as a starting character though. Formation 0 contains all the recruitable characters including starting characters. Any character in Formation 0 that has "Faction" set to 8 will start in the clan.
17
FFTA/FFTA2 Hacking / FFTA2 Editor v1.3.3
April 08, 2025, 11:28:27 am
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

Current version: v1.3.3

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.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.
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.