[Scummvm-cvs-logs] scummvm master -> b5385f600341b9dab3ae9322da9b4b7182f52292

sev- sev at scummvm.org
Fri May 2 11:31:34 CEST 2014


This automated email contains information about 9 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f9c7a5d83f FULLPIPE: Implement Movement::~Movement()
23ef7fb901 FULLPIPE: Implement Scene::~Scene()
2542f68e45 FULLPIPE: Implement Scene::stopAllSounds()
6b0d938737 FULLPIPE: Removed couple of PtrList usages for code clarity
3b54cc0e81 FULLPIPE: ditto for Scene::_messageQueueList
cdcf9c5d89 FULLPIPE: Remove unused class variable
79cb4b994d FULLPIPE: Remove PtrList usage in gfx.cpp
2e7d5caa31 FULLPIPE: Removed PtrList usage in statics.cpp
b5385f6003 FULLPIPE: Remove now unused PtrList


Commit: f9c7a5d83f0a57cd285fef10f5aa0eda8e0fa177
    https://github.com/scummvm/scummvm/commit/f9c7a5d83f0a57cd285fef10f5aa0eda8e0fa177
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T11:00:47+03:00

Commit Message:
FULLPIPE: Implement Movement::~Movement()

Changed paths:
    engines/fullpipe/statics.cpp



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index f1abac5..3b99afc 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -1493,7 +1493,20 @@ Movement::Movement() {
 }
 
 Movement::~Movement() {
-	warning("STUB: Movement::~Movement()");
+	for (uint i = 0; i < _dynamicPhases.size(); i++)
+		delete _framePosOffsets[i];
+
+	if (!_currMovement ) {
+		if (_updateFlag1)
+			_dynamicPhases.remove_at(0);
+
+		for (uint i = 0; i < _dynamicPhases.size(); i++)
+			delete (DynamicPhase *)_dynamicPhases[i];
+
+		_dynamicPhases.clear();
+	}
+
+	free(_framePosOffsets);
 }
 
 Movement::Movement(Movement *src, StaticANIObject *ani) {


Commit: 23ef7fb9017b9560dac1c3f877a7c6ba305dc866
    https://github.com/scummvm/scummvm/commit/23ef7fb9017b9560dac1c3f877a7c6ba305dc866
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T11:16:28+03:00

Commit Message:
FULLPIPE: Implement Scene::~Scene()

Changed paths:
    engines/fullpipe/scene.cpp



diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index 462401b..746db3b 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -133,7 +133,27 @@ Scene::Scene() {
 }
 
 Scene::~Scene() {
-	warning("STUB: Scene::~Scene()");
+	delete _soundList;
+	delete _shadows;
+	delete _palette;
+
+	// _faObjlist is not used
+
+	for (int i = 0; i < _messageQueueList.size(); i++)
+		delete (MessageQueue *)_messageQueueList[i];
+
+	_messageQueueList.clear();
+
+	for (int i = 0; i < _staticANIObjectList1.size(); i++)
+		delete (StaticANIObject *)_staticANIObjectList1[i];
+
+	_staticANIObjectList1.clear();
+
+	delete _libHandle;
+
+	// delete _field_BC;
+
+	free(_sceneName);
 }
 
 bool Scene::load(MfcArchive &file) {


Commit: 2542f68e45f6fe4cfd60044b8df23efce40c352e
    https://github.com/scummvm/scummvm/commit/2542f68e45f6fe4cfd60044b8df23efce40c352e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T11:21:27+03:00

Commit Message:
FULLPIPE: Implement Scene::stopAllSounds()

Changed paths:
    engines/fullpipe/scene.cpp



diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index 746db3b..a626b01 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -355,7 +355,8 @@ void Scene::setPictureObjectsFlag4() {
 }
 
 void Scene::stopAllSounds() {
-	warning("STUB: Scene:stopAllSounds()");
+	for (uint i = 0; i < _soundList->getCount(); i++)
+		_soundList->getSoundByIndex(i)->stop();
 }
 
 PictureObject *Scene::getPictureObjectById(int objId, int flags) {


Commit: 6b0d938737f99cd9388462bf7167619f609e116e
    https://github.com/scummvm/scummvm/commit/6b0d938737f99cd9388462bf7167619f609e116e
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:09:42+03:00

Commit Message:
FULLPIPE: Removed couple of PtrList usages for code clarity

Changed paths:
    engines/fullpipe/gfx.cpp
    engines/fullpipe/gfx.h
    engines/fullpipe/scene.cpp
    engines/fullpipe/scene.h
    engines/fullpipe/scenes.cpp
    engines/fullpipe/stateloader.cpp



diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 7c66a9a..74f6b6c 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -145,7 +145,7 @@ void Background::addPictureObject(PictureObject *pct) {
 
 	bool inserted = false;
 	for (uint i = 1; i < _picObjList.size(); i++) {
-		if (((PictureObject *)_picObjList[i])->_priority <= pct->_priority) {
+		if (_picObjList[i]->_priority <= pct->_priority) {
 			_picObjList.insert_at(i, pct);
 			inserted = true;
 			break;
@@ -351,7 +351,25 @@ void GameObject::setOXY(int x, int y) {
 	_oy = y;
 }
 
-void GameObject::renumPictures(PtrList *lst) {
+void GameObject::renumPictures(Common::Array<StaticANIObject *> *lst) {
+	int *buf = (int *)calloc(lst->size() + 2, sizeof(int));
+
+	for (uint i = 0; i < lst->size(); i++) {
+		if (_id == ((GameObject *)((*lst)[i]))->_id)
+			buf[((GameObject *)((*lst)[i]))->_okeyCode] = 1;
+	}
+
+	if (buf[_okeyCode]) {
+		uint count;
+		for (count = 1; buf[count] && count < lst->size() + 2; count++)
+			;
+		_okeyCode = count;
+	}
+
+	free(buf);
+}
+
+void GameObject::renumPictures(Common::Array<PictureObject *> *lst) {
 	int *buf = (int *)calloc(lst->size() + 2, sizeof(int));
 
 	for (uint i = 0; i < lst->size(); i++) {
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index b3e22b6..7e40d4b 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -141,7 +141,8 @@ class GameObject : public CObject {
 
 	virtual bool load(MfcArchive &file);
 	void setOXY(int x, int y);
-	void renumPictures(PtrList *lst);
+	void renumPictures(Common::Array<StaticANIObject *> *lst);
+	void renumPictures(Common::Array<PictureObject *> *lst);
 	void setFlags(int16 flags) { _flags = flags; }
 	void clearFlags() { _flags = 0; }
 	const char *getName() { return _objectName; }
@@ -178,7 +179,7 @@ class PictureObject : public GameObject {
 
 class Background : public CObject {
   public:
-	PtrList _picObjList;
+	Common::Array<PictureObject *> _picObjList;
 
 	char *_bgname;
 	int _x;
diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index a626b01..b1af035 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -145,7 +145,7 @@ Scene::~Scene() {
 	_messageQueueList.clear();
 
 	for (int i = 0; i < _staticANIObjectList1.size(); i++)
-		delete (StaticANIObject *)_staticANIObjectList1[i];
+		delete _staticANIObjectList1[i];
 
 	_staticANIObjectList1.clear();
 
@@ -269,7 +269,7 @@ bool Scene::load(MfcArchive &file) {
 
 void Scene::initStaticANIObjects() {
 	for (uint i = 0; i < _staticANIObjectList1.size(); i++)
-		((StaticANIObject *)_staticANIObjectList1[i])->initMovements();
+		_staticANIObjectList1[i]->initMovements();
 }
 
 void Scene::init() {
@@ -282,13 +282,13 @@ void Scene::init() {
 		((PictureObject *)_picObjList[i])->clearFlags();
 
 	for (uint i = 0; i < _staticANIObjectList1.size(); i++)
-		((StaticANIObject *)_staticANIObjectList1[i])->clearFlags();
+		_staticANIObjectList1[i]->clearFlags();
 
 	if (_staticANIObjectList2.size() != _staticANIObjectList1.size()) {
 		_staticANIObjectList2.clear();
 
-		for (PtrList::iterator s = _staticANIObjectList1.begin(); s != _staticANIObjectList1.end(); ++s)
-			_staticANIObjectList2.push_back(*s);
+		for (int i = 0; i < _staticANIObjectList1.size(); i++)
+			_staticANIObjectList2.push_back(_staticANIObjectList1[i]);
 	}
 }
 
@@ -301,35 +301,33 @@ StaticANIObject *Scene::getAniMan() {
 }
 
 StaticANIObject *Scene::getStaticANIObject1ById(int obj, int a3) {
-	for (PtrList::iterator s = _staticANIObjectList1.begin(); s != _staticANIObjectList1.end(); ++s) {
-		StaticANIObject *o = (StaticANIObject *)*s;
-		if (o->_id == obj && (a3 == -1 || o->_okeyCode == a3))
-			return o;
+	for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
+		if (_staticANIObjectList1[i]->_id == obj && (a3 == -1 || _staticANIObjectList1[i]->_okeyCode == a3))
+			return _staticANIObjectList1[i];
 	}
 
 	return 0;
 }
 
 StaticANIObject *Scene::getStaticANIObject1ByName(char *name, int a3) {
-	for (uint n = 0; n < _staticANIObjectList1.size(); n++) {
-		StaticANIObject *o = (StaticANIObject *)_staticANIObjectList1[n];
-		if (!strcmp(o->_objectName, name) && (a3 == -1 || o->_okeyCode == a3))
-			return o;
+	for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
+		if (!strcmp(_staticANIObjectList1[i]->_objectName, name) && (a3 == -1 || _staticANIObjectList1[i]->_okeyCode == a3))
+			return _staticANIObjectList1[i];
 	}
 
 	return 0;
 }
 
 void Scene::deleteStaticANIObject(StaticANIObject *obj) {
-	for (uint n = 0; n < _staticANIObjectList1.size(); n++)
-		if ((StaticANIObject *)_staticANIObjectList1[n] == obj) {
-			_staticANIObjectList1.remove_at(n);
+	for (uint i = 0; i < _staticANIObjectList1.size(); i++)
+		if (_staticANIObjectList1[i] == obj) {
+			_staticANIObjectList1.remove_at(i);
 			break;
 		}
 
-	for (uint n = 0; n < _staticANIObjectList2.size(); n++)
-		if ((StaticANIObject *)_staticANIObjectList2[n] == obj) {
-			_staticANIObjectList2.remove_at(n);
+	for (uint i = 0; i < _staticANIObjectList2.size(); i++)
+		if (_staticANIObjectList2[i] == obj) {
+			_staticANIObjectList2.remove_at(i);
 			break;
 		}
 }
@@ -468,15 +466,27 @@ void Scene::initObjectCursors(const char *varname) {
 }
 
 bool Scene::compareObjPriority(const void *p1, const void *p2) {
-	if (((const StaticANIObject *)p1)->_priority > ((const StaticANIObject *)p2)->_priority)
+	if (((const GameObject *)p1)->_priority > ((const GameObject *)p2)->_priority)
 		return true;
 
 	return false;
 }
 
-void Scene::objectList_sortByPriority(PtrList &list, bool skipFirst) {
+void Scene::objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bool skipFirst) {
+	if (skipFirst) {
+		Common::Array<StaticANIObject *>::iterator s = list.begin();
+
+		++s;
+
+		Common::sort(s, list.end(), Scene::compareObjPriority);
+	} else {
+		Common::sort(list.begin(), list.end(), Scene::compareObjPriority);
+	}
+}
+
+void Scene::objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst) {
 	if (skipFirst) {
-		PtrList::iterator s = list.begin();
+		Common::Array<PictureObject *>::iterator s = list.begin();
 
 		++s;
 
@@ -497,16 +507,15 @@ void Scene::draw() {
 
 	objectList_sortByPriority(_staticANIObjectList2);
 
-	for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s) {
-		((StaticANIObject *)*s)->draw2();
-	}
+	for (int i = 0; i < _staticANIObjectList2.size(); i++)
+		_staticANIObjectList2[i]->draw2();
 
 	int priority = -1;
-	for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s) {
-		drawContent(((StaticANIObject *)*s)->_priority, priority, false);
-		((StaticANIObject *)*s)->draw();
+	for (int i = 0; i < _staticANIObjectList2.size(); i++) {
+		drawContent(_staticANIObjectList2[i]->_priority, priority, false);
+		_staticANIObjectList2[i]->draw();
 
-		priority = ((StaticANIObject *)*s)->_priority;
+		priority = _staticANIObjectList2[i]->_priority;
 	}
 
 	drawContent(-1, priority, false);
@@ -587,7 +596,7 @@ StaticANIObject *Scene::getStaticANIObjectAtPos(int x, int y) {
 	StaticANIObject *res = 0;
 
 	for (uint i = 0; i < _staticANIObjectList1.size(); i++) {
-		StaticANIObject *p = (StaticANIObject *)_staticANIObjectList1[i];
+		StaticANIObject *p = _staticANIObjectList1[i];
 		int pixel;
 
 		if ((p->_field_8 & 0x100) && (p->_flags & 4) &&
@@ -633,8 +642,8 @@ int Scene::getPictureObjectIdAtPos(int x, int y) {
 void Scene::update(int counterdiff) {
 	debug(6, "Scene::update(%d)", counterdiff);
 
-	for (PtrList::iterator s = _staticANIObjectList2.begin(); s != _staticANIObjectList2.end(); ++s)
-		((StaticANIObject *)*s)->update(counterdiff);
+	for (int i = 0; i < _staticANIObjectList2.size(); i++)
+		_staticANIObjectList2[i]->update(counterdiff);
 }
 
 void Scene::drawContent(int minPri, int maxPri, bool drawBg) {
diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h
index 8306974..ef39bbf 100644
--- a/engines/fullpipe/scene.h
+++ b/engines/fullpipe/scene.h
@@ -31,8 +31,8 @@ class MessageQueue;
 
 class Scene : public Background {
  public:
-	PtrList _staticANIObjectList1;
-	PtrList _staticANIObjectList2;
+	Common::Array<StaticANIObject *> _staticANIObjectList1;
+	Common::Array<StaticANIObject *> _staticANIObjectList2;
 	PtrList _messageQueueList;
 	PtrList _faObjectList;
 	Shadows *_shadows;
@@ -82,7 +82,8 @@ class Scene : public Background {
 
   private:
 	static bool compareObjPriority(const void *p1, const void *p2);
-	void objectList_sortByPriority(PtrList &list, bool skipFirst = false);
+	void objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bool skipFirst = false);
+	void objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst = false);
 };
 
 class SceneTag : public CObject {
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 7420c1b1..72d73a9 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -590,10 +590,8 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) {
 
 	scene->setPictureObjectsFlag4();
 
-	for (PtrList::iterator s = scene->_staticANIObjectList1.begin(); s != scene->_staticANIObjectList1.end(); ++s) {
-		StaticANIObject *o = (StaticANIObject *)*s;
-		o->setFlags(o->_flags & 0xFE7F);
-	}
+	for (uint i = 0; i < scene->_staticANIObjectList1.size(); i++)
+		scene->_staticANIObjectList1[i]->_flags &= 0xFE7F;
 
 	PictureObject *p = accessScene(SC_INV)->getPictureObjectById(PIC_INV_MENU, 0);
 	p->setFlags(p->_flags & 0xFFFB);
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp
index e36b196..4164145 100644
--- a/engines/fullpipe/stateloader.cpp
+++ b/engines/fullpipe/stateloader.cpp
@@ -55,9 +55,8 @@ bool FullpipeEngine::loadGam(const char *fname, int scene) {
 
 	_inventory->rebuildItemRects();
 
-	for (PtrList::iterator p = _inventory->getScene()->_picObjList.begin(); p != _inventory->getScene()->_picObjList.end(); ++p) {
-		((MemoryObject *)((PictureObject *)*p)->_picture)->load();
-	}
+	for (uint i = 0; i < _inventory->getScene()->_picObjList.size(); i++)
+		((MemoryObject *)_inventory->getScene()->_picObjList[i]->_picture)->load();
 
 	// _sceneSwitcher = sceneSwitcher; // substituted with direct call
 	_gameLoader->_preloadCallback = preloadCallback;


Commit: 3b54cc0e8153d0a91ecc5825ccb3144f7303b260
    https://github.com/scummvm/scummvm/commit/3b54cc0e8153d0a91ecc5825ccb3144f7303b260
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:11:42+03:00

Commit Message:
FULLPIPE: ditto for Scene::_messageQueueList

Changed paths:
    engines/fullpipe/scene.cpp
    engines/fullpipe/scene.h



diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index b1af035..5dde566 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -140,7 +140,7 @@ Scene::~Scene() {
 	// _faObjlist is not used
 
 	for (int i = 0; i < _messageQueueList.size(); i++)
-		delete (MessageQueue *)_messageQueueList[i];
+		delete _messageQueueList[i];
 
 	_messageQueueList.clear();
 
@@ -388,16 +388,16 @@ void Scene::deletePictureObject(PictureObject *obj) {
 
 MessageQueue *Scene::getMessageQueueById(int messageId) {
 	for (uint i = 0; i < _messageQueueList.size(); i++)
-		if (((MessageQueue *)_messageQueueList[i])->_dataId == messageId)
-			return (MessageQueue *)_messageQueueList[i];
+		if (_messageQueueList[i]->_dataId == messageId)
+			return _messageQueueList[i];
 
 	return 0;
 }
 
 MessageQueue *Scene::getMessageQueueByName(char *name) {
 	for (uint i = 0; i < _messageQueueList.size(); i++)
-		if (!strcmp(((MessageQueue *)_messageQueueList[i])->_queueName, name))
-			return (MessageQueue *)_messageQueueList[i];
+		if (!strcmp(_messageQueueList[i]->_queueName, name))
+			return _messageQueueList[i];
 
 	return 0;
 }
diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h
index ef39bbf..6c53755 100644
--- a/engines/fullpipe/scene.h
+++ b/engines/fullpipe/scene.h
@@ -33,7 +33,7 @@ class Scene : public Background {
  public:
 	Common::Array<StaticANIObject *> _staticANIObjectList1;
 	Common::Array<StaticANIObject *> _staticANIObjectList2;
-	PtrList _messageQueueList;
+	Common::Array<MessageQueue *> _messageQueueList;
 	PtrList _faObjectList;
 	Shadows *_shadows;
 	SoundList *_soundList;


Commit: cdcf9c5d89154b55b6b034ff84b35acab1b80a41
    https://github.com/scummvm/scummvm/commit/cdcf9c5d89154b55b6b034ff84b35acab1b80a41
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:12:30+03:00

Commit Message:
FULLPIPE: Remove unused class variable

Changed paths:
    engines/fullpipe/scene.h



diff --git a/engines/fullpipe/scene.h b/engines/fullpipe/scene.h
index 6c53755..1e2dae8 100644
--- a/engines/fullpipe/scene.h
+++ b/engines/fullpipe/scene.h
@@ -34,7 +34,7 @@ class Scene : public Background {
 	Common::Array<StaticANIObject *> _staticANIObjectList1;
 	Common::Array<StaticANIObject *> _staticANIObjectList2;
 	Common::Array<MessageQueue *> _messageQueueList;
-	PtrList _faObjectList;
+	// PtrList _faObjectList; // not used
 	Shadows *_shadows;
 	SoundList *_soundList;
 	int16 _sceneId;


Commit: 79cb4b994dbe063b8f891f3282f25417b250a3a1
    https://github.com/scummvm/scummvm/commit/79cb4b994dbe063b8f891f3282f25417b250a3a1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:18:39+03:00

Commit Message:
FULLPIPE: Remove PtrList usage in gfx.cpp

Changed paths:
    engines/fullpipe/gfx.cpp
    engines/fullpipe/gfx.h



diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp
index 74f6b6c..b4eba44 100644
--- a/engines/fullpipe/gfx.cpp
+++ b/engines/fullpipe/gfx.cpp
@@ -192,7 +192,7 @@ bool PictureObject::load(MfcArchive &file, bool bigPicture) {
 
 	_picture->load(file);
 
-	_pictureObject2List = new PtrList();
+	_pictureObject2List = new Common::Array<GameObject *>;
 
 	int count = file.readUint16LE();
 
diff --git a/engines/fullpipe/gfx.h b/engines/fullpipe/gfx.h
index 7e40d4b..714247e 100644
--- a/engines/fullpipe/gfx.h
+++ b/engines/fullpipe/gfx.h
@@ -154,7 +154,7 @@ class GameObject : public CObject {
 class PictureObject : public GameObject {
   public:
 	Picture *_picture;
-	PtrList *_pictureObject2List;
+	Common::Array<GameObject *> *_pictureObject2List;
 	int _ox2;
 	int _oy2;
 


Commit: 2e7d5caa315c586d486f22f79fef38d3b0d2431c
    https://github.com/scummvm/scummvm/commit/2e7d5caa315c586d486f22f79fef38d3b0d2431c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:29:15+03:00

Commit Message:
FULLPIPE: Removed PtrList usage in statics.cpp

Changed paths:
    engines/fullpipe/statics.cpp
    engines/fullpipe/statics.h



diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp
index 3b99afc..03cbc8e 100644
--- a/engines/fullpipe/statics.cpp
+++ b/engines/fullpipe/statics.cpp
@@ -164,22 +164,21 @@ StaticANIObject::StaticANIObject(StaticANIObject *src) : GameObject(src) {
 	_objtype = kObjTypeStaticANIObject;
 
 	for (uint i = 0; i < src->_staticsList.size(); i++)
-		_staticsList.push_back(new Statics((Statics *)src->_staticsList[i], 0));
+		_staticsList.push_back(new Statics(src->_staticsList[i], 0));
 
 	_movement = 0;
 	_statics = 0;
 
 	for (uint i = 0; i < src->_movements.size(); i++) {
 		Movement *newmov;
-		Movement *mov = (Movement *)src->_movements[i];
 
-		if (mov->_currMovement) {
+		if (src->_movements[i]->_currMovement) {
 			// WORKAROUND: Original uses weird construction here:
 			//    new Movement(getMovementById(src->getMovementIdById(mov->_id)), this);
-			newmov = new Movement(src->getMovementById(src->getMovementIdById(mov->_id)), this);
-			newmov->_id = mov->_id;
+			newmov = new Movement(src->getMovementById(src->getMovementIdById(src->_movements[i]->_id)), this);
+			newmov->_id = src->_movements[i]->_id;
 		} else {
-			newmov = new Movement(mov, 0, -1, this);
+			newmov = new Movement(src->_movements[i], 0, -1, this);
 		}
 
 		_movements.push_back(newmov);
@@ -224,7 +223,7 @@ bool StaticANIObject::load(MfcArchive &file) {
 
 	Common::Point pt;
 	if (count) { // We have movements
-		((Movement *)_movements[0])->getCurrDynamicPhaseXY(pt);
+		_movements[0]->getCurrDynamicPhaseXY(pt);
 	} else {
 		pt.x = pt.y = 100;
 	}
@@ -392,34 +391,36 @@ bool StaticANIObject::isIdle() {
 
 Statics *StaticANIObject::getStaticsById(int itemId) {
 	for (uint i = 0; i < _staticsList.size(); i++)
-		if (((Statics *)_staticsList[i])->_staticsId == itemId)
-			return (Statics *)_staticsList[i];
+		if (_staticsList[i]->_staticsId == itemId)
+			return _staticsList[i];
 
 	return 0;
 }
 
 Statics *StaticANIObject::getStaticsByName(char *name) {
 	for (uint i = 0; i < _staticsList.size(); i++)
-		if (!strcmp(((Statics *)_staticsList[i])->_staticsName, name))
-			return (Statics *)_staticsList[i];
+		if (!strcmp(_staticsList[i]->_staticsName, name))
+			return _staticsList[i];
 
 	return 0;
 }
 
 Movement *StaticANIObject::getMovementById(int itemId) {
 	for (uint i = 0; i < _movements.size(); i++)
-		if (((Movement *)_movements[i])->_id == itemId)
-			return (Movement *)_movements[i];
+		if (_movements[i]->_id == itemId)
+			return _movements[i];
 
 	return 0;
 }
 
 int StaticANIObject::getMovementIdById(int itemId) {
 	for (uint i = 0; i < _movements.size(); i++) {
-		Movement *mov = (Movement *)_movements[i];
+		Movement *mov = _movements[i];
+
 		if (mov->_currMovement) {
 			if (mov->_id == itemId)
 				return mov->_id;
+
 			if (mov->_currMovement->_id == itemId)
 				return mov->_id;
 		}
@@ -430,8 +431,8 @@ int StaticANIObject::getMovementIdById(int itemId) {
 
 Movement *StaticANIObject::getMovementByName(char *name) {
 	for (uint i = 0; i < _movements.size(); i++)
-		if (!strcmp(((Movement *)_movements[i])->_objectName, name))
-			return (Movement *)_movements[i];
+		if (!strcmp(_movements[i]->_objectName, name))
+			return _movements[i];
 
 	return 0;
 }
@@ -551,12 +552,12 @@ void Movement::draw(bool flipFlag, int angle) {
 
 void StaticANIObject::loadMovementsPixelData() {
 	for (uint i = 0; i < _movements.size(); i++)
-		((Movement *)_movements[i])->loadPixelData();
+		_movements[i]->loadPixelData();
 }
 
 void StaticANIObject::freeMovementsPixelData() {
 	for (uint i = 0; i < _movements.size(); i++)
-		((Movement *)_movements[i])->freePixelData();
+		_movements[i]->freePixelData();
 }
 
 Statics *StaticANIObject::addReverseStatics(Statics *st) {
@@ -665,11 +666,10 @@ MovTable *StaticANIObject::countMovements() {
 	movTable->movs = (int16 *)calloc(_movements.size(), sizeof(int16));
 
 	for (uint i = 0; i < _movements.size(); i++) {
-		GameObject *obj = (GameObject *)_movements[i];
 		movTable->movs[i] = 2;
 
 		for (GameVar *sub = preloadSubVar->_subVars; sub; sub = sub->_nextVarObj) {
-			if (scumm_stricmp(obj->getName(), sub->_varName) == 0) {
+			if (scumm_stricmp(_movements[i]->getName(), sub->_varName) == 0) {
 				movTable->movs[i] = 1;
 				break;
 			}
@@ -702,21 +702,21 @@ void StaticANIObject::setSpeed(int speed) {
 
 void StaticANIObject::setAlpha(int alpha) {
 	for (uint i = 0; i < _movements.size(); i++)
-		((Movement *)_movements[i])->setAlpha(alpha);
+		_movements[i]->setAlpha(alpha);
 	
 	for (uint i = 0; i < _staticsList.size(); i++)
-		((Statics *)_staticsList[i])->setAlpha(alpha);
+		_staticsList[i]->setAlpha(alpha);
 }
 
 void StaticANIObject::initMovements() {
 	for (uint i = 0; i < _movements.size(); i++)
-		((Movement *)_movements[i])->removeFirstPhase();
+		_movements[i]->removeFirstPhase();
 }
 
 void StaticANIObject::preloadMovements(MovTable *mt) {
-	if ( mt ) {
+	if (mt) {
 		for (uint i = 0; i < _movements.size(); i++) {
-			Movement *mov = (Movement *)_movements[i];
+			Movement *mov = _movements[i];
 
 			if (mt->movs[i] == 1)
 				mov->loadPixelData();
@@ -1177,8 +1177,8 @@ void StaticANIObject::startAnimSteps(int movementId, int messageQueueId, int x,
 	if (!(_flags & 0x80)) {
 		if (!_messageQueueId)
 			for (uint i = 0; i < _movements.size(); i++) {
-				if (((Movement *)_movements[i])->_id == movementId) {
-					mov = (Movement *)_movements[i];
+				if (_movements[i]->_id == movementId) {
+					mov = _movements[i];
 					break;
 				}
 			}
@@ -1276,9 +1276,8 @@ bool StaticANIObject::startAnim(int movementId, int messageQueueId, int dynPhase
 	Movement *mov = 0;
 
 	for (uint i = 0; i < _movements.size(); i++) {
-
-		if (((Movement *)_movements[i])->_id == movementId) {
-			mov = (Movement *)_movements[i];
+		if (_movements[i]->_id == movementId) {
+			mov = _movements[i];
 			break;
 		}
 	}
@@ -1501,7 +1500,7 @@ Movement::~Movement() {
 			_dynamicPhases.remove_at(0);
 
 		for (uint i = 0; i < _dynamicPhases.size(); i++)
-			delete (DynamicPhase *)_dynamicPhases[i];
+			delete _dynamicPhases[i];
 
 		_dynamicPhases.clear();
 	}
@@ -1761,11 +1760,11 @@ Common::Point *Movement::calcSomeXY(Common::Point &p, int idx) {
 void Movement::setAlpha(int alpha) {
 	if (_currMovement)
 		for (uint i = 0; i < _currMovement->_dynamicPhases.size(); i++) {
-			((DynamicPhase *)_currMovement->_dynamicPhases[i])->setAlpha(alpha);
+			_currMovement->_dynamicPhases[i]->setAlpha(alpha);
 		}
 	else
 		for (uint i = 0; i < _dynamicPhases.size(); i++) {
-			((DynamicPhase *)_dynamicPhases[i])->setAlpha(alpha);
+			_dynamicPhases[i]->setAlpha(alpha);
 		}
 }
 
@@ -1778,9 +1777,9 @@ Common::Point *Movement::getDimensionsOfPhase(Common::Point *p, int phaseIndex)
 	DynamicPhase *dyn;
 
 	if (_currMovement)
-		dyn = (DynamicPhase *)_currMovement->_dynamicPhases[idx];
+		dyn = _currMovement->_dynamicPhases[idx];
 	else
-		dyn = (DynamicPhase *)_dynamicPhases[idx];
+		dyn = _dynamicPhases[idx];
 
 	Common::Point point;
 
@@ -1829,13 +1828,13 @@ void Movement::updateCurrDynamicPhase() {
 			return;
 
 		if (_currMovement->_dynamicPhases[_currDynamicPhaseIndex])
-			_currDynamicPhase = (DynamicPhase *)_currMovement->_dynamicPhases[_currDynamicPhaseIndex];
+			_currDynamicPhase = _currMovement->_dynamicPhases[_currDynamicPhaseIndex];
 	} else {
 		if (_dynamicPhases.size() == 0 || (uint)_currDynamicPhaseIndex >= _dynamicPhases.size())
 			return;
 
 		if (_dynamicPhases[_currDynamicPhaseIndex])
-			_currDynamicPhase = (DynamicPhase *)_dynamicPhases[_currDynamicPhaseIndex];
+			_currDynamicPhase = _dynamicPhases[_currDynamicPhaseIndex];
 	}
 }
 
@@ -1844,11 +1843,11 @@ int Movement::calcDuration() {
 
 	if (_currMovement)
 		for (uint i = 0; i < _currMovement->_dynamicPhases.size(); i++) {
-			res += ((DynamicPhase *)_currMovement->_dynamicPhases[i])->_initialCountdown;
+			res += _currMovement->_dynamicPhases[i]->_initialCountdown;
 		}
 	else
 		for (uint i = 0; i < _dynamicPhases.size(); i++) {
-			res += ((DynamicPhase *)_dynamicPhases[i])->_initialCountdown;
+			res += _dynamicPhases[i]->_initialCountdown;
 		}
 
 	return res;
@@ -1889,12 +1888,12 @@ DynamicPhase *Movement::getDynamicPhaseByIndex(int idx) {
 		if (_currMovement->_dynamicPhases.size() == 0 || (uint)idx >= _currMovement->_dynamicPhases.size())
 			return 0;
 
-		return (DynamicPhase *)_currMovement->_dynamicPhases[idx];
+		return _currMovement->_dynamicPhases[idx];
 	} else {
 		if (_dynamicPhases.size() == 0 || (uint)idx >= _dynamicPhases.size())
 			return 0;
 
-		return (DynamicPhase *)_dynamicPhases[idx];
+		return _dynamicPhases[idx];
 	}
 }
 
@@ -1905,7 +1904,7 @@ void Movement::loadPixelData() {
 
 	for (uint i = 0; i < _dynamicPhases.size(); i++) {
 		if ((Statics *)_dynamicPhases[i] != mov->_staticsObj2 || !(mov->_staticsObj2->_staticsId & 0x4000))
-			((Statics *)_dynamicPhases[i])->getPixelData();
+			_dynamicPhases[i]->getPixelData();
 	}
 
 	if (!(mov->_staticsObj1->_staticsId & 0x4000))
@@ -1915,7 +1914,7 @@ void Movement::loadPixelData() {
 void Movement::freePixelData() {
 	if (!_currMovement)
 		for (uint i = 0; i < _dynamicPhases.size(); i++)
-			((DynamicPhase *)_dynamicPhases[i])->freePixelData();
+			_dynamicPhases[i]->freePixelData();
 
 	if (_staticsObj1)
 		_staticsObj1->freePixelData();
@@ -1947,11 +1946,11 @@ bool Movement::gotoNextFrame(void (*callback1)(int, Common::Point *point, int, i
 	if (!callback2) {
 		if (_currMovement) {
 			if ((uint)_currDynamicPhaseIndex == _currMovement->_dynamicPhases.size() - 1
-				&& !(((DynamicPhase *)(_currMovement->_dynamicPhases.back()))->_countdown)) {
+				&& !(_currMovement->_dynamicPhases.back()->_countdown)) {
 				return false;
 			}
 		} else if ((uint)_currDynamicPhaseIndex == _dynamicPhases.size() - 1
-				   && !(((DynamicPhase *)(_dynamicPhases.back()))->_countdown)) {
+				   && !(_dynamicPhases.back()->_countdown)) {
 			return false;
 		}
 	}
diff --git a/engines/fullpipe/statics.h b/engines/fullpipe/statics.h
index d678957..be88b4e 100644
--- a/engines/fullpipe/statics.h
+++ b/engines/fullpipe/statics.h
@@ -121,7 +121,7 @@ class Movement : public GameObject {
 	int _field_50;
 	int _counterMax;
 	int _counter;
-	PtrList _dynamicPhases;
+	Common::Array<DynamicPhase *> _dynamicPhases;
 	int _field_78;
 	Common::Point **_framePosOffsets;
 	Movement *_currMovement;
@@ -181,8 +181,8 @@ class StaticANIObject : public GameObject {
 	int _initialCounter;
 	void (*_callback1)(int, Common::Point *point, int, int);
 	void (*_callback2)(int *);
-	PtrList _movements;
-	PtrList _staticsList;
+	Common::Array<Movement *> _movements;
+	Common::Array<Statics *> _staticsList;
 	StepArray _stepArray;
 	int16 _field_96;
 	int _messageQueueId;


Commit: b5385f600341b9dab3ae9322da9b4b7182f52292
    https://github.com/scummvm/scummvm/commit/b5385f600341b9dab3ae9322da9b4b7182f52292
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-05-02T12:30:09+03:00

Commit Message:
FULLPIPE: Remove now unused PtrList

Changed paths:
    engines/fullpipe/utils.h



diff --git a/engines/fullpipe/utils.h b/engines/fullpipe/utils.h
index 3e3ec0b..da3ab7e 100644
--- a/engines/fullpipe/utils.h
+++ b/engines/fullpipe/utils.h
@@ -149,8 +149,6 @@ class DWordArray : public Common::Array<int32>, public CObject {
 	virtual bool load(MfcArchive &file);
 };
 
-typedef Common::Array<void *> PtrList;
-
 char *genFileName(int superId, int sceneId, const char *ext);
 byte *transCyrillic(byte *s);
 






More information about the Scummvm-git-logs mailing list