Users browsing this thread: 1 Guest(s)
How to remove/wedge-vicks and m. tek armor?

#1
Posts: 14
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Jul 2015
Reputation: 0
Status
None
Hey, In, my hack I'm working on, I will most likely need to remove Vicks/Biggs Wink and Wedge, as well as the Magitek armor in the Narshe area.
(I'm pretty sure It's possible ._.)
How would I do that?
Any help is appreciated.
  Find
Quote  

#2
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
Hello and welcome.
Firstly, you will need to grab a hex editor, we have a couple linked in the tools thread here:

https://www.ff6hacking.com/forums/showth...09#pid2709
under: Other Utilities you'll see them, WindHex and HxD.

Then you should get the event dump text document: http://www.romhacking.net/documents/539/

This document is very helpful and important for editing events, obviously. Biggs and Wedge are being created and placed into the party via event code. So you will need to find where that is in the event dump. To make finding what you want easier just do a search (control+f) and search for a word basically that you know is associated with the event you'd like to edit. So searching for: 'Wedge' brought me to CA/5E49, this is the intro that plays before the very first scene of them up on the Narshe cliff, and this is where they are created and assigned graphics, palette, and placed into the party. Will look like this:

CA/5E49: 7F Change character $0E's name to $20 (WEDGE )
CA/5E4C: 40 Assign properties $20 to character $0E (Actor in stot 14)
CA/5E4F: 3D Create object $0E
CA/5E51: 3F Assign character $0E (Actor in stot 14) to party 1
CA/5E54: 37 Assign graphics $0E to object $0E (Actor in stot 14)
CA/5E57: 43 Assign palette $01 to character $0E (Actor in stot 14)
CA/5E5A: 7F Change character $0F's name to $21 (VICKS )
CA/5E5D: 40 Assign properties $21 to character $0F (Actor in stot 15)
CA/5E60: 3D Create object $0F
CA/5E62: 3F Assign character $0F (Actor in stot 15) to party 1
CA/5E65: 37 Assign graphics $0E to object $0F (Actor in stot 15)
CA/5E68: 43 Assign palette $01 to character $0F (Actor in stot 15)
CA/5E6B: 3C Set up the party as follows: $00 (Actor in stot 0), $FF (), $FF (), $FF ()
*CA/5E70: 46 Make party 1 the current party (keep this one in!)
CA/5E72: 89 Inflict the following status ailments on character $00 (Actor in stot 0): M-Tek
CA/5E76: 89 Inflict the following status ailments on character $0E (Actor in stot 14): M-Tek
CA/5E7A: 89 Inflict the following status ailments on character $0F (Actor in stot 15): M-Tek

Now I'm not sure if you want to keep that cliff scene in-tact, but it sounds like not, so in this case you can just put FD for all those bytes that are associated with Biggs and Wedge there - FD is a byte that will tell the game to read what's next, so you can use it to remove certain parts of event code like this. Here you would want to 'FD out' everything in the code I pasted, from CA/5E49-CA/5E7D to prevent Biggs and Wedge from being created and joining the party, as well as removing the Magitek Armor status from being inflicted, as you see at the end of that code. To get to this address in particular, you would do an offset search for: A5E49. That should lead you right to the code I posted. If it doesn't, then your ROM most likely has a header and that means the address would need +200 added to it, so it would then be at A6049.

Or, if you wanted to be more organized about it instead of having many FD bytes, and have some free space, you could use a jump instead: B2 XX YY ZZ
for instance at CA/5E49 where it had created Wedge, you can use a jump to CA/5E7E (right after the code that would be removed) which would be:
B2 7E 5E 00 and then everything in between becomes free space...but for this endeavor I would personally just use FD bytes to skip all that code, as jumps are a little more advanced and harder to grasp at first, at least in most cases. If you are interested in how jumps work, just know that B2 is the jump command, and then you put the last byte of the address you are jumping to first, then the middle byte, then the bank. And for the bank byte it goes
CA = 00, CB = 01, CC = 02, etc. etc. In Windhex, you can go to: option>display offset as>SNES HiROM, this will make the 'C' appear on the left of the addresses, just to make it look like the event dump addresses is all. It's fine without doing this though.

Just be sure to put an FE byte after the jump so it won't come back and read what's next once it reads an FE in the new location. As Madsiur recently noted to me B2 is technically a 'call' and not a 'jump'. And FE is the byte that ends events, but it also more importantly 'returns' to previous code, if any. So if you are jumping around using B2, it might boomerang back you see...

I'm kinda going overboard though trying to teach this, but it is related to the question and it is a must know for event hacking... But you should just use FD bytes to remove/bypass the code I posted, this would answer your question.

I suggest getting more familiar with the event editing process by watching/reading the helpful event related tutorials here:
https://www.ff6hacking.com/forums/forumd...php?fid=25

