コード例 #1
0
        private void LoadMessage()
        {
            _binstream   = new BinaryReader(_mstream);
            ConfigHeader = new MsgConfigHeader();
            _binstream.BaseStream.Position = 0;

            ConfigHeader.FileLenght = _binstream.ReadUInt32();
            ConfigHeader.FileCount  = _binstream.ReadUInt32();

            ConfigHeader.FileOffset = new uint[ConfigHeader.FileCount];

            for (int i = 0; i < ConfigHeader.FileCount; i++)
            {
                ConfigHeader.FileOffset[i] = _binstream.ReadUInt32();
            }

            _binstream.BaseStream.Position = (int)ConfigHeader.FileOffset[0];
            uint lenght = ConfigHeader.FileOffset[1] - ConfigHeader.FileOffset[0];

            _inType = Encoding.ASCII.GetString(_binstream.ReadBytes((int)lenght)).Replace("\0", "");

            LoadContent();
        }
コード例 #2
0
ファイル: msg4u.cs プロジェクト: ach4ndi/hm_msg_3ds_editor
        private void LoadMessage()
        {
            _mstream   = new MemoryStream(MsgData);
            _binstream = new BinaryReader(_mstream);

            _CHeader = new MsgConfigHeader();
            _binstream.BaseStream.Position = 0;

            _CHeader.FileLenght = _binstream.ReadUInt32();
            _CHeader.FileCount  = _binstream.ReadUInt32();

            if (_CHeader.FileCount != 0)
            {
                if (isUSMessage && _CHeader.FileCount == 2)
                {
                    isHaveMessage = false;
                }
                else
                {
                    isHaveMessage = true;
                }

                _CHeader.FileOffset = new uint[_CHeader.FileCount];

                for (int i = 0; i < _CHeader.FileCount; i++)
                {
                    _CHeader.FileOffset[i] = _binstream.ReadUInt32();
                }

                _binstream.BaseStream.Position = (int)_CHeader.FileOffset[0];
            }

            _mstream.Flush();
            _mstream.Close();
            _binstream.Close();
        }