[Scummvm-cvs-logs] SF.net SVN: scummvm:[41626] scummvm/branches/gsoc2009-16bit
Kirben at users.sourceforge.net
Kirben at users.sourceforge.net
Thu Jun 18 09:12:53 CEST 2009
Revision: 41626
http://scummvm.svn.sourceforge.net/scummvm/?rev=41626&view=rev
Author: Kirben
Date: 2009-06-18 07:12:53 +0000 (Thu, 18 Jun 2009)
Log Message:
-----------
Merged revisions 41625 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
........
r41625 | Kirben | 2009-06-18 16:18:31 +1000 (Thu, 18 Jun 2009) | 1 line
Correct actor layering method in HE90+ games.
........
Modified Paths:
--------------
scummvm/branches/gsoc2009-16bit/engines/scumm/actor.cpp
scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v100he.cpp
scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v72he.cpp
Property Changed:
----------------
scummvm/branches/gsoc2009-16bit/
Property changes on: scummvm/branches/gsoc2009-16bit
___________________________________________________________________
Modified: svnmerge-integrated
- /scummvm/trunk:1-41217 /scummvm/branches/gsoc2008-tfmx:1-31765 /scummvm/branches/gsoc2008-gui:1-31703
+ /scummvm/trunk:1-41217,41625 /scummvm/branches/gsoc2008-tfmx:1-31765 /scummvm/branches/gsoc2008-gui:1-31703
Modified: scummvm/branches/gsoc2009-16bit/engines/scumm/actor.cpp
===================================================================
--- scummvm/branches/gsoc2009-16bit/engines/scumm/actor.cpp 2009-06-18 06:18:31 UTC (rev 41625)
+++ scummvm/branches/gsoc2009-16bit/engines/scumm/actor.cpp 2009-06-18 07:12:53 UTC (rev 41626)
@@ -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/branches/gsoc2009-16bit/engines/scumm/he/script_v100he.cpp
===================================================================
--- scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v100he.cpp 2009-06-18 06:18:31 UTC (rev 41625)
+++ scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v100he.cpp 2009-06-18 07:12:53 UTC (rev 41626)
@@ -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/branches/gsoc2009-16bit/engines/scumm/he/script_v72he.cpp
===================================================================
--- scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v72he.cpp 2009-06-18 06:18:31 UTC (rev 41625)
+++ scummvm/branches/gsoc2009-16bit/engines/scumm/he/script_v72he.cpp 2009-06-18 07:12:53 UTC (rev 41626)
@@ -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