Mercurial > mm7
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) -------------------------------------------------------- |