• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 04, 2024, 03:08:55 pm

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 or our Discord!


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - RetroTypes

61
@Blue so the amazing Xif has whipped up a spreadsheet that'll let you edit the variables used for this purpose. You'll have to format the result yourself for use in FFTorgASM but other than that, just plug in your values and get your hack!
62
Hmmm.. I actually just tested this with TLW's Ashley Riot and Balthier, and they too don't update when killed. I'll report it to Elric, and in the meantime, you'll have to just not have them update on deaths or other leaving events. If we find anything new I'll try to post back
63
Do they not work automatically? I was under the impression the game automatically uses the last 4 bio entries for those purposes, even if you edited them.
64
New update, fixed the inventory list menus! Thanks to Elric, who found all of this. Had to figure out what each section did individually before I was comfortable posting it here, but we've solved everything now. Hopefully this will be the final update lol, though I think soon there will be an even better way to do all this..  ;)
65
New bug found, the inventory list will show funky stuff when looking at items that grant statuses to the wearer. This is separate code in Equip.out that needs to be updated with the new status graphic locations. I've never used this menu before today, thus why I didn't catch it till now, but if I can find the code I'll update all of these again with that fix. For now, avoid that menu if using this hack lol

EDIT: Elric has located the fix for this, but there's a few unknowns about the newly discovered data that I want to figure out before I post everything here. Looking promising though!
66
Alright, v2 of both hacks are now out, with modified versions of Glain's Now Loading Routine Rewrite hack included in both to fix the loading screen text! Thanks again Glain! And, as an added bonus, I'm including another version of the Frame.bin and graphics hack, which will save a LOT of SCUS space, between Glain's *very* efficient rewrite and the added bonus of only having to load a single image with this version. I removed the outlines around the letters too, so it actually results in a cleaner looking loading screen than vanilla! For those needing every bit of SCUS space you can get your hands on, it doesn't get any better than this. It's literally free real estate.  xD

(If you do DL this for the SCUS space and you're not gonna be adding any new statuses, you'll have to delete a few lines in the xml, but if you're writing new code in SCUS space I'm sure you can already figure that out lol)

EDIT: updated the frame.bin in this post, I left something in the original one that wasn't supposed to be there lol sorry folks
67
Quote from: Heisho on May 23, 2020, 09:04:18 pmwhat about those XXXXXXXX in the bottom? Are they useful for something, maybe the Now Loading could be placed there, and even with a nicer looking.

Just reread your post and realized that you were talking about the X's in the image, not in my hack. The X spaces are unavailable, not sure about the reason but I know they're not accessible like the rest of the space.

On the bright side, Glain has found the code for the loading screen text positions in SCUS, and I can fix this now! I'll update the existing hacks to work as posted, and I'll also post another version which will have the words "Now loading" in the Frame.bin, which will save a LOT of valuable SCUS space. For more info, see the wiki: https://ffhacktics.com/wiki/Build_Image_Data_for_Now_Loading_message
68
Now, perhaps you just want to play other people's mods (for now?). It's a lot simpler to do that, just one tool needed.

PPF-O-MATIC
Another one you can get from the above-linked Tools page, this is really a tool that can be used with any game that you can get a ppf for, which is basically just a list of changes from original ISO to a modified version. You can get ppf's from various mod threads across the forums, and then use ppf-o-matic to apply them to your vanilla ISO (keeping a fresh copy somewhere else, of course!). Each thread should specify if you need to do any extra steps before applying the patch, but for the most part this is simple and easy. Select your base FFT ISO/Bin, then select the patch's ppf file, and hit apply. Give it some time, and then you're ready to play!

69
Quote from: Heisho on May 23, 2020, 09:04:18 pmDammit Square!

On the other hand what about those XXXXXXXX in the bottom? Are they useful for something, maybe the Now Loading could be placed there, and even with a nicer looking.

