• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 19, 2024, 08:43:41 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


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.

Topics - Talcall

1
PSX FFT Hacking / SEQ Editor - Excel tool
March 20, 2023, 04:36:37 am
On account of the fact that I can't code outside of modifying someone else's, Behold!
My Third Forum Post This Month!
peddling another tool!
This one is for editing animations, like the idle walk of a unit, or how they swing a sword. Be warned, this may only work for excel versions greater than 2020? I will have to work on the backwards compatibility, so let me know if something doesn't work. Also, this is a really math dense work book, and especially manipulating the position of animation IDs can have considerable wait times.
I provide a sheet dedicated to the OP Codes and what I know of them, which is also used as reference for the other sheets,
Several sheets dedicated to the main sprite types:
  • TYPE1  -  Average human unit
  • TYPE2  -  Robed human unit
  • CYOKO  -  Chocobo
  • MON    -  Monster
  • OTHER  -  Crystal, Chicken, Frog, Treasure
  • RUKA   -  Lucavi
  • ARUTE  -  Altima
  • KANZEN -  Altima Perfect
  • WEP1   -  Average unit Weapon
  • WEP2   -  Robed unit Weapon
  • EFF1   -  Average unit weapon sheen
  • EFF2   -  Robed unit weapon sheen
and a sheet that returns a complete XML file.

Instructions are entered into the Operation column, and arguments can be entered on the right. Boxes are automatically blacked out depending on how many arguments a given instruction has, and numbers in these blacked out boxes will not be read, contribute to file-size, or be appended to the XML.
For an in depth explanation of each instruction, see Here

Addresses are highlighted a light yellow if they may be where a new animation ID is intended to be (for most vanilla animations, this lines up 1 to 1), however you are given the freedom to assign IDs wherever you please.

When assigning multiple IDs to the same offset, ensure you separate each ID by a comma and a space, for the formatting to be read correctly.

when you are finished, you can go to the XML tab at the bottom and patch it to your game image with OrgASM.
2
Good news guys! I got a second post this month! :mrgreen:
I am publicly announcing that I am releasing my new tool for any modder to use!
Because Frankly reactions suck to modify. It was legitimately less effort to just make a tool than to tweak every instance of everything.
And now for you it will be easier to just use the tool I already made!
Handy!
*It bears noting that this may not work with duckstation, but I also can't debug duckstation so I'm not fixing it.

This tool ships out with settings about as generic as I could swing them; everything should behave exactly and only how it behaves in vanilla, minus some edge cases.
(I think I accidentally include some QOL, take note of any units not dying at 0hp unless damage is dealt, or golem damage overflowing into unit damage)
Except the following, intentional changes:
      1. Any reaction using the distribute formula may trigger if the unit heals themselves
      2. Any geomancy skill flagged with the AI flag "Target allies" will target the unit reacting, if they are attacked
      3. Auto Item receives an upgrade that should save you a few X-potions, and also can handle status recovery & MP recovery
            ^- for information regarding *how* to set up auto potion properly, read below, and if you still don't understand, please ask me :)
      4. MP switch overflows into HP damage
      5. Blade grasp will now only trigger for attacks that use a knife, sword, knight sword, katana, ninjato, or axe; chance to trigger remains br%
      6. I make it even harder to manipulate reflect, this is for your own good


I heavily encourage exploration, and everything is explained in the xml description and excel sheet in appropriate cells, however I will also provide an in depth description of everything here, plus visual examples because text be damned, it's easier to know what you're looking for when you know what it looks like.

