• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 19, 2024, 04:04:21 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.


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

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

dck

Combos aren't but totemas are just abilities with normal animations that can be re-used and changed with no issue, yeah.

Thanks for the heads up in blocking totema command alone btw! It doesn't modify the read JP for units, right? Didn't notice a change testing JP-mult on combos, at least.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

Only the change you posted affects the JP reading, the totema/combo only ones do not.
They would be pretty useless otherwise.
  • Modding version: Other/Unknown

dck

I was testing the bigHP.event hack a bit further- it looks like if you target several units with an AoE attack and press L or R to switch between damage specifics of each unit, the game will softlock.

The"Lv: XX" on the target's stat display starts quickly flashing in and out, as you can see in this screenshot it wasn't visible despite it always being printed when the hack is active:
  • Modding version: Other/Unknown
  • Discord username: adri#1824

endrift

Wow, that is an incredibly old version of mGBA. You might want to update; 0.8.3 just came out.
  • Modding version: Other/Unknown

dck

When I took up the hack again I wanted to keep the emulator version the same while getting up to speed with changes I had unfinished, to make sure everything was working and be able to spot any new issues (should they happen) when updating to the newest one.

For example, through second year of hiatus I got a few reports of a Bishop ability animation being broken, and apparently that was related to a certain issue with the version of mgba at the time. Currently in the latest version it seems to be working again.

Anyway, should've remembered to run the test for the engine hack on the latest version as I usually do not to compromise things.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

Quote from: Leonarth on July 09, 2020, 08:17:11 amAfter trying to fix the shoes issue for a while I noticed they have abilities assigned to them, for some reason... This is probably a remnant of how they used to work? The issue here is that the job the assigned abilities are for is 0xFF, which is not a valid job, this leads to weird stuff, essentially.

I had a special case for job 0, which is used for blank entries, but I guess I'll go ahead and add cases for job 1 and job 0xFF as well. The change should make sure even vanilla items work just fine.

Anyway, thanks for letting me know about the issue. The fix should be up later today. As for the Morphers one, I have yet to look into it but I have a guess of what's going on.

Today I was messing around, documenting more of unit data, and I got to a byte that I had looked at before but didn't really quite understand, byte 0x3D.

As it turns out, having an item teach an ability to job ID 0xFF DOES do something!
It sets this byte 0x3D in unit data to the ID of the ability being "taught".
Why does this matter? Because this is how the boot passives work, these ability lists are not unused after all, they are directly responsible for setting the right byte to modify movement.

There are 6 passive abilities boots can grant in total, from ID 1 to 6, any other number will be ignored.
As far as I can tell, only IDs 4 to 6 are used in-game, for the Galmia, Feather and Fairy shoes, in that order.
However, the other 3 abilities do have their own effects:
1: Movement +1. (yeah, pretty useless considering this can be done through stats no problem).
2: Jump +1.
3: Jump +2.
4: Standing type set to 5. (Galmia Boots).
5: Standing type set to 3. (Feather Shoes).
6: Movement type set to 3. (Fairy Shoes).
Anything else: Movement, standing type, jump, etc, are restored to normal when trying to move.

So yeah... all in all, not a very interesting discovery, I guess... Still, I felt like I should correct what I said, so there you go. Don't remove the list from the shoes or they'll stop working.
  • Modding version: Other/Unknown

dck

Damn, so four years later there's an explanation to why this happened.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

ExL

