ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 
27 namespace Asylum {
28 
30 const 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 
43 const uint32 eyeFrameIndex[8] = {3, 5, 1, 7, 4, 8, 2, 6};
44 
45 const 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 
51 const int chapterIndexes[16] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 4, 8, 9, 0, 0};
52 
54 const ActorIndexes actorType[16] = {kActorMax, kActorMax, kActorMax, kActorMax,
55  kActorSarah, kActorMax, kActorCyclops, kActorMax,
56  kActorAztec, kActorMax, kActorSarah, kActorSarah,
57  kActorAztec, kActorMax, kActorMax, kActorMax};
58 
60 const uint speechIndex[20] = {17, 22, 27, 37, 45, 12, 16, 19, 25, 29, 14, 18, 23, 29, 35, 6, 9, 13, 19, 27};
61 const uint speechIndexRandom[20] = { 5, 5, 10, 8, 6, 4, 3, 6, 4, 4, 4, 5, 6, 6, 6, 3, 4, 6, 8, 4};
62 
64 const int encounterPortrait1Index[16] = {-1, 36, 20, 31, 1, 37, 7, 0, 0, 0, 1, 2, 3, 0, 0, 0};
65 const 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
75 static 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.
86 const 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
95 const 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 
114 const 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 
133 const 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
Definition: asylum.h:53