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