Mercurial > mm7
comparison mm7_5.cpp @ 1038:39f42990698f
Cleanings
author | Nomad |
---|---|
date | Thu, 23 May 2013 03:29:29 +0200 |
parents | 306ec23b37df |
children | 682ba1c83fd3 |
comparison
equal
deleted
inserted
replaced
1035:306ec23b37df | 1038:39f42990698f |
---|---|
455 continue; | 455 continue; |
456 case UIMSG_SaveLoadBtn: | 456 case UIMSG_SaveLoadBtn: |
457 GUIWindow::Create(241, 302, 106, 42, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0); | 457 GUIWindow::Create(241, 302, 106, 42, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0); |
458 continue; | 458 continue; |
459 case UIMSG_SelectLoadSlot: | 459 case UIMSG_SelectLoadSlot: |
460 if ( pGUIWindow_CurrentMenu->field_40 == 1 ) | 460 if ( pGUIWindow_CurrentMenu->receives_keyboard_input_2 == WINDOW_INPUT_IN_PROGRESS) |
461 pKeyActionMap->_459ED1(0); | 461 pKeyActionMap->SetWindowInputStatus(WINDOW_INPUT_NONE); |
462 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pSaveListPosition + uMessageParam ) | 462 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pSaveListPosition + uMessageParam ) |
463 { | 463 { |
464 v10 = pSaveListPosition + uMessageParam; | 464 v10 = pSaveListPosition + uMessageParam; |
465 if ( dword_6BE138 == pSaveListPosition + uMessageParam ) | 465 if ( dword_6BE138 == pSaveListPosition + uMessageParam ) |
466 { | 466 { |
467 pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0); | 467 pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0); |
468 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); | 468 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); |
469 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
470 { | |
471 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_SaveLoadBtn; | |
472 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | |
473 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | |
474 //v11 = pMessageQueue_50CBD0->uNumMessages + 1; | |
475 //v13 = pMessageQueue_50CBD0->uNumMessages + 1 > 40; | |
476 //v12 = (signed int)pMessageQueue_50CBD0->uNumMessages - 39 < 0; | |
477 ++pMessageQueue_50CBD0->uNumMessages; | |
478 if ( v12 ^ v13 ) | |
479 { | |
480 pMessageQueue_50CBD0->pMessages[v11].eType = UIMSG_LoadGame; | |
481 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | |
482 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | |
483 ++pMessageQueue_50CBD0->uNumMessages; | |
484 } | |
485 }*/ | |
486 } | 469 } |
487 uLoadGameUI_SelectedSlot = v10; | 470 uLoadGameUI_SelectedSlot = v10; |
488 dword_6BE138 = v10; | 471 dword_6BE138 = v10; |
489 } | 472 } |
490 else | 473 else |
502 uGameState = GAME_STATE_3; | 485 uGameState = GAME_STATE_3; |
503 } | 486 } |
504 stru_506E40.Release(); | 487 stru_506E40.Release(); |
505 continue; | 488 continue; |
506 case UIMSG_SaveGame: | 489 case UIMSG_SaveGame: |
507 if ( pGUIWindow_CurrentMenu->field_40 == 1 ) | 490 if ( pGUIWindow_CurrentMenu->receives_keyboard_input_2 == WINDOW_INPUT_IN_PROGRESS) |
508 { | 491 { |
509 pKeyActionMap->_459ED1(0); | 492 pKeyActionMap->SetWindowInputStatus(WINDOW_INPUT_NONE); |
510 strcpy((char *)&pSavegameHeader[uLoadGameUI_SelectedSlot], (const char *)pKeyActionMap->pPressedKeysBuffer); | 493 strcpy((char *)&pSavegameHeader[uLoadGameUI_SelectedSlot], (const char *)pKeyActionMap->pPressedKeysBuffer); |
511 } | 494 } |
512 DoSavegame(uLoadGameUI_SelectedSlot); | 495 DoSavegame(uLoadGameUI_SelectedSlot); |
513 stru_506E40.Release(); | 496 stru_506E40.Release(); |
514 continue; | 497 continue; |
3462 break; | 3445 break; |
3463 SetCurrentMenuID(MENU_LoadingProcInMainMenu); | 3446 SetCurrentMenuID(MENU_LoadingProcInMainMenu); |
3464 break; | 3447 break; |
3465 case UIMSG_SelectLoadSlot: | 3448 case UIMSG_SelectLoadSlot: |
3466 //main menu save/load wnd clicking on savegame lines | 3449 //main menu save/load wnd clicking on savegame lines |
3467 if (pGUIWindow_CurrentMenu->field_40 == 1) | 3450 if (pGUIWindow_CurrentMenu->receives_keyboard_input_2 == WINDOW_INPUT_IN_PROGRESS) |
3468 pKeyActionMap->_459ED1(0); | 3451 pKeyActionMap->SetWindowInputStatus(WINDOW_INPUT_NONE); |
3469 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pParam + pSaveListPosition ) | 3452 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pParam + pSaveListPosition ) |
3470 { | 3453 { |
3471 //load clicked line | 3454 //load clicked line |
3472 v26 = pParam + pSaveListPosition; | 3455 v26 = pParam + pSaveListPosition; |
3473 if ( dword_6BE138 == pParam + pSaveListPosition ) | 3456 if ( dword_6BE138 == pParam + pSaveListPosition ) |
9765 } | 9748 } |
9766 return result; | 9749 return result; |
9767 } | 9750 } |
9768 | 9751 |
9769 | 9752 |
9770 //----- (00411150) -------------------------------------------------------- | |
9771 void DrawTownPortalScreen() | |
9772 { | |
9773 //signed int v0; // edi@1 | |
9774 //__int16 v1; // dx@8 | |
9775 //POINT *v2; // edi@17 | |
9776 int v3; // edi@17 | |
9777 //__int16 v4; // dx@24 | |
9778 GUIWindow v6; // [sp+Ch] [bp-64h]@1 | |
9779 //POINT v7; // [sp+60h] [bp-10h]@17 | |
9780 POINT a2; // [sp+68h] [bp-8h]@17 | |
9781 | |
9782 pRenderer->ClearZBuffer(0, 479); | |
9783 pRenderer->DrawTextureTransparent(8, 8, pTexture_CurrentBook); | |
9784 pRenderer->DrawTextureTransparent(471, 445, pIcons_LOD->GetTexture(uExitCancelTextureId)); | |
9785 | |
9786 v6.uFrameX = game_viewport_x; | |
9787 v6.uFrameY = game_viewport_y; | |
9788 v6.uFrameWidth = game_viewport_width; | |
9789 v6.uFrameHeight = game_viewport_height; | |
9790 v6.uFrameZ = game_viewport_z; | |
9791 v6.uFrameW = game_viewport_w; | |
9792 | |
9793 const uint fountain_bits_lut[] = {PARTY_QUEST_FOUNTAIN_HARMONDALE, | |
9794 PARTY_QUEST_FOUNTAIN_PIERPONT, | |
9795 PARTY_QUEST_FOUNTAIN_NIGHON, | |
9796 PARTY_QUEST_FOUNTAIN_EVENMORN_ISLE, | |
9797 PARTY_QUEST_FOUNTAIN_CELESTIA, | |
9798 PARTY_QUEST_FOUNTAIN_THE_PIT}; | |
9799 for (uint i = 0; i < 6; ++i) | |
9800 { | |
9801 | |
9802 if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[i])) | |
9803 pRenderer->DrawMaskToZBuffer(pTownPortalBook_xs[i], | |
9804 pTownPortalBook_ys[i], | |
9805 pTexture_TownPortalIcons[i], i + 1); | |
9806 } | |
9807 | |
9808 /* v0 = 0; | |
9809 do | |
9810 { | |
9811 if ( !v0 ) | |
9812 { | |
9813 v1 = 206; | |
9814 LABEL_14: | |
9815 if ( !(unsigned __int16)_449B57_test_bit(pParty->_quest_bits, v1) ) | |
9816 goto LABEL_16; | |
9817 goto LABEL_15; | |
9818 } | |
9819 if ( v0 == 1 ) | |
9820 { | |
9821 v1 = 208; | |
9822 goto LABEL_14; | |
9823 } | |
9824 if ( v0 == 2 ) | |
9825 { | |
9826 v1 = 207; | |
9827 goto LABEL_14; | |
9828 } | |
9829 if ( v0 == 3 ) | |
9830 { | |
9831 v1 = 211; | |
9832 goto LABEL_14; | |
9833 } | |
9834 if ( v0 == 4 ) | |
9835 { | |
9836 v1 = 209; | |
9837 goto LABEL_14; | |
9838 } | |
9839 if ( v0 == 5 ) | |
9840 { | |
9841 v1 = 210; | |
9842 goto LABEL_14; | |
9843 } | |
9844 LABEL_15: | |
9845 pRenderer->DrawMaskToZBuffer( | |
9846 pTownPortalBook_xs[v0], | |
9847 pTownPortalBook_ys[v0], | |
9848 *(&pTexture_TownPortalHarmn + v0), | |
9849 v0 + 1); | |
9850 LABEL_16: | |
9851 ++v0; | |
9852 } | |
9853 while ( v0 < 6 );*/ | |
9854 | |
9855 pMouse->GetCursorPos(&a2); | |
9856 //v2 = pMouse->GetCursorPos(&a2); | |
9857 v3 = pRenderer->pActiveZBuffer[a2.x + pSRZBufferLineOffsets[a2.y]] & 0xFFFF; | |
9858 | |
9859 if (v3) | |
9860 { | |
9861 if (_449B57_test_bit(pParty->_quest_bits, fountain_bits_lut[v3 - 1])) | |
9862 pRenderer->DrawTextureIndexed(pTownPortalBook_xs[v3 - 1], pTownPortalBook_ys[v3 - 1], pTexture_TownPortalIcons[v3 - 1]); | |
9863 } | |
9864 v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u); | |
9865 | |
9866 | |
9867 /* if ( !v3 ) // Town Portal | |
9868 { | |
9869 v6.DrawTitleText(pBook2Font, 0, 22, 0, pGlobalTXT_LocalizationStrings[10], 3); // "Town Portal" | |
9870 return; | |
9871 } | |
9872 if ( v3 == 1 ) | |
9873 { | |
9874 v4 = 206; | |
9875 LABEL_30: | |
9876 if ( (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, v4) ) | |
9877 goto LABEL_31; | |
9878 v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u); // "Town Portal" | |
9879 return; | |
9880 } | |
9881 if ( v3 == 2 ) | |
9882 { | |
9883 v4 = 208; | |
9884 goto LABEL_30; | |
9885 } | |
9886 if ( v3 == 3 ) | |
9887 { | |
9888 v4 = 207; | |
9889 goto LABEL_30; | |
9890 } | |
9891 if ( v3 == 4 ) | |
9892 { | |
9893 v4 = 211; | |
9894 goto LABEL_30; | |
9895 } | |
9896 if ( v3 == 5 ) | |
9897 { | |
9898 v4 = 209; | |
9899 goto LABEL_30; | |
9900 } | |
9901 if ( v3 == 6 ) | |
9902 { | |
9903 v4 = 210; | |
9904 goto LABEL_30; | |
9905 } | |
9906 LABEL_31: | |
9907 pRenderer->DrawTextureIndexed(word_4E1D3A[v3], pTownPortalBook_xs[v3 + 5], *(&pTex_tab_an_6b__zoom_on + v3)); | |
9908 v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);*/ | |
9909 } | |
9910 // 4E1D3A: using guessed type __int16 word_4E1D3A[]; | |
9911 | |
9912 | |
9913 //----- (00413FF1) -------------------------------------------------------- | 9753 //----- (00413FF1) -------------------------------------------------------- |
9914 void SetMonthNames() | 9754 void SetMonthNames() |
9915 { | 9755 { |
9916 aMonthNames[0] = pGlobalTXT_LocalizationStrings[415]; | 9756 aMonthNames[0] = pGlobalTXT_LocalizationStrings[415]; |
9917 aMonthNames[1] = pGlobalTXT_LocalizationStrings[416]; | 9757 aMonthNames[1] = pGlobalTXT_LocalizationStrings[416]; |
9978 } | 9818 } |
9979 | 9819 |
9980 | 9820 |
9981 | 9821 |
9982 | 9822 |
9983 | |
9984 //----- (004141CA) -------------------------------------------------------- | |
9985 void ModalWindow(const char *pStr, int a4) | |
9986 { | |
9987 pEventTimer->Pause(); | |
9988 dword_506F0C[0] = pCurrentScreen; | |
9989 ptr_507BDC = GUIWindow::Create(0, 0, 640, 480, WINDOW_FinalWindow, a4, (int)pStr); | |
9990 pCurrentScreen = SCREEN_PRESS_ESCAPE_MESSAGE; | |
9991 } | |
9992 // 4E28F8: using guessed type int pCurrentScreen; | |
9993 | |
9994 //----- (0041420D) -------------------------------------------------------- | 9823 //----- (0041420D) -------------------------------------------------------- |
9995 void __cdecl sub_41420D_press_esc() | 9824 void __cdecl sub_41420D_press_esc() |
9996 { | 9825 { |
9997 GUIWindow v0; // [sp+4h] [bp-54h]@1 | 9826 GUIWindow v0; // [sp+4h] [bp-54h]@1 |
9998 | 9827 |
10012 { | 9841 { |
10013 GUIWindow *v0; // ecx@1 | 9842 GUIWindow *v0; // ecx@1 |
10014 | 9843 |
10015 v0 = ptr_507BDC; | 9844 v0 = ptr_507BDC; |
10016 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BDC->ptr_1C, 0, 0); | 9845 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BDC->ptr_1C, 0, 0); |
10017 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 9846 |
10018 { | |
10019 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)(int)ptr_507BDC->ptr_1C; | |
10020 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | |
10021 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | |
10022 ++pMessageQueue_50CBD0->uNumMessages; | |
10023 }*/ | |
10024 v0->Release(); | 9847 v0->Release(); |
10025 ptr_507BDC = 0; | 9848 ptr_507BDC = 0; |
10026 pCurrentScreen = dword_506F0C[0]; | 9849 pCurrentScreen = dword_506F0C[0]; |
10027 pEventTimer->Resume(); | 9850 pEventTimer->Resume(); |
10028 } | 9851 } |
10221 continue; | 10044 continue; |
10222 } | 10045 } |
10223 case WINDOW_50: | 10046 case WINDOW_50: |
10224 { | 10047 { |
10225 v27 = TargetColor(255, 255, 255); | 10048 v27 = TargetColor(255, 255, 255); |
10226 if ( ptr_507BD0->field_40 == 1 ) | 10049 if ( ptr_507BD0->receives_keyboard_input_2 == WINDOW_INPUT_IN_PROGRESS) |
10227 { | 10050 { |
10228 ptr_507BD0->DrawMessageBox(0); | 10051 ptr_507BD0->DrawMessageBox(0); |
10229 ptr_507BD0->DrawText(pFontCreate, 30, 40, v27, (const char *)pKeyActionMap->pPressedKeysBuffer, 0, 0, 0); | 10052 ptr_507BD0->DrawText(pFontCreate, 30, 40, v27, (const char *)pKeyActionMap->pPressedKeysBuffer, 0, 0, 0); |
10230 v31 = pFontCreate->GetLineWidth((const char *)pKeyActionMap->pPressedKeysBuffer); | 10053 v31 = pFontCreate->GetLineWidth((const char *)pKeyActionMap->pPressedKeysBuffer); |
10231 ptr_507BD0->DrawFlashingInputCursor(v31 + 30, 40, pFontCreate); | 10054 ptr_507BD0->DrawFlashingInputCursor(v31 + 30, 40, pFontCreate); |
10232 continue; | 10055 continue; |
10233 } | 10056 } |
10234 if ( ptr_507BD0->field_40 == 2 ) | 10057 if ( ptr_507BD0->receives_keyboard_input_2 == WINDOW_INPUT_CONFIRMED) |
10235 { | 10058 { |
10236 pWindow->field_40 = 0; | 10059 pWindow->receives_keyboard_input_2 = WINDOW_INPUT_NONE; |
10237 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BD0->ptr_1C, 0, 0); | 10060 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BD0->ptr_1C, 0, 0); |
10238 pEventTimer->Resume(); | 10061 pEventTimer->Resume(); |
10239 ptr_507BD0->Release(); | 10062 ptr_507BD0->Release(); |
10240 pCurrentScreen = 0; | 10063 pCurrentScreen = SCREEN_GAME; |
10241 viewparams->bRedrawGameUI = 1; | 10064 viewparams->bRedrawGameUI = true; |
10242 continue; | 10065 continue; |
10243 } | 10066 } |
10244 if ( ptr_507BD0->field_40 == 3 ) | 10067 if ( ptr_507BD0->receives_keyboard_input_2 == WINDOW_INPUT_CANCELLED) |
10245 { | 10068 { |
10246 pWindow->field_40 = 0; | 10069 pWindow->receives_keyboard_input_2 = WINDOW_INPUT_NONE; |
10247 pEventTimer->Resume(); | 10070 pEventTimer->Resume(); |
10248 ptr_507BD0->Release(); | 10071 ptr_507BD0->Release(); |
10249 continue; | 10072 continue; |
10250 } | 10073 } |
10251 } | 10074 } |
10258 { | 10081 { |
10259 ItemGen2.Reset(); | 10082 ItemGen2.Reset(); |
10260 pWindow->Release(); | 10083 pWindow->Release(); |
10261 pEventTimer->Resume(); | 10084 pEventTimer->Resume(); |
10262 pCurrentScreen = 0; | 10085 pCurrentScreen = 0; |
10263 viewparams->bRedrawGameUI = 1; | 10086 viewparams->bRedrawGameUI = true; |
10264 v26 = atoi((const char *)pKeyActionMap->pPressedKeysBuffer); | 10087 v26 = atoi((const char *)pKeyActionMap->pPressedKeysBuffer); |
10265 if ( v26 > 0 ) | 10088 if ( v26 > 0 ) |
10266 { | 10089 { |
10267 if ( v26 < 800 ) | 10090 if ( v26 < 800 ) |
10268 { | 10091 { |
10908 dword_4E455C = 0; | 10731 dword_4E455C = 0; |
10909 } | 10732 } |
10910 } | 10733 } |
10911 | 10734 |
10912 | 10735 |
10913 //----- (00416B01) -------------------------------------------------------- | |
10914 void GameUI_DrawNPCPopup(void *_this)//PopupWindowForBenefitAndJoinText | |
10915 { | |
10916 int v1; // edi@2 | |
10917 int v2; // ecx@2 | |
10918 NPCData *v3; // eax@2 | |
10919 NPCData *v4; // esi@7 | |
10920 NPCData *v5; // eax@16 | |
10921 NPCData *v6; // esi@16 | |
10922 const CHAR *v7; // eax@18 | |
10923 unsigned int v8; // eax@25 | |
10924 unsigned int v9; // eax@25 | |
10925 const char *v10; // ST14_4@26 | |
10926 char *v11; // esi@26 | |
10927 const char *v12; // ST18_4@27 | |
10928 unsigned __int16 v13; // ax@28 | |
10929 char *v14; // eax@28 | |
10930 GUIWindow a1; // [sp+Ch] [bp-60h]@23 | |
10931 int a2; // [sp+60h] [bp-Ch]@16 | |
10932 void *v17; // [sp+64h] [bp-8h]@1 | |
10933 LPCSTR lpsz; // [sp+68h] [bp-4h]@6 | |
10934 | |
10935 v17 = _this; | |
10936 if ( bNoNPCHiring != 1 ) | |
10937 { | |
10938 v1 = 0; | |
10939 v2 = 0; | |
10940 v3 = pParty->pHirelings; | |
10941 /*do | |
10942 { | |
10943 if ( v3->pName ) | |
10944 pTmpBuf[v1++] = v2; | |
10945 ++v3; | |
10946 ++v2; | |
10947 } | |
10948 while ( (signed int)v3 < (signed int)&pParty->pPickedItem );*/ | |
10949 for (int i = 0; i < 2; ++i) | |
10950 { | |
10951 if (pParty->pHirelings[i].pName) | |
10952 pTmpBuf[v1++] = i; | |
10953 } | |
10954 lpsz = 0; | |
10955 if ( (signed int)pNPCStats->uNumNewNPCs > 0 ) | |
10956 { | |
10957 /*v4 = pNPCStats->pNewNPCData; | |
10958 do | |
10959 { | |
10960 if ( v4->uFlags & 0x80 | |
10961 && (!pParty->pHirelings[0].pName || strcmp(v4->pName, pParty->pHirelings[0].pName)) | |
10962 && (!pParty->pHirelings[1].pName || strcmp(v4->pName, pParty->pHirelings[1].pName)) ) | |
10963 pTmpBuf[v1++] = (char)lpsz + 2; | |
10964 ++lpsz; | |
10965 ++v4; | |
10966 } | |
10967 while ( (signed int)lpsz < (signed int)pNPCStats->uNumNewNPCs );*/ | |
10968 for (int i = 0; i < pNPCStats->uNumNewNPCs; ++i) | |
10969 { | |
10970 if (pNPCStats->pNewNPCData[i].Hired()) | |
10971 { | |
10972 if (!pParty->pHirelings[0].pName || strcmp((char *)pNPCStats->pNewNPCData[i].pName, (char *)pParty->pHirelings[0].pName)) | |
10973 { | |
10974 if (!pParty->pHirelings[1].pName || strcmp((char *)pNPCStats->pNewNPCData[i].pName, (char *)pParty->pHirelings[1].pName)) | |
10975 pTmpBuf[v1++] = i + 2; | |
10976 } | |
10977 } | |
10978 } | |
10979 } | |
10980 if ( (signed int)((char *)v17 + (unsigned __int8)pParty->field_709) < v1 ) | |
10981 { | |
10982 sDialogue_SpeakingActorNPC_ID = -1 - (unsigned __int8)pParty->field_709 - (int)v17; | |
10983 v5 = GetNewNPCData(sDialogue_SpeakingActorNPC_ID, (int)&a2); | |
10984 v6 = v5; | |
10985 if ( v5 ) | |
10986 { | |
10987 if ( a2 == 57 ) | |
10988 v7 = pNPCTopics[512].pText; // Baby dragon | |
10989 else | |
10990 v7 = (const CHAR *)pNPCStats->pProfessions[v5->uProfession].pBenefits; | |
10991 lpsz = v7; | |
10992 if ( !v7 ) | |
10993 { | |
10994 lpsz = (LPCSTR)pNPCStats->pProfessions[v5->uProfession].pJoinText; | |
10995 if ( !lpsz ) | |
10996 lpsz = ""; | |
10997 } | |
10998 a1.Hint = 0; | |
10999 a1.uFrameX = 38; | |
11000 a1.uFrameY = 60; | |
11001 a1.uFrameWidth = 276; | |
11002 a1.uFrameZ = 313; | |
11003 a1.uFrameHeight = pFontArrus->CalcTextHeight(lpsz, &a1, 0, 0) | |
11004 + 2 * LOBYTE(pFontArrus->uFontHeight) | |
11005 + 24; | |
11006 if ( (signed int)a1.uFrameHeight < 130 ) | |
11007 a1.uFrameHeight = 130; | |
11008 a1.uFrameWidth = 400; | |
11009 a1.uFrameZ = a1.uFrameX + 399; | |
11010 a1.DrawMessageBox(0); | |
11011 sprintf(pTmpBuf2, "NPC%03d", v6->uPortraitID); | |
11012 v8 = pIcons_LOD->LoadTexture(pTmpBuf2, TEXTURE_16BIT_PALETTE); | |
11013 pRenderer->DrawTextureIndexed( | |
11014 a1.uFrameX + 22, | |
11015 a1.uFrameY + 36, | |
11016 (Texture *)(v8 != -1 ? &pIcons_LOD->pTextures[v8] : 0)); | |
11017 v9 = v6->uProfession; | |
11018 if ( v9 ) | |
11019 { | |
11020 v10 = v6->pName; | |
11021 v11 = pTmpBuf; | |
11022 sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v10, aNPCProfessionNames[v9]); | |
11023 } | |
11024 else | |
11025 { | |
11026 v12 = v6->pName; | |
11027 v11 = pTmpBuf; | |
11028 strcpy(pTmpBuf, v12); | |
11029 } | |
11030 v13 = TargetColor(0xFFu, 0xFFu, 0x9Bu); | |
11031 a1.DrawTitleText(pFontArrus, 0, 0xCu, v13, v11, 3u); | |
11032 a1.uFrameWidth -= 24; | |
11033 a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1; | |
11034 v14 = BuilDialogueString((char *)lpsz, uActiveCharacter - 1, 0, 0, 0, 0); | |
11035 a1.DrawText(pFontArrus, 100, 36, 0, v14, 0, 0, 0); | |
11036 } | |
11037 } | |
11038 } | |
11039 } | |
11040 | |
11041 | 10736 |
11042 | 10737 |
11043 | 10738 |
11044 //----- (004175C0) -------------------------------------------------------- | 10739 //----- (004175C0) -------------------------------------------------------- |
11045 void UI_OnMouseLeftClick(int *pXY) | 10740 void UI_OnMouseLeftClick(int *pXY) |
11192 { | 10887 { |
11193 pMouse->GetClickPos(&pX, &pY); | 10888 pMouse->GetClickPos(&pX, &pY); |
11194 } | 10889 } |
11195 pMouse->GetCursorPos(&a2); | 10890 pMouse->GetCursorPos(&a2); |
11196 pMouse->GetCursorPos(&v1); | 10891 pMouse->GetCursorPos(&v1); |
11197 } | |
11198 } | |
11199 | |
11200 //----- (004178C4) -------------------------------------------------------- | |
11201 void __cdecl sub_4178C4() | |
11202 { | |
11203 if ( pArcomageGame->bGameInProgress == 1 ) | |
11204 { | |
11205 if (pAsyncMouse) | |
11206 pArcomageGame->stru1.field_0 = 7; | |
11207 } | |
11208 } | |
11209 | |
11210 //----- (004178E1) -------------------------------------------------------- | |
11211 void __cdecl sub_4178E1() | |
11212 { | |
11213 if ( pArcomageGame->bGameInProgress == 1 ) | |
11214 { | |
11215 if (pAsyncMouse) | |
11216 pArcomageGame->stru1.field_0 = 8; | |
11217 } | 10892 } |
11218 } | 10893 } |
11219 | 10894 |
11220 //----- (004178FE) -------------------------------------------------------- | 10895 //----- (004178FE) -------------------------------------------------------- |
11221 unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2) | 10896 unsigned int __fastcall UI_GetHealthManaStringColor(signed int a1, signed int a2) |