[Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.165,1.166 actor.h,1.90,1.91 rscfile.cpp,1.35,1.36

Andrew Kurushin h00ligan at users.sourceforge.net
Sun Aug 7 04:21:38 CEST 2005


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

Modified Files:
	actor.cpp actor.h rscfile.cpp 
Log Message:
loadList -> loadActorList
some checkups 

Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.165
retrieving revision 1.166
diff -u -d -r1.165 -r1.166
--- actor.cpp	7 Aug 2005 00:00:40 -0000	1.165
+++ actor.cpp	7 Aug 2005 11:20:43 -0000	1.166
@@ -284,9 +284,6 @@
 }
 
 Actor::~Actor() {
-	int i;
-	ObjectData *obj;
-
 	debug(9, "Actor::~Actor()");
 
 #ifdef ACTOR_DEBUG
@@ -299,13 +296,8 @@
 	free(_pathCell);
 	_actorsStrings.freeMem();
 	//release resources
-	freeList();
-
-	for (i = 0; i < _objsCount; i++) {
-		obj = _objs[i];
-		delete obj;
-	}
-	free(_objs);
+	freeActorList();
+	freeObjList();
 }
 
 bool Actor::loadActorResources(ActorData *actor) {
@@ -361,7 +353,7 @@
 	_vm->_sprite->loadList(resourceId, actor->spriteList);
 
 	i = actor->spriteList.spriteCount;
-	if ((actor->flags & kExtended)) {
+	if ((actor->flags & kExtended)) {  // may be it's ITE specific ?
 		while ((lastFrame >= actor->spriteList.spriteCount)) {
 			resourceId++;
 			debug(9, "Appending to sprite list %d", resourceId);
@@ -372,7 +364,7 @@
 	return true;
 }
 
-void Actor::freeList() {
+void Actor::freeActorList() {
 	int i;
 	ActorData *actor;
 	for (i = 0; i < _actorsCount; i++) {
@@ -384,17 +376,21 @@
 	_actorsCount = 0;
 }
 
-void Actor::loadList(int actorsEntrance, int actorCount, int actorsResourceID, int protagStatesCount, int protagStatesResourceID) {
+void Actor::loadActorList(int protagonistIdx, int actorCount, int actorsResourceID, int protagStatesCount, int protagStatesResourceID) {
 	int i;
 	ActorData *actor;
 	byte* actorListData;
 	size_t actorListLength;
-	freeList();
+	freeActorList();
 	
 	_vm->_resource->loadResource(_actorContext, actorsResourceID, actorListData, actorListLength);
 		
 	_actorsCount = actorCount;
 
+	if ((int)(actorListLength / ACTOR_INHM_SIZE) < _actorsCount) {
+		error("Actor::loadActorList wrong actorlist length");
+	}
+
 	MemoryReadStream actorS(actorListData, actorListLength);
 	
 	_actors = (ActorData **)malloc(_actorsCount * sizeof(*_actors));
@@ -446,7 +442,7 @@
 	}
 	free(actorListData);
 
-	_actors[actorsEntrance]->flags |= kProtagonist | kExtended;
+	_actors[protagonistIdx]->flags |= kProtagonist | kExtended;
 
 	for (i = 0; i < _actorsCount; i++) {
 		actor = _actors[i];
@@ -458,7 +454,7 @@
 		}
 	}
 
-	_centerActor = _protagonist = _actors[actorsEntrance];
+	_centerActor = _protagonist = _actors[protagonistIdx];
 	_protagState = 0;
 
 	if (protagStatesResourceID) {

Index: actor.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.h,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- actor.h	7 Aug 2005 00:00:40 -0000	1.90
+++ actor.h	7 Aug 2005 11:20:43 -0000	1.91
@@ -580,8 +580,8 @@
 	void setProtagState(int state);
 	int getProtagState() { return _protagState; }
 
-	void freeList();
-	void loadList(int actorsEntrance, int actorCount, int actorsResourceID,
+	void freeActorList();
+	void loadActorList(int protagonistIdx, int actorCount, int actorsResourceID,
 				  int protagStatesCount, int protagStatesResourceID);
 	void freeObjList();
 	void loadObjList(int objectCount, int objectsResourceID);

Index: rscfile.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/rscfile.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- rscfile.cpp	7 Aug 2005 00:00:41 -0000	1.35
+++ rscfile.cpp	7 Aug 2005 11:20:43 -0000	1.36
@@ -474,7 +474,7 @@
 
 	free(resourcePointer);
 
-	_vm->_actor->loadList(actorsEntrance, _metaResource.actorCount,
+	_vm->_actor->loadActorList(actorsEntrance, _metaResource.actorCount,
 						  _metaResource.actorsResourceID, _metaResource.protagStatesCount,
 						  _metaResource.protagStatesResourceID);
 
@@ -524,32 +524,39 @@
 
 	switch (chapter) {
 	case 1:
+		_vm->_sndRes->setVoiceBank(1);
 		// chapterRes = "voices1.res"
 		// hackVoiceTableListID = 23
 		break;
 	case 2:
+		_vm->_sndRes->setVoiceBank(2);
 		// chapterRes = "voices2.res"
 		// hackVoiceTableListID = 24
 		break;
 	case 3:
+		_vm->_sndRes->setVoiceBank(3);
 		// chapterRes = "voices3.res"
 		// hackVoiceTableListID = 25
 		break;
 	case 4:
+		_vm->_sndRes->setVoiceBank(4);
 		// chapterRes = "voices4.res"
 		// hackVoiceTableListID = 26
 		break;
 	case 5:
+		_vm->_sndRes->setVoiceBank(5);
 		// chapterRes = "voices5.res"
 		// hackVoiceTableListID = 27
 		break;
 	case 6:
+		_vm->_sndRes->setVoiceBank(6);
 		// chapterRes = "voices6.res"
 		// hackVoiceTableListID = 28
 		break;
 	case 7:
 		break;
 	case 8:
+		_vm->_sndRes->setVoiceBank(0);
 		// chapterRes = "voicess.res"
 		// hackVoiceTableListID = 22
 		break;





More information about the Scummvm-git-logs mailing list