diff Render.cpp @ 2274:90f56da08d76

small cleaning
author Ritor1
date Fri, 14 Mar 2014 09:32:25 +0600
parents 2e02c384c62b
children 8193a64c7461
line wrap: on
line diff
--- a/Render.cpp	Thu Feb 27 00:36:31 2014 +0100
+++ b/Render.cpp	Fri Mar 14 09:32:25 2014 +0600
@@ -322,11 +322,11 @@
                   (norm->y * (float)pOutdoor->vSunlight.y / 65536.0) -
                   (norm->z * (float)pOutdoor->vSunlight.z / 65536.0));
       pTilePolygon->dimming_level = 20.0 - floorf(20.0 * _f + 0.5f);
-      //if ( norm_idx < 0 || norm_idx > uNumTerrainNormals - 1 )
-        //norm = 0;
-      //else
-        //norm = &pTerrainNormals[norm_idx];
-      //pGame->pLightmapBuilder->StackLights_TerrainFace(norm, &a3a, array_50AC10, 4, 1);
+      if ( norm_idx < 0 || norm_idx > uNumTerrainNormals - 1 )
+        norm = 0;
+      else
+        norm = &pTerrainNormals[norm_idx];
+      //pGame->pLightmapBuilder->StackLights_TerrainFace(norm, &a3a, array_50AC10, 4, 1);//Ritor1: slows
       //pDecalBuilder->_49BE8A(pTilePolygon, norm, &a3a, array_50AC10, 4, 1);
 //-----------------------------------------------------------------------------------------------
 