That will likely be what I do, once we find the code that assigns the word "loading" it's location. It's not in the battle.bin, since it's only on loading screens, so I'm looking into it. Seeing as my ASM skills are still very limited though, it may be a while lol. As it stands, the XX's in my hack are for the statuses you assign them to, that's it.
70
Something I've finally been able to track down and identify is that the loading screens when using this Frame.bin will say "Now dead,ng" instead of the usual "Now loading" because Square couldn't just put the word Loading into the Frame.bin for some reason, so they frankenstein'd it from the rest of the words, which I obviously moved around. (For those interested, it's a combination of the words Float, Guarded, and Confusion) I'm going to look for a way to fix this, and will update this if I find a way, but for now, it is a known bug.
71
That is *much* better Nyzer, looks great. You fixed the main three problems of the first version IMO, which were the battle not ending first (and thus the battle music going on through the whole thing), the camera movement (accounting for being in battle and moving back and forth), and the length, which, while the dialogue is well-written, simply dragged on too long. Good job!
72
If you're reading this because you want to get into modding FFT, then first off: welcome! (If you just want to play a mod, see post 2)
I know you've probably got a lot of questions; I definitely did when I first started, and I still bug Elric and co. all the time with stuff lol. This thread is meant to answer as many as I can, as well as define some common terms to help you properly ask any remaining questions you'll have after you get through this post. I apologize for the wall of text to follow, but if you really want to make your own FFT mod, you're gonna have to read a lot on these forums. I'm not going to give full tutorials for each tool, as there's already plenty of threads for that (and I'll link a few), I'm just giving brief descriptions of what each tool does, as I think that's a big problem for those brand new to this. I'd also recommend taking a look at these threads once you're done here, they have a bunch of other tutorials for things as well as very useful tips for beginners:

Tutorial Link Index thread
Things I wish I knew starting out thread


Before we get started, I cant recommend enough that you download the FFTPatcher suite before going any farther, and at least have it open as you read through here. It has great starting tools, all of which I'll be highlighting below, and most of the simple stuff you'll want to do is a 1-minute-or-less task in the Patcher. Read through here and try your hand at working with each one. Every tool I talk about below that isn't a spreadsheet can be found in the FFH Tools section:

https://ffhacktics.com/wiki/Tools

Now, you have a list of changes you want to make. You'll probably want to do things like make new items and skills, give Ramza and/or other characters more abilities, rename a bunch of stuff, and maybe even make a whole new class. And the good news is, you can do most of these things! The downside is, there's not a lot of space for additional things, so in general be ready to replace something if you want to add something new to the game. This isn't always the case, but better to warn you now. Another important thing worth bringing up sooner than later is, when creating your mod, you're going to go through plenty of iterations as you think of more cool things to do and inevitably mess something up haha. In order to not risk complications on the back end of things, and also to make sure you don't lose progress over time, best practice is to always save your changes externally (creating fftpatch and ffttext files) and start by patching a clean, unmodified ISO/Bin, for every build. It's a little tedious, but it will save you from destroying your game, I promise. Now, with the disclaimers out of the way, let's get after it.


