aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2013-07-26 13:10:54 +0200
committerStrangerke2013-07-26 13:10:54 +0200
commit8009b2ebd87ca546741a391e399f3633576b255b (patch)
tree23c2313a1812dcb4320c1bb32757cdb15a896b13 /engines
parentdb10ddace466522062a18a0c9079292225fb53d0 (diff)
downloadscummvm-rg350-8009b2ebd87ca546741a391e399f3633576b255b.tar.gz
scummvm-rg350-8009b2ebd87ca546741a391e399f3633576b255b.tar.bz2
scummvm-rg350-8009b2ebd87ca546741a391e399f3633576b255b.zip
MORTEVIELLE: Remove another use of _mem
Diffstat (limited to 'engines')
-rw-r--r--engines/mortevielle/mortevielle.cpp2
-rw-r--r--engines/mortevielle/mortevielle.h2
-rw-r--r--engines/mortevielle/speech.cpp4
-rw-r--r--engines/mortevielle/utils.cpp13
4 files changed, 12 insertions, 9 deletions
diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp
index 8eea0cabb5..616bee1a67 100644
--- a/engines/mortevielle/mortevielle.cpp
+++ b/engines/mortevielle/mortevielle.cpp
@@ -104,12 +104,14 @@ MortevielleEngine::MortevielleEngine(OSystem *system, const ADGameDescription *g
_curPict = nullptr;
_curAnim = nullptr;
_rightFramePict = nullptr;
+ _compMusicBuf2 = nullptr;
}
MortevielleEngine::~MortevielleEngine() {
free(_curPict);
free(_curAnim);
free(_rightFramePict);
+ free(_compMusicBuf2);
}
/**
diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h
index 94e9716e7b..23003719ba 100644
--- a/engines/mortevielle/mortevielle.h
+++ b/engines/mortevielle/mortevielle.h
@@ -66,7 +66,6 @@ namespace Mortevielle {
const int kAdrMusic = 0x5000;
const int kAdrCompMusicBuf1 = 0x7414;
-const int kAdrCompMusicBuf2 = 0x3800;
#define ord(v) ((int) v)
#define chr(v) ((unsigned char) v)
@@ -478,6 +477,7 @@ public:
byte *_curPict;
byte *_curAnim;
byte *_rightFramePict;
+ byte *_compMusicBuf2;
Debugger _debugger;
ScreenSurface _screenSurface;
diff --git a/engines/mortevielle/speech.cpp b/engines/mortevielle/speech.cpp
index 3a42c957c8..899cd80472 100644
--- a/engines/mortevielle/speech.cpp
+++ b/engines/mortevielle/speech.cpp
@@ -194,13 +194,12 @@ void SpeechManager::loadPhonemeSounds() {
*/
void SpeechManager::loadNoise() {
Common::File f;
- int i;
if (!f.open("bruits")) //Translation: "noise"
error("Missing file - bruits");
f.read(&_vm->_mem[kAdrNoise * 16], 250 * 128); // 32000
- for (i = 0; i <= 19013; ++i)
+ for (int i = 0; i < _noise5Size; ++i)
_vm->_mem[(kAdrNoise * 16) + 32000 + i] = _noise5Buf[i];
f.read(&_vm->_mem[(kAdrNoise1 * 16) + kOffsetB1], 149 * 128); // 19072
@@ -582,7 +581,6 @@ void SpeechManager::startSpeech(int rep, int ht, int typ) {
switch (typ) {
case 1:
loadNoise();
- /*if zuul then zzuul(kAdrNoise,0,1095);*/
regenbruit();
break;
case 2:
diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp
index 2211a6d569..7a8306067d 100644
--- a/engines/mortevielle/utils.cpp
+++ b/engines/mortevielle/utils.cpp
@@ -2193,14 +2193,17 @@ void MortevielleEngine::music() {
_reloadCFIEC = true;
- Common::File fic;
- if (!fic.open("mort.img"))
+ Common::File f;
+ if (!f.open("mort.img"))
error("Missing file - mort.img");
- fic.read(&_mem[kAdrCompMusicBuf2 * 16], 623 * 128);
- fic.close();
+ free(_compMusicBuf2);
+ int size = f.size();
+ _compMusicBuf2 = (byte *)malloc(sizeof(byte) * size);
+ f.read(_compMusicBuf2, size);
+ f.close();
- _soundManager.decodeMusic(&_mem[kAdrCompMusicBuf2 * 16], &_mem[kAdrMusic * 16], 623);
+ _soundManager.decodeMusic(_compMusicBuf2, &_mem[kAdrMusic * 16], size / 128);
_addFix = (float)((kTempoMusic - 8)) / 256;
_speechManager.cctable(_speechManager._tbi);