• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 17, 2025, 12:49:32 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.


Razele's ASM Hacks

Started by Razele, January 01, 2009, 02:08:08 pm

Dokurider

February 02, 2009, 06:40:56 pm #240 Last Edit: December 31, 1969, 07:00:00 pm by Dokurider
I don't know if this has been asked before, but have you found a way to increase rooster space yet?

Razele

February 02, 2009, 09:12:39 pm #241 Last Edit: February 02, 2009, 11:37:37 pm by Razele
QuoteRazele, i shouldve informed you of this bug as well

If you change a Generic class Skillset, it behaves oddly.

If you place one ability in it, learn it and go into battle, your menu will be greyed out.

If you have say, 4. and learn them all itl only learn a few. if you learn just one or 2, you will learn what seems to be random skills, other than what you spent jp on. If you dont learn anything in it, you might go into battle with the skillset mastered....

such strange things. i managed to delve into some BnE snippets and change their register value to be equal so that it would not go to a far away line of code. needless it say it didnt help much before there were to many to keep track of. I did manage to make the weapon range ability with a 00% chance to do nothing, into a green paneled, target only self 00% chance to do nothing
Greyed out ? When I change Lancer's skillset to 0E Steal it seems to working fine in battle. Can you give me some screenshot about what you do ?

QuoteI don't know if this has been asked before, but have you found a way to
increase rooster space yet?

Yes and no. The max number of rooster space is actually 20.
16 for your party and the other 4 is reserved for guest.
If your party is higher than 20, the game won't allow it, since it will overwrite other area.
Ovelia, Mustadio and Agrias join you at the same time in vanilla, so if you change the story event (ditch one of them) you can increase party number by 2 in phase B.

Soldier Office : increase 16 unit limit to 20, phase A
SCUS_942.21
0x4A764 change 0x10 to 0x14

Note : Unit 17-20 join as Guest.

Zozma

February 02, 2009, 09:25:24 pm #242 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
so raz, i should have absolutely no problem if i use this phase A thing
 
for my patch since guests NEVER appear in my menu at all.

so im free to add my 4 new characters then? but how did the psp get up to 24 normal party units and start guests at 25?
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Archael

February 02, 2009, 09:47:31 pm #243 Last Edit: December 31, 1969, 07:00:00 pm by Archael
Quote from: "Zozma"so raz, i should have absolutely no problem if i use this phase A thing
 
for my patch since guests NEVER appear in my menu at all.

so im free to add my 4 new characters then? but how did the psp get up to 24 normal party units and start guests at 25?

exactly my thoughts...

SentinalBlade

February 02, 2009, 10:02:14 pm #244 Last Edit: December 31, 1969, 07:00:00 pm by SentinalBlade
PSP was essentially a port, but they did have the source code at their hands...they couldve done alot more than what they did

Its not like they ASM'd their way into the old FFT PSX ISO and fumbeled around for 4 years xD

Xifanie

February 02, 2009, 10:02:23 pm #245 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
moar space
psx has 2mb ram
psp has 32mb ram
  • 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

Razele

February 02, 2009, 11:36:56 pm #246 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Quoteso raz, i should have absolutely no problem if i use this phase A thing

for my patch since guests NEVER appear in my menu at all.

so im free to add my 4 new characters then? but how did the psp get up to 24 normal party units and start guests at 25?

Nope, that hack isn't perfect. If you recruit 17th unit in Soldier Office, they will join as Guest.

SentinalBlade

February 02, 2009, 11:48:53 pm #247 Last Edit: December 31, 1969, 07:00:00 pm by SentinalBlade
Only problem with that being they are stuck as guests? as in you cant remove them? :P

Razele

February 03, 2009, 12:00:32 am #248 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Yeah, they behave like Guest Delita & Algus.


Zozma

February 03, 2009, 01:06:41 am #249 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
thats quite a shame, no way to undo this?
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Razele

February 03, 2009, 01:31:10 am #250 Last Edit: December 31, 1969, 07:00:00 pm by Razele
Phase B is to fix those problems, and still in progress.

Quotefor my patch since guests NEVER appear in my menu at all.

You don't use "Save Formation" check in fftpatcher ?
Does that mean you give Guest Delita fixed setup ?

Zozma

February 03, 2009, 01:32:22 am #251 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
yes. i never use "save formation" at all in my patch
you cant edit what your guests learn or have equipped, but they are set to always start on party level in each battle they appear
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

Aquilae

February 03, 2009, 02:23:11 am #252 Last Edit: December 31, 1969, 07:00:00 pm by Aquilae
Hey Razele, would it be possible to hack Transparent status so that units can pass through them, but not stand on the same space? Sort of like dead units occupying spaces.
:gay:

Razele

February 03, 2009, 02:52:24 am #253 Last Edit: December 31, 1969, 07:00:00 pm by Razele
QuoteHey Razele, would it be possible to hack Transparent status so that units can pass through them, but not stand on the same space? Sort of like dead units occupying spaces.
This one should be possible, since Dead status already do this.

QuoteYou still looking for a way to buff the other move skills, Raz? I think you should give Fly 1.5 increased evasion. I think giving it initial:faith or whatever is too strong.
Yeah, I'm still accepting ideas.
We still haven't talked about other movement skill, like Ignore Height.
Fly can use the Defending trigger to increase evasion.