FFTPATCHER
This tool is widely regarded as the simplest of tools here on FFH, but not because it doesn't do a lot. It's actually just the easiest to work with! If you've ever played with patchers for other games, this is gonna look a little familiar. In here you can edit things like the stats of units/items/abilities and assign jobs abilities, among plenty of other things. Want to design your own new skill? Pick a slot in the abilities tab, and edit away! In the vanilla PSX version, you'll have a few blank slots to play with, but if you're using WotL or TLW (a great mod that adds most of the stuff from WotL to the PSX version), you'll have to replace an existing ability. A useful idea to consider there is merging many of the Bio skills together (there's 10 of them!). You can also edit what weapons appear in what shops, what level enemies are when you fight them, and change the move-find items and locations, to list a few other functions of the Patcher. Like I said before, the best way to learn what it can do is messing with it yourself, so give it a go! And try out saving your changes to a fftpatch file, using File -> Save Patch. For more information about specific Patcher things, see these threads:

[FFTPatcher] Ability flags explanation thread
Miscellaneous Tricks & Tips thread



---------------------------------------------------------------
FFTACTEXT
Looking to change the names of things in the game? You'll need FFTactext. If you have access to Excel, you'll also want Xif's FFT Text Helper spreadsheet for making the edits simpler. You can do everything in Tactext, but it's a little more complicated, so if you can, use the spreadsheet. Another big note here is that if you're using Tactext to make these edits, you'll want to be using the one in either the .457 version or the .493 beta version of the suite. The other ones can cause problems, so just save yourself the hassle and stick with one of those versions for now. With either Tactext or Xif's spreadsheet, you can edit most of the text in the game, with one big exception: you cannot change the dialogue here. You'll need another tool for that, which I'll go into later. Want to rename a character, or assign a name to the new skill or job you made in the Patcher? This is the place to do it. Just go to the relevant section, and type away. Once you've made your changes in either Tactext or the spreadsheet, save the changes to a .ffttext file, then use Tactext to apply them. Yes, always save before applying, not just for the purpose of having your changes saved as a backup, but again, it can cause problems if you don't. If you want to make further changes to your edits later on, always load from your saved ffttext file, and re-save it when you're done.



---------------------------------------------------------------
SHISHI
If you've ever wanted to change how someone or something looks, this tool is the one you'll need to do so. Just about any image in the game can now be viewed and replaced in this tool (older threads will mention the need for other tools as well, but these were from before Shishi evolved to do everything it can now, so unless you're changing something super uncommon, this should be the only one you'll need). The unit sprites are on the main tab, and just about everything else is in the "Other Images" section. Formation portraits, item icons, shop backgrounds, and many more are all here, and can be exported and later re-imported with changes easily. A small note for this program in particular is that there is no saving/loading, everything you edit is applied instantly. This is a good time for to remind you to always keep an unmodified ISO backed up somewhere, in case you patch over vanilla assets and later need them. You can also batch export all images on the selected ISO using Sprite -> Dump all sprites and Image -> Dump all images.



---------------------------------------------------------------
FFTorgASM
The more complicated part of FFT modding comes in the form of ASM hacking, which is a manual re-writing of the assembly code for the game. This is not something you'll be doing as a beginner, but the fftorgASM tool lets you apply the hacks made by others to your game very easily. These hacks are the real game-changers (pun intended) when it comes to editing aspects of FFT, and while the hacks themselves can be very complicated, using them is usually designed to be very simple for the user. The Patcher suite comes with a bunch of hacks included already, but search the forums if there's something you want changed that can't be done without hacks; if it's not overly specific there's a decent chance someone's already made it! Once you've got the hacks you want to use in the folder, a single button applies them to the game. But always use the conflict checker first if you're using more than one hack, and if you see red, that means you cant use that combination of hacks as they're written, unfortunately.



---------------------------------------------------------------
And that's the Patcher suite in a nutshell! With just those basic tools you can change so much of the game, but once you have those down, there's even more great tools for you to play with:

  • CDprog/CDmage - lets you extract and insert files from the game; needed for most other tools
  • Attack.out editor - lets you change different aspects about the battles in the game than the Patcher, including where units can deploy, how many units and squads you can bring, and more
  • EVSP - the event editor for FFT, this lets you edit which units are in events, what they do, and the big one, what they say! It can look overwhelming at first, but changing the dialogue is easy (look at the end of the events)
  • Random battle editor - edit which battles take place on which maps, and when they become available in the game


There's also a ton of useful spreadsheets that you can edit, then they'll produce .xml files for you to apply via FFTorgASM; it's like ASM hacking, but with 99% of the work done for you! Here's a few very useful ones:

  • Raven's workshop utilities - this spreadsheet does a *ton* of stuff; rather than list them all here, just check out the thread for more info
  • Ability requirement hack (ARH) - like swordskills requiring a sword equipped, but on steroids
  • Xif's spreadsheets - the Excel master herself has handcrafted loads of spreadsheets to do so much stuff, including the following and more
    • Special snowflakes - allows any unit to be affected in almost any way, on a per-battle basis
    • Worldmap editor - change where locations and paths are on the map
    • Skillset behaviors fix - if you're planning on giving the Archer, Lancer, or a few other classes new moves, you'll need this hack (more info as to why in the thread)


Alright, so now you've got a lot to go read, and a lot of tools to utilize to make your perfect version of FFT. If you have more questions, I'd recommend searching the forums first, and starting a new thread or asking in the FFH Discord if you still cant find an answer.  Let me know if this helps any new users, as well as if anything here could use more clarification or info!
73
The line in the first message "in desperation..." is missing a } after the initial delay setting.
74
Hacking/Patching Tools / Re: Rumor Table Editor
April 21, 2020, 02:42:33 am
Thanks again for sharing this!
75
PSX FFT Hacking / ASM collection
April 20, 2020, 02:12:24 pm
At Xif's request, I'm posting my collection of ASM's here for others to add to their FFTorgASM directory (I'd recommend replacing it actually, maybe placing the old folder somewhere else, since this collection started off with everything in the .492 patcher anyway).

