• Welcome to Final Fantasy Hacktics. Please login or sign up.
September 20, 2021, 07:18:08 pm


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.

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - nitwit

Bugs and Suggestions / Re: Skins or CSS options?
July 13, 2014, 04:10:02 pm
Stylish 1.4.3?
Bugs and Suggestions / Skins or CSS options?
July 13, 2014, 03:14:16 pm
I use a high contrast theme.  On FFHacktics, this produces dark input boxes but it doesn't also allow light text.  Does the forum software allow users to select from a collection of forum themes, or select one as a default when logged in?
Quote from: Dome on July 08, 2014, 09:57:03 am
So, can a 100% working blue mage be implemented in FFT?
I mean, a job that learns spells from the enemies, can cast them without making weird movements (Like pulling daggers out of nowhere), etc etc...?

I'm interested in this too, please share your findings on animations.

I don't know how you could make a simple, easy-to-understand document that tells you what each animation option does when placed with each sprite type.  It sounds like a POTA.

For MP, is there anything wrong with giving monsters a very high MP multiplier but a low MP growth, besides Oracles and Beowulf having a ready supply of MP via MP absorb abilities?
Help! / Re: Sound effects hacking
June 17, 2014, 07:35:47 pm
Quote from: Choto on June 17, 2014, 05:55:52 pm
hehe... FFTPatcher's source code was written for that exact purpose. Melonhead wrote some methods that write some array of data to some location or sector. It's not the easiest thing to learn how to do though, its still beyond me. It's written in C#

otherwise... you could make a spreadsheet that creates an .xml file for FFTorgasm. Anything you can format into an orgASM hack, it can patch.

I downloaded FFTOrgasm.  Impressive program.  Is it specific to FFT?

I was looking at a guide on GameFAQs and I found the section on Reflect.

Appearance:  none
Description:  Reflectable spells bounce off a character with the 'Reflect'
condition and are redirected to another panel.  The new target panel of
the spell will at the end of a line segment drawn between caster and
target, where the target is the midpoint.  This is much easier to explain
with a diagram:

_|_|_|_|_|_|_    c = caster
_|_|_|_|_|r|_    t = target
_|_|_|t|_|_|_    r = new target panel for reflected spell

Add with:  Reflect, Carbunkle, Lick, Reflect Mail (A), Reflect Ring (A),
           Cherche (A)
Cancel with:  Dispel Magic, Despair, Despair 2, Odd Soundwave
Duration:  32 clockticks

This doesn't make sense.  Other Final Fantasy games send the spell back at the caster.  I think I saw a routine for Reflect on the wiki, is it fixed?  Does reflect take facing into account?  How is the caster and target location determined?  Does it use the locations when the spell fires, when it is first cast and starts charging (doesn't take move into account if you haven't already moved), or at the end of the casters turn after the spell is cast (does take move into account if you move after starting to charge it)?

Are interactions between Counter Magic and Reflect possible?
Help! / Re: Sound effects hacking
June 16, 2014, 07:43:29 pm
That was fast.  I need to acquire the FFT iso again.  I can't do anything with this info for a few days, so no hurry.

Is there a solution to writing data to a large number of files, if you know the exact location of the data in those files?  I just found a python script a hacker on another forum uses.  It seems like it could work, but it requires working with raw files instead of an iso.
Help! / Sound effects hacking
June 16, 2014, 07:36:05 pm

Found this, but I'm looking for info on sound effects.

0018d648: 3404000a ori r4,r0,0x000a Default to 10 experience

That's straightforward.

0018d6b0: 90a20090 lbu r2,0x0090(r5) Load Attacker's Second Set of  Support
0018d6b4: 00000000 nop
0018d6b8: 30420020 andi r2,r2,0x0020
0018d6bc: 10400002 beq r2,r0,0x0018d6c8 Branch if unit doesn't have Gained EXP UP

Since I don't like Gained EXP UP, could I place a branch and a jump to free space here?  I think I'd have to put it before this.  It looks like you're not sure what everything is, so maybe I'm better off waiting for you to rewrite it more efficiently.  Or I could delete this, move everything down, and insert the branch in the newly freed space?

I think I would need to branch somewhere here.
0018d64c: 3c028019 lui r2,0x8019
0018d650: 8c422d98 lw r2,0x2d98(r2) Load Defender's Data
0018d654: 00000000 nop
0018d658: 9043015c lbu r3,0x015c(r2) load dead byte
0018d65c: 00000000 nop
0018d660: 10600008 beq r3,r0,0x0018d684 branch if defender was not killed
0018d664: 34040014 ori r4,r0,0x0014
0018d668: 34020014 ori r2,r0,0x0014
0018d66c: 0043001a div r2,r3 0x14 / 1? wtf?
0018d670: 00001012 mflo r2
0018d674: 00000000 nop
0018d678: 00402021 addu r4,r2,r0 r4 = 0x14?
0018d67c: 3c028019 lui r2,0x8019
0018d680: 8c422d98 lw r2,0x2d98(r2) Load Defender's Data
0018d684: 3c058019 lui r5,0x8019
0018d688: 8ca52d94 lw r5,0x2d94(r5) Load Attacker's Data
0018d68c: 90420022 lbu r2,0x0022(r2) Load Defender's Level
0018d690: 90a30022 lbu r3,0x0022(r5) Load Attacker's Level
0018d694: 00821021 addu r2,r4,r2 exp + defenders level
0018d698: 00431023 subu r2,r2,r3 exp + defenders level - attackers level
0018d69c: 00402021 addu r4,r2,r0 r4 = result
0018d6a0: 00021400 sll r2,r2,0x10

What routines should I look at to get an idea of what branching on target = self or target =/= self looks like?

Unrelated, but I could make 255 the cap for experience and make reaching that trigger a level gain by editing this.  Is that right?

0018d6d0: 28420064 slti r2,r2,0x0064 set if < 100
0018d6d4: 14400003 bne r2,r0,0x0018d6e4 branch if so
0018d6d8: 00041c00 sll r3,r4,0x10
0018d6dc: 34040063 ori r4,r0,0x0063 cap at 99

Nevermind, I just looked at a few other routines and it looks like the experience cap or branches if total experience is greater than the cap (100) is present in several places.  I'm tempted to start cross referencing a bunch of routines to make this easier to understand.

Maybe it would save space to reference a value and let people edit that value on their own.
I decided to rephrase the question today while in the shower.

When I first played this game back in 1998, I abused Accumulate to master one job per battle, until I had a party of level 60 Samurai to fight the chapter 1 Dorter battle.

That's cheesing.

Have you considered making something that reduces experience and JP if the attack is self-targeting only?  Both naturally self-targeting attacks like accumulate and any other attack that just happens to target only yourself?  Are there any other ways to make cheesing like this not work?
Help! / Where's the routine for experience gain?
June 01, 2014, 02:41:16 am
I don't like how self-targeting actions always grant 10 experience.  How could I reduce the experience granted by these actions to something smaller?  I'm not sure if I want to reduce the experience gain for all actions as well.

Any non-deathblow action that targets one person of the same level as yourself will always gain 10 experience.  I want the game to treat attacking someone of your own level as attacking someone any certain number of levels above or below you, where I can choose this number when I apply the hack.
Does this speed up l i t t l e  m o n e y  ?
What happens when you run into options?  Like the battle at Mandalia Plains?
Help! / Formula hacking
March 16, 2014, 08:49:16 pm
I want to change the unarmed forumal to use 0x0030 Original PA times 0x0036 PA instead of 0x0036 PA squared.  Not sore how to du that because I can't find the formula for unarmed attacks.


I'm looking at this.