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();