øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2078.msg23648e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexa575.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2078.75e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexa575.html.zx# g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ,/F<OKtext/htmlISO-8859-1gzip8:ÖF<ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 04:00:57 GMT0ó°° ®0®P®€§²ð®" g^ÿÿÿÿÿÿÿÿZ+F< Unprecedented Crisis now on RHDN

Author Topic: Unprecedented Crisis now on RHDN  (Read 27562 times)

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #75 on: July 12, 2015, 04:28:57 AM »
Cry is also unused if you need some extra bytes. Only thing is, it has a default message, so FF4kster will mess with 2 or 3 of those bytes when saving.
Let's dance!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #76 on: July 12, 2015, 05:15:08 AM »
1) so does Peep...don't know if Grimoire's work takes this into account? Are we concerned about this?

2) the AV assembly is in the 02 block anyway, so I won't be using any of that space. I have about 0x40 bytes to work with, which will hopefully be enough. I can't rewrite anything because Cry and Peep both use an AV routine used by other commands. So I'm going to have to write a modified version of "Land's" routine, I think, that fits into that empty space. What's nice is that the advance needs to be modified, but the jump back into place can use the same assembly as "Land," most likely. I don't wanna sound too confident, but this doesn't seem like it should be very difficult, as long as I have the room...

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #77 on: July 12, 2015, 05:18:46 AM »
You're right; Peep has a message, but its message pointer is not modified by FF4kster.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #78 on: July 12, 2015, 09:52:27 AM »
1) so does Peep...don't know if Grimoire's work takes this into account? Are we concerned about this?

2) the AV assembly is in the 02 block anyway, so I won't be using any of that space. I have about 0x40 bytes to work with, which will hopefully be enough. I can't rewrite anything because Cry and Peep both use an AV routine used by other commands. So I'm going to have to write a modified version of "Land's" routine, I think, that fits into that empty space. What's nice is that the advance needs to be modified, but the jump back into place can use the same assembly as "Land," most likely. I don't wanna sound too confident, but this doesn't seem like it should be very difficult, as long as I have the room...

This will be the first step to creating FFIV:TAY like special moves Chillyfeez! I am looking forward to seeing what you find out in this regard!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #79 on: July 12, 2015, 11:31:05 AM »
1) so does Peep...don't know if Grimoire's work takes this into account? Are we concerned about this?

2) the AV assembly is in the 02 block anyway, so I won't be using any of that space. I have about 0x40 bytes to work with, which will hopefully be enough. I can't rewrite anything because Cry and Peep both use an AV routine used by other commands. So I'm going to have to write a modified version of "Land's" routine, I think, that fits into that empty space. What's nice is that the advance needs to be modified, but the jump back into place can use the same assembly as "Land," most likely. I don't wanna sound too confident, but this doesn't seem like it should be very difficult, as long as I have the room...

This will be the first step to creating FFIV:TAY like special moves Chillyfeez! I am looking forward to seeing what you find out in this regard!

Using my findings about poses as a jumping off point, I was able pretty easily to find the pointers for each command's AV routine. When this thing is over (or maybe somewhere along the way) I'll post that info. Not a whole lot of use for it in FF4kster, though you could, in theory, assign a different AV routine to a command... That is, you could make Edward jump into the air to Hide, and land when he Shows. From an assembly hacking standpoint it could be useful, though... You could make commands that look, for all intents and purposes, like an attack... Or using that small bit of space at the end of the 02 block, you could make an attack that looks like several attacks (still only one damage count, though). Or... X-magic, maybe?!
Well, anyway, lemme focus on the task at hand...

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #80 on: July 13, 2015, 01:22:12 PM »
Hey, Grimoire, do you think you could write a "fail if attempted on ally" into your tackle routine?
I have the visuals working fine, but if you try to use the command on an ally, the visuals make it look like it's being used on the corresponding enemy instead (that is, if you tackle the ally in party slot 02, it will look like you attack the enemy in slot 2).
Easiest solution is just to make it impossible to use on an ally...

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #81 on: July 13, 2015, 03:32:08 PM »
Hey, Grimoire, do you think you could write a "fail if attempted on ally" into your tackle routine?
I have the visuals working fine, but if you try to use the command on an ally, the visuals make it look like it's being used on the corresponding enemy instead (that is, if you tackle the ally in party slot 02, it will look like you attack the enemy in slot 2).
Easiest solution is just to make it impossible to use on an ally...

That could be tricky...

I had only two bytes left when I finished filling out Lancet, which is directly after the Bomb/Tackle (Bomb Tackle?) routine.

To do a check of Enemy/Ally takes four bytes. I can take out the Critical Status application in the original routine since it happens after Cid's turn ends anyhow. I just wanted it to look natural, but it shouldn't be a big deal. You're right that being able to target ally's with it could cause oddities.

So you can overwrite...

