Author Topic: Developing FF4kster: a comprehensive editor for FF4  (Read 246009 times)

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,266
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #480 on: October 04, 2013, 03:08:21 PM »
Huh... looks like I didn't even test Twin, so who knows what I was doing. I guess... sorry?
So it works with Salve, how is changing the targeting value in the subroutine itself affected by changing the targeting byte here, I wonder?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #481 on: October 06, 2013, 11:31:34 AM »
That is a very good question. I think what the targeting may actually do is tell the game where to choose the targeting base. If it targets enemies all eight slot will be occupied by monsters, if it starts at ?Slot 5? It will tell the game to start the effects from there.

I need to find that in a few more routines to make absolutely sure that is what it is doing. I am almost certain though since both of the routines we located it in bypass multi-targeted death checks it may be some kind of "Target All No Matter What" sort of dealing, it is fairly difficult to say at the current time.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #482 on: October 13, 2013, 02:54:08 PM »
In preparing my FFIV to FFI patch I've started to look into graphics again and have come up with something that I can't believe I didn't notice for all of this time.

Pointer 1 specifically is the graphic sequence that appears if the enemy is hit by the spell. (Defined by the Sprite)
Pointer 2 is the graphic that appears regardless.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,266
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #483 on: October 13, 2013, 09:12:57 PM »
Sorry... can you explain that a bit more? Pointer 1 and 2 of what?
Also, an example of a graphic that appears regardless?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #484 on: October 13, 2013, 09:51:51 PM »
In the Animation Tabs of Spells in the Editor.

There is Sprite, Pointer 1, and Pointer 2.

Sprite is... clearly a series of sprites.

Pointer 1 is the Graphic Sequence that is used when the target is hit by the Spell. (e.g. Lit spells use 8, 9, and 10. These are all sequences which show a series of sprites falling from the sky and hitting the enemy.)

Pointer 2 appears to be graphics that appear regardless of whether the enemy is hit or not. (e.g. Flash of Light when the enemy uses Glance or Gaze whether it effects the target or not which use 42 and 45.)


chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,266
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #485 on: October 14, 2013, 01:15:34 AM »
Ah, ok. I figured that's what you meant, but I forgot that's how Ff4kster refered to them.
Good find on pointer 2. I was beginning to think it was just unused. I wonder... is that also what makes, say, the screen turn blue for wave attacks, and other non-sprite effects like that?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #486 on: October 14, 2013, 06:54:53 AM »
Almost without a doubt. Now this may also be in conjunction with a Pointer 1 at times, but it seems a little bit difficult to say.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #487 on: October 15, 2013, 10:59:15 PM »
I've been putting the finishing touches on my FFIV-FFI mod and have come to a very strange realization. As an added bonus I included the Four Elemental Fiends from FFI (namesakes only, sprite transferring seems near impossible for me) into the Hidden Waterfall cave as a non necessary. but not so out of the way place that anyone who thinks they are able to can test their ability. Now I put three of the four fiends in Chest-Only Battles, and this is when I came to this realization...

Monsters in Chests do not refer to the ordinary rules of formation but something else entirely.

