tracy/server/TracyBadVersion.cpp

96 lines
3.0 KiB
C++
Raw Normal View History

#include <assert.h>
2018-08-19 00:59:12 +00:00
#include "IconsFontAwesome5.h"
#include "TracyBadVersion.hpp"
#include "TracyImGui.hpp"
namespace tracy
{
namespace detail
{
2019-08-12 10:04:27 +00:00
void BadVersionImpl( BadVersionState& badVer )
{
2019-08-12 10:04:27 +00:00
assert( badVer.state != BadVersionState::Ok );
2019-08-12 10:04:27 +00:00
switch( badVer.state )
{
2019-08-12 10:04:27 +00:00
case BadVersionState::BadFile:
ImGui::OpenPopup( "Bad file" );
2019-08-12 10:04:27 +00:00
break;
2020-02-12 18:53:37 +00:00
case BadVersionState::ReadError:
ImGui::OpenPopup( "File read error" );
break;
2019-08-12 10:04:27 +00:00
case BadVersionState::UnsupportedVersion:
ImGui::OpenPopup( "Unsupported file version" );
break;
2019-08-12 10:16:48 +00:00
case BadVersionState::LegacyVersion:
ImGui::OpenPopup( "Legacy file version" );
break;
2019-08-12 10:04:27 +00:00
default:
assert( false );
break;
}
2019-08-12 10:16:48 +00:00
if( ImGui::BeginPopupModal( "Bad file", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
{
#ifdef TRACY_EXTENDED_FONT
TextCentered( ICON_FA_EXCLAMATION_TRIANGLE );
#endif
ImGui::Text( "The file you are trying to open is not a tracy dump." );
ImGui::Separator();
if( ImGui::Button( "Oops" ) )
{
ImGui::CloseCurrentPopup();
badVer.state = BadVersionState::Ok;
}
ImGui::EndPopup();
}
2020-02-12 18:53:37 +00:00
if( ImGui::BeginPopupModal( "File read error", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
{
#ifdef TRACY_EXTENDED_FONT
TextCentered( ICON_FA_EXCLAMATION_TRIANGLE );
#endif
ImGui::Text( "The file you are trying to open cannot be mapped to memory." );
ImGui::Separator();
if( ImGui::Button( "OK" ) )
{
ImGui::CloseCurrentPopup();
badVer.state = BadVersionState::Ok;
}
ImGui::EndPopup();
}
if( ImGui::BeginPopupModal( "Unsupported file version", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
{
2018-08-19 00:59:12 +00:00
#ifdef TRACY_EXTENDED_FONT
TextCentered( ICON_FA_CLOUD_DOWNLOAD_ALT );
#endif
2019-08-12 10:04:27 +00:00
ImGui::Text( "The file you are trying to open is unsupported.\nYou should update to tracy %i.%i.%i or newer and try again.", badVer.version >> 16, ( badVer.version >> 8 ) & 0xFF, badVer.version & 0xFF );
ImGui::Separator();
if( ImGui::Button( "I understand" ) )
{
ImGui::CloseCurrentPopup();
2019-08-12 10:04:27 +00:00
badVer.state = BadVersionState::Ok;
}
ImGui::EndPopup();
}
2019-08-12 10:16:48 +00:00
if( ImGui::BeginPopupModal( "Legacy file version", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
{
2018-08-19 00:59:12 +00:00
#ifdef TRACY_EXTENDED_FONT
2019-08-12 10:16:48 +00:00
TextCentered( ICON_FA_GHOST );
2018-08-19 00:59:12 +00:00
#endif
2019-08-12 10:16:48 +00:00
ImGui::Text( "You are trying to open a file which was created by legacy version %i.%i.%i.\nUse the update utility from an older version of the profiler to convert the file to a supported version.", badVer.version >> 16, ( badVer.version >> 8 ) & 0xFF, badVer.version & 0xFF );
ImGui::Separator();
2019-08-12 10:16:48 +00:00
if( ImGui::Button( "Maybe I don't need it" ) )
{
ImGui::CloseCurrentPopup();
2019-08-12 10:04:27 +00:00
badVer.state = BadVersionState::Ok;
}
ImGui::EndPopup();
}
}
}
}