• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 08:58:00 am

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


FFTA: Archiving data & Nightmare modules [Editor package available]

Started by bcrobert, March 11, 2013, 11:19:08 pm

Darthatron

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.
  • Modding version: Other/Unknown
  • Discord username: Darthatron

bcrobert

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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

Tango Down



Ethereal Embrace

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

bcrobert

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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

PilsburryJoeBoy

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.
You see a pimps love, is very different from that of a square.

bcrobert

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
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

PilsburryJoeBoy

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:

You see a pimps love, is very different from that of a square.

bcrobert

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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

PilsburryJoeBoy

 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
You see a pimps love, is very different from that of a square.

dck

Hm, was there any confirmation on the changes regarding exp gain? As in, someone using the 2x change found here 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.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Ninety

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.

bcrobert

Iirc that limitation was on purpose because that's where the structure ends unless you manually repoint it.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

Ninety

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?

dck

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.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

bcrobert

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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

Ninety

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?

Blunderpusse

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.
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Senna

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/

  • Modding version: WotL