X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=ABM2%2Fmain.cpp;h=ed5e35f43ecc30fced089788e1c313be1ed07975;hb=c100d6f67b06abb348319e277a66b6b7ab0c4bd5;hp=e325647b86402a4ca002bcbea96218abba118c16;hpb=887e744e425c6c25fcfdbad863d3c9287ad91d93;p=matthijs%2FABM2.git diff --git a/ABM2/main.cpp b/ABM2/main.cpp index e325647..ed5e35f 100755 --- a/ABM2/main.cpp +++ b/ABM2/main.cpp @@ -14,18 +14,9 @@ #define SCREEN_WIDTH 640 #define SCREEN_HEIGHT 480 -enum SpriteID { - SPR_NONE = 0, - SPR_FIELD, - SPR_SOLID, - SPR_BRICK, - SPR_BLANK, - SPR_PLAYER, -}; - SpriteData defaultSprites[] = { - {SPR_FIELD, "FIELD0.png", 640, 480}, - {SPR_BLANK, "FIELD0.png", 640, 480}, + {SPR_FIELD, "Data/FIELD0.png", 640, 480}, + {SPR_TILE, "Data/Tiles0.png", 40, 36}, {SPR_NONE, NULL, 0, 0} }; @@ -144,7 +135,7 @@ void CApplication::Run(int argc, char *argv[]) //create a couple of singletons new CSettingsManager(); - new CKernel(); + CKernel *kernel = new CKernel(); //parse the 'settings.eng' file CSettingsManager::GetSingleton().ParseFile("settings.esf"); @@ -155,38 +146,39 @@ void CApplication::Run(int argc, char *argv[]) for(int i=1;ipriority=10000; - CKernel::GetSingleton().AddTask(CMMPointer(videoTask)); + kernel->AddTask(CMMPointer(videoTask)); - inputTask = new CInputTask(); + inputTask = new CInputTask(kernel); inputTask->priority=20; - CKernel::GetSingleton().AddTask(CMMPointer(inputTask)); + kernel->AddTask(CMMPointer(inputTask)); - soundTask = new CSoundTask(); + soundTask = new CSoundTask(kernel); soundTask->priority=50; - CKernel::GetSingleton().AddTask(CMMPointer(soundTask)); + kernel->AddTask(CMMPointer(soundTask)); - globalTimer=new CGlobalTimer(); + globalTimer=new CGlobalTimer(kernel); globalTimer->priority=10; - CKernel::GetSingleton().AddTask(CMMPointer(globalTimer)); + kernel->AddTask(CMMPointer(globalTimer)); CSpriteManager *sm = new CSpriteManager(videoTask->getGraphics(), defaultSprites); - CKernel::GetSingleton().setSpriteManager(sm); + kernel->setSpriteManager(sm); - Playground game; + Playground game(kernel); game.priority=100; - CKernel::GetSingleton().AddTask(CMMPointer(&game)); + kernel->AddTask(CMMPointer(&game)); + //set up the profiler with an output handler CProfileLogHandler profileLogHandler; CProfileSample::outputHandler=&profileLogHandler; //main game loop - CKernel::GetSingleton().Execute(); + kernel->Execute(); //clean up singletons - delete CKernel::GetSingletonPtr(); + delete kernel; delete CSettingsManager::GetSingletonPtr(); }