#include #include #include "Engine.h" #include "Controller.h" #include "View.h" #include "Model.h" #include "Physics.h" #include "EntityFactory.h" using namespace std; int main (int argc, char* argv[]) { cout << "Game Start" << endl; Engine::Engine engine; engine.SetEntityFactory (new asteroids::EntityFactory); engine.SetController (new asteroids::Controller); engine.SetModel (new asteroids::Model); engine.SetPhysics (new asteroids::Physics); engine.SetView (new asteroids::View); SetLogPrintLevel (Engine::LogLevelMessage); Engine::SetLogFilename ("game.log"); if (engine.Init (argc, argv) != 0) { cout << "Could not start engine!" << endl; exit (-1); } // Load the icon Uint32 colorkey; SDL_Surface *image = NULL; image = SDL_LoadBMP("./data/textures/icon.bmp"); if (!image) Engine::LogWarning("Could not load icon: ./data/textures/icon.bmp"); else SDL_WM_SetIcon(image,NULL); SDL_WM_SetCaption("Asteroids -Leaked TechDemo-","Asteroids -Leaked TechDemo-"); engine.GetView()->SetGridSize (8,8); dynamic_cast(engine.GetPhysics())->SetWorldSize (28, 20); Engine::RunCommand ("exec asteroids.rc"); Engine::LogMessage("Warning: muting sound!"); Engine::SetEffectsVolume(0.); Engine::SetMusicVolume(0.); engine.MainLoop (); SDL_WM_SetIcon(NULL,NULL); SDL_FreeSurface (image); engine.Destroy (); cout << "Game Quit" << endl; return 0; }