TargetsForward Targets and Back Targets are essentially the same thing, but they are limited to their current subset of event instructions. Thus ForwardTarget 0x00 and BackTarget 0x00 use different memory allocations and are separate. Only a Forward Instruction can use a Forward Target, and only a Back Instruction can use a Back Target

A ForwardTarget may only be placed after a Forward Instruction, and can be reused. This means that you may use ForwardTarget 0x00 as often as you want with simple instructions.

A BackTarget may only be placed before a Back Instruction and cannot be reused.

I understand that most people here didn't take higher levels of math in high school, but it is really embarrassing to have seen this mistake become such a huge phenomenon.I don't know who is the first person to have ever said that fist/truth/untruth/tiamat formulas were "quadratic" on GameFaqs, but because of this idiot, now just too many people use the word erroneously.

It doesn't take long to see how wrong it is to use the term quadratic in this case: https://en.wikipedia.org/wiki/Quadratic_formulaJust look at the charts; quadratic formulas increase, decrease and increase again or decrease, increase and decrease again. I've done this shit in high school.

FFT formulas are one way: they're exponential.

Just figure I'd toss that out there as someone who paid attention to "advanced" math classes in high school and graduated.

All properties are applied BEFORE items and abilities, and thus, -127 Move on a unit with 7 Move (3 from its job, 1 from Germinas Boots, 3 from Move+3) will drop that unit's Movement to 4; i.e. it only affects the job's stats.

In VBA (Alt+F11), remove all the forms from your spreadsheet and remove the "SharedXifiSheets" module

Either manually import each form (.frm) and the "SharedXifiSheets" module (.bas), or drag and drop them in Excel

Save

Note: Do not delete your "Self" module!Note2: You cannot import .frx files. They contain the form's code and will be automatically imported alongside their .frm counterpart.

What is it?

It's an Excel spreadsheet LOADED with new functions to help you to create and test your ASM hacks in the most user-friendly environment I could think of. You can also easily import your old hacks and it will be nicely reformatted for you, allowing a smooth transition to this tool.It will forever change the way you make ASM Hacks!

Requirements

Windows OS

Microsoft Excel 2007+ (non-negotiable, forget about alternatives)

*pSX 1.13 (to use the "Save to Savestate" function)

*FFTText Editor spreadsheet (to use the Load "FFTText function")

*ISO Manager (to create your own "FFT File List.txt")

*optional

Overview

An ASM coding friendly environment

With an XML import/export function that aims to retain as much information as it can

A TON of functions to help you out!

Save directly to your ISO, to your Savestate (only if the appropriate files are loaded), or even to XML with 3 different output options

A function that find console-breaking errors for you!

A function that allows you to import code from your ISO, your savestate, or even from the wiki!

A function to import data from your ISO or from a savestate, in the format that you want!

A function that lets you see where the free space is, and which hacks are conflicting!(Restricted to the hacks currently present in the spreadsheet)

And much, much more!

Getting Started

Get yourself familiarized with each sheet's functions

Open up the "Add-Ins" toolbar/ribbon

Click the Configuration icon and configure away!

Import an existing XML and look at branches/jump's formulas; use the same format for your own hacks. The colours are optional.

Try out essential functions such as "Insert Line(s)"

ASM Away!

Use the "Analyze Code" function to detect and fix console-breaking errors

Test your ASMs faster with "Save to ISO" and "Save to Savestate"

Finally, release as XML (Save to .xml) and share for everyone to use your hack

Known Bugs

Excel 2010 might crap out an annoying, but not spreadsheet breaking, 32bit ShellExecute function error (possibly only on W10)

This spreadsheet allows you to alter the width/height of location name graphics among other things.Useful if you are translating the game or just making your own total conversion mod.

Note: This spreadsheet is using an experimental spreadsheet template, and there might be bugs. However, from what I know, all the buggy features would not be accessible anyway in this case, but there might be bugs happening if you don't properly configure your settings. So, before you try saving to xml/savestate/ISO, make sure you press "Configure"!PS: All the functions are located under the Add-Ins tab/ribbon.

It usually is. It is exceptionally rare that it will be easy, but with our existing documentation, it can make things a lot easier (especially for ability formulas).

For some people, ASM Hacking is more than hard... it's trying to reach the moon.

ASM hacking is like programming

It depends on what you're trying to accomplish, but generally speaking, no. Many hacks only change one or two bytes. That is literally a quarter/half or one instruction. That's not coding; it's altering existing compiled code. Most of the time, you will be figuring out which register is used for what, how you can access different values, and which routines holds the preferable code to alter for your needs.

To some extent, you can. In terms of ASM hacking, you need the logic to be able to figure this shit out yourself. If you can't, you will struggle immensely and waste everyone's valuable time trying to teach you something that cannot be taught.

