[Scummvm-git-logs] scummvm master -> dea4b64839a90b3dfc2503b77439f24ba30f9b47
sev-
sev at scummvm.org
Mon Sep 26 20:41:24 CEST 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
dea4b64839 FULLPIPE: Assign unique number to objects in the scene, so they stay stable
Commit: dea4b64839a90b3dfc2503b77439f24ba30f9b47
https://github.com/scummvm/scummvm/commit/dea4b64839a90b3dfc2503b77439f24ba30f9b47
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-09-26T20:41:17+02:00
Commit Message:
FULLPIPE: Assign unique number to objects in the scene, so they stay stable
Changed paths:
engines/fullpipe/scene.cpp
engines/fullpipe/scenes/scene04.cpp
diff --git a/engines/fullpipe/scene.cpp b/engines/fullpipe/scene.cpp
index 9e44449..cba688a 100644
--- a/engines/fullpipe/scene.cpp
+++ b/engines/fullpipe/scene.cpp
@@ -333,6 +333,10 @@ void Scene::deleteStaticANIObject(StaticANIObject *obj) {
}
void Scene::addStaticANIObject(StaticANIObject *obj, bool addList2) {
+ // WORKAROUND: This is used for making sure that the objects
+ // with same priority do not get swapped during drawing
+ obj->_cnum = _staticANIObjectList2.size() + 1;
+
if (obj->_odelay)
obj->renumPictures(&_staticANIObjectList1);
@@ -477,10 +481,6 @@ bool Scene::compareObjPriority(const void *p1, const void *p2) {
}
void Scene::objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bool skipFirst) {
- // Ensure the sort is stable
- for (uint i = 0; i < list.size(); i++)
- list[i]->_cnum = i;
-
if (skipFirst) {
Common::Array<StaticANIObject *>::iterator s = list.begin();
@@ -493,10 +493,6 @@ void Scene::objectList_sortByPriority(Common::Array<StaticANIObject *> &list, bo
}
void Scene::objectList_sortByPriority(Common::Array<PictureObject *> &list, bool skipFirst) {
- // Ensure the sort is stable
- for (uint i = 0; i < list.size(); i++)
- list[i]->_cnum = i;
-
if (skipFirst) {
Common::Array<PictureObject *>::iterator s = list.begin();
@@ -519,12 +515,14 @@ void Scene::draw() {
objectList_sortByPriority(_staticANIObjectList2);
- for (uint i = 0; i < _staticANIObjectList2.size(); i++)
+ for (uint i = 0; i < _staticANIObjectList2.size(); i++) {
_staticANIObjectList2[i]->draw2();
+ }
int priority = -1;
for (uint i = 0; i < _staticANIObjectList2.size(); i++) {
drawContent(_staticANIObjectList2[i]->_priority, priority, false);
+
_staticANIObjectList2[i]->draw();
priority = _staticANIObjectList2[i]->_priority;
diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp
index 6c746b8..c3557cc 100644
--- a/engines/fullpipe/scenes/scene04.cpp
+++ b/engines/fullpipe/scenes/scene04.cpp
@@ -43,6 +43,8 @@ static const int scene04_speakerPhases[] = {
0, 2, -1, -1, -1, -1
};
+void sceneHandler04_putKozyawkaBack(StaticANIObject *ani);
+
void scene04_speakerCallback(int *phase) {
if (g_vars->scene04_soundPlaying) {
if (g_vars->scene04_speakerPhase >= 0) {
More information about the Scummvm-git-logs
mailing list