ScummVM API documentation
itedata.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// Actor data table header file
23
24#ifndef SAGA_ITEDATA_H
25#define SAGA_ITEDATA_H
26
27namespace Saga {
28
29enum ActorFlags {
30 kProtagonist = 0x01, // (1<<0) Actor is protagonist
31 kFollower = 0x02, // (1<<1) Actor is follower
32 kCycle = 0x04, // (1<<2) Actor stand has a cycle
33 kFaster = 0x08, // (1<<3) Actor is fast
34 kFastest = 0x10, // (1<<4) Actor is faster
35 kExtended = 0x20, // (1<<5) Actor uses extended sprites
36 kUsable = 0x40, // (1<<6) Actor can be used
37 kNoScale = 0x80 // (1<<7) Actor is not scaled
38};
39
41 byte flags;
42 byte nameIndex;
43 int32 sceneIndex;
44 int16 x;
45 int16 y;
46 int16 z;
47 int32 spriteListResourceId;
48 int32 frameListResourceId;
49 byte scriptEntrypointNumber;
50 byte speechColor;
51 byte currentAction;
52 byte facingDirection;
53 byte actionDirection;
54};
55
56#define ITE_ACTORCOUNT 181
57
58extern ActorTableData ITE_ActorTable[ITE_ACTORCOUNT];
59extern byte ITE_ActorECSSpeechColor[ITE_ACTORCOUNT];
60
61enum {
62 kObjUseWith = 0x01,
63 kObjNotFlat = 0x02
64};
65
67 byte nameIndex;
68 int32 sceneIndex;
69 int16 x;
70 int16 y;
71 int16 z;
72 int32 spriteListResourceId;
73 byte scriptEntrypointNumber;
74 uint16 interactBits;
75};
76
77struct IteFxTable {
78 byte res;
79 byte vol;
80};
81
83 uint32 i_voice_rn;
84 const char *i_str;
85};
86
89 int game;
90 int type;
91 const char *string;
92};
93
94enum {
95 kITECreditsHeader,
96 kITECreditsText
97};
98
99enum {
100 kITECreditsPC = (1 << 0),
101 kITECreditsPCCD = (1 << 1),
102 kITECreditsMac = (1 << 2),
103 kITECreditsWyrmKeep = (1 << 3),
104 kITECreditsPC98 = (1 << 4),
105 kITECreditsAny = 0xffff,
106 kITECreditsNotWyrmKeep = kITECreditsAny & ~kITECreditsWyrmKeep
107};
108
109#define ITE_OBJECTCOUNT 39
110#define ITE_SFXCOUNT 63
111
112extern ObjectTableData ITE_ObjectTable[ITE_OBJECTCOUNT];
113extern IteFxTable ITE_SfxTable[ITE_SFXCOUNT];
114
115extern const char *ITEinterfaceTextStrings[][53];
116
117#define PUZZLE_PIECES 15
118
119struct RawPoint { int x, y; };
120extern const RawPoint pieceOrigins[PUZZLE_PIECES];
121extern const char *pieceNames[][PUZZLE_PIECES];
122
123#define NUM_SOLICIT_REPLIES 5
124extern const char *solicitStr[][NUM_SOLICIT_REPLIES];
125
126#define NUM_SAKKA 3
127extern const char *sakkaStr[][NUM_SAKKA];
128
129#define NUM_WHINES 5
130extern const char *whineStr[][NUM_WHINES];
131
132extern const char *hintStr[][4];
133extern const char portraitList[];
134extern const char *optionsStr[][4];
135
136extern const IntroDialogue introDialogueCave1[][4];
137extern const IntroDialogue introDialogueCave2[][3];
138extern const IntroDialogue introDialogueCave3[][3];
139extern const IntroDialogue introDialogueCave4[][4];
140
141extern const IntroCredit creditsValley[49];
142extern const IntroCredit creditsTreeHouse1[42];
143extern const IntroCredit creditsTreeHouse2[53];
144extern const IntroCredit creditsFairePath1[49];
145extern const IntroCredit creditsFairePath2[23];
146extern const IntroCredit creditsTent[6];
147
148} // End of namespace Saga
149
150#endif
Language
Definition: language.h:45
Definition: actor.h:34
Definition: itedata.h:40
Definition: itedata.h:87
Definition: itedata.h:82
Definition: itedata.h:77
Definition: itedata.h:66
Definition: itedata.h:119