diff Render.cpp @ 2325:846e28e41fb4

for bloodsplat
author Ritor1
date Fri, 28 Mar 2014 12:32:18 +0600
parents a59892f99d31
children 82851980e3d8
line wrap: on
line diff
--- a/Render.cpp	Thu Mar 27 23:30:02 2014 +0100
+++ b/Render.cpp	Fri Mar 28 12:32:18 2014 +0600
@@ -7335,17 +7335,11 @@
 //----- (004A68EF) --------------------------------------------------------
 void Render::DrawMasked(signed int a2, signed int a3, Texture *pTexture, unsigned __int16 mask)
 {
-  Texture *v4; // edi@2
   unsigned int v5; // ebx@4
-  //unsigned __int16 *v6; // eax@4
-  signed int v7; // edx@5
-  int v8; // edx@6
-  signed int v9; // edx@7
   int v10; // edx@8
   signed int v11; // edx@9
   signed int v12; // esi@12
   signed int v13; // esi@15
-  unsigned int v14; // edx@17
   signed int v15; // esi@18
   unsigned __int8 *v16; // ebx@22
   char v17; // zf@28
@@ -7354,65 +7348,54 @@
   int v20; // [sp+1Ch] [bp-4h]@4
   int v21; // [sp+28h] [bp+8h]@24
   unsigned int v22; // [sp+2Ch] [bp+Ch]@22
-  unsigned int pTexturea; // [sp+30h] [bp+10h]@11
 
   if (!uNumSceneBegins || !pTexture)
     return;
 
-    v4 = pTexture;
-
-      if ( pTexture->pPalette16 )
-      {
-        v5 = pTexture->uTextureHeight;
-        //v6 = &this->pTargetSurface[a2 + a3 * this->uTargetSurfacePitch];
-        v19 = pTexture->pLevelOfDetail0_prolly_alpha_mask;
-        v20 = pTexture->uTextureWidth;
-        v18 = pTexture->uTextureWidth;
-        int clipped_out_x = a2;
-        int clipped_out_y = a3;
-        if ( this->bClip )
-        {
-          v7 = this->uClipX;
-          if ( a2 < v7 )
-          {
-            v8 = v7 - a2;
-            v19 += v8;
-            v20 += a2 - this->uClipX;
-            //v6 += v8;
-            clipped_out_x = uClipX;
-          }
-          v9 = this->uClipY;
-          v5 = pTexture->uTextureHeight;
-          if ( a3 < v9 )
-          {
-            v10 = v9 - a3;
-            v19 += v18 * v10;
-            v5 = a3 - this->uClipY + pTexture->uTextureHeight;
-            v4 = pTexture;
-            //v6 += this->uTargetSurfacePitch * v10;
-            clipped_out_y = uClipY;
-          }
-          v11 = this->uClipX;
-          if ( v11 < a2 )
-            v11 = a2;
-          pTexturea = this->uClipZ;
-          if ( v11 + v20 > (signed int)pTexturea )
-          {
-            v12 = this->uClipX;
-            if ( v12 < a2 )
-              v12 = a2;
-            v20 = pTexturea - v12;
+  if ( pTexture->pPalette16 )
+  {
+    v5 = pTexture->uTextureHeight;
+    //v6 = &this->pTargetSurface[a2 + a3 * this->uTargetSurfacePitch];
+    v19 = pTexture->pLevelOfDetail0_prolly_alpha_mask;
+    v20 = pTexture->uTextureWidth;
+    v18 = pTexture->uTextureWidth;
+    int clipped_out_x = a2;
+    int clipped_out_y = a3;
+    if ( this->bClip )
+    {
+      if ( a2 < this->uClipX )
+      {
+        v19 += this->uClipX - a2;
+        v20 += a2 - this->uClipX;
+        clipped_out_x = uClipX;
+      }
+      v5 = pTexture->uTextureHeight;
+      if ( a3 < this->uClipY )
+      {
+        v10 = this->uClipY - a3;
+        v19 += v18 * v10;
+        v5 = a3 - this->uClipY + pTexture->uTextureHeight;
+        clipped_out_y = uClipY;
+      }
+      v11 = this->uClipX;
+      if ( this->uClipX < a2 )
+        v11 = a2;
+      if ( v11 + v20 > (signed int)this->uClipZ )
+      {
+        v12 = this->uClipX;
+        if ( v12 < a2 )
+          v12 = a2;
+            v20 = this->uClipZ - v12;
           }
           v13 = this->uClipY;
-          if ( v13 < a3 )
+          if ( this->uClipY < a3 )
             v13 = a3;
-          v14 = this->uClipW;
-          if ( (signed int)(v5 + v13) > (signed int)v14 )
+          if ( (signed int)(v5 + v13) > (signed int)this->uClipW )
           {
             v15 = this->uClipY;
-            if ( v15 < a3 )
+            if ( this->uClipY < a3 )
               v15 = a3;
-            v5 = v14 - v15;
+            v5 = this->uClipW - v15;
           }
         }
         
@@ -7422,7 +7405,7 @@
           for (int x = 0; x < v20; ++x)
           {
                 if ( *v16 )
-                  WritePixel16(clipped_out_x + x, clipped_out_y + y, v4->pPalette16[*v16] & mask);
+                  WritePixel16(clipped_out_x + x, clipped_out_y + y, pTexture->pPalette16[*v16] & mask);
                 ++v16;
           }
             v16 += v18 - v20;