aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/kyra/kyra.cpp1
-rw-r--r--engines/kyra/sound_adlib.cpp4
2 files changed, 3 insertions, 2 deletions
diff --git a/engines/kyra/kyra.cpp b/engines/kyra/kyra.cpp
index 74505b4adf..97644c0262 100644
--- a/engines/kyra/kyra.cpp
+++ b/engines/kyra/kyra.cpp
@@ -646,6 +646,7 @@ void KyraEngine::startup() {
error("Could not load \"_NPC.EMC\" script");
}
+ snd_playTheme(1);
enterNewScene(_currentCharacter->sceneId, _currentCharacter->facing, 0, 0, 1);
if (_abortIntroFlag && _skipFlag) {
diff --git a/engines/kyra/sound_adlib.cpp b/engines/kyra/sound_adlib.cpp
index c74d9a0f1a..b15a8514a0 100644
--- a/engines/kyra/sound_adlib.cpp
+++ b/engines/kyra/sound_adlib.cpp
@@ -844,7 +844,7 @@ void AdlibDriver::setupDuration(uint8 duration, OutputState &state) {
debugC(9, kDebugLevelSound, "setupDuration(%d, %d)", duration, &state - _outputTables);
_continueFlag = duration;
if (state.unk11) {
- state.unk5 = duration + (getRandomNr() & state.unk11 & 0xFF);
+ state.unk5 = duration + (getRandomNr() & state.unk11);
return;
}
if (state.unk12) {
@@ -1666,7 +1666,7 @@ int AdlibDriver::updateCallback50(uint8 *&dataptr, OutputState &state, uint8 val
_unk4 = 0;
// Amplitude Modulation Depth / Vibrato Depth / Rhythm
- writeOPL(0xBD, value & _unkOutputByte2);
+ writeOPL(0xBD, _unkOutputByte2 & 0xC0);
return 0;
}