comparison mm7_5.cpp @ 558:81856e97664f

sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62 clean
author zipi
date Mon, 04 Mar 2013 21:03:52 +0000
parents 9caf59edb1ee
children 5eb2c6286c49
comparison
equal deleted inserted replaced
557:604d70894002 558:81856e97664f
16246 } 16246 }
16247 //while ( v1 < 4 ); 16247 //while ( v1 < 4 );
16248 } 16248 }
16249 16249
16250 pEventTimer->Pause(); 16250 pEventTimer->Pause();
16251 if ( pCurrentScreen <= SCREEN_CHEST ) 16251
16252 { 16252 switch(pCurrentScreen)
16253 if ( pCurrentScreen == SCREEN_CHEST ) 16253 {
16254 { 16254 case SCREEN_CASTING:
16255 // __debugbreak(); 16255 {
16256 if ( !pPlayers[uActiveCharacter]->CanAct() ) 16256 identify_item();
16257 { 16257 break;
16258 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427],//%s не в состоянии %s 16258 }
16259 pPlayers[uActiveCharacter]->pName, pGlobalTXT_LocalizationStrings[541]);//Опознать предметы 16259
16260 pWindow.Hint = pTmpBuf; 16260 case SCREEN_CHEST:
16261 pWindow.uFrameWidth = 384; 16261 {
16262 pWindow.uFrameHeight = 180; 16262 if ( !pPlayers[uActiveCharacter]->CanAct() )
16263 pWindow.uFrameY = 40; 16263 {
16264 if ( (signed int)pX <= 320 ) 16264 sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427],//%s не в состоянии %s
16265 v10 = pX + 30; 16265 pPlayers[uActiveCharacter]->pName, pGlobalTXT_LocalizationStrings[541]);//Опознать предметы
16266 else 16266 pWindow.Hint = pTmpBuf;
16267 v10 = pX - 414; 16267 pWindow.uFrameWidth = 384;
16268 pWindow.uFrameX = v10; 16268 pWindow.uFrameHeight = 180;
16269 pWindow.DrawMessageBox(0); 16269 pWindow.uFrameY = 40;
16270 goto LABEL_132; 16270 if ( (signed int)pX <= 320 )
16271 } 16271 v10 = pX + 30;
16272 v9 = pX + pSRZBufferLineOffsets[pY]; 16272 else
16273 if ( !(pRenderer->pActiveZBuffer[v9] & 0xFFFF) ) 16273 v10 = pX - 414;
16274 goto LABEL_132; 16274 pWindow.uFrameX = v10;
16275 v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C + 18* *((short *)&pChests[0].igChestItems[139].uExpireTime 16275 pWindow.DrawMessageBox(0);
16276 + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)pChestWindow->ptr_1C + 3)); 16276 }
16277 } 16277 else
16278 else 16278 {
16279 { 16279 v9 = pX + pSRZBufferLineOffsets[pY];
16280 if ( pCurrentScreen ) 16280 if ( pRenderer->pActiveZBuffer[v9] & 0xFFFF )
16281 { 16281 {
16282 if ( pCurrentScreen != SCREEN_BOOKS ) 16282 v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C + 18* *((short *)&pChests[0].igChestItems[139].uExpireTime
16283 { 16283 + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)pChestWindow->ptr_1C + 3));
16284 if ( pCurrentScreen != SCREEN_CHARACTERS ) 16284 GameUI_DrawItemInfo(v8);
16285 { 16285 }
16286 if ( pCurrentScreen == SCREEN_SPELL_BOOK ) 16286 }
16287 { 16287 break;
16288 if ( dword_507B00_spell_info_to_draw_in_popup ) 16288 }
16289 DrawSpellDescriptionPopup(dword_507B00_spell_info_to_draw_in_popup - 1); 16289 case SCREEN_GAME:
16290 } 16290 {
16291 goto LABEL_132; 16291 if (GetCurrentMenuID() > 0)
16292 } 16292 break;
16293 LABEL_119: 16293
16294 if ( (signed int)pX > 467 && pCurrentScreen != SCREEN_E ) 16294 if ( (signed int)pY > (signed int)pViewport->uViewportW )
16295 { 16295 {
16296 identify_item(); 16296 pWindow.ptr_1C = (void *)((signed int)pX / 118);
16297 goto LABEL_132; 16297 if ( (signed int)pX / 118 < 4 )
16298 } 16298 {
16299 if ( (signed int)pY >= 345 ) 16299 pWindow.Hint = 0;
16300 goto LABEL_132; 16300 pWindow.uFrameWidth = 400;
16301 if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 100 )//2DEvent - CharacerScreenStats 16301 pWindow.uFrameHeight = 200;
16302 { 16302 pWindow.uFrameX = 38;
16303 CharacterUI_StatsTab_ShowHint(); 16303 pWindow.uFrameY = 60;
16304 goto LABEL_132; 16304 pAudioPlayer->StopChannels(-1, -1);
16305 } 16305 pWindow.DrawQuickCharRecord();
16306 if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 101 )//2DEvent - CharacerScreenSkills 16306 }
16307 { 16307 }
16308 CharacterUI_SkillsTab_ShowHint(); 16308 else if ( (signed int)pX > (signed int)pViewport->uViewportZ )
16309 goto LABEL_132; 16309 {
16310 } 16310 if ( (signed int)pY >= 130 )
16311 v11 = pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 103;//2DEvent - CharacerScreenInventory 16311 {
16312 if ( !v11 ) 16312 if ( (signed int)pX >= 476 && (signed int)pX <= 636 && (signed int)pY >= 240 && (signed int)pY <= 300 )
16313 goto LABEL_132; 16313 {
16314 identify_item(); 16314 pWindow.Hint = 0;
16315 goto LABEL_132; 16315 pWindow.uFrameWidth = 400;
16316 } 16316 pWindow.uFrameHeight = 200;
16317 pWindow.uFrameX = 38;
16318 pWindow.uFrameY = 60;
16319 pAudioPlayer->StopChannels(-1, -1);
16320 pWindow._41D73D_draw_buff_tooltip();
16321 }
16322 else if ( (signed int)pX < 485 || (signed int)pX > 548 || (signed int)pY < 156 || (signed int)pY > 229 )
16323 {
16324 if (!( (signed int)pX < 566 || (signed int)pX > 629 || (signed int)pY < 156 || (signed int)pY > 229 ))
16325 {
16326 pAudioPlayer->StopChannels(-1, -1);
16327 v3 = (void *)1;
16328 }
16329 else
16330 {
16331 sub_416B01(v3);
16332 }
16333 }
16334 else
16335 {
16336 pAudioPlayer->StopChannels(-1, -1);
16337 v3 = 0;
16338 sub_416B01(v3);
16339 }
16340 }
16341 else
16342 {
16343 pWindow.Hint = _4443D5_GetMinimapRightClickText();
16344 pWindow.uFrameWidth = 256;
16345 pWindow.uFrameX = 130;
16346 pWindow.uFrameY = 140;
16347 pWindow.uFrameHeight = 64;
16348 pAudioPlayer->StopChannels(-1, -1);
16349 pWindow.DrawMessageBox(0);
16350 }
16351 }
16352 else
16353 {
16354 pWindow.Hint = 0;
16355 pWindow.uFrameWidth = 320;
16356 pWindow.uFrameHeight = 320;
16357 v4 = pX - 350;
16358 if ( (signed int)pX <= 320 )
16359 v4 = pX + 30;
16360 pWindow.uFrameX = v4;
16361 pWindow.uFrameY = 40;
16362 if ( pRenderer->pRenderD3D )
16363 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val();
16364 else
16365 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
16366 v6 = (unsigned __int16)v5;
16367 if ( (v6 & 7) != OBJECT_Item)
16368 {
16369 if ( (v6 & 7) == OBJECT_Actor)
16370 {
16371 if ( pRenderer->uNumSceneBegins )
16372 {
16373 pWindow.DrawMessageBox(1);
16374 MonsterPopup_Draw(v6 >> 3, &pWindow);
16375 }
16376 else
16377 {
16378 pRenderer->BeginScene();
16379 pWindow.DrawMessageBox(1);
16380 MonsterPopup_Draw(v6 >> 3, &pWindow);
16381 pRenderer->EndScene();
16382 }
16383 }
16384 }
16385 else
16386 {
16387 v7 = v6 >> 3;
16388 if ( ! (pObjectList->pObjects[pSpriteObjects[v7].uObjectDescID].uFlags & 0x10 ) )
16389 {
16390 v8 = &pSpriteObjects[v7].stru_24;
16391 GameUI_DrawItemInfo(v8);
16392 }
16393 }
16394 }
16395 break;
16396 }
16397 case SCREEN_BOOKS:
16398 {
16317 if ( !dword_506364 16399 if ( !dword_506364
16318 || (signed int)pX < (signed int)pViewport->uViewportX 16400 || (signed int)pX < (signed int)pViewport->uViewportX
16319 || (signed int)pX > (signed int)pViewport->uViewportZ 16401 || (signed int)pX > (signed int)pViewport->uViewportZ
16320 || (signed int)pY < (signed int)pViewport->uViewportY 16402 || (signed int)pY < (signed int)pViewport->uViewportY
16321 || (signed int)pY > (signed int)pViewport->uViewportW 16403 || (signed int)pY > (signed int)pViewport->uViewportW
16322 || (v2 = (char *)sub_444564(), (pWindow.Hint = v2) == 0) ) 16404 || (v2 = (char *)sub_444564(), (pWindow.Hint = v2) == 0) )
16323 goto LABEL_132; 16405 break;
16324 v30 = (double)(pFontArrus->GetLineWidth(v2) + 32); 16406 v30 = (double)(pFontArrus->GetLineWidth(v2) + 32);
16325 v27 = v30 + 6.7553994e15; 16407 v27 = v30 + 6.7553994e15;
16326 v29 = (char *)LODWORD(v27); 16408 v29 = (char *)LODWORD(v27);
16327 pWindow.uFrameWidth = LODWORD(v27); 16409 pWindow.uFrameWidth = LODWORD(v27);
16328 pWindow.uFrameX = pX + 5; 16410 pWindow.uFrameX = pX + 5;
16329 pWindow.uFrameY = pY + 5; 16411 pWindow.uFrameY = pY + 5;
16330 pWindow.uFrameHeight = 64; 16412 pWindow.uFrameHeight = 64;
16331 pAudioPlayer->StopChannels(-1, -1); 16413 pAudioPlayer->StopChannels(-1, -1);
16332 pWindow.DrawMessageBox(0); 16414 pWindow.DrawMessageBox(0);
16333 goto LABEL_132; 16415 break;
16334 } 16416 }
16335 if (GetCurrentMenuID() > 0) 16417 case SCREEN_CHARACTERS:
16336 goto LABEL_132; 16418 case SCREEN_E:
16337 16419 case SCREEN_F:
16338 if ( (signed int)pY > (signed int)pViewport->uViewportW ) 16420 {
16339 { 16421 if ( (signed int)pX > 467 && pCurrentScreen != SCREEN_E )
16340 pWindow.ptr_1C = (void *)((signed int)pX / 118); 16422 {
16341 if ( (signed int)pX / 118 < 4 ) 16423 identify_item();
16342 { 16424 }
16343 pWindow.Hint = 0; 16425 else if ( (signed int)pY >= 345 )
16344 pWindow.uFrameWidth = 400; 16426 break;
16345 pWindow.uFrameHeight = 200; 16427 else if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 100 )//2DEvent - CharacerScreenStats
16346 pWindow.uFrameX = 38; 16428 {
16347 pWindow.uFrameY = 60; 16429 CharacterUI_StatsTab_ShowHint();
16348 pAudioPlayer->StopChannels(-1, -1); 16430 }
16349 pWindow.DrawQuickCharRecord(); 16431 else if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 101 )//2DEvent - CharacerScreenSkills
16350 } 16432 {
16351 goto LABEL_132; 16433 CharacterUI_SkillsTab_ShowHint();
16352 } 16434 }
16353 if ( (signed int)pX > (signed int)pViewport->uViewportZ ) 16435 else
16354 { 16436 {
16355 if ( (signed int)pY >= 130 ) 16437 v11 = pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 103;//2DEvent - CharacerScreenInventory
16356 { 16438 if ( v11 )
16357 if ( (signed int)pX >= 476 && (signed int)pX <= 636 && (signed int)pY >= 240 && (signed int)pY <= 300 ) 16439 identify_item();
16358 { 16440 }
16359 pWindow.Hint = 0; 16441 break;
16360 pWindow.uFrameWidth = 400; 16442 }
16361 pWindow.uFrameHeight = 200; 16443 case SCREEN_SPELL_BOOK:
16362 pWindow.uFrameX = 38; 16444 {
16363 pWindow.uFrameY = 60; 16445 if ( dword_507B00_spell_info_to_draw_in_popup )
16364 pAudioPlayer->StopChannels(-1, -1); 16446 DrawSpellDescriptionPopup(dword_507B00_spell_info_to_draw_in_popup - 1);
16365 pWindow._41D73D_draw_buff_tooltip(); 16447 break;
16366 goto LABEL_132; 16448 }
16367 } 16449 case SCREEN_HOUSE:
16368 if ( (signed int)pX < 485 || (signed int)pX > 548 || (signed int)pY < 156 || (signed int)pY > 229 ) 16450 {
16369 { 16451 if ( (signed int)pY < 345 && (signed int)pX < 469 )
16370 if ( (signed int)pX < 566 || (signed int)pX > 629 || (signed int)pY < 156 || (signed int)pY > 229 ) 16452 sub_4B1A2D();//identify item in inventory
16371 goto LABEL_132; 16453 break;
16372 pAudioPlayer->StopChannels(-1, -1); 16454 }
16373 v3 = (void *)1; 16455
16374 } 16456 case SCREEN_PARTY_CREATION:
16375 else 16457 {
16376 { 16458 pWindow.Hint = 0;
16377 pAudioPlayer->StopChannels(-1, -1); 16459 pStr = 0;
16378 v3 = 0; 16460 for ( pButton = pGUIWindow_CurrentMenu->pControlsHead; pButton; pButton = pButton->pNext)
16379 } 16461 {
16380 sub_416B01(v3); 16462 if ( pButton->uButtonType == 1 && pButton->uButtonType != 3 && (signed int)pX > (signed int)pButton->uX && (signed int)pX < (signed int)pButton->uZ
16381 goto LABEL_132; 16463 && (signed int)pY > (signed int)pButton->uY && (signed int)pY < (signed int)pButton->uW )
16382 } 16464 {
16383 pWindow.Hint = _4443D5_GetMinimapRightClickText(); 16465 pControlID = pButton->uControlID;
16384 pWindow.uFrameWidth = 256; 16466 switch ( pControlID )
16385 pWindow.uFrameX = 130; 16467 {
16386 pWindow.uFrameY = 140; 16468 case 0: //stats info
16387 pWindow.uFrameHeight = 64; 16469 pWindow.Hint = pAttributeDescriptions[(signed int)pButton->uControlParam % 7];
16388 pAudioPlayer->StopChannels(-1, -1); 16470 pStr = aAttributeNames[(signed int)pButton->uControlParam % 7];
16389 pWindow.DrawMessageBox(0); 16471 break;
16390 goto LABEL_132; 16472 case 62: //Plus button info
16391 } 16473 pStr = pGlobalTXT_LocalizationStrings[670];//Добавить
16392 pWindow.Hint = 0; 16474 pWindow.Hint = pGlobalTXT_LocalizationStrings[671];//"Добавляет очко к выделенному навыку, забирая его из накопителя очков"
16393 pWindow.uFrameWidth = 320; 16475 break;
16394 pWindow.uFrameHeight = 320; 16476 case 63: //Minus button info
16395 v4 = pX - 350; 16477 pStr = pGlobalTXT_LocalizationStrings[668];//Вычесть
16396 if ( (signed int)pX <= 320 ) 16478 pWindow.Hint = pGlobalTXT_LocalizationStrings[669];//"Вычитает очко из выделенного навыка, возвращая его в накопитель очков"
16397 v4 = pX + 30; 16479 break;
16398 pWindow.uFrameX = v4; 16480 case 64: //Available skill button info
16399 pWindow.uFrameY = 40; 16481 v18 = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder(pButton->uControlParam + 4);
16400 if ( pRenderer->pRenderD3D ) 16482 pStr = pSkillNames[v18];
16401 LOWORD(v5) = pGame->pVisInstance->get_picked_object_zbuf_val(); 16483 pWindow.Hint = pSkillDesc[v18];
16402 else 16484 break;
16403 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; 16485 case 65: //Available Class Info
16404 v6 = (unsigned __int16)v5; 16486 pWindow.Hint = pClassDescriptions[pButton->uControlParam];
16405 if ( (v6 & 7) != OBJECT_Item) 16487 pStr = pClassNames[pButton->uControlParam];
16406 { 16488 break;
16407 if ( (v6 & 7) == OBJECT_Actor) 16489 case 66: //OK Info
16408 { 16490 pWindow.Hint = pGlobalTXT_LocalizationStrings[664];//Щелкните здесь для утверждения состава отряда и продолжения игры.
16409 if ( pRenderer->uNumSceneBegins ) 16491 pStr = pGlobalTXT_LocalizationStrings[665];//Кнопка ОК
16410 { 16492 break;
16411 pWindow.DrawMessageBox(1); 16493 case 67: //Clear info
16412 MonsterPopup_Draw(v6 >> 3, &pWindow); 16494 pWindow.Hint = pGlobalTXT_LocalizationStrings[666];//Сбрасывает все параметры и навыки отряда.
16413 } 16495 pStr = pGlobalTXT_LocalizationStrings[667];//Кнопка Очистить
16414 else 16496 break;
16415 { 16497 case 118: // Character info
16416 pRenderer->BeginScene(); 16498 pStr = pParty->pPlayers[pButton->uControlParam].pName;
16417 pWindow.DrawMessageBox(1); 16499 pWindow.Hint = pClassDescriptions[pParty->pPlayers[pButton->uControlParam].classType];
16418 MonsterPopup_Draw(v6 >> 3, &pWindow); 16500 break;
16419 pRenderer->EndScene(); 16501 }
16420 } 16502 if ( pControlID > 68 && pControlID <= 75 ) //Sellected skills info
16421 } 16503 {
16422 goto LABEL_132; 16504 pSkillId = pParty->pPlayers[pButton->uControlParam].GetSkillIdxByOrder(pControlID - 72);
16423 } 16505 pY = 0;
16424 v7 = v6 >> 3; 16506 if ( (signed int)pSkillId < 37 )
16425 if ( pObjectList->pObjects[pSpriteObjects[v7].uObjectDescID].uFlags & 0x10 ) 16507 {
16426 goto LABEL_132; 16508 pSkillInfo = CharacterUI_GetSkillDescText(pButton->uControlParam, (enum PLAYER_SKILL_TYPE)pSkillId);
16427 v8 = &pSpriteObjects[v7].stru_24; 16509 strcpy(pTmpBuf2, pSkillInfo);
16428 } 16510 pWindow.Hint = pTmpBuf2;
16429 GameUI_DrawItemInfo(v8); 16511 pStr = pSkillNames[pSkillId];
16430 goto LABEL_132; 16512 }
16431 } 16513 }
16432 if ( pCurrentScreen == SCREEN_HOUSE ) 16514 }
16433 { 16515 }
16434 if ( (signed int)pY < 345 && (signed int)pX < 469 ) 16516 if ( pWindow.Hint )
16435 sub_4B1A2D();//identify item in inventory 16517 {
16436 goto LABEL_132; 16518 pHint = pWindow.Hint;
16437 } 16519 pWindow.Hint = 0;
16438 if ( pCurrentScreen <= SCREEN_HOUSE ) 16520 pWindow.uFrameWidth = 384;
16439 goto LABEL_132; 16521 pWindow.uFrameHeight = 256;
16440 if ( pCurrentScreen <= SCREEN_F ) 16522 pWindow.uFrameX = 128;
16441 goto LABEL_119; 16523 pWindow.uFrameY = 40;
16442 if ( pCurrentScreen != SCREEN_PARTY_CREATION ) 16524 pWindow.uFrameHeight = pFontSmallnum->CalcTextHeight(pHint, &pWindow, 24, 0) + 2 * LOBYTE(pFontLucida->uFontHeight) + 24;
16443 { 16525 pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1;
16444 v11 = pCurrentScreen == SCREEN_CASTING; 16526 pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1;
16445 if ( !v11 ) 16527 pWindow.DrawMessageBox(0);
16446 goto LABEL_132; 16528 pWindow.uFrameX += 12;
16447 identify_item(); 16529 pWindow.uFrameWidth -= 24;
16448 goto LABEL_132; 16530 pWindow.uFrameY += 12;
16449 } 16531 pWindow.uFrameHeight -= 12;
16450 pWindow.Hint = 0; 16532 pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1;
16451 pStr = 0; 16533 pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1;
16452 for ( pButton = pGUIWindow_CurrentMenu->pControlsHead; pButton; pButton = pButton->pNext) 16534 pColor = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFF, 0xFF, 0x9B);
16453 { 16535 sprintf(pTmpBuf, format_4E2D80, pColor, pStr);//"\f%05d%s\f00000\n"
16454 if ( pButton->uButtonType == 1 && pButton->uButtonType != 3 && (signed int)pX > (signed int)pButton->uX && (signed int)pX < (signed int)pButton->uZ 16536 pWindow.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3);
16455 && (signed int)pY > (signed int)pButton->uY && (signed int)pY < (signed int)pButton->uW ) 16537 pWindow.DrawText(pFontSmallnum, 1, pFontLucida->uFontHeight, 0, pHint, 0, 0, 0);
16456 { 16538 }
16457 pControlID = pButton->uControlID; 16539 break;
16458 switch ( pControlID ) 16540 }
16459 { 16541 default:
16460 case 0: //stats info 16542 {
16461 pWindow.Hint = pAttributeDescriptions[(signed int)pButton->uControlParam % 7]; 16543 break;
16462 pStr = aAttributeNames[(signed int)pButton->uControlParam % 7]; 16544 }
16463 break; 16545 }
16464 case 62: //Plus button info
16465 pStr = pGlobalTXT_LocalizationStrings[670];//Добавить
16466 pWindow.Hint = pGlobalTXT_LocalizationStrings[671];//"Добавляет очко к выделенному навыку, забирая его из накопителя очков"
16467 break;
16468 case 63: //Minus button info
16469 pStr = pGlobalTXT_LocalizationStrings[668];//Вычесть
16470 pWindow.Hint = pGlobalTXT_LocalizationStrings[669];//"Вычитает очко из выделенного навыка, возвращая его в накопитель очков"
16471 break;
16472 case 64: //Available skill button info
16473 v18 = pParty->pPlayers[uPlayerCreationUI_SelectedCharacter].GetSkillIdxByOrder(pButton->uControlParam + 4);
16474 pStr = pSkillNames[v18];
16475 pWindow.Hint = pSkillDesc[v18];
16476 break;
16477 case 65: //Available Class Info
16478 pWindow.Hint = pClassDescriptions[pButton->uControlParam];
16479 pStr = pClassNames[pButton->uControlParam];
16480 break;
16481 case 66: //OK Info
16482 pWindow.Hint = pGlobalTXT_LocalizationStrings[664];//Щелкните здесь для утверждения состава отряда и продолжения игры.
16483 pStr = pGlobalTXT_LocalizationStrings[665];//Кнопка ОК
16484 break;
16485 case 67: //Clear info
16486 pWindow.Hint = pGlobalTXT_LocalizationStrings[666];//Сбрасывает все параметры и навыки отряда.
16487 pStr = pGlobalTXT_LocalizationStrings[667];//Кнопка Очистить
16488 break;
16489 case 118: // Character info
16490 pStr = pParty->pPlayers[pButton->uControlParam].pName;
16491 pWindow.Hint = pClassDescriptions[pParty->pPlayers[pButton->uControlParam].classType];
16492 break;
16493 }
16494 if ( pControlID > 68 && pControlID <= 75 ) //Sellected skills info
16495 {
16496 pSkillId = pParty->pPlayers[pButton->uControlParam].GetSkillIdxByOrder(pControlID - 72);
16497 pY = 0;
16498 if ( (signed int)pSkillId < 37 )
16499 {
16500 pSkillInfo = CharacterUI_GetSkillDescText(pButton->uControlParam, (enum PLAYER_SKILL_TYPE)pSkillId);
16501 strcpy(pTmpBuf2, pSkillInfo);
16502 pWindow.Hint = pTmpBuf2;
16503 pStr = pSkillNames[pSkillId];
16504 }
16505 }
16506 }
16507 }
16508 if ( pWindow.Hint )
16509 {
16510 pHint = pWindow.Hint;
16511 pWindow.Hint = 0;
16512 pWindow.uFrameWidth = 384;
16513 pWindow.uFrameHeight = 256;
16514 pWindow.uFrameX = 128;
16515 pWindow.uFrameY = 40;
16516 pWindow.uFrameHeight = pFontSmallnum->CalcTextHeight(pHint, &pWindow, 24, 0) + 2 * LOBYTE(pFontLucida->uFontHeight) + 24;
16517 pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1;
16518 pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1;
16519 pWindow.DrawMessageBox(0);
16520 pWindow.uFrameX += 12;
16521 pWindow.uFrameWidth -= 24;
16522 pWindow.uFrameY += 12;
16523 pWindow.uFrameHeight -= 12;
16524 pWindow.uFrameZ = pWindow.uFrameX + pWindow.uFrameWidth - 1;
16525 pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1;
16526 pColor = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFF, 0xFF, 0x9B);
16527 sprintf(pTmpBuf, format_4E2D80, pColor, pStr);//"\f%05d%s\f00000\n"
16528 pWindow.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3);
16529 pWindow.DrawText(pFontSmallnum, 1, pFontLucida->uFontHeight, 0, pHint, 0, 0, 0);
16530 }
16531 LABEL_132:
16532 dword_507BF0_is_there_popup_onscreen = 1; 16546 dword_507BF0_is_there_popup_onscreen = 1;
16533 viewparams->bRedrawGameUI = 1; 16547 viewparams->bRedrawGameUI = 1;
16534 } 16548 }
16535 16549
16536 //----- (004175C0) -------------------------------------------------------- 16550 //----- (004175C0) --------------------------------------------------------