Do you think I'm being harsh? The reality is that ASM hacking involves a lot of debugging. Let's put it this way:

Understanding how video games work is like trying to get out of a rainforest having a GPS on hand. It's still going to suck, but you have some hope.

Not understanding how video games work is like trying to get out of a rainforest with a map drawn by a child. You'll wish you were dead.

But I know I can figure this out!

You would need more than just your average level of motivation.You would need unbreakable dedication.You will pull all your hairs out in the process.

And even then, I can't guarantee you'll make it.

If I don't make my hacks, who will?

Likely no one. I know this is a tough one, because ASM Hacking is excessively draining and not many people can do it.However, just because you have little hope of accomplishing anything yourself in terms of ASM Hacking... It does not give you the right you complain about your lack of ASM Hacks.It does not give you the right to assume that someone is going to ASM for you when all you do are FFTPatcher and FFTTactext edits. (Seriously, ASM Hackers are very rare; even if you event, the chances are slim)It does not give you the right to complain about WotL's lack of ASM hacks.

Be thankful for the hacks that already exist.Be thankful for future hacks (or in the making).

Final ThoughtsI personally favour making hacks that benefits a lot of people; not just a single project. That is why me and others do not take requests. No one wants to make a hack for some random guy who has no idea what he's doing with questionable motivation, while only he could have a use for that hack.

One in, usually, hundreds or thousands of people testing the game/software.The sheer volume of testers allows to easily spot bugs even if testers really suck at their job: i.e. finding bugs and reporting them so that they can be fixed.As a reward, people tend to get reduced subscription costs or even get the game/software for free.Usually, they don't give two fucks about reporting bugs, and just want the early access, and well, the reward is always welcome.

What is a professional bugtester/betatester?

Someone who goes through a game or uses a software actively attempting to break it.They, at the very least, have a basic understanding on how video game works. This is very important to know what to try to break. Trying to think about something the programmers missed.They have to write very detailed reports on how the bug was achieved, if it could be reproduced and so on.They are paid in money for their work (yes, it is work, pretty boring usually), and will likely keep the material they were testing.

Where do we stand?

Fixing bugs on the way, here and then, reported by people who feel like reporting them is far from an ideal solution, but it's all anyone on FFH ever had access to, because quite frankly, having one person being a casual bugtester and not reporting anything is really of no help. So far, as far as I am concerned, we've had less than a handful people apply for a position of bugtester for JotF (I doubt any other mod ever had that "luxury"), and 100% of them never reported back.From our perspective, they're just a bunch of people who abused our trust and only wanted to play the mod before everyone else. We don't need them.We can't afford to have a thousand betatesters; we might as well not even try to fix the damn game before releasing it and call a public release a "betatest". We just want our mods to be as bug-free as possible when first released. Modding consumes a lot of time and most people can't commit themselves to that. Like I said, we've never had a proper bugtester here on FFH, and having one would be so very welcomed! But if you're not... please don't waste our time and abuse our trust.

It allows you to create a completely new File Index for PSX CD Images (not just FFT), Import/Export files, and automatically associate Files and their Sectors + Filesizes to data locations inside the game.

We often assumed that if you were not mentioning that you were planning to mod WotL, that you wanted to mod the PSX version. Unfortunately, nearly every user would just assume that we magically knew they wanted to mod WotL, and it led to huge wastes of time, frustrations and so on. We don't exactly want to reply to 90% of topics by asking which version they want to mod either.

So, I decided to add a field on your profile; just follow this link and you will see it at the very bottom: http://ffhacktics.com/smf/index.php?action=profile;area=forumprofileYou only need to change it if you are using the WotL version (every existing account has been defaulted to the PSX version). This will allow us to know which version of the game you want to edit without having to nag you about it. Unfortunately, this likely won't work with old users because too many will not bother to edit that field even if they do use WotL. Thankfully, we more or less know who's using which version over time.

As for new users, they will be forced to choose one or the other, but it would still be nice to mention it in your help posts, because I still haven't figured out how to make the option appear in forum posts.

If you want to see which version someone else is using, you can do so by viewing their profile — it will be displayed at the bottom, above their signature.

I'd like to see what everyone thinks about which games have the strongest emotional moments... scenes that you can't help but cry every damn time.Quite a few games have pretty emotional moments, but for a few reasons I somehow can't get myself emotionally involved; I don't understand why I block that way, it's like I can't take the game seriously or something.

Unfortunately, these are the only ones I can think of right now... but those first two are always the ones I go back to if I need a powerful emotional release.

My list of worst ruined moments

Final Fantasy IV

Rydia is heavily traumatized by her village's destruction, seeing it go up in flames. 5 minutes later, this basically happens:- There's a block of ice blocking our path, Rydia, how about you use some fire?- I'm kinda traumatized you know.- np just do it- Ok.

