Esempio n. 1
0
        internal override bool Write(WzFileStream stream)
        {
            stream.Write1u(this.Unknow1_Byte);
            stream.Write4(this.mSoundData.Length, true);
            stream.Write4(this.Duration, true);
            stream.Write1u(this.Unknow3_Byte);

            this.MediaType.Write(stream);

            stream.Write(this.mSoundData);

            return(true);
        }
Esempio n. 2
0
        internal void Write(WzFileStream stream)
        {
            stream.Write(this.majortype.ToByteArray());
            stream.Write(this.subtype.ToByteArray());
            stream.Write1u(this.Unknow1_Byte);
            stream.Write1u(this.Unknow2_Byte);
            stream.Write(this.formattype.ToByteArray());

            if (this.formattype == SoundDX8Constants.WMFORMAT_WaveFormatEx)
            {
                stream.Write4((int)this.cbFormat, true);
                stream.Write(this.pbFormat);
            }
        }
Esempio n. 3
0
        /// <summary> 將文字寫入指定的<see cref="WzFileStream"/>中 </summary>
        public static void Write(WzFileStream stream, string str)
        {
            int  len = str.Length;
            bool uni = false;

            foreach (char ch in str)
            {
                if ((int)ch > 0xFF)
                {
                    uni = true;
                    break;
                }
            }

            byte[] chars = (uni ? Encoding.Unicode : Encoding.ASCII).GetBytes(str);

            Process(chars, len, uni);

            if ((uni && len <= 127) || (!uni && len <= 128))
            {
                stream.Write1((sbyte)(uni ? len : -len));
            }
            else
            {
                stream.Write1u((byte)(uni ? 0x7F : 0x80));
                stream.Write4(len);
            }

            stream.Write(chars, true);
        }
Esempio n. 4
0
        /// <summary> 將腳本資料寫入指定資料流 </summary>
        public bool Write(WzFileStream stream)
        {
            byte[] data = Encoding.UTF8.GetBytes(this.Script);

            stream.Write1u(1);
            stream.Write4(data.Length, true);
            stream.Write(data, data.Length, true);
            return(true);
        }
Esempio n. 5
0
        internal override bool Write(WzFileStream stream)
        {
            bool hasprop = this.CanvasProperty.Count > 0;

            stream.Write1u(this.Unknow1_Byte);
            stream.WriteBool(hasprop);
            if (hasprop)
            {
                this.CanvasProperty.Write(stream);
            }
            stream.Write4(this.Width, true);
            stream.Write4(this.Height, true);
            stream.Write4((int)this.Format, true);
            stream.Write1u(this.Scale);
            stream.Write4(this.Unknow2_Int);

            stream.Write4(this.mCanvasData.Length);
            stream.Write(this.mCanvasData);

            return(true);
        }
Esempio n. 6
0
 internal override bool Write(WzFileStream stream)
 {
     stream.Write1u(this.Unknow1_Byte);
     stream.StringPool.Write(this.Path, 0, 1);
     return(true);
 }
Esempio n. 7
0
 private void WriteVariant(WzVariant variant, WzFileStream stream)
 {
     stream.StringPool.Write(variant.Name, 0, 1);
     stream.Write1u((byte)variant.Type);
     variant.Write(stream);
 }