int main() { IwGxInit(); IwGxSetColClear(0, 0, 0xff, 0xff); IwResManagerInit(); Iw2DInit(); setupTextures(); registerInput(); const int textWidth = s3eDebugGetInt(S3E_DEBUG_FONT_SIZE_WIDTH); const int textHeight = s3eDebugGetInt(S3E_DEBUG_FONT_SIZE_HEIGHT); const int width = s3eSurfaceGetInt(S3E_SURFACE_WIDTH); const int height = s3eSurfaceGetInt(S3E_SURFACE_HEIGHT); sprintf(g_debugButtonEvent, "ButtonEvent:"); sprintf(g_debugKeyEvent, "KeyEvent:"); sprintf(g_debugMotionEvent, "MotionEvent:"); sprintf(g_debugTouchEvent, "TouchEvent:"); sprintf(g_debugTouchMotionEvent, "TouchMotionEvent:"); while (!s3eDeviceCheckQuitRequest()) { render(); // Yield until unyield is called or a quit request is recieved s3eDeviceYield(S3E_DEVICE_YIELD_FOREVER); } destroyTextures(); Iw2DTerminate(); IwResManagerTerminate(); IwGxTerminate(); return 0; }
/* Name Game::deinitialise Syntax Game::deinitialise() Brief Releases any resources used by the game */ void Game::deinitialise() { if (currentState_) { currentState_->deinitialise(); delete currentState_; currentState_ = NULL; } if (input_) { input_->deinitialise(); delete input_; input_ = NULL; } dzArchiveDetach(); // shut down the IwResManager resource manager IwResManagerTerminate(); // Shut down the Iw2D drawing module Iw2DTerminate(); // Shut down the IwGx drawing module IwGxTerminate(); }
void Brixpath::clean() { delete _backgroundImage; // Shut down the IwGx drawing module IwGxFontTerminate(); IwResManagerTerminate(); Iw2DTerminate(); };
void ResourceManager::release() { for (IIter p = imgs->begin(); p != imgs->end(); ++p) { delete p->second.texture; delete p->second.mat; } delete sounds; delete imgs; IwResManagerTerminate(); IwSoundTerminate(); }
//----------------------------------------------------------------------------- void HexMapTest::ShutDown() { // Destroy texture delete s_BitMapTexture; // Terminate delete hexGrid; IwGetResManager()->DestroyGroup(pGroup); IwResManagerTerminate(); IwGxTerminate(); }
int main() { IwGxInit(); IwResManagerInit(); doMain(); IwResManagerTerminate(); IwGxTerminate(); return 0; }
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(); }
void Game::mainLoop() { // initialize deltaTime = 0; // TODO: create a config file and move these there const uint64 TARGET_FRAME_MS = 16; const uint64 MAX_FRAME_MS = 100; // init assets AssetFactory::getInstance().init(); //init resource manager #ifdef IW_BUILD_RESOURCES IwGetResManager()->AddHandler(new CIwResHandlerWAV); #endif #ifdef _DEBUG IwGetResManager()->LoadGroup("TestLevel.group"); #endif // create level //LevelManager::getInstance().pushLevel(new MainMenu(this)); LevelManager::getInstance().pushLevel(new TestLevel()); LevelManager::getInstance().getActiveLevel()->initialize(); // init input Input::getInstance(); //Init sound and resmanager //IwGxInit(); //Iw2DInit(); //Iw2DSetAlphaMode(IW_2D_ALPHA_HALF); IwSoundInit(); IwResManagerInit(); IwGetResManager()->LoadGroup("TestLevel.group"); // loop while( !quit ) { //s3eDeviceYield(0); // S3E applications should yield frequently uint64 time = s3eTimerGetMs(); if ( s3eDeviceCheckQuitRequest() ) { quit = true; } IwGetSoundManager()->Update(); update(); render(); deltaTime = s3eTimerGetMs() - time; int yield = 0; if (deltaTime < TARGET_FRAME_MS) { yield = TARGET_FRAME_MS - deltaTime; deltaTime = TARGET_FRAME_MS; } else if (deltaTime > MAX_FRAME_MS) { deltaTime = MAX_FRAME_MS; } s3eDeviceYield(yield); } // clean up Input::getInstance().unregister(); IwSoundTerminate(); IwResManagerTerminate(); Iw2DTerminate(); }
int main(int argc, char* argv[]) { g_pointerdown = false; FillDefaultLocalScores(); // Initialisation of Airplay Studio modules Iw2DInit(); // Initialise support for rendering with the standard SW renderer IwGxLightingOff(); IwResManagerInit(); Load(); int16 sw = (int16)Iw2DGetSurfaceWidth(); int16 sh = (int16)Iw2DGetSurfaceHeight(); PAL_InitData_t palInitData; SC_Error_t retCode = SC_Client_New(&g_client, &palInitData, SC_TEST_GAME_ID, SC_TEST_GAME_SECRET, "AIW"); if (retCode != SC_OK) s3eDebugAssertShow(S3E_MESSAGE_CONTINUE_STOP, "Failed to create SC_Client"); IwGetResManager()->LoadGroup("fonts.group"); LoadGlobalImages(); LoadMainControls(); game = new CGame(); mainmenu = new CMainMenu(); profile = new CProfile(); scores = new CScores(); mainmenu->Load(); game->Load(); profile->Load(); scores->Load(); CBaseScene *curscene = (CBaseScene *)mainmenu; g_curSceneType = stMainMenu; uint32 timer = (uint32)s3eTimerGetMs(); g_AccelerometerEnabled = (s3eAccelerometerStart() == S3E_RESULT_SUCCESS); while(curscene) { s3eDeviceYield(0); //// Check for user quit if (s3eDeviceCheckQuitRequest()) break; int delta = uint32(s3eTimerGetMs()) - timer; timer += delta; // Make sure the delta-time value is safe if (delta < 0) delta = 0; if (delta > 100) delta = 100; if (g_AccelerometerEnabled) { if (!g_waiting) { if (g_errorDialog->Get_Visible()) { if (UpdatePointer() == petDown) CloseErrorDlg(); else g_errorDialog->Update(delta); } else { switch (UpdatePointer()) { case petNone: break; case petDown: curscene->PointerDown(g_pointerx, g_pointery); break; case petUp: curscene->PointerUp(g_pointerx, g_pointery); break; case petMove: curscene->PointerMove(g_pointerx, g_pointery); break; } curscene->Update(delta); } } curscene->Render(); if (g_waiting) { Iw2DSetColour(0xeeffffff); Iw2DFillRect(CIwSVec2(0, 0), CIwSVec2(sw, sh)); Iw2DSetColour(0xff000000); Iw2DSetFont(g_font); Iw2DDrawString(g_waitcaption, CIwSVec2(0, 0), CIwSVec2(sw, sh), IW_2D_FONT_ALIGN_CENTRE, IW_2D_FONT_ALIGN_CENTRE); } if (g_errorDialog->Get_Visible()) { g_errorDialog->Render(); } } Iw2DSurfaceShow(); switch (g_curSceneType) { case stNone: curscene = 0; break; case stMainMenu: { if (curscene != (CBaseScene *)mainmenu) { curscene = (CBaseScene *)mainmenu; curscene->Show(); } } break; case stGame: { if (curscene != (CBaseScene *)game) { curscene = (CBaseScene *)game; curscene->Show(); } }break; case stProfile: { if (curscene != (CBaseScene *)profile) { curscene = (CBaseScene *)profile; curscene->Show(); } }break; case stScores: { if (curscene != (CBaseScene *)scores) { curscene = (CBaseScene *)scores; curscene->Show(); } }break; } } Save(); delete game; delete mainmenu; delete profile; delete scores; SC_Client_Release(g_client); UnloadGlobalImages(); UnloadMainControls(); if (g_AccelerometerEnabled) s3eAccelerometerStop(); // Terminate system modules IwResManagerTerminate(); Iw2DTerminate(); return 0; }
void CIwGamePlatformOtherMarm::ReleaseResManager() { IwResManagerTerminate(); }