Mercurial > might-and-magic-trilogy
changeset 164:9917428c69bf
10.12.12
author | Ritor1 |
---|---|
date | Mon, 10 Dec 2012 17:07:15 +0600 |
parents | 062e8a8e09bc |
children | c778b7aead81 |
files | mm7_5.cpp |
diffstat | 1 files changed, 82 insertions(+), 94 deletions(-) [+] |
line wrap: on
line diff
--- a/mm7_5.cpp Fri Nov 30 17:29:38 2012 +0600 +++ b/mm7_5.cpp Mon Dec 10 17:07:15 2012 +0600 @@ -15814,7 +15814,7 @@ char *v23; // ebx@112 char *v24; // edx@113 unsigned int v25; // eax@113 - GUIWindow a1; // [sp+4h] [bp-74h]@32 + GUIWindow pWindow; // [sp+4h] [bp-74h]@32 double v27; // [sp+58h] [bp-20h]@33 struct tagPOINT Point; // [sp+60h] [bp-18h]@6 char *v29; // [sp+68h] [bp-10h]@33 @@ -15868,32 +15868,26 @@ __debugbreak(); if ( !pPlayers[uActiveCharacter]->CanAct() ) { - sprintf( - pTmpBuf, - pGlobalTXT_LocalizationStrings[427], + sprintf(pTmpBuf, + pGlobalTXT_LocalizationStrings[427],//%s не в состоянии %s pPlayers[uActiveCharacter]->pName, - pGlobalTXT_LocalizationStrings[541]); - a1.Hint = pTmpBuf; - a1.uFrameWidth = 384; - a1.uFrameHeight = 180; - a1.uFrameY = 40; + pGlobalTXT_LocalizationStrings[541]);//Опознать предметы + pWindow.Hint = pTmpBuf; + pWindow.uFrameWidth = 384; + pWindow.uFrameHeight = 180; + pWindow.uFrameY = 40; if ( (signed int)pX <= 320 ) v10 = pX + 30; else v10 = pX - 414; - a1.uFrameX = v10; + pWindow.uFrameX = v10; goto LABEL_42; } v9 = pX + pSRZBufferLineOffsets[pY]; if ( !(pRenderer->pActiveZBuffer[v9] & 0xFFFF) ) goto LABEL_132; - v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 - + 2662 * (unsigned int)ptr_507BB8->ptr_1C - + 18 - * *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime - + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) - + 2662 * (unsigned int)ptr_507BB8->ptr_1C - + 3)); + v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)ptr_507BB8->ptr_1C + 18* *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime + + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)ptr_507BB8->ptr_1C + 3)); } else { @@ -15941,14 +15935,14 @@ || (signed int)pX > (signed int)pViewport->uViewportZ || (signed int)pY < (signed int)pViewport->uViewportY || (signed int)pY > (signed int)pViewport->uViewportW - || (v2 = (char *)sub_444564(), (a1.Hint = v2) == 0) ) + || (v2 = (char *)sub_444564(), (pWindow.Hint = v2) == 0) ) goto LABEL_132; v30 = (double)(pFontArrus->GetLineWidth(v2) + 32); v27 = v30 + 6.7553994e15; v29 = (char *)LODWORD(v27); - a1.uFrameWidth = LODWORD(v27); - a1.uFrameX = pX + 5; - a1.uFrameY = pY + 5; + pWindow.uFrameWidth = LODWORD(v27); + pWindow.uFrameX = pX + 5; + pWindow.uFrameY = pY + 5; goto LABEL_41; } if (GetCurrentMenuID() > 0) @@ -15956,16 +15950,16 @@ if ( (signed int)pY > (signed int)pViewport->uViewportW ) { - a1.ptr_1C = (void *)((signed int)pX / 118); + pWindow.ptr_1C = (void *)((signed int)pX / 118); if ( (signed int)pX / 118 < 4 ) { - a1.Hint = 0; - a1.uFrameWidth = 400; - a1.uFrameHeight = 200; - a1.uFrameX = 38; - a1.uFrameY = 60; + pWindow.Hint = 0; + pWindow.uFrameWidth = 400; + pWindow.uFrameHeight = 200; + pWindow.uFrameX = 38; + pWindow.uFrameY = 60; pAudioPlayer->StopChannels(-1, -1); - a1.DrawQuickCharRecord(); + pWindow.DrawQuickCharRecord(); } goto LABEL_132; } @@ -15975,13 +15969,13 @@ { if ( (signed int)pX >= 476 && (signed int)pX <= 636 && (signed int)pY >= 240 && (signed int)pY <= 300 ) { - a1.Hint = 0; - a1.uFrameWidth = 400; - a1.uFrameHeight = 200; - a1.uFrameX = 38; - a1.uFrameY = 60; + pWindow.Hint = 0; + pWindow.uFrameWidth = 400; + pWindow.uFrameHeight = 200; + pWindow.uFrameX = 38; + pWindow.uFrameY = 60; pAudioPlayer->StopChannels(-1, -1); - a1._41D73D_draw_buff_tooltip(); + pWindow._41D73D_draw_buff_tooltip(); goto LABEL_132; } if ( (signed int)pX < 485 || (signed int)pX > 548 || (signed int)pY < 156 || (signed int)pY > 229 ) @@ -15999,25 +15993,25 @@ sub_416B01(v3); goto LABEL_132; } - a1.Hint = _4443D5_GetMinimapRightClickText(); - a1.uFrameWidth = 256; - a1.uFrameX = 130; - a1.uFrameY = 140; + pWindow.Hint = _4443D5_GetMinimapRightClickText(); + pWindow.uFrameWidth = 256; + pWindow.uFrameX = 130; + pWindow.uFrameY = 140; LABEL_41: - a1.uFrameHeight = 64; + pWindow.uFrameHeight = 64; pAudioPlayer->StopChannels(-1, -1); LABEL_42: - a1.DrawMessageBox(0); + pWindow.DrawMessageBox(0); goto LABEL_132; } - a1.Hint = 0; - a1.uFrameWidth = 320; - a1.uFrameHeight = 320; + pWindow.Hint = 0; + pWindow.uFrameWidth = 320; + pWindow.uFrameHeight = 320; v4 = pX - 350; if ( (signed int)pX <= 320 ) v4 = pX + 30; - a1.uFrameX = v4; - a1.uFrameY = 40; + pWindow.uFrameX = v4; + pWindow.uFrameY = 40; if ( pRenderer->pRenderD3D ) LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); else @@ -16029,14 +16023,14 @@ { if ( pRenderer->uNumSceneBegins ) { - a1.DrawMessageBox(1); - MonsterPopup_Draw(v6 >> 3, &a1); + pWindow.DrawMessageBox(1); + MonsterPopup_Draw(v6 >> 3, &pWindow); } else { pRenderer->BeginScene(); - a1.DrawMessageBox(1); - MonsterPopup_Draw(v6 >> 3, &a1); + pWindow.DrawMessageBox(1); + MonsterPopup_Draw(v6 >> 3, &pWindow); pRenderer->EndScene(); } } @@ -16065,7 +16059,7 @@ v11 = pCurrentScreen == 23; goto LABEL_125; } - a1.Hint = 0; + pWindow.Hint = 0; v12 = pGUIWindow_CurrentMenu->pControlsHead; if ( !v12 ) goto LABEL_132; @@ -16073,18 +16067,15 @@ v14 = v29; while ( 1 ) { - if ( v12->uButtonType != 1 && v12->uButtonType != 3 - || (signed int)pX < (signed int)v12->uX - || (signed int)pX > (signed int)v12->uZ - || (signed int)v13 < (signed int)v12->uY - || (signed int)v13 > (signed int)v12->uW ) + if ( v12->uButtonType != 1 && v12->uButtonType != 3 || (signed int)pX < (signed int)v12->uX || (signed int)pX > (signed int)v12->uZ + || (signed int)v13 < (signed int)v12->uY || (signed int)v13 > (signed int)v12->uW ) goto LABEL_117; v15 = v12->uControlID; if ( v15 <= 65 ) { if ( v15 == 65 ) { - a1.Hint = pClassDescriptions[v12->uControlParam]; + pWindow.Hint = pClassDescriptions[v12->uControlParam]; v14 = pClassNames[v12->uControlParam]; } else @@ -16099,39 +16090,38 @@ { if ( v17 == 1 ) { - v18 = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder( - v12->uControlParam + 4); + v18 = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder(v12->uControlParam + 4); v14 = pSkillNames[v18]; - a1.Hint = pSkillDesc[v18]; + pWindow.Hint = pSkillDesc[v18]; v13 = pY; } goto LABEL_117; } - v14 = pGlobalTXT_LocalizationStrings[668]; - v19 = pGlobalTXT_LocalizationStrings[669]; + v14 = pGlobalTXT_LocalizationStrings[668];//Вычесть + v19 = pGlobalTXT_LocalizationStrings[669];//"Вычитает очко из выделенного навыка, возвращая его в накопитель очков" } else { - v14 = pGlobalTXT_LocalizationStrings[670]; - v19 = pGlobalTXT_LocalizationStrings[671]; + v14 = pGlobalTXT_LocalizationStrings[670];//Добавить + v19 = pGlobalTXT_LocalizationStrings[671];//"Добавляет очко к выделенному навыку, забирая его из накопителя очков" } goto LABEL_116; } - a1.Hint = pAttributeDescriptions[(signed int)v12->uControlParam % 7]; + pWindow.Hint = pAttributeDescriptions[(signed int)v12->uControlParam % 7]; v14 = aAttributeNames[(signed int)v12->uControlParam % 7]; } goto LABEL_117; } if ( v15 == 66 ) { - v19 = pGlobalTXT_LocalizationStrings[664]; - v14 = pGlobalTXT_LocalizationStrings[665]; + v19 = pGlobalTXT_LocalizationStrings[664];//Щелкните здесь для утверждения состава отряда и продолжения игры. + v14 = pGlobalTXT_LocalizationStrings[665];//Кнопка ОК goto LABEL_116; } if ( v15 == 67 ) { - v19 = pGlobalTXT_LocalizationStrings[666]; - v14 = pGlobalTXT_LocalizationStrings[667]; + v19 = pGlobalTXT_LocalizationStrings[666];//Сбрасывает все параметры и навыки отряда. + v14 = pGlobalTXT_LocalizationStrings[667];//Кнопка Очистить goto LABEL_116; } if ( v15 > 71 ) @@ -16149,7 +16139,7 @@ v14 = pParty->pPlayers[v20].pName; v19 = pClassDescriptions[pParty->pPlayers[v20].uClass]; LABEL_116: - a1.Hint = v19; + pWindow.Hint = v19; goto LABEL_117; } goto LABEL_117; @@ -16161,34 +16151,32 @@ goto LABEL_117; v22 = CharacterUI_GetSkillDescText(v12->uControlParam, (enum PLAYER_SKILL_TYPE)v21); strcpy(pTmpBuf2, v22); - a1.Hint = pTmpBuf2; + pWindow.Hint = pTmpBuf2; v14 = pSkillNames[pY]; LABEL_112: - v23 = a1.Hint; - if ( a1.Hint ) - { - v24 = a1.Hint; - a1.Hint = 0; - a1.uFrameWidth = 384; - a1.uFrameHeight = 256; - a1.uFrameX = 128; - a1.uFrameY = 40; - a1.uFrameHeight = pFontSmallnum->CalcTextHeight(v24, &a1, 24, 0) - + 2 * LOBYTE(pFontLucida->uFontHeight) - + 24; - a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1; - a1.uFrameW = a1.uFrameY + a1.uFrameHeight - 1; - a1.DrawMessageBox(0); - a1.uFrameX += 12; - a1.uFrameWidth -= 24; - a1.uFrameY += 12; - a1.uFrameHeight -= 12; - a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1; - a1.uFrameW = a1.uFrameY + a1.uFrameHeight - 1; - v25 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu); + v23 = pWindow.Hint; + if ( pWindow.Hint ) + { + v24 = pWindow.Hint; + pWindow.Hint = 0; + pWindow.uFrameWidth = 384; + pWindow.uFrameHeight = 256; + pWindow.uFrameX = 128; + pWindow.uFrameY = 40; + pWindow.uFrameHeight = pFontSmallnum->CalcTextHeight(v24, &pWindow, 24, 0) + 2 * LOBYTE(pFontLucida->uFontHeight) + 24; + pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1; + pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1; + pWindow.DrawMessageBox(0); + pWindow.uFrameX += 12; + pWindow.uFrameWidth -= 24; + pWindow.uFrameY += 12; + pWindow.uFrameHeight -= 12; + pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1; + pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1; + v25 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFF, 0xFF, 0x9B); sprintf(pTmpBuf, format_4E2D80, v25, v14); - a1.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u); - a1.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v23, 0, 0, 0); + pWindow.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3); + pWindow.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v23, 0, 0, 0); } LABEL_132: dword_507BF0_is_there_popup_onscreen = 1;