diff mm7_3.cpp @ 633:f6aeea3eb893

Слияние
author Ritor1
date Mon, 11 Mar 2013 09:28:57 +0600
parents f234b67a9caf 574cc56e05e9
children ccf8b4815a1f
line wrap: on
line diff
--- a/mm7_3.cpp	Mon Mar 11 09:28:41 2013 +0600
+++ b/mm7_3.cpp	Mon Mar 11 09:28:57 2013 +0600
@@ -1766,14 +1766,12 @@
     switch ( pPartyActionQueue->Next() )
     {
       case PARTY_TurnLeft:
-        __debugbreak();
         v12 = uTurnSpeed;
         if ( uTurnSpeed )
           goto LABEL_58;
         v13 = (double)v82 * fTurnSpeedMultiplier;
         goto LABEL_51;
       case PARTY_TurnRight:
-        __debugbreak();
         LODWORD(v15) = uTurnSpeed;
         if ( uTurnSpeed )
           goto LABEL_56;
@@ -1842,12 +1840,10 @@
         v26 = stru_5C6E00->Cos(angle);
         v27 = (double)v81;
         //v88 = v27;
-        v78 = (unsigned __int64)(v26
-                               * (signed __int64)(signed int)(signed __int64)(v27 * fBackwardWalkSpeedMultiplier)) >> 16;
+        v78 = (unsigned __int64)(v26 * (signed __int64)(signed int)(signed __int64)(v27 * fBackwardWalkSpeedMultiplier)) >> 16;
         v2 -= v78;
         v28 = stru_5C6E00->Sin(angle);
-        v78 = (unsigned __int64)(v28
-                               * (signed __int64)(signed int)(signed __int64)(v27 * fBackwardWalkSpeedMultiplier)) >> 16;
+        v78 = (unsigned __int64)(v28 * (signed __int64)(signed int)(signed __int64)(v27 * fBackwardWalkSpeedMultiplier)) >> 16;
 LABEL_68:
         v1 -= v78;
 LABEL_64:
@@ -1873,7 +1869,6 @@
         v72 = 1;
         goto LABEL_87;
       case PARTY_LookUp:
-        __debugbreak();
         _view_angle += (signed __int64)(flt_6BE150_look_up_down_dangle * 25.0);
         if ( _view_angle > 128 )
           _view_angle = 128;
@@ -1884,7 +1879,6 @@
         v63 = SPEECH_63;
         goto LABEL_76;
       case PARTY_LookDown:
-        __debugbreak();
         _view_angle += (signed __int64)(flt_6BE150_look_up_down_dangle * -25.0);
         if ( _view_angle < -128 )
           _view_angle = -128;
@@ -1898,11 +1892,9 @@
         }
         break;
       case PARTY_CenterView:
-        __debugbreak();
         _view_angle = 0;
         break;
       case PARTY_Jump:
-        __debugbreak();
         if ( (!bJumping || party_z <= v80 + 6 && v89 <= 0) && pParty->field_24 )
         {
           bJumping = 1;
@@ -11215,7 +11207,7 @@
   signed __int64 v21; // qtt@20
   int v22; // edx@21
   int v23; // eax@21
-  Particle_ local_0; // [sp+Ch] [bp-A0h]@3
+  Particle_sw local_0; // [sp+Ch] [bp-A0h]@3
   double v25; // [sp+74h] [bp-38h]@19
   unsigned int v26; // [sp+7Ch] [bp-30h]@1
   int a2; // [sp+80h] [bp-2Ch]@5
@@ -11340,8 +11332,8 @@
     {
       memset(&local_0, 0, 0x68u);               // fire,  like at the Pit's tavern
       v5 = (double)v2->vPosition.x;
-      local_0.bFree = 1036;
-      local_0.uDiffuse = 0xFF3C1Eu;
+      local_0.type = ParticleType_Bitmap | ParticleType_Rotating | ParticleType_8;
+      local_0.uDiffuse = 0xFF3C1E;
       local_0.x = v5;
       local_0.y = (double)v2->vPosition.y;
       local_0.z = (double)v2->vPosition.z;
@@ -11529,22 +11521,16 @@
   v3 = &pIndoor->pSectors[pBspRenderer->field_FA8[a1].uSectorID];
   if ( pRenderer->pRenderD3D )
   {
-    if ( v3->uNumNonBSPFaces > 0 )
-    {
-      do
-      {
-        Log::Warning(L"Non-BSP face: %X", v3->pFaceIDs[v2]);
-        pBspRenderer->PrepareFaceRenderList_d3d(v1, v3->pFaceIDs[v2++]);
-      }
-      while ( v2 < v3->uNumNonBSPFaces );
-    }
+    for (uint i = 0; i < v3->uNumNonBSPFaces; ++i)
+      //Log::Warning(L"Non-BSP face: %X", v3->pFaceIDs[v2]);
+      pBspRenderer->AddFaceToRenderList_d3d(v1, v3->pFaceIDs[i]);
   }
   else
   {
     if ( v3->uNumNonBSPFaces > 0 )
     {
       do
-        pBspRenderer->PrepareFaceRenderList_sw(v1, v3->pFaceIDs[v2++]);
+        pBspRenderer->AddFaceToRenderList_sw(v1, v3->pFaceIDs[v2++]);
       while ( v2 < v3->uNumNonBSPFaces );
     }
   }
@@ -11567,7 +11553,7 @@
   bool v11; // [sp+14h] [bp-8h]@5
   BspRenderer_stru0 *v12; // [sp+18h] [bp-4h]@1
 
-  Log::Warning(L"sub_4406BC(%u, %u)", a1, uFirstNode);
+  //Log::Warning(L"sub_4406BC(%u, %u)", a1, uFirstNode);
 
   v10 = a1;
   v12 = &pBspRenderer->field_FA8[a1];
@@ -11592,17 +11578,17 @@
     v7 = v3->uCoplanarOffset;
     v8 = v7 + v3->uCoplanarSize;
 
-    Log::Warning(L"Node %u: %X to %X (%hX)", uFirstNode, v7, v8, v2->pFaceIDs[v7]);
+    //Log::Warning(L"Node %u: %X to %X (%hX)", uFirstNode, v7, v8, v2->pFaceIDs[v7]);
     
     if ( pRenderer->pRenderD3D )
     {
       while ( v7 < v8 )
-        pBspRenderer->PrepareFaceRenderList_d3d(v10, v2->pFaceIDs[v7++]);
+        pBspRenderer->AddFaceToRenderList_d3d(v10, v2->pFaceIDs[v7++]);
     }
     else
     {
       while ( v7 < v8 )
-        pBspRenderer->PrepareFaceRenderList_sw(v10, v2->pFaceIDs[v7++]);
+        pBspRenderer->AddFaceToRenderList_sw(v10, v2->pFaceIDs[v7++]);
     }
     v9 = v11 ? v3->uFront : v3->uBack;
     if ( v9 == -1 )