• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
July 10, 2025, 08:36:54 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Recent posts

Pages1 2 3 ... 10
1
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by GasT87 - Today at 06:32:16 pm
Quote from: Ethereal Embrace on Today at 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?
edit_error.PNG
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
2
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by Ethereal Embrace - Today at 05:40:59 pm
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?
edit_error.PNG
3
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by Rurusachi - Today at 04:07:06 pm
Quote from: Ethereal Embrace on Today at 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;
}
4
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by Ethereal Embrace - Today at 01:32:11 pm
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?
5
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by Rurusachi - Today at 04:19:53 am
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 Yesterday at 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 Yesterday at 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)
6
New Project Ideas / Re: Quality of Life Pack v1.14...
Last post by Enoch - Today at 01:36:04 am
Thank you for this mod. As someone who is content with vanilla ps1 battle and character mechanics, but finds dismal many of the extraneous or side-issues directly addressed by this mod, what you've done here is exactly the sort of tweaks I was looking for. After not playing FFT for a long time, a recent delve quickly reminded me about old frustrations such as those remedied by Smart Encounters, as well as the time-savers to be found in Cross Fix and deprecating npc notifications. I like to pursue Propositions, but in the original game the ensuing and unavoidable random encounters (to pass time during prop completion) inevitably results in the characters levelling up by far too much to maintain challenge in fixed-rate story battles, so that point alone makes something like your mod vital in my opinion.

After easily installing/applying the mod using ppf-o-matic, I started a new game and everything seems working fine. I have a question, though, on one of your listed bugs. Meliadoul is a favorite character of mine and I always make heavy use of her; could you provide more detail on the listed issue regarding her, and how to avoid it in a vanilla game? Just avoid sending her on Proposition jobs, or is it more serious troubles?
7
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by Ethereal Embrace - Yesterday at 11:47:21 pm
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?!
8
FFTA/FFTA2 Hacking / Re: FFTA2 Editor v1.3.5
Last post by GasT87 - Yesterday at 05:09:56 pm
Quote from: maroon on Yesterday at 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
9
Reach The Future / Re: RTF Chapter 1 Bug Reports
Last post by Nyzer - Yesterday at 02:46:13 pm
The first one is definitely known. The second one is likely from a known issue with changing maps rather than fully unloading and loading new scenarios (and wiping deployed party data) that I figured out earlier this year. And the last one... well, I suppose we know Maine's last name, now.
10
Reach The Future / Re: RTF Chapter 1 Bug Reports
Last post by horroricane - Yesterday at 01:51:12 pm
I want to report bug(s) that I've experienced:

On using the latest patch (1.06) for the US version of the FFT iso, while playing within the latest download of duckstation (0.1-9226-g355c17bde (dev)), I found that if I use Ripcircle from the Biskmatar ability group Flair on at least 4 targets (I tried less than 4 and it didn't happen) then the game would hard lock. Graphics and input would stop (I couldn't soft reset), but the music kept going. The freeze happens at the end of the getting hurt animation.

When coming back from the slums to confront Mairsil again about his nefarious studies, the sprite that showed his face was highlighted brown or something? I'm not sure if that was intentional or not.

Trying to select "Remove Unit" on Maine shows "I'm a Beoulve. Nothing happens without me."

That's all I can think of for now.
Pages1 2 3 ... 10