Revert "oops, forgot something!"
[plastic-engine.git] / src / main.cpp
blob63eb3a19bd37d36c61c8b1d403b26ad36ddb3683
1 // Plastic Engine
2 // Copyright (C) 2008 Albert Brown
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #include <iostream>
18 #include "SDL.h"
20 #ifdef HAVE_CONFIG_H
21 #include "config.hpp"
22 #else
23 #define PACKAGE_STRING "Plastic"
24 #endif
26 #include "engine.hpp"
27 #include "window.hpp"
30 #define GNUMESSAGE \
31 " This program is free software, covered by the GNU General Public\n"\
32 " License. It comes with no warranty. You are welcome to modify\n"\
33 " and distribute the source code under certain conditions. See the\n"\
34 " enclosed COPYING file for more details.\n"
36 int main(int argc, char *argv[])
38 std::cout << PACKAGE_STRING << "\n\n" GNUMESSAGE "\n" << std::endl;
40 // Initialize the engine core
41 engine_core ec(argc, argv);
44 // Initialize subsystems
45 window_subsystem wss;
47 // Register subsystems with engine
48 ec.register_subsystem(&wss, 1);
50 // Start the game...
51 ec.run();
53 // Release subsystems
54 ec.release_subsystem(&wss);
56 } // (subsystem instances have gone out of scope)
59 return 0; // (engine_core has gone out of scope)