• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 09:15:53 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!


Sound effects hacking

Started by nitwit, June 16, 2014, 07:36:05 pm

nitwit

http://ffhacktics.com/wiki/Music

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

Choto

I can give you info about effect animation sound effects... but there isn't much information other than where it is in the effect file. Other than that I'm not sure there's much work that's been done on sound effects. Maybe Elric or Xif know something from eventing

nitwit

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.

Choto

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.

nitwit

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.

[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
_|c|_|_|_|_|_
_|_|_|_|_|_|_

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?

Choto

ummmm... have you played FFT? Yes reflect works the way its described in the guide, differently from every other application in the series. The AI even makes use of this property to extend their range with magic spells :P It basically just uses the unit with reflect as a stepping stone, and continues the same same distance as is the target from the caster. So if the target is 2 left and 1 up from the caster, the spell will be cast 2 left and 1 up from the target.

I think it works with counter magic too. The location is calculated when the spell is cast. There are a few routines about it on the wiki, including the non-implemented R/S/M ability "Reflect".

FFTorgASM is specific to FFT, as are all tools in FFTPatcher.