diff Actor.cpp @ 1057:37498d2cceed

Слияние
author Ritor1
date Thu, 23 May 2013 21:37:22 +0600
parents d48c762de563
children b79139c3b5c8
line wrap: on
line diff
--- a/Actor.cpp	Thu May 23 21:36:57 2013 +0600
+++ b/Actor.cpp	Thu May 23 21:37:22 2013 +0600
@@ -992,11 +992,11 @@
       do
       {
         v58 = (*v57)->GetActualWillpower();
-        v59 = (*v57)->_48EA1B_get_static_effect(v58);
+        v59 = (*v57)->GetParameterBonus(v58);
         v60 = (*v57)->GetActualIntelligence();
-        v61 = ((*v57)->_48EA1B_get_static_effect(v60) + v59) >> 1;
+        v61 = ((*v57)->GetParameterBonus(v60) + v59) >> 1;
         v62 = (*v57)->GetActualLuck();
-        v63 = v61 + (*v57)->_48EA1B_get_static_effect(v62) + 30;
+        v63 = v61 + (*v57)->GetParameterBonus(v62) + 30;
         if ( rand() % v63 < 30 )
         {
           v64 = 6048;
@@ -3114,9 +3114,7 @@
     if ( (signed __int64)v2->pActorBuffs[3].uExpireTime <= 0 )
     {
       v12 = 0;
-      v11 = 0;
-      v10 = 0;
-      v9 = 0;
+     
       v8 = -1;
     }
     else
@@ -3142,12 +3140,10 @@
         v6 = 33075;
       }
       v12 = v6;
-      v11 = 0;
-      v10 = 0;
-      v9 = 0;
+      
       v8 = 0;
     }
-    pAudioPlayer->PlaySound((SoundID)(signed __int16)v3, PID(OBJECT_Actor, uActorID), 0, v8, v9, v10, v11, v12);
+    pAudioPlayer->PlaySound((SoundID)(signed __int16)v3, PID(OBJECT_Actor, uActorID), 0, v8, 0, 0, 0, v12);
   }
 }
 
@@ -3160,14 +3156,14 @@
   unsigned int v8; // ecx@1
   char v9; // zf@1
   AIDirection *v10; // esi@6
-  int v12; // ecx@19
-  unsigned int v13; // eax@19
+  //int v12; // ecx@19
+  //unsigned int v13; // eax@19
   AIDirection a3; // [sp+Ch] [bp-5Ch]@7
-  AIDirection v15; // [sp+28h] [bp-40h]@7
+  //AIDirection v15; // [sp+28h] [bp-40h]@7
   AIDirection v16; // [sp+44h] [bp-24h]@7
-  unsigned int v17; // [sp+60h] [bp-8h]@1
+  //unsigned int v17; // [sp+60h] [bp-8h]@1
   unsigned int v18; // [sp+64h] [bp-4h]@1
-  int v19; // [sp+70h] [bp+8h]@19
+  //int v19; // [sp+70h] [bp+8h]@19
 
   v5 = uActorID;
   v6 = 0;
@@ -3175,7 +3171,6 @@
   v18 = a2;
   v8 = PID(OBJECT_Actor,uActorID);
   v9 = v7->pMonsterInfo.uFlying == 0;
-  v17 = v5;
   if ( !v9 && !pParty->bFlying )
   {
     if ( v7->pMonsterInfo.uMissleAttack1Type )
@@ -3183,12 +3178,11 @@
     else
       v6 = pParty->uPartyHeight;
   }
+
   v10 = pDir;
   if ( !pDir )
   {
-    memcpy(&v15, Actor::GetDirectionInfo(v8, a2, &a3, v6), sizeof(v15));
-    memcpy(&v16, &v15, sizeof(v16));
-    v5 = v17;
+    memcpy(&v16, Actor::GetDirectionInfo(v8, a2, &a3, v6), sizeof(v16));
     v10 = &v16;
   }
   if ( MonsterStats::BelongsToSupertype(v7->pMonsterInfo.uID, MONSTER_SUPERTYPE_TREANT) )
@@ -3213,16 +3207,10 @@
   v18 = 16;
   if ( arg0 % 2 )
     v18 = -16;
-  v12 = ((unsigned __int64)(stru_5C6E00->Cos(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle) * (signed __int64)v10->uDistanceXZ) >> 16)
-      + pParty->vPosition.x;
-  v13 = stru_5C6E00->uIntegerPi + v10->uYawAngle;
-  v17 = v12;
-  v19 = stru_5C6E00->Sin(v18 + v13);
+
   v7->uYawAngle = stru_5C6E00->Atan2(
-                    v17 - v7->vPosition.x,
-                    pParty->vPosition.y
-                  + ((unsigned __int64)(v19 * (signed __int64)v10->uDistanceXZ) >> 16)
-                  - v7->vPosition.y);
+                    pParty->vPosition.x + fixpoint_sub0(stru_5C6E00->Cos(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle), v10->uDistanceXZ) - v7->vPosition.x,
+                    pParty->vPosition.y + fixpoint_sub0(stru_5C6E00->Sin(v18 + stru_5C6E00->uIntegerPi + v10->uYawAngle), v10->uDistanceXZ) - v7->vPosition.y);
   if ( uActionLength )
     v7->uCurrentActionLength = uActionLength;
   else