[Scummvm-cvs-logs] SF.net SVN: scummvm: [28286] scummvm/trunk/engines/drascula

aquadran at users.sourceforge.net aquadran at users.sourceforge.net
Sun Jul 29 13:21:12 CEST 2007


Revision: 28286
          http://scummvm.svn.sourceforge.net/scummvm/?rev=28286&view=rev
Author:   aquadran
Date:     2007-07-29 04:21:12 -0700 (Sun, 29 Jul 2007)

Log Message:
-----------
added sfx/voice and few corrections

Modified Paths:
--------------
    scummvm/trunk/engines/drascula/drascula.cpp
    scummvm/trunk/engines/drascula/drascula.h

Modified: scummvm/trunk/engines/drascula/drascula.cpp
===================================================================
--- scummvm/trunk/engines/drascula/drascula.cpp	2007-07-29 07:53:11 UTC (rev 28285)
+++ scummvm/trunk/engines/drascula/drascula.cpp	2007-07-29 11:21:12 UTC (rev 28286)
@@ -1227,7 +1227,7 @@
 
 	getLine(ald, buffer, size);
 	sscanf(buffer, "%s", num_room);
-	strcat(num_room,".alg");
+	strcat(num_room, ".alg");
 	
 	getLine(ald, buffer, size);
 	sscanf(buffer, "%d", &musica_room);
@@ -3685,14 +3685,6 @@
 	fin_sound();
 }
 
-int DrasculaEngine::LookForFree() {
-	delay(10);
-	// TODO GAME_Poll(gamev, 10);
-	//return(!SDEV_ChannelFree(gamev->EffectDev, 0));
-	delay(1000); // workround too much fast played sound
-	return 0;
-}
-
 void DrasculaEngine::OpenSSN(const char *Name, int Pause) {
 	MiVideoSSN = (byte *)malloc(64256);
 	GlobalSpeed = CLOCKS_PER_SEC / Pause;
@@ -4856,15 +4848,15 @@
 }
 
 void DrasculaEngine::ctvd_end() {
-	//TODO
+	_mixer->stopHandle(_soundHandle);
 }
 
 void DrasculaEngine::ctvd_stop() {
-	//TODO
+	_mixer->stopHandle(_soundHandle);
 }
 
 void DrasculaEngine::ctvd_terminate() {
-	//TODO
+//	_mixer->stopHandle(_soundHandle);
 }
 
 void DrasculaEngine::ctvd_speaker(int flag) {}
@@ -4872,8 +4864,17 @@
 void DrasculaEngine::ctvd_output(Common::File *file_handle) {}
 
 void DrasculaEngine::ctvd_init(int b) {
-	//TODO
+	int soundSize = sku->size();
+	byte *soundData = (byte *)malloc(soundSize);
+	sku->seek(32);
+	sku->read(soundData, soundSize);
+	_mixer->playRaw(Audio::Mixer::kPlainSoundType, &_soundHandle, soundData, soundSize - 64,
+					11025, Audio::Mixer::FLAG_AUTOFREE | Audio::Mixer::FLAG_UNSIGNED);
 }
 
+int DrasculaEngine::LookForFree() {
+	return _mixer->isSoundHandleActive(_soundHandle);
+}
 
+
 } // End of namespace Drascula

Modified: scummvm/trunk/engines/drascula/drascula.h
===================================================================
--- scummvm/trunk/engines/drascula/drascula.h	2007-07-29 07:53:11 UTC (rev 28285)
+++ scummvm/trunk/engines/drascula/drascula.h	2007-07-29 11:21:12 UTC (rev 28286)
@@ -37,6 +37,10 @@
 #include "common/events.h"
 #include "common/keyboard.h"
 
+#include "sound/audiostream.h"
+#include "sound/mixer.h"
+#include "sound/voc.h"
+
 #include "engines/engine.h"
 
 namespace Drascula {
@@ -350,6 +354,8 @@
 	Common::Platform getPlatform() const;
 	void update_events();
 
+	Audio::SoundHandle _soundHandle;
+
 	void asigna_memoria();
 	void libera_memoria();
 	void carga_info();
@@ -438,7 +444,7 @@
 	int vb_x, sentido_vb, vb_se_mueve, frame_vb;
 	float nuevo_alto, nuevo_ancho;
 	int diferencia_x, diferencia_y;
-	int factor_red[201];
+	int factor_red[202];
 	int frame_piano;
 	int frame_borracho;
 	int frame_velas;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list