[Scummvm-cvs-logs] SF.net SVN: scummvm:[49144] scummvm/trunk/engines/parallaction/parallaction .cpp
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sat May 22 19:59:16 CEST 2010
Revision: 49144
http://scummvm.svn.sourceforge.net/scummvm/?rev=49144&view=rev
Author: peres001
Date: 2010-05-22 17:59:16 +0000 (Sat, 22 May 2010)
Log Message:
-----------
Apply patch 3004687 by fuzzie: allow usage of merge zones.
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/parallaction.cpp
Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp 2010-05-22 16:54:13 UTC (rev 49143)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp 2010-05-22 17:59:16 UTC (rev 49144)
@@ -652,11 +652,21 @@
}
bool Parallaction::checkSpecialZoneBox(ZonePtr z, uint32 type, uint x, uint y) {
- // not a special zone
- if ((z->getX() != -2) && (z->getX() != -3)) {
- return false;
+ // check if really a special zone
+ int gameType = getGameType();
+ if (gameType == GType_Nippon) {
+ // so-called special zones in NS have special x coordinates
+ if ((z->getX() != -2) && (z->getX() != -3)) {
+ return false;
+ }
}
-
+ if (gameType == GType_BRA) {
+ // so far, special zones in BRA are only merge zones
+ if (ACTIONTYPE(z) != kZoneMerge) {
+ return false;
+ }
+ }
+
// WORKAROUND: this huge condition is needed because we made TypeData a collection of structs
// instead of an union. So, merge->_obj1 and get->_icon were just aliases in the original engine,
// but we need to check it separately here. The same workaround is applied in freeZones.
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