• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 12:46:16 pm

News:

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


What are the chances of something like A.I.O editor happening for FFTA2?

Started by FrozenDragon150, November 25, 2015, 05:25:53 pm

FrozenDragon150

lolTopic is there enough interest?

Btw, there exists the possibility of Lennart's editors having some bugs, and he's not around anymore to fix them, just saying.

bcrobert

I'm not saying it'll never happen, but there doesn't seem to be a whole lot of interest at the moment. It all boils down to luck. Either a programmer will dig the game up and decide they want to work with it, or they won't.

Fans of isometric RPGs have been left starving for a while, so maybe there'll be some more interest in hacking these games as that trend continues.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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

Darthatron

Not unlikely in the distant future. I never really played it much so I don't have any interest in hacking it (bar a few minor things that were requested) Plus, DS was never my forte.

But someone could come around at any moment and do something. That's what happened with me and FFTA.
  • Modding version: Other/Unknown
  • Discord username: Darthatron

FrozenDragon150

I see, well, I guess we'll wait it out.

...In the meantime however, could someone with patience make me a patch only with all max levels at 99? (Level scaling)

I started but, It's driving me nuts :(


FrozenDragon150

Excellent!

Luckily most of the important data is already in our hands by now.

Battles would be the important factor here, as most of the other complicated stuff (Jobs, Abilities and Equipment) is already handled decently by other programs.

In the spreadsheet, on the formation data tab, there are the addresses and data of each battle, followed by each of the battle's units specific address and data.

According to the spreadsheet, each unit's specific data goes like this:

00: Sprite/Character (00 = Generic)
01: Job
02: Min Level
03: Max Level
04 05: Name (00 = Random, if the unit has a special sprite = Cid)
06
07
08
09
0A: X Position
0B: Y Position
0C
0D
0E 0F: Ability 1
10 11: Ability 2
12 13: Ability 3
14 15: Ability 4
16 17: Ability 5
18 19: Ability 6
1A 1B : Skillset 2
1C 1D: Ability 1
1E 1F: Ability 1
20 21 : Ability 3
22 23 : Ability 4?
24 25: R-Ability
26 27: P-Ability
28 29 : Equip 1
2A 2B : Equip 2
2C 2D: Equip 3
2E 2F: Equip 4
30 31: Equip 5
32
33
34
35
36
37
38
39
3A 3B: Faction?
(Credit to Rfh for posting this before)

nitwit

Could you cross post this to the gamefaqs boards?  Maybe someone knows about it there.

FrozenDragon150

This game's board in gamefaqs? It's mostly dead, posted it on gbatemp, no replies so far.

Eternal

Honestly, I would find a text editor most useful right now, as well as an actual battle editor. Most other changes can be made with other editors, but text editing is currently slow and inefficient, and battle editing is very tedious.
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

FrozenDragon150

Quote from: Eternal on November 30, 2015, 09:54:57 pm
Honestly, I would find a text editor most useful right now, as well as an actual battle editor. Most other changes can be made with other editors, but text editing is currently slow and inefficient, and battle editing is very tedious.


Exactly, though I put a battle editor first in my hacking needs since it is far simpler to make (I think) than a text editor, what with all the text characters, pointers, stuff like that.


nitwit

Post as much information about both as you can, I'll see what I can do.

Eternal

Attached to this post is a folder containing spreadsheets for just about everything. Battles, text, all of it. I also have a table for hex -> text conversion if you need that. I've labelled everything, so it should prove useful.
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817



FrozenDragon150

It depends, there are 2 programs written in java, and both of them work adequately, but you should write on the language you feel most comfortable in.

nitwit

I have more experience with Java but you have to fight with Java to get things that should be very simple to work.  I think I'll give C# a try, and Mono to give it at least a chance of being cross platform.

FrozenDragon150

Sure thing, when the end result is similar you should pick the method you find more efficient, good luck :D

nitwit

Done with finals, probably passed all my classes.  I'll start work on the editor tomorrow/later today.


nitwit

I can't find the Monodevelop IDE after I installed it, so it looks like you're getting a Java program.

I can't find any strings of characters - is the data in this game compressed?  I found the data that's mentioned in the "Formation Info" tab, but I'd rather have you describe it instead of trying to figure it out myself.  You know it better than I do.

Could you provide the following?

Quote1. Starting and ending addresses for all of the data tables (programmers call these 2D arrays) used in the game?  Both starting and ending address should be the first and last address where data is found for each table.

2. Number of columns that each entry in these data tables have, and the number of entries per data table.

3. What each column means, how these things relate to one another, and which bytes (from 0x00 for byte zero to 0x?? to byte whatever) map to which columns.

4. Lists of digits - item names, ability names, character names, job names, what have you.  You can put them in a spreadsheet if you like, but I prefer them in a plain text file seperated by something (I use commas).  Make them something like this:

[Knight, Fencer, Assassin, ...]

I can format them however I like once I have them all in order and separated by something, even just a comma.  But whatever you use to seperate them, it can't be something that appears in their names.

It is VERY IMPORTANT that all these names be in the same order they are found as entries in each table.  This will be what I use to locate the data for that entry, and it will be what appears in the lists and combo boxes you use to navigate between things.

I use dictionaries (also known as maps) to hold data.  Dictionaries work like this: you input a key, and the dictionary outputs a value.  The key in this case will be a string that uniquely identifies that entry, and the value will be the array of bytes that makes up that entry.

You can nest mutiple dictionaries within one another, which is what I like to do.  But you can't iterate through a dictionary in order.  To do that you need to externally store the keys somewhere else, which is why it's so important they be in order - that's how I'll allow the game to list each item in order, it's what I'll use to read to and write from the *.nds file in order, it's used in making the GUI components work modify the data, it's used everywhere.

5. Get on chat and get all your buddies together from this site and any others where people where care.  Work together collectively to figure out what you want this editor to look like.  Use things like FFTPatcher or any other game editor as a reference.

6. Come up with a good name.  Don't make it lame.


I don't need rips of the actual data, I can get that myself once I have everything set up.  The first thing I'll do is read the data into my Dictionary<String, Integer[]>, print it out, and post it here for you to check.  Then I'll write it to the file and compare with the unmodified file to make sure that I'm writing correctly.

After that I'll start designing the GUI and get it looking exactly how you want it, then I'll make the GUI functional.  Once that's done there's nothing left to do except fix bugs and try to figure out how to deal with ragged arrays and pointers for editing text.