Disgaea

Thursdays is dying for 5 minutes; they're trying to make the scene very emotional and then bam, Thursday doesn't die. It just left me with a very bitter taste in the mouth.

This tutorial assumes your main drive is C:\, feel free to adapt the information to your needs

Install DOSBox

Extract the contents of Win31.7z to C:\ (You should be able to browse to C:\Win31\WINDOWS\TIM Utility\)

Run DOSBox

Enter Mount C C:\Win31

Enter C:\WINDOWS\win (at this point Windows 3.1 should be booting)

TIM Utility should run on startup; use it as described later in the tutorial (Files can be imported from/exported to C:\Win31\WINDOWS\TIM Utility\.)

WARNING:

With this method, the file index is only refreshed once Windows 3.1 is rebooted. Because of how the program handles file names, try to keep your file names very short if you don't want to deal with the infamous "SomeFileName.bmp" becoming "SomeF~1.bmp". You will likely have to manually type the file names most of the time unless you reboot, because the file browser will not display them (but the files will still be loaded properly).

Visit http://ffhacktics.com/wiki/Effects. This page contains very important information used through this tutorial. Also, make sure you grab the .BMP version of the Effect file you want to edit.

Editing the file

Just change the colors and graphics as you want... unless you know what you're doing, do not change the dimensions, and if the wiki page states that the Effect file is "4bpp Multi-CLUT", do not use any color other than the first 16. Feel free to edit the colors; but don't use them in the graphical area.

For the sake of this tutorial, we will be using this "Bloody Sword" edit I made:

Reducing colors while maximizing quality (optional)

* This is a lot more for 8bpp effect files than 4bpp; since you only have 16 colors per palette, chances are, using this method won't change a damn thing, in fact, it could become a hindrance

What it comes down to, is the TIM files that will be generated for 8bpp effects are in fact 15bpp + 1 byte for the transparency channel, but indexed. 15bpp means 5 bits per color. So instead of the usual 0 to 255 Red, you'll have 0 to 31 Red. Or, if you prefer, 0-8-16-24-32-and so on... i.e. in increments of ~8. Unfortunately, the best way, by far, to achieve this, is using Photoshop. So, if you don't have Photoshop, sorry because I don't know how any other way to do this.

Assuming you were working with a .psd (and you should), save your file as a BMP, but select 16bit (which is really the 15bpp I mentioned earlier).

Next, open that BMP in Photoshop. Then, we want to reduce it to 8bpp, so head over to "Image"/"Mode"/"Indexed Color"

Make sure "Preserve Exact Colors" is checked! Otherwise, new colors will be generated, and there WILL be conflict, making similar colors becoming the same when creating a TIM out of it, and you WILL lose quality. Otherwise, just adjust the Dither and its % as you wish.

Just save as a 8 bit BMP and you're good to go!

Creating a 4bpp BMP (optional)

* This section is only necessary for Effect files that have a "4bpp Multi-CLUT" color depth, and only if the Graphic was altered.

First load up your 8bpp BMP in Photoshop, then just access its color table.

Next you will want to select all the colors from the start of the second row to the end of the last row.

A color selection dialog will appear; the color needs to be RGB 0,0,0 (pure black), then press OK. The color dialog will appear again, just press OK again.

Now you can save you file (under a new name ideally). When prompted, select "4 Bit" under "Depth", then press OK.

First load up your 8bpp BMP into GraphicsGale. Or if you were already working on it, save your file.

Next you will want to change its Color Depth.

Make sure 4bpp is selected, then press OK.

You will notice that the order of the palette is all wrong; this can cause some major problems, so we need to fix this. Click the arrow pointing downwards under the palette colors, and select "Load Palette..."

Choose "File"/"Import From File"...When prompted, select the file you are currently using. This is why saving the file beforehand is important.

Make sure that "Match Pixels with Colors" is checked. To make things easier, instead of using drag & drop with the colors, just press the "All" button. Then press "OK".

Your palette should now look identical to the first row of the 8bpp file. Now you can save (under a new name ideally).

Creating a TIM file

WARNING: If your Effect file's color depth is "4bpp Multi-CLUT", and you want to import a new graphic, you will need to create a 4bpp TIM file. However, if you edited the colors beyond the first 16 (i.e. the other palettes) and want to import those changes, you will need to create a 8bpp TIM file. Obviously if you want both new palettes and new graphics, you will need to create the two; a 4bpp and a 8bpp TIM.

Simply use TIM Utility with the right settings as displayed below. You can preview your file using the "Preview..." button; if it doesn't display properly, something's wrong. If everything looks good, close the Preview window and click "Convert...".

