ScummVM API documentation
staticres.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 ASYLUM_STATICRES_H
23#define ASYLUM_STATICRES_H
24
25#include "common/rect.h"
26
27namespace Asylum {
28
30const int16 menuRects[12][4] = {{ 40, 19, 93, 68},
31 {140, 19, 193, 68},
32 {239, 19, 292, 68},
33 {340, 19, 393, 68},
34 {439, 19, 492, 68},
35 {538, 19, 591, 68},
36 { 40, 400, 93, 449},
37 {140, 400, 193, 449},
38 {239, 400, 292, 449},
39 {340, 400, 393, 449},
40 {538, 400, 591, 449}, // The last two icons are swapped
41 {439, 400, 492, 449}};
42
43const uint32 eyeFrameIndex[8] = {3, 5, 1, 7, 4, 8, 2, 6};
44
45const int moviesCd[49] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
46 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
47 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
48 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
49 3, 3, 3, 3, 3, 3, 3, 3, 2};
50
51const int chapterIndexes[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 4, 8, 9, 0, 0};
52
54const ActorIndexes actorType[16] = {kActorMax, kActorMax, kActorMax, kActorMax,
55 kActorSarah, kActorMax, kActorCyclops, kActorMax,
56 kActorAztec, kActorMax, kActorSarah, kActorSarah,
57 kActorAztec, kActorMax, kActorMax, kActorMax};
58
60const uint speechIndex[20] = {17, 22, 27, 37, 45, 12, 16, 19, 25, 29, 14, 18, 23, 29, 35, 6, 9, 13, 19, 27};
61const uint speechIndexRandom[20] = { 5, 5, 10, 8, 6, 4, 3, 6, 4, 4, 4, 5, 6, 6, 6, 3, 4, 6, 8, 4};
62
64const int encounterPortrait1Index[16] = {-1, 36, 20, 31, 1, 37, 7, 0, 0, 0, 1, 2, 3, 0, 0, 0};
65const int encounterPortrait2Index[80] = {32, 33, 34, 21, 22, 23, 24, 25, 26, 27,
66 28, 29, 30, 31, 32, 1, 2, 3, 1, 2,
67 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
68 13, 14, 19, 20, 21, 22, 23, 24, 25, 26,
69 27, 28, 29, 30, 2, 0, 3, 4, 5, 6,
70 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
71 17, 18, 19, 20, 21, 22, 0, 1, 2, 3,
72 4, 5, 6, 35, 33, 34, 35, 36, 37, 36};
73
74// Delta array for points
75static const int16 deltaPointsArray[8][2] = {
76 { 0, -1}, {-1, -1}, {-1, 0}, {-1, 1},
77 { 0, 1}, { 1, 1}, { 1, 0}, { 1, -1}
78};
79
80// We hardcode all the text resources here. It makes the resulting code easier,
81// otherwise we'll have to read the text resources in the same obscure way
82// they're stored in VIDS.CAP.
83// A value of -1 means that the video has no subtitles, -2 that it doesn't exist.
84// The negative values aren't used in the code, they just make the table
85// easier to understand.
86const int32 video_subtitle_resourceIds[49] = {
87 -1, 1088, 1279, 1122, 1286, 1132, 1133, 1134, 1135, 1136, // 0 - 9
88 -1, -2, 1140, 1141, -2, -1, 1142, -1, -2, 1155, // 10 - 19
89 1157, 1159, 1162, 1164, -2, 1171, 1177, 1184, 1190, 1201, // 20 - 29
90 -2, -2, -2, 1207, 1213, 1217, 1223, 1227, -2, 1228, // 30 - 39
91 -2, 1244, 1247, 1250, 1256, 1120, 1127, -1, -1 }; // 40 - 48
92
93// Angle Tables used by getAngle()
94// The angle values are in degrees units
95const uint8 angleTable01[256] = {
96 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3,
97 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7,
98 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10,
99 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14,
100 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17, 17, 17,
101 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20,
102 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
103 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26,
104 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29,
105 29, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, 32,
106 32, 32, 32, 32, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34,
107 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 37, 37,
108 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39,
109 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41,
110 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43,
111 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45
112};
113
114const uint8 angleTable02[256] = {
115 0, 4, 7, 11, 14, 17, 21, 24, 27, 29, 32, 35, 37, 39, 41, 43,
116 45, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
117 63, 64, 65, 65, 66, 67, 67, 68, 68, 69, 69, 70, 70, 70, 71, 71,
118 72, 72, 72, 73, 73, 73, 73, 74, 74, 74, 75, 75, 75, 75, 76, 76,
119 76, 76, 76, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 79,
120 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80,
121 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82,
122 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83,
123 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
124 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
125 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85,
126 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
127 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86,
128 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
129 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
130 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86
131};
132
133const uint8 angleTable03[256] = {
134 0, 45, 63, 72, 76, 79, 81, 82, 83, 84, 84, 85, 85, 86, 86, 86,
135 86, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88,
136 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89,
137 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
138 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
139 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
140 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
141 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
142 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
143 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
144 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
145 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
146 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
147 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
148 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
149 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90
150};
151
152} // end of namespace Asylum
153
154#endif // ASYLUM_STATICRES_H