mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04:23:51 +00:00
Handle legacy file versions.
This commit is contained in:
parent
54076e717c
commit
154c902e03
@ -480,6 +480,11 @@ int main( int argc, char** argv )
|
|||||||
badVer.state = tracy::BadVersionState::UnsupportedVersion;
|
badVer.state = tracy::BadVersionState::UnsupportedVersion;
|
||||||
badVer.version = e.version;
|
badVer.version = e.version;
|
||||||
}
|
}
|
||||||
|
catch( const tracy::LegacyVersion& e )
|
||||||
|
{
|
||||||
|
badVer.state = tracy::BadVersionState::LegacyVersion;
|
||||||
|
badVer.version = e.version;
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,24 +22,13 @@ void BadVersionImpl( BadVersionState& badVer )
|
|||||||
case BadVersionState::UnsupportedVersion:
|
case BadVersionState::UnsupportedVersion:
|
||||||
ImGui::OpenPopup( "Unsupported file version" );
|
ImGui::OpenPopup( "Unsupported file version" );
|
||||||
break;
|
break;
|
||||||
|
case BadVersionState::LegacyVersion:
|
||||||
|
ImGui::OpenPopup( "Legacy file version" );
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
assert( false );
|
assert( false );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if( ImGui::BeginPopupModal( "Unsupported file version", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
|
|
||||||
{
|
|
||||||
#ifdef TRACY_EXTENDED_FONT
|
|
||||||
TextCentered( ICON_FA_CLOUD_DOWNLOAD_ALT );
|
|
||||||
#endif
|
|
||||||
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();
|
|
||||||
badVer.state = BadVersionState::Ok;
|
|
||||||
}
|
|
||||||
ImGui::EndPopup();
|
|
||||||
}
|
|
||||||
if( ImGui::BeginPopupModal( "Bad file", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
|
if( ImGui::BeginPopupModal( "Bad file", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
|
||||||
{
|
{
|
||||||
#ifdef TRACY_EXTENDED_FONT
|
#ifdef TRACY_EXTENDED_FONT
|
||||||
@ -54,6 +43,34 @@ void BadVersionImpl( BadVersionState& badVer )
|
|||||||
}
|
}
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}
|
||||||
|
if( ImGui::BeginPopupModal( "Unsupported file version", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
|
||||||
|
{
|
||||||
|
#ifdef TRACY_EXTENDED_FONT
|
||||||
|
TextCentered( ICON_FA_CLOUD_DOWNLOAD_ALT );
|
||||||
|
#endif
|
||||||
|
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();
|
||||||
|
badVer.state = BadVersionState::Ok;
|
||||||
|
}
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
|
if( ImGui::BeginPopupModal( "Legacy file version", nullptr, ImGuiWindowFlags_AlwaysAutoResize ) )
|
||||||
|
{
|
||||||
|
#ifdef TRACY_EXTENDED_FONT
|
||||||
|
TextCentered( ICON_FA_GHOST );
|
||||||
|
#endif
|
||||||
|
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();
|
||||||
|
if( ImGui::Button( "Maybe I don't need it" ) )
|
||||||
|
{
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
badVer.state = BadVersionState::Ok;
|
||||||
|
}
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,8 @@ struct BadVersionState
|
|||||||
{
|
{
|
||||||
Ok,
|
Ok,
|
||||||
BadFile,
|
BadFile,
|
||||||
UnsupportedVersion
|
UnsupportedVersion,
|
||||||
|
LegacyVersion
|
||||||
};
|
};
|
||||||
|
|
||||||
State state = Ok;
|
State state = Ok;
|
||||||
|
@ -47,6 +47,12 @@ struct UnsupportedVersion : public std::exception
|
|||||||
int version;
|
int version;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct LegacyVersion : public std::exception
|
||||||
|
{
|
||||||
|
LegacyVersion( int version ) : version ( version ) {}
|
||||||
|
int version;
|
||||||
|
};
|
||||||
|
|
||||||
struct LoadProgress
|
struct LoadProgress
|
||||||
{
|
{
|
||||||
enum Stage
|
enum Stage
|
||||||
|
@ -91,6 +91,11 @@ int main( int argc, char** argv )
|
|||||||
fprintf( stderr, "The file you are trying to open is not a tracy dump.\n" );
|
fprintf( stderr, "The file you are trying to open is not a tracy dump.\n" );
|
||||||
exit( 1 );
|
exit( 1 );
|
||||||
}
|
}
|
||||||
|
catch( const tracy::LegacyVersion& e )
|
||||||
|
{
|
||||||
|
fprintf( stderr, "The file you are trying to open is from a legacy version.\n" );
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user