Eventing for Dummies

Vocabulary

Before we embark on our quest to use the Event Assembler, I’d like to go over some vocabulary. Some of this is basic hacking terminology, some of it is exclusive to the Event Assembler. I’d hope that the more basic terms are ones you’re already familiar with, so I’m not going to go in-depth explaining basic hacking concepts.

Variable: An integer with some defined value. Variables can be manually defined as words, making translation between what the game recognizes and what humans recognize easier (using one of the EA’s features). For example, using the definitions feature, one can write “Lyn,” (a variable) which we recognize, while the game will read it as “0x16,” which the game recognizes as Lyn.

Parameter: A value selected by a user that modifies the code’s effect. Parameters will always be variables.

CODE Parameter1 Parameter2 Parameter3

Pointer: Within an EA event file, pointers are used to reference events. Pointers are mostly “Event Headers” (defined below), but can be input as raw offsets as well (GBA hackers should understand offsets, it’s one of the hacking basics). We’ll get more in-depth with the event codes later, but pay attention to the second parameter here.

VILL 0x05 Event1 .....

“Event1” is what we’re telling the game to read when this village event is triggered. When the assembled, the game will read that “Event1” as an offset…

Label: …becaused Event1 is a label. A word placed before a series of event codes as a reference-point for a pointer.

Event1:
CODE Parameter
CODE Parameter
ENDA

If Event1 is referred to in the event file as a pointer, the game will read this code in whatever way it’s referenced. Labels are used before events, groups of units, basically any data that you play to reference (which should be everything). The above example used a village, so when that village is triggered whatever events you have under this label will be triggered.

Raw Code: The basic form of data written for the Event Assembler. This is raw code:

TEX1 0x0815
REMA
ENDA

Comment: A comment in the Event Assembler is denoted by two slash signs, ‘//’. The EA will ignore all text after // on a given line. You can also use /* and */ (the first starts a comment, the second ends it).

Text(0815) //Everything after this is ignored by the EA. I like cake more than pie, and the EA can't respond to the greatest debate mankind has ever known! BWAHAHAHAH!
MNCH /* Comment in-between code? Yesz! */ 0x05