What it seems to refer to is a list starting from Formations 449 to 512. This is likely done to assure there is no mix up between the Overworld and the Underworld chests or something to that accord (There's also some normal fights spread throughout). There is a good amount of empty space spread throughout filled with Imps so it wouldn't be a difficult matter to deal with.

Hopefully now knowing that the next update could have that added as a viewing feature when setting monsters to chests.
« Last Edit: October 15, 2013, 11:14:59 PM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 923
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #488 on: October 16, 2013, 06:00:58 AM »
I might be able to find some time over the weekend to implement that.

Any ideas what some good names might be to replace "Pointer 1" and "Pointer 2"? What about "Sequence" and "Effects"? Having a config file of descriptions for the different indexes for those fields would be helpful too, now that we know what they represent. If someone has time to put something like that together then I can include it in the update as well.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #489 on: October 16, 2013, 09:42:01 AM »
Sequence and Effects sound like proper name choices. I'll see if I can't wrangle up a list for Sequence, Effects is a little bit trickier at times to identify, but I will do what can be done.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #490 on: October 16, 2013, 01:30:15 PM »
Here are the Pointer 2 Effects...

Pointer 2 Effects

1 - Nothing
2 - Makes it so the sprite/sequence doesn't look so blocky and square. - Used by Lots of things.
3 - Used by Exit
4 - Used by Meteo
5 - Used by Comet (Looks pretty good using Shell/Protect/Blink graphics.
6 - Absorption-esque effect. - Used by Psych, Drain, Absorb, etc.
7 - Screen Shake
8 - (Seemed to be a multi-Effect, need to test with other Sprites - Targets Allies only)
9 - (Seemed to be another multi-effect, need to test with other sprites)
10 -(Sprite appears first on caster, caster reacts, then vanishes, then sprite appears on targetted enemy.) unsummons - Used by Imp
12 - Possibly keeps the grey palette on enemies when they are petrified and removes the Summon Image. - Used by Roc
13 - Removes Summon Image if applicable - Used by Mage
14 - Looks like a flurry of punches hits Enemy 1, if an ally is targeted, otherwise if an enemy is targeted it will target properl, removes Summon Image. - Used by Chocobo
15 - Shiva's Ice Storm, Moves Shiva's Sprite, Unsummons.
16 - Moves Indra's Sprite, unsummons. - Used by Indra
17 - Jinn flying across the screen, unsummons - Used by Stone, Petrify, Jinn
18 - Another Screen Shaker, unsummons - Used by Titan
19 - Likely used by Mist Dragon, but corresponds to chosen sprites. expels sprite at enemies (looks Really great with Life Sprite chosen) unsummons - Used by Mist Dragon
20 - Seems to be Sylph's healing effect (Figure eighting sprites as they heal) unsummons - Used by Sylph
21 - Odin's Zantetsuken, unsummons - Used by Odin
22 - Leviathan's Wave , unsummons- Used by Leviathan
23 - Unsummons - Used by Asura 1.
24 - Unsummons - Used by Asura 2.
25 - Unsummons - Used by Asura 3.
26 - Megaflare, Unsummons - Used by Bahamut.
27 - Nothing
28 - Nothing
29 - Shows the Sprite/Sequence and Sound Effect Twice. - Used by Explode
30 - Very strange... The effect shows four castings of the spells around the party and the enemies vanish one by one. Only to reappear when the effect concludes, but with a "defeated" sound effect. Oh... - Used by Reaction.
31 - Nothing
32 - Warp's or Dimension 9's revolving aura. - Used by Warp, Demolish
33 - Nuke's (Flare's) Effect. Casted Jinn's effect?
34 - Wave attacking the party. - Used by Big Wave, Wave
35 - Fire 3's Effect.
36 - Nothing
37 - White (Holy's) Effect - Used by Holy.
38 - Odin Rushing Forward - Odin (Enemy Spell)
39 - Sprite/Sequence happens, then screen flashes many different sorts of color - Used by Big Bang
40 - ??? - Used by Fission
41 - Cure 4's Effect.
42 - Screen Flashes Light Blue and then Sprite/Sequence - Used by Glance
43 - Screen Flashes Red, then Sprite/Sequence - Used by Crush
44 - Screen Flashes Yellow, then Sprite/Sequence
45 - Screen Flashes White, no Sprite/Sequence occurs - Used by Gaze, Slap
46 - Sprite/Sequence appears on Caster, then target
47 - Screen Flashes White several times, no Sprite/Sequence occurs - Used by Black Hole
48 - A glitched graphic appears for only less then a second, no Sprite/Sequence occurs
49 - Crashes Game.
50 - The battle screen darkens and does not lighten again, no Sprite/Sequence Occurs.
51 - The Caster Literally jumped across the screen, and then the game crashed.
52 - Screen blacked out.
53 - Crashes Game.
54 - Crashes Game.
55 - No Sprite/Sequence occurs.
56 - Screen blacked out.
57 - Crashes Game
58 - No Sprite/Sequence occurs.
59 - Game goes crazy, then blacks out.
60 - Game Crashes

Here's an ancient post of mine which shows what all Spells Pointer 2 uses.

Weapon Sprites:

Sprite 008 - Thrown Handaxe
Sprite 012 - Thrown Ninjastars
Sprite 014 - Thrown Boomerang
Sprite 016 - Thrown Chakram
Sprite 017 - Thrown Items (Yellow)
Sprite 018 - Thrown Items (Blue)
Sprite 020 - ? (looks to just be glitch graphics)
Sprite 024 - Bow?
Sprite 025 -






I have to wonder if the term "sprite" is a misnomer. Considering that something that couldn't possibly share the same sprite like Peep, Fatal, Float, Quake, etc are listed under the same.

Sprites : 00 Cure1/2/3/4/etc (All to do with Pointer 1 and 2?)
Sprites : 01 Protect/Shell/Blink/Ice1/2/3/Shiva (Summon)/Image
Sprites : 02 Life1/Life2/Asura (RaiseAll)
Sprites : 03 (Looks akin to a Cure graphic)

Sprites : 04 Megaflare/White/Warp/Sleep/Drain/Psych/Nuke/Jinn (Summon)/Flare/Smoke/Sylph (Attack),Bahamut (Attack)/Powder/Disrupt/DullSong/Gas/Demolish/Disrupt(2)/Absorb/Vampire/Digest/Pollen/Fission/MegaNuke/


Sprites : 05 (Same as 03?)
Sprites : 06 Peep/Fatal/Count/Search
Sprites : 07 (Looks to basically be Death Faces from Fatal)
Sprites : 08 Mute/Dispel/Size/Toad/Piggy/Venom/Lit1/2/3/Indra (Summon)/Blitz/Indra (Attack)/Breath/Whisper/Poison/Magnet/Blitz(Enemy)/Thunder

Sprites : 09 (Possibly some explosion graphic?)
Sprites : 10 Stone/Flame/Roc (Attack)/Beak/Petrify/Hug
Sprites : 11 Meteo/W.Meteo/Fire1/2/3/Bomb (Summon)/Chocobo (Summon)/Bomb(Attack)/Jinn(Attack)/Explode/Reaction/Fire/Blaze/Explode(2)/Emission

Sprites : 12 (A breath attack, possibly?)
Sprites : 13 Float/Quake (O...kay?)/Titan (Attack)/Quake(Enemy)
Sprites : 14 Comet
Sprites : 15 Weak/Weak(Enemy)/Storm/Tornado/Glare
Sprites : 16 Hold/Charm/Virus/Mage/Bluster/Entangle/Hold Gas/
Sprites : 17 Fast/Berserk/Wall/Stop (Seems that it's mostly in the pointer 1 for this one)
Sprites : 18 Slow/Heal/Silver Staff/Unicorn Horn/Maser/Heal(Enemy)/Heal (Enemy2)/Beam/Laser/Heat Ray
Sprites : 19 (An explosion of some sort)
Sprites : 20 Hatch
Sprites : 21 Pin/Big Bang/Globe199/Needle/Counter/












Pointer 1: 03 Wall
Pointer 1: 28 Fatal (The rising of the reaper and the energy being taken away animation)
Pointer 1: 37 Quake (To be exact the animation of the chasm)
Pointer 1: 47 Flame
Pointer 1: 48 Flood
Pointer 1: 49 Smoke
Pointer 1: 50 Pin
Pointer 1: 60 Blitz
Pointer 1: 61 Mist (Dragon) (Attack)





Pointer 2: 00 Null
Pointer 2: 01 (The graphic starts from the middle right of the target and descends down slightly before vanishing.)
Pointer 2: 02 Venom/Sleep/Flare/Smoke/Powder/Tongue/DullSong/Gas/Digest/Pollen
Pointer 2: 03 Exit (When you're not actually leaving battle with this, the game gets fairly screwy)
Pointer 2: 04 Meteo/W.Meteo
Pointer 2: 05 Comet
Pointer 2: 06 Drain/Osmose/Absorb/Vampire
Pointer 2: 07 Quake (Shaking of the screen)
Pointer 2: 08 (Looks like a burst of graphic raising upwards coming from the bottom of the screen only ever hitting the party)
Pointer 2: 09 (Graphics assault the enemies and only the enemies)
Pointer 2: 10 Imp (Striking Graphic, over rides defaults Sound choice)
Pointer 2: 11 Bomb
Pointer 2: 12 Roc
Pointer 2: 13 Mage
Pointer 2: 14 Chocobo
Pointer 2: 15 Shiva
Pointer 2: 16 Indra
Pointer 2: 17 Stone/?Jinn?/Ray/Beak/Petrify/Hug/
Pointer 2: 18 Titan
Pointer 2: 19 Mist
Pointer 2: 20 Sylph
Pointer 2: 21 Odin
Pointer 2: 22 Leviatan (Curiously enough there is no sprite or pointer 1 provided for it)
Pointer 2: 23 Asura Cure 3
Pointer 2: 24 Asura Cure 4
Pointer 2: 25 Asura Raise All
Pointer 2: 26 Bahamut
Pointer 2: 27 (Graphic flickers on the target briefly, can be multi targeted)
Pointer 2: 28 (Same as above?)
Pointer 2: 29 Explode
Pointer 2: 30 Reaction
Pointer 2: 31 (Seemed identical to Fission)
Pointer 2: 32 Warp/Demolish/Disrupt
Pointer 2: 33 Nuke/?Jinn?
Pointer 2: 34 Big Wave/Wave (The big difference between this and Leviatan's summon attack is this goes towards the party, though it has pointer 1 as well included in the ability, which doesn't appear to do anything.
Pointer 2: 35 Fire 3
Pointer 2: 36 No graphic even shows, damage just appears.
Pointer 2: 37 White
Pointer 2: 38 Odin (Zantetsuken against party, graphics will glitch if it is not Odin using it)
Pointer 2: 39 Big Bang
Pointer 2: 40 Fission (When used as an ally, the damage effect is shown on the caster and they do the pain animation, does not hurt them though)
Pointer 2: 41 Cure 4
Pointer 2: 42 Glance
Pointer 2: 43 Crush
Pointer 2: 44 (Screen flashes briefly and then it repeats Pointer 2: 27 seemingly)
Pointer 2: 45 Gaze
Pointer 2: 46 Bomb (Summon)
Pointer 2: 47 Blk. Hole
Pointer 2: 48 (No graphic)
Pointer 2: 49 (Crashes emulator)


And now Sequences...

00 - Exit/Drain/Psych/Shiva/Chocobo/Imp/Odin/Leviathan/Blk.Hole/Absorb/Vampire/(Enemy)Odin(Pointer 2 does the work in those cases, or has no graphic, those that have no graphic will be omitted)
01 - Nothing?
02 - Nothing?
03 - Wall
04 - Flare
05 - Fire 1/Emission
06 - Fire 2
07 - Fire 3
08 - Lit 1
09 - Lit 2 /(Enemy)Thunder
10 - Lit 3/(Enemy)Blitz
11 - Ice 1
12 - Ice 2
13 - Ice 3
14 - Armor/Shell/Image
15 - Blink
16 - Fast
17 - Dispel
18 - Mute
19 - Berserk
20 - Stop
21 - Slow
22 - Cure 1/Warp/(Hidden Spell)Disrupt-(Interestingly it seems as if it has a fully functioning Sprite/Sequence, but is never seen because of 255 Effect)/Demolish/Disrupt
23 - Cure 2/Asura1/
24 - Cure 3/Heal Staff/Asura2/Remedy
25 - Bio
26 - Charm
27 - Weak/(Enemy)Weak
28 - Fatal/Count
29 - Heal/Silver Staff/Staff/(Enemy)Heal/(Enemy)Heal(2)
30 - Peep/Search (overrides Pointer 2)
31 - Life1/Asura1
32 - Life2 (There's a difference?)
33 - Size/Breath/Whisper/Poison
34 - Float
35 - Hold/Entangle
36 - White/Nuke/(Spell)Jinn/MegaNuke
37 - Quake/Titan/(Enemy)Quake
38 - Powder/Digest/Pollen/
39 - Stone/(Summon)Roc/Ray/Beak/Petrify/Hug
40 - (Spell) Indra
41 - (Spell)Chocobo
42 - (Spell) Shiva
43 - Meteo/Comet/(Summon)Bahamut/W. Meteo (even though Pointer 2 seems to handle most of it)
 :edit:What this actually seems to do is prevent the graphic from showing on the target and lets Pointer 2 handle the process.
44 - (Spell) Bomb/(Summon)Bomb/Explode/Reaction/Explode(2)
45 - (Summon) Indra
46 - Cure 4
47 - Flame
48 - Flood
49 - Smoke
50 - Pin
51 - (Enemy Spell)Charm
52 - Needle
53 - (Summon)Jinn
54 - Fire/Blaze
56 - Cold Mist/D.Breath/Blizzard
57 - Venom
58 - Hatch
59 - (Summon)Sylph
60 - Blitz
61 - (Summon)Mist (Pointer 2 seems to override this though, 61 on its own seems to be the Sylph Healing graphic)
62 - Maser/Beam/Laser/Heat Ray
63 - Magnet
64 - Fission/Big Wave/Wave(I believe it may be overridden by Pointer 2)
 :edit: It is. The Sequence looks to be completely unused. It seems to be an explosion from the center-left of the screen that first expands and then moves horizontally.
65 - Counter
66 - Nothing?
67 - Big Bang
68 - Alert
69 - Globe199
70 - Tornado
71 - Storm
72 - (Summon)Mage/Bluster/Blast
73 - Hold Gas
74 - Unused Yellow Flashing effect with Sprites around targets.
75 - Glare
76 - Sleep/Tongue/Gas/
77 - Curse/DullSong
78 - Gaze/Slap/Glance/Crush (Though I believe Pointer 2 may disable that.)
 :edit:Doesn't appear to do anything on its own.
79 - A sequence occurs where large rotating sprites hit enemies, and this repeats four times.
80 - Sequence (which was a weird green effect on targets) never ended.
81 - The screen turned blue, enemies began to float but the battle still continued on.
82 - A graphic shows on the targets which seems to change and linger for around 10 seconds before ending.
83 - Nothing
84 - Wave of graphic hits target, repeating five times while target flashes.
85 - Same as 80.
86 - Nothing
87 - Like 84, except hits only once.
88 - Same as 80.
89 - Same as 80
90 - Same as 80.
There are a few gaps, but looking at just the game data it shows what is and isn't used. I'll see if I can figure out what the unused sequences look like then.


 :edit: And that's that. I think that covers Sprite, Sequence, and Effects in an adequate fashion.
« Last Edit: October 16, 2013, 11:23:39 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,266
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #491 on: October 16, 2013, 03:32:44 PM »
Hang on - when you say, "moves indra's sprite," (for example), do you mean that this contains the instructions for the summoned monster's image change?
I spent hours looking for that and never thought to look into what pointer 2 was doing.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #492 on: October 16, 2013, 03:42:12 PM »
Indeed so. Without the Pointer 2 the summon never shifts their pose (and is just there.) Interestingly you can even assign Jinn's "Fly across the screen" to any summon and it should work properly. At least it did when I tested it with Indra.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,266
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #493 on: October 16, 2013, 03:47:19 PM »
Dammit, Grimoire! I thought I was done researching summons    :happy:

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,682
    • View Profile
Re: Developing a comprehensive editor for FF4
« Reply #494 on: October 16, 2013, 04:22:37 PM »
Haha! You can never be too certain, especially with FFIV. Hopefully this will help you out. Also your tutorial for getting the Shadow Dragon to work properly is very well described.