X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=ABM2%2Fmain.cpp;h=66f44f96f44e538283b34931bdd5b7e29fc0bffd;hb=a49c1b9c48808463eded779d895f5112ad84583a;hp=5e1a52ac19125ccf5f86576fbdae4a52557badd5;hpb=5bb865575bdc27859da689b5a53f3b3b65eebd04;p=matthijs%2FABM2.git diff --git a/ABM2/main.cpp b/ABM2/main.cpp index 5e1a52a..66f44f9 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", SCREEN_WIDTH, SCREEN_HEIGHT}, + {SPR_TILE, "Data/Tiles0.png", FIELD_UNIT_WIDTH, FIELD_UNIT_HEIGHT}, {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(&CKernel::GetSingleton()); + 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(); }