[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