QuoteIf it were possible to add +move/jump to movement abilities, i'd like to see the +move and +jump abilities conslodated into one set of +abilities. like Move +1 would increase move by, well, +1, and move + 2 would increase move by +2 and jump by +1, and move plus 3 would have the net effect of move +3 and jump +2.

Fly could get Always: Float, and grant immunity to Don't Move, but would add Weak: Wind

Float could grant immunity to Don't Move

Any Ground could also halve earth and water element attacks
Doesn't this will make Fly superior to Float ?

This is the list of movement abilities :

* Move+1
* Move+2
* Move+3
* Jump+1
* Jump+2
* Jump+3
* Ignore Height
* Move-HP Up
* Move-MP Up
* Move-Get Exp
* Move-Get Jp
* Teleport
* Teleport 2
* Any Weather
* Any Ground
* Move in Water
* Walk on Water
* Move on Lava
* Move undrwater
* Float
* Fly
* Silent Walk
* Move-Find Item

SentinalBlade

February 03, 2009, 02:59:04 am #254 Last Edit: December 31, 1969, 07:00:00 pm by SentinalBlade
Razele, ive been messing with some ideas and Shaded passed out that in the ENTD, some classes should have a set of RSM to choose from...

Its pointless having monk with Weapon Guard or a knight with MA Save right?

Im thinking maybe we could give them a small pool to choose from, and elimenate any useless abilities that would appear when you set a unit to have a random one...

I found where the units RSM are loaded when you go into a battle, but you never really finished helping me learn actually "Making" hacks. all i can really do is find stuff through the debugger. i have no idea how to really make it read its class to jump to an area that will ahve the listed abilities for that class...blah blah blah...like i said, all i can do is find stuff till i actually get help learning this >.<

Edit: i did manage to do SOME things by myself. like i removed some things that can be selected with the randomize command... like if an enemy has weapon guard i made it so he will never equip weapon guard with the randomization... :3 i like to think im learning, and even if im not, the false sense of security kinda helps me get by.

Razele

February 03, 2009, 08:02:52 am #255 Last Edit: December 31, 1969, 07:00:00 pm by Razele
The easiest way would be to redirect each class to its own table list.
Instead of using reaction table's "Chance to learn" in 3005F922 - 3005FA1A we use our own table.
Assuming you only want the Generic class 4A Squire - 5C Dancer (19 class), that means we need
32 * 19 = 608 bytes to store the pool for reaction abilities
32 * 19 = 608 bytes to store the pool for support abilities
26 * 19 = 494 bytes to store the pool for movement abilities
Total : 1,710 bytes

1.3's Table :



Ex : Samurai's custom table

SentinalBlade

February 03, 2009, 08:08:49 am #256 Last Edit: December 31, 1969, 07:00:00 pm by SentinalBlade
Alright given the that info, it seems a bit clearer, though im still not entirely sure of how to make it read our own table instead of the games default, i understand a jmp instruction will work fine for going to that table, but what code could be overwritten to put space for that jmp, and with that in mind, being careful of its placement because of the read immediate instruction after each branch and jump command... I can experiment, and more than likely will, but id like to save myself a few hours of headaches, if you dont mind explaining to me how to correctly make it read our table and then returning the learned skills...id be pretty thankful :)... also if you mentioned something and i missed it, i havnt slept in 3 days, so im running on little energy...just point it out ot me and ill try harder to look at what you wrote.

Razele

February 03, 2009, 09:18:32 am #257 Last Edit: December 31, 1969, 07:00:00 pm by Razele
First, you should get a good rest. Three days without sleep aren't good for your health.

There should be a pointer that read "Chance to learn" table.
Something like this :

r17=0x8005f9e8
lbu r5,0x0002(r17) [Read Weapon Guard's Chance to learn]

That function must be inside a loop, so first you must check if that function load Reaction table only or used to load Ability table too.
Then, just put a jump to the kanji area, and put the percentage learn in the table :
To load our own table, just modify that instruction to :


save r17
lui r17,0x8015
ori r17,r17,0x3848
add r17 with current class and calculate the new address.
lbu r5,0x0000(r17)

load r17


Samurai's table :

          A  B  C  D  E  F
00153848: 00 00 32 00 0A 32
....
....


A = A Save
B = MA Save
C = Speed Save
D = Sunken State
E = Caution
F = Dragon Spirit

Zozma

February 03, 2009, 09:34:04 am #258 Last Edit: December 31, 1969, 07:00:00 pm by Zozma
raz can you make it so Blind status makes your base hit for everything 50%
including spells?

It really needs to be more crippling than it is normally....
  • Modding version: Other/Unknown
Wiegraf: Draw your sword Ramza!
Ramza: But im a monk!!

SentinalBlade

February 03, 2009, 09:36:07 am #259 Last Edit: December 31, 1969, 07:00:00 pm by SentinalBlade
Alright, i understand all that, surprisingly, but how does it know that this is for samurai? we can point to a table but how do we make so it calls it for the right class. would we do a simple lbu and check it against a register, and if its equal go to that things table?

I recognize that it checks for chance to learn and such, and that code seems pretty clean  cut, but there doesnt seem to be any clear indication of what the current enemies class is to check against anything...or am i overlooking something simple or miniscule?

Also, im on a new medicine that is basically FORCING epilepsy while wearing a halter monitor. they are trying to decide if my seizures are really seizures or something (insert two extremely hard to pronounce/spell words) synchopy. it makes it very hard to sleep. but it is one of our last few options.