[Scummvm-cvs-logs] SF.net SVN: scummvm:[46190] scummvm/trunk/engines/kyra

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Sun Nov 29 13:19:14 CET 2009


Revision: 46190
          http://scummvm.svn.sourceforge.net/scummvm/?rev=46190&view=rev
Author:   athrxx
Date:     2009-11-29 12:18:42 +0000 (Sun, 29 Nov 2009)

Log Message:
-----------
KYRA/PC98: fixed regression

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/kyra_lok.cpp
    scummvm/trunk/engines/kyra/sound.h
    scummvm/trunk/engines/kyra/sound_adlib.h
    scummvm/trunk/engines/kyra/sound_intern.h
    scummvm/trunk/engines/kyra/sound_towns.cpp

Modified: scummvm/trunk/engines/kyra/kyra_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_lok.cpp	2009-11-29 09:02:02 UTC (rev 46189)
+++ scummvm/trunk/engines/kyra/kyra_lok.cpp	2009-11-29 12:18:42 UTC (rev 46190)
@@ -197,10 +197,13 @@
 	if (!_sound->init())
 		error("Couldn't init sound");
 
-	if (_flags.platform == Common::kPlatformPC98)
-		_sound->loadSoundFile(k1PC98IntroSfx);
-	else
+	if (_flags.platform == Common::kPlatformPC98) {
+		int sfxSize;
+		const uint8 *sfxData = _staticres->loadRawData(k1PC98IntroSfx, sfxSize);
+		_sound->loadSoundFile(sfxData, sfxSize);
+	} else {
 		_sound->loadSoundFile(0);
+	}
 
 	setupButtonData();
 

Modified: scummvm/trunk/engines/kyra/sound.h
===================================================================
--- scummvm/trunk/engines/kyra/sound.h	2009-11-29 09:02:02 UTC (rev 46189)
+++ scummvm/trunk/engines/kyra/sound.h	2009-11-29 12:18:42 UTC (rev 46190)
@@ -108,6 +108,12 @@
 	virtual void loadSoundFile(Common::String file) = 0;
 
 	/**
+	 * Load static data for playing sound
+	 * effects from.
+	 */
+	virtual void loadSoundFile(const uint8 *soundData, int dataSize) = 0;
+
+	/**
 	 * Load a sound file for playing sound
 	 * effects from.
 	 */
@@ -268,6 +274,7 @@
 	bool hasSoundFile(uint file) const { return _music->hasSoundFile(file) && _sfx->hasSoundFile(file); }
 	void loadSoundFile(uint file) { _music->loadSoundFile(file); _sfx->loadSoundFile(file); }
 	void loadSoundFile(Common::String file) { _music->loadSoundFile(file); _sfx->loadSoundFile(file); }
+	void loadSoundFile(const uint8 *soundData, int dataSize) { _sfx->loadSoundFile(soundData, dataSize); }
 	
 	void loadSfxFile(Common::String file) { _sfx->loadSoundFile(file); }
 

Modified: scummvm/trunk/engines/kyra/sound_adlib.h
===================================================================
--- scummvm/trunk/engines/kyra/sound_adlib.h	2009-11-29 09:02:02 UTC (rev 46189)
+++ scummvm/trunk/engines/kyra/sound_adlib.h	2009-11-29 12:18:42 UTC (rev 46190)
@@ -72,6 +72,7 @@
 
 	void loadSoundFile(uint file);
 	void loadSoundFile(Common::String file);
+	void loadSoundFile(const uint8 *soundData, int dataSize) {}
 
 	void playTrack(uint8 track);
 	void haltTrack();

Modified: scummvm/trunk/engines/kyra/sound_intern.h
===================================================================
--- scummvm/trunk/engines/kyra/sound_intern.h	2009-11-29 09:02:02 UTC (rev 46189)
+++ scummvm/trunk/engines/kyra/sound_intern.h	2009-11-29 12:18:42 UTC (rev 46190)
@@ -62,6 +62,7 @@
 
 	void loadSoundFile(uint file);
 	void loadSoundFile(Common::String file);
+	void loadSoundFile(const uint8 *soundData, int dataSize) {}
 	void loadSfxFile(Common::String file);
 
 	void playTrack(uint8 track);
@@ -114,6 +115,7 @@
 
 	void loadSoundFile(uint file);
 	void loadSoundFile(Common::String) {}
+	void loadSoundFile(const uint8 *soundData, int dataSize) {}
 
 	void playTrack(uint8 track);
 	void haltTrack();
@@ -170,8 +172,9 @@
 	bool init();
 
 	void process() {}
-	void loadSoundFile(uint file);
+	void loadSoundFile(uint file) {}
 	void loadSoundFile(Common::String file);
+	void loadSoundFile(const uint8 *soundData, int dataSize);
 
 	void playTrack(uint8 track);
 	void haltTrack();
@@ -199,6 +202,7 @@
 
 	void loadSoundFile(uint file) {}
 	void loadSoundFile(Common::String file);
+	void loadSoundFile(const uint8 *soundData, int dataSize) {}
 
 	void playTrack(uint8 track);
 	void haltTrack();
@@ -306,6 +310,7 @@
 	void process() {}
 	void loadSoundFile(uint file);
 	void loadSoundFile(Common::String) {}
+	void loadSoundFile(const uint8 *soundData, int dataSize) {}
 
 	void playTrack(uint8 track);
 	void haltTrack();

Modified: scummvm/trunk/engines/kyra/sound_towns.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_towns.cpp	2009-11-29 09:02:02 UTC (rev 46189)
+++ scummvm/trunk/engines/kyra/sound_towns.cpp	2009-11-29 12:18:42 UTC (rev 46190)
@@ -4049,27 +4049,17 @@
 	return _driver->init();
 }
 
-void SoundPC98::loadSoundFile(uint file) {
-	delete[] _sfxTrackData;
-
-	int tmpSize;
-	const uint8 *tmp = _vm->staticres()->loadRawData((int) file, tmpSize);
-	
-	if (!tmp) {
-		warning("Failed to load static sound data with id %d.", file);
-		_sfxTrackData = 0;
-		return;
-	}
-		
-	_sfxTrackData = new uint8[tmpSize];
-	memcpy(_sfxTrackData, tmp, tmpSize);
-}
-
 void SoundPC98::loadSoundFile(Common::String file) {
 	delete[] _sfxTrackData;	
 	_sfxTrackData = _vm->resource()->fileData(file.c_str(), 0);
 }
 
+void SoundPC98::loadSoundFile(const uint8 *soundData, int dataSize) {
+	delete[] _sfxTrackData;
+	_sfxTrackData = new uint8[dataSize];
+	memcpy(_sfxTrackData, soundData, dataSize);
+}
+
 void SoundPC98::playTrack(uint8 track) {
 	track += extraOffset();
 


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