[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