aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/player_v3a.cpp2
-rw-r--r--scumm/player_v3a.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/scumm/player_v3a.cpp b/scumm/player_v3a.cpp
index 3a4356c169..cc25d2482f 100644
--- a/scumm/player_v3a.cpp
+++ b/scumm/player_v3a.cpp
@@ -311,6 +311,8 @@ void Player_V3A::playMusic() {
if (oct > 5)
oct = 5;
int rate = 3579545 / note_freqs[_wavetable[inst]->_oct[oct]][pit];
+ if (!_wavetable[inst]->_llen[oct])
+ dur = _wavetable[inst]->_ilen[oct] * 60 / rate;
char *data = (char *)malloc(_wavetable[inst]->_ilen[oct] + _wavetable[inst]->_llen[oct]);
if (_wavetable[inst]->_idat[oct])
memcpy(data, _wavetable[inst]->_idat[oct], _wavetable[inst]->_ilen[oct]);
diff --git a/scumm/player_v3a.h b/scumm/player_v3a.h
index 434c0de207..fb8dc6a902 100644
--- a/scumm/player_v3a.h
+++ b/scumm/player_v3a.h
@@ -51,7 +51,7 @@ public:
private:
enum {
- V3A_MAXMUS = 16,
+ V3A_MAXMUS = 24,
V3A_MAXSFX = 16
};