As an important warning: I make no promises that these are the newest or best versions. There's probably some duplicates and some that are under the wrong person. I'll update them as I find time, but if anyone sees any specifically that are outdated or not working, let me know and I'll remove or update them. This includes a lot of hacks that I've collected over the last year of combing the forums and saving the useful stuff, but if there's something really good/cool/useful not included, also let me know and I'll add it!

[EDIT] This collection has made its way into the newest patcher release, the .493 beta! Glain took the time to go over it all and organize it even more, and he fixed a few that were broken, so go get the newest collection in the patcher thread.
76
News / Re: Welcome to Our New Server!
April 10, 2020, 04:19:19 am
Been meaning to report this for a few days, but it seems like threads that used to have Youtube videos embedded in them no longer work. You always get an error. For reference: https://ffhacktics.com/smf/index.php?topic=9978.0
77
I'm also including a copy of each where I've added graphics to 5 of the vanilla statuses; now Jumping, Defending, Wall, Cursed, and Acting (couldn't fit Performing, sorry lol) will all show their names before and after they're cast on a target. Keep in mind you'll still have to flag abilities to actually inflict these statuses in the Patcher, but once you do, this will take care of the rest. In limited testing, I found that doing skills in the Bard's Sing skillset don't inflict "Performing" in a way that it shows above your character at all, but if you flag an ability to manually inflict it via the Patcher it does say it. I'm assuming the same with Jumping when you do normal Jump abilities, but I didn't test those.

Again, these are ready to be used with no editing to them required.

Now includes a modified version of Glain's Now Loading Routine Rewrite in the hack, so the loading screen text will appear as expected. I added the word "Now" to a spot in the Frame.bin that I'm 99% sure is unused (blank white space) but if it causes any problems let me know. Doing this let me save even more space in the loading screen code (on top of the word "Defending" also being a big help) so you save even more SCUS space with this version.

Also now includes Elric's Fixes for the inventory list menus.
78
[EDIT] Elric has made a spreadsheet using this data that lets you do all of this and more, in a more user-friendly format. While this thread still has great info in it, if all you want to do is edit frame.bin text and/or locations, use the Frame.bin Editor Spreadsheet!


tldr: I made a hack that lets you assign pre/post attack graphics to up to 6 statuses that didn't already have some, and modified the frame.bin to make room for you to create them.

So I am adding a new status to my mod that uses the blank status in the patcher, and I wanted it to say the name of it when casting, not just when you check a unit's current status. Adding the word "Empowered" to the cluttered Frame.bin seemed daunting at first, but I also wanted to rename a lot of the statuses to their WotL versions anyway, and doing do freed up a lot of space. But changing and moving around the few words I did meant I had to reassign their locations and sizes, and it wasn't particularly neat, so I went all out and reorganized all the status names in frame.bin and wrote a hack to assign all of their new locations and sizes. But while I was adding in the part to assign the blank status, I saw there were 5 more unused slots that could be used and figured I'd make as many as possible available using the most-likely-to-be-altered statuses (probably useful to those who've reworked a few statuses).

I consulted *this thread* a lot, and played with it until I got it right. Then I had Glain take a look at this xml and even he needed reminding about what all this data was, so I knew I had to share it since probably no one's shared a hack like this lol. So, here's what we're looking at:



----------------------------
      <Location file="BATTLE_BIN" offset="2CD18"><!-- Adds Blank to list of statuses that use graphics post-attack-->
        1E
      </Location>

      <Location file="BATTLE_BIN" offset="2CD1D"><!-- Adds Jump to list of statuses that use graphics post-attack-->
        1F
      </Location>

      <Location file="BATTLE_BIN" offset="2CD1E"><!-- Adds Defending to list of statuses that use graphics post-attack-->
        20
      </Location>

      <Location file="BATTLE_BIN" offset="2CD1F"><!-- Adds Performing to list of statuses that use graphics post-attack-->
        21
      </Location>

      <Location file="BATTLE_BIN" offset="2CD26"><!-- Adds Cursed to list of statuses that use graphics post-attack-->
        22
      </Location>

      <Location file="BATTLE_BIN" offset="2CD37"><!-- Adds Wall to list of statuses that use graphics post-attack-->
        23
      </Location>

      <Location file="BATTLE_BIN" offset="2CD2E"><!-- Adds Toad to list of statuses that use graphics post-attack (as it didn't before)-->
        30
      </Location>

Part 1 assigns these 7 statuses a slot to have a graphic displayed above a character when they're inflicted with said status (Toad already had a graphic in frame.bin but only used it to show the name before the status was inflicted, not after; adding it here makes it show the word when they turn into a frog as well). So once you draw up the graphic in frame.bin, inflicting the blank status on someone will now show the word of your creation above their head right afterwards. Keep in mind all of these besides Toad need to be drawn by you first into the Frame.bin image. For more info on that, my Editing Weapon Graphics thread details how to export, edit, and import the Frame.bin bmp.

----------------------------
      <Location file="BATTLE_BIN" offset="E5F68" mode="DATA"><!-- Assigns existing statuses their new graphics locations and sizes-->
        7F211208                                <!-- Dead-->
        A3551A08                                <!-- Undead-->
        146D1C0A                                <!-- Petrify-->
        40F01508                                <!-- Invite-->
        33551208                                <!-- Blind-->
        45552608                                <!-- Confusion-->
        89551A08                                <!-- Silence-->
        466D1E0A                                <!-- Vampire-->
        125D0A08                                <!-- Oil-->
        2F5D2108                                <!-- Float-->
        735D1C08                                <!-- Reraise-->
        2E651F08                                <!-- Invisible-->
        6B551E08                                <!-- Berserk-->
        00551A08                                <!-- Poison-->
        306D160A                                <!-- Regen-->
        4D651F08                                <!-- Protect-->
        005D1208                                <!-- Shell-->
        DB481608                                <!-- Haste-->
        1C5D1308                                <!-- Slow-->
        646D130A                                <!-- Stop-->
        605D1308                                <!-- Faith-->
        445D1C08                                <!-- Athiest-->
        00651808                                <!-- Charm-->
        006D140A                                <!-- Sleep-->
        8F5D2808                                <!-- Immobilize-->
        24D21B08                                <!-- Disable-->
        9CCC1C08                                <!-- Reflect-->
        18651608                                <!-- Doom-->
        1A551908                                <!-- Stolen-->
        B8CC1B08                                <!-- Broken-->
      </Location>

      <Location file="BATTLE_BIN" offset="E6028">
        B5701408                                <!-- Toad-->
      </Location>

      <Location file="EVENT_EQUIP_OUT" offset="109EC" mode="DATA">

        77006D002B000A00                                 <!-- Blank-->
        0000000000000000                                 <!-- Crystal-->
        7F00210012000800                                 <!-- Dead-->
        A30055001A000800                                 <!-- Undead-->
        0000000000000000                                 <!-- Charging-->
        0000000000000000                                 <!-- Jump-->
        0000000000000000                                 <!-- Defending-->
        0000000000000000                                 <!-- Performing-->
        14006D001C000A00                                 <!-- Petrify-->
        4000F00015000800                                 <!-- Invite-->
        3300550012000800                                 <!-- Blind-->
        4500550026000800                                 <!-- Confusion-->
        890055001A000800                                 <!-- Silence-->
        46006D001E000A00                                 <!-- Vampire-->
        0000000000000000                                 <!-- Cursed-->
        0000000000000000                                 <!-- Treasure-->
        12005D000A000800                                 <!-- Oil-->
        2F005D0015000800                                 <!-- Float-->
        73005D001C000800                                 <!-- Reraise-->
        2E0065001F000800                                 <!-- Invisible-->
        6B0055001E000800                                 <!-- Berserk-->
        0000000000000000                                 <!-- Chicken-->
        B500700014000800                                 <!-- Toad-->
        0000000000000000                                 <!-- Critical-->
        000055001A000800                                 <!-- Poison-->
        30006D0016000A00                                 <!-- Regen-->
        4D0065001F000800                                 <!-- Protect-->
        00005D0012000800                                 <!-- Shell-->
        DB00480016000800                                 <!-- Haste-->
        1C005D0013000800                                 <!-- Slow-->
        64006D0013000A00                                 <!-- Stop-->
        0000000000000000                                 <!-- Wall-->
        60005D0013000800                                 <!-- Faith-->
        44005D001C000800                                 <!-- Atheist-->
        0000650018000800                                 <!-- Charm-->
        00006D0014000A00                                 <!-- Sleep-->
        8F005D0028000800                                 <!-- Immobilize-->
        2400D2001B000800                                 <!-- Disable-->
        9C00CC001C000800                                 <!-- Reflect-->
        1800650016000800                                 <!-- Doom-->

      </Location>

      <Location file="WORLD_WORLD_BIN" offset="ACF68" mode="DATA">

        77006D002B000A00                                 <!-- Blank-->
        0000000000000000                                 <!-- Crystal-->
        7F00210012000800                                 <!-- Dead-->
        A30055001A000800                                 <!-- Undead-->
        0000000000000000                                 <!-- Charging-->
        0000000000000000                                 <!-- Jump-->
        0000000000000000                                 <!-- Defending-->
        0000000000000000                                 <!-- Performing-->
        14006D001C000A00                                 <!-- Petrify-->
        4000F00015000800                                 <!-- Invite-->
        3300550012000800                                 <!-- Blind-->
        4500550026000800                                 <!-- Confusion-->
        890055001A000800                                 <!-- Silence-->
        46006D001E000A00                                 <!-- Vampire-->
        0000000000000000                                 <!-- Cursed-->
        0000000000000000                                 <!-- Treasure-->
        12005D000A000800                                 <!-- Oil-->
        2F005D0015000800                                 <!-- Float-->
        73005D001C000800                                 <!-- Reraise-->
        2E0065001F000800                                 <!-- Invisible-->
        6B0055001E000800                                 <!-- Berserk-->
        0000000000000000                                 <!-- Chicken-->
        B500700014000800                                 <!-- Toad-->
        0000000000000000                                 <!-- Critical-->
        000055001A000800                                 <!-- Poison-->
        30006D0016000A00                                 <!-- Regen-->
        4D0065001F000800                                 <!-- Protect-->
        00005D0012000800                                 <!-- Shell-->
        DB00480016000800                                 <!-- Haste-->
        1C005D0013000800                                 <!-- Slow-->
        64006D0013000A00                                 <!-- Stop-->
        0000000000000000                                 <!-- Wall-->
        60005D0013000800                                 <!-- Faith-->
        44005D001C000800                                 <!-- Atheist-->
        0000650018000800                                 <!-- Charm-->
        00006D0014000A00                                 <!-- Sleep-->
        8F005D0028000800                                 <!-- Immobilize-->
        2400D2001B000800                                 <!-- Disable-->
        9C00CC001C000800                                 <!-- Reflect-->
        1800650016000800                                 <!-- Doom-->

      </Location>

This is the meat and potatoes of this hack, as it tells the game where the hell I moved all of the vanilla status graphics to when I rearranged them all lol. Elric found the parts to update the locations for the statuses in the item inventory list, both in the formation screen and in battle. (World.bin for formation, and Equip.out for in battle, for those who care)

----------------------------
      <Location file="BATTLE_BIN" offset="E5FE0"><!-- Blank status-->
        XXYYXLYL
      </Location>
      <Location file="BATTLE_BIN" offset="E5FE4"><!-- Jump-->
        XXYYXLYL
      </Location>
      <Location file="BATTLE_BIN" offset="E5FE8"><!-- Defending-->
        XXYYXLYL
      </Location>
      <Location file="BATTLE_BIN" offset="E5FEC"><!-- Performing-->
        XXYYXLYL
      </Location>
      <Location file="BATTLE_BIN" offset="E5FF0"><!-- Cursed-->
        XXYYXLYL
      </Location>
      <Location file="BATTLE_BIN" offset="E5FF4"><!-- Wall-->
        XXYYXLYL
      </Location>

Here's where you'll put the data of the graphics you draw into the hack. For reference, XX is the X coordinate of the top left pixel in hex, YY is the Y coordinate of the top left pixel in hex - 20 (also in hex), XL is the width of the graphic in hex, and YL is the height of the graphic in hex. They're named their default names but obviously if you plan to rework any of them make the graphic say whatever you want it to.

----------------------------
      <Location file="BATTLE_BIN" offset="100920"><!-- Adds Blank Status graphic to pre-attack screen graphics list-->
        1E
      </Location>

      <Location file="BATTLE_BIN" offset="100925"><!-- Adds Jump Status graphic to pre-attack screen graphics list-->
        1F
      </Location>

      <Location file="BATTLE_BIN" offset="100926"><!-- Adds Defending Status graphic to pre-attack screen graphics list-->
        20
      </Location>

      <Location file="BATTLE_BIN" offset="100927"><!-- Adds Performing Status graphic to pre-attack screen graphics list-->
        21
      </Location>

      <Location file="BATTLE_BIN" offset="10092E"><!-- Adds Cursed Status graphic to pre-attack screen graphics list-->
        22
      </Location>

      <Location file="BATTLE_BIN" offset="10093F"><!-- Adds Wall Status graphic to pre-attack screen graphics list-->
        23
      </Location>

And finally, we add those graphics to the pre-attack screen, so you'll be able to see what status you're inflicting before taking the action, along with it's chance to hit, etc.

----------------------------

Glain's Now Loading Routine Rewrite is also now included in every version of this hack, since moving everything around broke the loading screen text. All credit for that goes to him, I just modified the numbers to fit the new Frame.bin. Thank you Glain!

Elric has also fixed this hack, as he was able to reverse engineer FFT:C to figure out the code to fix the inventory list graphics. Thank you Elric!

----------------------------

Now obviously you wont be able to use all 6 in one hack unless they have decently short names, even though I cleared up a good bit of space in the Frame.bin you can't fit more than maybe 4 in there if they're normal-sized words. So any you don't make graphics for, just delete the code for those ones. I just included 6 so it'd be more likely I'd have written the code for the one(s) you might edit.

Attached I have the ready-to-edit Frame.bin with tons of empty space, and the hack written as above (all combined and with comments, of course), so that you can create your own status graphics at will for your own projects. But for those who want to plug-and-play, see the next post below. I tested this hack a few times but I'm sure it's far from perfect, so if you find anything wrong let me know. Feel free to ask questions below as well, but my coding knowledge is still very limited so keep in mind I might not have all the answers right away lol.
79
Tutorials and Learning / Re: Editing weapon graphics
April 06, 2020, 05:16:16 pm
Reserved
80
Tutorials and Learning / Re: Editing weapon graphics
April 03, 2020, 05:56:18 pm
Now lets say you replaced an entire weapon type with something else (for example, if you replaced all three of the Axes with Greatswords). You can assign them their correct graphics in the patcher, but when you see them in your inventory (or shop's inventories) you're going to see this:



At first glance, it looks good! ..Except it's still showing its weapon type as an Axe.. Boooooooo!

So, here's a quick tutorial on updating the weapon type icons:

1. I'm assuming you've already done everything detailed in the above post, but just in case, I'll remind everyone that you'll need the FFTPatcher suite and an image editor same as in the weapon graphic tutorial. See the post above to get those if needed.

2. Open Shishi and open your ISO.

3. Go to the "Other Images" tab. It should open to the FRAME.BIN image, but if not, select that one in the drop-down box. If it defaults to palette 6, change it to palette 1. You should now see the following:



4. We're going to extract and modify this image. For this one though, we're going to keep the "Import/Export as 256-color palette" box UNCHECKED since the first palette is the only one we care about for editing the weapon type icons. So export this image using "Image" -> "Export" and save it somewhere convenient.

5. Minimize Shishi and open your image editor, again I'll be using GraphicsGale with the same settings as the above tutorial.

6. Open your newly saved FRAME.BIN bmp and zoom in on the weapon icons as desired.

7. We're going to use the grid again, but this one's a little more annoying. Click the white grid icon on the toolbar located almost directly underneath the "Help" button, and select "Input". Set the sizes for both x and y to 4 and hit Ok. If your grid doesn't show up, click "View" -> "Show Custom-Grid" and it should appear. At this point we're looking at something like this:



8. These icons are 12x12 pixels each vs the 16x16 pixels that the weapon graphics used. You'll have to scale down your new weapons accordingly, so it might be handy to have your ITEM.BIN bmp open as well for comparisons. The 12x12 icon sizes is also why we used a 4x4 grid. They're offset in a way that a custom-made 12x12 grid doesn't line up with our icons, so you'll have to use 3 of the 4x4 boxes for each icon's height and width.

9. Time to edit. Use the pen tool and your palette window to select your colors and draw your new icons. We only have the one row of colors (aka 1 palette) to work with this time so you won't accidentally mess anything up, so use whatever colors you want, but keep in mind the same points I made last time: the first color is black and becomes transparent in-game, and your image will be against a tan background. Use the other icons as a guide as to how to shade yours effectively, this one is a bit trickier than the weapon graphics.

I'm replacing the Axe icon with a Greatsword icon for this tutorial but again, you do you. Here's my updated FRAME.BIN with my new Greatsword icon:



10. Save this however you saved your ITEM.BIN in the above tutorial (either name it whatever you want for manual importing, or use the file name the game assigns this bmp, accessible after exporting all the images from Shishi; it ends up being EVENT_FRAME_BIN_0_36864, as you can see in my screenshots).

11. Close your image editor and open Shishi again. Get back to palette 1 of the FRAME.BIN image in the "Other Images" tab if you're not already there (see step 3).

12. We'll add our new icon into our ISO via "Image" -> "Import" and selecting our modified bmp.

13. It should update the image automatically and you should see your new icon in Shishi, but it might be hard to see how well it came out. Obviously the best way is to load up your newly modified ISO and see it in-game, but if you want a decent preview before all of that, switch to other palettes in Shishi for a good idea of how your work holds up (palette 3 works well enough for this). Once you're happy with your results, you're done! Now you've got a new weapon icon for your new weapons (note that these are hardcoded to use whatever slot they were already assigned to, so if you edited the Axe icon like I did, every weapon set as an Axe in the Patcher will have the new Greatsword icon next to it).