* If your Effect file's color depth is "4bpp Multi-CLUT", use the 8bpp TIM file that you created for these steps. If you only edited the first 16 colors, you can instead use the 4bpp TIM file with the range 0x14 to 0x33.

You might have heard that I'm making a job wheel hack, allowing to replace any generic job with a special job under given conditions, and even forbid them.The hack currently allows making Bard/Dancer not gender restricted anymore if you wish, and auto-masters any job that replaces Mime (because there is not RAM allocation for the learnt abilities flags).

I'm also considering adding the option to have more auto-mastered jobs past Mime. Of course, they would have no requirement, which is a downside (it would be possible, but I'd rather not use a lot of precious SCUS space). I'm reluctant to add this because of all the trouble involved, and its usability into regular mods.

I also wish to add the ability for monsters to change job, but I want to hear people's opinions about this. My wife and I thought about it; it could be job level based, yes, but also plain regular level based... for example: Chocobo (lvl 1), Black Chocobo (lvl 25), Red Chocobo (lvl 60). It might not be possible to please everyone, but I want to find a good middle ground. So everyone's opinion would be welcome.

See live what your text looks like in game, along with line lengths! (minus font colours)

Lots of settings!

What is this?

This tool allows to conveniently edit a .ffttext file generated by FFTacText, then generate a new one to load in FFTacText and easily + quickly generate/update your resources.zip. It is used by many of my tools to directly fetch text data for my hacks so that you know what is what without typing everything yourself.

I've decided to investigate and finally once and for all get rid of this issue.It turns that ppf-o-matic just hates fragmented ISOs. But don't worry: there's a very simple to fix. You just need the right program. It's called "Defraggler" and it allows to completely defragment individual files.

I'm making this topic not because we have too many talented people available, but rather, the lack of dedicated and talented people applying.

As project leaders, we know we can do shit.So when someone is proposing to help, which means a potential of countless hours of work lifted from our shoulders, it sounds awesome! Thank you! Except... the vast majority of people require us to babysit them only to see them quit after a few days. This happens very often and it is incredibly tiring.

I understand that some people have very valuable information that not many are knowledgeable about, but there are tutorials for almost anything. Please look up tutorials and get your hands dirty before saying you'll do anything for us! (spriting, eventing, ASM Hacks, etc.)Unless you played with those things beforehand, you have no idea what you're in for.

So please, if you're only going to make us waste our time, just cut it short, try those tutorials and see for yourself how much work modding really is.And if you do get past those tutorials and are still willing to help? Good! This proves you have dedication, and you are exactly the type of person we are looking for.Our time is precious, we have busy lives, and modding is a heavy commitment. Consider the possibility that while trying to help us, you might slow us down. Show us that you're not all talk! Please!

ARH2 removed all tables and you are pretty much forced to ASM in the requirements that you want. It is, however, as friendly as possible for coding that I could think/manage inside of Excel's limitations. Why did I do this? People kept requesting different things for the ARH, and ultimately, bending to everyone's needs would have created needlessly huge data tables, consuming absurd amounts of space when most people hardly use any of the ARH's capabilities. Now with all that junk gone, the ARH was trimmed down from the equivalent of 831 Kanji space lines, down to ~350 Kanji lines + 22 SCUS lines, including major upgrades.

A Bonus Abilities skillset

Its main new feature is a skillset innate to every unit in the game, the "Bonus" skillset, which can contain ANY regular action ability in the game (i.e. not chemist/draw out/charge type abilities). All you have to do is configure the requirements for those abilities.

Available AI abilities recalculated on new turns

Before, the only way these could be recalculated was if the unit used equip change or had a piece of equipment stolen/broken. Now, at the start of every turn, and during them, abilities recalculate their conditions, so that requirements of status based nature and the like aren't Player only abilities anymore.

Vanilla requirements are already coded in!

This probably isn't a consolation to many people, but Swordskills and Limit Breaks have their requirements already set up like they were in vanilla. If anything, at least it shows you how to code it yourself.

Some custom routines just for you~

Just use some very convenient routines that I made myself to very quickly determine if an ability will be enabled or not. I figured other routines were pointless due to how few lines they would actually require without much complexity involved.Includes:

Count # of Skillset ID Equipped

Count # of R/S/M ID Equipped or Innate

Count # of Item ID Equipped

Get First Weapon's Type

Get Weapon(s)'s Elemental Attack

Get Item Types

A convenient spreadsheet

Of course, it isn't perfect, but you have options to save directly to your pSX quicksave to see the results of your coding LIVE, immediately.You can also copy the xml's contents with a single click, on top of functionality like bookmarks to save your positions in code.

Many thanks to Chotokukyan!Without his extensive notes on the wiki, who knows how many more frustrations I would've faced...or if I would have even finished this hack!