• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
April 19, 2024, 01:24:39 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!


Buggy ASM hacks

Started by Grond, March 24, 2014, 02:00:32 pm

Grond

Hello, FFHacktics regulars! Does anyone have fixed versions of these, or would anyone care to fix these? I would like to use them in a major mod I am working on; otherwise I will have to design around not being able to use them.

To verify that the problems I'm having with them aren't the result of conlicts with other patches, I tested them all individually with pSX v1.13 on a clean/vanilla ISO (except for changes necessary for an ASM to be usable in-game).

Disable Move hack by FFMaster
   http://ffhacktics.com/smf/index.php?topic=5658.msg155233#msg155233
   Just doesn't work more often than not, but occasionally it will function correctly.

Units with reaction between Counter and Distribute have front evasion for sides and back by FFMaster
   Seems to affect everyone and is not limited to units using the ability, as described.

Learning Support Hack by pokeytax
   Technically works, but also screws up equipment and/or stats.
Test scenario 1:
   I set up the patch to utilize the blank support ability under Non-charge and using job Calculator and skillset Math Skill. Made the new 'learning' ability cost 0 JP and added it to Math Skill skillset. Added Flame Attack to Math Skill skillset and make it 100% learn-on-hit, non-learnable with JP, and cost 9999 JP. Added Flame Attack to Bomb's skillset. In-game, equipped 'learning' on a weaponless non-Calculator and let a Bomb hit him with Flame Attack. Result: learned Flame Attack as expected, but also ended up with an Asura Knife mysteriously equipped in the right hand.
Test scenario 2:
   Same as 1, but I sent the unit in as a Calculator without the 'learning' ability and ended up with a Yoichi Bow in my hands out of nowhere.
Test scenario 3:
   Same basic setup as 1, but changed from Calculator to Mediator, a more ordinary job/skillset in hopes that it wouldn't bug out like Calculator. Ended up with a Rod equipped in the body armor slot.
Test scenario 4:
   Same as 3, but I sent the unit in as a Mediator without the 'learning' ability and ended up with a Spell Edge in the body armor slot.
I stopped this test here, but I've had this patch give me many hundreds of MP in the past instead of (or in addition to) altering equipment.

Multiplier Editor in Raven's Workbooks
   Tested these with the default values provided. Using the "Haste, Slow Edits" portion caused battles to start out stuck in some sort of infinite loop with everyone walking in slow motion. In the "Element Fixes and Edits" portion, elemental weakness is completely broken. I didn't test any further with that part. In the "Attack Up, (etc.) Edits" portion, Attack Up tested with a Mithril Gun (64 base dmg) against a freshly-hired neutral-compatibility Squire deals 80 dmg (125%) instead of the expected 85dmg (133%). I stopped testing here.

Blank support ability over Short Charge adds 25% bonus skill hit by Xifanie
   I noticed there are two* different versions of this, one in Xifanie's ASM thread and one in an xml included in v483 of the patcher suite. The former seems to work okay, actually, though I haven't tested it a lot. The latter version doesn't seem to do anything at all. Why does the (newer?) version in the xml exist? Is it supposed to be fixed to work on a real PS1 or something?
   *Choto has a modification of this patch that also has issues, but I posted about that in his ASM thread (which is still active unlike most) so hopefully he can fix it.
Version A (working):

0x0011F5D8
1980013C
CE382294
CE3830A4
D03822A4
D0382394
CE382294
92006492
10008430
03000410
21104300
82180200
21106200
902D248C

Version B (non-working):

0x0011F5D8
1980013C
CE382294
942D248C
CE3830A4
92008490
D03822A4
10008430
03000410
21100202
82181000
21106200
902D248C
00000000


Choto

March 24, 2014, 09:09:04 pm #1 Last Edit: March 24, 2014, 10:36:45 pm by Choto
Ok lets see here. First thanks for the feedback on the hacks.

I addressed the accuracy hack in my thread. Check the OP for a working version that just nulls 20% of the targets evade. I think there's a small amount of deviation in that amount but nothing that would cause concern.

