Posted: 5th March 2006 18:00
|
|
![]() Posts: 3 Joined: 5/3/2006 ![]() |
Hello there,
Was just wondering if I could get some help with altering a Final Fantasy 6 rom. I don't know anything about assembly but I do have a hex editor and kind of understand how it works. My main goal is to make Swordtech a bit more useful. I find that the time it takes to charge up to the final skill takes much too long. Ideally, it would be great if there was a method in which I could turn Quadra Slice and Cleave into separate battle commands. An example would be the battle command "Shock". I would be willing to sacrifice Slots and GP Rain with the two sword skills that I mentioned. That being said though, any alternative would be welcomed. Selecting the sword skills much like a magic spell, just a sped up swordtech bar... anything would be great. Apologies if I'm asking for the impossible. I know nothing of hacking. I was merely doing a rewrite using premade tools I found on various websites. Thanks for the time. |
Post #109940
|
Posted: 5th March 2006 18:46
|
|
![]() Posts: 1,640 Joined: 21/6/2004 Awards: ![]() ![]() ![]() ![]() ![]() |
What you want to do is very possible, but most of the ways I can think of doing it would be very tedious. I think the best way to do it would be to change the pointer for SwdTech to that of MagiTek. If you tell the SwdTech command to read from the code that sets up the menu for the MagiTek command, it should let you pick from those 8 skills at will. Of course, this is just theory and I haven't tried that before.
Let's wait to see what SilverLance suggests. Oh, and welcome to the caves! ![]() -------------------- Is PJ |
Post #109949
|
Posted: 5th March 2006 19:20
|
|
![]() Posts: 2,350 Joined: 19/9/2004 Awards: ![]() ![]() |
Well, we'll have to get something straight first. If you're using premade tools, you're going to have to consider investing effort learning at the very least some basic assembly to work on something like this (depending on what you'd want to do and which commands you'd be willing to give up to use as a template, it could get a little complicated.)
You do have one tool-driven alternative: substitute a spell/whatever by these two commands. Unfortunately ('less I forgot something; I'm a little rusty on hacking spells) you'll be stuck with the original animation (ie, the fire animation if you replace Fire 1.) Not very acceptable. The second-simplest way to go about doing this would be substituting a command in an existing skillset by changing one of its abilities for Quadra Slam or Cleave. You might have to edit the names of the abilities (I don't think they would show up otherwise in a menu) but other than that, it should go off without a hitch. Given your experience with hands-on wading through a sea of hex and assembly mnemonics, this is probably the best way to do this right now. Finally, you could outright hack the command so that it behaves like you want it to. However, this is pretty heavy work. It's far from impossible though. Heck, my hack had a number of hacked commands, and I'm most certainly not the Chosen One of 65816 assembly, so it's not like it's too big a deal. IF you know what you're doing, and are comfortable with assembly enough to know exactly how the game expects a menu-driven interface to behave in battle. Caesar's MTek suggestion is the best way to implant the second suggestion. No assembly required, just some data editing. I did the exact same thing in my hack to have an elemental sword skill replace SwdTech and it worked 100% fine. If this interests you, I can dig through my notes for that project sometime this afternoon and give you a quick primer on doing just that. Of course, this means you'll screw up the opening event because of the magitek suits Terra and co ride in, so beware. I've never had that problem because my hack changed event scripts to have a scene of its own in that spot, but early tests back before I axed the scene were a terrible pain. :x This post has been edited by Silverlance on 5th March 2006 19:21 -------------------- "Judge not a man by his thoughts and words, but by the quality and quantity of liquor in his possession and the likelyhood of him sharing." |
Post #109951
|
Posted: 7th March 2006 08:09
|
|
![]() Posts: 3 Joined: 5/3/2006 ![]() |
Caesar>>
Thanks for the quick reply and welcoming commity act. LoL. Much appreciated. Silverlance>> Approach 2 does sound to be the easiest way to go. However, as you pointed out, MagiTek is used at a couple moments in the game which cannot be avoided. The intro, poisoining of doma etc.... So I guess it would be better to replace something like Rage or Dance. Any instructions in this approach would be much appreciated. As for the "outright hack" method, I'm willing to give it a go. I've been reading up a bit on this matter, which is why I didn't respond immediately to your post. I do have some experience with SPARC assembly, but I am by no means a strong programmer. I used something called "spcdas" to convert the rom I was using into a ".s" file and was able to look at the code. I'm not even sure if I did that properly. LoL. (Now I gotta figure out how to convert the stuff back to the rom format. LoL). That being said, some of the code does look a bit familiar and I am not opposed learning how to create my own commands. So I guess if you're willing to teach, I'm all ears! I would like to try that easier method first though. If things work out well enough there, it would save alot of time. Thanks for the help thus far. |
Post #110123
|
Posted: 8th March 2006 05:07
|
|
![]() Posts: 2,350 Joined: 19/9/2004 Awards: ![]() ![]() |
Unfortunately, I'm not willing to teach.
![]() ![]() By the way, the SPC7000 has its own language considerably different (and actually, somewhat better) than the 65816. Don't base yourself on that. ![]() Creating your own commands is no simple task. It's best left up to experienced assembly hackers, but don't let that discourage you. It's as "simple" as expanding the command jump table and finding enough free space to write your own code. The hard part is being familiar enough with the game's code to actually write your own stuff without screwing things up (for instance, knowing how WRAM is laid out in battle, or making use of the window routines in the C1 bank.) You might be able to edit dances because it works almost the same as MTek. The changes would have to involve removing the check for which dances were learned (probably as simple as substituting the address read from for the SwdTech one, haven't given it a look since I'm a little pressed for time), not setting Dance status, and immediately running the proper "spell" and exiting the command. IIRC, this is all handled in bank C1. -------------------- "Judge not a man by his thoughts and words, but by the quality and quantity of liquor in his possession and the likelyhood of him sharing." |
Post #110199
|
Posted: 9th March 2006 17:50
|
|
![]() Posts: 3 Joined: 5/3/2006 ![]() |
Kool. Thanks for the tips Silverlance. Very helpful.
|
Post #110293
|