diff CShow.h @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children bcd55744c2f4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CShow.h	Sat Jan 12 09:45:18 2013 +0600
@@ -0,0 +1,114 @@
+#pragma once
+#include "VideoPlayer.h"
+#include "Mouse.h"
+
+
+
+/*  302 */
+enum MovieType
+{
+  MOVIE_Invalid = 0x0,
+  MOVIE_3DOLogo = 0x1,
+  MOVIE_NWCLogo = 0x2,
+  MOVIE_JVC = 0x3,
+  MOVIE_Emerald = 0x4,
+  MOVIE_Intro = 0x5,
+  MOVIE_Death = 0x6,
+  MOVIE_Outro = 0x7,
+};
+
+
+#pragma pack(push, 1)
+struct CShow
+{
+  //----- (004A9507) --------------------------------------------------------
+  CShow() {}
+
+  //----- (004A9510) --------------------------------------------------------
+  virtual ~CShow() {}
+
+  
+  //----- (004A952D) --------------------------------------------------------
+  void CShow::PlayMovie(MovieType eVideo, bool bShowMouseAfterPlayback)
+  {
+  int v3; // edx@5
+  const char *Name; // ecx@5
+  //std::string v5; // [sp-18h] [bp-24h]@4
+  //signed int v6; // [sp-Ch] [bp-18h]@10
+  int ScreenSizeFlag; // [sp-8h] [bp-14h]@4
+  int v8; // [sp-4h] [bp-10h]@4
+  //char v9; // [sp+0h] [bp-Ch]@14
+  //char v10; // [sp+4h] [bp-8h]@4
+  //int a3; // [sp+Bh] [bp-1h]@14
+
+  if (pAsyncMouse)
+    pAsyncMouse->Suspend();
+  switch ( eVideo )
+  {
+    case MOVIE_Invalid:
+      MessageBoxW(nullptr, L"No movie", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Show.cpp:40", 0);
+      break;
+    case MOVIE_3DOLogo:
+      v8 = 1;
+      ScreenSizeFlag = 0;
+      v3 = 0;
+      Name = "3dologo";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_NWCLogo:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 0;
+      Name = "new world logo";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_JVC:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 0;
+      Name = "jvc";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_Intro:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 0;
+      Name = "Intro";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_Emerald:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 0;
+      Name = "Intro Post";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_Death:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 2;
+      Name = "losegame";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    case MOVIE_Outro:
+      v8 = 1;
+      ScreenSizeFlag = 1;
+      v3 = 20;
+      Name = "end_seq1";
+      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
+      break;
+    default:
+      MessageBoxW(nullptr, L"Invalid movie requested in CShow::Run()", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Show.cpp:72", 0);
+      break;
+  }
+  if ( bShowMouseAfterPlayback )
+  {
+    if (pAsyncMouse)
+      pAsyncMouse->Resume();
+  }
+}
+
+
+  void (__thiscall ***vdestructor_ptr)(CShow *, bool);
+};
+#pragma pack(pop)
\ No newline at end of file