Event IDs' Location in RAM

Does anyone know where the data for the event IDs(especially the permanent ones) are stored/loaded into ram? Or if there’s a pointer that points to them?

Permanent Event IDs (ID greater than 0x63) are stored at $03004AD0, and nonpermanent Event IDs are stored at $03004AD8; each Event ID is stored as a bit in these locations.

FE8 stores permanent Event IDs at $03005250 and temporary Event IDs at $03005270.

1 Like

Could we get all of the ones past 0x65 actually work? Some are tied to tutorials, some just plain don’t work.

I recall having a list of the ones that do/don’t work on FEU – but a cursory search turns up nothing. Halp?

http://tebrigade.b1.jcink.com/index.php?showtopic=2302

[Cam’s doc on it][1]
[1]:https://dl.dropboxusercontent.com/u/12592553/Cam’s%20Notes/Fire%20Emblem/FE7/Documentation/Events/Event%20IDs.txt

Bumping this to say that in FE8, it appears that event ID #0x6 always reverts back to false right after it is used. So, well, just be careful when using that.

Event Id 0x06 is the ID triggered in FE8 when all enemy units are defeated, by the by, which is why manually setting it doesn’t work.

1 Like

for anyone interested, the functions for checking the event ID’s are at 0x80798F8 for FE7 and 0x80836C0 for FE8. Pass the desired ID in via r0

Correction, it’s 0x8083C60 and it only checks temporary IDs. Use 0x8083DA8 to check both temporary and permanent IDs.

1 Like

Yet another reason FE8 is superior to FE7:

If you are a smart person, unlike me, you may notice that there’s only 8 bytes allocated for permanent event IDs. Since they begin at 0x65 (not 0x63; 0x63 is still temporary, and 0x64 appears to be neither for some reason), that means permanent event ids only will be saved up to 0xA5 (0x65+0x40=0xA5). Anything after that starts overwriting the temporary ones, and those, of course, get cleared at the end of the chapter. Maybe some of the glitches that seem to randomly occur are a result of this?

Why is FE8 better? Because FE8 allocates 0x20 bytes for permanent events IDs. It probably doesn’t save them all, but at least they can’t start overwriting the temporary ones.

Also, the function to set event ids is at (FE7) 798E4/(FE8) 83D80; pass in the desired ID via r0.

2 Likes

Alas, if only @Crazycolorz5’s save expansion hack were operational then FE7 could be modified to save more event IDs and then I could spend the rest of eternity adding new shit to EN.

Update: FE7 event id 0x91, if set, makes it so things like the boss icons, status effects, etc don’t show on the map. Write 05 E0 to 25BC6 to skip this (I’m assuming it’s a leftover debugging thing).

Summary:
0x00-0x27 - Temporary IDs, work exactly as intended (0x0 is always 0, 0x1-0x7 are reserved, I think)
0x28-0x3F - Temporary IDs that also work, but don’t get reset when beginning a new chapter unless you suspend and resume.
0x40-0x63 - Should be temporary, but there’s data here they would go. Don’t use these.
0x64 - Got kicked out of both Temporary Club and Permanent Club. Sorry, kid.
0x65-0xA4 - Permanent IDs, work exactly as intended (0x65 is Game Over, 0x91 is reserved for above, and some others might be reserved?)
0xA5-0xFF - Should be permanent, but actually start overwriting the temporary ones, so don’t use these.

4 Likes