$03/E176   A9 01   LDA #$01   A:0001   X:0000   Y:001A   P:envMxdizC - Load 01 into A. (Critical)
$03/E178   9D 06 20   STA $2006,x[$7E:2006]   A:0001   X:0000   Y:001A   P:envMxdizC - Store Critical in Status Byte 4.

And place this at the start of the routine...

$03/E153    A5 CE   LDA $CE    [$00:00CE]   A:0000   X:000C   Y:0000   P:envMxdiZc - Load Target's ID into A
$03/E155    30 0D   BPL $25   [$E17A]   A:0083   X:000C   Y:0000   P:eNvMxdizc - Branch if Positive (If tackling an Ally, not Enemy)

I hope this makes a deal of sense? If not I'll rebuild the routine for easier reasoning.





chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #82 on: July 13, 2015, 06:18:55 PM »
Actually... I/we might have to rework the routine altogether...
I wrote it into the ROM I'm working with and the results are... Less than perfect.
Cid charges at the target, hits it, jumps back, then explodes.
I EA'ed out the
Code: [Select]
$03/E15D 8D C5 33 STA $33C5  [$7E:33C5] A:0032 X:0000 Y:0000 P:envMxdizc - Store A in Audiovisual.
$03/E160 20 44 CD JSR $CD44  [$03:CD44] A:0032 X:0000 Y:0000 P:envMxdizc - Jump to after the Audiovisual check has been looked at in the Spell Routine.
And that makes the explosion go away, but it still says "explode" at the top of the screen.
Also, when Cid is critical, for some reason he stays crouching instead of "walking" when he charges at the target, so I might have to make it so it fails automatically if he's critical, too.

Also, my routine is long. One byte shorter than the AV routine for Land. That makes sense, since it's based off of the same routine, but it's longer than the amount of empty space in the 02 block, so I had to use some of the empty space in the 03 block, too (the empty space at the end, not any part of Peep or Cry).

Anyway, I think I have to stop for the day.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #83 on: July 13, 2015, 09:03:37 PM »
Actually... I/we might have to rework the routine altogether...
I wrote it into the ROM I'm working with and the results are... Less than perfect.
Cid charges at the target, hits it, jumps back, then explodes.
I EA'ed out the
Code: [Select]
$03/E15D 8D C5 33 STA $33C5  [$7E:33C5] A:0032 X:0000 Y:0000 P:envMxdizc - Store A in Audiovisual.
$03/E160 20 44 CD JSR $CD44  [$03:CD44] A:0032 X:0000 Y:0000 P:envMxdizc - Jump to after the Audiovisual check has been looked at in the Spell Routine.
And that makes the explosion go away, but it still says "explode" at the top of the screen.
Also, when Cid is critical, for some reason he stays crouching instead of "walking" when he charges at the target, so I might have to make it so it fails automatically if he's critical, too.

Also, my routine is long. One byte shorter than the AV routine for Land. That makes sense, since it's based off of the same routine, but it's longer than the amount of empty space in the 02 block, so I had to use some of the empty space in the 03 block, too (the empty space at the end, not any part of Peep or Cry).

Anyway, I think I have to stop for the day.

Hmm, I'm not sure of a way to repress the name of the spell used. I know there are some spells which are set not to display their name. DullSong, the Vanishes, Monster Command, and other event ones do not display their names for instance. We could work on this together, yeah. I am glad to see you have a working model though! I suspect you may want to look at the notes on Charm I have on characters walking independently of their status...

$02/DBE7   FA    PLX   A:0000   X:0000   Y:0000   P:envMxdIZc - Pull X.
$02/DBE8   BD CE EF   LDA $EFCE,x[$7E:EFCE]   A:0000   X:0000   Y:0000   P:envMxdIZc - Load A from 7EEFCE.
$02/DBEB   29 0F   AND #$0F   A:0001   X:0000   Y:0000   P:envMxdIzc - Get rid of Bits.
$02/DBED   9D CE EF   STA $EFCE,x[$7E:EFCE]   A:0001   X:0000   Y:0000   P:envMxdIzc - Store A in 7EEFCE.
$02/DBF0   BD C5 EF   LDA $EFC5,x[$7E:EFC5]   A:0001   X:0000   Y:0000   P:envMxdIzc - Load A from 7EEFC5.
$02/DBF3   C9 B0   CMP #$B0   A:00B0   X:0000   Y:0000   P:eNvMxdIzc - It is B0? (When set to other values will be closer or further away when they move to join the enemy)
$02/DBF5   F0 4F   BEQ $4F    [$DC46]   A:00B0   X:0000   Y:0000   P:envMxdIZC - Branch if so.
---------------------

------------------------
$02/DC46   BD CE EF   LDA $EFCE,x[$7E:EFCE]   A:00B0   X:0000   Y:0000   P:envMxdIZC - Load A from 7EEFCE
$02/DC49   09 01   ORA #$01   A:0001   X:0000   Y:0000   P:envMxdIzC - Get rid of Bits. (When set to 02 Character will face enemies)
$02/DC4B   9D CE EF   STA $EFCE,x[$7E:EFCE]   A:0001   X:0000   Y:0000   P:envMxdIzC - Store A in 7EEFCE
$02/DC4E   60    RTS   A:0001   X:0000   Y:0000   P:envMxdIzC - Return

It is all somewhere in there, likely dealing with th 7E:EFCE sequence of bytes, as that is also pose. You may just plain be able to manipulate his pose with ...

$02/DF71   A9 04   LDA #$04   A:0010   X:0000   Y:0000   P:envMxdIzc - Load Crouching into A.
$02/DF73   9D D0 EF   STA $EFD0,x[$7E:EFD0]   A:0004   X:0000   Y:0000   P:envMxdIzc - Store A in Pose Byte

If your AV routine is using X as the character's placement ID this should do the trick.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #84 on: July 14, 2015, 04:08:39 AM »
The routine actually involves several manipulations of the pose, but for some reason the critical crouch takes precedence over anything else...
I'll post a commented disassembly of my routine when I can (gonna be a busy couple of days, so maybe not til Thursday, my next day off) so you can see what I'm working with (and see it in action).

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #85 on: July 14, 2015, 05:38:51 AM »
Suppressing the spell name: We could use one of the already name-suppressed spells and turn it into "Tackle", damage based on caster's HP. The command handles setting his HP afterwards anyway right?

Critical: In the regular command information, there are two "disable if" bytes; one for permanent statutes and one for temporary. Currently, the only one using the temporary status byte is Kick,which is disabled under Float. Would it be possible  (or feasible) to change it so that it checks the category of statuses that Critical falls under? If so, it would then be a simple matter of setting the corresponding flag in FF4kster.
Let's dance!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #86 on: July 14, 2015, 07:54:00 AM »
Suppressing the spell name: We could use one of the already name-suppressed spells and turn it into "Tackle", damage based on caster's HP. The command handles setting his HP afterwards anyway right?

Critical: In the regular command information, there are two "disable if" bytes; one for permanent statutes and one for temporary. Currently, the only one using the temporary status byte is Kick,which is disabled under Float. Would it be possible  (or feasible) to change it so that it checks the category of statuses that Critical falls under? If so, it would then be a simple matter of setting the corresponding flag in FF4kster.

Indeed, while it would be interesting to see why a spelll's name is suppressed I've never really come across that info and haven't been pointed in any direction on why that may be. It may be something I'm missing, but you still have unused spells (Golbez vs. Rydia comes to mind as a couple of spots.) and plenty of still unused spots.

You present an interesting hypothesis. That should not be a very difficult change. All that is doing is looking at the 2004 byte, rather than the 2006 byte of status. Since we know where the first is located breakpointing a Read on it should reveal its inner workings. (it would mean... you can use Kick while Floating! Oh no!!)

Yep, that was easy!

Just change...

$03/A2C1   BD 04 20   LDA $2004,x[$7E:2204]   A:0000   X:0200   Y:0004   P:envMxdiZc - Load Status Byte 02

To...

$03/A2C1   BD 06 20   LDA $2006,x[$7E:2206]   A:0000   X:0200   Y:0004   P:envMxdiZc - Load Status Byte 04

And that's it! Then just change the command disable status for Tackle into the 01 equivalent and that won't have to be worried about!

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #87 on: July 14, 2015, 07:59:49 AM »
Critical: In the regular command information, there are two "disable if" bytes; one for permanent statutes and one for temporary. Currently, the only one using the temporary status byte is Kick,which is disabled under Float. Would it be possible  (or feasible) to change it so that it checks the category of statuses that Critical falls under? If so, it would then be a simple matter of setting the corresponding flag in FF4kster.

That's a good idea... Question, though: I know that only two of the four status bytes can be used in "disable if." Anybody know which of those bytes are eligible? Critical is part of the fourth status byte...

Re: name-suppressed spells. Is there one in particular you're not using, or by your count can be easily eliminated from Unprecedented Crisis?

If these two things work like you're thinking, I think that would solve all of pur problems!

 :edit: Oops, Grimoire beat me to the punch here.
Just need to know which spell to replace with a copy of Explode, then.
This afternoon or tomorrow morning I should have enough time to put this all together.


Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #88 on: July 14, 2015, 08:03:36 AM »
Heh, looks like we posted around roughly the time there. That issue is solved.

As for the name suppressed spells according to FF4kster there's at least 10 or so that go unused because of the changes in plot so there's Plenty of room. That should solve everything!

Feel free to change either of the Rydia vs. Golbez designated spells since nothing exists in Unprecedented Crisis using them.
« Last Edit: July 14, 2015, 08:15:33 AM by Grimoire LD »

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: Unprecedented Crisis now on RHDN
« Reply #89 on: July 14, 2015, 08:54:16 AM »
Which index spells would those be?
Let's dance!