[Scummvm-cvs-logs] CVS: scummvm/saga animation.h,1.29,1.30 ite_introproc.cpp,1.62,1.63 scene.cpp,1.134,1.135 sthread.cpp,1.94,1.95

Andrew Kurushin h00ligan at users.sourceforge.net
Thu Aug 4 07:50:32 CEST 2005


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

Modified Files:
	animation.h ite_introproc.cpp scene.cpp sthread.cpp 
Log Message:
fixed DUMMY resource in old mac cd
fixed intro voice at endscene

Index: animation.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/animation.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- animation.h	30 Jul 2005 21:11:21 -0000	1.29
+++ animation.h	4 Aug 2005 14:49:02 -0000	1.30
@@ -113,7 +113,12 @@
 	void finish(uint16 animId);
 	void resume(uint16 animId, int cycles);
 	int16 getCurrentFrame(uint16 animId);
-
+	bool hasAnimation(uint16 animId) {
+		if (animId >= MAX_ANIMATIONS) {
+			return false;
+		}
+		return (_animations[animId] != NULL);
+	}
 private:
 	void decodeFrame(AnimationData *anim, size_t frameOffset, byte *buf, size_t bufLength);
 	void fillFrameOffsets(AnimationData *anim);

Index: ite_introproc.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/ite_introproc.cpp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- ite_introproc.cpp	31 Jul 2005 16:51:13 -0000	1.62
+++ ite_introproc.cpp	4 Aug 2005 14:49:02 -0000	1.63
@@ -875,16 +875,18 @@
 
 		q_event = _vm->_events->queue(&event);
 
-		// Begin title screen background animation
-		_vm->_anim->setFrameTime(0, 100);
+		if (_vm->_anim->hasAnimation(0)) {
+			// Begin title screen background animation
+			_vm->_anim->setFrameTime(0, 100);
 
-		event.type = ONESHOT_EVENT;
-		event.code = ANIM_EVENT;
-		event.op = EVENT_PLAY;
-		event.param = 0;
-		event.time = 0;
+			event.type = ONESHOT_EVENT;
+			event.code = ANIM_EVENT;
+			event.op = EVENT_PLAY;
+			event.param = 0;
+			event.time = 0;
 
-		q_event = _vm->_events->chain(q_event, &event);
+			q_event = _vm->_events->chain(q_event, &event);
+		}
 
 		// Queue game credits list
 		q_event = ITEQueueCredits(DISSOLVE_DURATION + 2000, CREDIT_DURATION1, n_credits1, credits1);

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -d -r1.134 -r1.135
--- scene.cpp	31 Jul 2005 16:51:14 -0000	1.134
+++ scene.cpp	4 Aug 2005 14:49:03 -0000	1.135
@@ -633,6 +633,14 @@
 		if (!_resourceList[i].invalid) {
 			_vm->_resource->loadResource(_sceneContext, _resourceList[i].resourceId,
 				_resourceList[i].buffer, _resourceList[i].size);
+
+			
+			if (_resourceList[i].size >= 6) {
+				if (!memcmp(_resourceList[i].buffer, "DUMMY!", 6)) {
+					_resourceList[i].invalid = true;
+					warning("DUMMY resource %i", _resourceList[i].resourceId);
+				}
+			}
 		}
 	}
 

Index: sthread.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sthread.cpp,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -d -r1.94 -r1.95
--- sthread.cpp	31 Jul 2005 16:38:15 -0000	1.94
+++ sthread.cpp	4 Aug 2005 14:49:04 -0000	1.95
@@ -645,6 +645,12 @@
 					}
 				}
 
+				if (_vm->getGameType() == GType_ITE) {
+					if (sampleResourceId <= 0 || sampleResourceId > 4000) {
+						sampleResourceId = -1;
+					}
+				}
+
 				_vm->_actor->actorSpeech(actorId, strings, stringsCount, sampleResourceId, speechFlags);
 
 				if (!(speechFlags & kSpeakAsync)) {





More information about the Scummvm-git-logs mailing list