ScummVM API documentation
seqplayer_lok.h
1
/* ScummVM - Graphic Adventure Engine
2
*
3
* ScummVM is the legal property of its developers, whose names
4
* are too numerous to list here. Please refer to the COPYRIGHT
5
* file distributed with this source distribution.
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*
20
*/
21
22
#ifndef KYRA_SEQPLAYER_H
23
#define KYRA_SEQPLAYER_H
24
25
#include "kyra/engine/kyra_lok.h"
26
27
namespace
Kyra
{
28
29
class
SeqPlayer
{
30
public
:
31
SeqPlayer
(
KyraEngine_LoK
*vm,
OSystem
*system);
32
~
SeqPlayer
();
33
34
void
setCopyViewOffs(
bool
offs) {
35
_copyViewOffs = offs;
36
}
37
38
void
makeHandShapes();
39
void
freeHandShapes();
40
41
bool
playSequence(
const
uint8 *seqData,
bool
skipSeq);
42
43
uint8 *setPanPages(
int
pageNum,
int
shape);
44
protected
:
45
KyraEngine_LoK
*_vm;
46
OSystem
*_system;
47
Screen
*_screen;
48
Sound
*_sound;
49
Resource
*_res;
50
51
uint8 *_handShapes[3];
52
bool
_copyViewOffs;
53
54
typedef
void (
SeqPlayer
::*SeqProc)();
55
struct
SeqEntry
{
56
uint8 len;
57
SeqProc proc;
58
const
char
*desc;
59
};
60
61
// the sequence procs
62
void
s1_wsaOpen();
63
void
s1_wsaClose();
64
void
s1_wsaPlayFrame();
65
void
s1_wsaPlayNextFrame();
66
void
s1_wsaPlayPrevFrame();
67
void
s1_drawShape();
68
void
s1_waitTicks();
69
void
s1_copyWaitTicks();
70
void
s1_shuffleScreen();
71
void
s1_copyView();
72
void
s1_loopInit();
73
void
s1_loopInc();
74
void
s1_skip();
75
void
s1_loadPalette();
76
void
s1_loadBitmap();
77
void
s1_fadeToBlack();
78
void
s1_printText();
79
void
s1_printTalkText();
80
void
s1_restoreTalkText();
81
void
s1_clearCurrentScreen();
82
void
s1_break();
83
void
s1_fadeFromBlack();
84
void
s1_copyRegion();
85
void
s1_copyRegionSpecial();
86
void
s1_fillRect();
87
void
s1_playEffect();
88
void
s1_playTrack();
89
void
s1_allocTempBuffer();
90
void
s1_textDisplayEnable();
91
void
s1_textDisplayDisable();
92
void
s1_endOfScript();
93
void
s1_loadIntroVRM();
94
void
s1_playVocFile();
95
void
s1_miscUnk3();
96
void
s1_prefetchVocFile();
97
void
s1_textDisplayWait();
98
99
struct
SeqMovie
{
100
Movie
*movie;
101
int32 page;
102
int16 frame;
103
int16 numFrames;
104
Common::Point
pos;
105
106
void
clear() {
107
movie =
nullptr
;
108
page = 0;
109
frame = 0;
110
numFrames = 0;
111
pos.
x
= 0;
112
pos.
y
= 0;
113
}
114
};
115
116
const
uint8 *_seqData;
117
uint8 _seqCode;
118
uint8 *_specialBuffer;
119
SeqMovie
_seqMovies[12];
120
SeqLoop
_seqLoopTable[20];
121
uint8 _seqLoopPos;
122
uint16 _seqWsaCurDecodePage;
123
uint32 _seqDisplayedTextTimer;
124
uint32 _seqVocStartTimer;
125
bool
_seqDisplayTextFlag;
126
uint8 _seqDisplayedText;
127
uint8 _seqDisplayedChar;
128
uint16 _seqDisplayedTextX;
129
bool
_seqTalkTextPrinted;
130
bool
_seqTalkTextRestored;
131
bool
_seqQuitFlag;
132
bool
_seqSkipCommand;
133
};
134
135
}
// End of namespace Kyra
136
137
#endif
Kyra::Resource
Definition:
resource.h:48
Kyra::Screen
Definition:
screen.h:565
Kyra::SeqPlayer::SeqEntry
Definition:
seqplayer_lok.h:55
Kyra::SeqPlayer
Definition:
seqplayer_lok.h:29
Kyra::Sound
Definition:
sound.h:91
Common::Point
Definition:
rect.h:45
Kyra::Movie
Definition:
wsamovie.h:31
Kyra::KyraEngine_LoK
Definition:
kyra_lok.h:97
Kyra
Definition:
detection.h:27
Common::Point::x
int16 x
Definition:
rect.h:46
Common::Point::y
int16 y
Definition:
rect.h:47
Kyra::SeqPlayer::SeqMovie
Definition:
seqplayer_lok.h:99
OSystem
Definition:
system.h:161
Kyra::SeqLoop
Definition:
kyra_lok.h:68
engines
kyra
sequence
seqplayer_lok.h
Generated on Wed Dec 18 2024 09:14:25 for ScummVM API documentation by
1.8.13