private void ReadHashValueSection(BinaryReader reader, ObservableCollection <CharacterCustomizationAppearances.HashValueEntry> collection, int count) { for (int i = 0; i < count; i++) { var entry = new CharacterCustomizationAppearances.HashValueEntry(); // CSE is doing a version check here on ArchiveVersion < 195 // Unt64 only read if ArchiveVersion >= 195, otherwise: https://github.com/PixelRick/CyberpunkSaveEditor/blob/7c47c6c7ce099c714e2ba43515380f99a2422c20/Source/cserialization/cnodes/CCharacterCustomization.hpp#L74 entry.Hash = reader.ReadUInt64(); entry.FirstString = reader.ReadPackedString(); entry.SecondString = reader.ReadPackedString(); entry.TrailingBytes = reader.ReadBytes(8); collection.Add(entry); } }
private List <CharacterCustomizationAppearances.HashValueEntry> ReadHashValueSection(BinaryReader reader, int count) { var result = new List <CharacterCustomizationAppearances.HashValueEntry>(); for (int i = 0; i < count; i++) { var entry = new CharacterCustomizationAppearances.HashValueEntry(); entry.Hash = reader.ReadUInt64(); entry.FirstString = ParserUtils.ReadString(reader); entry.SecondString = ParserUtils.ReadString(reader); entry.TrailingBytes = reader.ReadBytes(8); result.Add(entry); } return(result); }
public static bool IsPathValid(this CharacterCustomizationAppearances.HashValueEntry entry, string value) { return(pathHashes.Values.Contains(value)); }
public static void SetPath(this CharacterCustomizationAppearances.HashValueEntry entry, string value) { entry.Hash = HashGenerator.CalcFNV1A64(value); }
public static string GetPath(this CharacterCustomizationAppearances.HashValueEntry entry) { return(pathHashes.ContainsKey(entry.Hash) ? pathHashes[entry.Hash] : string.Empty); }