Kind of implemented engine_core loop. Implemented subsystem registration. Implement...
[plastic-engine.git] / src / main.cpp
blobf594cbbd0e4a5cfd7e8241a9b8810bbee8725f0a
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 #endif
24 #include "engine.hpp"
25 #include "window.hpp"
27 int main(int argc, char *argv[])
29 std::cout << PACKAGE_STRING << std::endl << std::endl;
31 // Initialize the engine core
32 engine_core ec(argc, argv);
35 // Initialize subsystems
36 window_subsystem wss;
38 // Register subsystems with engine
39 ec.register_subsystem(&wss, 1);
41 // Start the game...
42 ec.run();
44 // Release subsystems
45 ec.release_subsystem(&wss);
47 } // (subsystem instances have gone out of scope)
50 return 0; // (engine_core has gone out of scope)