comparison mm7_5.cpp @ 980:a079c489118d

Speed Turn
author Ritor1
date Thu, 09 May 2013 21:19:59 +0600
parents 9334a8c59c8d
children 08fd1436ef35
comparison
equal deleted inserted replaced
979:8b46828a64f4 980:a079c489118d
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 void *v51; // ecx@415 100 CastSpellInfo *v51; // 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
1738 if ( v45 == 3 ) 1738 if ( v45 == 3 )
1739 { 1739 {
1740 v47 = pActors[v46].uAIState == Dead; 1740 v47 = pActors[v46].uAIState == Dead;
1741 if ( !v47 ) 1741 if ( !v47 )
1742 continue; 1742 continue;
1743 v51 = pGUIWindow_Settings->ptr_1C; 1743 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1744 *((char *)v51 + 8) &= 0xBFu; 1744 *((char *)v51 + 8) &= 0xBFu;
1745 *((short *)v51 + 2) = uMessageParam; 1745 *((short *)v51 + 2) = uMessageParam;
1746 *((int *)v51 + 3) = v44; 1746 *((int *)v51 + 3) = v44;
1747 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300); 1747 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300);
1748 pWindow3 = pGUIWindow_Settings; 1748 pWindow3 = pGUIWindow_Settings;
1757 if ( v45 == 2 ) 1757 if ( v45 == 2 )
1758 { 1758 {
1759 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0; 1759 v47 = (pObjectList->pObjects[pSpriteObjects[v46].uObjectDescID].uFlags & 0x10) == 0;
1760 if ( !v47 ) 1760 if ( !v47 )
1761 continue; 1761 continue;
1762 v51 = pGUIWindow_Settings->ptr_1C; 1762 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1763 *((char *)v51 + 8) &= 0xBFu; 1763 *((char *)v51 + 8) &= 0xBFu;
1764 *((short *)v51 + 2) = uMessageParam; 1764 *((short *)v51 + 2) = uMessageParam;
1765 *((int *)v51 + 3) = v44; 1765 *((int *)v51 + 3) = v44;
1766 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300); 1766 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300);
1767 pWindow3 = pGUIWindow_Settings; 1767 pWindow3 = pGUIWindow_Settings;
1786 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F]; 1786 pODMFace = &pOutdoor->pBModels[v44 >> 9].pFaces[v46 & 0x3F];
1787 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID ) 1787 if ( !(pODMFace->uAttributes & 0x02000000) || !pODMFace->sCogTriggeredID )
1788 continue; 1788 continue;
1789 v44 = uNumSeconds; 1789 v44 = uNumSeconds;
1790 //goto LABEL_415; 1790 //goto LABEL_415;
1791 v51 = pGUIWindow_Settings->ptr_1C; 1791 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1792 *((char *)v51 + 8) &= 0xBFu; 1792 *((char *)v51 + 8) &= 0xBFu;
1793 *((short *)v51 + 2) = uMessageParam; 1793 *((short *)v51 + 2) = uMessageParam;
1794 *((int *)v51 + 3) = v44; 1794 *((int *)v51 + 3) = v44;
1795 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300); 1795 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300);
1796 pWindow3 = pGUIWindow_Settings; 1796 pWindow3 = pGUIWindow_Settings;
1808 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0; 1808 v48 = pIndoor->pFaceExtras[pBLVFace->uFaceExtraID].uEventID == 0;
1809 } 1809 }
1810 if ( v48 ) 1810 if ( v48 )
1811 continue; 1811 continue;
1812 //LABEL_415: 1812 //LABEL_415:
1813 v51 = pGUIWindow_Settings->ptr_1C; 1813 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
1814 *((char *)v51 + 8) &= 0xBFu; 1814 *((char *)v51 + 8) &= 0xBFu;
1815 //LABEL_416: 1815 //LABEL_416:
1816 *((short *)v51 + 2) = uMessageParam; 1816 *((short *)v51 + 2) = uMessageParam;
1817 *((int *)v51 + 3) = v44; 1817 *((int *)v51 + 3) = v44;
1818 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300); 1818 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300);
2355 //v0 = 1; 2355 //v0 = 1;
2356 continue; 2356 continue;
2357 } 2357 }
2358 _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter); 2358 _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter);
2359 continue; 2359 continue;
2360 case UIMSG_CastSpell_SmallShot://FireBlow, Lightning, Ice Lightning, Swarm, hand hammer 2360 case UIMSG_CastSpell_SmallShot://FireBlow, Lightning, Ice Lightning, Swarm,
2361 case UIMSG_CastSpell_GreatShot://Fireball, Spraying poison and other 2361 case UIMSG_CastSpell_GreatShot://Fireball, Spraying poison and other
2362 if ( pRenderer->pRenderD3D ) 2362 if ( pRenderer->pRenderD3D )
2363 { 2363 {
2364 v81 = pGame->pVisInstance->get_picked_object_zbuf_val(); 2364 v81 = pGame->pVisInstance->get_picked_object_zbuf_val();
2365 } 2365 }
2372 v83 = v81; 2372 v83 = v81;
2373 v44 = (unsigned __int16)v81; 2373 v44 = (unsigned __int16)v81;
2374 v84 = v83 >> 16; 2374 v84 = v83 >> 16;
2375 if ( PID_TYPE(v44) != 3 || v84 >= 5120 ) 2375 if ( PID_TYPE(v44) != 3 || v84 >= 5120 )
2376 //goto LABEL_90; 2376 //goto LABEL_90;
2377 { 2377 {
2378 v1 = ""; 2378 v1 = "";
2379 //v0 = 1; 2379 //v0 = 1;
2380 continue; 2380 continue;
2381 } 2381 }
2382 v51 = pGUIWindow_Settings->ptr_1C; 2382 v51 = (CastSpellInfo *)pGUIWindow_Settings->ptr_1C;
2383 if ( uMessage == 70 ) 2383 if ( uMessage == 70 )
2384 { 2384 {
2385 *((char *)v51 + 8) &= 0xF7u; 2385 *((char *)v51 + 8) &= 247;
2386 } 2386 }
2387 else 2387 else
2388 { 2388 {
2389 if ( uMessage == 140 ) 2389 if ( uMessage == 140 )
2390 *((char *)v51 + 9) &= 0xFEu; 2390 *((char *)v51 + 9) &= 0xFEu;
2392 *((char *)v51 + 9) &= 0xFDu; 2392 *((char *)v51 + 9) &= 0xFDu;
2393 } 2393 }
2394 //goto LABEL_416; 2394 //goto LABEL_416;
2395 *((short *)v51 + 2) = uMessageParam; 2395 *((short *)v51 + 2) = uMessageParam;
2396 *((int *)v51 + 3) = v44; 2396 *((int *)v51 + 3) = v44;
2397 pParty->pPlayers[*((short *)v51 + 1)].SetRecoveryTime(300); 2397 pParty->pPlayers[v51->uPlayerID].SetRecoveryTime(300);
2398 pWindow3 = pGUIWindow_Settings; 2398 pWindow3 = pGUIWindow_Settings;
2399 pWindow3->Release(); 2399 pWindow3->Release();
2400 pGUIWindow_Settings = 0; 2400 pGUIWindow_Settings = 0;
2401 pMouse->SetCursorBitmap("MICON1"); 2401 pMouse->SetCursorBitmap("MICON1");
2402 GameUI_Footer_TimeLeft = 0; 2402 GameUI_Footer_TimeLeft = 0;