/** ** Exit the game. ** ** @param err Error code to pass to shell. */ void Exit(int err) { if (GameRunning) { StopGame(GameExit); return; } StopMusic(); QuitSound(); NetworkQuit(); ExitNetwork1(); #ifdef DEBUG CleanModules(); FreeBurningBuildingFrames(); FreeSounds(); FreeGraphics(); FreePlayerColors(); FreeButtonStyles(); for (size_t i = 0; i < Containers.size(); ++i) { delete Containers[i]; } freeGuichan(); DebugPrint("Frames %lu, Slow frames %d = %ld%%\n" _C_ FrameCounter _C_ SlowFrameCounter _C_ (SlowFrameCounter * 100) / (FrameCounter ? FrameCounter : 1)); lua_settop(Lua, 0); lua_close(Lua); DeInitVideo(); #endif fprintf(stdout, "%s", _("Thanks for playing Stratagus.\n")); exit(err); }
int __stdcall wWinMain( HINSTANCE hInstance, HINSTANCE, LPWSTR, int ) { // Start networkserver first. Game* game = new Game(); ConnectionListener* cl = new ConnectionListener(10000, game); cl->Start(); MaloW::ClearDebug(); if ( !GraphicsInit(hInstance) ) MaloW::Debug("Failed Creating Graphics Engine!"); #if defined(DEBUG) || defined(_DEBUG) _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); MaloW::Debug("(DEBUG): ModelViewer: Debug flag set to: _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF). "); #ifdef INCLUDE_MODEL_VIEWER MaloW::Debug("(DEBUG): ModelViewer: vld.h included."); #endif #endif game->Play(); game->Close(); cl->Close(); delete cl; delete game; FreeGraphics(); return 0; }
/** ** Exit the game. ** ** @param err Error code to pass to shell. */ void Exit(int err) { if (GameRunning) { StopGame(GameExit); return; } StopMusic(); QuitSound(); NetworkQuitGame(); ExitNetwork1(); CleanModules(); FreeBurningBuildingFrames(); FreeSounds(); FreeGraphics(); FreePlayerColors(); FreeButtonStyles(); FreeAllContainers(); freeGuichan(); DebugPrint("Frames %lu, Slow frames %d = %ld%%\n" _C_ FrameCounter _C_ SlowFrameCounter _C_ (SlowFrameCounter * 100) / (FrameCounter ? FrameCounter : 1)); lua_settop(Lua, 0); lua_close(Lua); DeInitVideo(); #ifdef USE_PHYSFS if (PHYSFS_isInit()) { PHYSFS_deinit(); } #endif fprintf(stdout, "%s", _("Thanks for playing Stratagus.\n")); exit(err); }
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int) { MaloW::ClearDebug(); #ifdef INCLUDE_MODEL_VIEWER _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); MaloW::Debug("(DEBUG): Client: Debug flag set to: _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF). "); MaloW::Debug("(DEBUG): Client: vld.h included."); #endif if ( !GraphicsInit(hInstance) ) { MaloW::Debug("Failed Initializing Graphics!"); return 1; } if ( !PlayerSettingsInit() ) { MaloW::Debug("Failed Initializing PlayerSettings!"); return 1; } AudioManager* am = AudioManager::GetInstance(); // IMPLEMENT MAIN PROGRAM HERE. MainMenu* menu = new MainMenu(); menu->Init(); menu->Run(); SAFE_DELETE(menu); am->ReleaseInstance(); am = NULL; // Free Graphics FreeGraphics(); // Save and Free Settings SavePlayerSettings(); FreePlayerSettings(); //_CrtDumpMemoryLeaks(); MaloW::Debug("Quit Game."); return 0; }