Mercurial > mm7
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