Should be enabled for reactions that are intended to trigger even if an attack misses. Problems may arise if the reaction depends on HP/MP damage being finalised for its calculation (for example, via golem), or if the reaction depends on stats/statuses being finalised (for example, critical for being in low HP, or if stats are increased past their maximum/minimum and the reaction shouldn't trigger.)

Should be enabled for reactions that are intended to trigger only IF an attack lands; also important for reactions that depend on HP/MP changes being finalised. may cause issues for statuses that require critical/stat changes to be finalised.

Should be enabled for reactions handled after everything about an attack has been completely finalised. Important for reactions that require critical, or increase stats.
These should be considered mutually exclusive.

Determines whether a reaction rolls Brave% (N) or Faith% (Y). No vanilla reaction rolls faith%.

Determines whether a reaction has a higher chance of triggering the Lower your selected stat. No vanilla reaction rolls Low%

Denotes special case reactions; unless you plan on changing the code here, these abilities should be left untouched.

etermines the target of the reaction, the unit with the reaction (N), or the instigator of the attack (Y).

etermines if a reaction uses another ability for its execution, like counter tackle.
NOTE: Meatbone slash, counter flood, counter magic, and auto potion, despite triggering other abilities, should not have this flag checked. This is because their formulas handle selecting the ability in this case.

correlates with the counterflood flag used for abilities in the FFTPatcher; this determines for what abilities this reaction can trigger for after all other conditions are met.

correlates with the Counter magic flag used for abilities in the FFTPatcher; Ditto.

Determines whether the skillset of the reacting attack targets Without selecting an ability (for example, geomancy does not have an ability menu, therefore counter flood is a skillset-targetting reaction)
NOTE: Counter tackle needs this value set to (Y) so it correctly calculates whether it can/cannot hit targets adjacent to itself.

correlates with the countergrasp flag used for abilities in the FFTPatcher; same notes as Counterflood and countermagic.

Only takes effect if the reaction is also flagged Pre-attack: if Y, cancels the original attack from executing.

Determines if the critical status is required for a reaction to trigger.

Determines if the reaction requires the original ability have an MP cost (Important for Absorb used MP)

Determines if the reaction triggers before an attack, like Hamedo.


So You Want Auto Potion to Work?
Well, uh, obviously.

For Auto Potion to trigger, items must be manually set up as well:

To cure HP, go to the top right hand corner of fftpatcher:

tick the marked box, and then set the marked number to 80.
NOTE: auto potion will attempt to use any potion that cures the unit's HP Closest to their maximum HP. for example, a unit that takes 80 damage, will prefer to use an available hi-potion over any available X-potions, because curing 70 HP gets closer to their maximum HP (10 underheal) than healing 150 (70 overheal). 10 < 70.

To cure MP, go again to the top right hand corner:

tick the marked box, and then set the marked number to 20.
NOTE: auto potion will attempt to use any ether that cures the unit's MP Closest to their maximum MP. for example, a unit that takes 60 MP damage, will prefer to use an available ether over any available turbo ethers, because curing 50 HP gets closer to their maximum MP (10 underheal) than healing 100 (40 overheal). 10 < 40. Additionally, the same comparison is done alongside HP curing, but only if a unit takes both HP and MP damage, Otherwise they remain separate: This prevents a unit taking HP damage from recovering MP, but will use the most effective item if it takes damage to both pools.

To cure statuses, top right hand corner:

and then just set the marked number to 08. This will attempt to cure any inflicted statuses using the item's inflict status.
NOTE: auto potion will use the first marked status item that successfully cures any status inflicted by the Last Attack. If you have any items that add statuses, or cure positive statuses, leave them unmarked, and order your items properly if there are any double-ups. A unit will also not attempt to cure any statuses it had before the attack occurred.

Additional notes:
Flagging auto potion with pre-attack will automatically cause it to use the item in slot F7. I personally can't see a use in an item that attempts to cure damage/statuses before they happen, unless preempting with an item that grants protective buffs. Use this information accordingly.

Congratulations, Auto Item should now successfully and intelligently trigger! if you don't want any HP, MP, or status curing, simply leave the appropriate values unchanged.
3
Spriting / Crystal, Chicken, Frog, Chest Palette fix
March 02, 2023, 10:20:57 pm
Woah it's my Monthly Dedicated Forum Post! :O
I'm here to post a fix to an issue with palettes 5, 6 and 7 for chickens, frogs, chests and crystals: now they actually have a palette 5 6 and 7!
* This fix also means that picking up crystal palette 5 will no longer freeze your game.
The attached xml file automatically applies these palettes to your game, so no need to worry about manually making your own palettes.
When Glain updates Shishi, you'll be able to extract the OTHER.SPR file as a BMP and make your own palette edits, and when that happens remember that without this patch:

  • Chickens use palettes 0 - 4. These overlap into the frog palettes.
  • Frogs use palettes 5 - 9. These overlap into the crystal palettes.
  • Crystals use palettes 10 - 14. Palette 15 is completely black and will freeze the game when picked up. Overlaps into the treasure palettes
  • Chests use palettes 16 - 20. Palettes beyond this point draw erroneous red squares.
With this patch:
  • Crystals use palettes 0 - 7
  • Chickens use palettes 8 - 15
  • Frogs use palettes 16 - 23
  • Chests use palettes 24 - 31
Also, here are some previews of the new palettes:
Crystals:



Chickens:



Frogs:



Treasure:




HOT FIX. I made a typo. This should fix it. Apply as normal.
Another hot fix. turns out there was a reason for only having 20 palettes.
I am on fire. I edit more code to fix both status palette changes (like regen, poison, vampire) on frogs/chickens, and to allow the OTHER.SPR file's palette's to be more freely edited.
4
PSX FFT Hacking / Talcall's ASM Address Planner
February 12, 2022, 01:03:20 am
Wow! a whole one forum post this year, and we're already in February! remarkable!
This post is about a recent ASM planning tool I made that I hope will end up being helpful for any projects that might be slightly heavy on the assembly hacking. Talcalls ASM Address Planner, or TAAP for short.

Don't call it TAAP.

Currently, the tool has and can do a few things:
  • Contains start and end locations of current routines & the names currently associated with them (from out site wiki)
  • Contains the most important/modded files in the ROM (Scus, Battle, Attack, world, wldcore, etc.)
  • Contains a small space dedicated for programmer comments. (in case I expand the functionality to the east ever. copy paste baby)
  • Allows marking spaces in RAM as 'Untouched', 'Reduced', 'Untested', 'Done', 'Free', and 'To Be Done', colour coded for quick glances of code edited en mass.
  • Allows customising of start and end addresses of dedicated spaces. go on! it's pretty fluid like that.
  • Checks for inconsistencies in the presented addresses; Will let you know if there's overlap in the code, or any space that isn't accounted for before the start of the next space. Also tells you between which addresses the inconsistency lies.
  • Lets you know how much space (in bytes (in hex)) a space between addresses takes up, allowing you to more easily plan out where and how many routines you can place into ram.
  • Has a sheet dedicated to letting you know how many bytes a routine you plug in will take up, and at what address the final Operand is.

Hopefully this sees some use, even if it's somewhat limited.
Feel free to maul it as much as you like, there's so little functionality, I might add it as a feature at some point! XD
Talcall&#39;s ASM Address Planner.rar
5
PSX FFT Hacking / Compilation Of Talcall's hacks
February 14, 2021, 08:26:20 pm
This is a compilation of hacks I have made that may not exist individually on the forums already, in order to make them more accessible to others.
I will update the post when I make more hacks.
Feel completely free to use these, as long as you reference me :D

Hacks so far:
  • Blade grasp becomes awareness (all sides C-ev%)
  • (some) Thief abilities become faith based (underpowered. it'll work for my complete mod, promise!)
    • steal helmet - Kindness, absorb HP
    • steal armor - Temperance, absorb MP
    • steal shield - Patience, absorb CT
    • steal weapon - Chastity, dispel target, esuna user
    • steal accessory - Diligence, berserk target, protect user
6
Help! / Can't find Excel spreadsheet & tool; More jobs
August 28, 2020, 05:31:34 am
Apologies to whom it may concern, I can't seem to locate the excel spreadsheet someone made that allowed for more jobs to be created, (from my understanding) in the shadow of other jobs, and I was really keen to look into it to see if i couldn't fiddle around. If anyone has any information, It would be incredibly helpful!
7
I've gotten back into my mini-project, creating 'chapter 1.5' (or the missing chapter as I've called it), and I was wondering if there was a simple way to test events, with like an external program? or do I have to replace say the first event in the game for a quick and easy way to test it?
does EasyVent editor super perfect 2.0 have some sort of event-viewing functionality that I havent found yet? that'd be embarrassing
Any replies are helpful! thanks in advance!
I've also attached the text file I've uh... 'created' so far. it's not much to look at unless you want to criticise my writing, which is valid
Also not sure exactly how to turn this text file into something more usable when the time comes around, if anyone is available that wants to help, please
8
I feel like this is more of a "I'll get to it when i get there" issue, however I would like to ask here beforehand in case i get something wrong.

I want to input cut-scene events between "partings" and the "chapter 2 start", particularly, in this order:
2 cut-scenes,
1 battle with a pre-battle scene,
2 cutscenes,
a still-image with text (in between the last cut-scene and the next),
and a cutscene,
how would i go about this? is there some kind of "call event" I can use?
9
event 181, which should appear in  ENTD4.ENT, has delita as the first unit. the second byte, which the Wikipedia says belongs to various flags, is checked for being male (+1) load formation (+10) and save formation(+80)
this should give a value of 8B, however when i check this byte in my hex editor i find it's actually 89; 80 + 8 + 1. Am i missing something here, or are the flags done a little differently to how i originally figured?
(yes, i know how flags work, +1 for the first flag, then double for the second and so on and so forth. this means every numeral possible is a unique combination of any of these collective flags.)
10
Help! / ENTD locations?
February 14, 2020, 05:24:43 am
Given that the program FFTpatcher doesn't produce any codes for ENTD edits, I am going to try and edit these manually-
the only issue is I don't know where to look first. I searched ENTD on the site wikipedia, (sent me directly here http://ffhacktics.com/wiki/ENTD) which certainly gave me quite the handy guide around how all of the bytes get used!
but it doesn't tell me where the information for this starts, or in what file it appears in. if anyone knows and could share that would be greatly appreciated! thank you! :)
11
(only put in help because I'm not sure where else this could go)
Now, as the title implies, I am not requesting this, and I will not be trying to achieve this on my own. Because ouch.
but!
Could it theoretically be feasible to rework calculator/arithmatician into a redmage that can learn duel casting, and is capable of using spells used in other classes?
I say feasible, as well, because anything is technically possible with ASM hacking, but I wanted to know if this was something a generally pretty knowledgeable hacker could achieve with the groundwork calculator provides? I was honestly quite curious
12
I'm trying really hard to replace the Archer's "charge" skillset with another, (as I've replaced the archer job with a survivalist) because I went though the endeavour of simply replacing the skills inside and that ended up failing; the charge abilities showed up unchanged even though i made edits to the skillset and action menu.
So, i made archer use 1F, Algus' basic skills, (and made him simply use generic squire skills) But what resulted is archer/survivalist not being able to use any skills the job had actually learnt; the abilities that were usable were actually mirrors of what the unit learnt in the squire job (learning the skill in the second place of squire resulted in the ability in the second place of archer being usable in battle, however any abilities learnt actually by archer were unusable in battle)
I was wondering if there was a solution to either of these problems, or if I perhaps just made a mistake when replacing skills for the archer's charge and it actually is possible

Thanks!  :)
13
there are a set of about 10 abilities that seem coded to be direct action abilities, indexes 165 to 16E (information gained from the FFTPatcher), assuming these were to be given names, effects, descriptions, etc, would these be usable in game, or are they hardcoded to not be usable? maybe they simply can't be referenced in game?
while they don't have any AI checks and all have identical hit-checks, they seem to have unique formulas, which implies they do exist in the game's code. If someone could clarify before i accidentally crash or corrupt my save file by some miracle, that would be greatly appreciated!
14
I am editing Oracle abilities to turn them into spellblade abilities, by altering their effects, changing which formula they use, etc (if more information is needed i can send screenshots of each ability and their edits) and i came across this error with the data i received back from the FFTpatcher, which wants me to edit these bytes shown such that the second byte is identical to the byte already there?

I have correctly identified where the first portion is supposed to go using an online editor's search function, and that all runs smoothly, however pulling up SCUS with this hex editor (that i can copy and paste from, making using FFT Org ASM generator far easier to use) it's apparent that something is wrong. is there dummy code here that's being skipped over by the patcher, or is it incorrectly processing what I've fed it?

if anyone can help, this would be greatly appreciated
15
I rewrote basically every Oracle ability, and pasted it all into a hack for easy use. Turns out, I pasted the data in the wrong place, and ended up with this hilarious cost for some of the cheapest monk abilities!
16
After running Oracle abilities through a multitude of changes, i went to the gameshark tab to gather all of the data, and adapt it into a more usable binary form.
However, I ran into an issue knowing how to read a set of data that
A. started with a pattern of 7's and 8's, and i don't know what 7's are supposed to mean, given that 3 means single byte and 8 means two bytes
B. seemed to jump around in the actual binary of the game, paired with the 7's and 8's
the code I'm having trouble reading is as such:

"Abilities\(part 1)
7014E61C F400
801B644C 001C
7014E61C F400
801B6452 0010
7014E61C F400
801B6454 0014
7014E61C F400
801B6456 0018
7014E61C F400
801B6458 007E
7014E61C F400
801B645A 007D
7014E61C F400
801B645C 001F
7014E61C F400
801B645E 007A

in which binary file do these even lie? it's too large to be SCUS, like the rest of the ability data that was given to me. can anyone help?
17
Help! / Can life drain/spell drain formulae be altered?
January 29, 2020, 04:31:01 am
Is it possible to change the formulae for spell drain and life drain such that instead of
hit_F(MA+X)% No Status, Magic Evasion,
it uses
hit_F(PA+X)% No Status, Physical evasion?

I'm trying to make oracle into a spell blade, which is more physical damage with a magical twist, so i thought this would better fit. Thanks!

Edit: Side note, I may also like to change AbsorbHP_(Y)% to AbsorbHP_(WP*PA) for life drain
18
PSX FFT Hacking / The Lion War; Malware?
January 08, 2020, 09:13:27 pm
according to my computer's anti-malware, cdprog.exe references directly and literally, a file named "malware"
yeah
what the hell is up with that? i was instructed by this information note when installing the lion war that this was how i get the movies sorted, opening cdprog.exe.
19
Not sure if this is just a version thing, but I've found out that using breakpoints in the formation screen on any address for WORLD.BIN doesn't trigger anything, but the breakpoint will trigger immediately when a battle is loading (likely due to the breakpoint triggering an address in BATTLE.BIN instead. I've heard these two bins can't be loaded at the same time). this is really unhelpful when the things i want to edit in particular are on the party screen, and not any battles, as it makes it hard to learn what any given address will do when it isn't listed explicitly on the site wikipedia. Is this something that occurs to everyone? is there a solution?
20
PSX FFT Hacking / Novice ASM hack: Useful monsters
January 07, 2020, 10:41:54 pm
I'm not sure exactly where novice hacking goes, so if this thread needs to be moved i have no issues with that.
That being said, i am proud to have completed my first hack! (would have been done sooner but i was banned from technology for a week)
Useful monsters! Gives monsters the ability to use human tools and armour, so they can have a slightly higher health pool and attack damage.
list of changes below!

don't use this hack, there are still many manky kinks to iron out, I have learnt.



  • Yellow chocobos can use: Polearms, Shields, Clothing, Armour/Armor, Hats, Helmets, Robes, Cloaks

  • Black chocobos can use: Flails, Shields, Clothing, Armour/Armor, Hats, Helmets, Robes, Armlets

  • Red chocobos can use: Swords, Shields, Clothing, Armour/Armor, Hats, Helmets, Robes, Shoes

  • All goblins can use: Hats, Clothing, Knives

  • All panthers can use: Cloaks

  • Piscodemons can use: Knives, Clothing, Rings

  • Squidlarken can use: Staffs, Robes, Rings

  • Mindflare can use: Rods, Robes, Rings

  • Skeletons can use: Knives, Swords, Axes, Flails, Hats, Clothing, Shoes, Arm guards, Cloaks

  • Snatchers can use: Knives, Swords, Axes, Flails, Helmets, Armour/Armor, Shoes, Arm guards, Cloaks

  • Living Bone can use: Swords, Knight's swords, Helmets, Armour/Armor, Shoes, Arm guards, Cloaks

  • All ghosts can use: robes

  • All Aevis can use: Shoes, Arm guards, Rings

  • All Swine can use: Rings

  • All Dryads can use: Rods, Staffs, Instruments

  • All Minitaurs can use: Axes, clothing, Arm guards

  • All dragons can use: Armour/Armor, Helmets, Shoes, Cloaks

  • Hyudra can use: Knives, Swords, Shields, Hats, Helmets, Hair adornments, Armour/Armor

  • Hydra can use: Swords, Axes, Shields, Hats, Helmets, Hair adornments, Armour/Armor

  • Tiamat can use: Swords, Knight's swords, Shields, Hats, Helmets, Hair adornments, Amour/Armor




Planned additions (that are perhaps, slightly too ambitious)



  • monster job wheel with simple jobs (like knight, cleric, mage)

  • Wild monsters spawning with low-grade equipment (makes encounters harder, but not ridiculously so)

  • More monster abilities (like, come on, why you gotta treat yellow chocobo like dat? give it another thing!)




Feel free to critique. I need the motivation to improve this (and I'm tired after my week of tech ban)

This isn't particularly praise worthy, but from what I've seen no one really wants to give monsters the love they really deserve, all because square decided that monsters were gonna be practically worthless. So, now they can wear things for more health, (and as a bonus gives the player a slightly larger feeling of control over their party)
21
I looked through through the data table locations and WORLD.BIN on the wiki and i couldn't find anything about monsters not earning jp, knowing all abilities available, or about a job wheel check (i saw that for special monsters but not generic ones? and i think that was just about sprite's being greyed out anyway (WORLD.BIN, 0x00122262)), and i was wondering if any of these really were known about.
(I also figure that there won't be enough room for me to do jobs for all monsters, so I'm mostly going to stick to yellow chocobos, and maybe only give them 3 or 4 jobs at most.)
22
Given my requests for help were ignored twice, i figured I'd go ahead and spend my spare time creating a complete documentation of every operation i could work out, inside out and looped. Even includes operations that i don't believe would have a real impact on the registers or game.
The only things I'm missing are the exact functionality of several functions that i couldn't find anywhere on the internet or work out contextually. I still included notes on the limitations of the bytes within the operations, however, in case that helps.
23
PSX FFT Hacking / Any ASM tutors available?
December 27, 2019, 08:19:33 pm
I understand this isn't something that comes for free, but i was hoping i could organise some sort of deal with whomever would accept. I would be more than happy to work on bigger projects with people! I have read through the thread posted elsewhere that many newcomers do not have the determination to continue, but i promise that i definitely do, and i am incredibly eager to learn ASM code with somebody, mostly because i don't believe i could learn the ins and outs of the language without initial guidance. If there's anybody available I would really appreciate, and help them with their own endeavours as 'payment.'
24
Run into a new problem since the last thread i posted. I'll relay some things I've done first:
I've gone through the site's tutorial on ASM modding, and have successfully reconstructed the fire element cure.
to help draw parallels to the psp version of the game, i thought i would boot up fftpatcher and the debugger for wotl and make the same mod to this version. only problem now is the debugger doesn't seem to have any effect on the game itself. The memory loaded on the debugger is completely blank, every byte filled with question marks.
i then tried to draw a breakpoint on cure's Y value (obtained from fftpatcher), for its default calculation, and then make the game access this value results in the game... not breaking. no breakpoint occurs and the debugger fails to read the value at this memory location. I thought maybe this would help shed light on the memory issue and it seems it has.
Is this an issue i can resolve, or is this universal and there is no solution?
25
I'm trying to make a mod for my game that allows chocobos, and perhaps other monster units, to wear armour at least and have a separate job wheel from human units at best. However, Since this doesn't seem to be possible using fftpatcher or lioneditor, i read about and found that an ASM hack is needed to recode the game at its fundamentals. I also have no idea where I can acquire something like this, since google isn't helping. a link to a download for a program that can read assembly code would be greatly appreciated, thank you.