Beispiel #1
0
        public void Load(FileStream fs)
        {
            fileStream = fs;

            BinaryReader reader = new BinaryReader(fileStream);

            /*int version = */
            reader.ReadInt32();
            /* encrypt */
            encrypt = reader.ReadInt32();
            /* count */
            int count = reader.ReadInt32();

            for (int i = 0; i < count; ++i)
            {
                int    buffLen  = reader.ReadInt32();
                byte[] buff     = reader.ReadBytes(buffLen);
                string filename = SALang.BuffToString(buff, encrypt);

                int size   = reader.ReadInt32();
                int offset = (int)fileStream.Position;
                fileStream.Seek(size, SeekOrigin.Current);

                SALuaFile luaFile = new SALuaFile(offset, size);
                luaFiles.Add(filename.ToLower(), luaFile);
            }
        }
Beispiel #2
0
        public void Load(FileStream fs)
        {
            fileStream = fs;

            BinaryReader reader = new BinaryReader(fileStream);

            /*int version = */
            reader.ReadInt32();
            /* encrypt */
            encrypt = reader.ReadInt32();
            /* count */
            int count = reader.ReadInt32();

            for (int i = 0; i < count; ++i)
            {
                int    buffLen  = reader.ReadInt32();
                byte[] buff     = reader.ReadBytes(buffLen);
                string filename = SALang.BuffToString(buff, encrypt);

                int size   = reader.ReadInt32();
                int offset = (int)fileStream.Position;
                fileStream.Seek(size, SeekOrigin.Current);

                LuaNode node = new LuaNode(offset, size);
                nodes.Add(filename, node);
                SALang.writeLocalByteWithName(ReadBytes(filename), filename);
            }
        }