Mercurial > mm7
changeset 2019:ab7d10b66503
WritePointedObjectStatusString() fix
author | Ritor1 |
---|---|
date | Mon, 11 Nov 2013 21:01:54 +0600 |
parents | 4c3e8ec07d12 |
children | b123afb8246b |
files | UI/UiGame.cpp mm7_2.cpp |
diffstat | 2 files changed, 66 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/UI/UiGame.cpp Mon Nov 11 19:05:44 2013 +0600 +++ b/UI/UiGame.cpp Mon Nov 11 21:01:54 2013 +0600 @@ -1494,11 +1494,13 @@ } } } - //конец пределов основного экрана------------------------ - } - for ( v1 = uNumVisibleWindows; v1 >= 0; --v1 ) // some other fullscreen ui + }//конец пределов основного экрана------------------------ + if ( pX > 467 && pX <=639 && pY <= 479 )//пределы нижней области { - pWindow = &pWindowList[pVisibleWindowsIdxs[v1] - 1]; + if ( pCurrentScreen == SCREEN_GAME ) + pWindow = &pWindowList[0]; + else + pWindow = &pWindowList[pVisibleWindowsIdxs[uNumVisibleWindows] - 1]; if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ && (signed int)pY >= (signed int)pWindow->uFrameY && (signed int)pY <= (signed int)pWindow->uFrameW ) { @@ -1549,8 +1551,66 @@ } } } + //} } - pMouse->uPointingObjectID = sub_46A99B(); + if ( pX <= 467 && pY > 351 && pY <= 479 )//пределы нижней области + { + //for ( v1 = uNumVisibleWindows; v1 >= 0; --v1 ) // some other fullscreen ui + //{ + pWindow = &pWindowList[0]; + if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ + && (signed int)pY >= (signed int)pWindow->uFrameY && (signed int)pY <= (signed int)pWindow->uFrameW ) + { + for ( pButton = pWindow->pControlsHead; ; pButton = pButton->pNext ) + { + if ( !pButton ) + break; + switch ( pButton->uButtonType ) + { + case 1://for dialogue window + if ( (signed int)pX >= (signed int)pButton->uX && (signed int)pX <= (signed int)pButton->uZ + && (signed int)pY >= (signed int)pButton->uY && (signed int)pY <= (signed int)pButton->uW ) + { + pMessageType1 = (UIMessageType)pButton->field_1C; + if ( pMessageType1 ) + pMessageQueue_50CBD0->AddMessage(pMessageType1, pButton->msg_param, 0); + GameUI_SetFooterString(pButton->pButtonName); + uLastPointedObjectID = 1; + return; + } + break; + case 2: + if ( pX >= pButton->uX && pX <= pButton->uZ + && pY >= pButton->uY && pY <= pButton->uW ) + { + pMessageType1 = (UIMessageType)pButton->field_1C; + if ( pMessageType1 ) + pMessageQueue_50CBD0->AddMessage(pMessageType1, pButton->msg_param, 0); + GameUI_SetFooterString(pButton->pButtonName); + uLastPointedObjectID = 1; + return; + } + break; + case 3:// click on skill + if ( pX >= pButton->uX && pX <= pButton->uZ + && pY >= pButton->uY && pY <= pButton->uW ) + { + v7 = (LOBYTE(pPlayers[uActiveCharacter]->pActiveSkills[pButton->msg_param]) & 0x3F) + 1; + if ( pPlayers[uActiveCharacter]->uSkillPoints < v7 ) + sprintf(Str1, pGlobalTXT_LocalizationStrings[469], v7 - pPlayers[uActiveCharacter]->uSkillPoints);// "You need %d more Skill Points to advance here" + else + sprintf(Str1, pGlobalTXT_LocalizationStrings[468], v7);// "Clicking here will spend %d Skill Points" + GameUI_SetFooterString(Str1); + uLastPointedObjectID = 1; + return; + } + break; + } + } + } + //} + } + //pMouse->uPointingObjectID = sub_46A99B(); if ( pMouse->uPointingObjectID == 0 ) { if ( uLastPointedObjectID != 0 )