Final Fantasy Hacktics

Modding => Non-FFT Modding => FFTA/FFTA2 Hacking => Topic started by: bcrobert on March 11, 2013, 11:19:08 pm

Title: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on March 11, 2013, 11:19:08 pm
Project goal A-Nightmare Modules
This is a dual-purpose topic. The first part of this project is a series of Nightmare modules that I am developing independently. They can be used to edit much of the game's known data. Nightmare 1, which I prefer, does not support binary data. That's why some of the more advanced modules have to be on the less user-friendly Nightmare 2. Also, I will not release modules that edit data if better options (like AIO) already exist. My Nightmare modules will never support ASM, for reasons that should be obvious once you look at the program.

Read about Nightmare:
Nightmare is a program available on  url=http://www.romhacking.net]www.romhacking.net[/url] that can be used as a temporary solution for editing tables full of data.  It'll be easiest to understand just by downloading it, loading the rom, then loading a few modules yourself.  Nightmare modules don't have the quality or complexity of other tools, like Darthatron's AIO, but they get the job done when other tools aren't available.


Using these modules:
Just open Nightmare (2 for the enemy editors), choose your ROM, then choose the module (any .nmm file). I've got dropdown menus for most of the things you wouldn't want to memorize in hex. It'll be much easier than some newcomers might expect. The only complications arise if you're editing a ROM that you've already hacked to some degree...at which point I'd prefer for you to have some idea of how the structures of the ROM function anyway.


Project goal B-Archiving data

The second project is a CALL FOR HELP. I would like to gather as much of the data for FFTA in one place as possible. It's scattered across DataCrystal, insanely derpy, Final Fantasy Hacktics, and assorted other locations (like the hard drives of other hackers). Please help me to archive this data! Interested parties can post their notes anywhere in the topic or, preferably, PM those notes to me so that I can add them to the OP. The pieces of data that we can gather over time will be lumped together in the main archive for convenience.  If you don't have time to organize your notes or to check if I already have the data, I can do it myself.

If you send me a veritable mound of not yet archived data, like a detailed list of ASM routines or a guide to graphics hacking, then I will probably create a separate "user name's notes vX.rar."

If you want to contribute but have any technical/personal issues to consider please contact me here or via PM.

CREDITS:

Darthatron for numerous contributions to FFTA hacking.
Edea for numerous contributions to FFTA hacking.
Eternal for numerous contributions to FFTA hacking.
Looper for the only attempted text editing tool for FFTA.
Pickle Girl Fanboy for the ability spreadsheet.
Various members of Final Fantasy Hacktics and insanely derpy.
Myself for being drop-dead gorgeous.

SITES AND ORGANIZATION CREDITS:

RomHacking.net & DataCrystal.
Final Fantasy Hacktics & Mibbit.
insanely derpy.
Pokecommunity (Strangely...)
Gamefaqs.
Nintendo.
SquareEnix.

If I forget to credit anyone or credit someone falsely, please correct me immediately.

Requested activities
-Submit any data you might have for archiving purposes.
-Test/feedback on any or all of the Nightmare modules.
-Report inaccuracies in the OP or files.
-Show your support for the project by posting.

Activities that will be ignored
-Posts with evidence that you didn't read the OP.
-Complaints that are already covered by the README files.
Title: Re: Archiving data & Nightmare modules
Post by: Eternal on March 12, 2013, 02:00:40 am
Well color me very, very impressed. This is a very good tool and I'll definitely be using it! Great find, and I look forward to seeing what else you have up your sleeve!
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 12, 2013, 02:23:37 am
And I'm pleased to announce that thanks to Darthatron I'll also add a law editor. Because while some laws need to be erased forever (Dmg2Animal), I don't like erasing all of them personally.

EDIT. And I got the data for it literally right after your post, lol.
Title: Re: Archiving data & Nightmare modules
Post by: Eternal on March 12, 2013, 02:26:43 am
I'm playing with Nightmare now, and it seems like it can't be used on FFTA: Grim Grimoire. I attempt to open the .nmm file, but nothing happens. Is there any way to fix that?

EDIT: I assume it has to do with the ASM used in it or something.

EDIT 2: Nevermind, it seems to work fine. Just didn't load for whatever reason the first two times.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 15, 2013, 07:36:09 pm
Minor update. (Although I'm not sure how many people've even seen this topic yet.)

I had to correct the recruitment file name, and you can preview what I'm working on right now a little bit.  The module available for preview only works with Nightmare 2...so make sure you have that version.  I don't recommend using it as a real tool yet, though.  It's both untested and completely incomplete in every way.

