comparison mm7_5.cpp @ 1000:53109a1455fc

m
author Ritor1
date Tue, 14 May 2013 17:59:31 +0600
parents dcdfbb6eede9
children eac5af72b614 c45d51b3f4f4 54f74d2c894f 5520fdca7a74
comparison
equal deleted inserted replaced
999:dcdfbb6eede9 1000:53109a1455fc
80 //const char *v31; // ecx@262 80 //const char *v31; // ecx@262
81 signed int v32; // eax@269 81 signed int v32; // eax@269
82 unsigned int v33; // eax@277 82 unsigned int v33; // eax@277
83 unsigned __int8 v34; // al@279 83 unsigned __int8 v34; // al@279
84 unsigned __int8 v35; // al@280 84 unsigned __int8 v35; // al@280
85 GUIWindow *pWindow3; // ecx@332 85 //GUIWindow *pWindow3; // ecx@332
86 int v37; // eax@341 86 int v37; // eax@341
87 int v38; // eax@358 87 int v38; // eax@358
88 SHORT v39; // ax@365 88 SHORT v39; // ax@365
89 //signed int v40; // eax@365 89 //signed int v40; // eax@365
90 char *v41; // eax@380 90 char *v41; // eax@380
95 signed int v46; // ecx@398 95 signed int v46; // ecx@398
96 char v47; // zf@399 96 char v47; // zf@399
97 char v48; // zf@405 97 char v48; // zf@405
98 BLVFace *pBLVFace; // ecx@410 98 BLVFace *pBLVFace; // ecx@410
99 ODMFace *pODMFace; // ecx@412 99 ODMFace *pODMFace; // ecx@412
100 CastSpellInfo *v51; // ecx@415 100 CastSpellInfo *pSpellInfo; // ecx@415
101 void *v52; // eax@424 101 void *v52; // eax@424
102 __int16 v53; // ax@431 102 __int16 v53; // ax@431
103 int v54; // eax@432 103 int v54; // eax@432
104 int v55; // ecx@432 104 int v55; // ecx@432
105 int v56; // edx@432 105 int v56; // edx@432
153 Player *pPlayer4; // ecx@718 153 Player *pPlayer4; // ecx@718
154 int v105; // eax@718 154 int v105; // eax@718
155 Player *pPlayer5; // ST78_4@758 155 Player *pPlayer5; // ST78_4@758
156 unsigned int v107; // eax@758 156 unsigned int v107; // eax@758
157 unsigned int v108; // eax@758 157 unsigned int v108; // eax@758
158 char *v109; // ST64_4@759
159 Player *v110; // ST78_4@759
160 int v111; // ST60_4@759
161 int v112; // ST5C_4@759
162 char *v113; // ST58_4@759
163 signed int v114; // eax@759
164 unsigned int v115; // eax@764 158 unsigned int v115; // eax@764
165 int v116; // eax@776 159 int v116; // eax@776
166 POINT *pPoint3; // eax@777 160 POINT *pPoint3; // eax@777
167 unsigned int v118; // eax@785 161 unsigned int v118; // eax@785
168 unsigned int v119; // ecx@786 162 unsigned int v119; // ecx@786
1490 pCurrentScreen = SCREEN_GAME; 1484 pCurrentScreen = SCREEN_GAME;
1491 viewparams->bRedrawGameUI = 1; 1485 viewparams->bRedrawGameUI = 1;
1492 pIcons_LOD->_4355F7(); 1486 pIcons_LOD->_4355F7();
1493 continue; 1487 continue;
1494 } 1488 }
1495 LABEL_319:
1496 CharacterUI_ReleaseButtons(); 1489 CharacterUI_ReleaseButtons();
1497 sub_419379(); 1490 sub_419379();
1498 pIcons_LOD->_4114F2(); 1491 pIcons_LOD->_4114F2();
1499 } 1492 }
1500 if ( pGUIWindow_Settings ) 1493 if ( pGUIWindow_Settings )
1523 pCurrentScreen = SCREEN_GAME; 1516 pCurrentScreen = SCREEN_GAME;
1524 viewparams->bRedrawGameUI = 1; 1517 viewparams->bRedrawGameUI = 1;
1525 pIcons_LOD->_4355F7(); 1518 pIcons_LOD->_4355F7();
1526 continue; 1519 continue;
1527 } 1520 }
1528 pWindow3 = pGUIWindow_Settings;
1529 if ( !pGUIWindow_Settings )//Draw Menu 1521 if ( !pGUIWindow_Settings )//Draw Menu
1530 { 1522 {
1531 dword_6BE138 = -1; 1523 dword_6BE138 = -1;
1532 GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_PressedButton2, (int)pBtn_GameSettings, 1); 1524 GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_PressedButton2, (int)pBtn_GameSettings, 1);
1533 pEventTimer->Pause(); 1525 pEventTimer->Pause();
1569 pRenderer->SavePCXImage("gamma.pcx", (char *)uNumSeconds, 155, 117); 1561 pRenderer->SavePCXImage("gamma.pcx", (char *)uNumSeconds, 155, 117);
1570 free((void *)uNumSeconds); 1562 free((void *)uNumSeconds);
1571 stru_506E40._40E55E("gamma.pcx", 0); 1563 stru_506E40._40E55E("gamma.pcx", 0);
1572 continue; 1564 continue;
1573 } 1565 }
1574 pWindow3->Release(); 1566 pGUIWindow_Settings->Release();
1575 pGUIWindow_Settings = 0; 1567 pGUIWindow_Settings = 0;
1576 pMouse->SetCursorBitmap("MICON1"); 1568 pMouse->SetCursorBitmap("MICON1");
1577 GameUI_Footer_TimeLeft = 0; 1569 GameUI_Footer_TimeLeft = 0;
1578 unk_50C9A0 = 0; 1570 unk_50C9A0 = 0;
1579 back_to_game(); 1571 back_to_game();
1809 if ( v45 == 3 ) 1801 if ( v45 == 3 )
1810 { 1802 {
1811 v47 = pActors[v46].uAIState == Dead; 1803 v47 = pActors[v46].uAIState == Dead;
1812 if ( !v47 ) 1804 if ( !v47 )
1813 continue; 1805 continue;
1814 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 1806 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1815 LOBYTE(v51->field_8) &= 0xBFu; 1807 LOBYTE(pSpellInfo->field_8) &= 0xBFu;
1816 v51->uPlayerID_2 = uMessageParam; 1808 pSpellInfo->uPlayerID_2 = uMessageParam;
1817 v51->spell_target_pid = v44; 1809 pSpellInfo->spell_target_pid = v44;
1818 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 1810 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
1819 pWindow3 = pGUIWindow_Settings; 1811 pGUIWindow_Settings->Release();
1820 pWindow3->Release();
1821 pGUIWindow_Settings = 0; 1812 pGUIWindow_Settings = 0;
1822 pMouse->SetCursorBitmap("MICON1"); 1813 pMouse->SetCursorBitmap("MICON1");
1823 GameUI_Footer_TimeLeft = 0; 1814 GameUI_Footer_TimeLeft = 0;
1824 unk_50C9A0 = 0; 1815 unk_50C9A0 = 0;
1825 back_to_game(); 1816 back_to_game();
1828 if ( v45 == 2 ) 1819 if ( v45 == 2 )
1829 { 1820 {
1830 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0; 1821 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0;
1831 if ( !v47 ) 1822 if ( !v47 )
1832 continue; 1823 continue;
1833 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 1824 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1834 LOBYTE(v51->field_8) &= 0xBFu; 1825 LOBYTE(pSpellInfo->field_8) &= 0xBFu;
1835 v51->uPlayerID_2 = uMessageParam; 1826 pSpellInfo->uPlayerID_2 = uMessageParam;
1836 v51->spell_target_pid = v44; 1827 pSpellInfo->spell_target_pid = v44;
1837 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 1828 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
1838 pWindow3 = pGUIWindow_Settings; 1829 pGUIWindow_Settings->Release();
1839 pWindow3->Release();
1840 pGUIWindow_Settings = 0; 1830 pGUIWindow_Settings = 0;
1841 pMouse->SetCursorBitmap("MICON1"); 1831 pMouse->SetCursorBitmap("MICON1");
1842 GameUI_Footer_TimeLeft = 0; 1832 GameUI_Footer_TimeLeft = 0;
1843 unk_50C9A0 = 0; 1833 unk_50C9A0 = 0;
1844 back_to_game(); 1834 back_to_game();
1856 { 1846 {
1857 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F]; 1847 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F];
1858 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID ) 1848 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID )
1859 continue; 1849 continue;
1860 v44 = uNumSeconds; 1850 v44 = uNumSeconds;
1861 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 1851 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1862 *((char *)v51 + 8) &= 0xBFu; 1852 LOBYTE(pSpellInfo->field_8) &= 0xBFu;
1863 v51->uPlayerID_2 = uMessageParam; 1853 pSpellInfo->uPlayerID_2 = uMessageParam;
1864 v51->spell_target_pid = v44; 1854 pSpellInfo->spell_target_pid = v44;
1865 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 1855 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
1866 pWindow3 = pGUIWindow_Settings; 1856 pGUIWindow_Settings->Release();
1867 pWindow3->Release();
1868 pGUIWindow_Settings = 0; 1857 pGUIWindow_Settings = 0;
1869 pMouse->SetCursorBitmap("MICON1"); 1858 pMouse->SetCursorBitmap("MICON1");
1870 GameUI_Footer_TimeLeft = 0; 1859 GameUI_Footer_TimeLeft = 0;
1871 unk_50C9A0 = 0; 1860 unk_50C9A0 = 0;
1872 back_to_game(); 1861 back_to_game();
1877 continue; 1866 continue;
1878 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0; 1867 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0;
1879 } 1868 }
1880 if ( v48 ) 1869 if ( v48 )
1881 continue; 1870 continue;
1882 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 1871 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1883 LOBYTE(v51->field_8) &= 0xBFu; 1872 LOBYTE(pSpellInfo->field_8) &= 0xBFu;
1884 v51->uPlayerID_2 = uMessageParam; 1873 pSpellInfo->uPlayerID_2 = uMessageParam;
1885 v51->spell_target_pid = v44; 1874 pSpellInfo->spell_target_pid = v44;
1886 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 1875 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
1887 pWindow3 = pGUIWindow_Settings; 1876 pGUIWindow_Settings->Release();
1888 pWindow3->Release();
1889 pGUIWindow_Settings = 0; 1877 pGUIWindow_Settings = 0;
1890 pMouse->SetCursorBitmap("MICON1"); 1878 pMouse->SetCursorBitmap("MICON1");
1891 GameUI_Footer_TimeLeft = 0; 1879 GameUI_Footer_TimeLeft = 0;
1892 unk_50C9A0 = 0; 1880 unk_50C9A0 = 0;
1893 back_to_game(); 1881 back_to_game();
1894 continue; 1882 continue;
1895 case UIMSG_CastSpell_8F: 1883 case UIMSG_CastSpell_Character_Big_Improvement://Preservation and blessing, treatment paralysis, hand hammers(individual upgrade)
1896 __debugbreak(); 1884 case UIMSG_CastSpell_Character_Small_Improvement://Fate, cure
1897 case UIMSG_CastSpell_SPIRIT_Preservation://and blessing, treatment paralysis, hand hammers(individual upgrade) 1885 case UIMSG_HiredNPC_CastSpell:
1898 case UIMSG_CastSpell_SPIRIT_Fate:
1899 if ( pMessageQueue_50CBD0->uNumMessages ) 1886 if ( pMessageQueue_50CBD0->uNumMessages )
1900 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; 1887 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0;
1901 if ( unk_50C9A0 ) 1888 if ( unk_50C9A0 )
1902 { 1889 {
1903 uActiveCharacter = uMessageParam; 1890 uActiveCharacter = uMessageParam;
1905 } 1892 }
1906 else 1893 else
1907 { 1894 {
1908 if ( pGUIWindow_Settings ) 1895 if ( pGUIWindow_Settings )
1909 { 1896 {
1910 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 1897 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1911 switch ( uMessage ) 1898 switch ( uMessage )
1912 { 1899 {
1913 case UIMSG_CastSpell_SPIRIT_Preservation: 1900 case UIMSG_CastSpell_Character_Big_Improvement:
1914 LOBYTE(v51->field_8) &= 0xFDu; 1901 LOBYTE(pSpellInfo->field_8) &= 0xFDu;
1915 break; 1902 break;
1916 case UIMSG_CastSpell_SPIRIT_Fate: 1903 case UIMSG_CastSpell_Character_Small_Improvement:
1917 HIBYTE(v51->field_8) &= 0xFEu; 1904 HIBYTE(pSpellInfo->field_8) &= 0xFEu;
1918 break; 1905 break;
1919 case UIMSG_CastSpell_8F: 1906 case UIMSG_HiredNPC_CastSpell:
1920 HIBYTE(v51->field_8) &= 0xFDu; 1907 HIBYTE(pSpellInfo->field_8) &= 0xFDu;
1921 break; 1908 break;
1922 } 1909 }
1923 v51->uPlayerID_2 = uMessageParam; 1910 pSpellInfo->uPlayerID_2 = uMessageParam;
1924 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 1911 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
1925 pGUIWindow_Settings->Release(); 1912 pGUIWindow_Settings->Release();
1926 pGUIWindow_Settings = 0; 1913 pGUIWindow_Settings = 0;
1927 pEventTimer->Resume(); 1914 pEventTimer->Resume();
1928 pMouse->SetCursorBitmap("MICON1"); 1915 pMouse->SetCursorBitmap("MICON1");
1929 GameUI_Footer_TimeLeft = 0; 1916 GameUI_Footer_TimeLeft = 0;
2403 v1 = ""; 2390 v1 = "";
2404 continue; 2391 continue;
2405 } 2392 }
2406 _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter); 2393 _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter);
2407 continue; 2394 continue;
2408 case UIMSG_CastSpell_GreatShot://??? 2395 case UIMSG_CastSpell_Monster_Improvement:
2409 __debugbreak(); 2396 case UIMSG_CastSpell_Shoot_Monster://FireBlow, Lightning, Ice Lightning, Swarm,
2410 case UIMSG_CastSpell_SmallShot://FireBlow, Lightning, Ice Lightning, Swarm,
2411 if ( pRenderer->pRenderD3D ) 2397 if ( pRenderer->pRenderD3D )
2412 { 2398 {
2413 v81 = pGame->pVisInstance->get_picked_object_zbuf_val(); 2399 v81 = pGame->pVisInstance->get_picked_object_zbuf_val();
2414 } 2400 }
2415 else 2401 else
2424 if ( PID_TYPE(v44) != 3 || v84 >= 5120 ) 2410 if ( PID_TYPE(v44) != 3 || v84 >= 5120 )
2425 { 2411 {
2426 v1 = ""; 2412 v1 = "";
2427 continue; 2413 continue;
2428 } 2414 }
2429 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; 2415 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
2430 if ( uMessage == UIMSG_CastSpell_SmallShot ) 2416 if ( uMessage == UIMSG_CastSpell_Shoot_Monster )
2431 { 2417 {
2432 LOBYTE(v51->field_8) &= 0xF7; 2418 LOBYTE(pSpellInfo->field_8) &= 0xF7;
2433 } 2419 }
2434 else 2420 else
2435 { 2421 {
2436 if ( uMessage == UIMSG_CastSpell_GreatShot ) 2422 if ( uMessage == UIMSG_CastSpell_Monster_Improvement )
2437 HIBYTE(v51->field_8) &= 0xFEu; 2423 HIBYTE(pSpellInfo->field_8) &= 0xFEu;
2438 else 2424 else
2439 HIBYTE(v51->field_8) &= 0xFDu; 2425 HIBYTE(pSpellInfo->field_8) &= 0xFDu;
2440 } 2426 }
2441 v51->uPlayerID_2 = uMessageParam; 2427 pSpellInfo->uPlayerID_2 = uMessageParam;
2442 v51->spell_target_pid = v44; 2428 pSpellInfo->spell_target_pid = v44;
2443 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300); 2429 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300);
2444 pWindow3 = pGUIWindow_Settings; 2430 pGUIWindow_Settings->Release();
2445 pWindow3->Release();
2446 pGUIWindow_Settings = 0; 2431 pGUIWindow_Settings = 0;
2447 pMouse->SetCursorBitmap("MICON1"); 2432 pMouse->SetCursorBitmap("MICON1");
2448 GameUI_Footer_TimeLeft = 0; 2433 GameUI_Footer_TimeLeft = 0;
2449 unk_50C9A0 = 0; 2434 unk_50C9A0 = 0;
2450 back_to_game(); 2435 back_to_game();
2809 pEventTimer->Resume(); 2794 pEventTimer->Resume();
2810 viewparams->bRedrawGameUI = 1; 2795 viewparams->bRedrawGameUI = 1;
2811 pCurrentScreen = SCREEN_GAME; 2796 pCurrentScreen = SCREEN_GAME;
2812 pIcons_LOD->_4114F2(); 2797 pIcons_LOD->_4114F2();
2813 v103 = quick_spell_at_page + 11 * player->lastOpenedSpellbookPage; 2798 v103 = quick_spell_at_page + 11 * player->lastOpenedSpellbookPage;
2814 if ( dword_50C9E8 < 40 ) 2799 /*if ( dword_50C9E8 < 40 )
2815 { 2800 {
2816 dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook; 2801 dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook;
2817 dword_50C9EC[3 * dword_50C9E8 + 1] = v103; 2802 dword_50C9EC[3 * dword_50C9E8 + 1] = v103;
2818 dword_50C9EC[3 * dword_50C9E8 + 2] = uActiveCharacter - 1; 2803 dword_50C9EC[3 * dword_50C9E8 + 2] = uActiveCharacter - 1;
2819 ++dword_50C9E8; 2804 ++dword_50C9E8;
2820 } 2805 }*/
2806 pMessageQueue_50CBD0->AddMessage(UIMSG_CastSpellFromBook, v103, uActiveCharacter - 1);
2821 } 2807 }
2822 else 2808 else
2823 { 2809 {
2824 byte_506550 = 1; 2810 byte_506550 = 1;
2825 quick_spell_at_page = uMessageParam + 1; 2811 quick_spell_at_page = uMessageParam + 1;
3014 sub_419220(); 3000 sub_419220();
3015 pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 102; 3001 pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] = 102;
3016 GUIWindow::Create(pCharacterScreen_AwardsBtn->uX, pCharacterScreen_AwardsBtn->uY, 0, 0, WINDOW_CharactersPressedButton, (int)pCharacterScreen_AwardsBtn, 0); 3002 GUIWindow::Create(pCharacterScreen_AwardsBtn->uX, pCharacterScreen_AwardsBtn->uY, 0, 0, WINDOW_CharactersPressedButton, (int)pCharacterScreen_AwardsBtn, 0);
3017 FillAwardsData(); 3003 FillAwardsData();
3018 continue; 3004 continue;
3019 case UIMSG_AutonotesBook://не только Автозаметки (в процессе) 3005 case UIMSG_ClickBooksBtn:
3020 switch ( uMessageParam ) 3006 switch ( uMessageParam )
3021 { 3007 {
3022 case 11://Page UP 3008 case 11://Page UP
3023 BtnUp_flag = 1; 3009 BtnUp_flag = 1;
3024 pButton = pBtn_Book_2; 3010 pButton = pBtn_Book_2;
3025 break; 3011 break;
3026 case 10://Page DOWN 3012 case 10://Page DOWN
3027 BtnDown_flag = 1; 3013 BtnDown_flag = 1;
3028 pButton = pBtn_Book_1; 3014 pButton = pBtn_Book_1;
3029 break; 3015 break;
3030 case 0: 3016 case 0://Zoom plus
3031 pButton = pBtn_Book_1; 3017 pButton = pBtn_Book_1;
3032 BtnDown_flag = 1; 3018 BtnDown_flag = 1;
3033 break; 3019 break;
3034 case 1: 3020 case 1://Zoom minus
3035 pButton = pBtn_Book_2;//увеличить в MapsBook 3021 pButton = pBtn_Book_2;
3036 BtnUp_flag = 1; 3022 BtnUp_flag = 1;
3037 break; 3023 break;
3038 case 2://Potions 3024 case 2://Potions
3039 Book_PageBtn3_flag = 1; 3025 Book_PageBtn3_flag = 1;
3040 if ( dword_506364 ) 3026 if ( dword_506364 )
3114 v108 = 8 * uMessageParam - 8; 3100 v108 = 8 * uMessageParam - 8;
3115 LOBYTE(v108) = v108 | 4; 3101 LOBYTE(v108) = v108 | 4;
3116 pMouse->uPointingObjectID = PID(OBJECT_Player,v108); 3102 pMouse->uPointingObjectID = PID(OBJECT_Player,v108);
3117 continue; 3103 continue;
3118 case UIMSG_ShowStatus_ManaHP: 3104 case UIMSG_ShowStatus_ManaHP:
3119 v109 = pGlobalTXT_LocalizationStrings[212];// "Spell Points" 3105 sprintf(pTmpBuf, "%d / %d %s %d / %d %s", pPlayers[uMessageParam]->sHealth, pPlayers[uMessageParam]->GetMaxHealth(),
3120 v110 = pPlayers[uMessageParam]; 3106 pGlobalTXT_LocalizationStrings[108], pPlayers[uMessageParam]->sMana, pPlayers[uMessageParam]->GetMaxMana(),
3121 v111 = v110->GetMaxMana(); 3107 pGlobalTXT_LocalizationStrings[212]);
3122 v112 = v110->sMana;
3123 v113 = pGlobalTXT_LocalizationStrings[108];// "Hit Points"
3124 v114 = v110->GetMaxHealth();
3125 sprintf(pTmpBuf, "%d / %d %s %d / %d %s", v110->sHealth, v114, v113, v112, v111, v109);
3126 GameUI_SetFooterString(pTmpBuf); 3108 GameUI_SetFooterString(pTmpBuf);
3127 continue; 3109 continue;
3128 case UIMSG_CHEST_ClickItem: 3110 case UIMSG_CHEST_ClickItem:
3129 if ( pCurrentScreen == SCREEN_CHEST_INVENTORY ) 3111 if ( pCurrentScreen == SCREEN_CHEST_INVENTORY )
3130 { 3112 {
3144 OnGameViewportClick(); 3126 OnGameViewportClick();
3145 continue; 3127 continue;
3146 } 3128 }
3147 v115 = pMessageQueue_50CBD0->uNumMessages; 3129 v115 = pMessageQueue_50CBD0->uNumMessages;
3148 if ( !pMessageQueue_50CBD0->uNumMessages ) 3130 if ( !pMessageQueue_50CBD0->uNumMessages )
3149 //goto LABEL_768;
3150 { 3131 {
3151 pMessageQueue_50CBD0->AddMessage(UIMSG_MouseLeftClickInScreen, 0, 0); 3132 pMessageQueue_50CBD0->AddMessage(UIMSG_MouseLeftClickInScreen, 0, 0);
3152 /*if ( (signed int)v115 < 40 ) 3133 /*if ( (signed int)v115 < 40 )
3153 //goto LABEL_769; 3134 //goto LABEL_769;
3154 { 3135 {
3218 continue; 3199 continue;
3219 case UIMSG_ClickZoomOutBtn: 3200 case UIMSG_ClickZoomOutBtn:
3220 if ( pCurrentScreen ) 3201 if ( pCurrentScreen )
3221 continue; 3202 continue;
3222 pParty->uFlags |= 2u; 3203 pParty->uFlags |= 2u;
3223 GUIWindow::Create(0x207u, 0x88u, 0, 0, WINDOW_PressedButton2, (int)pBtn_ZoomOut, 0); 3204 GUIWindow::Create(519, 136, 0, 0, WINDOW_PressedButton2, (int)pBtn_ZoomOut, 0);
3224 uNumSeconds = 131072; 3205 uNumSeconds = 131072;
3225 v118 = 2 * viewparams->uMinimapZoom; 3206 v118 = 2 * viewparams->uMinimapZoom;
3226 ++viewparams->field_28; 3207 ++viewparams->field_28;
3227 viewparams->uMinimapZoom *= 2; 3208 viewparams->uMinimapZoom *= 2;
3228 if ( uCurrentlyLoadedLevelType != LEVEL_Outdoor) 3209 if ( uCurrentlyLoadedLevelType != LEVEL_Outdoor)
3248 break; 3229 break;
3249 case UIMSG_ClickZoomInBtn: 3230 case UIMSG_ClickZoomInBtn:
3250 if ( pCurrentScreen ) 3231 if ( pCurrentScreen )
3251 continue; 3232 continue;
3252 pParty->uFlags |= 2u; 3233 pParty->uFlags |= 2u;
3253 GUIWindow::Create(0x23Eu, 0x88u, 0, 0, WINDOW_PressedButton2, (int)pBtn_ZoomIn, 0); 3234 GUIWindow::Create(574, 136, 0, 0, WINDOW_PressedButton2, (int)pBtn_ZoomIn, 0);
3254 uNumSeconds = 32768; 3235 uNumSeconds = 32768;
3255 v118 = (unsigned __int64)((signed __int64)(signed int)viewparams->uMinimapZoom << 15) >> 16; 3236 v118 = (unsigned __int64)((signed __int64)(signed int)viewparams->uMinimapZoom << 15) >> 16;
3256 --viewparams->field_28; 3237 --viewparams->field_28;
3257 viewparams->uMinimapZoom = (unsigned __int64)((signed __int64)(signed int)viewparams->uMinimapZoom << 15) >> 16; 3238 viewparams->uMinimapZoom = (unsigned __int64)((signed __int64)(signed int)viewparams->uMinimapZoom << 15) >> 16;
3258 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor) 3239 if ( uCurrentlyLoadedLevelType == LEVEL_Outdoor)