Jump to content

Toggle shoutbox Shoutbox Open the Shoutbox in a popup

@  Rujio : (21 July 2017 - 03:45 PM) I suppose I could do that thing, though I'm not on Discord very frequently. I think over there I spelled my name Rewjeo.
@  Fire Blazer : (21 July 2017 - 01:08 AM) or shout here and I'll probably see it, lol
@  Fire Blazer : (21 July 2017 - 01:07 AM) any of the vets who haven't joined the Discord yet wanna be in it? if so lmk, pm me or something I guess
@  Fire Blazer : (19 July 2017 - 10:06 PM) that should be fixable, tho idk how
@  Fire Blazer : (19 July 2017 - 10:06 PM) wait, guests can post?
@  Rujio : (19 July 2017 - 08:03 AM) (we wouldn't want to bore you)
@  Rujio : (19 July 2017 - 08:03 AM) (to keep things interesting for you, of course)
@  kirant : (19 July 2017 - 05:29 AM) (Can someone explain to me why we still have guest ability to post?)
@  kirant : (19 July 2017 - 05:29 AM) At least this one isn't a guest.
@  Mig64 : (18 July 2017 - 08:51 PM) BudDreache also seems to be a hydra, I'm amazed by how polite each of its heads are.
@  Idiot : (17 July 2017 - 08:12 PM) BudDreache is surprisingly well mannered for a bot.
@  Whitewolf8 : (17 July 2017 - 07:21 PM) +1 bot!
@  Idiot : (16 July 2017 - 03:21 AM) im also a biased fanboy so maybe I'm not the best person to ask :P
@  Idiot : (16 July 2017 - 03:20 AM) I would appreciate a genuine Disney voice cast, but it's never happened before so I won't hold my breath here either lol.
@  Idiot : (16 July 2017 - 03:18 AM) It looks fantastic from a visual perspective. The music definitely holds up to my standards, too. From what I've seen the gameplay is pretty intense...But I won't judge that until I actually play it for myself. I'm pretty damn pumped for this game to be released, I've got very high hopes.
@  Mig64 : (16 July 2017 - 01:13 AM) Also, how good does KH3 look so far, Idiot?
@  Mig64 : (16 July 2017 - 01:12 AM) Lol look at this bot
@  Idiot : (15 July 2017 - 10:02 PM) KH3 confirmed for 2018. Idiot is happy.
@  Idiot : (13 July 2017 - 09:21 PM) Sounds like Oktoberfest came early this year.
@  Rujio : (13 July 2017 - 08:21 PM) This morning there was a Bavarian man I'd never met in the living room playing the accordion.


Simple event editing using Event Assembler

  • Please log in to reply
6 replies to this topic

#1 Nintenlord



  • Members
  • PipPip
  • 15 posts
  • Location:Finland

Posted 03 November 2010 - 06:45 AM

Required knowledge:
-Basic idea of hex and pointers.
-Basic knowledge on Nightmare.
-Other basic knowledge from things like text, graphics and etc editing. Depends on what you want to edit.

Required programs:
-Event Assembler
-Nightmare and Event reference editors.

You will also need the ROM of whatever game you wish to edit, you need to find them on your own. Don't ask for them, it's against the rules. You'll also need a text editor, but since every operating system (Windows/Linux/Mac etc) comes with one, you don't need anything more.

First step is to open the ROM you wish to edit in correct Event References editor. Then search for pointer to the chapter events you wish to edit. I choose to use FE7 prologue for this example, though this applies to every chapter in every GBA FE game Event Assembler supports. Here is what the Nightmare will look like in this case:

user posted image

Now, open Event Assembler. It should something like this:

user posted image

If it looks different, make sure you have at least version 7.2, because this tutorial is impossible/much harder with any of the earlier versions. Anything below 8.0 also requires steps no longer present in this tutorial. First thing you do is copy the offset in Nightmare to the Offset of Disassembling options. Ignore the 0x8 in the beginning when copying. In my case, I would write CA0720. After that, choose the ROM to the input by pressing the upper Browse button. Then choose an empty text file of your choice as your output (Event Assembler create one for you if one doesn't exist) named something like "My FE7 Prologue.txt" without quotes. The .txt part in the end is important, otherwise you can use any valid file name you can think of. Then check the box in disassembly options called "Whole chapter". After this make sure you have everything correctly, make sure you have the right game selected:

user posted image

Now you can proceed by pressing Dissassembly button. The Event Assembler will notify of possible errors or warning, in which case you should make sure you didn't make any mistakes. If Event Assembler is asking you to choose an option, then you forgot to check the "Offset to chapter event pointer list" box. In that case, press cancel, check the box and press disassembly again.

Now we have done everything with Nightmare we need, so close it. Keep Event Assembler open so you don't have to re-choose files. Locate the text file you chose in Even Assembler and open it. It should look like something like this depending on your text editor:

user posted image

If the text looks strange, make sure you have Word Wrap disabled. You can usually find it in options menu:

user posted image

Now, you need to decide what you want to edit. Smaller edits are easier and less likely to screw something up, so stick with those. In this example, I'll be changing the convo backgrounds into something more fitting for Lyn's heritage. However, before you can edit something like this, you must know the Event Assembly code that controls that aspect of the game. If you don't know, open Event assembler language.txt file that comes with Event Assembler and search for the code that does what you need to edit. In my case, I find the BACG code that seems to do what I want to edit:

user posted image

You then search for the code in you Event Assembly. You can use Ctrl+F in most text editors to search for the code you need to edit. However, in most cases you will find that same code is used several times and only one of them is something you wish to edit. In that case, you can use other codes to try to figure out what is the correct place to change things. If that fails, you can always try your luck and edit one code in random and then try again if it isn't what you are looking for. You don't need repeat the beginning steps every time you wish to chance something, you can just continue editing the same text file, just make sure to undo unwanted changes. As for my case, I find five BACG codes in prologue Event Assembly, three of which I want to edit. The ones I want to edit are all the ones with 0x0 after the BACG. Since I feel like Lyn deserves indoor castle garden in her tent, I will change BACG 0x0 to BACG 0x18. However, instead of just deleting the old code I comment it and add a new, nearly identical one like this:

user posted image

This way I can easily restore the code into original state if I change my mind and decide to, for example, that Lyn's tent should have it's own beach or something like that or if I find out I edited the wrong code. Comments are ignored by the Event Assembler, so you don't have to having any extra codes like this. After you have all the changes you want (all 3 in my case), save the changes and close the text editor.

Now it's time to go back to Event Assembler and reinsert the events into the game. This time, you only need to choose the input, output and game, everything else is in the text file itself. And since you left Event Assembler open, all options are already set. If you closed Event Assembler or moved either of the files or want to insert to another ROM or something, you can choose text file, ROM and Game the same way as in earlier step. When everything is set, click the Assemble button:

user posted image

This time, pay attention to the screen that pops up. If any errors and warnings happen, you probably wrote the new code wrong or something else and you need to back to fix them and re-assemble the events. If no errors or warnings happen, then pay attention to the messages:

user posted image

Disassembled codes are set to output the ending offset of both current code and the original when assembled. If the new ending offset is larger than the old, the new code is larger than the old and it means that writing the new code overwrote something after the old code. If you are lucky, it won't be anything important but if it is, you may have made something completely unplayable. If this happens, you may want to consider moving the edited part of the code to somewhere where there is plenty of room. However, that is something better left for another tutorial. For now, if you did overwrite something, just pretend you didn't do it and do your best to be more careful in the future. In my example, Lyn now is a happy new owner of indoor garden:

user posted image

Too bad she never uses the tent again during the game. Lousy, ungrateful b... Anyway, this is how you do event editing the simplest way I know right now. Any comments, suggestion or general feedback on the tutorial, the Event Assembler, just sent them right to me, since I made all of them dry.gif.

No laws of physics were broken in the making of this tutorial. Fitting a large garden inside a tent is quite easy and completely legal. You just need to-- "This is police of physics. Come out with your hands on your head. We have you surrounded." ...I'll finish this later, be right back. *And no more was heard of him.*
QUOTE (Mage Knight 404)
Even the Armads is trembling at your awesomeness. XD

user posted image

Check my FE 7 hack in here.
And while you're at it, check my hacking utilities in here

#2 Fire Blazer

Fire Blazer

    You ready?

  • Creator
  • 12,039 posts
  • Gender:Male
  • Location:U.S.A.
  • Interests:Too many to list. =P

Posted 06 November 2010 - 12:18 AM

Yay, thanks for posting, I'ma add it to the tutorial directory.


Signature thanks to Shu.

#3 Sea Lion

Sea Lion

    Great Member

  • Members
  • PipPipPipPipPip
  • 147 posts
  • Location:Connecticut
  • Interests:I play rugby and run cross country. Beyond that I act and I read alot.

Posted 18 April 2011 - 06:50 PM

Kay, so when I tried to do this I disassembled it but it came out nothing like that, it was really long and it was just CODE then some hex.

Like this:
ORG $379B4C
CODE 0x87 0x77 0x67 0x64
CODE 0x77 0x88 0x86 0x87
CODE 0x88 0x77 0x86 0x88
CODE 0x65 0x56 0x45 0x87
CODE 0x76 0x88 0x88 0x56
CODE 0x87 0x78 0x87 0x86
CODE 0x76 0x57 0x66 0x76
CODE 0x66 0x66 0x78 0x87
CODE 0x65 0x85 0x88 0x88
CODE 0x78 0x68 0x88 0x88
CODE 0x78 0x68 0x87 0x88
CODE 0x87 0x66 0x77 0x88
CODE 0x46 0x65 0x65 0x88
CODE 0x88 0x88 0x48 0x86
CODE 0x77 0x87 0x88 0x58
CODE 0x87 0x77 0x87 0x68
CODE 0x76 0x75 0x67 0x76
CODE 0x88 0x88 0x87 0x88

And that goes on for like a gazillion pages. What happened?

#4 Fire Blazer

Fire Blazer

    You ready?

  • Creator
  • 12,039 posts
  • Gender:Male
  • Location:U.S.A.
  • Interests:Too many to list. =P

Posted 18 April 2011 - 11:54 PM

You diassembled at the wrong offset. I don't know where you got your offset from but it's not anywhere even near the events. Events are at 0xCA____ and 0xCB_____, so if your offset doesn't start with one of those two, it's wrong. D=


Signature thanks to Shu.

#5 Sea Lion

Sea Lion

    Great Member

  • Members
  • PipPipPipPipPip
  • 147 posts
  • Location:Connecticut
  • Interests:I play rugby and run cross country. Beyond that I act and I read alot.

Posted 19 April 2011 - 11:57 AM

Huh, that's weird cause I got the offset from nightmare.... I'll mess around with it in a bit, thanks.

Edit: So I used the offset that's in the tutorial and it all worked fine, but I don't know why my nightmare is giving me the wrong offsets now....

#6 xcrash1998



  • Members
  • Pip
  • 1 posts

Posted 16 April 2017 - 02:00 PM

Hey Nintenlord I just joined the community and wanted to download Event Assembler but doesn't work(the file is not in dropbox) . How can I get it? Or is there something else I can use?

#7 Whitewolf8


    The goldfishest memory ever

  • Members
  • PipPipPipPipPipPipPipPip
  • 492 posts
  • Gender:Not Telling
  • Location:Cabbage

Posted 25 April 2017 - 08:45 AM

If you're still looking for it~



it's a newer version though so i've no idea what's different.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users