All updates to the spreadsheet will appear in this topic.
Last updated on Saturday, March 10th, 2012.
*Added link to Terrence Fergussen's Battle Mechanics Guide, at GameFAQs, as well as what to search for to reach the relevent part of the guide.
*Exposed the Workspace sheet, where all the concatenation goes on.
*Updated key with Height Factor, Ability Animation, and Ability Effects 1 through 4.
*Changed the compressed archive to a *.ZIP file, so even less technical savvy is required to use the spreadsheet.
Updated on Friday, December 30th, 2011.
*Should now work with Excel.
*Includes a readme.txt with instructions on using the spreadsheet and pasting data into a ROM via hex editor.
Things to do:
*Need more info on what the various bytes do. I know someone out there knows what they do, so please post in this topic if you do.
*Some of the explanations may need clarification. Again, I await feedback.
*Need lists of bytes, explanations, and descriptions for Ability Effects and Ability Animations. For Ability Effects, this means attaching a byte to Terrence Fergussen's explanations and descriptions. For Ability Animations, this means attaching the name of an ability - or a description of the animation - to the data found in that column.
This isn't working in Excel because you used the function CONCATENATE(A1:A100). Excel cannot handle ranges, you have to individually concatenate the cells. (Yes, this is terrible, probably the worst thing about Excel.) If you do want to fix this, the easiest way is to code a custom function (e.g. http://www.vbaexpress.com/kb/getarticle.php?kb_id=817 (http://www.vbaexpress.com/kb/getarticle.php?kb_id=817)) that accepts ranges to replace the horrible default Excel function.
Bump for update.
Darth and I are resuming work on FFTA stuff some time in January.
Note to self:
Quote from: Eternal248 on October 27, 2011, 11:18:43 am
0x0C, 0x0D, 0x0E, and 0x0F in your spreadsheet seem to be the four effects attacks can have. I'll try and decode them from there.
I don't really know what I'm doing wrong, but I copied the data from the data block and try to insert that data into the address as a hex string using the clipboard... in xvi32, but xvi32 keeps reporting that there is no hex string... What did I do wrong?
What Operating System do you use? What version of XVI32 do you use? What spreadsheet editor do you use?
Make sure you don't click into the data cell when you copy it. Just click on the cell, or, better yet, use the arrow keys to navigate to it, and then copy the data with a keyboard shortcut (Ctrl + c).
Until I know more, that's the only explanation I can think of.
I've been trying over and over again... and I just can't get this to work.
I am using Windows 7, the 2.53 version of XVI32, and excel
Quote from: Naoto on February 29, 2012, 06:13:15 pmI've been trying over and over again... and I just can't get this to work.
I am using Windows 7, the 2.53 version of XVI32, and excel
I'm including a *.ZIP which contains screencaps that tell you exactly what to do. I don't think you're doing anything wrong, but other people will want it, I'm sure, and it won't hurt to look at it.
So you're using Windows 7 and Excel, but you can't get it to work. Can you tell me what Cell D2 of the Copy worksheet contains? Specifically, if it contains numbers and hex letters, or if it contains weird symbols, especially the number symbol (#####)?
If it does contain the number symbol, then you're missing something for Excel which allows you to use hex2dec and dec2hex functions. I think it's called the Excel analysis toolpack (http://www.google.com/#hl=en&q=excel+analysis+toolpak&oq=excel+analy&aq=0&aqi=g10&aql=&gs_sm=3&gs_upl=5216l6514l0l7927l7l7l0l1l1l1l398l1138l0.4.1.1l6l0&gs_l=serp.3.0.0l10.5216l6514l0l7928l7l7l0l1l1l1l398l1138l0j4j1j1l6l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=d7f22063c0c5d1c3&biw=1024&bih=436).
If it doesn't contain the number symbol, then try using the other spreadsheets on this site which are for Final Fantasy Tactics for the PS1, and then tell me if they work or not. This will tell me if it's something wrong on your end, or if it's something wrong with my spreadsheet.
Whenever I click the cell containing the modified data, I see =Workspace!D2. The number inside it seems to be a hex number. I'm not sure if this is correct, but I notice that hex strings are inputted in 2-digit pairs (I saw this when I was using XVI32), but this number string is not split up in 2-digit pairs, it's just a single numerical string.
Can you screencap it as you copy? I want to see what you see, and what you copy.
You could be copying the formula =Workspace!D. Make sure that you click on the cell, but don't click into it. You want to copy the string, not the formula that generates the string.
It doesn't matter if they're 2 digit pairs (which are called a byte). It's meant to be a single - very large - string of numbers and the occasional A, B, C, D, or F.
The attachment is what I get when I copy the first data block. Copy the first data block for yourself, paste it right after the block I pasted, and attach the file to your reply. Make sure you use Notepad - not Wordpad or Microsoft Word - to edit the attachment to my previous post. Make sure you have word wrap or text wrap turned off in Notepad, too.
I tried again and it still doesnt work...
What do you mean by make sure you use Notepad and disallow word wrap?
I updated my previous post to clarify what I meant RE notepad and word/text wrap. But I don't really need that, because I can see that it copied correctly, in your clipboard, so it must not be pasting correctly. This is either an error in Windows 7, or an error in XVI32.
I recommend you try another hex editor, and then tell me the results. Hexecute comes to mind, but there are a ton just a google search away, so it shouldn't be hard to find three or four and test them. Do you want me to find them for you?
If it works with another hex editor, then I have a bug report for the guy who wrote XVI32. If it doesn't work with another hex editor, then I have to find a Windows 7 help forum.
Do you have any recommendations for which hex editor to use?
http://www.romhacking.net/utilities/206/
^Hexecute.
http://www.romhacking.net/utilities/574/
http://www.softcircuits.com/cygnus/fe/
^Cygnus. I'm not sure if it can paste gigantic strings. There might be a newer version at the Cygnus site. It's probably not free.
http://www.romhacking.net/utilities/291/
^WindHex32
http://mh-nexus.de/en/hxd/
^HxD
http://www.hhdsoftware.com/free-hex-editor
^Neo
http://frhed.sourceforge.net/en/
^Frhed. You want either the zip file (http://sourceforge.net/projects/frhed/files/1.%20Stable%20Releases/1.6.0/Frhed-1.6.0-exe.zip/download), which you can unzip where you like and use it from there, or the install executable (http://sourceforge.net/projects/frhed/files/1.%20Stable%20Releases/1.6.0/Frhed-1.6.0-Setup.exe/download), which will install it on your computer, so you can access it from the programs menu.
So... after a bit of time, I decided to instead use my main computer instead of my mobile laptop. Still using Windows 7 and Microsoft Excel, everything works with HxD! :D Thanks for helping. In any case, I'll leave here with one piece of information I found that I didn't see so far, I think that 0x14 is the graphical effect for each skill. For example, 0x49 maps to Madeen's graphics that occur when Madeen is used. Hope this is helpful!
Quote from: Naoto on March 07, 2012, 04:06:30 amSo... after a bit of time, I decided to instead use my main computer instead of my mobile laptop. Still using Windows 7 and Microsoft Excel, everything works with HxD!
So it was something wrong with your laptop?
Could you try it on your main computer, using XVI32, and tell me if it works? And could you also try it on your laptop, using HxD, and tell me if that works, too?
I want to know if I should recommend HxD for Windows 7 users, and if the problem was with XVI32 or not.
Quote from: Naoto on March 07, 2012, 04:06:30 amThanks for helping.
No problem. That's why the spreadsheet exists. I couldn't claim to be helping people if I made the spreadsheet, and then didn't help people use it, could I?
Quote from: Naoto on March 07, 2012, 04:06:30 amIn any case, I'll leave here with one piece of information I found that I didn't see so far, I think that 0x14 is the graphical effect for each skill. For example, 0x49 maps to Madeen's graphics that occur when Madeen is used. Hope this is helpful!
And thank you for the feedback!
Looking at the data in http://datacrystal.romhacking.net/wiki/Final_Fantasy_Tactics_Advance:Abilities, I found out that the unknown between aura/area and power should be the height factor.
So it is unclear as to what determine an ability's affect (healing, damage, magic damage, status)? That to me seems to be the most important bit of info we need to get to truly change this game.
Power is Column M on the spreadsheet. Status is determined by a property. Each ability has one or more properties, such as Inflict Poison, Steal Gil, Heal HP, etc. Darth has a list of those somewhere.
That list would certainly be helpful. Another thing, I haven't checked myself, but what determines a move's range to be weapon and not a numerically fixed value instead? I'm particularly interested in replicating the effect of Earth Render except that I would prefer it have a limited range of either 4 or maybe 5.
Anyone want to take over updating for this spreadsheet? Because I have a lot on my hands, working on SaGa Frontier.
@Eternal248:
Insert another post before my first post in this topic, and assign that post to the person who decides to take over. Or just assign my first post to them, so they can edit it, and reupload new versions of the speadsheet to that post.
I'ma see what I can contribute, and it's basically me messing around with the bytes. What I said before about byte 0x14 being a choose from a ability graphics list can be extended to byte 0x15 where the full hexadecimal is 0x(byte 15 digits)(byte 14 digits). To put simply, byte 15 is 1 if the number exceeds 0xFF and 0 otherwise. I'm pretty sure about this as it would make sense.
Last updated on Saturday, March 10th, 2012.
*Added link to Terrence Fergussen's Battle Mechanics Guide, at GameFAQs, as well as what to search for to reach the relevent part of the guide.
*Exposed the Workspace sheet, where all the concatenation goes on.
*Updated key with Height Factor, Ability Animation, and Ability Effects 1 through 4.
*Changed the compressed archive to a *.ZIP file, so even less technical savvy is required to use the spreadsheet.
Things to do:
*Need lists of bytes, explanations, and descriptions for Ability Effects and Ability Animations. For Ability Effects, this means attaching a byte to Terrence Fergussen's explanations and descriptions. For Ability Animations, this means attaching the name of an ability - or a description of the animation - to the data found in that column.
http://datacrystal.romhacking.net/wiki/Final_Fantasy_Tactics_Advance:Abilities
Messing around with the ROM a bit more, I find that byte 0x16 contains a mapping from the ability to its description string. Again, it's like Madeen's ability description byte maps to the string "Deals Holy Damage!".
Also, since there are so many strings, I believe that byte 0x17 contains that overflow bit like for the ability graphics, as it is 0 unless the ability description byte is forced to overflow into another bit. In this case, byte 0x17 becomes a 1.
So I found out that it seems that HxD works on my laptop as well. I think that the reason behind it might be that if I try to paste into XVI32, it pastes insert whereas in HxD, it does a paste write. Or maybe, something to that extent, I dunno :P
In any case, I found that bytes 05->08 collectively have something to deal with the range. Of course, some bits will translate to a certain targeting configuration. I haven't tested it through to the rom yet though. I've been basically eyeballing anything I can from TFergusson's Mechanics Guide <- Amazing work.
Also, I found that bytes 0x10 to 0x13 likely collectively determine the properties of an ability like reflectable and whatnot. I am currently trying to figure out this part. It's a ton of eyeballing right now :P
Attached is what i believe is my findings. There's a LOT of missing information though. Please fill in the blanks wherever possible.
Thanks for the .txt! This will be helpful. :)
Key:
R = Reflectable
S = Stealable
M = Not Silencable
O = Offensive
I = Ignore Reaction
! = R-Ab:Return Magic
@ = R-Ab:Absorb MP
P = Is Physical
Byte #1| Byte #2| Byte #3| Byte #4
RIO----- ---!--MS -----P@- --------
Protect: 10000001 01100001 00010000 00000000
Dispel: 00000001 01100001 00010000 00000000
Holy: 00100001 11110001 00010010 00000000
Judge: 00100000 11100001 00010000 00000000
U.Blow: 00100000 10110010 00010110 00000000
Fire: 10100001 11110101 00011010 00000000
Greas.B.: 01100000 01110010 00010100 00000000
From my notes. Looks like you found most of them already, though.
The silencable aspect though doesn't seem to agree with the spreadsheet though completely. One example is alpha, alpha is apparently silencable, but I don't think it contains that not silencable bit.
Oh? But it's checked in the function. :\
I know :/
I thought along the exact same line of reasoning you did... Until I found some odd exceptions, maybe there's another flag bit to signify why this is so? I dunno.
Does anyone know how they did the same thing in FFTA2? That could give some hints, or at least mystify you sufficiently if you find that they did the same thing there.
Edea made a display spreadsheet for FFTA2 a while back, and it seemed to have a very similar format to FFTA's ability setups.
There doesn't seem to be an ffta2 forum topic. Where is this?
I don't think Edea ever posted it on here. I'll ask her when I see her again.
Random question that I found in the spreadsheet: what does the ability mythril do? Is it a throwaway ability? It just seems so random.
Mythril Combo, maybe?
Huh... maybe... but that would be weird. The supposed Mythril is placed between the Juggler skillset and the Sniper skillset I believe and it seems completely out of place (hidden ability perhaps?). Also, on an interesting note, it does not seem any of the abilities are on this spreadsheet. Maybe this means they undergo different treatment than the rest of the abilities?
So I made a random guess at what the 0x01 bit did in the 0x11 byte, and I tested my guess to get an interesting result. Unless I'm mistaken, that bit signifies if one can use doublecast with that ability. Either that, or that the bit signifies that it is some form of magic as basically all of the magic abilities have this bit, but removing it seems to remove doublecast's compatibility with it. This might allow for us to now use doublecast with ultima hehe
I remember Darth was discussing how we wanted Red Mage's doublecast to NOT affect Summoning magic. This may be the solution.
I have another question. Is there another byte that determines whether or not the damage/healing of a move is physical or magical? I'm pretty sure there is. As there is no effect byte that specifies this.
The byte that I mentioned is either specifically for magic or doublecast will work for all abilities considered magic. The reason why I differentiate is because I do not know any other use of the abilities being magic, maybe damage calculation? I dunno.