• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 19, 2024, 03:23:54 am

News:

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


Xif's Fixes (ASM Hacks & Spreadsheets)

Started by Xifanie, September 12, 2008, 10:50:17 pm

Xifanie

~ Jumza's request ~ (I'm such a nice xifi)

Can view ??? units' stats
[indent=2]Allows viewing the stats of ??? units. Sadly, as the Unit List does not have a function to hide stats like the battle field does, you should not apply the Unit List portion of this hack if you want stats to remain completely hidden to the player. This means the ??? unit will not show up at all in the Unit List, just like in the original version. By default, this xml disables all stats hiding, so edit it as you see fit (there are plenty of comments).[/indent]
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Jumza

That was so fast! Thanks Xif, you're the best! Really!
  • Modding version: PSX
Nyzer: Alma teleports out of her own possessed body.
Raijinili: Remember that you're telling a modding community that the game they love could use some fixing.

theultrawolf

Shield Bash formula? Is it possible?
Like, requires shield, gives 100% knockback, and can inflict status (remove charging/performing)
  • Modding version: PSX & WotL

Jumza

Here's what I did (while I still had it in my mod. I decided to remove it though), the ability requirement hack can be made to require a shield, then place the ability over Dash and boom, done.

Edit: Also I used the ASM hack to increase Throw Stone and Dash (now Rush Attack, for me) knockback to 100%
  • Modding version: PSX
Nyzer: Alma teleports out of her own possessed body.
Raijinili: Remember that you're telling a modding community that the game they love could use some fixing.

Xifanie

