More Amiga V2/V3 sound updates from _Q_:
1. A Player_MOD class, basically acts as a simplified mixer that mixes at 60Hz intervals (or whatever interval you specify), this gives smooth music playback in player_v3a 2. Some changes to player_v3a as a result of #1, including reduced music volume 3. player_v2a, and the necessary additions to scummvm.cpp/scumm.h svn-id: r10392
This commit is contained in:
parent
09a01e4cbe
commit
4a62eb3e3b
13 changed files with 2794 additions and 1151 deletions
|
@ -44,6 +44,7 @@
|
|||
#include "scumm/object.h"
|
||||
#include "scumm/player_v1.h"
|
||||
#include "scumm/player_v2.h"
|
||||
#include "scumm/player_v2a.h"
|
||||
#include "scumm/player_v3a.h"
|
||||
#include "scumm/resource.h"
|
||||
#include "scumm/scumm.h"
|
||||
|
@ -719,10 +720,13 @@ Scumm::Scumm (GameDetector *detector, OSystem *syst)
|
|||
_imuse = NULL;
|
||||
_imuseDigital = NULL;
|
||||
_playerV2 = NULL;
|
||||
_playerV2A = NULL;
|
||||
_playerV3A = NULL;
|
||||
_musicEngine = NULL;
|
||||
if (_features & GF_DIGI_IMUSE) {
|
||||
_musicEngine = _imuseDigital = new IMuseDigital(this);
|
||||
} else if ((_features & GF_AMIGA) && (_version == 2)) {
|
||||
_musicEngine = _playerV2A = new Player_V2A(this);
|
||||
} else if ((_features & GF_AMIGA) && (_version == 3)) {
|
||||
_musicEngine = _playerV3A = new Player_V3A(this);
|
||||
} else if ((_features & GF_AMIGA) && (_version < 5)) {
|
||||
|
@ -1329,6 +1333,8 @@ int Scumm::scummLoop(int delta) {
|
|||
// Covered automatically by the Sound class
|
||||
} else if (_playerV2) {
|
||||
VAR(VAR_MUSIC_TIMER) = _playerV2->getMusicTimer();
|
||||
} else if (_playerV2A) {
|
||||
VAR(VAR_MUSIC_TIMER) = _playerV2A->getMusicTimer();
|
||||
} else if (_playerV3A) {
|
||||
VAR(VAR_MUSIC_TIMER) = _playerV3A->getMusicTimer();
|
||||
} else if (_imuse) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue