ScummVM API documentation
objects.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 NGI_OBJECTS_H
23#define NGI_OBJECTS_H
24
25#include "common/ptr.h"
26#include "ngi/utils.h"
27
28namespace NGI {
29
30class MessageQueue;
31class SceneTagList;
32
33class GameProject : public CObject {
34 public:
35 int _field_4;
36 Common::String _headerFilename;
38 int _field_10;
39
40 public:
42 bool load(MfcArchive &file) override;
43};
44
45struct PicAniInfo {
46 uint32 type;
47 int16 objectId;
48 int16 field_6;
49 int32 field_8;
50 int16 sceneId;
51 int16 field_E;
52 int32 ox;
53 int32 oy;
54 int32 priority;
55 int16 staticsId;
56 int16 movementId;
57 int16 dynamicPhaseIndex;
58 int16 flags;
59 int32 field_24;
60 int32 someDynamicPhaseIndex;
61
62 bool load(MfcArchive &file);
63 void save(MfcArchive &file);
64 void print();
65
66 PicAniInfo() { memset(this, 0, sizeof(PicAniInfo)); }
67};
69
70union VarValue {
71 float floatValue;
72 int32 intValue;
73 char *stringValue;
74};
75
76class GameVar : public CObject {
77 public:
78 GameVar *_nextVarObj;
79 GameVar *_prevVarObj;
80 GameVar *_parentVarObj;
81 GameVar *_subVars;
82 GameVar *_field_14;
83 Common::String _varName;
84 VarValue _value;
85 int _varType;
86
87 public:
88 GameVar();
89 ~GameVar() override;
90
91 bool load(MfcArchive &file) override;
92 void save(MfcArchive &file) override;
93 GameVar *getSubVarByName(const Common::String &name);
94 bool setSubVarAsInt(const Common::String &name, int value);
95 int getSubVarAsInt(const Common::String &name);
96 GameVar *addSubVarAsInt(const Common::String &name, int value);
97 bool addSubVar(GameVar *subvar);
98 int getSubVarsCount();
99 GameVar *getSubVarByIndex(int idx);
100};
101
102} // End of namespace NGI
103
104#endif /* NGI_OBJECTS_H */
Definition: ptr.h:572
Definition: str.h:59
Definition: utils.h:106
Definition: objects.h:33
Definition: objects.h:76
Definition: utils.h:39
Definition: objects.h:45
Definition: objects.h:70