v1.2.0 — Sector-size-aware generic formats, ConsoleTypeRegistry & documentation
New features
- Sector-size-aware generic formats. The generic raw / virtual-export console types are now split by sector size so each image type is unambiguous:
GenericIsoRaw→GenericIsoRaw2352andGenericIsoRaw2048GenericCueIso→GenericCueIso2352andGenericCueIso2048GenericCueBinWav→GenericCueBinWav2352andGenericCueBinWav2048GenericCueIsoWav→GenericCueIsoWav2352andGenericCueIsoWav2048GenericCueBin2352Default→ renamed toGenericCueBin2352
- New
ConsoleTypeRegistry(VideoGameFileSystemParser.Models) — the single source of truth for console type display names and CLI aliases:All— ordered list ofConsoleTypeInfoentries (type, display name, aliases)Parse(alias)— case-insensitive alias resolution (e.g."ps2","cuebin2352")GetDisplayName(type)/GetAliases(type)- Multiple display entries can resolve to the same
ConsoleType(e.g. "PS3 ISO RAW 2352", "Xbox ISO RAW 2352" and "ISO RAW 2352" all map toGenericIsoRaw2352)
ParserFactory.GetAllSupportedConsoles()is now registry-driven — it returns the same list used by the UI/CLI, so the two can never drift apart.- Code modernization. Consistent use of
varacross all parsers (HFS parser included). No API or behavior changes — this is a source-only cleanup. - Professional multi-page documentation. The repository now ships a complete wiki-style documentation set under
docs/:
Fixes
- Virtual CUE export for 2048-cooked variants: audio tracks inside BIN files now always use 2352-byte sectors (previously they were written at the cooked 2048-byte size, producing unreadable audio tracks).
- CUE track mode strings now reflect the actual sector size used per track (e.g.
MODE1/2352,MODE2/2048) instead of hard-coding 2048 for ISO exports.
Breaking changes
- Removed:
ConsoleType.GenericIsoRaw,ConsoleType.GenericCueIso,ConsoleType.GenericCueBinWav,ConsoleType.GenericCueIsoWav,ConsoleType.GenericCueBin2352Default.
Replace with the corresponding sector-size-aware values above. ConsoleTypemember order changed (registry-ordering); do not rely on numeric enum values — resolve types throughConsoleTypeRegistryinstead.
Upgrade guide
| v1.1.0 | v1.2.0 |
|---|---|
ConsoleType.GenericIsoRaw |
ConsoleType.GenericIsoRaw2352 (or GenericIsoRaw2048) |
ConsoleType.GenericCueBin2352Default |
ConsoleType.GenericCueBin2352 |
ConsoleType.GenericCueIso |
ConsoleType.GenericCueIso2352 or GenericCueIso2048 |
ConsoleType.GenericCueBinWav |
ConsoleType.GenericCueBinWav2352 or GenericCueBinWav2048 |
ConsoleType.GenericCueIsoWav |
ConsoleType.GenericCueIsoWav2352 or GenericCueIsoWav2048 |
Full Changelog: v1.1.0...v1.2.0