view CShow.h @ 336:ea55d6414029

Event_proceccor preliminary
author Gloval
date Thu, 21 Feb 2013 00:33:12 +0400
parents c5e5c5146957
children c45d51b3f4f4
line wrap: on
line source

#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 (bNoVideo)
    return;

  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:
      ScreenSizeFlag = 0;
      v3 = 0;
      Name = "3dologo";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_NWCLogo:
      ScreenSizeFlag = 1;
      v3 = 0;
      Name = "new world logo";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_JVC:
      ScreenSizeFlag = 1;
      v3 = 0;
      Name = "jvc";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_Intro:
      ScreenSizeFlag = 1;
      v3 = 0;
      Name = "Intro";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_Emerald:
      ScreenSizeFlag = 1;
      v3 = 0;
      Name = "Intro Post";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_Death:
      ScreenSizeFlag = 1;
      v3 = 2;
      Name = "losegame";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      break;
    case MOVIE_Outro:
      ScreenSizeFlag = 1;
      v3 = 20;
      Name = "end_seq1";
      VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, 1);
      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)