I'll take a look at the disable move hack since Celdia requested a similar fix.

Try this hack for the front evade applied to sides and back. It says "should be fixed" so maybe it's fixed. Then again..
<Patch name="Keen Senses ASM - 0x1BB ">
<Description>
(With Correct Reaction, W-EVD/C-EVD/S-EVD applies to back and sides) [Should be fixed]
</Description>
<Location file="BATTLE_BIN" offset="11E6F4">
d9600508
00000000
</Location>
<Location file="BATTLE_BIN" offset="F1364">
8D00A290
00000000
04004230
02000210
00000000
2330C600
000066A0
C0150608
2110C000
</Location>
</Patch>


Here's a duo of learn hacks:
<Patch name="Learn On Hit Rate is 100%">
<Location file="BATTLE_BIN" offset="127844">
64000534
</Location>
</Patch>





<Patch name="Monster Talk becomes Learn">
<Location file="BATTLE_BIN" offset="F2F14">
03000292
1680053C
12000492
549FA524
0800A2A0
91000292
0400A4A0
10004230
04000210
0F000234
120002A2
54000234
030002A2
DE390608
00000000
</Location>
<Location file="BATTLE_BIN" offset="F2F54">
52FF7322
0C000234
51000334
120062A2
030063A2
623A0608
00000000
</Location>
<Location file="BATTLE_BIN" offset="127774">
c5670508
</Location>
<Location file="BATTLE_BIN" offset="12797c">
25104202
000062A0
D5670508
</Location>
</Patch>


For the multiplier thing, check and make sure you have the most up-to-date workbooks. The other possibility is that you have conflicting hacks. Hacks written to the same location will cause the kind of catastrophic failures you're describing. Check all the others and we'll tackle that later.

Edit: A note on the learn on hit hack. 64000534  <-- The 64 sets the % amount. 64 in hex is 100 in decimal. So change 64 to any hex number less than 64 to set it's equivalent decimal %.

Grond

Thanks for the accuracy and evasion hacks! They seem to work fine after a brief test.

If you can't fix the Disable Move hack easily, don't worry about it. I was only using it for two abilities anyway, so I can design around not having it easily enough.

Unfortunately the big learning hack you posted is the same as the one I tried, just without the editable parts indicated. :| Looks like I won't have a Learning ability, but I don't too much mind having to be in the Blue Mage job to learn the skills.

Concerning the Multiplier Editor, I suppose I don't need it either since there are seperate small hacks for pretty much all that stuff already.

Thanks again.

Choto

That's really strange... all those hacks and the multiplier all work for JoT5. That leads me to believe you have hacks writing to the same place and causing random effects. That's cool if you want to design around it, but if you want I could show you how to check for and fix that problem.

At least it's one of the cooler bugs, giving tons of MP and random equips with good intentions.

Grond

There weren't any conflicts, trust me. Like I said, I tested the patches individually with a clean ISO (.bin, technically) that I personally ripped with ImgBurn--and it has the same hashes as one of those in this topic (the crc32 = 377F6510 one), so it's almost certainly a good rip.

Though actually, on a closer read of the Raven's Spreadsheet Shop topic it seems that it's known that the Multipliers Editor has lingering issues. If I'd noticed that before I wouldn't have mentioned it here. Well, it's of little concern to me. If it gets fixed I might use it, but I can do without it for now.

Concerning your evasion reduction hack, I assume no problems will arise if I alter 0x11e858 to make it subtract a lesser amount? I imagine it will work fine, but I figured I'd ask.

Choto

I thought you had some programmer in you... got that vibe.

To be honest I forget how most of my hacks work since I usually do them once and post em up. If you have trouble let me know and i can look into it. that seems like it should be the trick tho

Celdia

Quote from: Choto on March 27, 2014, 07:52:02 pm
I thought you had some programmer in you


You could say that...

Since I can't imagine there are two Gronds, this is the guy who made some of the best FF1 hacks out there.

*quietly hero worships*
  • Modding version: PSX
  • Discord username: Celdia#0

