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
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.
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, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef TSAGE_RINGWORLD_SCENES2_H
24 #define TSAGE_RINGWORLD_SCENES2_H
25 
26 #include "common/scummsys.h"
27 #include "tsage/ringworld/ringworld_logic.h"
28 #include "tsage/ringworld/ringworld_speakers.h"
29 #include "tsage/events.h"
30 #include "tsage/core.h"
31 #include "tsage/scenes.h"
32 #include "tsage/globals.h"
33 
34 namespace TsAGE {
35 
36 namespace Ringworld {
37 
38 using namespace TsAGE;
39 
40 class Scene1000 : public Scene {
41 	/* Actions */
42 	class Action1 : public Action {
43 	public:
44 		virtual void signal();
45 	};
46 	class Action2 : public Action {
47 	public:
48 		virtual void signal();
49 	};
50 	class Action3 : public Action {
51 	private:
52 		void zoom(bool up);
53 	public:
54 		virtual void signal();
55 	};
56 
57 public:
58 	SceneObject _object1, _object2, _object3, _object4;
59 	Action1 _action1;
60 	Action2 _action2;
61 	Action3 _action3;
62 
63 	virtual void postInit(SceneObjectList *OwnerList = NULL);
64 };
65 
66 class Scene1001 : public Scene {
67 	/* Actions */
68 	class Action1 : public Action {
69 	public:
70 		virtual void signal();
71 	};
72 public:
73 	SpeakerQText _speakerQText;
74 	SpeakerSL _speakerSL;
75 	SpeakerCText _speakerCText;
76 	SpeakerCR _speakerCR;
77 	Action1 _action1;
78 	SceneObject _object1, _object2, _object3, _object4;
79 	SceneObject _object5, _object6, _object7;
80 	ASound _soundHandler1, _soundHandler2;
81 
82 	virtual void postInit(SceneObjectList *OwnerList = NULL);
83 };
84 
85 class Scene1250 : public Scene {
86 public:
87 	/* Actions */
88 	class Action1 : public Action {
89 	public:
90 		virtual void signal();
91 	};
92 	class Action2 : public Action {
93 	public:
94 		virtual void signal();
95 	};
96 	class Action3 : public Action {
97 	public:
98 		virtual void signal();
99 	};
100 	class Action4 : public Action {
101 	public:
102 		virtual void signal();
103 	};
104 public:
105 	SpeakerQText _speakerQText;
106 	Action1 _action1;
107 	Action2 _action2;
108 	Action3 _action3;
109 	Action4 _action4;
110 	SceneObject _object1, _object2;
111 
112 	virtual void postInit(SceneObjectList *OwnerList = NULL);
113 };
114 
115 class Scene1400 : public Scene {
116 public:
117 	/* Actions */
118 	class Action1 : public Action {
119 	public:
120 		virtual void signal();
121 		virtual void dispatch();
122 	};
123 public:
124 	Action1 _action1;
125 
126 	virtual void postInit(SceneObjectList *OwnerList = NULL);
127 
128 };
129 
130 class Scene1500 : public Scene {
131 public:
132 	/* Actions */
133 	class Action1 : public Action {
134 	public:
135 		virtual void signal();
136 	};
137 	class Action2 : public Action {
138 	public:
139 		virtual void signal();
140 	};
141 public:
142 	ASound _soundHandler;
143 	Action1 _action1;
144 	Action2 _action2;
145 	SceneObject _object1, _object2, _object3;
146 
147 	virtual void postInit(SceneObjectList *OwnerList = NULL);
148 };
149 
150 } // End of namespace Ringworld
151 
152 } // End of namespace TsAGE
153 
154 #endif
155