GSOC Update: Week 9

This is quite soon after the last update, but I feel this is an appropriate moment for an update. I have added the various Sound functions, including Voice, Music and Sound Effects.

I have also played through a few more levels, and fixed a Lua bugs, so the game won’t crash until MAP20 at the very least.

Current Problems

While Voice and Music are working fine, the Sound Effects code currently has a bug where the data for each sound effect gets corrupted after playing through it once. Running it through the debugger, it seems that the AudioStream holding the Sound Effect data either automatically gets deallocated or corrupted, since the system can read it no longer. I have spent quite a few hours trying to deduce where it is getting deallocated, and I can’t seem to find it.

One of the few remaining portions left is syncSoundSettings(). It is the default method via which ScummVM saves the Sound configuration for the game. I haven’t looked into it yet, which would be my next goal.

I’m not completely sure whether or not there is a problem with MAP19, but I can’t seem to beat it without cheating through the debug interface.

Accomplishments

  1. Added Voice, Music and Sound Effects code
  2. Fixed crash with Deliveries with no GFX
  3. Added additional output to the Debug Interface
  4. Removed unused code

Thanks to Eugene(sev) and Arnaud(Strangerke) for help in cleaning up the codebase, testing support for demo versions of the game and pointing out potential mistranslations in the codebase.

Objectives

  1. Fix the AudioStream bug
  2. Implement syncSoundSettings()
  3. Start adding support for different MPC files