void Game::Shutdown() { m_webManager->FreeInstance(); GameState::ReleaseStatesStack(); m_postProcessing->Remove(); m_postProcessing->FreeInstance(); m_shaderManager->Remove(); m_shaderManager->FreeInstance(); m_scriptManager->Remove(); m_scriptManager->FreeInstance(); m_soundManager->Remove(); m_soundManager->FreeInstance(); m_config->Remove(); m_config->FreeInstance(); m_accelerometerManager->Stop(); m_accelerometerManager->FreeInstance(); m_touchManager->Remove(); m_touchManager->FreeInstance(); m_menuManager->Remove(); m_menuManager->FreeInstance(); m_font->Remove(); m_font->FreeInstance(); LocaliseTerminate(); WorldLoader::ClearAndFree(); IwResManagerTerminate(); IwGraphicsTerminate(); IwGxTerminate(); }
int main() { IwGxInit(); IwGraphicsInit(); IwAnimInit(); Iw2DInit(); IwTrace(GHOST_HUNTER, ("Ghost Realm booting...")); IwTrace(GHOST_HUNTER, ("Audio channels: %d", s3eAudioGetInt(S3E_AUDIO_NUM_CHANNELS))); // Set screen clear colour IwGxSetColClear(0x0, 0x0, 0x0, 0xff); Splash* splash = new Splash(); s3eDeviceYield(20); { // Init game CameraViewPreInit(); MapControllerInit(); MapModelInit(); MapViewInit(); CameraControllerInit(); CameraModelInit(); CameraViewInit(); } delete splash; getGameState()->setGameMode(MAP_MODE); while (1) { s3eDeviceYield(0); int start = clock(); Audio::GetInstance().Update(); if (getGameState()->getGameMode() == CAMERA_MODE) { CameraControllerUpdate(); CameraModelUpdate(); CameraViewUpdate(); } else if (getGameState()->getGameMode() == MAP_MODE) { MapControllerUpdate(); MapModelUpdate(); MapViewUpdate(); } // Cap FPS int yield; do { yield = FRAME_DURATION - (clock() - start); if (yield > 0) { s3eDeviceYield(yield); } } while (yield > 0); } CameraControllerTerm(); CameraModelTerm(); CameraViewTerm(); MapControllerTerm(); MapModelTerm(); MapViewTerm(); delete getGameState(); Iw2DTerminate(); IwAnimTerminate(); IwGraphicsTerminate(); IwGxTerminate(); return 0; }
FrameworkApplication::~FrameworkApplication (void) { //delete pModel; IwGraphicsTerminate(); IwGxTerminate(); IwTrace(FUNCTIONS, ("~FrameworkApplication()")); }