Mercurial > mm7
comparison UI/UiGame.cpp @ 2225:080fd5a5433d
Merge
author | Grumpy7 |
---|---|
date | Wed, 19 Feb 2014 22:30:39 +0100 |
parents | c2eeeb991a87 3f375342de12 |
children | 10c909eb6766 |
comparison
equal
deleted
inserted
replaced
2224:c2eeeb991a87 | 2225:080fd5a5433d |
---|---|
306 } | 306 } |
307 } | 307 } |
308 } | 308 } |
309 if (sDialogue_SpeakingActorNPC_ID < 0) | 309 if (sDialogue_SpeakingActorNPC_ID < 0) |
310 v9 = 4; | 310 v9 = 4; |
311 pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_Dialogue, 3, 0);//pNumberContacts = 1, v9 = 0; pNumberContacts = 2, v9 = 3; | 311 pDialogueWindow = GUIWindow::Create(0, 0, window->GetWidth(), window->GetHeight(), WINDOW_Dialogue, 3, 0);//pNumberContacts = 1, v9 = 0; pNumberContacts = 2, v9 = 3; |
312 if (pNPCInfo->Hired() && !pNPCInfo->bHasUsedTheAbility) | 312 if (pNPCInfo->Hired() && !pNPCInfo->bHasUsedTheAbility) |
313 { | 313 { |
314 if (pNPCInfo->uProfession == 10 || //Healer | 314 if (pNPCInfo->uProfession == 10 || //Healer |
315 pNPCInfo->uProfession == 11 || //Expert Healer | 315 pNPCInfo->uProfession == 11 || //Expert Healer |
316 pNPCInfo->uProfession == 12 || //Master Healer | 316 pNPCInfo->uProfession == 12 || //Master Healer |
684 //----- (004443D5) -------------------------------------------------------- | 684 //----- (004443D5) -------------------------------------------------------- |
685 const char *GameUI_GetMinimapHintText() | 685 const char *GameUI_GetMinimapHintText() |
686 { | 686 { |
687 double v3; // st7@1 | 687 double v3; // st7@1 |
688 int v7; // eax@4 | 688 int v7; // eax@4 |
689 ODMFace *pFace; // eax@6 | |
690 const char *v14; // eax@8 | 689 const char *v14; // eax@8 |
691 char *result; // eax@12 | 690 char *result; // eax@12 |
692 unsigned int pMapID; // eax@14 | 691 unsigned int pMapID; // eax@14 |
693 int global_coord_X; // [sp+10h] [bp-1Ch]@1 | 692 int global_coord_X; // [sp+10h] [bp-1Ch]@1 |
694 int global_coord_Y; // [sp+14h] [bp-18h]@1 | 693 int global_coord_Y; // [sp+14h] [bp-18h]@1 |
718 { | 717 { |
719 if ( pOutdoor->pBModels[j].uNumFaces ) | 718 if ( pOutdoor->pBModels[j].uNumFaces ) |
720 { | 719 { |
721 for ( uint i = 0; i < (uint)pOutdoor->pBModels[j].uNumFaces; ++i ) | 720 for ( uint i = 0; i < (uint)pOutdoor->pBModels[j].uNumFaces; ++i ) |
722 { | 721 { |
723 pFace = &pOutdoor->pBModels[j].pFaces[i]; | 722 if ( pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID ) |
724 if ( pFace->sCogTriggeredID ) | |
725 { | 723 { |
726 if ( !(BYTE2(pFace->uAttributes) & 0x10) ) | 724 if ( !(pOutdoor->pBModels[j].pFaces[i].uAttributes & FACE_UNKNOW) ) |
727 { | 725 { |
728 v14 = GetEventHintString(pFace->sCogTriggeredID); | 726 v14 = GetEventHintString(pOutdoor->pBModels[j].pFaces[i].sCogTriggeredID); |
729 if ( v14 ) | 727 if ( v14 ) |
730 { | 728 { |
731 if ( _stricmp(v14, "") ) | 729 if ( _stricmp(v14, "") ) |
732 result = (char *)v14; | 730 result = (char *)v14; |
733 } | 731 } |
982 { | 980 { |
983 int text_y; // esi@2 | 981 int text_y; // esi@2 |
984 | 982 |
985 if ( uGameState != GAME_STATE_FINAL_WINDOW ) | 983 if ( uGameState != GAME_STATE_FINAL_WINDOW ) |
986 { | 984 { |
987 text_y = sub_44100D() != 0 ? 381 : 322; | 985 text_y = _44100D_should_alter_right_panel() != 0 ? 381 : 322; |
988 sprintf(pTmpBuf.data(), "\r087%lu", pParty->uNumFoodRations); | 986 sprintf(pTmpBuf.data(), "\r087%lu", pParty->uNumFoodRations); |
989 pPrimaryWindow->DrawText(pFontSmallnum, 0, text_y, uGameUIFontMain, pTmpBuf.data(), 0, 0, uGameUIFontShadow); | 987 pPrimaryWindow->DrawText(pFontSmallnum, 0, text_y, uGameUIFontMain, pTmpBuf.data(), 0, 0, uGameUIFontShadow); |
990 sprintf(pTmpBuf.data(), "\r028%lu", pParty->uNumGold); | 988 sprintf(pTmpBuf.data(), "\r028%lu", pParty->uNumGold); |
991 pPrimaryWindow->DrawText(pFontSmallnum, 0, text_y, uGameUIFontMain, pTmpBuf.data(), 0, 0, uGameUIFontShadow); | 989 pPrimaryWindow->DrawText(pFontSmallnum, 0, text_y, uGameUIFontMain, pTmpBuf.data(), 0, 0, uGameUIFontShadow); |
992 } | 990 } |
1166 int interaction_distance_limit = 512; | 1164 int interaction_distance_limit = 512; |
1167 int monster_info_distance_limit = 5120; | 1165 int monster_info_distance_limit = 5120; |
1168 | 1166 |
1169 pMouse->uPointingObjectID = 0; | 1167 pMouse->uPointingObjectID = 0; |
1170 pMouse->GetClickPos(&pX, &pY); | 1168 pMouse->GetClickPos(&pX, &pY); |
1171 if ( pX < 0 || pX > 639 || pY < 0 || pY > 479 )//границы окна игры | 1169 if ( pX < 0 || pX > window->GetWidth() - 1 || pY < 0 || pY > window->GetHeight() - 1 )//границы окна игры |
1172 return; | 1170 return; |
1173 if ( pX <= 467 && pY <= 351 )//пределы основной области | 1171 if ( pX <= 467 && pY <= 351 )//пределы основной области |
1174 { | 1172 { |
1175 //окно(область) игры---------------------------------- | 1173 //окно(область) игры---------------------------------- |
1176 if ( pCurrentScreen == SCREEN_GAME ) | 1174 if ( pCurrentScreen == SCREEN_GAME ) |
1443 } | 1441 } |
1444 } | 1442 } |
1445 } | 1443 } |
1446 } | 1444 } |
1447 }//конец пределов основного экрана------------------------ | 1445 }//конец пределов основного экрана------------------------ |
1448 if ( pX > 467 && pX <=639 && pY <= 479 )//пределы правой области | 1446 if ( pX > 467 && pX <= window->GetWidth() - 1 && pY <= window->GetHeight() - 1 )//пределы правой области |
1449 { | 1447 { |
1450 if ( pCurrentScreen == SCREEN_GAME ) | 1448 if ( pCurrentScreen == SCREEN_GAME ) |
1451 { | 1449 { |
1452 pWindow = &pWindowList[0]; | 1450 pWindow = &pWindowList[0]; |
1453 if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ | 1451 if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ |
1954 uNumBlueFacesInBLVMinimap = 0; | 1952 uNumBlueFacesInBLVMinimap = 0; |
1955 | 1953 |
1956 for (uint i = 0; i < (uint)pIndoor->pMapOutlines->uNumOutlines; ++i) | 1954 for (uint i = 0; i < (uint)pIndoor->pMapOutlines->uNumOutlines; ++i) |
1957 { | 1955 { |
1958 BLVMapOutline* pOutline = &pIndoor->pMapOutlines->pOutlines[i]; | 1956 BLVMapOutline* pOutline = &pIndoor->pMapOutlines->pOutlines[i]; |
1959 BLVFace* pFace1 = pIndoor->pFaces + pOutline->uFace1ID; | 1957 //BLVFace* pFace1 = &pIndoor->pFaces[pOutline->uFace1ID]; |
1960 BLVFace* pFace2 = pIndoor->pFaces + pOutline->uFace2ID; | 1958 //BLVFace* pFace2 = &pIndoor->pFaces[pOutline->uFace2ID]; |
1961 if (pFace1->Visible() && pFace2->Visible()) | 1959 if (pIndoor->pFaces[pOutline->uFace1ID].Visible() && pIndoor->pFaces[pOutline->uFace2ID].Visible()) |
1962 { | 1960 { |
1963 if ( pOutline->uFlags & 1 ) | 1961 if ( pOutline->uFlags & 1 ) |
1964 { | 1962 { |
1965 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && | 1963 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && |
1966 (pFace1->Clickable() || pFace2->Clickable()) && | 1964 (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) && |
1967 (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID)) | 1965 (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID)) |
1968 { | 1966 { |
1969 if (uNumBlueFacesInBLVMinimap < 49) | 1967 if (uNumBlueFacesInBLVMinimap < 49) |
1970 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; | 1968 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; |
1971 } | 1969 } |
1972 else | 1970 else |
1980 v15 = 100; | 1978 v15 = 100; |
1981 pRenderer->RasterLine2D(pX, pY, pZ, pW, viewparams->pPalette[-v15 + 200]); | 1979 pRenderer->RasterLine2D(pX, pY, pZ, pW, viewparams->pPalette[-v15 + 200]); |
1982 } | 1980 } |
1983 continue; | 1981 continue; |
1984 } | 1982 } |
1985 if (pFace1->uAttributes & 0x80 || pFace2->uAttributes & 0x80) | 1983 if (pIndoor->pFaces[pOutline->uFace1ID].uAttributes & FACE_UNKNOW4 || pIndoor->pFaces[pOutline->uFace2ID].uAttributes & FACE_UNKNOW4) |
1986 { | 1984 { |
1987 pOutline->uFlags = pOutline->uFlags | 1; | 1985 pOutline->uFlags = pOutline->uFlags | 1; |
1988 pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8); | 1986 pIndoor->_visible_outlines[i >> 3] |= 1 << (7 - i % 8); |
1989 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && | 1987 if (bWizardEyeActive && uWizardEyeSkillLevel >= 3 && |
1990 (pFace1->Clickable() || pFace2->Clickable()) && | 1988 (pIndoor->pFaces[pOutline->uFace1ID].Clickable() || pIndoor->pFaces[pOutline->uFace2ID].Clickable()) && |
1991 (pIndoor->pFaceExtras[pFace1->uFaceExtraID].uEventID || pIndoor->pFaceExtras[pFace2->uFaceExtraID].uEventID)) | 1989 (pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace1ID].uFaceExtraID].uEventID || pIndoor->pFaceExtras[pIndoor->pFaces[pOutline->uFace2ID].uFaceExtraID].uEventID)) |
1992 { | 1990 { |
1993 if (uNumBlueFacesInBLVMinimap < 49) | 1991 if (uNumBlueFacesInBLVMinimap < 49) |
1994 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; | 1992 pBlueFacesInBLVMinimapIDs[uNumBlueFacesInBLVMinimap++] = i; |
1995 } | 1993 } |
1996 else | 1994 else |