aboutsummaryrefslogtreecommitdiff
path: root/engines/sword1/sound.h
diff options
context:
space:
mode:
authorTorbjörn Andersson2011-11-08 21:46:10 +0100
committerTorbjörn Andersson2011-11-08 21:46:10 +0100
commit1ffb83266652cc952e006fa55c52b6b895cb45ef (patch)
treebb25bde25b93857a4733e7036b9751e35a807207 /engines/sword1/sound.h
parent9f61470a99c0218e065e87c694ed2b7cfaff17b9 (diff)
downloadscummvm-rg350-1ffb83266652cc952e006fa55c52b6b895cb45ef.tar.gz
scummvm-rg350-1ffb83266652cc952e006fa55c52b6b895cb45ef.tar.bz2
scummvm-rg350-1ffb83266652cc952e006fa55c52b6b895cb45ef.zip
SWORD1: Fix bug #3431552 ("Wrong background sound in Windows demo")
This is a slightly updated version of the patch I attached to the bug report. Apparently, the DOS/Windows demo has a slightly different set of sound resources than the full game. (There were also some other minor differences in the sound effects list, but I didn't think them worth the trouble to implement.) I've played through the demo, and I didn't notice any problems.
Diffstat (limited to 'engines/sword1/sound.h')
-rw-r--r--engines/sword1/sound.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/sword1/sound.h b/engines/sword1/sound.h
index 112ae5b6aa..4e1ac7ba34 100644
--- a/engines/sword1/sound.h
+++ b/engines/sword1/sound.h
@@ -53,8 +53,15 @@ struct RoomVol {
int32 roomNo, leftVol, rightVol;
};
+struct SampleId {
+ byte cluster;
+ byte idStd;
+ byte idWinDemo;
+};
+
struct FxDef {
- uint32 sampleId, type, delay;
+ SampleId sampleId;
+ uint32 type, delay;
RoomVol roomVolList[MAX_ROOMS_PER_FX];
};
@@ -100,6 +107,7 @@ private:
void playSample(QueueElement *elem);
void initCowSystem();
+ uint32 getSampleId(int32 fxNo);
int16 *uncompressSpeech(uint32 index, uint32 cSize, uint32 *size);
void calcWaveVolume(int16 *data, uint32 length);
bool _waveVolume[WAVE_VOL_TAB_LENGTH];