Cutscenes / Trigger Events

Cutscene / Event Files

After a bit of digging into the file formats of A Wonderful Life, I was able to figure out which files contain data for cutscenes.

The files in question are .sb script files. The versions of these files utilized in-game are compressed using CLZ-compression, resulting in .sb.clz files.

There are a few places where these files can be found.

  • .sb debug scripts at disc:/test/Script/
  • Unnamed CLZ-compressed versions of the above debug scripts (i.e. .sb.clz files) contained in disc:/test/Script/test.arc
  • Unnamed CLZ-compressed chapter-specific events (e.g. romance cutscenes, son cutscenes) in disc:/Chapter#.arc
  • Unnamed CLZ-compressed common events (i.e. can be triggered in any chapter) in disc:/Common.arc

The unnamed Chapter and Common events can be determined by looking at the legend in disc:/test/text/EventOCC.txt. As an example, here is disc:/Chapter2.arc, with it’s corresponding event legend.

Replacing Events with Debug Scripts

Using this knowledge, we can compress some of the debug scripts using Sukharah’s CLZ Tool, then can import them into the Chapter or Common files, replacing a previously-defined event. This is done by right-clicking the intended event in the destination .arc file, then selecting “Replace” from within Wexo’s Toolbox. Then, when the game wants to trigger the normal event, it will trigger the newly replaced debug event instead.

Here is an example where I replaced 8009_link.sb.clz in disc:/Common.arc with the (compressed) debug script 0000_Teleport.sb.clz.

0000_Teleport.sb loading instead of 8009_link.sb

The main downside of the debug scripts is that almost all of the debug text is untranslated Japanese. The above example was translated by myself by modifying debug.mes.

Here is an example using the default untranslated dialog.

Accessing Galen/Nina’s house during Chapter 2

Heart Event Cutscenes

While I could manually extract every bachelorette cutscene from Chapter1.arc and import it to replace 8009_link as above, this would be fairly time consuming. Fortunately, there’s another way.

The test script folder contains a handy script, Launcher_Love.sb.

When compressed, imported, and triggered, this script will open up a menu, from which you can select any of the possible bachelorette cutscenes including heart events, matchmaker scenes, reverse proposals, and successful marriage events.

Here’s an example loading one of Muffy’s heart events.

Muffy Heart Event 4

Note that these cutscenes can only be loaded during Chapter 1. Attempting to load them in any of the later chapters will result in a crash.

Testing / Bugs

So I’ve finally begun the actual in-game testing of my mod (the AnWL version at least).

I can confirm that the AnWL player clothing textures are working, as well as the player icon on the map.

The clothing textures for the AWL character don’t seem to be applying though. My theory is that the actual used textures are embedded in a gpl model (which I believe includes the model plus texture). This makes me question why there are the loose texture files at all. They might be remnants left over from the original devs prior to them adopting the gpl format.

A more pressing matter is a bug that I’ve encountered with AnWL. The game seems to freeze/crash on any interaction involving Gustafa. I’m not sure why this is occurring as I haven’t modified any of Gustafa’s files.  The bug is so far present in both the 2017-08-14 and 2017-08-19 builds.

I’ve done hash checks and the only files that are different between the source ISO and the mod (the 2017-08-14 build) are the following:

  • root\&&systemdata\Game toc
  • root\&&systemdata\ISO hdr
  • root\&&systemdata\Start dol
  • root\assets2 tpl
  • root\dreaming_bad thp
  • root\dreaming_good thp
  • root\map tpl

I’m not quite sure which of these if causing the issue, my best guess is the ISO.hdr or Game.toc. I’m going to do more testing and see where that gets me. Wish me luck.