@@ -142,7 +142,7 @@ public string SignedBy
142142 var headerData = GetHeaderWithoutSignature ( ) ;
143143 foreach ( var signKey in DurangoKeys . GetAllXvdSigningKeys ( ) )
144144 {
145- if ( HashUtils . VerifySignature ( signKey . Value . KeyData , Signature , headerData ) )
145+ if ( signKey . Value . KeyData != null && HashUtils . VerifySignature ( signKey . Value . KeyData , Signature , headerData ) )
146146 return signKey . Key ;
147147 }
148148 return "<UNKNOWN>" ;
@@ -364,7 +364,7 @@ public struct XvcRegionHeader
364364 /* 0x0 */ public XvcRegionId Id ;
365365 /* 0x4 */ public ushort KeyId ;
366366 /* 0x6 */ public ushort Padding6 ;
367- /* 0x8 */ public uint Flags ;
367+ /* 0x8 */ public XvcRegionFlags Flags ;
368368 /* 0xC */ public uint FirstSegmentIndex ;
369369
370370 [ MarshalAs ( UnmanagedType . ByValTStr , SizeConst = 0x20 ) ]
@@ -422,7 +422,22 @@ public string ToString(bool formatted)
422422 keyid += " (not encrypted)" ;
423423 b . AppendLineSpace ( fmt + "Description: " + Description . Replace ( "\0 " , "" ) ) ;
424424 b . AppendLineSpace ( fmt + "Key ID: 0x" + keyid ) ;
425- b . AppendLineSpace ( fmt + "Flags: 0x" + Flags . ToString ( "X" ) ) ;
425+ b . AppendLineSpace ( fmt + "Flags: 0x" + ( ( uint ) Flags ) . ToString ( "X" ) ) ;
426+ if ( Flags . HasFlag ( XvcRegionFlags . Resident ) )
427+ b . AppendLineSpace ( fmt + " - Resident" ) ;
428+ if ( Flags . HasFlag ( XvcRegionFlags . InitialPlay ) )
429+ b . AppendLineSpace ( fmt + " - InitialPlay" ) ;
430+ if ( Flags . HasFlag ( XvcRegionFlags . Preview ) )
431+ b . AppendLineSpace ( fmt + " - Preview" ) ;
432+ if ( Flags . HasFlag ( XvcRegionFlags . FileSystemMetadata ) )
433+ b . AppendLineSpace ( fmt + " - FileSystemMetadata" ) ;
434+ if ( Flags . HasFlag ( XvcRegionFlags . Present ) )
435+ b . AppendLineSpace ( fmt + " - Present" ) ;
436+ if ( Flags . HasFlag ( XvcRegionFlags . OnDemand ) )
437+ b . AppendLineSpace ( fmt + " - OnDemand" ) ;
438+ if ( Flags . HasFlag ( XvcRegionFlags . Available ) )
439+ b . AppendLineSpace ( fmt + " - Available" ) ;
440+
426441 b . AppendLineSpace ( fmt + "Offset: 0x" + Offset . ToString ( "X" ) ) ;
427442 b . AppendLineSpace ( fmt + "Length: 0x" + Length . ToString ( "X" ) ) ;
428443 b . AppendLineSpace ( fmt + "Hash: 0x" + Hash . ToString ( "X" ) ) ;
0 commit comments