Ultimately I'd wish to have A1 with as many A2 content stuffed in as possible and QoL patches so it's kinda like vanilla expanded. But that's a lot of work(part of which I can't do, like ripping from DS and inserting and part is tedious learning of how to make abilities with descriptions, etc.) :-( So I tried making viera spellblade match restrictions of GBA with matching palette and hope at least her will be in base mod out of the box. It would be useful for modders as base for new class too.
  • Modding version: Other/Unknown

Leonarth

Quote from: undefinedI tried making viera spellblade match restrictions of GBA
I already have a full spritesheet for the viera spellblade, as well as portraits.
It was even posted on this thread (the animation, not the portraits):

I also have a viera green mage one and a gria hunter one.
Either way, the format is wrong and it's missing most sprites, as well as the in-water version.
If you want to make more spritesheets, please stick to the format provided in the animation template and make sure your image is in indexed 4bpp mode and respects the original color order. If you have any questions please DM me.

You can always find the most up-to-date template here: click here

However, the best thing you could do to help make more of these is to either learn to and rip the sprites from ffta2 or somehow find complete spritesheets of them. Even if you do that there's going to be a lot of poses missing, though, since there are a lot of differences between the two games, but it would be a great help.

Quoteand hope at least her will be in base mod out of the box
No. That's not what the engine hacks are for. If someone wants the viera spellblade animation they'll have to insert it for themselves using the templates (which is as hard as copying the files over and writing a single line in a text editor). If hackers show interest then I would consider starting a thread here on the forum so we can make a collection of spritesheets, or have them added to the repo so people don't even have to go get them, but I'm not going to be changing the vanilla game like that, adding new jobs and such.
I've said this many times, and I will repeat it: this is not a romhack, but rather a collection of engine hacks for people to base their hacks off of, think of it like a base.

Anyway, the spritesheets I've mostly adapted myself, although for some poses (the KO ones) I had help from a friend, this same friend also helped a ton with the portraits, although I'm sure he would be happy to share them so people can use them. I would have to ask him but I don't expect he'd be opossed at all. (Actually asked him already, he's fine with it).

However, in the year and a half the template has been available I haven't seen anybody actually use it (or even contact me about how to use it or anything like that), other than myself and a friend, so I'm not sure people are too interested in inserting new animations like that for their hacks or if this is because people don't know they CAN add new jobs to the races or if they just don't want to, or don't know how to get more animation IDs and job IDs.
  • Modding version: Other/Unknown

Blunderpusse

When you say "animation IDs", do you mean ability animations?
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

Quotedo you mean ability animations?
No, but that would be the same as anything else: just repoint the table that governs them.

I'm talking about the unit animations, battle sprite I think is what AIO calls them.
  • Modding version: Other/Unknown

Blunderpusse

Regarding the complete spritesheets, spriters resource already has most of them, even the water animations. The palettes won't match the gba's, but I've tried editing/adapting the Green Mage sprite and it didn't seem too hard, tho.
  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Leonarth

Quote from: undefinedRegarding the complete spritesheets, spriters resource already has most of them
Not at all, I would even say it's missing most of them... and I would be right.

For regular jobs, it has 21 of them, FFTA2 has 62 jobs. That's not even half of them.
As for the (more important) jobs new to FFTA2 (and again not counting special characters) it has 6 out of 18. Again, not even half of them.

It's also worth mentioning it only has a single monster that is new to FFTA2, the chocobo, which I also already adapted the sprites for, it's missing a few poses and a proper script, though, as well as the water poses.

Also, like I said, I already have a complete Green Mage. Have had it for over a year. And yeah, it was very easy to port, way easier than the Hunter Gria. Most of the work was on making the poses that either were not in the sheet or just plain don't exist in A2.
  • Modding version: Other/Unknown

rrs_kai

Quote from: Leonarth on August 04, 2020, 09:42:30 pmWell, it's taken a while but I've finally made one of these dream features I wanted from the start: Nicknaming.
I have taken the new files and the new core. I enabled stealing shoes in the rombuildfile, no other change. I am using mGBA (0.8.3). Everything works fine, if I don't use any cheats.

I have cheats for the 6 units to master all abilities, and now I got an odd result. If I enable the cheats, every unit other than Marche had their name set to "tttttttttt", even Montblanc. Renaming works, but their name changes back to "tttttttttt" if I enable cheats.
  • Modding version: Other/Unknown

Leonarth

Well, you are overwriting the data so of course it changes the nickname.
This is not a bug and there is nothing odd about it.

Like I said, this uses the space freed by 1 bit abilities, that's to say, the space that would normally otherwise hold the AP accumulated for each ability. You are using a cheat that writes to that space in memory so anything new I make that uses it will be destroyed like that.

Instead of using cheats, you can manually set the learnt abilities: Go to 0x2000080 + 0x40 + (0x108 * unitID) and set first 0x20 bytes there to 0xFF. Or make a new cheat that does that for you, I guess.

Also, looking at your cheat, that wouldn't even get you all abilities if you are using the 1 bit abilities engine hack anyway.
  • Modding version: Other/Unknown

Leonarth

On today's news: your save is now worthless, throw it out.

In all seriousness, I just added an inventory rework, which will 100% destroy your current inventory, it is considered an essential engine hack. So far nothing really depends on it but either way I think it is worth your time.

The whole point of this engine hack is that it cuts the space inventory items take in RAM from 4 to 1, leaving us a lot of free space to do whatever else with. I'm not sure what could be done with this area, but it is good to have it freed. However, as a side effect, items are always sorted by ID, manual sorting is no longer possible.

As for immediate benefits, the items used for each Item ability command can now be customized (more on that down below), the items the player starts with can also be changed, the tab each type of item appears in on inventories can also be altered and more importantly, the item list can now be extended without having to worry about inventory issues, up to item 0x1FF.

As for the Item ability bit, you can now set which item is to be used for each Item ability, this can be a consumable item or something else, you can also set a chance for it to be consumed and a custom condition for the command to be usable. For example, you could make an item ability that allows you to cast Fira using a specific rod, with a 20% chance for it to break, but only if you are an Alchemist.

It is very likely that this broke... Something. Somewhere. So please keep an eye out for any issues related to items, so you can report them to me to have them fixed!
  • Modding version: Other/Unknown

dck

Amazing and finished quicker than I expected- gonna test this in a while, though I was looking at the files earlier and you accounted for things like feeding monsters etc already, so I can't think of any weirder case off the top of my head you wouldn't have tested yourself. Maybe steal/item destruction abilities? Sensing hidden items?

I don't know if other people made custom consumables before, but for those interested this also fixes new consumables not actually using the intended item; until now you could display item count but not actually consume them.

Two questions:
-If you set up a new item-related ability, there's no reason it has to go in the ITEM command, right?
I didn't have any ideas when you brought up what the new item-consumption conditions could be used for, but I guess very basic ways to use them would be to give Ninjas throwable kunais, or Alchemists item-related abilities that enhance the typical uses they would have through ITEM.

I don't even have Ninjas in my mod, but that last one sounds like it'd have some potential and differentiates it further from vanilla Sage (meaning I could eventually re-introduce Sage). Plus I'm not a huge fan of ALC having an extra command no one else has. Or of giving it to others.

-The custom ASM conditions would be basically anything, like whether the item is equipped or not right? Or whether it's idk, day 6 of Madmoon I guess. It's sometimes hard to grasp scope of some options given how restrictive development has been until now.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

Quote from: undefinedMaybe steal/item destruction abilities?
Steal/Aim:Weapon, Drop Weapon and all such abilities all worked straight out of the bat once I replaced the item give and item lose routines, so I would be surprised if there's some ability that's still broken.

Quote from: undefinedSensing hidden items?
This has nothing to do with the party inventory or how the party inventory works.

Quote from: undefinedIf you set up a new item-related ability, there's no reason it has to go in the ITEM command, right?
It has to go in Item. That's what the table does. How would you even display the item count in any other list anyway? There would be absolutely no way to tell if it's just an MP cost.
If you want to give jobs new item-consuming abilities I suggest you either just stick these abilities in the Item command (you can check for a specific ability being learnt and that job's action command being equipped) or make a new ability effect that brings up a menu with items to select or something? Like Mirror Item in A2. Although I guess what you want to do is more aking to Item Lore.

Either way, I only changed how the game builds the item command list and such, I didn't touch how it decided to use items instead of MP or anything like that, so yeah, this is only for the Item command.

Quote from: undefinedThe custom ASM conditions would be basically anything
ASM is code, you write it, the GBA runs it, the custom condition can be "can you clear 200 lines in this tetris minigame I made" or whatever else you imagine. In a similar vein, you could write new effects or targeting conditions with ASM.

That said, if the item is equipped it wouldn't be able to be used, so that condition doesn't really make sense.
  • Modding version: Other/Unknown

dck

QuoteI only changed how the game builds the item command list and such
Cool, was misunderstanding that. Didn't actually think about logistics of differentiating item counts from MP and I'm not used to consider these options when planning ability sets, but I guess with job&race customization learnable ITEM abilities are also a thing.

I wanted to avoid bloating the ITEM command itself for everyone else, if making new consumable-related ability sets. I guess that's a complete non-issue when you can just define under what conditions the abilities themselves would be available.

Perfect, thanks for the answers.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

Quote from: undefinedbut I guess with job&race customization learnable ITEM abilities are also a thing
They are not. The way Item abilities work means it won't even check if you have learnt the ability, it wouldn't work if it tried to, anyway.

Let's use an example: You have an Hume Soldier with the Item ability, and you have made it so Item abilities can be learnt. You purchase First Aid for your Soldier, and now... The soldier has also learnt Potion, because Potion is the first ability of the Item race, just like First Aid is the first ability of the Hume race.

Both are the first ability of their respective race, so both would set and check the same bit when trying to check if they have been mastered. Without a mountain of exceptions to handle that, having the Item abilities be purchasable can't be done. And at that point I'd say it would be more worth the effort to make it so other action commands can use items instead of MP, making an Item command for each race and removing the original Item race.
  • Modding version: Other/Unknown