diff --git a/Aaru.Decoders/DVD/CSS&CPRM.cs b/Aaru.Decoders/DVD/CSS&CPRM.cs
index 6521d8a5a..6b9f24ecf 100644
--- a/Aaru.Decoders/DVD/CSS&CPRM.cs
+++ b/Aaru.Decoders/DVD/CSS&CPRM.cs
@@ -103,43 +103,47 @@ public static class CSS_CPRM
int userControlledChanges = decoded.TypeCode_VendorResetsAvailable_UserControlledChangesAvailable & 0x7;
+ sb.AppendLine($"[bold][blue]{Localization.Regional_Playback_Control_State}[/][/]");
+
switch(typeCode)
{
case TypeCode.None:
- sb.AppendLine(Localization.No_drive_region_setting);
+ sb.AppendLine($"\t[slateblue1]{Localization.No_drive_region_setting}[/]");
break;
case TypeCode.Set:
- sb.AppendLine(Localization.Drive_region_is_set);
+ sb.AppendLine($"\t[slateblue1]{Localization.Drive_region_is_set}[/]");
break;
case TypeCode.LastChance:
- sb.AppendLine(Localization.Drive_region_is_set_with_additional_restrictions_required_to_make_a_change);
+ sb.AppendLine($"\t[slateblue1]{Localization.Drive_region_is_set_with_additional_restrictions_required_to_make_a_change}[/]");
break;
case TypeCode.Perm:
- sb.AppendLine(Localization
- .Drive_region_has_been_set_permanently_but_may_be_reset_by_the_vendor_if_necessary);
+ sb.AppendLine($"\t[slateblue1]{Localization.Drive_region_has_been_set_permanently_but_may_be_reset_by_the_vendor_if_necessary}[/]");
break;
}
- sb.AppendLine(string.Format(Localization.Drive_has_0_vendor_resets_available, vendorResets));
- sb.AppendLine(string.Format(Localization.Drive_has_0_user_controlled_changes_available, userControlledChanges));
+ sb.AppendLine(string.Format($"\t[slateblue1]{Localization.Drive_has_0_vendor_resets_available}[/]",
+ $"[teal]{vendorResets}[/]"));
+
+ sb.AppendLine(string.Format($"\t[slateblue1]{Localization.Drive_has_0_user_controlled_changes_available}[/]",
+ $"[teal]{userControlledChanges}[/]"));
switch(decoded.RegionMask)
{
case 0xFF:
- sb.AppendLine(Localization.Drive_has_no_region_set);
+ sb.AppendLine($"\t[slateblue1]{Localization.Drive_has_no_region_set}[/]");
break;
case 0x00:
- sb.AppendLine(Localization.Drive_is_region_free);
+ sb.AppendLine($"\t[slateblue1]{Localization.Drive_is_region_free}[/]");
break;
default:
{
- sb.Append(Localization.Drive_has_the_following_regions_set);
+ sb.Append($"\t[slateblue1]{Localization.Drive_has_the_following_regions_set}[/][teal]");
if((decoded.RegionMask & 0x01) != 0x01) sb.Append(" 1");
@@ -161,21 +165,20 @@ public static class CSS_CPRM
}
}
- sb.AppendLine("");
+ sb.AppendLine("[/]");
switch(decoded.RPCScheme)
{
case 0x00:
- sb.AppendLine(Localization.The_Logical_Unit_does_not_enforce_Region_Playback_Controls_RPC);
+ sb.AppendLine($"\t[slateblue1]{Localization.The_Logical_Unit_does_not_enforce_Region_Playback_Controls_RPC}[/]");
break;
case 0x01:
- sb.AppendLine(Localization
- .The_Logical_Unit_shall_adhere_to_the_specification_and_all_requirements_of_the_CSS_license_agreement_concerning_RPC);
+ sb.AppendLine($"\t[slateblue1]{Localization.The_Logical_Unit_shall_adhere_to_the_specification_and_all_requirements_of_the_CSS_license_agreement_concerning_RPC}[/]");
break;
default:
- sb.AppendLine(Localization.The_Logical_Unit_uses_an_unknown_region_enforcement_scheme);
+ sb.AppendLine($"\t[slateblue1]{Localization.The_Logical_Unit_uses_an_unknown_region_enforcement_scheme}[/]");
break;
}
@@ -193,27 +196,29 @@ public static class CSS_CPRM
LeadInCopyright decoded = cmi.Value;
var sb = new StringBuilder();
+ sb.AppendLine($"[bold][blue]{Localization.Lead_In_Copyright_Information}[/][/]");
+
switch(decoded.CopyrightType)
{
case CopyrightType.NoProtection:
- sb.AppendLine(Localization.Disc_has_no_encryption);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_has_no_encryption}[/]");
break;
case CopyrightType.CSS:
- sb.AppendLine(Localization.Disc_is_encrypted_using_CSS_or_CPPM);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_is_encrypted_using_CSS_or_CPPM}[/]");
break;
case CopyrightType.CPRM:
- sb.AppendLine(Localization.Disc_is_encrypted_using_CPRM);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_is_encrypted_using_CPRM}[/]");
break;
case CopyrightType.AACS:
- sb.AppendLine(Localization.Disc_is_encrypted_using_AACS);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_is_encrypted_using_AACS}[/]");
break;
default:
- sb.AppendFormat(Localization.Disc_is_encrypted_using_unknown_algorithm_with_ID_0,
- decoded.CopyrightType);
+ sb.AppendFormat($"\t[slateblue1]{Localization.Disc_is_encrypted_using_unknown_algorithm_with_ID_0}[/]",
+ $"[teal]{decoded.CopyrightType}[/]");
break;
}
@@ -223,16 +228,16 @@ public static class CSS_CPRM
switch(decoded.RegionInformation)
{
case 0xFF:
- sb.AppendLine(Localization.Disc_cannot_be_played_in_any_region_at_all);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_cannot_be_played_in_any_region_at_all}[/]");
break;
case 0x00:
- sb.AppendLine(Localization.Disc_can_be_played_in_any_region);
+ sb.AppendLine($"\t[slateblue1]{Localization.Disc_can_be_played_in_any_region}[/]");
break;
default:
{
- sb.Append(Localization.Disc_can_be_played_in_the_following_regions);
+ sb.Append($"\t[slateblue1]{Localization.Disc_can_be_played_in_the_following_regions}[/][teal]");
if((decoded.RegionInformation & 0x01) != 0x01) sb.Append(" 1");
@@ -250,6 +255,8 @@ public static class CSS_CPRM
if((decoded.RegionInformation & 0x80) != 0x80) sb.Append(" 8");
+ sb.AppendLine("[/]");
+
break;
}
}
diff --git a/Aaru.Decoders/Localization/Localization.Designer.cs b/Aaru.Decoders/Localization/Localization.Designer.cs
index 0f24fd3b2..ce39bc1b7 100644
--- a/Aaru.Decoders/Localization/Localization.Designer.cs
+++ b/Aaru.Decoders/Localization/Localization.Designer.cs
@@ -19459,5 +19459,17 @@ namespace Aaru.Decoders {
return ResourceManager.GetString("Low_power_take_precedence_over_background", resourceCulture);
}
}
+
+ internal static string Regional_Playback_Control_State {
+ get {
+ return ResourceManager.GetString("Regional_Playback_Control_State", resourceCulture);
+ }
+ }
+
+ internal static string Lead_In_Copyright_Information {
+ get {
+ return ResourceManager.GetString("Lead_In_Copyright_Information", resourceCulture);
+ }
+ }
}
}
diff --git a/Aaru.Decoders/Localization/Localization.resx b/Aaru.Decoders/Localization/Localization.resx
index c788d8e3e..1447fbdb8 100644
--- a/Aaru.Decoders/Localization/Localization.resx
+++ b/Aaru.Decoders/Localization/Localization.resx
@@ -9787,4 +9787,10 @@
Maintaining low power conditions take precedence over performing background functions
+
+ Regional Playback Control State:
+
+
+ Lead-In Copyright Information:
+
\ No newline at end of file