Previously chunk offsets were calculated from the end of ABMP instead of
the beginning of the ILS body like they should be. I had to manually
shift the offsets by 5 bytes, which might not always be the right amount
due to the use of varints. This should always be correct.
* TESTBED: Sort Pixel Formats before displaying them
* TESTBED: Display color gradients while testing Pixel Formats
* TESTBED: Display example patterns with CLUT8 pixel formats
This was previously showing the Launcher Load button as active, but
with no saves present as most of the API was not implemented.
This corrects that so that the various Advanced Engine / MetaEngine
APIs for loading / saving from launcher and command line may be
implemented in future.
Identified by coverity - if the module load fails, _mixBufferSamples could be
left as an invalid pointer, which would cause a problem in the destructor.
Moved most things to initailizer list to avoid the problem.
Coverity still identifies a lot of uninitialized members, but they should all
get initialized when playback starts and have less chance of causing real bugs.
The list before had some omissions so the avatar would still fall a bit. This
should remove the last places we see pausing while walking around on elevated
platforms etc.
- Windows-only samples now respect "Prefer digital sound effects" config
- Windows-only samples now only applied when a regular digital sample
doesn't exist. This is SSCI behavior and mildly affects two sound
effects in the monolith burger mini-game. Confirmed in disassembly.
- Windows-only samples now play in Windows mode and DOS samples and
MIDIs play in DOS mode.
- Default audio experience now matches the selected platform.
Added a compressed variant of the Russian translation of Nancy Drew:
Secrets Can Kill. Added a flag to mark compressed game variants and
only load archives when playing one. Removed the 8-bit colors flag.
I have made the scrolling more smooth and still hopefully managed not to break the sync with the engine (which really is a bit tricky).
I've tested playing the ZAK and LOOM intros and also walking around in ZAK and MI2, since there are some good test cases there. I've also compared all these side by side with the UNZ emulator.