Author Topic: Apropos of nothing (except of course FFIV)  (Read 17048 times)

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #105 on: January 06, 2015, 03:55:56 PM »
You could also have an autobattle of Bard vs. Smaug using Golbez's battle sprites.

If I was doing this, I'd have to resist the overwhelming temptation to throw in a "spoony" joke  :laugh:

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #106 on: January 06, 2015, 04:11:46 PM »
You could also have an autobattle of Bard vs. Smaug using Golbez's battle sprites.

If I was doing this, I'd have to resist the overwhelming temptation to throw in a "spoony" joke  :laugh:

Haha, that would be really neat to have a Smaug vs. Bard battle, I really do like his character and I found the movies made him more likable (or maybe more personable) than in the book. But he never really fights alongside the Dwarves and doesn't really fight until the Battle of the Five Armies.

Just a thought Chillyfeez, not directly related to this, but how complete is Golbez's character? Does he have the same linking capabilities as any other character such as a Save/Load/LevelUp slot? Because if the only thing Golbez is lacking is a LevelUp chart, he could easily share another's own. (Maybe even give FuSoYa's entirely to Golbez and give Tellah's to FuSoYa)

By that same accord how complete is Anna as a character? I know that Anna and Golbez both have equipment indexes and I'm aware Golbez has a set of stats, equipment, and command set (even if it just fight and item) but does Anna even have that? Also I guess the elephant in the room is the lack of portrait space for either of them.


chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #107 on: January 06, 2015, 05:23:17 PM »
I don't remember specifically which parts of his character are left out, but I don't think it's much beyond graphics and level up chart. For a while, I was using his character for Blank in TfW (why? ...can't remember).
The graphics would be a big issue, because they take up so much data. Wouldn't be impossible, though, just... a lot of work.
There's also the problem that FF4kster doesn't like Golbez, so you can't really do much with him unless by hand. That's why I eventually stopped using him for Blank.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #108 on: January 06, 2015, 06:08:40 PM »
I don't remember specifically which parts of his character are left out, but I don't think it's much beyond graphics and level up chart. For a while, I was using his character for Blank in TfW (why? ...can't remember).
The graphics would be a big issue, because they take up so much data. Wouldn't be impossible, though, just... a lot of work.
There's also the problem that FF4kster doesn't like Golbez, so you can't really do much with him unless by hand. That's why I eventually stopped using him for Blank.

Ah that's right! Despite there being a fine Golbez sprite sheet in the game with every animation a PC would have, Golbez's sprite defaults to a frog with the job name of emWhit and Anna shows up as a copy of Dark Knight Cecil except her sprite is a Pig, yeah that all seems like a lot of work to fix them up to be usable by any stretch.

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #109 on: January 07, 2015, 02:01:56 PM »
You know how some NPCs are drawn under the main character and some are above?  Anybody know what controls that?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #110 on: January 07, 2015, 02:15:23 PM »
Hmm, what instances are NPC's considered as Under main character?

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #111 on: January 07, 2015, 02:22:08 PM »
Shoot did I do it again? I thought some NPCs were drawn under and only some were special and drew on top, like the sparkle over Cecil when he turns into a paladin. Are all NPCs drawn over the main char, always?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #112 on: January 07, 2015, 02:45:11 PM »
To my knowledge all NPC's draw over the main character. I could be wrong, but I don't recall any instance that an NPC is placed under the main character.

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #113 on: January 09, 2015, 04:58:30 AM »
What causes Sylph to not cost any MP and is it easily fixable?
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #114 on: January 09, 2015, 06:23:14 AM »
By comparing Sylph's Routine  to Odin's Routine which are both very similar something interesting shows up...

Odin's Routine (Important part here...)


$03/DB72   20 7B E0   JSR $E07B  [$03:E07B]   A:0000   X:0000   Y:00FF   P:envMxdiZC - Jump to Subroutine (Unique Rydia one from above decreases MP properly, if Rydia is the target)
$03/DB75   20 BC 85   JSR $85BC  [$03:85BC]   A:0001   X:0000   Y:00FF   P:eNvMxdizc - Jump to Subroutine.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$03/85BC   C2 20   REP #$20   A:0001   X:0000   Y:00FF   P:eNvMxdizc - Reset Processor Status (20?)
$03/85BE   8A    TXA   A:0001   X:0000   Y:00FF   P:eNvmxdizc - Transfer X to A.
$03/85BF   18    CLC   A:0000   X:0000   Y:00FF   P:envmxdiZc - Clear Carry Flag.
$03/85C0   69 80 00   ADC #$0080   A:0000   X:0000   Y:00FF   P:envmxdiZc - Add 80 to A.
$03/85C3   AA    TAX   A:0080   X:0000   Y:00FF   P:envmxdizc - Transfer A to X.
$03/85C4   7B    TDC   A:0080   X:0080   Y:00FF   P:envmxdizc - Transfer Direct Page.
$03/85C5   E2 20   SEP #$20   A:0000   X:0080   Y:00FF   P:envmxdiZc - Set Processor Status (20?)
$03/85C7   60    RTS   A:0000   X:0080   Y:00FF   P:envMxdiZc - Return
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$03/DB78   E6 A9   INC $A9    [$00:00A9]   A:0000   X:0080   Y:00FF   P:envMxdiZc - +1 to A9.
$03/DB7A   A5 A9   LDA $A9    [$00:00A9]   A:0000   X:0080   Y:00FF   P:envMxdizc - Load A9.
$03/DB7C   C9 05   CMP #$05   A:0001   X:0080   Y:00FF   P:envMxdizc - Has it gone through five times?
$03/DB7E   D0 F2   BNE $F2    [$DB72]   A:0001   X:0080   Y:00FF   P:eNvMxdizc - If not loop back to 03DB72

