• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 05:08:16 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


ASM Requests

Started by The Damned, October 29, 2014, 09:16:45 pm

Glain

Quote from: hitokiro on April 18, 2019, 08:05:29 pm
Hello everyone~

I was wondering if there was a straightforward way to transform a gameshark code into an ASM hack? Specifically I'd like to patch "JP Never Decreases" into my game. The code I found for this is:

D004760C 0001
8011FAD4 0000

Or I suppose if there's already an ASM hack for this, that would also be super. I looked through as many lists as I could but didn't see it.


...Does this gameshark code actually work? It looks like it should crash the game...

But anyway, yes, this one would be:

<Patch name="Crashes game when learning ability">
  <Location file="WORLD_WORLD_BIN" offset="11FAD4" offsetMode="RAM">
    00 00
  </Location>
</Patch>


However, if you want one that doesn't crash the game:

<Patch name="JP Never Decreases">
  <Location file="WORLD_WORLD_BIN" offset="11FAD6" offsetMode="RAM">
    40
  </Location>
</Patch>
  • Modding version: Other/Unknown

hitokiro

Quote from: Glain on April 19, 2019, 11:56:37 am
...Does this gameshark code actually work? It looks like it should crash the game...

But anyway, yes, this one would be:

<Patch name="Crashes game when learning ability">
  <Location file="WORLD_WORLD_BIN" offset="11FAD4" offsetMode="RAM">
    00 00
  </Location>
</Patch>


However, if you want one that doesn't crash the game:

<Patch name="JP Never Decreases">
  <Location file="WORLD_WORLD_BIN" offset="11FAD6" offsetMode="RAM">
    40
  </Location>
</Patch>



LOL I had not tested the code myself, so I appreciate you giving me both the busted version and the real one. I'll test this out tonight (the good one that is). Thank you!
  • Modding version: PSX

hitokiro

Quote from: Glain on April 19, 2019, 11:56:37 am

<Patch name="JP Never Decreases">
  <Location file="WORLD_WORLD_BIN" offset="11FAD6" offsetMode="RAM">
    40
  </Location>
</Patch>



Works like a charm! Thanks so much for the response.
  • Modding version: PSX

ekaiser

Sup tatics bros and sis!! I'm not good creating ASM but i can manage to modify and use created ones , it seems to be simple for you to create this magic beauties?
can someone do these ASMs? i search for them in FFTorgASM and in this forum but have not luck
1-Reaction->Summon, cast spell on self,activate upon critical
Like HP restore but summon Salamander in critical (have plan to use with my Phoenix summon after implement the Phoenix formula)
2-Reaction->Same as the above but summon , cast spell after dead and make it only one time per battle (perfectly for Phoenix summon)
  • Modding version: PSX

3lric

We already have a phoenix ASM, complete with a new summon graphic for phoenix... it will come with Jot5 Chapter 2
  • Modding version: PSX

ekaiser

Yes i know and i see in action you Phoenix summon in the youtube link you post in other threat, omg i like it so much 0.0 i want that phoenix animation too, but i will express myself well this time about what i need:
-Need one ASM that let me modify the HP Restore formula(reaction ability), so, when my unit is in critical, it will cast a spell (like float, or Fire 4), OR instead of that perform a summon (like Fairy or Golem)
-And may be if were near posible, modify the MP Restore formula (reaction), if the unit dies, activate a spell (like raise or Thunder 4) OR activate a summon or other ability referenced to this asm formula before patch.
  • Modding version: PSX

Nyzer

Spells and summons are functionally the same. IDK how hard it would be to duplicate Counter Tackle and change the reaction trigger to Critical instead of Counter though.
  • Modding version: Other/Unknown

ekaiser

Nyzer hive a idea but still dont work, I try the Reaction Rewrite 1.2 ASM that let modify Counter Tackle and the Trigger to it, but can't manage to work properly ingame, the Reaction just not activate at all , also it seem that ASM contains some code errors (Unaligned offset AND Possible load delay Warnings) that not let the game work on console.
  • Modding version: PSX

Hyppocritamus

how high is your Brave?

Skills like Critical Quick (using it as an example) need the critical status on, and to take a certain type of hit (like HP damage), and then need enough Brave to actually trigger it.

How do the rest of your requirements, and the unit trying to use your skill, look?
  • Modding version: PSX

Heisho

Quote from: Glain on April 19, 2019, 11:56:37 am
However, if you want one that doesn't crash the game:

<Patch name="JP Never Decreases">
  <Location file="WORLD_WORLD_BIN" offset="11FAD6" offsetMode="RAM">
    40
  </Location>
</Patch>



@Glain:  Do you know if this also applies to IA? I mean if Jp from IA doesn't decreases when battling against them?
Sorry if I'm talking gibberish, I don't know how to put this in English.
  • Modding version: PSX
Grrr, arwg, hiss, and some other zombie noises...
  • Discord username: Heisho

Glain

It only applies when learning an ability from the formation screen.

Are you asking if AI units would still spend JP to learn their skills?  They would.  Perhaps the title of the patch could be a bit more specific.
  • Modding version: Other/Unknown

Heisho

Quote from: Glain on July 31, 2019, 12:16:02 am
It only applies when learning an ability from the formation screen.

Are you asking if AI units would still spend JP to learn their skills?  They would.  Perhaps the title of the patch could be a bit more specific.


Well that solves a question that I had, I suppose there is a way for AI to also not spent JP. Is there something in the wiki where I can check regarding this subject?

Thanks in advance.
  • Modding version: PSX
Grrr, arwg, hiss, and some other zombie noises...
  • Discord username: Heisho

