Mercurial > might-and-magic-trilogy
annotate CShow.h @ 208:af624eaf2fc5 tip
14.01.13
author | Ritor1 |
---|---|
date | Mon, 14 Jan 2013 10:39:01 +0600 |
parents | d8aa322a19e5 |
children |
rev | line source |
---|---|
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, | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
14 MOVIE_Emerald = 0x4, |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
15 MOVIE_Intro = 0x5, |
0 | 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 | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
35 const char *Name; // ecx@5 |
180 | 36 //std::string v5; // [sp-18h] [bp-24h]@4 |
37 //signed int v6; // [sp-Ch] [bp-18h]@10 | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
38 int ScreenSizeFlag; // [sp-8h] [bp-14h]@4 |
0 | 39 int v8; // [sp-4h] [bp-10h]@4 |
180 | 40 //char v9; // [sp+0h] [bp-Ch]@14 |
41 //char v10; // [sp+4h] [bp-8h]@4 | |
42 //int a3; // [sp+Bh] [bp-1h]@14 | |
0 | 43 |
2 | 44 if (pAsyncMouse) |
0 | 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; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
53 ScreenSizeFlag = 0; |
0 | 54 v3 = 0; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
55 Name = "3dologo"; |
180 | 56 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
57 break; | |
0 | 58 case MOVIE_NWCLogo: |
59 v8 = 1; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
60 ScreenSizeFlag = 1; |
0 | 61 v3 = 0; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
62 Name = "new world logo"; |
180 | 63 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
64 break; | |
0 | 65 case MOVIE_JVC: |
66 v8 = 1; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
67 ScreenSizeFlag = 1; |
0 | 68 v3 = 0; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
69 Name = "jvc"; |
180 | 70 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
71 break; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
72 case MOVIE_Intro: |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
73 v8 = 1; |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
74 ScreenSizeFlag = 1; |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
75 v3 = 0; |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
76 Name = "Intro"; |
180 | 77 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
78 break; | |
0 | 79 case MOVIE_Emerald: |
80 v8 = 1; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
81 ScreenSizeFlag = 1; |
0 | 82 v3 = 0; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
83 Name = "Intro Post"; |
180 | 84 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
85 break; | |
0 | 86 case MOVIE_Death: |
87 v8 = 1; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
88 ScreenSizeFlag = 1; |
180 | 89 v3 = 2; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
90 Name = "losegame"; |
180 | 91 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
92 break; | |
0 | 93 case MOVIE_Outro: |
94 v8 = 1; | |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
95 ScreenSizeFlag = 1; |
180 | 96 v3 = 20; |
13
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
97 Name = "end_seq1"; |
17150bdf321e
исправлено неполное воспроизведение роликов, бинков
Серик@ПончиК
parents:
2
diff
changeset
|
98 VideoPlayer::MovieLoop(Name, v3, ScreenSizeFlag, v8); |
0 | 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 { | |
2 | 106 if (pAsyncMouse) |
0 | 107 pAsyncMouse->Resume(); |
108 } | |
109 } | |
110 | |
111 | |
112 void (__thiscall ***vdestructor_ptr)(CShow *, bool); | |
113 }; | |
114 #pragma pack(pop) |