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); } }
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); } }