@@ -871,16 +871,17 @@
 
   for (int i = 0; i < uNumLevelDecorations; ++i)
   {
-    LevelDecoration* decor = &pLevelDecorations[i];
-    if ((!(decor->uFlags & LEVEL_DECORATION_OBELISK_CHEST) || decor->IsObeliskChestActive()) && !(decor->uFlags & LEVEL_DECORATION_INVISIBLE))
-    {
-      DecorationDesc* decor_desc = pDecorationList->pDecorations + decor->uDecorationDescID;
+    //LevelDecoration* decor = &pLevelDecorations[i];
+    if ((!(pLevelDecorations[i].uFlags & LEVEL_DECORATION_OBELISK_CHEST)
+        || pLevelDecorations[i].IsObeliskChestActive()) && !(pLevelDecorations[i].uFlags & LEVEL_DECORATION_INVISIBLE))
+    {
+      DecorationDesc* decor_desc = &pDecorationList->pDecorations[pLevelDecorations[i].uDecorationDescID];
       if ( (char)decor_desc->uFlags >= 0 )
       {
         if ( !(decor_desc->uFlags & 0x22) )
         {
           v6 = pMiscTimer->uTotalGameTimeElapsed;
-          v7 = abs(decor->vPosition.x + decor->vPosition.y);
+          v7 = abs(pLevelDecorations[i].vPosition.x + pLevelDecorations[i].vPosition.y);
 
           #pragma region "New: seasons change"
           extern bool change_seasons;
@@ -949,10 +950,10 @@
           #pragma endregion
           //v8 = pSpriteFrameTable->GetFrame(decor_desc->uSpriteID, v6 + v7);
 
-          v10 = (unsigned __int16 *)stru_5C6E00->Atan2(decor->vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x,
-                                                       decor->vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y);
+          v10 = (unsigned __int16 *)stru_5C6E00->Atan2(pLevelDecorations[i].vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x,
+                                                       pLevelDecorations[i].vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y);
           v38 = 0;
-          v13 = ((signed int)(stru_5C6E00->uIntegerPi + ((signed int)stru_5C6E00->uIntegerPi >> 3) + decor->field_10_y_rot - (signed int)v10) >> 8) & 7;
+          v13 = ((signed int)(stru_5C6E00->uIntegerPi + ((signed int)stru_5C6E00->uIntegerPi >> 3) + pLevelDecorations[i].field_10_y_rot - (signed int)v10) >> 8) & 7;
           v37 = (unsigned __int16 *)v13;
           if ( v8->uFlags & 2 )
             v38 = 2;
@@ -976,21 +977,21 @@
               v14 = 255;
               v15 = 255;
             }
-            pStationaryLightsStack->AddLight(decor->vPosition.x, decor->vPosition.y, decor->vPosition.z + decor_desc->uDecorationHeight / 2,
+            pStationaryLightsStack->AddLight(pLevelDecorations[i].vPosition.x, pLevelDecorations[i].vPosition.y, pLevelDecorations[i].vPosition.z + decor_desc->uDecorationHeight / 2,
               v8->uGlowRadius, v14, v15, v16, _4E94D0_light_type);
           }
-          v17 = (decor->vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x) << 16;
+          v17 = (pLevelDecorations[i].vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x) << 16;
           if (pGame->pIndoorCameraD3D->sRotationX)
           {
-            v40 = (decor->vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y) << 16;
+            v40 = (pLevelDecorations[i].vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y) << 16;
             v18 = fixpoint_mul(v17, pGame->pIndoorCameraD3D->int_cosine_y) + fixpoint_mul(v40, pGame->pIndoorCameraD3D->int_sine_y);
-            v41 = fixpoint_mul((decor->vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_sine_x);
+            v41 = fixpoint_mul((pLevelDecorations[i].vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_sine_x);
             v19 = fixpoint_mul(v18, pGame->pIndoorCameraD3D->int_cosine_x);
-            v20 = v19 + fixpoint_mul((decor->vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_sine_x);
+            v20 = v19 + fixpoint_mul((pLevelDecorations[i].vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_sine_x);
             if ( v20 >= 0x40000 && v20 <= pODMRenderParams->shading_dist_mist << 16 )
             {
               v21 = fixpoint_mul(v40, pGame->pIndoorCameraD3D->int_cosine_y) - fixpoint_mul(v17, pGame->pIndoorCameraD3D->int_sine_y);
-              v22 = fixpoint_mul((decor->vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_cosine_x) - fixpoint_mul(v18, pGame->pIndoorCameraD3D->int_sine_x);
+              v22 = fixpoint_mul((pLevelDecorations[i].vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16, pGame->pIndoorCameraD3D->int_cosine_x) - fixpoint_mul(v18, pGame->pIndoorCameraD3D->int_sine_x);
               if ( 2 * abs(v20) >= abs(v21) )
               {
                 LODWORD(v24) = 0;
@@ -1014,9 +1015,9 @@
                   HIBYTE(v29) |= 2;
                   pBillboardRenderList[::uNumBillboardsToDraw].uPalette = v8->uPaletteIndex;
                   pBillboardRenderList[::uNumBillboardsToDraw].field_1E = v29;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_x = decor->vPosition.x;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_y = decor->vPosition.y;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_z = decor->vPosition.z;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_x = pLevelDecorations[i].vPosition.x;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_y = pLevelDecorations[i].vPosition.y;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_z = pLevelDecorations[i].vPosition.z;
                   pBillboardRenderList[::uNumBillboardsToDraw].uScreenSpaceY = v40;
                   HIWORD(v30) = HIWORD(v20);
                   v31 = PID(OBJECT_Decoration,i);
@@ -1035,13 +1036,13 @@
           }
           else
           {
-            v42 = (decor->vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x) << 16;
-            v40 = (decor->vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y) << 16;
+            v42 = (pLevelDecorations[i].vPosition.x - pGame->pIndoorCameraD3D->vPartyPos.x) << 16;
+            v40 = (pLevelDecorations[i].vPosition.y - pGame->pIndoorCameraD3D->vPartyPos.y) << 16;
             v20 = fixpoint_mul(v17, pGame->pIndoorCameraD3D->int_cosine_y) + fixpoint_mul(v40, pGame->pIndoorCameraD3D->int_sine_y);
             if ( v20 >= 0x40000 && v20 <= pODMRenderParams->shading_dist_mist << 16 )
             {
               v21 = fixpoint_mul(v40, pGame->pIndoorCameraD3D->int_cosine_y) - fixpoint_mul(v42, pGame->pIndoorCameraD3D->int_sine_y);
-              v22 = (decor->vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16;
+              v22 = (pLevelDecorations[i].vPosition.z - pGame->pIndoorCameraD3D->vPartyPos.z) << 16;
               v42 = v22;
               if ( 2 * abs(v20) >= abs(v21) )
               {
@@ -1066,9 +1067,9 @@
                   HIBYTE(v29) |= 2;
                   pBillboardRenderList[::uNumBillboardsToDraw].uPalette = v8->uPaletteIndex;
                   pBillboardRenderList[::uNumBillboardsToDraw].field_1E = v29;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_x = decor->vPosition.x;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_y = decor->vPosition.y;
-                  pBillboardRenderList[::uNumBillboardsToDraw].world_z = decor->vPosition.z;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_x = pLevelDecorations[i].vPosition.x;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_y = pLevelDecorations[i].vPosition.y;
+                  pBillboardRenderList[::uNumBillboardsToDraw].world_z = pLevelDecorations[i].vPosition.z;
                   pBillboardRenderList[::uNumBillboardsToDraw].uScreenSpaceY = v40;
                   HIWORD(v30) = HIWORD(v20);
                   v31 = PID(OBJECT_Decoration,i);
@@ -1092,9 +1093,9 @@
         memset(&local_0, 0, 0x68);
         local_0.type = ParticleType_Bitmap | ParticleType_Rotating | ParticleType_8;
         local_0.uDiffuse = 0xFF3C1E;
-        local_0.x = (double)decor->vPosition.x;
-        local_0.y = (double)decor->vPosition.y;
-        local_0.z = (double)decor->vPosition.z;
+        local_0.x = (double)pLevelDecorations[i].vPosition.x;
+        local_0.y = (double)pLevelDecorations[i].vPosition.y;
+        local_0.z = (double)pLevelDecorations[i].vPosition.z;
         local_0.r = 0.0;
         local_0.g = 0.0;
         local_0.b = 0.0;