ScummVM API documentation
aidata.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 * Additional copyright for this file:
8 * Copyright (C) 1995 Presto Studios, Inc.
9 *
10 * This program is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 *
23 */
24
25#ifndef BURIED_AIDATA_H
26#define BURIED_AIDATA_H
27
28#include "buried/navdata.h"
29
30namespace Buried {
31
32enum {
33 // Types
34 AI_COMMENT_TYPE_INFORMATION = (1 << 0),
35 AI_COMMENT_TYPE_HELP = (1 << 1),
36 AI_COMMENT_TYPE_SPONTANEOUS = (1 << 2),
37 AI_COMMENT_TYPE_OTHER = (1 << 3),
38
39 // Flags
40 AI_COMMENT_FLAG_SPECIAL_LOGIC = (1 << 4),
41 AI_STATUS_FLAG_NON_BASE_DERIVED = (1 << 5),
42 AI_DEPENDENCY_FLAG_NON_BASE_DERIVED_A = (1 << 6),
43 AI_DEPENDENCY_CHECK_FOR_MINIMUM_A = (1 << 7),
44 AI_DEPENDENCY_FLAG_NON_BASE_DERIVED_B = (1 << 8),
45 AI_DEPENDENCY_CHECK_FOR_MINIMUM_B = (1 << 9),
46 AI_COMMENT_DISABLE_IN_WALKTHROUGH = (1 << 10)
47};
48
49// commentID - Environment relative comment ID number
50// commentFlags - Flags defining this comment. These include type and special logic.
51// dependencyFlagOffset - Offset to dependency flag
52// dependencyValue - Maximum value for dependency condition to be true
53// statusFlagOffset - Offset to status flag to be incremented when this comment is played
54struct AIComment {
55 Location location;
56 uint16 commentID;
57 uint16 commentFlags;
58 uint16 dependencyFlagOffsetA;
59 uint16 dependencyValueA;
60 uint16 dependencyFlagOffsetB;
61 uint16 dependencyValueB;
62 uint16 statusFlagOffset;
63};
64
65
67 byte timeZone;
68 byte environment;
69 const char *filePath;
70};
71
72// timeZone, environment, filePath
73static const AICommentInfo s_aiCommentInfo[] {
74 // Castle
75 { 1, 1, "CASTLE/CGTT" }, { 1, 2, "CASTLE/CGTS" }, { 1, 3, "CASTLE/CGMW" },
76 { 1, 4, "CASTLE/CGMB" }, { 1, 5, "CASTLE/CGBS" }, { 1, 6, "CASTLE/CGKC" },
77 { 1, 7, "CASTLE/CGST" }, { 1, 8, "CASTLE/CGKS" }, { 1, 9, "CASTLE/CGSR" },
78 { 1, 10, "CASTLE/CGTR" },
79 // Mayan
80 { 2, 1, "MAYAN/MYTP" }, { 2, 2, "MAYAN/MYMC" }, { 2, 3, "MAYAN/MYWG" },
81 { 2, 4, "MAYAN/MYWT" }, { 2, 5, "MAYAN/MYAG" }, { 2, 6, "MAYAN/MYDG" },
82 // Future Apartment
83 { 4, 1, "FUTAPT/FAKI" }, { 4, 2, "FUTAPT/FAER" }, { 4, 3, "FUTAPT/FAMN" },
84 // Da Vinci
85 { 5, 1, "DAVINCI/DSPT" }, { 5, 2, "DAVINCI/DSCT" }, { 5, 3, "DAVINCI/DSGD" },
86 { 5, 4, "DAVINCI/DSWS" }, { 5, 5, "DAVINCI/DSCY" },
87 // Space Station
88 { 6, 1, "AILAB/AIHW" }, { 6, 2, "AILAB/AICR" }, { 6, 3, "AILAB/AIDB" },
89 { 6, 4, "AILAB/AISC" }, { 6, 5, "AILAB/AINX" }, { 6, 6, "AILAB/AIIC" },
90 { 6, 7, "AILAB/AISW" }, { 6, 8, "AILAB/AIMR" }, { 6, 10, "AILAB/AIHW" }, // there is no 9
91 { 0, 0, "" }
92};
93
94} // End of namespace Buried
95
96#endif
Definition: aidata.h:54
Definition: aidata.h:66
Definition: navdata.h:32