Mercurial > mm7
comparison mm7_5.cpp @ 1519:4c787c28ddce
Clean CastSpellInfo. (2)
author | yoctozepto |
---|---|
date | Wed, 04 Sep 2013 16:00:15 +0200 |
parents | c3da3c2985b8 |
children | d023247ae118 |
comparison
equal
deleted
inserted
replaced
1518:091c5eb46a0e | 1519:4c787c28ddce |
---|---|
1790 { | 1790 { |
1791 v47 = pActors[v46].uAIState == Dead; | 1791 v47 = pActors[v46].uAIState == Dead; |
1792 if ( !v47 ) | 1792 if ( !v47 ) |
1793 continue; | 1793 continue; |
1794 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 1794 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
1795 LOBYTE(pSpellInfo->field_8) &= 0xBFu; | 1795 pSpellInfo->uFlags &= ~0x40u; |
1796 pSpellInfo->uPlayerID_2 = uMessageParam; | 1796 pSpellInfo->uPlayerID_2 = uMessageParam; |
1797 pSpellInfo->spell_target_pid = v44; | 1797 pSpellInfo->spell_target_pid = v44; |
1798 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 1798 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
1799 pGUIWindow_Settings->Release(); | 1799 pGUIWindow_Settings->Release(); |
1800 pGUIWindow_Settings = 0; | 1800 pGUIWindow_Settings = 0; |
1808 { | 1808 { |
1809 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0; | 1809 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0; |
1810 if ( !v47 ) | 1810 if ( !v47 ) |
1811 continue; | 1811 continue; |
1812 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 1812 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
1813 LOBYTE(pSpellInfo->field_8) &= 0xBFu; | 1813 pSpellInfo->uFlags &= ~0x40u; |
1814 pSpellInfo->uPlayerID_2 = uMessageParam; | 1814 pSpellInfo->uPlayerID_2 = uMessageParam; |
1815 pSpellInfo->spell_target_pid = v44; | 1815 pSpellInfo->spell_target_pid = v44; |
1816 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 1816 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
1817 pGUIWindow_Settings->Release(); | 1817 pGUIWindow_Settings->Release(); |
1818 pGUIWindow_Settings = 0; | 1818 pGUIWindow_Settings = 0; |
1835 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F]; | 1835 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F]; |
1836 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID ) | 1836 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID ) |
1837 continue; | 1837 continue; |
1838 v44 = uNumSeconds; | 1838 v44 = uNumSeconds; |
1839 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 1839 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
1840 LOBYTE(pSpellInfo->field_8) &= 0xBFu; | 1840 pSpellInfo->uFlags &= ~0x40u; |
1841 pSpellInfo->uPlayerID_2 = uMessageParam; | 1841 pSpellInfo->uPlayerID_2 = uMessageParam; |
1842 pSpellInfo->spell_target_pid = v44; | 1842 pSpellInfo->spell_target_pid = v44; |
1843 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 1843 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
1844 pGUIWindow_Settings->Release(); | 1844 pGUIWindow_Settings->Release(); |
1845 pGUIWindow_Settings = 0; | 1845 pGUIWindow_Settings = 0; |
1855 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0; | 1855 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0; |
1856 } | 1856 } |
1857 if ( v48 ) | 1857 if ( v48 ) |
1858 continue; | 1858 continue; |
1859 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 1859 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
1860 LOBYTE(pSpellInfo->field_8) &= 0xBFu; | 1860 pSpellInfo->uFlags &= ~0x40u; |
1861 pSpellInfo->uPlayerID_2 = uMessageParam; | 1861 pSpellInfo->uPlayerID_2 = uMessageParam; |
1862 pSpellInfo->spell_target_pid = v44; | 1862 pSpellInfo->spell_target_pid = v44; |
1863 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 1863 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
1864 pGUIWindow_Settings->Release(); | 1864 pGUIWindow_Settings->Release(); |
1865 pGUIWindow_Settings = 0; | 1865 pGUIWindow_Settings = 0; |
1884 { | 1884 { |
1885 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 1885 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
1886 switch ( uMessage ) | 1886 switch ( uMessage ) |
1887 { | 1887 { |
1888 case UIMSG_CastSpell_Character_Big_Improvement: | 1888 case UIMSG_CastSpell_Character_Big_Improvement: |
1889 LOBYTE(pSpellInfo->field_8) &= 0xFDu; | 1889 pSpellInfo->uFlags &= ~0x02u; |
1890 break; | 1890 break; |
1891 case UIMSG_CastSpell_Character_Small_Improvement: | 1891 case UIMSG_CastSpell_Character_Small_Improvement: |
1892 HIBYTE(pSpellInfo->field_8) &= 0xFEu; | 1892 pSpellInfo->uFlags &= ~0x0100u; |
1893 break; | 1893 break; |
1894 case UIMSG_HiredNPC_CastSpell: | 1894 case UIMSG_HiredNPC_CastSpell: |
1895 HIBYTE(pSpellInfo->field_8) &= 0xFDu; | 1895 pSpellInfo->uFlags &= ~0x0200u; |
1896 break; | 1896 break; |
1897 } | 1897 } |
1898 pSpellInfo->uPlayerID_2 = uMessageParam; | 1898 pSpellInfo->uPlayerID_2 = uMessageParam; |
1899 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 1899 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
1900 pGUIWindow_Settings->Release(); | 1900 pGUIWindow_Settings->Release(); |
2368 if ( PID_TYPE(v44) != 3 || v84 >= 5120 ) | 2368 if ( PID_TYPE(v44) != 3 || v84 >= 5120 ) |
2369 continue; | 2369 continue; |
2370 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; | 2370 pSpellInfo = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C; |
2371 if ( uMessage == UIMSG_CastSpell_Shoot_Monster ) | 2371 if ( uMessage == UIMSG_CastSpell_Shoot_Monster ) |
2372 { | 2372 { |
2373 LOBYTE(pSpellInfo->field_8) &= 0xF7; | 2373 pSpellInfo->uFlags &= ~0x08; |
2374 } | 2374 } |
2375 else | 2375 else |
2376 { | 2376 { |
2377 if ( uMessage == UIMSG_CastSpell_Monster_Improvement ) | 2377 if ( uMessage == UIMSG_CastSpell_Monster_Improvement ) |
2378 HIBYTE(pSpellInfo->field_8) &= 0xFEu; | 2378 pSpellInfo->uFlags &= ~0x0100u; |
2379 else | 2379 else |
2380 HIBYTE(pSpellInfo->field_8) &= 0xFDu; | 2380 pSpellInfo->uFlags &= ~0x0200u; |
2381 } | 2381 } |
2382 pSpellInfo->uPlayerID_2 = uMessageParam; | 2382 pSpellInfo->uPlayerID_2 = uMessageParam; |
2383 pSpellInfo->spell_target_pid = v44; | 2383 pSpellInfo->spell_target_pid = v44; |
2384 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); | 2384 pParty->pPlayers[pSpellInfo->uPlayerID].SetRecoveryTime(300); |
2385 pGUIWindow_Settings->Release(); | 2385 pGUIWindow_Settings->Release(); |