annotate CShow.h @ 38:c261e0eea3c9

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