Jump to content



Toggle shoutbox Shoutbox Open the Shoutbox in a popup

@  Oblivion Knight : (26 February 2024 - 11:30 AM) Whoa I can edit a typo. The technology.
@  Oblivion Knight : (26 February 2024 - 11:29 AM) Obligatory message.
@  Elwood : (02 January 2024 - 04:19 AM) Happy New Year!!!
@  Aaron : (13 February 2023 - 09:19 PM) I'm still out here alive. If you remember me, I hope you're doing well!
@  Aaron : (13 February 2023 - 09:09 PM) 2023 and this place is still up huhh
@  Elwood : (05 January 2023 - 07:58 AM) Ah a Christmas greeting from Wolfie! Even if I saw it way late Merry Christmas and Happy New Year to everybody!
@  Cero : (31 December 2022 - 09:27 PM) Man that bot went crazy
@  Whitewolf8 : (24 December 2022 - 10:02 AM) I return once more on the eve of Christmas to haunt you all again!... Mainly Elwood. Hello!
@  Elwood : (25 November 2022 - 04:58 AM) A bot! Ah the nostalgia!
@  Elwood : (02 November 2022 - 02:30 PM) Yo ho ho ho! Thar be the white wolf!
@  Whitewolf8 : (24 October 2022 - 12:29 AM) Well, blimey it's been a while. Hoy there! If anyone's still alive here anyway.
@  Valke : (21 April 2022 - 12:12 PM) im taking the 2nd shout of 2022 😂
@  Elwood : (03 March 2022 - 10:12 PM) Mwuhahaha! The first shout of 2022 is mine!
@  Fire Blazer : (12 November 2021 - 05:22 PM) *also stretches arms a little*
@  xcrash1998 : (07 November 2021 - 08:42 PM) "streches arms"
@  Ezra : (07 May 2021 - 05:20 AM) Maybe I'll pop on the discord soon
@  Fire Blazer : (01 April 2021 - 08:08 PM) Aaaaaaand done~ :P
@  xcrash1998 : (29 March 2021 - 08:52 AM) I guess we are one more post away from counting to 2500
@  Fire Blazer : (10 March 2021 - 11:39 PM) but I have bad memory and can't remember ;(
@  Elwood : (15 February 2021 - 10:23 AM) I'd like to but I've told you about my issues with discord before.

Photo

Simple event editing using Event Assembler


  • Please log in to reply
6 replies to this topic

#1 Nintenlord

Nintenlord

    Member

  • 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.

Disclaimer:
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,103 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.

Bblazer2.png

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
CharacterBasedEvents:
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,103 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=

Bblazer2.png

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

xcrash1998

    Member

  • Members
  • PipPipPipPip
  • 81 posts
  • Gender:Male
  • Interests:Smash4, Computer Science(Programming),Drawing and Fire Emblem Hacking

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

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~

https://www.dropbox....11.0.1.zip?dl=0

 

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


d1e502f831c13190dd34a16b376298af%20-%20C

WELCOME TO AUSTRALIA, HERE'S YOUR COMPLIMENTARY

DIAL-UP INTERNET AND OVERLY-POISONOUS ARACHNID





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users