0x47 stub
[scummvm-innocent.git] / engines / agi / view.h
blobe71db6c97d29d1c8b81e98d31c20231540917c8e
1 /* ScummVM - Graphic Adventure Engine
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.
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
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.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 * $URL$
22 * $Id$
26 #ifndef AGI_VIEW_H
27 #define AGI_VIEW_H
30 #include "common/scummsys.h"
32 namespace Agi {
34 struct ViewCel {
35 uint8 height;
36 uint8 width;
37 uint8 transparency;
38 uint8 mirrorLoop;
39 uint8 mirror;
40 uint8 *data;
43 struct ViewLoop {
44 int numCels;
45 struct ViewCel *cel;
48 /**
49 * AGI view resource structure.
51 struct AgiView {
52 int numLoops;
53 struct ViewLoop *loop;
54 bool agi256_2;
55 char *descr;
56 uint8 *rdata;
59 /**
60 * AGI view table entry
62 struct VtEntry {
63 uint8 stepTime;
64 uint8 stepTimeCount;
65 uint8 entry;
66 int16 xPos;
67 int16 yPos;
68 uint8 currentView;
69 struct AgiView *viewData;
70 uint8 currentLoop;
71 uint8 numLoops;
72 struct ViewLoop *loopData;
73 uint8 currentCel;
74 uint8 numCels;
75 struct ViewCel *celData;
76 struct ViewCel *celData2;
77 int16 xPos2;
78 int16 yPos2;
79 void *s;
80 int16 xSize;
81 int16 ySize;
82 uint8 stepSize;
83 uint8 cycleTime;
84 uint8 cycleTimeCount;
85 uint8 direction;
87 #define MOTION_NORMAL 0
88 #define MOTION_WANDER 1
89 #define MOTION_FOLLOW_EGO 2
90 #define MOTION_MOVE_OBJ 3
91 uint8 motion;
93 #define CYCLE_NORMAL 0
94 #define CYCLE_END_OF_LOOP 1
95 #define CYCLE_REV_LOOP 2
96 #define CYCLE_REVERSE 3
97 uint8 cycle;
99 uint8 priority;
101 #define DRAWN 0x0001
102 #define IGNORE_BLOCKS 0x0002
103 #define FIXED_PRIORITY 0x0004
104 #define IGNORE_HORIZON 0x0008
105 #define UPDATE 0x0010
106 #define CYCLING 0x0020
107 #define ANIMATED 0x0040
108 #define MOTION 0x0080
109 #define ON_WATER 0x0100
110 #define IGNORE_OBJECTS 0x0200
111 #define UPDATE_POS 0x0400
112 #define ON_LAND 0x0800
113 #define DONTUPDATE 0x1000
114 #define FIX_LOOP 0x2000
115 #define DIDNT_MOVE 0x4000
116 #define ADJ_EGO_XY 0x8000
117 uint16 flags;
119 uint8 parm1;
120 uint8 parm2;
121 uint8 parm3;
122 uint8 parm4;
123 }; // struct vt_entry
125 } // End of namespace Agi
127 #endif /* AGI_VIEW_H */