[Scummvm-cvs-logs] SF.net SVN: scummvm:[41625] scummvm/trunk/engines/scumm
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Thu Jun 18 08:18:31 CEST 2009
Revision: 41625
http://scummvm.svn.sourceforge.net/scummvm/?rev=41625&view=rev
Author: Kirben
Date: 2009-06-18 06:18:31 +0000 (Thu, 18 Jun 2009)
Log Message:
-----------
Correct actor layering method in HE90+ games.
Modified Paths:
--------------
scummvm/trunk/engines/scumm/actor.cpp
scummvm/trunk/engines/scumm/he/script_v100he.cpp
scummvm/trunk/engines/scumm/he/script_v72he.cpp
Modified: scummvm/trunk/engines/scumm/actor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/actor.cpp 2009-06-18 06:10:13 UTC (rev 41624)
+++ scummvm/trunk/engines/scumm/actor.cpp 2009-06-18 06:18:31 UTC (rev 41625)
@@ -1348,6 +1348,22 @@
}
}
}
+ } else if (_game.heversion >= 90) {
+ for (int j = 0; j < numactors; ++j) {
+ for (int i = 0; i < numactors; ++i) {
+ int sc_actor1 = _sortedActors[j]->_layer;
+ int sc_actor2 = _sortedActors[i]->_layer;
+ if (sc_actor1 < sc_actor2) {
+ SWAP(_sortedActors[i], _sortedActors[j]);
+ } else if (sc_actor1 == sc_actor2) {
+ sc_actor1 = _sortedActors[j]->getPos().y;
+ sc_actor2 = _sortedActors[i]->getPos().y;
+ if (sc_actor1 < sc_actor2) {
+ SWAP(_sortedActors[i], _sortedActors[j]);
+ }
+ }
+ }
+ }
} else {
for (int j = 0; j < numactors; ++j) {
for (int i = 0; i < numactors; ++i) {
Modified: scummvm/trunk/engines/scumm/he/script_v100he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v100he.cpp 2009-06-18 06:10:13 UTC (rev 41624)
+++ scummvm/trunk/engines/scumm/he/script_v100he.cpp 2009-06-18 06:18:31 UTC (rev 41625)
@@ -420,8 +420,7 @@
a->_needRedraw = true;
break;
case 59:
- // HE games use reverse order of layering, so we adjust
- a->_layer = -pop();
+ a->_layer = pop();
a->_needRedraw = true;
break;
case 63:
Modified: scummvm/trunk/engines/scumm/he/script_v72he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v72he.cpp 2009-06-18 06:10:13 UTC (rev 41624)
+++ scummvm/trunk/engines/scumm/he/script_v72he.cpp 2009-06-18 06:18:31 UTC (rev 41625)
@@ -770,8 +770,7 @@
a->setTalkCondition(k);
break;
case 43: // HE 90+
- // HE games use reverse order of layering, so we adjust
- a->_layer = -pop();
+ a->_layer = pop();
a->_needRedraw = true;
break;
case 64:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list