cleaned up some things, fixed some mem leaks
[riven-wahrk.git] / src / Game.h
blobed899afaa98533b4d2ac4fa6e244f2f3bd1c7cb6
2 /*
4 * Riven-Wahrk - a reimplementation of the game Riven, by Cyan
5 * Copyright (C) 2009 Tyler Genter <tylergenter@gmail.com>
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.
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, see <http://www.gnu.org/licenses/>.
22 #ifndef _GAME_H_
23 #define _GAME_H_
25 #include <string>
27 #include "libconfig.h++"
29 #include "Common.h"
31 #include "Stack.h"
32 #include "Variable.h"
33 #include "Card.h"
34 #include "Msg.h"
36 #include "Scene.h"
38 #ifdef __linux__
40 #include "Gtk/GtkScene.h"
41 #include "Gtk/Window.h"
43 #endif
45 using namespace libconfig;
47 class ChangeStack;
49 class Game {
51 friend class ChangeStack;
52 friend class Scene;
54 Stack *stack;
55 Set *set;
56 Config diskSets;
58 MsgPasser messages;
60 public:
61 Variable var;
63 #ifdef __linux__
64 GtkScene scene;
65 #endif
66 #ifdef __WIN32__
67 Scene scene;
68 #endif
70 Card *card;
72 bool zipMode;
74 Coor mouse;
76 Game ();
77 void run ();
79 Stack *getStack () {
80 return stack;
87 #endif