• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 05, 2020, 01:44:45 am

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.


My progress in FFTA hacking [Map, Events and Text editing] [Engine Hacks]

Started by Leonarth, July 16, 2018, 12:14:58 am

Leonarth

Just to be clear, you don't need to include anything, everything is already included.
You don't need to uncomment anything outside of the main file either.

Some things are not installed but that's not because the hacks themselves are commented out or not included, rather the definitions that are checked for installing them are what's commented out, you should only uncomment those (in rom buildfile, the main file) and not the hacks themselves (which wouldn't be commented to begin with) if you just want to install them.
  • Modding version: Other/Unknown

Blunderpusse

I have a question about importing custom sprites. Through the EA and instructions you provided, you can import new battle sprites into free space in the ROM file, correct? Is there any way to import them and overwrite existing sprites? For example, imagine I want to overwrite the Viera Red Mage sprite with a Viera Green Mage. Can I do that?
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

You don't want to import the new graphics over the old graphics, and you can't, because the animation template graphics are bigger than the vanilla animations.

What you can do is simply make the game not use the old animation. Open the animation template and change the TEMPLATEID definition to the ID of the animation you want to replace. For example, if you wanted to replace the Soldier you would set the ID of the template to 0x00 and the ID of the water template to 0xBC.

It will work exactly the same as if you were using a new ID.

Alternatively, you can insert the animation with a new ID and change the ID of the battle sprite for the class. It really makes no difference, the space used is the same, you can't save space by replacing the old graphics or anything  like that.
  • Modding version: Other/Unknown

Blunderpusse

Thanks for the answer. I have another question regarding sprites, though. So, you have those semi-secret characters (Littlevili, Quin, etc.). Imagine I want to give them their own sprites. How do I make them NOT change sprites when changing jobs?
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

The semi-secrets do not have a character ID to them, they are just generics with forced names.
If you want to give them special sprites, you will have to give them a character ID.

Once you've done that, they will work just like any other non-generic and their sprites will never change when changing jobs.

If you are using the intro cutscene removal patch, you can reuse the character IDs for the kids.
I haven't looked into editing the data for special recruitments, though, so I can't really help you on that.
  • Modding version: Other/Unknown

Blunderpusse

No biggie. I was fooling around with NPC sprites on the ROM and that occurred to me.

On the nightmare modules, when opening the "recruitment.nmm" with Notepad(++), right on top there's the offset "0x529788". I don't know if that's the offset where all recruitment on the ROM takes place.
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

That would be the base offset of the table.
A nightmare module is structured like this:

1
Name
Base offset
Number of entries
Length of an entry in bytes
Dropdown list .txt file (or NULL)
NULL

After that, you get to specify the values to edit, like this:
Name
Offset
Length in bytes
Type of data
NULL

The types of data are not very important right now, what we need to know is just the base offset, the length of an entry and the offset of the data we want to edit.
The data we want to edit would be at (base + id*length of entry + offset of the data)
(id = entry, it's just a different name for the same thing)
  • Modding version: Other/Unknown

Taxxa88

Good morning, Leonarth. I hope you're feeling well.

I wanted to write you because I'm a big fan of all Final Fantasy Tactics sagas (It's my favorite game), this mod you are creating is super cool I look like a kid with a new toy and I would like to play it as soon as possible.

I ask you:

- Will we see it very soon?

- If I can donate something to help you or what you can tell me, I would be happy to do so.

- Do you already have a playable version to start in this quarantine time?

Thank you very much for everything and a big hug to all of you in the ffhacktcis community, you are the best.

Translated with www.DeepL.com/Translator (free version)
  • Modding version: PSX & WotL

Leonarth

Hello!
I am not exactly making a mod, you can think of what I do as making tools that people can use for their mods. These can, of course, also be used directly with the normal game, if that is what you want to play.

Everything you can see on this thread is publicly available and you can get it at https://github.com/LeonarthCG/FFTA_Engine_Hacks

As this is meant to be used as a starting point from which people can make mods there are many options to choose and customize. That is one of the reasons this is not distributed as a patch, like you might have expected or be used to. If you need help setting it all up, feel free to send me a private message.

I also have a mod that was released last year and uses some of the features shown in this thread. It follows the normal game but you are forced to capture and use monsters instead of normal units.
https://ffhacktics.com/smf/index.php?topic=12212.0

I don't feel comfortable accepting donations but I appreciate the sentiment. Thank you and stay safe.
  • Modding version: Other/Unknown

Blunderpusse

Speaking of the Monster Taming hack, I've got a couple of questions:

1. How did you change the formula for the "Capture" ability?

2. Although you removed it on the hack, monsters still were added to the Monster Bank. What did you do for that? (I tried checking the "Enable Capture" box on AIO's Job Editor, but it did nothing :p)

3. Do you know how to make an universal "Control" (and also a "Morph") ability that affects all monster classes, instead of having one ability for each monster class ([Control] Goblin, [Control] Panther, etc.)?

4. While testing the "Enable Capture", I happened to visit the Monster Bank and the instead of the monster battle sprites, it only showed the shadow at their feet (screenshots attached).
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

Quote1. How did you change the formula for the "Capture" ability?
I simply found where the vanilla formula was and added my own stuff to the code.
I think I just check for space in the clan and them being a monster?
I don't remember changing the hit% at all, other than making it able to hit monsters it can't in vanilla, and being unable to hit if the clan is full.

Quote2. Although you removed it on the hack, monsters still were added to the Monster Bank. What did you do for that? (I tried checking the "Enable Capture" box on AIO's Job Editor, but it did nothing :p)
All of the code for the capture effect was rewritten, it does unlock the monsters in the bank but just barely, I mainly did this just to see if it would get that one mission where the monsters escape to work. I'm not sure what you mean with "What did you do for that".
Each monster type has a set place in ram it gets stored to for the bank, if the monster can be found in the bank in vanilla then it gets stored, if not then it doesn't.

Quote3. Do you know how to make an universal "Control" (and also a "Morph") ability that affects all monster Jobs, instead of having one ability for each monster class ([Control] Goblin, [Control] Panther, etc.)?
For "Control" you would just change which Jobs can be targeted, no? It's not something I've looked into.
Morph is more complicated. When you Morph the game actually stores which race you morphed into so you would need to rework whole all of that works.

Quote4. While testing the "Enable Capture", I happened to visit the Monster Bank and the instead of the monster battle sprites, it only showed the shadow at their feet (screenshots attached).
The Monster Bank shouldn't be possible to visit, at least last time I checked it didn't even show up in the map.
I don't store all of the info for the monsters so that could be why they don't show properly.
  • Modding version: Other/Unknown

bcrobert

Just thought I'd comment on the Control/Morph question. For Control you may have to use my Ability Effects nightmare module (not the main Abilities module, the other one). I'm not sure if AIO supports changing targetable race, but I'm 99% sure that one of my modules covered it. Basically you would be looking for the targeted race and just changing it to target all monsters. (The function already exists for effects like Sidewinder, no need for coding.)

As for Morph, that's a whole thing. Since it draws so much data from the Monster Bank, you'd want to essentially cut it off from its initial functions completely. The abilities would need to be rewritten to ONLY change your available A-ability lists, instead of reading a tamed monster's data and changing your stats and blah, blah. (Otherwise you'd need to eff with how the ROM interacts with monster bank data in RAM at every possible point, including making any monster that's morphable capturable. Which would ALSO be a whole thing. That's why I suggest just cutting it off of its original functions and rewriting the ability from scratch.)
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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