Mercurial > mm7
comparison UI/UiGame.cpp @ 2203:4bfee77e900d
DoInteractionWithTopmostZObject cleaned
author | Ritor1 |
---|---|
date | Tue, 04 Feb 2014 17:29:04 +0600 |
parents | d9caf2b3d8d5 |
children | db94443ea4e7 |
comparison
equal
deleted
inserted
replaced
2202:44d956d4f838 | 2203:4bfee77e900d |
---|---|
682 //----- (004443D5) -------------------------------------------------------- | 682 //----- (004443D5) -------------------------------------------------------- |
683 const char *GameUI_GetMinimapHintText() | 683 const char *GameUI_GetMinimapHintText() |
684 { | 684 { |
685 double v3; // st7@1 | 685 double v3; // st7@1 |
686 int v7; // eax@4 | 686 int v7; // eax@4 |
687 ODMFace *pFace; // eax@6 | |
688 const char *v14; // eax@8 | 687 const char *v14; // eax@8 |
689 char *result; // eax@12 | 688 char *result; // eax@12 |
690 unsigned int pMapID; // eax@14 | 689 unsigned int pMapID; // eax@14 |
691 int global_coord_X; // [sp+10h] [bp-1Ch]@1 | 690 int global_coord_X; // [sp+10h] [bp-1Ch]@1 |
692 int global_coord_Y; // [sp+14h] [bp-18h]@1 | 691 int global_coord_Y; // [sp+14h] [bp-18h]@1 |
716 { | 715 { |
717 if ( pOutdoor->pBModels[j].uNumFaces ) | 716 if ( pOutdoor->pBModels[j].uNumFaces ) |
718 { | 717 { |
719 for ( uint i = 0; i < (uint)pOutdoor->pBModels[j].uNumFaces; ++i ) | 718 for ( uint i = 0; i < (uint)pOutdoor->pBModels[j].uNumFaces; ++i ) |
720 { | 719 { |
721 pFace = &pOutdoor->pBModels[j].pFaces[i]; | 720 if ( pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID ) |
722 if ( pFace->sCogTriggeredID ) | |
723 { | 721 { |
724 if ( !(BYTE2(pFace->uAttributes) & 0x10) ) | 722 if ( !(pOutdoor->pBModels[j].pFaces[i].uAttributes & FACE_UNKNOW) ) |
725 { | 723 { |
726 v14 = GetEventHintString(pFace->sCogTriggeredID); | 724 v14 = GetEventHintString(pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID); |
727 if ( v14 ) | 725 if ( v14 ) |
728 { | 726 { |
729 if ( _stricmp(v14, "") ) | 727 if ( _stricmp(v14, "") ) |
730 result = (char *)v14; | 728 result = (char *)v14; |
731 } | 729 } |
1952 uNumBlueFacesInBLVMinimap = 0; | 1950 uNumBlueFacesInBLVMinimap = 0; |
1953 | 1951 |
1954 for (uint i = 0; i < (uint)pIndoor->pMapOutlines->uNumOutlines; ++i) | 1952 for (uint i = 0; i < (uint)pIndoor->pMapOutlines->uNumOutlines; ++i) |
1955 { | 1953 { |
1956 BLVMapOutline* pOutline = &pIndoor->pMapOutlines->pOutlines[i]; | 1954 BLVMapOutline* pOutline = &pIndoor->pMapOutlines->pOutlines[i]; |
1957 BLVFace* pFace1 = pIndoor->pFaces + pOutline->uFace1ID; | 1955 //BLVFace* pFace1 = &pIndoor->pFaces[pOutline->uFace1ID]; |
1958 BLVFace* pFace2 = pIndoor->pFaces + pOutline->uFace2ID; | 1956 //BLVFace* pFace2 = &pIndoor->pFaces[pOutline->uFace2ID]; |
1959 if (pFace1->Visible() && pFace2->Visible()) | 1957 if (pIndoor->pFaces[pOutline->uFace1ID].Visible() && pIndoor->pFaces[pOutline->uFace2ID].Visible()) |
1960 { | 1958 { |
1961 if ( pOutline->uFlags & 1 ) | 1959 if ( pOutline->uFlags & 1 ) |
1962 { | 1960 { |
1963 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && | 1961 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && |
1964 (pFace1->Clickable() || pFace2->Clickable()) && | 1962 (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) && |
1965 (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID)) | 1963 (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID)) |
1966 { | 1964 { |
1967 if (uNumBlueFacesInBLVMinimap < 49) | 1965 if (uNumBlueFacesInBLVMinimap < 49) |
1968 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; | 1966 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; |
1969 } | 1967 } |
1970 else | 1968 else |
1978 v15 = 100; | 1976 v15 = 100; |
1979 pRenderer->RasterLine2D(pX, pY, pZ, pW, viewparams->pPalette[-v15 + 200]); | 1977 pRenderer->RasterLine2D(pX, pY, pZ, pW, viewparams->pPalette[-v15 + 200]); |
1980 } | 1978 } |
1981 continue; | 1979 continue; |
1982 } | 1980 } |
1983 if (pFace1->uAttributes & 0x80 || pFace2->uAttributes & 0x80) | 1981 if (pIndoor->pFaces[pOutline->uFace1ID].uAttributes & FACE_UNKNOW4 || pIndoor->pFaces[pOutline->uFace2ID].uAttributes & FACE_UNKNOW4) |
1984 { | 1982 { |
1985 pOutline->uFlags = pOutline->uFlags | 1; | 1983 pOutline->uFlags = pOutline->uFlags | 1; |
1986 pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8); | 1984 pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8); |
1987 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && | 1985 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && |
1988 (pFace1->Clickable() || pFace2->Clickable()) && | 1986 (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) && |
1989 (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID)) | 1987 (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID)) |
1990 { | 1988 { |
1991 if (uNumBlueFacesInBLVMinimap < 49) | 1989 if (uNumBlueFacesInBLVMinimap < 49) |
1992 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; | 1990 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; |
1993 } | 1991 } |
1994 else | 1992 else |