diff mm7_5.cpp @ 90:d61f6bc04bf2

more pointer fixes
author zipi
date Wed, 06 Feb 2013 22:32:43 +0000
parents 98cd93e14777
children 471b1354cc73
line wrap: on
line diff
--- a/mm7_5.cpp	Wed Feb 06 21:19:42 2013 +0000
+++ b/mm7_5.cpp	Wed Feb 06 22:32:43 2013 +0000
@@ -4948,7 +4948,7 @@
   Vec3_int_ v25; // ST04_12@19
   unsigned int v26; // ebx@20
   Player *v27; // edi@20
-  char *v28; // edi@27
+  Actor *v28; // edi@27
   int v29; // ebx@29
   int v30; // eax@29
   int v31; // edx@29
@@ -5087,25 +5087,25 @@
         uActorID = 0;
         if ( (signed int)uNumActors > 0 )
         {
-          v28 = (char *)&pActors[0].vPosition.z;
+          v28 = pActors;//[0].vPosition.z;
           do
           {
             if ( ((Actor *)(v28 - 146))->CanAct() )
             {
               v29 = *(short *)v1;
-              v30 = *((short *)v28 - 1) - *((short *)v1 - 100);
-              a1 = *((short *)v28 - 2) - *((short *)v1 - 200);
-              v31 = *(short *)v28;
+			  v30 = *(&v28->vPosition.y - *((short *)v1 - 100);
+			  a1 = *(&v28->vPosition.x - *((short *)v1 - 200);
+			  v31 = v28->vPosition.z;
               v48 = v30;
               v44 = v31;
-              v32 = ((signed int)*((short *)v28 - 4) >> 1) - v29;
-              v33 = *((short *)v28 - 5) + *((short *)v1 + 100);
+			  v32 = (v28->uActorHeight >> 1) - v29;
+			  v33 = *(&v28->uActorRadius + *((short *)v1 + 100);
               if ( a1 * a1 + v48 * v48 + (v31 + v32) * (v31 + v32) < (unsigned int)(v33 * v33) )
               {
                 v34.z = *(short *)v1;
                 v34.y = *((short *)v1 - 100);
                 v34.x = *((short *)v1 - 200);
-                if ( sub_407A1C(*((short *)v28 - 2), *((short *)v28 - 1), *(short *)v28 + 50, v34) )
+				if ( sub_407A1C(v28->vPosition.x, v28->vPosition.y, v28->vPosition.z + 50, v34) )
                 {
                   Vec3_int_::Normalize(&a1, &v48, &v44);
                   v35 = pVelocity;
@@ -5118,7 +5118,7 @@
                       DamageMonsterFromParty(*((short *)v1 - 300), uActorID, v35);
                       break;
                     case 3:
-                      if ( v36 && pActors[v37].GetActorsRelation((Actor *)(v28 - 146)) )
+                      if ( v36 && pActors[v37].GetActorsRelation(v28) )
                         sub_43B1B0(*((short *)v1 - 300), uActorID, pVelocity, v36->field_61);
                       break;
                     case 2:
@@ -5129,7 +5129,7 @@
               }
             }
             ++uActorID;
-            v28 += 836;
+            ++v28;
           }
           while ( (signed int)uActorID < (signed int)uNumActors );
         }