The preview file, tucked away in other stuff, is HUMAN EDITOR-main plot.nmm.

EDIT. And the archive has been slightly updated, particularly the "minor hacks" file.
Title: Re: Archiving data & Nightmare modules
Post by: Darthatron on March 16, 2013, 01:47:54 am
Might I ask why you're thanking PokeCommunity?

Also awesome work!
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 16, 2013, 01:58:31 am
Lol. You don't remember but that's actually where I met you and subsequently got into FFTA hacking.   :P

Also, another minor update.  I forgot the reward sets actually have an 8th set pertaining only to random battles (the mythril items).  It's been added to the random reward editor.

EDIT. The human editors are now complete. Anyone who wants to edit a few humans (like in Clan Dip or something) is more than welcome to try it out. What you see in the human editor is more or less what you can expect from the other editors. Remember that their abilities will only be read correctly if their post-edited class corresponds to the human race.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 16, 2013, 11:35:16 pm
I now have a double-post-worthy update.  :)

The revised main race editors are finished. It should now be possible to edit the abilities on every enemy human, bangaa, nu mou, viera, and moogle in the game. The format is clumsy, but you can only do so much with 1's and 0's.

The monster editors shouldn't be too far behind. The bad news is that because of the race-divided ability lists there will have to be editors for EVERY MONSTER RACE. Lovely. Maybe I'll think of something more convenient.  :(

EDIT. The special character and totema editors are up too. So is a mission rewards editor. Not quite triple-post worthy though...
Title: Re: Archiving data & Nightmare modules
Post by: Darthatron on March 17, 2013, 08:56:05 pm
I think it's triple post worthy. :P
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 18, 2013, 07:36:04 pm
Time for a sexy update!

The Nightmare 2 enemy editors are done. It's now possible to edit every ability in every skillset on every enemy in every battle in the entire game. This was, by a very wide margin, the most tedious set of editors to actually make.

Download v9 and enjoy the benefits of full custom enemies.
Title: Re: Archiving data & Nightmare modules
Post by: Jumza on March 18, 2013, 08:36:44 pm
Quote from: bcrobert on March 18, 2013, 07:36:04 pm
The Nightmare 2 editors are done. It's now possible to edit every ability in every skillset on every enemy in every battle in the entire game.

(http://25.media.tumblr.com/tumblr_maxkg1RdPn1r5599so1_400.jpg)
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 19, 2013, 01:56:00 am
Darth and I are looking into the bit properties of abilities and some more mission data stuff right now. The findings are enlightening.

Next time I have a day off, the community might see some more updates. And the new ability editor will use Nightmare 2, for better or for worse.

This isn't ready to be archived but read it anyway:

R = Reflectable [confirmed]
I = Ignore Reaction [untested but very likely]
O = Offensive? [not tested yet]

# = Able to target self [confirmed]

& = Triggers return magic [confirmed]
S = Stealable [not tested yet]
X = Blocked by Cover [confirmed]

L = Triggers Learning [confirmed]
B = Beastmaster can activate it [confirmed]
M = Not silencable [confirmed]
C = Can be double-cast [reported]

@ = Can Morpher use it? [untested]
P = Is physical [untested but likely]
A = Triggers absorb MP [matched to TFergusson's Mechanics FAQ]
T = Throw/Hurl [triggers Catch?-only on throw/hurl]

U = unusued [all confirmed as unused]

Byte  10| Byte  11| Byte  12| Byte  13
RIOU UUU# &S-X LBMC UUU- @PAT
1000 0001 0110 0001 0001 0000  Protect
0000 0001 0110 0001 0001 0000  Dispel
0010 0001 1111 0001 0001 0010  Holy
0010 0000 1110 0001 0001 0000  Judge
0010 0000 1011 0010 0001 0110  U. Blow
1010 0001 1111 0101 0001 1010  Fire
0110 0000 0111 0010 0001 0100  Greas. B.
0010 0000 0011 1111 0001 1110  Goblin P.
0010 0000 0011 0111 0001 1010  Limit Glove
0010 0000 0010 1110 0001 1000  Matra M.
0000 0000 0110 0000 0000 0000  Parley
0010 0000 0100 0010 0000 0000  Drop Weapon


Anyone who has a good hunch about the unknown properties in this structure should contact either me or Darthatron.

Even if I don't get every property, I'll release the unfinished ability editor soonish so more people can run play-tests if they're willing to.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 23, 2013, 04:09:31 am
Got another update. This one's relatively minor, but it adds a partial formation editor. All it edits right now is the number of units you can bring into each mission, but that's what I was actually looking for so I'm probably not gonna prioritize this module.

To clarify, this means you can change the number of allied units allowed in a battle. Adding too many will probably have adverse effects, so it's best used for rebalancing purposes. (Like if you want the showdown with Raven to be 2 on 2.) Guests are included in the limit.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on March 30, 2013, 07:15:56 pm
'Nother update. No new modules this time, but there is a new routine by Darthatron in the archive's minor hacks document. The routine modifies Damage>MP to work like the FFTA2 version, where excess damage rolls over into normal HP damage. I might be biased, but I felt it was worth updating the archive version again.

Progress on the archives and nightmare modules will be slower from now on. Basically it's a combination between "not that much left to do" and "fresh new project impending."

EDIT.The new Damage>MP routine does not currently activate KO events such as JP and Reraise. The theory is that "legitimate" KOs are registered by something related to a select few pre-existing routines. It can be treated as a prototype for now.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on April 13, 2013, 09:17:24 pm
QUADRUPLE POST!!!

An ability effects editor is now available. This allows you to go even DEEPER into the A-abilities and edit the 4 effects you can put onto an ability directly. By editing the abilities at their core you gain ridiculous new possibilities such as MP stealing, 100% accurate 4 x damage abilities, and forcing status effects to use different accuracy formulas. Like Last Breath with 1/4 the hit rate of a normal attack.

This, used in tandem with the ability editor, rips abilities wide open for anyone that can handle the juggling. Anything is possible.

EDIT. Eternal contributed a list of labels for the ability effects so that the new module would be easier to navigate. Instructions for switching between "Eternal's list.txt" and "barebones list.txt" are in README>Overview.

EDIT2. And now there's a law editor. Not the law cycles, like in the other editor, but the actual laws. Rank, forbidden, recommended, and penalties. YOU NEVER HAVE TO PUT UP WITH A PERMANENT STAT DECREASE EVER AGAIN.
Title: Re: Archiving data & Nightmare modules
Post by: bcrobert on April 22, 2013, 01:13:44 am
Quintuple post. My updating speed is that unparalleled.

There's an all new structure by Darthatron that allows laws to be forcibly added or set on a mission by mission basis. The tactical applications are endless. Both the new structure and an editor for it are complete.

It's also possible to rebalance combo abilities, using a formula hack in the "minor hacks" and another editor that affects the hit% of C-abilities in a chain.

Lastly, the addresses for various strings [names, dialogue] have been added to the "basic ROM map." They were already available to the community, but the archive felt incomplete without their addresses.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on May 23, 2013, 11:54:37 pm
'Nother update. Yep.

The newest editor updates the inventory in Ezel's shop. It can be used to make certain cards unavailable (Dmg2 hint hint) and make other cards readily available (like Allmighty). That's all it does, but it's still a cute little toy. :P
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on June 13, 2013, 05:02:00 am
This update is more about the archive than the modules. I don't think I've actually added any new modules, though I could have added a minor one or two and forgot.

More importantly, there have been some updates to the archive again. Another little ASM hack by Darthatron has been archived (for creating more spear & bow exclusive abilities) and the structure for treasure hunt rewards is now archived.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Ethereal Embrace on December 13, 2014, 11:05:08 am
Regarding the minor hacks notes:
QuoteRevival nerf:
The standard for revival is 50% of max HP. To change this to 25% simply change:
0x08131a6a: 80 08
This automatically changes the 50% of max HP formula to 25% (every skill with that value will be affected).


I'd really like this to be implemented in my game. However my hex editor keeps telling me that the address is invalid?
All of the other minor hacks seem to work just fine except the Spear/Bow and Damage>Mp ones...
Unless those are pointers...?
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on December 14, 2014, 01:43:19 am
Did you remember to remove "08" from the address? The "actual" address is0x131a6a. Your hex editor's goto function might not read it properly if you leave the 08 at the beginning.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Darthatron on December 14, 2014, 08:59:35 pm
To clarify why we sometimes put the 08 before the address: It's because in the actual game, the ROM addresses are stored in the 08000000 RAM area. So addresses that are pointers in the game data show the 08 to show that it means the ROM and not another section of RAM.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on January 28, 2015, 10:49:27 pm
Added a few lines to the "minor hacks" file. Darthatron listed off the byte changes to change the max level from 50 to 99 so I added it to the notes. Personally I'm not interested in more level grinding, but that doesn't mean I won't archive it. :P

EDIT. Had to fix a single incorrect byte. The level 99 hack should work fine now.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Tango Down on February 16, 2015, 11:36:55 pm
where can I download the nightmare2?, or he is not ready?
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: rrs_kai on February 17, 2015, 12:53:48 pm
Quote from: Tango Down on February 16, 2015, 11:36:55 pm
where can I download the nightmare2?, or he is not ready?

here is one place: http://www.romhacking.net/utilities/610/
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Ethereal Embrace on July 04, 2015, 11:20:11 pm
Ugh I feel so dumb, I know how (I used it in the past) nightmare and the modules work, but I can't see to find the application to even use it...
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on August 29, 2015, 08:08:40 am
Surprise! I'm still working with Nightmare. Sometimes. The new v19 update includes an update to the mission data and a new set of modules dealing with sprite animations.

The mission data update adds several new bytes and bits to the mix. You can make missions repeatable, change the effect they have on their skills, hide rewards, etc.

The new modules are used to add, remove, or change pointers in a structure that tells the game how to animate sprites. Why does this matter? Because by filling some of the blank slots with pointers you can force the game to do things that would ordinarily glitch it up. Just copy pointers from one sprite action to the empty action.

Example: Sprite/Titania can not ordinarily use magic because they have no animation pointed to for action 1E/1F (labeled as cast spell). If you copy the pointers from action 28/29 (labeled as ability 1) to the empty slots, Sprites can use magic without glitching the game! They'll perform the same animation they do for Meteorite, which should look about right.

This means less limitations on what classes can equip what weapons and no more problems with monsters using magic. Frankly I might release a simple rom-base that adds relevant animations to the missing slots later anyway but...if you don't feel like waiting or are picky about frames then use this module to do it.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: PilsburryJoeBoy on September 07, 2015, 05:50:14 pm
Hello, I am an avid fan and follower of this webpage. I cannot begin to express how impressed and grateful I am for the abundant utilities and information that are made available on this cite through the hard work of moderators and members.

Seeing that new features within the nightmare modules are still being added, I was wondering if the sprite animation pointers module could be expanded to include more NPC characters such as Prince Mewt, or the NPC school children? I am interested in giving some of these sprites additional functionality by changing their buggy animation pointers to valid ones.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on September 08, 2015, 01:39:54 am
It -probably- could but there are some severe limitations on that. A lot of plot only characters have a smaller number of animations available to them. As such their animation pointer tables stop short and lead directly into the table for the next sprite. These differing lengths are why I had to cut the pointer editor into several modules instead of one big module encompassing all of the sprites in the game.

So in short, yes I could probably give Prince Mewt and the NPC school children modules but if you wanted to make say...a recruitable Mewt with full functionality, you would run into problems.

It doesn't help that most plot-relevant characters use their unused slots for cinema scene animations. Marche, for example, technically has a Spear/Rapier animation but the slot is actually filled by a cinema scene action. This means that while you could make him equip spears you would either have to settle for spear attacks looking awkward or certain cinema scenes looking awkward.

FULL functionality of every sprite would require a great deal of repointing. It's entirely possible but is well beyond the scope of what Nightmare was designed for. (Simple table entry modding.)

But at least my Beastmaster seems to be enjoying his new greatbow. :P
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: PilsburryJoeBoy on September 08, 2015, 10:14:45 pm
Although I was aware that many of the NPC sprites are incomplete/contain unique animations, I had no idea that many of their animation pointer tables were cut short. The simple fact that the Prince Mewt/City Mewt sprites both share the Prince Mewt party menu screen sprite gave me a little more hope at some functionality for him.

On a slightly related note, when I've messed around with these sprites just seeing how they work, I've noticed that when activating different animations on the Prince Mewt sprite, it will sometimes even randomly call for one of the regular Mewt Sprites to appear as an animation. This lead me to thinking perhaps with some graphical tile editing and some repointing you could "morph" the two sprites together into maybe not a great, but a more functionable Prince Mewt.

However, based on what you said about the lack of pointer tables and the like for NPCs, I'm probably just hoping for too much right now! :mrgreen:

Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on September 10, 2015, 01:56:04 am
It's technically possible to make any sprite fully functional. The trick would be to repoint all of the tables involved and build them from scratch in a hex editor. This way you could add in the missing data manually.

Of course, for some things you would also have to add frames that don't exist with a graphical editor. And then you'd have to point properly to those. And you'd have to rewrite the events in the game to read from new event action slots so that the edited sprites are consistent across the board.

And even after doing all of that there's still a very good chance that somewhere along the line an unknown limiter or routine would magically break everything in incomprehensible ways.

So it is entirely possible, but it's only worth the effort if you're madly in love with Mewt. I personally think he should have been bullied HARDER.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: PilsburryJoeBoy on September 10, 2015, 09:18:29 pm
 Ok, I think I have a much better understanding of how the NPC sprites work within the game now. Furthermore, you've also revealed to me how adding functionality to these sprites could theoretically work. Thank you very much for the info and quick replies!

FFTA was possibly my favorite RPG as a child, and growing older now I still find this game rather enjoyable. Seeing as this "Make Prince Mewt a playable Character" project will keep me entertained with this game, I will pursue this mission... Even if it inches along slowly :P
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: dck on April 06, 2016, 07:56:41 am
Hm, was there any confirmation on the changes regarding exp gain? As in, someone using the 2x change found here (http://ffhacktics.com/smf/index.php?topic=10582.msg204566#msg204566) successfully?
I've been looking into the suggested 12e658: e5 08 change, and it seems to just default to 100 or 1 exp gain scenarios, with a lot of moves not yielding any exp at all. From what I have seen playing around with other values, this seems to be the most common result of altering them- followed by no exp at all.

Just wondering in case it's known the change actually works before I put more time into it.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Ninety on September 18, 2016, 08:14:27 pm
Hello again! Sorry to necro, but this is like literally the only place in the internet to ask, so might as well. I was applying some of Darthatron's changes from the minor hacks section, and I was left wanting to modify some of the other S-Abilities. Is there anywhere where it's documented which entries correspond to which abilities and their values (for instance, attack modifier of Weapon Atk+)? I figured I should ask before moving onto trial-and-erroring it and taking the risk of coking everything up.

Ah, another thing. When working within the modules, is there a way to see the exact address I'm modifying? I want to make a few new ability effects, but the Nightmare module (unlike the AIO) doesn't allow me to edit the unused ability effects past D0, and if I knew the exact address I could at least do it manually.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on September 19, 2016, 09:35:17 pm
Iirc that limitation was on purpose because that's where the structure ends unless you manually repoint it.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Ninety on September 20, 2016, 11:37:29 pm
Huh. How come the AIO lets you assign the unused ability effects after D0 to an ability, though? Would that crash the game or just do nothing?
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: dck on September 21, 2016, 09:25:50 am
Damage is handled separately from accuracy, and afaik there's no information of where its structure is.
Regarding skill effects, you can expand the nightmare range easily but if you do you'll find there's already information there. Changing data you don't know about is best avoided I would say.
Before I checked if there was information there I did try the effects themselves, selecting them from the AIO and all of them crashed, although the test wasn't ideal since I tried them with the lancet animation which I later found out is prone to breaking by itself.
Regardless, AIO letting you select them is likely just an oversight and cannibalizing the unknown data is a terrible idea. One can just repoint if more space is needed, and there's a lot of them that can be simplified and repurposed.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: bcrobert on September 22, 2016, 04:18:42 am
The damage modifiers for support abilities are handled in-formula iirc. You won't find a table of them, and would actually need to study the assembly itself, most likely near where the accuracy formula was.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Ninety on September 22, 2016, 02:28:03 pm
I see. Considering how the changes to the accuracy modifiers worked, I thought it might be something like that. I know that the exact formulae for accuracy, damage and every other mechanic has been cracked, though. With knowledge of the location of the accuracy values, couldn't something be extrapolated about the damage calculations?

But really it's a bit of a deeper issue. I've enjoyed using the tools in this forum a lot, but at the end of the day, I don't know much about the architecture and data structures in GBA games. Like, the editing of hex values containing the data is one thing, but I don't know jack about the assembly and the actual code of the games. Do you guys know where I could find a "for dummies" version, as it were?
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Blunderpusse on September 05, 2017, 09:11:41 am
Hello,

Sorry for necroposting, but I seem to be having a problem with one of the modules. The recruitment module doesn't seem to be working properly, at least not with special characters like Ezel and Ritz. I tried changing Ezel's class to alchemist, but in-game when I recuit him, he keeps coming as an hermetic.

Thank you for your time.
Title: Re: FFTA: Archiving data & Nightmare modules [Editor package available]
Post by: Senna on May 03, 2023, 07:10:48 am
to avoid starting a new thread it took me some time to track down nightmare editor   the author made the files for so here is the updated link https://www.romhacking.net/utilities/1307/