FE Modding: On the State of the Art

http://feuniverse.us/t/fe8-the-grand-eventing-wiki-chapter-construction-guide-wip/1594

This wiki

if we had better buildfile tools than event assembler then it would be easier

i think we can generalize these two approaches to the ā€œbuildfileā€ (ā€œsource codeā€?) approach and the ā€œin placeā€ approach. Klok mentions the problem of ā€œconvertingā€ to EA, but thatā€™s the wrong way to think about it ā€“ you donā€™t really ā€œconvertā€ an existing project to using an EA buildfile (you may s well just start from scratch). A buildfile is just ā€œsome computer-readable description of ā€˜this is how i get my final project from the base ROMā€™ā€. To ā€œconvertā€ a FEditor modified project to an EA buildfile would probably be a lot of work, since weā€™d have to come up with ways to serialize the internal FEditor data structures into EA-friendly data (work for this exists, but FEditor doesnā€™t keep track of diffs so weā€™d need to figure out how to figure out whatā€™s in vanilla and what isnā€™t).

Itā€™s also worth noting that these two approaches are not mutually exclusive ā€“ you can write a buildfile on top of an existing working ROM perfectly well; this is how the most recent builds of EN were developed (with a buildfile that treated ā€œthe last EN revisionā€ as ā€œthe base ROMā€). It is much more difficult to do the reverse, because the whole point of a buildfile is that there is no working ROM, thereā€™s just ā€œthe base ROMā€ and ā€œthe buildfileā€.

Having a nice GUI is of course preferable to not having one, and having a tool generate EA buildfiles or something would be fantastic. What people are missing, though, is that having a machine generate these for you (even based off of some graphical representation of a project) by necessity requires making some assumptions about the projectā€™s internals, which is inherently less flexible. How is some prebuilt GUI tool supposed to understand how, say, Misakaā€™s portrait mod works? Sure, someone could write that in now, but what if I (or circles, or colorz, or whoever) comes up with some radical new thing that changes how some other underlying data is represented? EM, or whatever would be completely in the dark as to how to serialize these new data structures (Lexou has talked about how itā€™s possible to deserialize these by examining the in-ROM routines, but I donā€™t think itā€™ll be so easy to write a system to do the reverse for arbitrary data). Yeah, you can work around that somewhat by making your GUI tool expose some easy hooks for people to write their own modules, but we were already talking about how thereā€™s a shortage of tool developers?

2 Likes

To add to this topic there are also a few other tools for this.

One, thereā€™s UPS2EA if you just want to take your current Hack and make it truly base everything off of a base ROM.

Two, for just text edits, I do have a Text Ripper, which you then can edit text entries in a text editor and re-insert with EA. It is, however, not very polished nor does it output in one big file as circlesā€™s textprocessor would prefer.

I know colorz said FE8 is preferable, but, i will ask this anyway: Will EM work with FE7?

Lexou has put a lot of work into supporting all of GBAFE.

EM works with FE7, if youā€™re interested in modding old tech.

thanks.