Sylph's Routine...

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$03/E07B   BD 00 20   LDA $2000,x[$7E:2000]   A:0000   X:0000   Y:0000   P:envMxdiZc  - Load Slot 1's ID.
$03/E07E   29 1F   AND #$1F   A:0081   X:0000   Y:0000   P:eNvMxdizc - Remove 80 from it?
$03/E080   C9 11   CMP #$11   A:0001   X:0000   Y:0000   P:envMxdizc - Is it (Adult Rydia) 11?
$03/E082   D0 0C   BNE $0C    [$E090]   A:0001   X:0000   Y:0000   P:eNvMxdizc - If not branch to 03E090.
--------------------------------------------------------------------------------------------------------------------------------------
$03/E084   AD 8B 26   LDA $268B  [$7E:268B]   A:0011   X:0000   Y:0000   P:envMxdiZC - Load A from Caster's Current MP.
$03/E087   9D 0B 20   STA $200B,x[$7E:200B]   A:00BF   X:0000   Y:0000   P:eNvMxdizC - Store A in Slot 1's Current MP.
$03/E08A   AD 8C 26   LDA $268C  [$7E:268C]   A:00BF   X:0000   Y:0000   P:eNvMxdizC - Load A from Caster's Current MP Byte 2.
$03/E08D   9D 0C 20   STA $200C,x[$7E:200C]   A:0003   X:0000   Y:0000   P:envMxdizC - Store A in Slot1's Current MP Byte 2.
----------------------------------------------------------------------------------------------------------------------------------------
$03/E090   60    RTS   A:0001   X:0000   Y:0000   P:eNvMxdizc Return.

This unique formula with Rydia's Odin looks for Rydia specifically to remove the MP and will do it five times in a proper loop. Sylph however does not include that Branch Back so it only ever looks at Slot 1.

Fixing it would require that loop for 5 characters or a more proper way to check to see if it is fully Rydia's character. It's still early so I haven't yet thought it over fully. Maybe someone else can chime in with an actual coded solution.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #115 on: January 09, 2015, 09:02:59 AM »
Looks to me like, no, it's not easily fixable. That is, there isn't enough space in the Sylph routine itself to rewrite the code so that it works properly.
That being said, it would be very easy to write a new routine that handles the MP reduction properly for both spells, but it would have to occupy a new space. Are you sure these are the only two spells that use this subroutine for MP reduction, Grimoire? I mean, that doesn't really matter, I guess, except that if they were, and I wrote a new routine in a new place that doesn't use them, then I would blank out the space they occupy once the new routine is created.

By the way, regarding processor status (since you put those question marks in there): the SNES CPU has eight processor status flags that can either be turned off (reset) or on (set) with these instructions, and the parameter identifies which flag(s) is (are) being affected by bit identification (01, 02, 04, 08, 10, 20, 40, 80). Flags 4 and 5 (10 and 20) are the only ones I've ever seen FFIV use (and flag 4 is rare), and they affect the 16-bit status of the x/y registers and the accumulator (A) respectively.
So, SEP #$20 makes the Accumulator 8 bits, and REP #$20 makes it 16 bits (SEP #$10 and REP #$10 do the same for x and y).

I just realized that you may have disassembled that a long time ago, so... sorry if you knew that already.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #116 on: January 09, 2015, 01:23:04 PM »
Looks to me like, no, it's not easily fixable. That is, there isn't enough space in the Sylph routine itself to rewrite the code so that it works properly.
That being said, it would be very easy to write a new routine that handles the MP reduction properly for both spells, but it would have to occupy a new space. Are you sure these are the only two spells that use this subroutine for MP reduction, Grimoire? I mean, that doesn't really matter, I guess, except that if they were, and I wrote a new routine in a new place that doesn't use them, then I would blank out the space they occupy once the new routine is created.

By the way, regarding processor status (since you put those question marks in there): the SNES CPU has eight processor status flags that can either be turned off (reset) or on (set) with these instructions, and the parameter identifies which flag(s) is (are) being affected by bit identification (01, 02, 04, 08, 10, 20, 40, 80). Flags 4 and 5 (10 and 20) are the only ones I've ever seen FFIV use (and flag 4 is rare), and they affect the 16-bit status of the x/y registers and the accumulator (A) respectively.
So, SEP #$20 makes the Accumulator 8 bits, and REP #$20 makes it 16 bits (SEP #$10 and REP #$10 do the same for x and y).

I just realized that you may have disassembled that a long time ago, so... sorry if you knew that already.

I can say pretty authoritatively that Sylph and Odin are the only two routines that use that unique Rydia routine. It is difficult to imagine for what reason they decided to make sure it was Only Rydia that could use these routines properly.

I did know what one of the functions of Set Processor Status was, (turning 8 to 16 bits) but I did not know what the other flags did, now I know, thanks Chillyfeez.

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #117 on: January 11, 2015, 05:45:57 PM »
When statuses are inflicted from physical attacks, the game displays a message like "Fell asleep" or "Swoon" or similar, right?  If my memory is not failing me and that is true, do we know where those messages come from?

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #118 on: January 11, 2015, 08:24:57 PM »
You're right that those messages appear... I'd be surprised if they weren't part of the pool of battle messages, though.
Or am I misunderstanding the question?

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Apropos of nothing (except of course FFIV)
« Reply #119 on: January 12, 2015, 05:18:51 AM »
In FF4kster: Edit Messages -> Battle -> Scroll down til you find 'em -> Edit away!
Let's dance!