[Scummvm-cvs-logs] CVS: scummvm/saga events.cpp,1.55,1.56 ite_introproc.cpp,1.56,1.57 scene.cpp,1.117,1.118 scene.h,1.59,1.60

Andrew Kurushin h00ligan at users.sourceforge.net
Fri Jul 8 11:41:06 CEST 2005


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

Modified Files:
	events.cpp ite_introproc.cpp scene.cpp scene.h 
Log Message:
fix final sequence scene height

Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- events.cpp	8 Jul 2005 16:55:54 -0000	1.55
+++ events.cpp	8 Jul 2005 18:39:50 -0000	1.56
@@ -178,7 +178,7 @@
 			_vm->_scene->getBGMaskInfo(w, h, mask_buf, len);
 			_vm->transitionDissolve(buf_info.bg_buf, buf_info.bg_buf_w, 
 					buf_info.bg_buf_h, buf_info.bg_buf_w, mask_buf, w, h, 1, 
-					(320 - w) / 2, (200 - h) / 2, event_pc);
+					(_vm->getDisplayWidth() - w) / 2, (_vm->getDisplayHeight() - h) / 2, event_pc);
 			break;
 		default:
 			break;

Index: ite_introproc.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ite_introproc.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- ite_introproc.cpp	5 Jul 2005 16:58:33 -0000	1.56
+++ ite_introproc.cpp	8 Jul 2005 18:39:51 -0000	1.57
@@ -46,11 +46,11 @@
 
 LoadSceneParams ITE_IntroList[] = {
 	{RID_ITE_INTRO_ANIM_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroAnimProc, false, kTransitionNoFade, 0},
-	{RID_ITE_CAVE_SCENE_1, kLoadByResourceId, NULL, Scene::SC_ITEIntroCave1Proc, false, kTransitionFadeNoInterface, 0},
+	{RID_ITE_CAVE_SCENE_1, kLoadByResourceId, NULL, Scene::SC_ITEIntroCave1Proc, false, kTransitionFade, 0},
 	{RID_ITE_CAVE_SCENE_2, kLoadByResourceId, NULL, Scene::SC_ITEIntroCave2Proc, false, kTransitionNoFade, 0},
 	{RID_ITE_CAVE_SCENE_3, kLoadByResourceId, NULL, Scene::SC_ITEIntroCave3Proc, false, kTransitionNoFade, 0},
 	{RID_ITE_CAVE_SCENE_4, kLoadByResourceId, NULL, Scene::SC_ITEIntroCave4Proc, false, kTransitionNoFade, 0},
-	{RID_ITE_VALLEY_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroValleyProc, false, kTransitionFadeNoInterface, 0},
+	{RID_ITE_VALLEY_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroValleyProc, false, kTransitionFade, 0},
 	{RID_ITE_TREEHOUSE_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroTreeHouseProc, false, kTransitionNoFade, 0},
 	{RID_ITE_FAIREPATH_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroFairePathProc, false, kTransitionNoFade, 0},
 	{RID_ITE_FAIRETENT_SCENE, kLoadByResourceId, NULL, Scene::SC_ITEIntroFaireTentProc, false, kTransitionNoFade, 0}

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- scene.cpp	8 Jul 2005 16:55:55 -0000	1.117
+++ scene.cpp	8 Jul 2005 18:39:51 -0000	1.118
@@ -77,15 +77,14 @@
 		return;
 	}
 	_sceneCount = scene_lut_len / 2;
-	_sceneMax = _sceneCount - 1;
-	_sceneLUT = (int *)malloc(_sceneMax * sizeof(*_sceneLUT));
+	_sceneLUT = (int *)malloc(_sceneCount * sizeof(*_sceneLUT));
 	if (_sceneLUT == NULL) {
 		memoryError("Scene::Scene()");
 	}
 
 	MemoryReadStreamEndian readS(scene_lut_p, scene_lut_len, IS_BIG_ENDIAN);
 
