예제 #1
0
        /// <summary></summary>
        /// <param name="sid_header"></param>
        /// <returns></returns>
        /// <remarks>This needs to be virtual as with the start of HaloReach, debug data is encrypted, so we have to override this behavior in its implmentation</remarks>
        protected virtual IO.EndianReader GetStringIdsBuffer(ICacheHeaderStringId sid_header)
        {
            InputStream.Seek(sid_header.StringIdsBufferOffset);
            byte[] input = InputStream.ReadBytes(sid_header.StringIdsBufferSize);

            return(new IO.EndianReader(input, engineVersion.GetCacheEndianState()));
        }
예제 #2
0
        IO.EndianReader GetStringIdsIndicesBuffer(ICacheHeaderStringId sid_header)
        {
            int indicies_memory_size = sid_header.StringIdsCount * sizeof(int);

            InputStream.Seek(sid_header.StringIdIndicesOffset);
            byte[] input = InputStream.ReadBytes(indicies_memory_size);

            return(new IO.EndianReader(input, engineVersion.GetCacheEndianState()));
        }
예제 #3
0
        static void OutputHeader(CacheHeader h, System.IO.StreamWriter s)
        {
            s.WriteLine("Name\t{0}", h.Name);
            s.WriteLine("Build\t{0}", h.Build);
            s.WriteLine("{0}\tVersion", h.Version.ToString("X8"));
            s.WriteLine("{0}\tOffset To Tag Buffer", h.OffsetToIndex.ToString("X8"));
            s.WriteLine("{0}\tTag Buffer Size", h.TagBufferSize.ToString("X8"));

            ICacheHeaderStringId chsi = h as ICacheHeaderStringId;

            if (chsi != null)
            {
                s.WriteLine("--String Ids--");
                s.WriteLine("{0}\tCount", chsi.StringIdsCount.ToString("X8"));
                s.WriteLine("{0}\tSize", chsi.StringIdsBufferSize.ToString("X8"));
                s.WriteLine("{0}\tOffset-Indices", chsi.StringIdIndicesOffset.ToString("X8"));
                s.WriteLine("{0}\tOffset-Buffer", chsi.StringIdsBufferOffset.ToString("X8"));
            }
        }
 protected override IO.EndianReader GetStringIdsBuffer(ICacheHeaderStringId sid_header)
 {
     return(DecryptCacheSegmentStream(CacheSectionType.Debug, sid_header.StringIdsBufferOffset, sid_header.StringIdsBufferSize));
 }
예제 #5
0
		protected override IO.EndianReader GetStringIdsBuffer(ICacheHeaderStringId sid_header)
		{
			return DecryptCacheSegment(CacheSectionType.Debug, sid_header.StringIdsBufferOffset, sid_header.StringIdsBufferSize);
		}