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 
30 namespace Buried {
31 
32 enum {
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
54 struct 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 
66 struct AICommentInfo {
67  byte timeZone;
68  byte environment;
69  const char *filePath;
70 };
71 
72 // timeZone, environment, filePath
73 static 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: agent_evaluation.h:31
Definition: navdata.h:32
Definition: aidata.h:66