Mercurial > might-and-magic-trilogy
view CShow.h @ 1:ac0fb48cd27a
Texture, hwl loading, video player
author | Nomad |
---|---|
date | Tue, 09 Oct 2012 13:09:08 +0200 |
parents | 8b8875f5b359 |
children | 2ca04ccb612a |
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_Intro = 0x4, MOVIE_Emerald = 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 *v4; // ecx@5 std::string v5; // [sp-18h] [bp-24h]@4 signed int v6; // [sp-Ch] [bp-18h]@10 int v7; // [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; v7 = 0; v3 = 0; v4 = "3dologo"; goto LABEL_13; case MOVIE_NWCLogo: v8 = 1; v7 = 1; v3 = 0; v4 = "new world logo"; goto LABEL_13; case MOVIE_JVC: v8 = 1; v7 = 1; v3 = 0; v4 = "jvc"; goto LABEL_13; case MOVIE_Emerald: v8 = 1; v7 = 1; v3 = 0; v4 = "Intro"; goto LABEL_13; case MOVIE_Intro: v8 = 1; v7 = 1; v3 = 0; v4 = "Intro Post"; goto LABEL_13; case MOVIE_Death: v8 = 1; v7 = 1; v6 = 2; v4 = "losegame"; goto LABEL_12; case MOVIE_Outro: v8 = 1; v7 = 1; v6 = 20; v4 = "end_seq1"; LABEL_12: v3 = v6; LABEL_13: VideoPlayer::MovieLoop(v4, v3, v7, 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)