private void ReadFromStream(BigEndianStream stream) { _namespace = stream.ReadUInt16(); _id = stream.ReadUInt64(); _offset = stream.ReadUInt32(); _size = stream.ReadInt32(); }
private void ReadSetting(XDBFEntry entry, BigEndianStream stream) { const long TypeOffset = 0x8; const long SettingHeaderSize = 0x10; stream.Position = entry.FileOffset; uint id = stream.ReadUInt32(); stream.Position = entry.FileOffset + TypeOffset; GPDSettingType type = (GPDSettingType)stream.ReadByte(); stream.Position = entry.FileOffset + SettingHeaderSize; GPDSetting setting; switch (type) { case GPDSettingType.Binary: setting = new GPDBinarySetting(stream, id, type); break; default: setting = new GPDSetting(stream, id, type); break; } _settings[id] = setting; }