Users browsing this thread: 1 Guest(s)
Event Editing, Help A Noob Plz~

#1
Posts: 67
Threads: 8
Thanks Received: 2
Thanks Given: 11
Joined: Apr 2010
Reputation: 0
Status
None
So, I'm sitting down to start my first piece of event editing. I've got the recommended things, like Level Editor, Windhex and all that. Currently, I'm just starting out with the intro, you know the bit where we assign the properties of Terra, Wedge, and Biggs. Now, I'm at the spot in the rom on Windhex where this event takes place, and I see the values that match up with the dump of the event values. However, what's boggling my mind is I don't see how to really... change them? For example, I'm wanting to replace Biggs with the character in my Leo slot and want to Wedge to have my Banon's sprite, along with changing their preferred palette's. So, how exactly do I go about making these changes?

[Image: T8NoWgy.png?1]
  Find
Quote  

#2
Posts: 242
Threads: 19
Thanks Received: 101
Thanks Given: 105
Joined: Dec 2018
Reputation: 18
Status
Moog
Download a copy of Zone Doctor. We won't be doing any actual editing in Zone Doctor, because it has a bug that changes all pointers to the CA bank, which will irreparably break your game if you save. However, in terms of actually understanding the event code and its commands, it is extremely helpful.

Once you have Zone Doctor, open a 'copy' of your ROM (make absolutely sure it's not the original in case you accidentally click save) and open the event editor. Within is an option to create a text dump of the event code. This dump is annotated slightly differently than the one available on the wiki resources, and more importantly it has ALL of the hex values (instead of the first value for each command).

Open that text dump in Notepad or preferably Notepad++. Do a search for CA5E33, which is where the game starts. At CA5E49, guest Actor E is assigned name $20, WEDGE. There's three hex values that do this, 7F-0E-20. 7F is the Assign Name command, $0E is the actor slot that is having its name assigned, and $20 is the actor name slot that is being affixed.

The command that follows it is "40-0E-20". Command 40 is the Assign Properties command, which gives the actor the character profile attached to it. For instance, in this case actor $0E (guest 1) gains the properties of character profile $20, which has Wedge's stats, levels, and commands.

Code:
CA5E33: {A9}                  Show title screen
CA5E34: {7F-00-1D}            Change character $00's name to $1D (?????)
CA5E37: {40-00-00}            Assign properties $00 to character $00 (TERRA)
CA5E3A: {3D-00}               Create object $00
CA5E3C: {3F-00-01}            Assign character $00 (TERRA) to party 1
CA5E3F: {37-00-00}            Assign graphics $00 to object $00 (TERRA)
CA5E42: {43-00-02}            Assign palette $02 to character $00 (TERRA)
CA5E45: {D4-E0}               Set event bit $1E80($2E0) [$1E9C, bit 0]
CA5E47: {D4-F0}               Set event bit $1E80($2F0) [$1E9E, bit 0]
CA5E49: {7F-0E-20}            Change character $0E's name to $20 (WEDGE)
CA5E4C: {40-0E-20}            Assign properties $20 to character $0E (Actor in slot 14)
CA5E4F: {3D-0E}               Create object $0E
CA5E51: {3F-0E-01}            Assign character $0E (Actor in slot 14) to party 1
CA5E54: {37-0E-0E}            Assign graphics $0E to object $0E (Actor in slot 14)
CA5E57: {43-0E-01}            Assign palette $01 to character $0E (Actor in slot 14)
CA5E5A: {7F-0F-21}            Change character $0F's name to $21 (VICKS)
CA5E5D: {40-0F-21}            Assign properties $21 to character $0F (Actor in slot 15)
CA5E60: {3D-0F}               Create object $0F
CA5E62: {3F-0F-01}            Assign character $0F (Actor in slot 15) to party 1
CA5E65: {37-0F-0E}            Assign graphics $0E to object $0F (Actor in slot 15)
CA5E68: {43-0F-01}            Assign palette $01 to character $0F (Actor in slot 15)
Graphics and palettes are handled the same way, and are typically assigned right after object creation, before a character is even placed in a party.
Vanilla Banon has the 17th set of graphics ($11), so to give someone his graphics, you'd set up a command like 37-0E-11. He uses palette 3 by default, so to give someone his palette you'd set up a command like 43-0E-03. For your case, those changes would go at CA5E65 and CA5E68.
  Find
Quote  
[-] The following 1 user says Thank You to C-Dude for this post:
  • Alby4t5 (08-18-2020)

#3
Posts: 2,306
Threads: 91
Thanks Received: 323
Thanks Given: 295
Joined: Aug 2009
Reputation: 44
Status
Nattak\'d
Just to cover all bases, to actually make the changes in the hex editor, WindHex in this case, all you gotta do is click on the byte you want to change there in the endless sea of bytes, so it begins flashing and is highlighted, then simply type in the new value(s) using the keyboard and watch it visually change. Then of course save once your done to make the changes stick. If this is indeed part of what you were wondering, I'd recommend checking out a basic hex editing tutorial to pick it up fast: https://www.youtube.com/watch?v=L3BwXbRDQM4

And be sure to check out the event hacking tutorials on the wiki if ya haven't already Smile.
https://www.ff6hacking.com/wiki/doku.php...ial:events


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:
  • Alby4t5 (08-18-2020)

#4
Posts: 67
Threads: 8
Thanks Received: 2
Thanks Given: 11
Joined: Apr 2010
Reputation: 0
Status
None
Thanks to you both, I was able to get the characters I needed in my intro. I guess the next step is going to be placing them where I need them to be. For example, I need Terra to have more of a presence in this scene, while Wedge is the more quiet and stupefied one. Am I correct in assuming to make this possible, I should swap Wedge's character data with Terra's in the hex editor?
  Find
Quote  

#5
Posts: 2,306
Threads: 91
Thanks Received: 323
Thanks Given: 295
Joined: Aug 2009
Reputation: 44
Status
Nattak\'d
That'd be one way, to simply swap the two. But then like it would stay that way once you arrive into Narshe and then on. But yes you can do that.


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:
  • Alby4t5 (08-18-2020)

#6
Posts: 67
Threads: 8
Thanks Received: 2
Thanks Given: 11
Joined: Apr 2010
Reputation: 0
Status
None
Gross, so what would be another way? I don't see a way to edit the scene further unless there's something I'm (more than definitely) missing.
  Find
Quote  

#7
Posts: 2,306
Threads: 91
Thanks Received: 323
Thanks Given: 295
Joined: Aug 2009
Reputation: 44
Status
Nattak\'d
Which scene are we talking about here, the first event there on the cliff with Magitek Armors? I'm not sure what all you'd like to do there, but if it's just having the Terra character have more presence, then yeah swapping her with Vicks or Wedge there just for that scene would work well, there's not all that much more I'd imagine could be done there because of how small the cliff map is and how much space the Mtek Armors are.
You can just switch them back after the map fades out before the trek through Narshe if you don't want them swapped past the cliff. Would just require jumping to some free space, but that's another thing.

Maybe experiment swapping them and see if it works out in any way, if not then some more thorough eventing will most likely be needed!


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:
  • Alby4t5 (08-18-2020)

#8
Posts: 67
Threads: 8
Thanks Received: 2
Thanks Given: 11
Joined: Apr 2010
Reputation: 0
Status
None
Yeah, I wasn't planning on anything major. We're talking the intro cliff, wherein my "Terra" isn't under control or anything whereas Wedge is for the time being. I merely need Terra to be moving instead of Wedge and speaking/overlooking the cliff in his spot.
  Find
Quote  

#9
Posts: 15
Threads: 4
Thanks Received: 2
Thanks Given: 2
Joined: Jul 2020
Reputation: 2
Status
None
(08-18-2020, 07:21 PM)Alby4t5 Wrote: Yeah, I wasn't planning on anything major. We're talking the intro cliff, wherein my "Terra" isn't under control or anything whereas Wedge is for the time being. I merely need Terra to be moving instead of Wedge and speaking/overlooking the cliff in his spot.

If you just need them to switch position and actions, you don't need to switch their character data, just the actor identifier byte that opens their action queues.

Code:
CC/9915: 0E    Begin action queue for character $0E (Actor in stot 14), 4 bytes long (Wait until complete)
CC/9917: D5        Set vehicle/entity's position to (12, 21)
CC/991A: FF        End queue
CC/991B: 3C    Set up the party as follows: $0E (Actor in stot 14), $0F (Actor in stot 15), $00 (Actor in stot 0), $FF (<Invalid Character>)
CC/9920: 0F    Begin action queue for character $0F (Actor in stot 15), 4 bytes long (Wait until complete)
CC/9922: D5        Set vehicle/entity's position to (10, 21)
CC/9925: FF        End queue
CC/9926: 00    Begin action queue for character $00 (Actor in stot 0), 4 bytes long (Wait until complete)
CC/9928: D5        Set vehicle/entity's position to (11, 23)
CC/992B: FF        End queue


Starting here where they're originally placed in the scene, anywhere you see "Begin action queue for character $0E", change the $0E to $00, and vice versa change character $00 to $0E.  This will give Terra ($00) all of the action queues originally given to Wedge ($0E) and Wedge all the action queues originally for Terra ($00).
  Find
Quote  
[-] The following 1 user says Thank You to Fast Moon for this post:
  • Alby4t5 (08-19-2020)

#10
Posts: 67
Threads: 8
Thanks Received: 2
Thanks Given: 11
Joined: Apr 2010
Reputation: 0
Status
None
(08-18-2020, 10:10 PM)Fast Moon Wrote:
(08-18-2020, 07:21 PM)Alby4t5 Wrote: Yeah, I wasn't planning on anything major. We're talking the intro cliff, wherein my "Terra" isn't under control or anything whereas Wedge is for the time being. I merely need Terra to be moving instead of Wedge and speaking/overlooking the cliff in his spot.

If you just need them to switch position and actions, you don't need to switch their character data, just the actor identifier byte that opens their action queues.

Code:
CC/9915: 0E    Begin action queue for character $0E (Actor in stot 14), 4 bytes long (Wait until complete)
CC/9917: D5        Set vehicle/entity's position to (12, 21)
CC/991A: FF        End queue
CC/991B: 3C    Set up the party as follows: $0E (Actor in stot 14), $0F (Actor in stot 15), $00 (Actor in stot 0), $FF (<Invalid Character>)
CC/9920: 0F    Begin action queue for character $0F (Actor in stot 15), 4 bytes long (Wait until complete)
CC/9922: D5        Set vehicle/entity's position to (10, 21)
CC/9925: FF        End queue
CC/9926: 00    Begin action queue for character $00 (Actor in stot 0), 4 bytes long (Wait until complete)
CC/9928: D5        Set vehicle/entity's position to (11, 23)
CC/992B: FF        End queue


Starting here where they're originally placed in the scene, anywhere you see "Begin action queue for character $0E", change the $0E to $00, and vice versa change character $00 to $0E.  This will give Terra ($00) all of the action queues originally given to Wedge ($0E) and Wedge all the action queues originally for Terra ($00).

Thank you SOOOO much! This is working exactly as I need it too! You've all been such a big help to me!

I know I'm probably being annoying, but I need a small bit more help to finish setting the scene of Narshe.

So, I expanded my rom. Now, I've got a new question. After finishing up the intro on the cliff, during the transition, I'd like to have the party members out of the Magitek Armor.

I'm pretty sure I know the coding for that from what I read in the event script doc, but now I'm in new frontier of needing to learn how to find a batch of free space (It shouldn't need to be too big, right?) and how to actually... make it connect to when they enter lower Narshe.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite