void ShutdownThreading() { if (g_pWorker) { g_pWorker->Stop(true); delete g_pWorker; g_pWorker = NULL; } g_QueueLock->Lock(); while (!g_ThreadQueue.empty()) { delete g_ThreadQueue.front(); g_ThreadQueue.pop(); } while (!g_FreeThreads.empty()) { delete g_FreeThreads.front(); g_FreeThreads.pop(); } g_QueueLock->Unlock(); g_QueueLock->DestroyThis(); FreeHandleTable(); }
TinselEngine::~TinselEngine() { if (MoviePlaying()) FinishBMV(); AudioCD.stop(); delete _sound; delete _midiMusic; delete _pcmMusic; delete _console; delete _driver; _screenSurface.free(); FreeSaveScenes(); FreeTextBuffer(); FreeHandleTable(); FreeActors(); FreeObjectList(); FreeGlobalProcesses(); FreeGlobals(); delete _scheduler; }
TinselEngine::~TinselEngine() { if (_bmv->MoviePlaying()) _bmv->FinishBMV(); _system->getAudioCDManager()->stop(); delete _bmv; delete _sound; delete _midiMusic; delete _pcmMusic; delete _console; _screenSurface.free(); FreeSaveScenes(); FreeTextBuffer(); FreeHandleTable(); FreeActors(); FreeObjectList(); FreeGlobalProcesses(); FreeGlobals(); delete _config; MemoryDeinit(); }
void OnAmxxDetach() { curl_global_cleanup(); ShutdownThreading(); FreeHandleTable(); }