Glain

Yep.  This is a handy reference.  At first glance, the appropriate routine seems to be this one.

To get the AI to not spend JP, you could probably nop out the instruction at either 0x5d010 or 0x5d018.
  • Modding version: Other/Unknown

Heisho

Quote from: Glain on July 31, 2019, 11:26:59 am
Yep.  This is a handy reference.  At first glance, the appropriate routine seems to be this one.

To get the AI to not spend JP, you could probably nop out the instruction at either 0x5d010 or 0x5d018.

Most excellent!
Has always thanks for taking your time for the help Glain!

Regards.
  • Modding version: PSX
Grrr, arwg, hiss, and some other zombie noises...
  • Discord username: Heisho

Zantetsuken

Can someone make an ASM hack to change concentrate to just reduce target evasion by half or nullify class evasion?

I found one posted by Rfh long ago, but it does not seem to work.
  • Modding version: PSX
  • Discord username: Zanmato

Zenn

Quote from: Zantetsuken on August 14, 2019, 10:24:34 am
Can someone make an ASM hack to change concentrate to just reduce target evasion by half or nullify class evasion?

I found one posted by Rfh long ago, but it does not seem to work.

Try this one (not tested):
  <Patch name="Concentrate div by 2 all evades instead of null them - ASM version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="1852E4" mode="ASM" offsetMode="RAM">
      lui a0,0x8019
      lw v0,0x2d94(a0) #Load Attacker Data Pointer
      ori a1,zero,0x0004 #All four evades.
      lbu v0,0x0090(v0) #Load Attacker's 2nd set of Support
      addu a0,a0,a1
      andi v0,v0,0x0001
      beq v0,zero,EXIT #Branch if Attacker Doesn't have Concentrate
LOOP: addiu a0,a0,0xffff
      lbu v1,0x38de(a0)
      addiu a1,a1,0xffff
      srl v1,v1,0x01 #Amount to shift 1 equals div2, 2 equals div4
      bgtz a1,LOOP
      sb v1,0x38de(a0)
EXIT: jr ra
      nop
      nop
      nop
    </Location>
  </Patch>
  <Patch name="Concentrate div by 2 all evades instead of null them - HEX version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="11E2E4">
      1980043C
      942D828C
      04000534
      90004290
      21208500
      01004230
      06004010
      FFFF8424
      DE388390
      FFFFA524
      42180300
      FBFFA01C
      DE3883A0
      0800E003
      00000000
      00000000
      00000000
    </Location>
  </Patch>
  • Modding version: Other/Unknown

Nyzer

There is a support ability in Jot5, Bandit's Eye, that improves accuracy without making it 100%. Unsure what the formula is though. But as it's part of the Ch. 1 release, I'd expect it's publicly available; most of that stuff is.
  • Modding version: Other/Unknown

Zantetsuken

Quote from: Zenn on August 14, 2019, 11:33:33 am
Try this one (not tested):
  <Patch name="Concentrate div by 2 all evades instead of null them - ASM version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="1852E4" mode="ASM" offsetMode="RAM">
      lui a0,0x8019
      lw v0,0x2d94(a0) #Load Attacker Data Pointer
      ori a1,zero,0x0004 #All four evades.
      lbu v0,0x0090(v0) #Load Attacker's 2nd set of Support
      addu a0,a0,a1
      andi v0,v0,0x0001
      beq v0,zero,EXIT #Branch if Attacker Doesn't have Concentrate
LOOP: addiu a0,a0,0xffff
      lbu v1,0x38de(a0)
      addiu a1,a1,0xffff
      srl v1,v1,0x01 #Amount to shift 1 equals div2, 2 equals div4
      bgtz a1,LOOP
      sb v1,0x38de(a0)
EXIT: jr ra
      nop
      nop
      nop
    </Location>
  </Patch>
  <Patch name="Concentrate div by 2 all evades instead of null them - HEX version">
    <Description>Concentrate divides by 2 all target evade types instead of nulling them.</Description>
    <Location file="BATTLE_BIN" offset="11E2E4">
      1980043C
      942D828C
      04000534
      90004290
      21208500
      01004230
      06004010
      FFFF8424
      DE388390
      FFFFA524
      42180300
      FBFFA01C
      DE3883A0
      0800E003
      00000000
      00000000
      00000000
    </Location>
  </Patch>



Ty very much, it worked  :D

Quote from: Nyzer on August 14, 2019, 12:56:31 pm
There is a support ability in Jot5, Bandit's Eye, that improves accuracy without making it 100%. Unsure what the formula is though. But as it's part of the Ch. 1 release, I'd expect it's publicly available; most of that stuff is.


Looks interesting, it is something i could use on my mod, since i made all skills avoidable.
  • Modding version: PSX
  • Discord username: Zanmato

aacroke

I'm hoping someone can help me change the decision for which attacking animation is used.

Specifically, when a unit attacks with a rug-type weapon, I'd like you see the (unarmed) punching animation instead of the rug attack animation.

Once this nagging ASM issue is resolved, I have a fully ready mod for the community (as in all other edits are done)!
  • Modding version: PSX

Hyppocritamus

Quote from: aacroke on August 27, 2019, 10:22:10 am
I'm hoping someone can help me change the decision for which attacking animation is used.

Specifically, when a unit attacks with a rug-type weapon, I'd like you see the (unarmed) punching animation instead of the rug attack animation.

Once this nagging ASM issue is resolved, I have a fully ready mod for the community (as in all other edits are done)!


Why not just export the weapon sheet in shishi, erase the rugs, and import it again?  Same basic result, no ASM needed
  • Modding version: PSX