Reheated Angel Spaghetti Code

February 13th, 2019

Like before, but worse in every way.

Last time on this series:
Battle Moon Wars SDK
Galaxy Angel/Moonlit Lovers SDK
Daibanchou – Big Bang Age SDK

Eternal Lovers Script and Tools

We start here to get into the era where I became a bit more organized with things and especially with archiving, so let's call this era 2. Era 3 will be when I got fed up with terrible formats/inefficient image editing and started writing scripts to do all that crap for me, around Seinarukana/LWR, both of which were behemoths, but I digress.

Eternal Lovers is unfortunately a very different beast than Galaxy Angel/Moonlit Lovers. I don't believe that the pak format all the files are in changed all that much, but the internals are hugely different. First and foremost, the extraction is no longer really human readable.

#  400000
+       1
+       1 Tact:
Almo, tactical view on main screen.
$     401
#  140000
+      11
+   29875
$     401
#  200000
+       3
$     401
#  2c0000
+       1
+       1 Almo:
Yes, sir.
$     401

Perhaps someone somewhere might be able to translate the pseudo-machine code, but not I. The speaker names are also a workaround that weren't part of the scripts to begin with. There's a speaker text file that associates IDs to speakers. To make things worse, there's some extra weird script flow stuff. I think that the jump text file in there provided a mapping between addresses, but it was far from pleasant. The worst of which is that every choice, literally every single choice in the entire game, is tucked away in a completely different script file. It's… a mess, but looking back, I suppose it served as just an amuse bouche or warmup to Kamidori's headache, but we'll get to that in a few weeks.


One thing that's not all that different is the iidx files, which like GA/ML have just a big dump. Unfortunately, that once again includes the battle quote file, where everything's just thrown together into one ginormous string dump. Like the main scripts, its format has been changed slightly too though. In GA, each output string is exactly what you see in the file. ie

Milfeulle: Hyper Cannon!
Milfeulle: Here I go!
           Hyper Cannon!
Milfeulle: Now it's my turn to shoot!
           Hyper Cannon, fire!

In Eternal Lovers's (and, belated edit, Moonlit Lovers too) battle quote file, they 'streamlined' that by instead concating strings together. In other words, somewhere in the file is a string that's just "Milfeulle" and elsewhere, there's:

Hyper Cannon!
Here I go!
Hyper Cannon!
Now it's my turn to shoot!
Hyper Cannon, fire!

So that's an extra bit of fun if you try to translate it without the battle quote tool, which thank all the heavens was updated/modified to work with EL too.


All the rest is pretty much the same as before. Movies are the same format (and subtitle files are included in the package above), image format and editing was the same as before. So on and so forth.

Next week, Kamidori, a true nightmare in a bunch of frilly dresses.

Posted in Galaxy Angel | 2 Comments »

2 Shouts From the Peanut Gallery

  • anise_punter says:

    So in that big box of unreadable hex numbers(?), what are we looking at, or where did you pull it from that it might have brought out the “tactical view on main screen” or what have you?

    • Aroduc says:

      It's one of the many pre-battle scenes. All those commands are presuably various calls to display graphics, play voices, etc.