• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
July 13, 2020, 01:15:14 am

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.


Elemental ability/Masshex weirdness

Started by Emmy, February 20, 2017, 11:19:07 am

Emmy

So I've been attempting to code a single ability that changes its element based on the tile that the user is on.  But it's breaking all elemental spells with unpredictable results. :'(

Fftorgasm patch:


  <Patch name="Ability 1e - elemental">
    <Description>Doesn't work :'(</Description>
    <Location file="BATTLE_BIN" offset="11fed8">
1400BFAF
EC56050C
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="11fff8">
E8FFBD27
1400BFAF
1000B0AF
EC56050C
00000000
982D428D
00000000
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="eebb0">
E8FFBD27
1000BFAF
19800A3C
D6384295
942D448D
1E004230
12004010
00000000
2804060C
00000000
C0100200
21084201
CCF82290
00000000
3F004230
3F000534
08004510
00000000
1680053C
2128A200
18E63090
1000BF8F
1800BD27
0800E003
00000000
F7385091
FAFF0010
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="f7618">
02101040
40200808
02040404
08200404
04800201
08100800
00101001
01100110
10081040
01104001
80101008
0410
    </Location>
  </Patch>


Main routine code/documentation:





Also pasting the routine code as it is into masshex and updating branches, pressing "encode" then "decode" results in weird results.  Possible bug?




It added 2 more lines and updated a 3rd to use it?  Why?
  • Modding version: PSX

Emmy

After about a dozen more attempts to make this, i'm 99.99% sure that the problem is not knowing how to properly make/work with custom tables. :(  It doesn't seem to matter if I'm hardcoding this to an ability slot or if i'm just writing a new formula.  It doesn't seem to matter if I'm making the formula use the regular elemental routines or making a custom clone of it that refers to a byte that should only be loading from my table, etc.  It's loading the same crap data, not my table, every time. :'(  I have no idea what I'm doing wrong. :'(

Another attempt with new custom routines:


  <Patch name="Gimmick Elemental ability routine">
    <Description>Requires Oil/Undead. Requires r4 = new element of ability</Description>
    <Location file="BATTLE_BIN" offset="eebb0">
E8FFBD27
1000BFAF
19800A3C
942D4B8D
982D4C8D
71006291
902D4D8D
24104400
07004010
00000000
0400A395
00000000
80100300
21104300
82100200
0400A3A5
5A008591
00000000
8000A330
09006010
80008230
07004010
00000000
2200A291
2500A391
80004234
08006334
2200A2A1
2500A3A1
4000A330
07006010
08008230
05004010
00000000
9013060C
00000000
03000010
00000000
3361050C
00000000
1000BF8F
1800BD27
0800E003
00000000
    </Location>
  </Patch>

  <Patch name="Formula 57 = Geomancy">
    <Description>TEST123</Description>
    <Location file="BATTLE_BIN" offset="123758">
E8FFBD27
1000BFAF
5017060C
00000000
D121060C
00000000
3E19060C
00000000
5A19060C
00000000
19800A3C
942D448D
2804060C
00000000
C0100200
1980013C
21082200
CCF82290
00000000
3F004230
1680013C
21082200
0100013C
21082100
18E62490
EC56050C
00000000
1980023C
902D428C
00000000
00004290
00000000
03004010
00000000
F121060C
00000000
1000BF8F
1800BD27
0800E003
00000000
    </Location>
    <Location file="BATTLE_BIN" offset="f7618">
02101040
40200808
02040404
08200404
04800201
08100800
00101001
01100110
10081040
01104001
80101008
0410
    </Location>
  </Patch>

This works but is called by these and is necessary code:

  <Patch name="Oil/Undead">
    <Description>Oil = Weak fire, Undead = Absorb Dark/Weak Holy.  Expansion of FFMaster's Oil Hack.  Credit also goes to Glain for fixing it. :)</Description>
    <Location file="BATTLE_BIN" offset="11ffe0">
3361050C
    </Location>
    <Location file="BATTLE_BIN" offset="1200e0">
3361050C
    </Location>
    <Location file="BATTLE_BIN" offset="f14cc">
1980023C
982D428C
E8FFBD27
5A004590
1000BFAF
8000A130
6D004590
58004690
02002010
9C014194
7F00A530
1000C330
03006010
00000000
0100A534
FD00A530
24188500
02006010
00042334
9C0143A4
5A004190
6E004590
80002130
02002010
00000000
7F00A530
1000C130
02002010
00000000
FC00A530
24188500
05006010
00000000
9013060C
00000000
72610508
00000000
6F004590
02002010
90014194
0300A530
24188500
02006010
43080100
900141A4
5A004190
70004590
80002130
02002010
90014194
8000A534
1000C330
03006010
00000000
FE00A530
0200A534
24188500
05006010
40080100
9C014394
900141A4
00086334
9C0143A4
1000BF8F
1800BD27
0800E003
00000000
    </Location>
  </Patch>

  • Modding version: PSX

Xifanie

lui r1, 0x8016
addu r1, r1, r2
lui r1, 0x0001
addu r1, r1, r1
lbu r4, -0x19E8(r1)


no idea what this is, but it sure looks damn wrong
  • Modding version: PSX
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

Dokurider

It's MassHex's fault, Xif.

And yeah, I'm using the latest version (v13).

Xifanie

Did you just upload that picture twice? ...why? =_=

Also, Alt + PrintScreen for only the current window. Works even with dropbox.

And god it fucking sickens me that I pay $10 a month for an IRC server that we can administrate, moderate, have an unlimited amount of channels on, but apparently you're all on Discord or whatever. =_=
I only learned about it 2 weeks ago for the first time.

Or maybe it's FFHacktics chatting without that fucking bitch Xifanie?
  • Modding version: PSX
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

Andrew

It's mostly Arena modders/players in our Discord channel.  We do not spend our time badmouthing you, I promise you this much.  In fact, whenever your name is mentioned in our channel, it's usually because we're talking about ASM.  After all, you did make the tournament hack *and* the memory card generator, two things that are essential for Arena!

Discord is something we wanted to try out because it has voice support, which makes discussing pretty much anything a breeze, especially if there's a lot of people online.  Most of our vocal discussions are of the game-balancing variety, so this is why we've stuck to using Discord.

I hope that this clears-up any misconceptions.

- Andrew
  • Modding version: PSX

Emmy

So, after putting my last attempt at writing the ability into an older version of masshex, it now works as intended. :)  Pretty sure the problem is whatever the hell is causing masshex to do this, and it's loading junk data from god knows where:

lui r1, 0x8016
addu r1, r1, r2
lui r1, 0x0001
addu r1, r1, r1
lbu r4, -0x19E8(r1)

Marking topic as solved. :)
  • Modding version: PSX

Glain

A bit late to the party here, but this was caused by a bad lbu statement in your input (offset too high: 0xe618; maximum is 0x7fff). I discussed the specifics in the MassHex thread here.
  • Modding version: Other/Unknown