ScummVM API documentation
dragonini.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#ifndef DRAGONS_DRAGONINI_H
22#define DRAGONS_DRAGONINI_H
23
24#include "dragons/bigfile.h"
25
26namespace Dragons {
27
28class Actor;
29
30enum IniFlags {
31 INI_FLAG_1 = 0x1,
32 INI_FLAG_2 = 0x2,
33 INI_FLAG_4 = 0x4,
34 INI_FLAG_8 = 0x8,
35 INI_FLAG_10 = 0x10,
36 INI_FLAG_20 = 0x20,
37 INI_FLAG_40 = 0x40,
38 INI_FLAG_80 = 0x80
39};
40
41
42struct DragonINI {
43 uint16 id;
44 int16 iptIndex_maybe;
45 int16 imgId;
46 int16 actorResourceId;
47 uint16 sequenceId;
48 int16 inventorySequenceId;
49 Actor *actor;
50 uint16 sceneId;
51 int16 direction;
52 int16 counter;
53 int16 objectState;
54 uint16 objectState2;
55 int16 x;
56 int16 y;
57 uint16 flags;
58 int16 baseXOffset;
59 int16 baseYOffset;
60 int16 direction2;
61};
62
64private:
65 BigfileArchive *_bigfileArchive;
66 DragonINI *_dragonINI;
67 uint16 _count;
68 DragonINI *_flickerINI;
69
70public:
71 DragonINIResource(BigfileArchive *bigfileArchive);
72 void reset();
73 uint16 totalRecords() { return _count; }
74 DragonINI *getRecord(uint16 index);
75 void setFlickerRecord(DragonINI *dragonINI);
76 DragonINI *getFlickerRecord() {
77 return _flickerINI;
78 }
79 bool isFlicker(uint16 index);
80 bool isFlicker(DragonINI *ini) {
81 return isFlicker(ini->id);
82 }
83
84};
85
86} // End of namespace Dragons
87
88#endif //DRAGONS_DRAGONINI_H
Definition: actor.h:86
Definition: bigfile.h:42
Definition: dragonini.h:63
Definition: dragonini.h:42