[Scummvm-cvs-logs] CVS: scummvm/kyra kyra.cpp,1.93,1.94 kyra.h,1.51,1.52 script_v1.cpp,1.46,1.47

Johannes Schickel lordhoto at users.sourceforge.net
Thu Dec 22 11:32:01 CET 2005


Update of /cvsroot/scummvm/scummvm/kyra
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2064

Modified Files:
	kyra.cpp kyra.h script_v1.cpp 
Log Message:
Small bugfixes with enterNewScene and cmd_pauseSeconds.
Implemented opcode: cmd_setSceneFile


Index: kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.cpp,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- kyra.cpp	22 Dec 2005 18:14:52 -0000	1.93
+++ kyra.cpp	22 Dec 2005 19:31:38 -0000	1.94
@@ -1341,7 +1341,7 @@
 }
 
 void KyraEngine::transcendScenes(int roomIndex, int roomName) {
-	debug(9, "transcendScenes(%d, %d, %d, %d)", roomIndex, roomName);
+	debug(9, "transcendScenes(%d, %d)", roomIndex, roomName);
 	assert(roomIndex < _roomTableSize);
 	if (_features & GF_TALKIE) {
 		char file[32];
@@ -1364,6 +1364,12 @@
 	_unkScreenVar3 = 0;
 }
 
+void KyraEngine::setSceneFile(int roomIndex, int roomName) {
+	debug(9, "setSceneFile(%d, %d)", roomIndex, roomName);
+	assert(roomIndex < _roomTableSize);
+	_roomTable[roomIndex].nameIndex = roomName;
+}
+
 void KyraEngine::moveCharacterToPos(int character, int facing, int xpos, int ypos) {
 	debug(9, "moveCharacterToPos(%d, %d, %d, %d)", character, facing, xpos, ypos);
 	Character *ch = &_characterList[character];
@@ -1690,8 +1696,8 @@
 			break;
 		}
 		
-		if ((uint8)(_northExitHeight & 0xFF) >= ypos) {
-			ypos = (_northExitHeight & 0xFF);
+		if ((uint8)(_northExitHeight & 0xFF) + 2 >= ypos) {
+			ypos = (_northExitHeight & 0xFF) + 4;
 		}
 		if (xpos >= 308) {
 			xpos = 304;
@@ -1743,7 +1749,7 @@
 				_currentCharacter->x2 = xpos;
 				_currentCharacter->y1 = ypos;
 				_currentCharacter->y2 = ypos;
-				facing = 4;
+				facing = 2;
 				xpos2 = 192;
 				ypos2 = 128;
 				setFacing = 0;

Index: kyra.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.h,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- kyra.h	22 Dec 2005 18:14:52 -0000	1.51
+++ kyra.h	22 Dec 2005 19:31:38 -0000	1.52
@@ -428,6 +428,7 @@
 	
 	void enterNewScene(int sceneId, int facing, int unk1, int unk2, int brandonAlive);
 	void transcendScenes(int roomIndex, int roomName);
+	void setSceneFile(int roomIndex, int roomName);
 	void moveCharacterToPos(int character, int facing, int xpos, int ypos);
 	void setCharacterPositionWithUpdate(int character);
 	int setCharacterPosition(int character, int *facingTable);

Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/script_v1.cpp,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- script_v1.cpp	22 Dec 2005 18:14:52 -0000	1.46
+++ script_v1.cpp	22 Dec 2005 19:31:38 -0000	1.47
@@ -577,7 +577,7 @@
 int KyraEngine::cmd_pauseSeconds(ScriptState *script) {
 	debug(3, "cmd_pauseSeconds(0x%X) (%d)", script, stackPos(0));
 	if (stackPos(0) > 0)
-		delay(stackPos(0)*1000, false);
+		delay(stackPos(0)*1000, true);
 	return 0;
 }
 
@@ -1393,7 +1393,8 @@
 }
 
 int KyraEngine::cmd_setSceneFile(ScriptState *script) {
-	warning("STUB: cmd_setSceneFile");
+	debug(3, "cmd_setSceneFile(0x%X) (%d, %d)", script, stackPos(0), stackPos(1));
+	setSceneFile(stackPos(0), stackPos(1));
 	return 0;
 }
 





More information about the Scummvm-git-logs mailing list