Posted February 17, 2017
And now the music room puzzle finally falls to my leet reversing skills :). Turns out the whole set of classes used for the puzzle weren't quite as inscrutable as I'd been anticipating. There was actually some pretty cool parts, such as a parser class that takes in a specially formatted string for each instrument and produces a raw data array containing data for synchronising instrument movements with the music of the song. There were a few hairy moments when I was implementing all the code that mixes together the instruments and plays them back.. all previously played sounds were coming straight from wave (.wav) files, so I'd ditched the code the original had for streaming sound data on the fly, in favor of just passing the entire wave files to the playback code. Now, with the music room, I finally had to implement some of that code.
Anyway, the puzzle more or less works. I still need to go over it in detail at some point to make sure all the animations and frame calculations are precisely correct against the original. But I think that can wait.. I'm getting closer and closer to the game being completable, so I want to plough ahead and get there. I'm just in the middle, now, of fixing some issues with the phonograph for recording the sound, then I just need to ensure the Maitre'D arms and getting the mouth work, and then it's on to Titania and the endgame. :)
Anyway, the puzzle more or less works. I still need to go over it in detail at some point to make sure all the animations and frame calculations are precisely correct against the original. But I think that can wait.. I'm getting closer and closer to the game being completable, so I want to plough ahead and get there. I'm just in the middle, now, of fixing some issues with the phonograph for recording the sound, then I just need to ensure the Maitre'D arms and getting the mouth work, and then it's on to Titania and the endgame. :)