ScummVM API documentation
vga.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 AGOS_VGA_H
23
#define AGOS_VGA_H
24
25
namespace
AGOS
{
26
27
#include "common/pack-start.h"
// START STRUCT PACKING
28
29
// Feeble Files
30
struct
VgaFile1Header_Feeble
{
31
uint16 imageCount;
32
uint16 x_2;
33
uint16 animationCount;
34
uint16 x_3;
35
uint16 imageTable;
36
uint16 x_4;
37
uint16 animationTable;
38
uint16 x_5;
39
} PACKED_STRUCT;
40
41
struct
ImageHeader_Feeble
{
42
uint16 id;
43
uint16 x_1;
44
uint16 scriptOffs;
45
uint16 x_2;
46
} PACKED_STRUCT;
47
48
struct
AnimationHeader_Feeble
{
49
uint16 scriptOffs;
50
uint16 x_2;
51
uint16 id;
52
} PACKED_STRUCT;
53
54
// Simon 1/2
55
struct
ImageHeader_Simon
{
56
uint16 id;
57
uint16 color;
58
uint16 x_2;
59
uint16 scriptOffs;
60
} PACKED_STRUCT;
61
62
struct
AnimationHeader_Simon
{
63
uint16 id;
64
uint16 x_2;
65
uint16 scriptOffs;
66
} PACKED_STRUCT;
67
68
69
// Elvira 1/2 and Waxworks
70
struct
ImageHeader_WW
{
71
uint16 id;
72
uint16 color;
73
uint16 x_2;
74
uint16 scriptOffs;
75
} PACKED_STRUCT;
76
77
struct
AnimationHeader_WW
{
78
uint16 id;
79
uint16 x_1;
80
uint16 x_2;
81
uint16 scriptOffs;
82
} PACKED_STRUCT;
83
84
// Common
85
struct
VgaFile1Header_Common
{
86
uint16 x_1;
87
uint16 imageCount;
88
uint16 x_2;
89
uint16 animationCount;
90
uint16 x_3;
91
uint16 imageTable;
92
uint16 x_4;
93
uint16 animationTable;
94
uint16 x_5;
95
} PACKED_STRUCT;
96
97
#include "common/pack-end.h"
// END STRUCT PACKING
98
99
enum
DrawFlags {
100
kDFFlip = 0x1,
101
kDFNonTrans = 0x2,
102
kDFSkipStoreBG = 0x4,
103
kDFCompressed = 0x8,
104
kDFCompressedFlip = 0x10,
105
kDFMasked = 0x20,
106
107
// Feeble specific
108
kDFOverlayed = 0x10,
109
kDFScaled = 0x40,
110
kDFShaded = 0x80
111
};
112
113
struct
VC10_state
{
114
int16 image;
115
uint16 flags;
116
byte palette;
117
byte paletteMod;
118
119
int16 x, y;
120
uint16 width, height;
121
uint16 draw_width, draw_height;
122
uint16 x_skip, y_skip;
123
124
byte *surf2_addr;
125
uint surf2_pitch;
126
127
byte *surf_addr;
128
uint surf_pitch;
129
130
uint16 dl, dh;
131
132
const
byte *srcPtr;
133
int8 depack_cont;
134
135
byte depack_dest[480];
136
137
VC10_state
() { memset(
this
, 0,
sizeof
(*
this
)); }
138
};
139
140
byte *vc10_depackColumn(
VC10_state
*vs);
141
142
}
// End of namespace AGOS
143
144
#endif
AGOS::AnimationHeader_WW
Definition:
vga.h:77
AGOS::VC10_state
Definition:
vga.h:113
AGOS::AnimationHeader_Simon
Definition:
vga.h:62
AGOS
Definition:
agos.h:70
AGOS::ImageHeader_Simon
Definition:
vga.h:55
AGOS::AnimationHeader_Feeble
Definition:
vga.h:48
AGOS::VgaFile1Header_Common
Definition:
vga.h:85
AGOS::ImageHeader_WW
Definition:
vga.h:70
AGOS::ImageHeader_Feeble
Definition:
vga.h:41
AGOS::VgaFile1Header_Feeble
Definition:
vga.h:30
engines
agos
vga.h
Generated on Fri Nov 22 2024 09:12:14 for ScummVM API documentation by
1.8.13