Users browsing this thread: 1 Guest(s)
Harp Weapon Tutorial

#1
Posts: 35
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Apr 2018
Reputation: 2
Status
Afterglow
EDIT: (Thanks to Everything, and everybody who have participated in this discussion.  I am very satisfied with the work done here.  So rather than make an extra thread, I decided to show my work here. I tried to make it as simple as possible for everyone new to coding.)

I am not a coder, and while I have been trying to understand how things work, I admit I am far from competent. That being said, how difficult would it be to make a competent harp?  While I cannot replicate Edward's Harp from FF4, I have made a harp that functions very competently.

[Image: On-Equip-Screen.png]
[Image: working-Harp.png]
If you want to be able to make your own harp, you will have to learn how to use these programs at base level:
  1. Super Nintendo Emulator (To save state)
  2. yy-char (edits the weapon graphic)
  3. ff3usme (basic interface for weapon detail)
  4. hXd (edits hex code for the weapon)
You will also have to SACRIFICE these things in your game:
  1. Metal knuckle graphic (2 8X8 tile blocks)
  2. another graphic containing 2 8X8 tile blocks (for this example, the throwing card)
  3. GP Rain Coin Graphic
  4. GP Rain Animation Code
  5. Unarmed Weapon position (Technically this CAN be fixed though additional editing, but I didn't deem it necessary to fix)
FF3USME
Let's start with the easy part.  You'll want to choose the weapon you want to edit. (In this example, the Metal Knuckle, located at #84)

[Image: code-harp-1.png]
Here the weapon is already set to the knuckle (5E)  You want to set the Attack Animation to 39 (That's GP Rain) and also check box the Atma wpn. gfx. As far as I know it keeps the projectile from being transparent.  Finally set your desired SFX (I found Shiller to be appropriate, the hex is 6D and the Decimal is 109)

Other than adding things such as "both hands" "damage from the back row" and "randomly cast X" in the Reg Item (Adv.) tab, You might want to edit the icon from the Card to a Note to use when renaming your soon to be new harp:
[Image: icon-harp.png]
ALSO DON'T FORGET TO EQUIP THE CHARACTER YOU WANT TO TEST WITH TO THE NEW WEAPON! 

ZSNES or other Super Nintendo Emulator
Get to a part of the game where your character can use a weapon.  The earliest part is after Terra loses her Magitek Armor.  When you enter the battle mode, make a Save state of the Attack.  (It also helps to keep a save state of the battle just so you can test out the weapon)

HXD
Now for the toughest part, the CODING.  We have to get the metal graphic sprite expanded and luckily there are unoccupied graphic spaces available.

Code:
D2/0B74: 03 94 03 95 (the 2nd and 4th byte changed to 94 and 95, the card graphic)

So now the sprite has 4 8X8 Tile blocks to make a harp with, but the alignment is off so now we have to adjust the position

Code:
D0/7F01: A4 83 2B 8F (changed first byte to A4 to adjust position)

The harp is now in the correct position, but the weapon duration should be extended. I changed the duration from 8 to 15 loops so the weapon lingers a bit longer.  

Code:
D0/7F0B: 89 15                    loop start (15 times)

So the harp part is finished, but what about the Weapon animation?  What we will do now is "merge" the offset of the Music Note Hit (D0/0635) with the GP Rain offset (D0/65D4) by editing a few codes.

Code:
; [ New Animation Script $0039: Music Note Hit (Sprite)]

D0/65D4: 00 20                    speed 1, align to center of character/monster
D0/65D6: 85                       move to attacker position                
D0/65D7: 83 77                    move forward 24 (This allows the note animation to load where the character is)
D0/65D9: 89 07                    loop start (7 times)
D0/65DB: 0F                       [---]
D0/65DC: 8A                       loop end

D0/65DD: 95                       calculate vector from attacker to target
D0/65DE: C9 00                    play default sound effect
D0/65E0: 80 5D                    command $80/$5D
D0/65E2: 98 04 01                 increment frame offset every 4 loops (0..1) (This prevents flickering)
D0/65E5: 00                       [$00]
D0/65E6: 92 02 08                 move along vector at speed 2, branch to $063D
D0/65E9: 80 4E                    clear frame offset
D0/65EB: 80 5D                    command $80/$5D
D0/65ED: BF 2F 07                 jump to subroutine $072F
D0/65F0: FF FF FF FF FF FF        end of script

With this you should now have a working Harp.....but it still doesn't LOOK like a harp.

YY-CHR
Now it's time the graphical editing.  Once you load your rom, also load the save state you made earlier, and set the Graphic Format to 3BPP SNES and scroll down to around the offset $1343B0 and use the "+" and "-" to focus the image until you see the "Dice" put together, from here, you'll want to choose a palette that looks like the one you want and you'll have to edit the pixels in each section.  I have them labeled here with the already edited graphics:
[Image: customizing-sprites.png]

I'll admit it's hard to figure out precise areas when it's scatted all over the place. By changing the zoom to (X16) you can work on the harp and note piece by piece. You can always test it out in game if you're unsure if it looks right.

If you follow these instructions exactly you should have a working harp.  It's not perfect by any means, but it's a good substitute if you want to try a new kind of ranged weapon.

Cover Edward can't contain his excitement~
  Find
Quote  
[-] The following 2 users say Thank You to Mutteo for this post:
  • C-Dude (07-03-2020), Gi Nattak (08-24-2022)

#2
Posts: 2,548
Threads: 98
Thanks Received: 147
Thanks Given: 156
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
To make one from scratch with its own custom animation is where things gets very tough. I am not a coder either, but an easier approach might be to create the harp graphic from a preexisting Tool graphic, whichever one allows for it, and then possibly using the monster special attack animation value that has the note flying at the character for the attack animation value. And if it has any issues, then going into the animation script code provided by @Everything to edit it from there, which would probably make it not usable for monsters anymore.

The alternative way to make a brand new legit harp weapon ala FFIV is just scary, as you can see from this document:
https://www.ff6hacking.com/forums/thread...tion+frame

While this is for spell animations, I'd imagine it would be basically the same ordeal. I've almost tried before in order to simply have a different sword animation for some of the Bushido skills, where he twirls the blade around, but I threw in the towel after a while. I always wanted to get back to this stuff sometime though.


We are born, live, die and then do the same thing over again.
Quote  
[-] The following 1 user says Thank You to Gi Nattak for this post:
  • Mutteo (06-19-2020)

#3
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
I just got a mental picture in my head of Tek Missile, except it's a music note, and that is the smile that I needed for this morning.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  

#4
Posts: 35
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Apr 2018
Reputation: 2
Status
Afterglow
(06-18-2020, 01:55 AM)Gi Nattak Wrote: To make one from scratch with its own custom animation is where things gets very tough. I am not a coder either, but an easier approach might be to create the harp graphic from a preexisting Tool graphic, whichever one allows for it, and then possibly using the monster special attack animation value that has the note flying at the character for the attack animation value. And if it has any issues, then going into the animation script code provided by @Everything to edit it from there, which would probably make it not usable for monsters anymore.

The alternative way to make a brand new legit harp weapon ala FFIV is just scary, as you can see from this document:
https://www.ff6hacking.com/forums/thread...tion+frame

While this is for spell animations, I'd imagine it would be basically the same ordeal. I've almost tried before in order to simply have a different sword animation for some of the Bushido skills, where he twirls the blade around, but I threw in the towel after a while. I always wanted to get back to this stuff sometime though.

I get what you're saying here (assuming I can get find a way to make the sprite files I found form together properly like in that shield tutorial) That replacing a tool with a harp and using an enemy animation would be a great idea. (There is the bug enemy I remember that shoots notes that cause berserk, though that sound is GRATING, that would have to be fixed)  The big issue I'm seeing though is that the Harp would be used as a tool NOT a weapon, which requires a skill set and a menu prompt for one ability.  I read somewhere of people trying to use the autocrossbow tool as a weapon, but that has a side effect of causing the character to step backwards every time until they vanish from existence because they are unable to step forward like normal weapons do. 

(06-18-2020, 09:34 AM)PowerPanda Wrote: I just got a mental picture in my head of Tek Missile, except it's a music note, and that is the smile that I needed for this morning.

That's funny.  I would consider doing that for my bard.  It would be appropriate for what I doing with the story.
  Find
Quote  

#5
Posts: 22
Threads: 11
Thanks Received: 0
Thanks Given: 0
Joined: May 2019
Reputation: 2
Status
None
I am also creating a Bard for my hack, but instead of going through the hassle of making a harp animation I approached it another way entirely. My Bard does not have a "Fight" command at all, and would instead have a "Sing" command. The "Sing" command would be "Lore" renamed, and the animations for any song he sings would use variations on the Imp Song/Lullaby animations (wavy music notes affecting all enemies). In the event of Berzerk status on my Bard, the "harp weapon" animation would just be animated as a normal punch. In this instance there would be no harp visible, but you'd have a cool song animation.

If that isn't a thing you're interested in, here's a second idea to chase down the rabbit hole of digging through code. That enemy special attack is called "Wing Snap" used by the enemy Crasshoppr (47 in FF3usME). The animation for that attack (25 in FF3usME) is a single musical note that slowly flies across the screen and hits the character. I'm still new at this so I'm not sure how it would be done, but I'm betting there's a way you could steal that animation and use it for your Bard's Fight command (or whatever Fight-adjacent thing your Bard might have). You wouldn't be able to make the adjustment in FF3usME, but there might be a way to point that weapon's attack animation to it (or perhaps copy and paste the animation into free memory nearby?) According to the ROM map, the Monster Special Attack Animation Index is at $CF37C0-$CF393F. I don't have a disassembly for the $CF bank, so I don't know where it is though. Again, this wouldn't help you draw a harp on screen, but it's another music-related attack idea.
  Find
Quote  
[-] The following 2 users say Thank You to Morendo for this post:
  • Mutteo (06-19-2020), SSJ Rick (06-20-2020)

#6
Posts: 35
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Apr 2018
Reputation: 2
Status
Afterglow
(06-19-2020, 02:48 AM)Morendo Wrote: I am also creating a Bard for my hack, but instead of going through the hassle of making a harp animation I approached it another way entirely. My Bard does not have a "Fight" command at all, and would instead have a "Sing" command. The "Sing" command would be "Lore" renamed, and the animations for any song he sings would use variations on the Imp Song/Lullaby animations (wavy music notes affecting all enemies). In the event of Berzerk status on my Bard, the "harp weapon" animation would just be animated as a normal punch. In this instance there would be no harp visible, but you'd have a cool song animation.

If that isn't a thing you're interested in, here's a second idea to chase down the rabbit hole of digging through code. That enemy special attack is called "Wing Snap" used by the enemy Crasshoppr (47 in FF3usME). The animation for that attack (25 in FF3usME) is a single musical note that slowly flies across the screen and hits the character. I'm still new at this so I'm not sure how it would be done, but I'm betting there's a way you could steal that animation and use it for your Bard's Fight command (or whatever Fight-adjacent thing your Bard might have). You wouldn't be able to make the adjustment in FF3usME, but there might be a way to point that weapon's attack animation to it (or perhaps copy and paste the animation into free memory nearby?) According to the ROM map, the Monster Special Attack Animation Index is at $CF37C0-$CF393F. I don't have a disassembly for the $CF bank, so I don't know where it is though. Again, this wouldn't help you draw a harp on screen, but it's another music-related attack idea.

I completely overlooked the fact they had Lullaby/Imp Song animations!  Those are really nice.  Also thank you for telling me about the Crosshoppr's Wing Snap (I forgot the name).  I could think to trying out that idea.

Actually I had a thought. If I am unable to turn the harp into an actual weapon, I wonder how possible it would be to turn either a Tool ability or a Spell Ability into a special command ability, like !SHOCK, where the character holds the weapon and an attack animation would happen.  I just wouldn't know how to go about it.
[Image: shock-command.png]
  Find
Quote  

#7
Posts: 377
Threads: 34
Thanks Received: 10
Thanks Given: 7
Joined: Dec 2018
Reputation: 18
Status
Moog
So I was looking into weapon animations to see if there was a simple fix, and it seems the weapon special graphics draw from the same pool as the spell special graphics.

A few notable options:

R/L Hand
10 (Cards, does a spin)

Attack
66 (Aura Bolt)
7F (Dance)
B1 (TripleChocobo)
6A (Throws a flaming Sabin at the enemy)
C6 (Bolt1)

Here's the problem... the music notes are either in packet 172 or 177, but the weapon attack can only draw from packets FF or less. The only way to get the music note on a player weapon is thus to re-point one of those higher index animations over a lower index so that the editor can set it. That falls outside of my expertise, but at least there's promise that you won't have to build a weapon from scratch.
  Find
Quote  

#8
Posts: 35
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Apr 2018
Reputation: 2
Status
Afterglow
I do want to thank everybody for their suggestions.  Granted I wouldn't even know where to look and what to change with hex coding.  I didn't have much luck with the weapon part.  I was able to use a tool as a weapon graphic, but the character would not take a step forward and would result to him stepping backwards.  While I wanted to try using the attack animation for the Crasshoppr, I don't know how to find that in the hex editor nor where to apply it to a weapon. I can use the editor provided I know where things are. I tried using the Rommaps you provided, but I can't understand a lick of it.

I did manage, looking through the forums, how to use Bannon's Health command and used it to play the imp song.  I used the hex editor to change the ability from Cure 2 to Imp song and used FF3usme to use bannon's subroutine to show the imp song animation.  However I can only get the ability to work on the party.  I want it to only target the enemy, but I can't figure out how to do it. Can anybody help me figure out how to set the Bannon Health command to affect the enemy party?
[Image: spell-problem.png]
  Find
Quote  

#9
Posts: 377
Threads: 34
Thanks Received: 10
Thanks Given: 7
Joined: Dec 2018
Reputation: 18
Status
Moog
Enemy special animations, like the Crasshopper's note, are handled in FF3USME in the Enemy editor (enemy special animations). However, even though they appear to use the same animation format as weapon animations (which can be found in the Item editor), the two draw from different places... I suspect because the enemy attacks use spell EF and the player attacks use spell EE. Were you to simply copy attack #25 (the musical note special) onto a player weapon, when attacking with that weapon the player would instead perform the Spiraler animation and vanish. This is in part what I was experimenting with when I discovered the various attack animations described in my previous post, and why I was warning you that you wouldn't be able to get the note animation out of the box.

If you've settled on using a spell instead, you're going to need to change up the targeting of the Health command. The command disregards the spell's target data, meaning you can't just set it in the Spell editor. Instead, you must open the Battle Editor, click the pull-down to select Health, and then set its target data with the checkboxes (One side only, auto select one party, cursor starts on enemy).
  Find
Quote  

#10
Posts: 35
Threads: 2
Thanks Received: 0
Thanks Given: 0
Joined: Apr 2018
Reputation: 2
Status
Afterglow
(06-20-2020, 03:43 PM)C-Dude Wrote: Enemy special animations, like the Crasshopper's note, are handled in FF3USME in the Enemy editor (enemy special animations).  However, even though they appear to use the same animation format as weapon animations (which can be found in the Item editor), the two draw from different places... I suspect because the enemy attacks use spell EF and the player attacks use spell EE.  Were you to simply copy attack #25 (the musical note special) onto a player weapon, when attacking with that weapon the player would instead perform the Spiraler animation and vanish.  This is in part what I was experimenting with when I discovered the various attack animations described in my previous post, and why I was warning you that you wouldn't be able to get the note animation out of the box.

If you've settled on using a spell instead, you're going to need to change up the targeting of the Health command.  The command disregards the spell's target data, meaning you can't just set it in the Spell editor.  Instead, you must open the Battle Editor, click the pull-down to select Health, and then set its target data with the checkboxes (One side only, auto select one party, cursor starts on enemy).

Yeh I was experimenting with the animations too and made for some unsuccessful, yet hilarious results.  I'd be more than willing to continue to try to make a harp using that animation, but as I said, I wouldn't know how to do it via the hex editor. 

I do thank you for helping me fix that targeting issue.  That was the one section of the program I overlooked.  I was wondering if there was a way to randomize what status ailments could be inflicted?  For example if the ability had a chance for "blindness" one time, and "stop" for another time?  Does the Toggle Status or hit multiples of success % help out with that at all?
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite