diff ParticleEngine.cpp @ 1029:c94d6a37d298

Pointing a face with mouse fixed.
author Nomad
date Tue, 21 May 2013 12:10:08 +0200
parents c45d51b3f4f4
children 613c77e51e38
line wrap: on
line diff
--- a/ParticleEngine.cpp	Tue May 21 11:24:35 2013 +0200
+++ b/ParticleEngine.cpp	Tue May 21 12:10:08 2013 +0200
@@ -237,10 +237,10 @@
   int v42; // ecx@18
   int v43; // eax@18
   unsigned __int64 v44; // qax@18
-  double v45; // st7@18
-  int v46; // ecx@18
-  float v47; // ST18_4@18
-  unsigned __int64 v48; // qax@18
+  //double v45; // st7@18
+  //int v46; // ecx@18
+  //float v47; // ST18_4@18
+  //unsigned __int64 v48; // qax@18
   int y_int_; // [sp+10h] [bp-40h]@2
   int a2; // [sp+18h] [bp-38h]@10
   int x_int; // [sp+20h] [bp-30h]@2
@@ -373,14 +373,9 @@
       pParticle->uScreenSpaceX = v42;
       v44 = v43 * (signed __int64)v24;
       //uParticleID = v44 >> 16;
-      v45 = pParticle->flt_28;
       LODWORD(v44) = (signed int)(v44 >> 16) >> 16;
-      v46 = pBLVRenderParams->uViewportCenterY - v44;
       pParticle->uScreenSpaceY = pBLVRenderParams->uViewportCenterY - v44;
-      v47 = v45;
-      v48 = _48B561_mess_with_scaling_along_z(/*v46, */v47) * (signed __int64)pParticle->_screenspace_scale;
-      //_uParticleID = v48 >> 16;
-      pParticle->_screenspace_scale = v48 >> 16;
+      pParticle->_screenspace_scale = fixpoint_sub0(fixpoint_from_float(pParticle->flt_28), pParticle->_screenspace_scale);
       pParticle->sZValue = z;
       return true;
     }
@@ -405,9 +400,9 @@
   LODWORD(v6) = 0;
   HIDWORD(v6) = floorf(pParticle->flt_5C + 0.5f);
   //v7 = pParticle->flt_28;
-  pParticle->_screenspace_scale = v6 / x;
+  //pParticle->_screenspace_scale = v6 / x;
   //v8 = v7;
-  pParticle->_screenspace_scale = (unsigned __int64)(_48B561_mess_with_scaling_along_z(/*v9, */pParticle->flt_28) * (signed __int64)pParticle->_screenspace_scale) >> 16;
+  pParticle->_screenspace_scale = fixpoint_sub0(fixpoint_from_float(pParticle->flt_28), v6 / x);
   pParticle->sZValue = x;
   return true;
 }
@@ -448,10 +443,10 @@
   signed __int64 v29; // qtt@13
   //int v30; // eax@13
   //int v31; // ST1C_4@13
-  double v32; // st7@13
+  //double v32; // st7@13
   signed int v33; // eax@13
-  int v34; // ecx@13
-  float v35; // ST04_4@13
+  //int v34; // ecx@13
+  //float v35; // ST04_4@13
   int v36; // eax@13
   int v37; // esi@15
   //double v39; // [sp+10h] [bp-40h]@2
@@ -566,12 +561,10 @@
       //v31 = v6->_screenspace_scale;
       v6->uScreenSpaceX = pViewport->uScreenCenterX
                         - ((signed int)((unsigned __int64)(v6->_screenspace_scale * (signed __int64)v16) >> 16) >> 16);
-      v32 = v6->flt_28;
       v33 = (signed int)((unsigned __int64)(v6->_screenspace_scale * (signed __int64)v40) >> 16) >> 16;
-      v34 = pViewport->uScreenCenterY - v33;
+      //v34 = pViewport->uScreenCenterY - v33;
       v6->uScreenSpaceY = pViewport->uScreenCenterY - v33;
-      v35 = v32;
-      v6->_screenspace_scale = (unsigned __int64)(_48B561_mess_with_scaling_along_z(/*v34, */v35) * (signed __int64)v6->_screenspace_scale) >> 16;
+      v6->_screenspace_scale = fixpoint_sub0(fixpoint_from_float(v6->flt_28), v6->_screenspace_scale);
       v6->sZValue = X_4;
       v36 = v6->uScreenSpaceX;
       if ( v36 >= (signed int)pViewport->uViewportTL_X )