diff UI/UiGame.cpp @ 2203:4bfee77e900d

DoInteractionWithTopmostZObject cleaned
author Ritor1
date Tue, 04 Feb 2014 17:29:04 +0600
parents d9caf2b3d8d5
children db94443ea4e7
line wrap: on
line diff
--- a/UI/UiGame.cpp	Mon Feb 03 23:07:15 2014 +0100
+++ b/UI/UiGame.cpp	Tue Feb 04 17:29:04 2014 +0600
@@ -684,7 +684,6 @@
 {
   double v3; // st7@1
   int v7; // eax@4
-  ODMFace *pFace; // eax@6
   const char *v14; // eax@8
   char *result; // eax@12
   unsigned int pMapID; // eax@14
@@ -718,12 +717,11 @@
         {
           for ( uint i = 0; i < (uint)pOutdoor->pBModels[j].uNumFaces; ++i )
           {
-            pFace = &pOutdoor->pBModels[j].pFaces[i];
-            if ( pFace->sCogTriggeredID )
+            if ( pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID )
             {
-              if ( !(BYTE2(pFace->uAttributes) & 0x10) )
+              if ( !(pOutdoor->pBModels[j].pFaces[i].uAttributes & FACE_UNKNOW) )
               {
-                v14 = GetEventHintString(pFace->sCogTriggeredID);
+                v14 = GetEventHintString(pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID);
                 if ( v14 )
                 {
                   if ( _stricmp(v14, "") )
@@ -1954,15 +1952,15 @@
     for (uint i = 0; i < (uint)pIndoor->pMapOutlines->uNumOutlines; ++i)
     {
       BLVMapOutline* pOutline = &pIndoor->pMapOutlines->pOutlines[i];
-      BLVFace* pFace1 = pIndoor->pFaces + pOutline->uFace1ID;
-      BLVFace* pFace2 = pIndoor->pFaces + pOutline->uFace2ID;
-      if (pFace1->Visible() && pFace2->Visible())
+      //BLVFace* pFace1 = &pIndoor->pFaces[pOutline->uFace1ID];
+      //BLVFace* pFace2 = &pIndoor->pFaces[pOutline->uFace2ID];
+      if (pIndoor->pFaces[pOutline->uFace1ID].Visible() && pIndoor->pFaces[pOutline->uFace2ID].Visible())
       {
         if ( pOutline->uFlags & 1 )
         {
           if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 &&
-             (pFace1->Clickable() || pFace2->Clickable()) &&
-             (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID))
+             (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) &&
+             (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID))
           {
             if (uNumBlueFacesInBLVMinimap < 49)
               pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i;
@@ -1980,13 +1978,13 @@
           }
           continue;
         }
-        if (pFace1->uAttributes & 0x80 || pFace2->uAttributes & 0x80)
+        if (pIndoor->pFaces[pOutline->uFace1ID].uAttributes & FACE_UNKNOW4 || pIndoor->pFaces[pOutline->uFace2ID].uAttributes & FACE_UNKNOW4)
         {
           pOutline->uFlags = pOutline->uFlags | 1;
           pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8);
           if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 &&
-             (pFace1->Clickable() || pFace2->Clickable()) &&
-             (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID))
+             (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) &&
+             (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID))
           {
             if (uNumBlueFacesInBLVMinimap < 49)
               pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i;