internal static FloatValue Read(IFieldReader reader) { var value1 = reader.ReadValueF32(); var value2 = reader.ReadValueF32(); return(new FloatValue(value1, value2)); }
internal static Property Read(IFieldReader reader) { var valueType = (ValueType)reader.ReadValueU8(); // & 7 reader.SkipBytes(3); var function = (FunctionType)reader.ReadValueU8(); // & 3 reader.SkipBytes(3); var index = reader.ReadValueU16(); // & 0x7FF reader.SkipBytes(2); var value = ReadValue(valueType, reader); var factor = reader.Version >= 88 ? reader.ReadValueF32() : 0; return(new Property(index, function, value, factor)); }
internal override void ReadField(uint type, IFieldReader reader) { var size = reader.Size; switch ((FieldType)type) { case FieldType.EDID: { this.MarkField(0); this._EditorId = reader.ReadString(size); break; } case FieldType.FULL: { this.MarkField(1); this._FullName = reader.ReadLocalizedString(); break; } case FieldType.DESC: { this.MarkField(2); this._Description = reader.ReadLocalizedString(); break; } case FieldType.OBND: { this.MarkField(3); Debug.Assert(size == 12); break; } case FieldType.MODL: { this.MarkField(4); this._Model = reader.ReadString(0); break; } case FieldType.MODT: { this.MarkField(5); break; } case FieldType.DNAM: { this.MarkField(6); Debug.Assert((reader.Version >= 107 && size == 16) || (reader.Version < 107 && size == 8)); var value1 = reader.ReadValueF32(); var value2 = reader.ReadValueU32(); if (reader.Version >= 107) { var value3 = reader.ReadValueF32(); var value4 = reader.ReadValueF32(); } else { } break; } case FieldType.MNAM: { this.MarkField(7); Debug.Assert(size == 1040); break; } case FieldType.PRPS: { this.MarkField(8); //Assert(size == 8); break; } case FieldType.PTRN: { this.MarkField(9); Debug.Assert(size == 4); break; } case FieldType.MODS: { this.MarkField(10); Debug.Assert(size == 4); break; } case FieldType.NVNM: { this.MarkField(11); //Assert(size == 720); break; } case FieldType.MODC: { this.MarkField(12); Debug.Assert(size == 4); break; } case FieldType.VMAD: { this.MarkField(13); Debug.Assert(size == 36); break; } case FieldType.FTYP: { this.MarkField(14); Debug.Assert(size == 4); break; } default: { throw new NotSupportedException(); } } }
internal override void Read(IFieldReader reader) { this.Version = reader.ReadValueF32(); this.RecordCount = reader.ReadValueS32(); this.NextRecordId = reader.ReadValueU32(); }