diff VideoPlayer.cpp @ 1055:010a844ef4a0

Слияние
author Ritor1
date Wed, 22 May 2013 22:23:04 +0600
parents 306ec23b37df
children 5d5c78088274
line wrap: on
line diff
--- a/VideoPlayer.cpp	Wed May 22 22:22:36 2013 +0600
+++ b/VideoPlayer.cpp	Wed May 22 22:23:04 2013 +0600
@@ -2,6 +2,9 @@
 
 #include "Bink_Smacker.h"
 
+#include "CShow.h"
+#include "Mouse.h"
+
 #include "OSInfo.h"
 #include "VideoPlayer.h"
 #include "AudioPlayer.h"
@@ -322,6 +325,11 @@
 
   pRenderer->EndScene();
   pRenderer->Present();
+
+  #ifndef _DEBUG
+    Sleep(1500);   // let the copyright window stay for a while
+  #endif
+
   if (!bNoSound && pAudioPlayer->hAILRedbook )
   {
     pAudioPlayer->SetMusicVolume((signed __int64)(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0));
@@ -445,14 +453,14 @@
     if ( a2.dwRBitMask == 0xF800 )
     {
       if ( a2.dwGBitMask == 0x7E0 && a2.dwBBitMask == 0x1F )
-        return 0xC0000000u;
+        return SMACKBUFFER565;
     }
     else
     {
       if ( a2.dwRBitMask == 0x7C00
         && a2.dwGBitMask == 0x3E0
         && a2.dwBBitMask == 0x1F )
-        return 0x80000000u;
+        return SMACKBUFFER555;
     }
     MessageBoxA(0, "Unsupported pixel format.", "Smacker Error", 0);
   }
@@ -808,12 +816,7 @@
       Unload();
   }
 }
-// 4D83D8: using guessed type int __stdcall SmackBlitSetPalette(int, int, int);
-// 4D83DC: using guessed type int __stdcall SmackBlitClear(int, int, int, int, int, int, int, int);
-// 4D83E0: using guessed type int __stdcall SmackToBufferRect(int, int);
-// 4D83E4: using guessed type int __stdcall SmackDoFrame(int);
-// 4D83E8: using guessed type int __stdcall SmackNextFrame(int);
-// 4D8404: using guessed type int __stdcall SmackBlit(int, int, int, int, int, int, int, int, int, int, int);
+
 
 //----- (004BF08B) --------------------------------------------------------
 void VideoPlayer::SmackUpdatePalette(HWND hWnd)
@@ -1060,23 +1063,18 @@
         return;
       }
       SmackToBuffer(pVideoPlayer->pSmackerMovie, 0, 0, pVideoPlayer->pSmackerMovie->Width, pVideoPlayer->pSmackerMovie->Height, v9, 0);
+
+      v10 = SmackCheckSurfaceFromat();
       if ( a4 )
       {
-        if ( (unsigned int)uCPUSpeed < 165 )
-        {
-          Log::Warning(L"Smacker seems to use lower resolution because it thinks CPU is slow");
-          v10 = SmackCheckSurfaceFromat() | 2;
-        }
+        v10 |= SMACKBLIT2X;
+
+        if (uCPUSpeed >= 165 )
+          v10 |= SMACKBLIT2XSMOOTHING;
         else
-        {
-          v10 = SmackCheckSurfaceFromat();
-          LOBYTE(v10) = v10 | 6;
-        }
+          Log::Warning(L"Smacker seems to use lower resolution because it thinks CPU is slow");
       }
-      else
-      {
-        v10 = SmackCheckSurfaceFromat();
-      }
+
       v11 = SmackBlitOpen(v10);
       pVideoPlayer->pSmackMovieBlit = v11;
       if ( !v11 )