aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2012-06-19 22:37:56 +1000
committerPaul Gilbert2012-06-19 22:37:56 +1000
commitaa775b4497746d978599dda06ca9a385c5e6dc59 (patch)
treee432943d50c1de4f5f0e1afb802c31b89803e73a /engines
parentd2061f29bef9f2dadd5eda149384b5fdfbcc3ac1 (diff)
downloadscummvm-rg350-aa775b4497746d978599dda06ca9a385c5e6dc59.tar.gz
scummvm-rg350-aa775b4497746d978599dda06ca9a385c5e6dc59.tar.bz2
scummvm-rg350-aa775b4497746d978599dda06ca9a385c5e6dc59.zip
TONY: Some bugfixes and cleanup for the music support code
Diffstat (limited to 'engines')
-rw-r--r--engines/tony/globals.cpp1
-rw-r--r--engines/tony/globals.h4
-rw-r--r--engines/tony/sound.cpp3
-rw-r--r--engines/tony/tony.cpp6
4 files changed, 7 insertions, 7 deletions
diff --git a/engines/tony/globals.cpp b/engines/tony/globals.cpp
index 893322942a..f28a22e4a5 100644
--- a/engines/tony/globals.cpp
+++ b/engines/tony/globals.cpp
@@ -26,7 +26,6 @@
namespace Tony {
Globals::Globals() {
- Common::fill(_nextMusic, _nextMusic + MAX_PATH, 0);
_nextLoop = false;
_nextChannel = 0;
_nextSync = 0;
diff --git a/engines/tony/globals.h b/engines/tony/globals.h
index 7b5d6db9cf..b63dce7c45 100644
--- a/engines/tony/globals.h
+++ b/engines/tony/globals.h
@@ -43,8 +43,6 @@ namespace Tony {
#define TAPPETI_MARE 6
#define TAPPETI_MAREMETA 7
-#define MAX_PATH 255
-
struct CharacterStruct {
uint32 _code;
RMItem *_item;
@@ -168,7 +166,7 @@ class Globals {
public:
Globals();
- char _nextMusic[MAX_PATH];
+ Common::String _nextMusic;
bool _nextLoop;
int _nextChannel;
int _nextSync;
diff --git a/engines/tony/sound.cpp b/engines/tony/sound.cpp
index e79b06191e..75ae82298d 100644
--- a/engines/tony/sound.cpp
+++ b/engines/tony/sound.cpp
@@ -1053,7 +1053,8 @@ void FPStream::prefetch() {
return;
}
#else
- error("lpBuf isn't set");
+ // Return, since lpBuf hasn't been set
+ return;
#endif
// Uncompress the data from the stream directly into the locked buffer
diff --git a/engines/tony/tony.cpp b/engines/tony/tony.cpp
index 2c102f5c8b..8ae95af862 100644
--- a/engines/tony/tony.cpp
+++ b/engines/tony/tony.cpp
@@ -208,12 +208,14 @@ void TonyEngine::playMusic(int nChannel, const Common::String &fname, int nFX, b
GLOBALS._curChannel = nChannel;
GLOBALS._nextLoop = bLoop;
GLOBALS._nextSync = nSync;
+ GLOBALS._nextMusic = fname;
+
if (GLOBALS._flipflop)
GLOBALS._nextChannel = nChannel - 1;
else
GLOBALS._nextChannel = nChannel + 1;
- uint32 hThread = CoroScheduler.createProcess(doNextMusic, &_stream, sizeof(FPStream ***));
+ uint32 hThread = CoroScheduler.createProcess(doNextMusic, NULL, 0);
assert(hThread != CORO_INVALID_PID_VALUE);
} else if (nFX == 44) { // Cambia canale e lascia finire il primo
@@ -254,7 +256,7 @@ void TonyEngine::doNextMusic(CORO_PARAM, const void *param) {
Common::String fn;
CORO_END_CONTEXT(_ctx);
- FPStream **streams = *(FPStream ***)param;
+ FPStream **streams = _vm->_stream;
CORO_BEGIN_CODE(_ctx);