ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
scene.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  * Scene parsing defines
21  */
22 
23 #ifndef TINSEL_SCENE_H
24 #define TINSEL_SCENE_H
25 
26 #include "tinsel/dw.h"
27 #include "tinsel/events.h"
28 
29 namespace Tinsel {
30 
31 enum {
32  MAX_NODES = 32,
33  MAX_NOSCROLL = 16,
34  MAX_ENTRANCE = 25,
35  MAX_POLY = 256,
36  MAX_ACTOR = 32
37 };
38 
39 // ENTRANCE_STRUC bitflags
40 enum ENTRANCE_FLAGS {
41  fCall = 0x00000001L,
42  fHook = 0x00000002L
43 };
44 
46 enum REFTYPE {
47  REF_DEFAULT, REF_UP, REF_DOWN, REF_LEFT, REF_RIGHT, REF_POINT
48 };
49 
50 enum TFTYPE {
51  TF_NONE, TF_UP, TF_DOWN, TF_LEFT, TF_RIGHT, TF_FILM
52 };
53 
55 enum MASK_TYPE{
56  ACT_DEFAULT,
57  ACT_MASK = -1,
58  ACT_ALWAYS = -2
59 };
60 
62 enum SCALE {
63  SCALE_DEFAULT, SCALE_LARGE, SCALE_MEDIUM, SCALE_SMALL,
64  SCALE_COMPACT, SCALE_TINY,
65  SCALE_AUX1, SCALE_AUX2, SCALE_AUX3,
66  SCALE_AUX4, SCALE_AUX5
67 };
68 
70 enum REEL {
71  REEL_DEFAULT, REEL_ALL, REEL_HORIZ, REEL_VERT
72 };
73 
74 typedef enum { TRANS_DEF, TRANS_CUT, TRANS_FADE } TRANSITS;
75 
76 // amount to shift scene handles by
77 #define SCNHANDLE_SHIFT (((TinselVersion >= 2) && !TinselV2Demo) ? 25 : 23)
78 #define OFFSETMASK (((TinselVersion >= 2) && !TinselV2Demo) ? 0x01ffffffL : 0x007fffffL)
79 #define HANDLEMASK (((TinselVersion >= 2) && !TinselV2Demo) ? 0xFE000000L : 0xFF800000L)
80 
81 void DoHailScene(SCNHANDLE scene);
82 
83 void WrapScene();
84 
85 void StartNewScene(SCNHANDLE scene, int entry);
86 
87 void EndScene();
88 
89 void SendSceneTinselProcess(TINSEL_EVENT event);
90 
91 void SetView(int id, int scale);
92 
93 } // End of namespace Tinsel
94 
95 #endif // TINSEL_SCENE_H
MASK_TYPE
Definition: scene.h:55
maximum number of actors in a scene
Definition: scene.h:36
REEL
Definition: scene.h:70
maximum number of entrances in a scene
Definition: scene.h:34
uint32 SCNHANDLE
Definition: dw.h:31
TINSEL_EVENT
Definition: events.h:91
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)
maximum nodes in a Node Path
Definition: scene.h:32
maximum number of polygons in a scene
Definition: scene.h:35
Definition: actors.h:36
SCALE
Definition: scene.h:62
maximum number of NoScroll commands in a scene
Definition: scene.h:33
REFTYPE
Definition: scene.h:46