void DestroyWindow()
{
Destroy = true;
leaf::CRegKey regkey;
regkey.SetKey(leaf::CRegKey::_HKEY_CURRENT_USER, "SOFTWARE\\Webzen\\Mu\\Config");
regkey.WriteDword("VolumeLevel", g_pOption->GetVolumeLevel());
char string[10];
WritePrivateProfileStringA("Custom", "ShowName", itoa(mShowName, string, 10) , "./config.ini");
WritePrivateProfileStringA("Custom", "ShowHPBar", itoa(mShowHPBar, string, 10), "./config.ini");
WritePrivateProfileStringA("Custom", "ShowMiniMap", itoa(mShowMiniMap, string, 10), "./config.ini");
WritePrivateProfileStringA("Custom", "AutoHP", itoa(mAutoHP, string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "GlowEffect", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eGlowEffect], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "EffectDynamic", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eEffectDynamic], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "EffectStatic", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eEffectStatic], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDPlayer", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDPlayer], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDWings", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDWings], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDWeapons", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDWeapons], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDImg", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDImg], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDMonter", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDMonter], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "RenderObjects", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eRenderObjects], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "RenderTerrain", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eRenderTerrain], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "ExcellentEffect", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eExcellentEffect], string, 10), "./config.ini");
WritePrivateProfileStringA("Graphics", "BMDZen", itoa(g_pNewUISystem->GetUI_NewOptionWindow()->OnOffGrap[g_pNewUISystem->GetUI_NewOptionWindow()->eBMDZen], string, 10), "./config.ini");
CUIMng::Instance().Release();
#ifdef MOVIE_DIRECTSHOW
if(g_pMovieScene)
{
g_pMovieScene->Destroy();
}
#endif
if(g_hFont)
DeleteObject((HGDIOBJ)g_hFont);
if(g_hFontBold)
DeleteObject((HGDIOBJ)g_hFontBold);
if(g_hFontBig)
DeleteObject((HGDIOBJ)g_hFontBig);
if(g_hFixFont)
::DeleteObject((HGDIOBJ)g_hFixFont);
if (g_hFontMini)
::DeleteObject((HGDIOBJ)g_hFixFont);
if (g_hFontBoldName)
DeleteObject((HGDIOBJ)g_hFontBoldName);
ReleaseCharacters();
SAFE_DELETE_ARRAY(GateAttribute);
SAFE_DELETE_ARRAY(SkillAttribute);
SAFE_DELETE(CharacterMachine);
DeleteWaterTerrain ();
#ifdef MOVIE_DIRECTSHOW
if(SceneFlag != MOVIE_SCENE)
#endif
{
gMapManager.DeleteObjects();
for(int i=MODEL_LOGO;i<MAX_MODELS;i++)
{
Models[i].Release();
}
Bitmaps.UnloadAllImages();
}
SAFE_DELETE_ARRAY( CharacterMemoryDump );
SAFE_DELETE_ARRAY( ItemAttRibuteMemoryDump );
SAFE_DELETE_ARRAY( RendomMemoryDump );
SAFE_DELETE_ARRAY( ModelsDump );
#ifdef DYNAMIC_FRUSTRUM
DeleteAllFrustrum();
#endif
SAFE_DELETE(g_pMercenaryInputBox);
SAFE_DELETE(g_pSingleTextInputBox);
SAFE_DELETE(g_pSinglePasswdInputBox);
SAFE_DELETE(g_pChatRoomSocketList);
SAFE_DELETE(g_pUIMapName);
SAFE_DELETE( g_pTimer );
SAFE_DELETE(g_pUIManager);
#ifdef MOVIE_DIRECTSHOW
SAFE_DELETE(g_pMovieScene);
#endif
SAFE_DELETE(pMultiLanguage);
BoostRest( g_BuffSystem );
BoostRest( g_MapProcess );
BoostRest( g_petProcess );
g_ErrorReport.Write( "Destroy" );
}
Fix BuffIcon thread (It caused crashes when closing the game and freezes in the task manager.)