Choto

Here Grond, the learn ASM should be fixed:

<Patch name="R/S/M designates Learn on Hit (Fixed)">
    <Description>Units with the specified support ability (value XX on byte WW) equipped are treated as having the specified job/skillset (job YY, skillset ZZ) for the duration of learn-on-hit checks. So if you specify byte 91, value 10, job 51, skillset 0c, units with Monster Talk equipped learn Time Magic (e.g. Haste 2 and Slow 2), not their current skillset. It should not interfere with the support ability's ordinary functioning.</Description>
    <Location file="BATTLE_BIN" offset="F2F14">
   03000292
1680053C
12000492
749FA524
0800A2A0
    </Location>
    <Variable name="Ability byte (WW)" file="BATTLE_BIN" offset="F2F28"/>
    <Location file="BATTLE_BIN" offset="F2F29">
      000292
      0400A4A0
    </Location>
    <Variable name="Ability value (XX)" file="BATTLE_BIN" offset="F2F30"/>
    <Location file="BATTLE_BIN" offset="F2F31">
      004230
      04000210
    </Location>
    <Variable name="Skillset (ZZ)" file="BATTLE_BIN" offset="F2F38"/>
    <Location file="BATTLE_BIN" offset="F2F39">
      000234
      120002A2
    </Location>
    <Variable name="Job (YY)" file="BATTLE_BIN" offset="F2F40"/>
    <Location file="BATTLE_BIN" offset="F2F41">
      000234
      030002A2
      E1390608
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F2F54">
1680013C
409F2124
00002190
00000000
B6FF2124
40100100
21084100
23986102
67FF7326
05000234
4a000334
120062A2
030063A2
633A0608
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="127774">
      C5670508
    </Location>
    <Location file="BATTLE_BIN" offset="12797c">
25104202
000062A0
D5670508
    </Location>
  </Patch>

Grond

Ah, good work, Choto. It's better now, but it still has an issue, unfortunately. If my unit gets hit with an enemy skill he has already learned, something... odd happens. He will get Blue Magic as his primary action command, overwriting whatever is supposed to be there. And after the battle's end, the character has been automatically job-changed to Blue Mage. I'm using Calculator/Math Skill as my Blue Mage base job/class, if that's relevant in any way. Hope this is a minor fix.

And yes Celdia, I'm the same Grond that makes FF1 hacks (and not much else). I've only got a tiny bit of programmer in me, I'm afraid--ASM hacking doesn't come as easily to me as I would like. But I think (hope) I can make a fun FFT mod without having to learn a bit of PSX coding... but others can judge that later on when I've got something to show.

Celdia

Quote from: Grond on March 29, 2014, 10:41:11 pm
And yes Celdia, I'm the same Grond that makes FF1 hacks (and not much else).

Well if it wasn't obvious from my last post, I love your work. I've played your hacks extensively and found them all very entertaining. ^_^

Quote from: Grond on March 29, 2014, 10:41:11 pm
But I think (hope) I can make a fun FFT mod without having to learn a bit of PSX coding...


I can speak from experience that it is TOTALLY possible. Go look at my patch if you want an example since I know fuck-all about ASM hacking. Beyond that, you're definitely getting involved with the right person for help with what you need. Choto is damned good at what he does. He won't steer you wrong.

I know I'm definitely looking forward to seeing what you've got in mind for my second gaming love [FF1 will always hold top billing for me but FFT is a damned close second.] But hey, y'know...no pressure. :P
  • Modding version: PSX
  • Discord username: Celdia#0

3lric

Quote from: Grond on March 29, 2014, 10:41:11 pm
And yes Celdia, I'm the same Grond that makes FF1 hacks


:O
* Elric bows


I had no idea...
Welcome!
  • Modding version: PSX

Choto

Take 3. I'm amazed that the original hack didn't fail catastrophically in JoT5.
<Patch name="R/S/M designates Learn on Hit">
    <Description>Units with the specified support ability (value XX on byte WW) equipped are treated as having the specified job/skillset (job YY, skillset ZZ) for the duration of learn-on-hit checks. So if you specify byte 91, value 10, job 51, skillset 0c, units with Monster Talk equipped learn Time Magic (e.g. Haste 2 and Slow 2), not their current skillset. It should not interfere with the support ability's ordinary functioning.
   0x008b: Reactions 1
      0x80 - PA Save
      0x40 - MA Save
      0x20 - Speed Save
      0x10 - Sunken State
      0x08 - Caution
      0x04 - Dragon Spirit
      0x02 - Regenerator
      0x01 - Brave UP
   0x008c: Reactions 2
      0x80 - Face (Faith) UP
      0x40 - HP Restore
      0x20 - MP Restore
      0x10 - Critical Quick
      0x08 - Meatbone Slash
      0x04 - Counter Magic
      0x02 - Counter Tackle
      0x01 - Counter Flood
   0x008d: Reactions 3
      0x80 - Absorb Used MP
      0x40 - Gilgame Heart
      0x20 - Reflect
      0x10 - Auto Potion
      0x08 - Counter
      0x04 -
      0x02 - Distribute
      0x01 - MP Switch
   0x008e: Reactions 4
      0x80 - Damage Split
      0x40 - Weapon Guard
      0x20 - Finger Guard
      0x10 - Abandon
      0x08 - Catch
      0x04 - Blade Grasp
      0x02 - Arrow Guard
      0x01 - Hamedo
   0x008f: Support 1
      0x80 - Equip Armor
      0x40 - Equip Shield
      0x20 - Equip Sword
      0x10 - Equip Katana
      0x08 - Equip Crossbow
      0x04 - Equip Spear
      0x02 - Equip Axe
      0x01 - Equip Gun
   0x0090: Support 2
      0x80 - Half of MP
      0x40 - Gained JP-UP
      0x20 - Gained EXP-UP
      0x10 - Attack UP
      0x08 - Defense UP
      0x04 - Magic Attack UP
      0x02 - Magic Defense UP
      0x01 - Concentrate
   0x0091: Support 3
      0x80 - Train
      0x40 - Secret Hunt
      0x20 - Martial Arts
      0x10 - Monster Talk
      0x08 - Throw Item
      0x04 - Maintenance
      0x02 - Two Hands
      0x01 - Two Swords
   0x0092: Support 4
      0x80 - Monster Skill
      0x40 - Defend
      0x20 - Equip Change
      0x10 -
      0x08 - Short Charge
      0x04 - Non-Charge
      0x02 -
      0x01 -
   0x0093: Movement 1
      0x80 - Move +1
      0x40 - Move +2
      0x20 - Move +3
      0x10 - Jump +1
      0x08 - Jump +2
      0x04 - Jump +3
      0x02 - Ignore Height
      0x01 - Move-HP UP
   0x0094: Movement 2
      0x80 - Move-MP UP
      0x40 - Move-Get EXP
      0x20 - Move-Get JP
      0x10 - Cannot Enter Water
      0x08 - Teleport
      0x04 - Teleport 2
      0x02 - Any Weather
      0x01 - Any Ground
   0x0095: Movement 3
      0x80 - Walk on Water
      0x40 - Move in Water
      0x20 - Move on Lava
      0x10 - Move Underwater
      0x08 - Float
      0x04 - Fly
      0x02 - Silent Walk
      0x01 - Move-Find Item
</Description>
    <Location file="BATTLE_BIN" offset="F2F14">
   03000292
1680053C
12000492
749FA524
0800A2A0
    </Location>
    <Variable name="Ability byte (WW)" file="BATTLE_BIN" offset="F2F28"/>
    <Location file="BATTLE_BIN" offset="F2F29">
      000292
      0400A4A0
    </Location>
    <Variable name="Ability Bit (XX)" file="BATTLE_BIN" offset="F2F30"/>
    <Location file="BATTLE_BIN" offset="F2F31">
      004230
      04000210
    </Location>
    <Variable name="Skillset (ZZ)" file="BATTLE_BIN" offset="F2F38"/>
    <Location file="BATTLE_BIN" offset="F2F39">
      000234
      120002A2
    </Location>
    <Variable name="Job (YY)" file="BATTLE_BIN" offset="F2F40"/>
    <Location file="BATTLE_BIN" offset="F2F41">
      000234
      030002A2
      E0390608
      00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F2F54">
