GSOC Update: Week 8

I spent most of this week resolving memory bugs and playtesting the game levels.

The game still isn’t playable from beginning to end right now, but progress has been made. I estimate that you start from the beginning, you could definitely play up till MAP14-19 before you a bug stops you. Also, I’m not completely certain whether or not all the endings in the game are currently achievable.

Current Problems

I have managed to run Sound through the main hdb.cpp file, but the methods defined in the original are not as simple. They involve multiple structs, and functions for each of them. This is my top priority for now.

There are two kinds of sound data in the MPC file: MP3 and WAV. The MP3 files are working fine, but the WAV data in the archive is empty. It seems that all the data values have been set to 0. I’m not sure where to find those sound files, but they need to be found: all the sound effects are in the WAV format!

Finally, I have only tested the engine on the Windows Full-version. I still have to test out PPC and Linux versions, and add support for the compressed and voiceless versions of the game. This shouldn’t be too hard as long as I can find their data files. Moreover, I know that the current engine won’t work with the demo versions of the game. So I have to support those as well.

Accomplishments

  1. Fixed memory leaks
  2. Removed redundant code
  3. Added Patches to MAP10, 11, 15 and more
  4. Fixed problem with Animating Bridges
  5. Fixed moving floats
  6. Fixed aiFatFrogTongueDraw()
  7. Fixed crash caused by LIGHTBARREL in Slime
  8. Fixed indexing problem in the Teleporter code

Thanks to Eugene(sev) for help with the uninitialized reads, simplifying the save system and fixing bugs such as the Loading Screen, the Waypoint system and adding patches for different maps. Thanks to Arnaud(Strangerke) for fixing compilation issues with MSVC9 and pointing out flaws in the Teleporter code.

Objectives

  1. Complete Sound system
  2. Find missing sound data
  3. Start adding support for different MPC files