diff --git a/src/vgmparse.py b/src/vgmparse.py index 370b9c8..2d4feea 100644 --- a/src/vgmparse.py +++ b/src/vgmparse.py @@ -746,5 +746,13 @@ def validate_vgm_data(self): self.data.seek(original_pos) def validate_vgm_version(self): + def bcd_version_to_str(bcd): + version = "" + while bcd > 0: + version = str(bcd & 15) + version + bcd >>= 4 + return version + if self.metadata['version'] not in self.supported_ver_list: - raise VersionError('VGM version ' + str(self.metadata['version']//256) + '.' + str(self.metadata['version']&255) + ' is not supported') + version = self.metadata['version'] + raise VersionError(f'VGM version {bcd_version_to_str(version>>8)}.{bcd_version_to_str(version&255)} is not supported')