1680013C
409F2124
00002190
00000000
B6FF2124
40100100
21084100
23986102
67FF7326
05000234
4a000334
120062A2
030063A2
0800E003
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F2Fb0">
CC082124
21103400
89014190
04001034
06003014
1680013C
749F2124
04003090
08002190
120050A0
030041A0
01003126
1C3A0608
1500222E
    </Location>
    <Location file="BATTLE_BIN" offset="127868">
EC670508
1980013C
    </Location>
    <Location file="BATTLE_BIN" offset="127774">
C5670508
    </Location>
    <Location file="BATTLE_BIN" offset="12797c">
25104202
000062A0
D567050c
    </Location>
  </Patch>


ASM comes with time and effort. Once you get used to how to do things it's just same-old-stuff. Let me know if you have any questions on it. Also if you want to do any Event Editing in your mod, Elric can tell you all there is to know. We're usually in IRC if that's your thing.

Also regarding the Patcher source code: Glain's the caretaker of it and I'm starting to get involved, but it's still pretty tough for us (me, at least) to make changes. We'll try to address those things but there are no timetables for a newer release. The person who originally wrote it (Melonhead) has been gone for a long time I think.

Grond

The same problem persists with this version, oddly enough :| Maybe it's just not a feasible hack for whatever strange reason. Don't keep trying if you don't want to; it's not that important.
(Are you sure Jot5 is using it? I checked and it doesn't look like it is.)

Choto

Sorry bout that, little oversight. This *should* work now. I want to do this hack cause blue mage is kind of a staple. And I could be wrong with JoT5, I just assumed they used it.

<Patch name="R/S/M designates Learn on Hit">
    <Description>Units with the specified support ability (value XX on byte WW) equipped are treated as having the specified job/skillset (job YY, skillset ZZ) for the duration of learn-on-hit checks. So if you specify byte 91, value 10, job 51, skillset 0c, units with Monster Talk equipped learn Time Magic (e.g. Haste 2 and Slow 2), not their current skillset. It should not interfere with the support ability's ordinary functioning.
0x008b: Reactions 1      0x008c: Reactions 2
   0x80 - PA Save         0x80 - Face (Faith) UP
   0x40 - MA Save         0x40 - HP Restore
   0x20 - Speed Save         0x20 - MP Restore
   0x10 - Sunken State      0x10 - Critical Quick
   0x08 - Caution         0x08 - Meatbone Slash
   0x04 - Dragon Spirit         0x04 - Counter Magic
   0x02 - Regenerator         0x02 - Counter Tackle
   0x01 - Brave UP         0x01 - Counter Flood
      
0x008d: Reactions 3      0x008e: Reactions 4
   0x80 - Absorb Used MP      0x80 - Damage Split
   0x40 - Gilgame Heart      0x40 - Weapon Guard
   0x20 - Reflect         0x20 - Finger Guard
   0x10 - Auto Potion         0x10 - Abandon
   0x08 - Counter         0x08 - Catch
   0x04 -            0x04 - Blade Grasp
   0x02 - Distribute         0x02 - Arrow Guard
   0x01 - MP Switch         0x01 - Hamedo
      
0x008f: Support 1            0x0090: Support 2
   0x80 - Equip Armor         0x80 - Half of MP
   0x40 - Equip Shield         0x40 - Gained JP-UP
   0x20 - Equip Sword         0x20 - Gained EXP-UP
   0x10 - Equip Katana      0x10 - Attack UP
   0x08 - Equip Crossbow      0x08 - Defense UP
   0x04 - Equip Spear         0x04 - Magic Attack UP
   0x02 - Equip Axe         0x02 - Magic Defense UP
   0x01 - Equip Gun         0x01 - Concentrate

0x0091: Support 3         0x0092: Support 4
   0x80 - Train         0x80 - Monster Skill
   0x40 - Secret Hunt         0x40 - Defend
   0x20 - Martial Arts         0x20 - Equip Change
   0x10 - Monster Talk         0x10 -
   0x08 - Throw Item         0x08 - Short Charge
   0x04 - Maintenance         0x04 - Non-Charge
   0x02 - Two Hands         0x02 -
   0x01 - Two Swords         0x01 -

0x0093: Movement 1      0x0094: Movement 2
   0x80 - Move +1         0x80 - Move-MP UP
   0x40 - Move +2         0x40 - Move-Get EXP
   0x20 - Move +3         0x20 - Move-Get JP
   0x10 - Jump +1         0x10 - Cannot Enter Water
   0x08 - Jump +2         0x08 - Teleport
   0x04 - Jump +3         0x04 - Teleport 2
   0x02 - Ignore Height      0x02 - Any Weather
   0x01 - Move-HP UP         0x01 - Any Ground

   0x0095: Movement 3
      0x80 - Walk on Water
      0x40 - Move in Water
      0x20 - Move on Lava
      0x10 - Move Underwater
      0x08 - Float
      0x04 - Fly
      0x02 - Silent Walk
      0x01 - Move-Find Item
</Description>
    <Location file="BATTLE_BIN" offset="F2F14">
   03000292
1680053C
12000492
749FA524
0800A2A0
    </Location>
    <Variable name="Ability byte (WW)" file="BATTLE_BIN" offset="F2F28"/>
    <Location file="BATTLE_BIN" offset="F2F29">
      000292
      0400A4A0
    </Location>
    <Variable name="Ability Bit (XX)" file="BATTLE_BIN" offset="F2F30"/>
    <Location file="BATTLE_BIN" offset="F2F31">
      004230
      04000210
    </Location>
    <Variable name="Skillset (ZZ)" file="BATTLE_BIN" offset="F2F38"/>
    <Location file="BATTLE_BIN" offset="F2F39">
      000234
      120002A2
    </Location>
    <Variable name="Job (YY)" file="BATTLE_BIN" offset="F2F40"/>
    <Location file="BATTLE_BIN" offset="F2F41">
      000234
      030002A2
      df390608
      04000234
    </Location>
    <Location file="BATTLE_BIN" offset="F2F54">
1680013C
409F2124
00002190
00000000
B6FF2124
40100100
21084100
23986102
67FF7326
05000234
4a000334
120062A2
030063A2
0800E003
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="F2Fb0">
CC082124
21103400
89014190
04001034
06003014
1680013C
749F2124
04003090
08002190
120050A0
030041A0
01003126
1C3A0608
1500222E
    </Location>
    <Location file="BATTLE_BIN" offset="127868">
EC670508
1980013C
    </Location>
    <Location file="BATTLE_BIN" offset="127774">
C5670508
    </Location>
    <Location file="BATTLE_BIN" offset="12797c">
25104202
000062A0
D567050c
    </Location>
  </Patch>

Grond

Cool, it seems to work fine now. Thanks! Others will use this too, no doubt.

Yes, Blue Mage (or similar) is an obvious class to include in a patch--it should have been in the original.

When I make ASM changes (modest as they tend to be) to FF1 I usually make plenty of mistakes and typically need lots of trial-and-error to get things working properly. I also seem to learn new things slowly and have a terrible memory, so I doubt my coding skills could ever come close to yours or some of the others'.:)

Astos

Thanks a lot, Choto! This is exactly what I as looking for. I tried using the R/S/M learning hack that comes built in the FFTorgASM but the result was that my game froze everytime a "learnable" skill was used.
Your xml worked perfectly. I used ability 01E1 (nameless ability between Equip Change and Short Charge) and changed its name to "Blue Learning".

Grond

May 08, 2015, 05:54:24 pm #16 Last Edit: May 14, 2015, 09:11:04 pm by Grond
Since this old topic of mine has been conveniently bumped (and the relevant ASM thread is dead), I'll post this in here:

I discovered an issue with another ASM hack that I wished to use (one of pokeytax's).

The problem is that his "Half of MP multiplies MP cost by XX/YY" hack currently does not actually affect the amount of MP consumed, but only affects the MP cost displayed in the ability selection menu.

The existing version only makes changes to this section of code.
Similar changes also needed to be made in this section to make the hack work fully.
(There is also another bit of code concerning Half of MP in this section, but I didn't mess with it because I'm not sure when/if it's used (perhaps in the A.I.'s decision-making process?)

Basically, this hack should now work as intended, and hopefully without bugs.*


(Actual cost only, not displayed. REQUIRES pokeytax's hack, found in his ASM topic, to properly display cost.)
BATTLE.BIN = 116b60-f:
00680508
00000000
00000000
00000000

BATTLE.BIN = f3000-27:
80004230
06004010
00000000
XX000234
00000000
19004400
12100000
c2210200
dcf60508
00000000


Using similar methods, I also made the following hack (which oddly doesn't seem to have been done before).
NOTE: This currently does not work in pSXfin (or on a real PS1?), but does work in ePSXe. I have no idea why :\ Perhaps one of the ASMers here can fix it.

BATTLE.BIN = 115868-f:
0a68050c
00000000

BATTLE.BIN = 11aa78-f:
1168050c
00000000

BATTLE.BIN = f3028-43:
XX000234
00000000
19005200
12100000
c2910200
0800e003
00000000

BATTLE.BIN = f3044-5f:
XX000234
00000000
19005000
12100000
c2810200
0800e003
00000000


*Full disclosure: I didn't do any real coding to make this. I basically just swiped some code from nates1984.xml and changed the addresses & registers as necessary. And credit also goes to pokeytax for the other (original) part of the hack.

Edit: Forgot something important. Choto's "R/S/M designates Learn on Hit" a couple posts back actually conflicts with pokeytax's Half of MP hack in its current form, so I advise making these changes to the Learning hack:

One section of it needs to be nudged forward 8 bytes. Change
<Location file="BATTLE_BIN" offset="F2Fb0">
to
F2Fb8

...and update the jump address like so:
<Location file="BATTLE_BIN" offset="127868">
EC670508
to
EE670508

Choto

I fucking love people that use the wiki <3

Ok so, that's really lazy by pokeytax and I'm surprised it didn't come up early. Nice work in fixing it up. Do me a favor and post the final completed hack in the http://ffhacktics.com/smf/index.php?topic=7163.220, and I'll update it when the new release of patcher happens (if ever). It'd be cool if an Admin could update pokeytax's OP with it too.

in terms of the psx compatibility, here's the code:

[0x00000000] lw r8,0x00f8(r29)
[0x00000004] beq r0,r8,0x00000020
[0x00000008] ori r2,r0,0x0000
[0x0000000c] mult r2,r17
[0x00000010] ori r2,r0,0x0000
[0x00000014] mflo r17
[0x00000018] div r17,r2
[0x0000001c] mflo r17
[0x00000020] j 0x00181a48
[0x00000024] nop


lw r8 immediately followed by bne r0, r8 is bad coding since r8 won't be loaded until the next command after the bne (load delays 1 command), but that won't cause a crash. However, I'm pretty sure there needs to be a 3 or 4 command buffer in between mult/mflo and div/mfl. I forget the exact rule, but that immediately jumps out as a problem. Add a couple of nop's in between them and it may work.

In regards to the learn on hit hack: There are quite a few hacks that conflict, and I don't really want to invest in fixing ALLTHECONFLICTS. Yes it would be better and more professional to do so... but the value vs. time ratio for me is not very good. I made the conflict checker so that people can see what hacks conflict and then move them themselves. If they have trouble they can always post for help and I'll help them out.

Happy to know you're still patching Grond, I'm still looking forward to what you come out with!

Grond

Okay, I seem to have things working properly now.

I've attached fixed versions of the above hacks as an xml, and I'll post them in the FFTPatcher thread also, as requested.