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 in disc:/Common.arc with the (compressed) debug script loading instead of

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,

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.

Initial Examinations of CLZ and SB Files

I’ve began taking a closer look at the .clz files that comprise a lot of both AWL and AnWL’s filesystem.

Upon examination with a hex editor, my best guess is that they’re some sort of archive.

The first few hex characters, denoting the CLZ file type header seem to be consistent 0x434C5A.

I determined this because, after looking at commonall.arc.clz, I could find code for a U8 archive (noted by the U8 header 0x55AA382D).  This is likely the  commonall.arc within the  commonall.arc.clz file. However, I’ve found 11 occurrences of this U8 header tag within the CLZ file, so there very well may be 11 different U8 archives (as well as other files with different file headers) within the CLZ archive.

My plan at this point is to basically isolate the U8 archive code, and then save it to a separate ARC file for further analysis.

I’ve also noticed a bunch of SB files in the root/test/Scripts directory of the games.

From what I’ve found online, these seem to be compiled SPC binaries (similar to those in Super Mario Sunshine).

I’m not 100% sure of what these scripts/binaries may do at this time, or if they’re even used at all (as they’re in the test folder).

It seems that an SB Decompiler exists, but now I need to figure out how to compile the decompiler. It seems to require a compiled version of the arookas library to function, but I’m not yet sure how to compile that on a Windows machine.

One step forwards, two steps back.

At this point I’m almost considering emailing Natsume to see if I could get in touch with any of the staff that worked on the original games if they’d be willing to provide any insights into development using these file formats.

But that could also result in them becoming aware of the mod and sending a cease and desist if they deem appropriate. So there is an element of risk in getting them involved.

What are your guys thoughts?