changeset 32:77de07f99e03

16.10.12 9.09
author Ritor1
date Tue, 16 Oct 2012 09:09:53 +0600
parents 509744251c8e
children c033691c2eca
files Render.cpp Texture.cpp
diffstat 2 files changed, 21 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/Render.cpp	Sun Oct 14 00:27:38 2012 +0200
+++ b/Render.cpp	Tue Oct 16 09:09:53 2012 +0600
@@ -6914,7 +6914,7 @@
   IDirectDrawSurface **v1; // esi@2
 
   if ( pVersion->pVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT
-    || (v1 = (IDirectDrawSurface **)&this->pFrontBuffer2, pVersion->pVersionInfo.dwMajorVersion != 4) )
+    || (v1 = (IDirectDrawSurface **)&this->pFrontBuffer2, pVersion->pVersionInfo.dwMajorVersion >= 5u) )
     v1 = (IDirectDrawSurface **)&this->pFrontBuffer4;
   if ( (*v1)->IsLost() == DDERR_SURFACELOST )
     (*v1)->Restore();
--- a/Texture.cpp	Sun Oct 14 00:27:38 2012 +0200
+++ b/Texture.cpp	Tue Oct 16 09:09:53 2012 +0600
@@ -641,24 +641,22 @@
  uNumPixels=uWidth*uHeight;		  // dword @ 000010
  
  memset(pOutPixels, 0, uNumPixels * sizeof(__int16));
-
-  for (short i=1; i<=15; i++)
-	  {
-	  if ((1<<i)==uWidth)
-		  {
-		  field_18=i;
-		  break;
-		  }
-	  }
-
-  for (short i=1; i<=15; i++)
-	  {
-	  if ((1<<i)==uHeight)
-		  {
-		  field_1A=i;
-		  break;
-		  }
-	  }
+  short i=1;
+  while ( (1<<i) !=uWidth)
+  {
+	  ++i;
+      if (i >= 15)
+	  break;
+  }
+  field_18=i;
+  short i_=1;
+  while ( (1<<i_) !=uHeight)
+  {
+	  ++i_;
+      if (i_ >= 15)
+	  break;
+  }
+  field_1A=i_;
   switch (field_18)
 	  {
   case 2:   field_1C = 3;    break;
@@ -692,9 +690,9 @@
  
  read_offset = 128;
  if (psx_head2.planes != 3)
- 	  return 3;
+ 	  return 0;
   current_line = 0;
-  if ( uWidth > 0 )
+  if ( uHeight > 0 )
   {
    dec_position = pOutPixels;
    do
@@ -706,11 +704,11 @@
     {
      do
      {
-      test_byte = *(pPcx + read_offset);
+      test_byte = pPcx[read_offset];
       ++read_offset;
       if ((test_byte & 0xC0) == 0xC0)
       {	
-	    value = *(pPcx + read_offset);
+	    value = pPcx[read_offset];
        	++read_offset; 
       
        if ((test_byte & 0x3F) > 0)