예제 #1
0
 private void ReadFromStream(BigEndianStream stream)
 {
     _namespace = stream.ReadUInt16();
     _id = stream.ReadUInt64();
     _offset = stream.ReadUInt32();
     _size = stream.ReadInt32();
 }
예제 #2
0
파일: GPD.cs 프로젝트: XboxChaos/halosigner
        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;
        }