[Scummvm-cvs-logs] SF.net SVN: scummvm:[43133] scummvm/branches/gsoc2009-mods/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Sat Aug 8 20:23:14 CEST 2009


Revision: 43133
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43133&view=rev
Author:   lordhoto
Date:     2009-08-08 18:23:14 +0000 (Sat, 08 Aug 2009)

Log Message:
-----------
Implemented support for Amiga wander score map.

Modified Paths:
--------------
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.h
    scummvm/branches/gsoc2009-mods/engines/kyra/sound.cpp
    scummvm/branches/gsoc2009-mods/engines/kyra/staticres.cpp

Modified: scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.cpp	2009-08-08 18:05:16 UTC (rev 43132)
+++ scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.cpp	2009-08-08 18:23:14 UTC (rev 43133)
@@ -183,8 +183,13 @@
 
 	_sound->setSoundList(&_soundData[kMusicIntro]);
 
-	_trackMap = _dosTrackMap;
-	_trackMapSize = _dosTrackMapSize;
+	if (_flags.platform == Common::kPlatformAmiga) {
+		_trackMap = _amigaTrackMap;
+		_trackMapSize = _amigaTrackMapSize;
+	} else {
+		_trackMap = _dosTrackMap;
+		_trackMapSize = _dosTrackMapSize;
+	}
 
 	if (!_sound->init())
 		error("Couldn't init sound");

Modified: scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.h
===================================================================
--- scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.h	2009-08-08 18:05:16 UTC (rev 43132)
+++ scummvm/branches/gsoc2009-mods/engines/kyra/kyra_lok.h	2009-08-08 18:23:14 UTC (rev 43133)
@@ -504,6 +504,9 @@
 	static const int8 _dosTrackMap[];
 	static const int _dosTrackMapSize;
 
+	static const int8 _amigaTrackMap[];
+	static const int _amigaTrackMapSize;
+
 	// TODO: get rid of all variables having pointers to the static resources if possible
 	// i.e. let them directly use the _staticres functions
 	void initStaticResource();

Modified: scummvm/branches/gsoc2009-mods/engines/kyra/sound.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/engines/kyra/sound.cpp	2009-08-08 18:05:16 UTC (rev 43132)
+++ scummvm/branches/gsoc2009-mods/engines/kyra/sound.cpp	2009-08-08 18:23:14 UTC (rev 43133)
@@ -215,6 +215,13 @@
 				_sound->playTrack(command);
 			}
 		}
+	} else if (_flags.platform == Common::kPlatformAmiga) {
+		if (_curMusicTheme != 1)
+			snd_playTheme(1, -1);
+
+		assert(command < _trackMapSize);
+		if (_trackMap[_lastMusicCommand] != _trackMap[command])
+			_sound->playTrack(_trackMap[command]);
 	}
 
 	_lastMusicCommand = command;

Modified: scummvm/branches/gsoc2009-mods/engines/kyra/staticres.cpp
===================================================================
--- scummvm/branches/gsoc2009-mods/engines/kyra/staticres.cpp	2009-08-08 18:05:16 UTC (rev 43132)
+++ scummvm/branches/gsoc2009-mods/engines/kyra/staticres.cpp	2009-08-08 18:23:14 UTC (rev 43133)
@@ -2332,6 +2332,18 @@
 
 const int KyraEngine_LoK::_dosTrackMapSize = ARRAYSIZE(KyraEngine_LoK::_dosTrackMap);
 
+const int8 KyraEngine_LoK::_amigaTrackMap[] = {
+	 0,  1, 32, 26, 31, 30, 33, 33,
+	32, 17, 27, 32, 25, 29, 25, 24,
+	23, 26, 26, 30, 28, 21, 21, 15,
+	 3, 15, 23, 25, 33, 21, 30, 22,
+	15,  3, 33, 11, 12, 13, 14, 22,
+	22, 22,  3,  3,  3, 23,  3,  3,
+	23,  3,  3,  3,  3,  3,  3, 33
+};
+
+const int KyraEngine_LoK::_amigaTrackMapSize = ARRAYSIZE(KyraEngine_LoK::_amigaTrackMap);
+
 // kyra engine v2 static data
 
 const int GUI_v2::_sliderBarsPosition[] = {


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