[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