November 25, 2015, 03:15:32 am #444 Last Edit: November 25, 2015, 03:41:55 am by Xifanie
~ Lockeadon's request/Non-existing? JotF hack ~ (I don't know, I can't find it in JotF's files, and there was definitely 100% chance in the last official release... just remade it I guess [I didn't make the original, this is from scratch and I bet more flexible])

Undead Revival Chance
[indent=2]Chance that undead units will revive once their death counter reaches 0 and 100CT. The chance formula is: (X - 32768) / 32767; meaning that the range is from 0x0000 (0 or 0%) down to 0x8000 (-32768 or 100%). In vanilla, the undead have 50% chance to revive. This hack's default value is 100% revival rate.

Examples:
0% revive: 0000
5% revive: F999
10% revive: F333
25% revive: E000
33.3% revive: D555
50% revive: C000
75% revive: A000
100% revive: 8000
[/indent]

EDIT: Turns out JotF was using a peculiar hack... that has its uses (it forces something to happen, otherwise treasure/crystal immunity when the game tries to get rid of a unit just skips the turn), but basically requires crystal+treasure immunity on a unit to have 100% revival chance.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Xifanie

Since Elric was nice enough to reorganize my topic, and also add some hacks I made for JotF, here they are, just so you know which they are. Enjoy!
You can find those hacks in the first post in Xifanie.xml.

Equip Change Fix
Allows changing your Right Hand/Left Hand equipments without consuming your Act.

Formula 59 becomes Phoenix
Applies Heal_(Y)% Hit_F(MA+X)% NE to downed allies within effected area while still applying Dmg_F(MA*Z) ME NS to enemies within the same area.

Incremental Jump Range
Instead of choosing the highest value of the learned jump ability for the horizontal/vertical ranges, instead they are added all together,
meaning no one skill is ever going to be useless; it will always count towards your total horizontal/vertical range.
You could have Horizontal +2, Horizontal +1, Horizontal + 1, together would be the equivalent of Horizontal +4.

Propositions Hack 2.1
Proposition Hack v2 with Gil Cost and the ability to abandon marks. By Xifanie (a bit of help from Pride's original hack)
This hack involves a few more steps than most and it should really only be used if you know what you are doing. This is the hack that is used for the 'Marks' System in Jot5.

This will allow you to unlock a Proposition based on Story Progress rather than Shop Progress. It also changes how propositions work.

First you will want to go to the propositions tab in FFTP. Since this hack changes Propositions to use Story Progress you'll have to either count out the entries to find the correct number or you can rename your shop progress to also include story progress, as I have in the picture here:

Once this is setup, you can check your game and upon reaching the set story progress, the Proposition should unlock in the Bar as normal. You will NOT be prompted to send out units or select an amount of days for the job. Instead you will be told the job details as normal (These are edited in section 2 of WLDMES.BIN) and you can choose to accept or decline. If you decline the listing remains posted. If you accept then the listing disappears and the variable for the Proposition is set to 2.
The variables for Propositions with this hack work as follows:
0 = Repeat
2 = Started, can call back
4 = Completed

The next thing you would do would be to edit your worldmap conditions to include something like this on the location where you want the Mark/Proposition Event to take place:
010066030200190013010100

What this breaks down to is: IF - Variable 366 = 2 - Run Event 113 - Agressively

NOTE: Variable 366 is the Variable for Envoy ship, Falcon one of the vanilla propositions, and is just an example here. Same with event 113, as it is what I chose to use for this example. Also, the 0100 - Agressively is when you step on a dot and it takes you to a battle, it does the swirl image thing, in comparison to having this set to 0200 - Calmly, which would be the fade out you'd get if you were instead being taken to a non battle cutscene.

So now, in this example, once you accept the job and walk onto the location you put the code on in the worldmap, the battle/scene will start.

VERY IMPORTANT: At the end of the scene or battle you also need to either change the Propositions variable to either 0 or 4. If you set it to 0, the Proposition will appear back in the Bar and can be repeated. If you set it to 4, the Proposition will be flagged as completed and a bravestory entry will be added to the bravestory. Make sure you don't leave the variable as 2, because the battle will repeat everytime you try to leave the dot on the map. Here's an example of what you'd want at the end of your event to mark the proposition as complete:
ZERO(x0366)
ADD(x0366,x0004)

You can also cancel a Proposition in case you want to pass a spot on the map due to a Proposition battle being too difficult or just wanting to put it off for later. Cancelled jobs will reappear the next time you enter the Bar.


Rumors use proposition space
Rumors use proposition completion notes slots based on town ID
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Boco

Thank you so much for Smart Encounters! Using it in my current personal patch, works perfectly!

Xifanie

I'm always happy to see my hacks get some use. And I absolutely know the frustrations of that 30% encounter rate, that always triggers when you don't want it to, and never does when you want it to.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Boco

I'm amazed at your level of intelligence. As for me, aside from mowing my lawn, I spent my whole weekend bumblefucking through ALREADY MADE EASY TO USE TOOLS to click a few checkboxes and my damn head is about to explode :lol: I feel like a caveman here, well most places actually :lol:

Cerabow

Thanks again for helping me find the smart encounters hack / making all the wonderful tools and hacks that you do and much thanks to Elric for cleaning up the thread.

*goes back to digging into ASM while following tutorials*
  • Modding version: PSX
--
Robert'); DROP TABLE Students;--
  • Discord username: Cerabow

Xifanie

Quote from: Boco on May 27, 2016, 02:25:47 am
I'm amazed at your level of intelligence. As for me, aside from mowing my lawn, I spent my whole weekend bumblefucking through ALREADY MADE EASY TO USE TOOLS to click a few checkboxes and my damn head is about to explode :lol: I feel like a caveman here, well most places actually :lol:

Hey don't feel bad. I'll definitely take the compliment; but smarts ain't everything. I can't exactly get a job, so I don't have that going for me. If you do, well, I'm already envious.

Quote from: Cerabow on May 29, 2016, 01:09:29 pm
Thanks again for helping me find the smart encounters hack / making all the wonderful tools and hacks that you do and much thanks to Elric for cleaning up the thread.

He really did a great job. I really couldn't have blamed anyone's googling skills, because my hacks were just all over the place and even I had some trouble finding them sometimes.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Boco

Jumping back on to say Cross skip saved at least 4 minutes of my life already, probably going to save a whole bunch more! Makes playtesting less tedious.

Xifanie

I'm pretty proud of that one, it works flawlessly except for about 3 events in vanilla. All that happens is that the game is "paused" and you need to release Cross and press it again. It always catches me off guard. I always hated pointlessly button mashing though, and this was also to help me through real console testing.

I wish I could say my Frameskipper is as stable, but unfortunately, while I haven't had any issues in vanilla with it, it makes JotF freeze very early (even when the frameskipping function is not activated). I'm really going to have to go back on this one eventually, but I'm just drowning in FFT hacking work lol.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Elric

Updated to fix an issue in the Proposition Hack Tutorial.
  • Modding version: PSX

Boco

I don't want to necro bump but I just had to say I'm going to be trying out your spreadsheets, specifically the Guests in Random Battles and the Soldier Office Upgrade. I've browsed through them and they are masterfully crafted, you've made it as easy as possible. I'm not even into serious modding, your hacks just make the game so much better anyway.

Just like to say that if anyone was ever intimidated by using any spreadsheets, they're really easy. Just open them up with excel, make your changes where you want, go to the XML tab to copy it all, paste into a Notepad file and save as a .xml. If there are multiple patches and you copy just one, don't forget to also copy the /patches at the end.

I first started using spreadsheets when I noticed the in-battle sprites for weapons and shields in the vanilla game were wrong. Try it yourself, go into battle and block with a Mythril Shield and you'll see it isn't the same color or shape as the inventory sprite. :lol:

Timbo

Quote from: Xifanie on August 03, 2015, 11:59:49 pm
~ Guests in Randoms & Unit Restrictions ~


Description
[indent=2]This allows you to bring guests into random battles. There is an option to make them uncontrollable in said random battles. This hack also allows guests to be selectable on the squad for any story battle as well, so you have to restrict them if they are already loaded from formation to avoid dupes (which of course the spreadsheet covers. This hack is (hopefully) bug-free in vanilla, as I already configured all guest restrictions. The restrictions don't only apply to guests; you can prevent any special character in your party to join the squad! (And you can force them inside the battle with Load Formation)[/indent


This feels like a dumb question but can we use this hack to add generic units as guests? If so, will they function normally and be able to go on propositions?
  • Modding version: PSX
  • Discord username: Timbo

Xifanie

Quote from: Timbo on December 18, 2019, 11:01:19 am
This feels like a dumb question but can we use this hack to add generic units as guests? If so, will they function normally and be able to go on propositions?

Nah, I originally wrote a hack for that for KoI, and not only was it poorly programmed, I never got to the point where I made a hack that could remove generic guests (to get rid of Ramza's companions at the end of ch1).
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Timbo

Quote from: Xifanie on December 18, 2019, 12:11:10 pmNah, I originally wrote a hack for that for KoI, and not only was it poorly programmed, I never got to the point where I made a hack that could remove generic guests (to get rid of Ramza's companions at the end of ch1).


This is exactly what I need for the hack I'm working on. You said it's poorly programmed but is it functional and would you mind sharing it with me?

My idea is to combine your "Guests in Randoms", "Ramza can join as a Guest", and this "unreleased guest hack" with another hack that removes the death timer from everything but Undead and rebalance the cost of Raise, Arise, and Revive. From there it's a simple matter of deleting the "Guest" text that appears in portraits. Having the units be unremovable would actually be a big benefit to me because I need them to stick around. Not having to worry about generics is also a great excuse to use you "Soldier's Office hack" to expand that to monsters as well.

The thing I'm tinkering around with right now is http://ffhacktics.com/wiki/Save_Unit_to_Party and http://ffhacktics.com/wiki/Find_Free_Party_Index. It seems pretty straightforward to move the guest unit slots from 16 - 20 up to 1 - 4. That said, I feel like there's a whole bunch of hardcoding in other routines and my ASM has thus far been limited to 65c816.
  • Modding version: PSX
  • Discord username: Timbo

Xifanie

I found a hack but I'm not super sure it works all as intended on its own. I'm guessing half of it allows generics to join as guests and the other half forces LoadFormation to load based on roster ID.
   <Patch name="Allow generics to join as guests (version 1)">
      <Description>The number of the guest is that of the roster number. For example, Sprite Set 0x10 (17) with Load Formation will load unit 17 in roster.&#13;&#10;&#13;&#10;by Xifanie</Description>
      <Location file="SCUS_942_21" offset="4A3D0">
         8300422C
      </Location>
      <Location file="SCUS_942_21" offset="4A7BC">
         06008510
      </Location>
   </Patch>


The main issue is that normally Load Formation and Save Formation work based on the character's Main ID (aka sprite ID). Ideally, it should use the Quote ID because even generics can have those unique. Likewise, removing a guest from the party works in the same way.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Timbo

This is terrific! I'll be sure to check it out as soon as I am able. Thank you.
  • Modding version: PSX
  • Discord username: Timbo