Exemplo n.º 1
0
        public override void SetTranslate(string[] strings)
        {
            var oldStrings = GetStrings(true);

            if (strings.Length != oldStrings.Length)
            {
                throw new Exception("Line count mismatch");
            }

            ByteBuilder bb = new ByteBuilder();

            for (int r = 0; r < strings.Length; r++)
            {
                var tr = strings[r];
                if (tr == null)
                {
                    tr = oldStrings[r];
                }

                var bytes = GameEncoding.GetBytes(tr);
                bb.AddBytes(bytes);
                bb.AddByte(0);
            }

            SaveTranslate(bb.GetArray());
        }
Exemplo n.º 2
0
        public override void WriteText(ByteBuilder bb, object data, GameEncoding encoding)
        {
            ushort textOffset = (ushort)bb.Position;

            var bytes = encoding.GetBytes(Text);

            bb.AddBytes(bytes);
            bb.AddByte(0);

            bb.SetShortBE((int)data, textOffset);
        }
Exemplo n.º 3
0
        public override byte[] GetPatch()
        {
            var strings = GetStrings();

            ByteBuilder bb = new ByteBuilder();

            for (int i = 0; i < strings.Length; i++)
            {
                var bytes = GameEncoding.GetBytes(strings[i]);
                bb.AddBytes(bytes);
                bb.AddByte(0);
            }

            return(bb.GetArray());
        }
Exemplo n.º 4
0
 public void SetValueUnescape(string val) => Bytes = GameEncoding.Unescape(GameEncoding.GetBytes(val));