[Scummvm-cvs-logs] SF.net SVN: scummvm:[49138] scummvm/trunk/engines/parallaction/parallaction .cpp
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Sat May 22 14:37:07 CEST 2010
Revision: 49138
http://scummvm.svn.sourceforge.net/scummvm/?rev=49138&view=rev
Author: peres001
Date: 2010-05-22 12:37:07 +0000 (Sat, 22 May 2010)
Log Message:
-----------
Use the kZoneYourself flag to check zones for self-use in BRA. See patch 3003626.
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/parallaction.cpp
Modified: scummvm/trunk/engines/parallaction/parallaction.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction.cpp 2010-05-22 12:36:52 UTC (rev 49137)
+++ scummvm/trunk/engines/parallaction/parallaction.cpp 2010-05-22 12:37:07 UTC (rev 49138)
@@ -687,15 +687,26 @@
debugC(5, kDebugExec, "checkZoneBox for %s (type = %x, x = %i, y = %i)", z->_name, type, x, y);
if (!z->hitRect(x, y)) {
-
// check for special zones (items defined in common.loc)
if (checkSpecialZoneBox(z, type, x, y))
return true;
- if (z->getX() != -1)
+ // check if self-use zone (nothing to do with kFlagsSelfuse)
+ int gameType = getGameType();
+ if (gameType == GType_Nippon) {
+ if (z->getX() != -1) { // no explicit self-use flag in NS
+ return false;
+ }
+ }
+ if (gameType == GType_BRA) {
+ if (!(z->_flags & kFlagsYourself)) {
+ return false;
+ }
+ }
+ if (!_char._ani->hitFrameRect(x, y)) {
return false;
- if (!_char._ani->hitFrameRect(x, y))
- return false;
+ }
+ // we get here only if (x,y) hits the character and the zone is marked as self-use
}
// normal Zone
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