0
|
1 #pragma once
|
|
2 #include "VideoPlayer.h"
|
|
3 #include "Mouse.h"
|
|
4
|
|
5
|
|
6
|
|
7 /* 302 */
|
|
8 enum MovieType
|
|
9 {
|
|
10 MOVIE_Invalid = 0x0,
|
|
11 MOVIE_3DOLogo = 0x1,
|
|
12 MOVIE_NWCLogo = 0x2,
|
|
13 MOVIE_JVC = 0x3,
|
|
14 MOVIE_Emerald = 0x4,
|
|
15 MOVIE_Intro = 0x5,
|
|
16 MOVIE_Death = 0x6,
|
|
17 MOVIE_Outro = 0x7,
|
|
18 };
|
|
19
|
|
20
|
|
21 #pragma pack(push, 1)
|
|
22 struct CShow
|
|
23 {
|
|
24 //----- (004A9507) --------------------------------------------------------
|
|
25 CShow() {}
|
|
26
|
|
27 //----- (004A9510) --------------------------------------------------------
|
|
28 virtual ~CShow() {}
|
|
29
|
|
30
|
|
31 //----- (004A952D) --------------------------------------------------------
|
|
32 void CShow::PlayMovie(MovieType eVideo, bool bShowMouseAfterPlayback)
|
|
33 {
|
|
34 int v3; // edx@5
|
|
35 const char *Name; // ecx@5
|
|
36 //std::string v5; // [sp-18h] [bp-24h]@4
|
|
37 //signed int v6; // [sp-Ch] [bp-18h]@10
|
|
38 int ScreenSizeFlag; // [sp-8h] [bp-14h]@4
|
|
39 int v8; // [sp-4h] [bp-10h]@4
|
|
40 //char v9; // [sp+0h] [bp-Ch]@14
|
|
41 //char v10; // [sp+4h] [bp-8h]@4
|
|
42 //int a3; // [sp+Bh] [bp-1h]@14
|
|
43
|
|
44 if (pAsyncMouse)
|
|
45 pAsyncMouse->Suspend();
|
|
46 switch ( eVideo )
|
|
47 {
|
|
48 case MOVIE_Invalid:
|
|
49 MessageBoxW(nullptr, L"No movie", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Show.cpp:40", 0);
|
|
50 break;
|
|
51 case MOVIE_3DOLogo:
|
|
52 v8 = 1;
|
|
53 ScreenSizeFlag = 0;
|
|
54 v3 = 0;
|
|
55 Name = "3dologo";
|
|
56 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
57 break;
|
|
58 case MOVIE_NWCLogo:
|
|
59 v8 = 1;
|
|
60 ScreenSizeFlag = 1;
|
|
61 v3 = 0;
|
|
62 Name = "new world logo";
|
|
63 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
64 break;
|
|
65 case MOVIE_JVC:
|
|
66 v8 = 1;
|
|
67 ScreenSizeFlag = 1;
|
|
68 v3 = 0;
|
|
69 Name = "jvc";
|
|
70 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
71 break;
|
|
72 case MOVIE_Intro:
|
|
73 v8 = 1;
|
|
74 ScreenSizeFlag = 1;
|
|
75 v3 = 0;
|
|
76 Name = "Intro";
|
|
77 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
78 break;
|
|
79 case MOVIE_Emerald:
|
|
80 v8 = 1;
|
|
81 ScreenSizeFlag = 1;
|
|
82 v3 = 0;
|
|
83 Name = "Intro Post";
|
|
84 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
85 break;
|
|
86 case MOVIE_Death:
|
|
87 v8 = 1;
|
|
88 ScreenSizeFlag = 1;
|
|
89 v3 = 2;
|
|
90 Name = "losegame";
|
|
91 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
92 break;
|
|
93 case MOVIE_Outro:
|
|
94 v8 = 1;
|
|
95 ScreenSizeFlag = 1;
|
|
96 v3 = 20;
|
|
97 Name = "end_seq1";
|
|
98 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8);
|
|
99 break;
|
|
100 default:
|
|
101 MessageBoxW(nullptr, L"Invalid movie requested in CShow::Run()", L"E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Show.cpp:72", 0);
|
|
102 break;
|
|
103 }
|
|
104 if ( bShowMouseAfterPlayback )
|
|
105 {
|
|
106 if (pAsyncMouse)
|
|
107 pAsyncMouse->Resume();
|
|
108 }
|
|
109 }
|
|
110
|
|
111
|
|
112 void (__thiscall ***vdestructor_ptr)(CShow *, bool);
|
|
113 };
|
|
114 #pragma pack(pop) |