1 /* -*- Mode: C++; c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil -*-
2  *
3  * Quadra, an action puzzle game
4  * Copyright (C) 1998-2000  Ludus Design
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20 
21 #ifndef _HEADER_MISC
22 #define _HEADER_MISC
23 
24 #include "overmind.h"
25 #include "palette.h"
26 
27 class Fade_to: public Module {
28 	Fade* fad;
29 public:
30 	Fade_to(const Palette& dst, const Palette& src, int nframe=16);
31 	virtual ~Fade_to();
32 	virtual void step();
33 };
34 
35 class Fade_in: public Fade_to {
36 public:
Fade_in(const Palette & dst)37 	Fade_in(const Palette& dst): Fade_to(dst, noir) { }
38 	virtual void init();
39 };
40 
41 class Fade_out: public Fade_to {
42 public:
Fade_out(const Palette & src)43 	Fade_out(const Palette& src): Fade_to(noir, src) { }
44 	virtual void init();
45 };
46 
47 class Setpalette: public Module {
48 	const Palette& pal;
49 public:
50 	Setpalette(const Palette& p);
51 	virtual void init();
52 };
53 
54 class Wait_event: public Module {
55 public:
56 	virtual void step();
57 };
58 
59 class Wait_time: public Wait_event {
60 	int delay;
61 	bool force_wait;
62 public:
63 	Wait_time(int del, bool force=false);
64 	virtual void step();
65 };
66 
67 #endif
68