I'm not sure of your experience with using hex editors and if any of this makes since right away, so if you have anymore questions/need some help please don't hesitate to ask. If you are a beginner this may seem like it's difficult but it's really not once you become familiar with hex editing and searching for event addresses, and a general understanding of how the event code works.

*EDIT: you will at least want to keep this somewhere in there, my bad:
CA/5E70: 46 Make party 1 the current party

And ALSO I should note that you will have to go about editing all the events in Narshe that Biggs and Wedge are included in as well, or the game will freeze when trying to load a character that is no longer created in the party...


We are born, live, die and then do the same thing over again.
Quote  
[-] The following 2 users say Thank You to Gi Nattak for this post:
  • CrumpledMedal (07-16-2015), URNext7634 (07-16-2015)

#3
Posts: 471
Threads: 39
Thanks Received: 6
Thanks Given: 6
Joined: Aug 2010
Reputation: 3
Status
Runic
Go get a hex editor and locate this information. The "C" stand for 00-it's a placeholder.
CA/5E72: 89 Inflict the following status ailments on character $00 (Actor in stot 0): M-Tek
CA/5E76: 89 Inflict the following status ailments on character $0E (Actor in stot 14): M-Tek
CA/5E7A: 89 Inflict the following status ailments on character $0F (Actor in stot 15): M-Tek

Thanks to Astaroth and Synchisi for this info. They get the credit, not me.

If you have a headered rom add an extra $200 to find the proper address that controls the effect, if you have a headered rom, if not it should be the exact address i stated.

Now Magitek is a status in battle, you must put the value 88(to tell the game to remove a status) in place of 89(Magitek status) and this removes the gigantic armor from the battle and the battles play out as normal, just be sure to put value 88 on the other 3 bytes in the string as well which correspond to Actors, 00 Terra, 0E Vicks and 0F Wedge. This removes Magitek status in battle.

Remove Vicks and Wedge is kind of difficult without a hex editor, you can replace them with another sprite using ff3usme and changing their names. To remove the characters from the game would require some hex editing.
  Find
Quote  
[-] The following 1 user says Thank You to CrumpledMedal for this post:
  • Gi Nattak (07-17-2015)

#4
Posts: 14
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Jul 2015
Reputation: 0
Status
None
Thanks a lot for the quick reply! I have removed the intro and the narshe cliff scene. I am SUPER inexperienced at hex editing/events/stuff so I will probably be spamming the forums with questions Smile

(I'm trying out the edit now)
  Find
Quote  

#5
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
No problemo, please do! There is quite a learning curve involved but I'm sure we can help you to understand and get up and running with some of this.
And very rarely do things work out the first time, so I'm prepared lol. This is a great one to start with though I must say, getting used to event & hex editing in general.


We are born, live, die and then do the same thing over again.
Quote  

#6
Posts: 14
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Jul 2015
Reputation: 0
Status
None
so... what would I type into "goto to offset?" (for windhex)
  Find
Quote  

#7
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
Search for: A5E49
With Windhex you can go to: option>display offset as>SNES HiROM, this will make the 'C' appear on the left of the addresses, just to make it look like the event dump addresses to make it easier to match it up. But tt's fine without doing this though, just know that you do not need to include the first C in the address when doing a offset search. To sum this up, to get to address CA/5E72 via an offset search, input A5E72.

If it doesn't bring you to the right spot as shown (should be 7F 0E 20) than your ROM most likely has a header (200 extra bytes at the very start of the ROM), so you would need to add +200 to the address, which would be then A6072. You can remove the header if need be to make it easier.
But yes try searching A5E72 and see if it brings you to the right place.

I g2g here for a couple hours but I'll be back to help out more if needed, others can as well in my stead I'm sure.

EDIT: Meant to say address CA/6049 not CA/6072, but you get the idea.


We are born, live, die and then do the same thing over again.
Quote  

#8
Posts: 14
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Jul 2015
Reputation: 0
Status
None
I'm trying and I can't find the "7F". Here's a screenshot. What am I doing wrong?

[Image: p0FY1z7.png]
  Find
Quote  

#9
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
I can see the command in your screenshot. Your ROM has a header.

CA5E49 + 200h = CA6049. That's the offset you need to go.

Also, don't put images too larges in your post as they break the forum width. You can resize them. As an example, using the tag [img=600x300] would scale down your image to 600x300 (width x height).

Edit: You might want to try Zone Doctor as it can edit events. Not sure if all bugs have been fixed, but it's a great tool nonetheless for new people that are unfamiliar with events in general.
  Find
Quote  

#10
Posts: 14
Threads: 1
Thanks Received: 0
Thanks Given: 1
Joined: Jul 2015
Reputation: 0
Status
None
Oh ok lol. Kind stupid about the header lol. Thanks!
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite