////////////////////////////////////////////////////////// // // CInstallManager::_ShowCrashFailDialog // // // ////////////////////////////////////////////////////////// SString CInstallManager::_ShowCrashFailDialog ( void ) { // Crashed before gta game started ? if ( WatchDogIsSectionOpen ( "L1" ) ) WatchDogIncCounter ( "CR1" ); HideSplash (); // Transfer gta-fopen-last info if ( GetApplicationSetting ( "diagnostics", "gta-fopen-fail" ).empty() ) SetApplicationSetting ( "diagnostics", "gta-fopen-fail", GetApplicationSetting ( "diagnostics", "gta-fopen-last" ) ); SetApplicationSetting ( "diagnostics", "gta-fopen-last", "" ); SString strMessage = GetApplicationSetting ( "diagnostics", "last-crash-info" ); SString strReason = GetApplicationSetting ( "diagnostics", "last-crash-reason" ); SetApplicationSetting ( "diagnostics", "last-crash-reason", "" ); if ( strReason == "direct3ddevice-reset" ) { strMessage += _("** The crash was caused by a graphics driver error **\n\n** Please update your graphics drivers **"); } else { strMessage += strReason; } strMessage = strMessage.Replace ( "\r", "" ).Replace ( "\n", "\r\n" ); SString strResult = ShowCrashedDialog ( g_hInstance, strMessage ); HideCrashedDialog (); CheckAndShowFileOpenFailureMessage (); return strResult; }
////////////////////////////////////////////////////////// // // HandleTrouble // // // ////////////////////////////////////////////////////////// void HandleTrouble ( void ) { if ( CheckAndShowFileOpenFailureMessage () ) return; int iResponse = MessageBoxUTF8 ( NULL, _("Are you having problems running MTA:SA?.\n\nDo you want to revert to an earlier version?"), "MTA: San Andreas"+_E("CL07"), MB_YESNO | MB_ICONQUESTION | MB_TOPMOST ); if ( iResponse == IDYES ) { BrowseToSolution ( "crashing-before-gtagame", TERMINATE_PROCESS ); } }
////////////////////////////////////////////////////////// // // HandleResetSettings // // // ////////////////////////////////////////////////////////// void HandleResetSettings ( void ) { if ( CheckAndShowFileOpenFailureMessage () ) return; CheckAndShowMissingFileMessage(); SString strSaveFilePath = PathJoin ( GetSystemPersonalPath(), "GTA San Andreas User Files" ); SString strSettingsFilename = PathJoin ( strSaveFilePath, "gta_sa.set" ); SString strSettingsFilenameBak = PathJoin ( strSaveFilePath, "gta_sa_old.set" ); if ( FileExists ( strSettingsFilename ) ) { int iResponse = MessageBoxUTF8 ( NULL, _("There seems to be a problem launching MTA:SA.\nResetting GTA settings can sometimes fix this problem.\n\nDo you want to reset GTA settings now?"), "MTA: San Andreas"+_E("CL08"), MB_YESNO | MB_ICONQUESTION | MB_TOPMOST ); if ( iResponse == IDYES ) { FileDelete ( strSettingsFilenameBak ); FileRename ( strSettingsFilename, strSettingsFilenameBak ); FileDelete ( strSettingsFilename ); if ( !FileExists ( strSettingsFilename ) ) { AddReportLog ( 4053, "Deleted gta_sa.set" ); MessageBoxUTF8 ( NULL, _("GTA settings have been reset.\n\nPress OK to continue."), "MTA: San Andreas", MB_OK | MB_ICONINFORMATION | MB_TOPMOST ); } else { AddReportLog ( 5054, SString ( "Delete gta_sa.set failed with '%s'", *strSettingsFilename ) ); MessageBoxUTF8 ( NULL, SString ( _("File could not be deleted: '%s'"), *strSettingsFilename ), "Error"+_E("CL09"), MB_OK | MB_ICONWARNING | MB_TOPMOST ); } } } else { // No settings to delete, or can't find them int iResponse = MessageBoxUTF8 ( NULL, _("Are you having problems running MTA:SA?.\n\nDo you want to see some online help?"), "MTA: San Andreas", MB_YESNO | MB_ICONQUESTION | MB_TOPMOST ); if ( iResponse == IDYES ) { BrowseToSolution ( "crashing-before-gtalaunch", TERMINATE_PROCESS ); } } }