-	for (i = 0; i < _sceneMax; i++) {
+	for (i = 0; i < _sceneCount; i++) {
 		_sceneLUT[i] = readS.readUint16();
 		debug(8, "sceneNumber %i has resourceId %i", i, _sceneLUT[i]);
 	}
@@ -96,7 +95,7 @@
 
 	debug(3, "First scene set to %d.", _firstScene);
 
-	debug(3, "LUT has %d entries.", _sceneMax);
+	debug(3, "LUT has %d entries.", _sceneCount);
 
 	// Create scene module text list
 	_textList = _vm->textCreateList();
@@ -455,7 +454,9 @@
 		BGInfo backGroundInfo;
 		getBGInfo(backGroundInfo);
 		_sceneClip = backGroundInfo.bounds;
-
+		if (_sceneClip.bottom == _vm->getSceneHeight()) {
+			_sceneClip.bottom = _vm->getClippedSceneHeight();
+		}
 		if (!(_bg.w < _vm->getDisplayWidth() || _bg.h < _vm->getSceneHeight()))
 			_outsetSceneNumber = _sceneNumber;
 	}
@@ -473,8 +474,7 @@
 
 	q_event = _vm->_events->chain(q_event, &event);
 
-	if (loadSceneParams->transitionType == kTransitionFade || 
-		loadSceneParams->transitionType == kTransitionFadeNoInterface) {
+	if (loadSceneParams->transitionType == kTransitionFade ) {
 
 		_vm->_interface->setFadeMode(kFadeOut);
 
@@ -488,19 +488,6 @@
 		event.data = current_pal;
 		q_event = _vm->_events->queue(&event);
 
-		//FIXME: do we really need two interface activation on load scene?
-		// i guess kTransitionFadeNoInterface should gone
-		/* 
-		if (loadSceneParams->transitionType != kTransitionFadeNoInterface) {
-			// Activate user interface
-			event.type = IMMEDIATE_EVENT;
-			event.code = INTERFACE_EVENT;
-			event.op = EVENT_ACTIVATE;
-			event.time = 0;
-			event.duration = 0;
-			q_event = _vm->_events->chain(q_event, &event);
-		}*/
-
 		// set fade mode
 		event.type = IMMEDIATE_EVENT;
 		event.code = INTERFACE_EVENT;
@@ -537,8 +524,7 @@
 		q_event = _vm->_events->chain(q_event, &event);
 	}
 
-	if (loadSceneParams->transitionType == kTransitionFade || 
-		loadSceneParams->transitionType == kTransitionFadeNoInterface) {
+	if (loadSceneParams->transitionType == kTransitionFade) {
 
 		// set fade mode
 		event.type = IMMEDIATE_EVENT;
@@ -907,8 +893,8 @@
 		_vm->_isoMap->draw(backBuffer);
 	} else {
 		
-		bufToSurface(backBuffer, buf_info.bg_buf, _vm->getDisplayWidth(),
-			_inGame ? _vm->getClippedSceneHeight() : buf_info.bg_buf_h, NULL, &bgPoint);
+		bufToSurface(backBuffer, buf_info.bg_buf, buf_info.bg_buf_w,
+			_sceneClip.bottom < buf_info.bg_buf_h ? _vm->getClippedSceneHeight() : buf_info.bg_buf_h, NULL, &bgPoint);
 	}
 }
 
@@ -978,7 +964,7 @@
 
 	scene_num = atoi(argv[1]);
 
-	if ((scene_num < 1) || (scene_num > _sceneMax)) {
+	if ((scene_num < 1) || (scene_num >= _sceneCount)) {
 		_vm->_console->DebugPrintf("Invalid scene number.\n");
 		return;
 	}

Index: scene.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.h,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- scene.h	8 Jul 2005 16:55:55 -0000	1.59
+++ scene.h	8 Jul 2005 18:39:53 -0000	1.60
@@ -148,8 +148,7 @@
 
 enum SceneTransitionType {
 	kTransitionNoFade,
-	kTransitionFade,
-	kTransitionFadeNoInterface
+	kTransitionFade
 };
 
 enum SceneLoadFlags {
@@ -255,8 +254,8 @@
 
 
 	int getSceneResourceId(int sceneNumber) {
-		if ((sceneNumber < 0) || (sceneNumber >= _sceneMax)) {
- 			error("getSceneResourceId: wrong sceneNumber");
+		if ((sceneNumber < 0) || (sceneNumber >= _sceneCount)) {
+ 			error("getSceneResourceId: wrong sceneNumber %i", sceneNumber);
 		}
 		return _sceneLUT[sceneNumber];
 	}
@@ -278,7 +277,6 @@
 	RSCFILE_CONTEXT *_sceneContext;
 	int *_sceneLUT;
 	int _sceneCount;
-	int _sceneMax;
 	SceneQueueList _sceneQueue;
 	int _firstScene;
 	bool _sceneLoaded;





More information about the Scummvm-git-logs mailing list