From 6bde2926c1834bf90865d3a112dbe29de97ca35f Mon Sep 17 00:00:00 2001 From: Einar Johan Trøan Sømåen Date: Sun, 9 Dec 2012 16:41:18 +0100 Subject: WINTERMUTE: Move "GetSoundLength" to BaseGameMusic --- engines/wintermute/base/base_game_music.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'engines/wintermute/base/base_game_music.cpp') diff --git a/engines/wintermute/base/base_game_music.cpp b/engines/wintermute/base/base_game_music.cpp index 0fd0961ff1..365fa6e212 100644 --- a/engines/wintermute/base/base_game_music.cpp +++ b/engines/wintermute/base/base_game_music.cpp @@ -479,6 +479,25 @@ bool BaseGameMusic::scCallMethod(ScScript *script, ScStack *stack, ScStack *this stack->pushBool(true); return STATUS_OK; + } + + ////////////////////////////////////////////////////////////////////////// + // GetSoundLength + ////////////////////////////////////////////////////////////////////////// + else if (strcmp(name, "GetSoundLength") == 0) { + stack->correctParams(1); + + int length = 0; + const char *filename = stack->pop()->getString(); + + BaseSound *sound = new BaseSound(_gameRef); + if (sound && DID_SUCCEED(sound->setSound(filename, Audio::Mixer::kMusicSoundType, true))) { + length = sound->getLength(); + delete sound; + sound = NULL; + } + stack->pushInt(length); + return STATUS_OK; } else { return STATUS_FAILED; } -- cgit v1.2.3