øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=printpage;topic=2006.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6a02-2.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2006.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6a02-2.html.z x w0g^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ `¦D Js OK text/html ISO-8859-1 gzip 8:Ö Js ÿÿÿÿÿÿÿÿ Tue, 10 Mar 2020 06:31:42 GMT 0ó° °® 0® P® €§² ð® w0g^ : Js
Print Page - Throw's Special Graphic
Board of Slick
Library of the Ancients => Final Fantasy IV Research & Development => Topic started by: Dark Knight on February 03, 2015, 09:17:02 PM
Title: Throw's Special Graphic
Post by: Dark Knight on February 03, 2015, 09:17:02 PM
I've search and tried to change Throw's special graphic, but I couldn't find it in the end. Does anyone know how to change the Throw command's special graphic to another, I would like to change it to the left handed physical attack graphic instead.
Title: Re: Throw's Special Graphic
Post by: chillyfeez on February 03, 2015, 09:37:16 PM
The particular graphic associated with each attack is mostly undocumented. I've stumbled across pieces of the info before, but never really made any notes (changing those graphics is never something I've aimed to do).
That being said, it wouldn't be impossible to figure out. I spent some time zeroing in on charging graphics (what the characters do in between choosing the action and performing the action... Think spell chanting or the "cheering" motion that precedes Change) once, and the same methods could likely be employed here. I'll look into it, but gimme a day or two.
Title: Re: Throw's Special Graphic
Post by: Pinkpuff on February 04, 2015, 05:28:42 AM
I'm also interested in the answer to this. I'd like FF4kster to be able to edit command "stances" generally if possible.
The "Bonk!" command referenced in the other thread used to be Edward's sing; it has four different effects it randomizes between. But for flavor reasons, it seems extremely odd that she appears to "cast" and then white magic orbs come out. Ideally she should swing her weapon, or even just doing the "attacking" animation/stance would be acceptable.
Title: Re: Throw's Special Graphic
Post by: Grimoire LD on February 04, 2015, 06:07:07 AM
I'm also interested in the answer to this. I'd like FF4kster to be able to edit command "stances" generally if possible.
The "Bonk!" command referenced in the other thread used to be Edward's sing; it has four different effects it randomizes between. But for flavor reasons, it seems extremely odd that she appears to "cast" and then white magic orbs come out. Ideally she should swing her weapon, or even just doing the "attacking" animation/stance would be acceptable.
You would have to sacrifice Frog Song's spot (hope you didn't have anything special planned there...?) but you can easily put in the AV code for a Weapon Strike which consists of the code...
$03/DCF0 A9 C0 LDA #$C0 A:0003 X:0046 Y:FFFF P:envMxdizc - Load Weapon Swing into A. $03/DCF2 8D C4 33 STA $33C4 [$7E:33C4] A:00C0 X:0046 Y:FFFF P:eNvMxdizc - Store A in Audio/visual commands.
It takes just five bytes and is rather universal in many respects.
You may also get away with erasing the useless Sing Message at the end of the routine, but I'm not sure where precedence lies with the spells or the ending... I suppose it would be worth a shot in any event.
$03/E947 A9 08 LDA #$08 A:0010 X:0680 Y:001A P:envMxdizC - Load 08 (Sing) into A. $03/E949 8D C8 34 STA $34C8 [$7E:34C8] A:0008 X:0680 Y:001A P:envMxdizC - Store A in Mini-Battle Message Data
Title: Re: Throw's Special Graphic
Post by: Pinkpuff on February 04, 2015, 06:42:37 AM
I'm also interested in the answer to this. I'd like FF4kster to be able to edit command "stances" generally if possible.
The "Bonk!" command referenced in the other thread used to be Edward's sing; it has four different effects it randomizes between. But for flavor reasons, it seems extremely odd that she appears to "cast" and then white magic orbs come out. Ideally she should swing her weapon, or even just doing the "attacking" animation/stance would be acceptable.
You would have to sacrifice Frog Song's spot (hope you didn't have anything special planned there...?) but you can easily put in the AV code for a Weapon Strike which consists of the code...
$03/DCF0 A9 C0 LDA #$C0 A:0003 X:0046 Y:FFFF P:envMxdizc - Load Weapon Swing into A. $03/DCF2 8D C4 33 STA $33C4 [$7E:33C4] A:00C0 X:0046 Y:FFFF P:eNvMxdizc - Store A in Audio/visual commands.
It takes just five bytes and is rather universal in many respects.
You may also get away with erasing the useless Sing Message at the end of the routine, but I'm not sure where precedence lies with the spells or the ending... I suppose it would be worth a shot in any event.
$03/E947 A9 08 LDA #$08 A:0010 X:0680 Y:001A P:envMxdizC - Load 08 (Sing) into A. $03/E949 8D C8 34 STA $34C8 [$7E:34C8] A:0008 X:0680 Y:001A P:envMxdizC - Store A in Mini-Battle Message Data
It didn't work for me... she still did the magic orb thing.
Title: Re: Throw's Special Graphic
Post by: Grimoire LD on February 04, 2015, 11:27:19 AM
Oh, I was a bit careless in my labels...
You want to change...
$03/E900 A9 C0 LDA #$C0 A:0003 X:0046 Y:FFFF P:envMxdizc - Load Weapon Swing into A. $03/E902 8D C4 33 STA $33C4 [$7E:33C4] A:00C0 X:0046 Y:FFFF P:eNvMxdizc - Store A in Audio/visual commands. $03/E905 D0 08 BNE $09 [$E910] A:0000 X:0010 Y:0000 P:envMxdiZc -If not, branch to 03E910.
And that should do it if you had no plans for Frog Song spot's inclusion...
If you had plans then you can work it into there, I'd say. Just let me know if you need any assistance in that regard.
Title: Re: Throw's Special Graphic
Post by: Pinkpuff on February 04, 2015, 12:24:59 PM
Aw yiss! Works perfectly!
Though I seem to have hijacked someone's thread. The original question was about Throw...
:edit: Er, upon further experimentation, while the visual is now totally awesome, the behaviour has become that it always uses the same effect instead of randomizing between the four...
:edit: 2: Upon closer reading of your code, I notice you had typed D0 08 and then translated it as BNE 09 so I guessed that the 08 was a typo and changed it to 09 and now it works
Title: Re: Throw's Special Graphic
Post by: Grimoire LD on February 04, 2015, 01:16:17 PM
Though I seem to have hijacked someone's thread. The original question was about Throw...
:edit: Er, upon further experimentation, while the visual is now totally awesome, the behaviour has become that it always uses the same effect instead of randomizing between the four...
:edit: 2: Upon closer reading of your code, I notice you had typed D0 08 and then translated it as BNE 09 so I guessed that the 08 was a typo and changed it to 09 and now it works
More carelessness on my part (I even made sure to triple check it! Bah) No matter, you got it right in the end.
Throw is still a large unknown to me, when I was dealing with the instruction I found Nothing to link it to the graphic thrown. I'm sure someone will eventually figure it out though.
Title: Re: Throw's Special Graphic
Post by: chillyfeez on February 05, 2015, 11:07:16 AM
ok, I've got some findings here... the answer to Dark Knight's question plus some more...
SO there is a table that assigns a "charging" stance to each command (again, that is, what the character does in between selecting the command and actually executing it). That's located at $0B/E760 :edit: that's $0B/7E60, sorry about that... Significant error (ROM w/Header). It works on a 1:1 basis with the commands as listed here (http://rb.thundaga.com/tob/battlemenus.txt), so the first byte is for fight, the second for Item, the Third for White magic, etc.
The breakdown of what each value will do is as follows:
01:Resting 02:parry 03:Walking 04:crouching 05:right hand striking 06:left hand striking 07:getting hit 08:cheering 09:swoon 0a:chanting 0b:Charging (Chanting without motion) 0c:casting (raising arms, or whatever, no orbs) od:raising left hand like to attack, but no motion 0e:"special" stance 0f:same 10:Resting 11 and (I assume) above:glitch Now, bear in mind that this will not change the position the character assumes while performing the action, just what s/he does before, however the values above are still important. The stance taken for performing each action is, unfortunately, buried in a separate subroutine for each action, so finding all of them would take a while. To change the stance for Dart, change the value at $01/434B from 0F to whichever value you want from above. Of course, you'll notice that there is no option to simply hold out the left hand, but you can do a left hand swing, or raise your hand up, or fall down and play dead if you so choose! :laugh:
If anybody is feeling industrious and wants to find the stance for other actions, set a breakpoint in geiger's for when the game executes $02/C048, and select each action in turn. The value that is stored into 7E:EFD0 (if the character is in slot 00, add 0x10 for each next slot up) is the value you want to change to change the action's stance.
*whew* just in time. Off to work now! :cycle:
Title: Re: Throw's Special Graphic
Post by: LordGarmonde on February 05, 2015, 10:35:08 PM
I've search and tried to change Throw's special graphic, but I couldn't find it in the end. Does anyone know how to change the Throw command's special graphic to another, I would like to change it to the left handed physical attack graphic instead.
I know that the Dancing Dagger when used as an item (while equipped) uses the throw graphic - same as Shurikens it seems. Maybe that might help trying to trace out the path. I'm curious how that works - like is it calling the same Throw Routine (probably) or is it something more specific to the Dancing Dagger. Also, does anyone happen to know anything else that when used in battle mimics throw?
One idea that came to mind would be to emulate throw instead of it being a command - and then converting that command to some kind of custom command. Maybe combine that with Edge's dual-wield...one Katana and one thrown weapon... :hmm:
Title: Re: Throw's Special Graphic
Post by: chillyfeez on February 06, 2015, 01:58:40 AM
I've looked into this a bit more now. It gets pretty cool here. Those single byte values (in my previous post) point into a table beginning at $09/FB85. The entries here are four bytes long and each represents a character's position. Cycling through these (up to) four positions encompasses what I've been calling a "stance." There are ten completely unused stances (data read all FFs). They're stances 55 through 5E. So you can make several custom stances without messing anything up! To change stance 55, jump to $09/FCD5 and change those four bytes to whatever you want. Here's a key:
00: resting 01: parry 02: spread legs 03: crouch 04: raise right arm 05: extend left arm 06: raise left arm 07: getting hit 08: (cheer) arms up 09: swoon 0a: chanting 1 0b: chanting 2 0c: single tile glitch 0d-23: more glitches? (Haven't tested all) 24: special stance 25+: (untested) So if you make the four bytes at 9FCD5 read
06 04 02 08Then change B7E60 to 55, then your characters will spend their time waiting to attack by raising the left arm, raising the right arm, spreading their legs and cheering. Obviously that would be really silly, but it's a good way to observe what can be done here!
OK, I'm exhausted. Bed time. :sleep:
Title: Re: Throw's Special Graphic
Post by: Pinkpuff on February 06, 2015, 05:02:53 AM
Expect a new component to the Command editor in the near future! :wink:
Title: Re: Throw's Special Graphic
Post by: chillyfeez on February 06, 2015, 07:33:18 AM
Expect a new component to the Command editor in the near future! :wink:
If you wanna hold off for a little while on that, Pinkpuff, I'll probably explore each command to find the location for the performance stance for each. I'll make a little chart and post it here. I'll also try out all the different position possibilities, since so far I only have listed about 1/16 of them.
Title: Re: Throw's Special Graphic
Post by: Grimoire LD on February 06, 2015, 08:06:31 AM
Expect a new component to the Command editor in the near future! :wink:
If you wanna hold off for a little while on that, Pinkpuff, I'll probably explore each command to find the location for the performance stance for each. I'll make a little chart and post it here. I'll also try out all the different position possibilities, since so far I only have listed about 1/16 of them.
This is a fantastic find Chillyfeez! I'm glad to see this is finally being tackled!
Title: Re: Throw's Special Graphic
Post by: Pinkpuff on February 06, 2015, 08:50:13 AM
Expect a new component to the Command editor in the near future! :wink:
If you wanna hold off for a little while on that, Pinkpuff, I'll probably explore each command to find the location for the performance stance for each. I'll make a little chart and post it here. I'll also try out all the different position possibilities, since so far I only have listed about 1/16 of them.
Agreed! This is exciting!
Title: Re: Throw's Special Graphic
Post by: Grimoire LD on February 08, 2015, 12:11:41 PM
I've search and tried to change Throw's special graphic, but I couldn't find it in the end. Does anyone know how to change the Throw command's special graphic to another, I would like to change it to the left handed physical attack graphic instead.
Chillyfeez has pointed out a general way to look at it, but there's also another layer.
The graphic thrown matches the weapon graphic. If Edge throws a Spear it will be a Spear on contact. If Edge throws a Staff it will be a Staff on contact, Harp, etc. This may be important later to see how weapon animations are parsed and to possibly change NPC held weapons (Deathbringer is not a suitable sword for every NPC to wield)
The weapon's palette is also the same palette as the "circling weapon" graphic used in the Throw command.
So... it looks like 3580 is a unique byte purely used for Throw. It's parameters are bizarrely set in Bank 02 rather than 03.
$02/C118AD 80 35LDA $3580 [$7E:3580]A:00C0X:0020Y:000AP:envMxdiZC - Load Thrown Item into A. $02/C11BC9 41CMP #$41A:0023X:0020Y:000AP:envMxdizC - Is it Ninja Shuriken? $02/C11DF0 04BEQ $04 [$C123]A:0023X:0020Y:000AP:eNvMxdizc - If so, unique branch. $02/C11FC9 40CMP #$40A:0023X:0020Y:000AP:eNvMxdizc - Is it Shuriken? $02/C121D0 09BNE $09 [$C12C]A:0023X:0020Y:000AP:eNvMxdizc - If not, branch past. -------------------------------------------------------------------------------------------------------------------------- $02/C123A9 40LDA #$40A:0011X:0020Y:000AP:envMxdizc - Load 40 into A. $02/C12585 50STA $50 [$00:0050]A:0011X:0020Y:000AP:envMxdizc - Store A into 50. $02/C12764 51STZ $51 [$00:0051]A:0011X:0020Y:000AP:envMxdizc - Store Zero in 51. $02/C1294C C8 CFJMP $CFC8 [$02:CFC8]A:0011X:0020Y:000AP:envMxdizc - Jump elsewhere ------------------------------------------------------------------------------------------------------------------------------- $02/C12CA9 11LDA #$11A:0023X:0020Y:000AP:eNvMxdizc - Load 11 into A. $02/C12E20 6D D9JSR $D96D [$02:D96D]A:0011X:0020Y:000AP:envMxdizc - Jump to Subroutine (Weapon Graphics)
This may also explain why your elemental throwing knives showed up strangely Chillyfeez.
Oh now this is interesting! This goes beyond the scope of this topic, so I'll post this elsewhere.