[Scummvm-cvs-logs] CVS: scummvm/kyra kyra.cpp,1.74,1.75 script_v1.cpp,1.28,1.29 staticres.cpp,1.20,1.21
Johannes Schickel
lordhoto at users.sourceforge.net
Sun Nov 27 02:03:05 CET 2005
Update of /cvsroot/scummvm/scummvm/kyra
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28547
Modified Files:
kyra.cpp script_v1.cpp staticres.cpp
Log Message:
Added voices for cd version in the game.
Also increased RESFILE_VERSION for the new kyra.dat for the cd version.
Index: kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.cpp,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- kyra.cpp 26 Nov 2005 16:37:20 -0000 1.74
+++ kyra.cpp 27 Nov 2005 10:02:22 -0000 1.75
@@ -344,6 +344,8 @@
_marbleVaseItem = -1;
_mouseState = _itemInHand = -1;
_handleInput = false;
+
+ _currentRoom = 0xFFFF;
return 0;
}
@@ -1186,18 +1188,36 @@
assert(sceneId < _roomTableSize);
Room *currentRoom = &_roomTable[sceneId];
-
+
+ if (_currentRoom != 0xFFFF && (_features & GF_TALKIE)) {
+ char file[32];
+ assert(_currentRoom < _roomTableSize);
+ int tableId = _roomTable[_currentRoom].nameIndex;
+ assert(tableId < _roomFilenameTableSize);
+ strcpy(file, _roomFilenameTable[tableId]);
+ strcat(file, ".VRM");
+ _res->unloadPakFile(file);
+ }
+
+ _currentRoom = sceneId;
+
assert(_currentCharacter->sceneId < _roomTableSize);
int tableId = _roomTable[_currentCharacter->sceneId].nameIndex;
assert(tableId < _roomFilenameTableSize);
- char datFileNameBuffer[32];
- strcpy(datFileNameBuffer, _roomFilenameTable[tableId]);
- strcat(datFileNameBuffer, ".DAT");
- _sprites->loadDAT(datFileNameBuffer, _sceneExits);
+ char fileNameBuffer[32];
+ strcpy(fileNameBuffer, _roomFilenameTable[tableId]);
+ strcat(fileNameBuffer, ".DAT");
+ _sprites->loadDAT(fileNameBuffer, _sceneExits);
_sprites->setupSceneAnims();
_scriptInterpreter->unloadScript(_scriptClickData);
loadSceneMSC();
+ if ((_features & GF_TALKIE)) {
+ strcpy(fileNameBuffer, _roomFilenameTable[tableId]);
+ strcat(fileNameBuffer, ".VRM");
+ _res->loadPakFile(fileNameBuffer);
+ }
+
_walkBlockNorth = currentRoom->northExit;
_walkBlockEast = currentRoom->eastExit;
_walkBlockSouth = currentRoom->southExit;
Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/script_v1.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- script_v1.cpp 27 Nov 2005 05:49:35 -0000 1.28
+++ script_v1.cpp 27 Nov 2005 10:02:23 -0000 1.29
@@ -314,6 +314,12 @@
if (_features & GF_TALKIE) {
debug(3, "cmd_characterSays(0x%X) (%d, '%s', %d, %d)", script, stackPos(0), stackPosString(1), stackPos(2), stackPos(3));
+ while (snd_voicePlaying()) {
+ _sprites->updateSceneAnims();
+ updateAllObjectShapes();
+ _system->delayMillis(10);
+ }
+ snd_playVoiceFile(stackPos(0));
characterSays(stackPosString(1), stackPos(2), stackPos(3));
} else {
debug(3, "cmd_characterSays(0x%X) ('%s', %d, %d)", script, stackPosString(0), stackPos(1), stackPos(2));
@@ -773,6 +779,12 @@
int KyraEngine::cmd_customPrintTalkString(ScriptState *script) {
if (_features & GF_TALKIE) {
debug(3, "cmd_customPrintTalkString(0x%X) ('%s', %d, %d, %d)", script, stackPosString(1), stackPos(2), stackPos(3), stackPos(4) & 0xFF);
+ while (snd_voicePlaying()) {
+ _sprites->updateSceneAnims();
+ updateAllObjectShapes();
+ _system->delayMillis(10);
+ }
+ snd_playVoiceFile(stackPos(0));
printTalkTextMessage(stackPosString(1), stackPos(2), stackPos(3), stackPos(4) & 0xFF, 0, 2);
} else {
debug(3, "cmd_customPrintTalkString(0x%X) ('%s', %d, %d, %d)", script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3) & 0xFF);
@@ -1428,10 +1440,10 @@
int KyraEngine::cmd_message(ScriptState *script) {
if (_features & GF_TALKIE) {
- debug(9, "cmd_message(0x%X)", script);
+ debug(3, "cmd_message(0x%X) (%d, '%s', %d)", script, stackPos(0), stackPosString(1), stackPos(2));
drawSentenceCommand(stackPosString(1), stackPos(2));
} else {
- debug(9, "cmd_message(0x%X)", script);
+ debug(3, "cmd_message(0x%X) ('%s', %d)", script, stackPosString(0), stackPos(1));
drawSentenceCommand(stackPosString(0), stackPos(1));
}
Index: staticres.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/staticres.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- staticres.cpp 26 Nov 2005 16:37:20 -0000 1.20
+++ staticres.cpp 27 Nov 2005 10:02:23 -0000 1.21
@@ -26,7 +26,7 @@
namespace Kyra {
-#define RESFILE_VERSION 2
+#define RESFILE_VERSION 3
#define GAME_FLAGS (GF_FLOPPY | GF_TALKIE | GF_DEMO | GF_AUDIOCD)
#define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_LNGUNK)
More information about the Scummvm-git-logs
mailing list