Esempio n. 1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="DataBlockBuilder" /> class.
        /// </summary>
        /// <param name="reader">The stream to read from.</param>
        /// <param name="tag">The tag to load data blocks for.</param>
        /// <param name="cacheFile">The cache file.</param>
        /// <param name="buildInfo">The build info for the cache file.</param>
        public DataBlockBuilder(IReader reader, ITag tag, ICacheFile cacheFile, EngineDescription buildInfo)
        {
            _reader         = reader;
            _tag            = tag;
            _cacheFile      = cacheFile;
            _languageCache  = new CachedLanguagePackLoader(_cacheFile.Languages);
            _tagRefLayout   = buildInfo.Layouts.GetLayout("tag reference");
            _tagBlockLayout = buildInfo.Layouts.GetLayout("tag block");
            _dataRefLayout  = buildInfo.Layouts.GetLayout("data reference");

            if (buildInfo.Layouts.HasLayout("sound"))
            {
                _soundLayout = buildInfo.Layouts.GetLayout("sound");
            }

            DataBlocks          = new List <DataBlock>();
            ReferencedTags      = new HashSet <DatumIndex>();
            ReferencedResources = new HashSet <DatumIndex>();

            ReferencedSoundCodecs              = new HashSet <int>();
            ReferencedSoundPitchRanges         = new HashSet <int>();
            ReferencedSoundLanguagePitchRanges = new HashSet <int>();
            ReferencedSoundPlaybacks           = new HashSet <int>();
            ReferencedSoundScales              = new HashSet <int>();
            ReferencedSoundPromotions          = new HashSet <int>();
            ReferencedSoundCustomPlaybacks     = new HashSet <int>();
            ReferencedSoundExtraInfo           = new HashSet <int>();
        }
Esempio n. 2
0
 public TagContainerInjector(ICacheFile cacheFile, TagContainer container)
 {
     _cacheFile         = cacheFile;
     _languageCache     = new CachedLanguagePackLoader(cacheFile.Languages);
     _container         = container;
     _keepSound         = false;
     _injectRaw         = false;
     _findExistingPages = false;
 }
Esempio n. 3
0
 public TagContainerInjector(ICacheFile cacheFile, TagContainer container, bool keepsnd, bool injectraw, bool findexisting, bool renameshaders)
 {
     _cacheFile         = cacheFile;
     _languageCache     = new CachedLanguagePackLoader(cacheFile.Languages);
     _container         = container;
     _keepSound         = keepsnd;
     _injectRaw         = injectraw;
     _findExistingPages = findexisting;
     _renameShaders     = renameshaders;
 }
Esempio n. 4
0
 public TagContainerInjector(ICacheFile cacheFile, TagContainer container)
 {
     _cacheFile             = cacheFile;
     _languageCache         = new CachedLanguagePackLoader(cacheFile.Languages);
     _container             = container;
     _keepSound             = false;
     _injectRaw             = false;
     _findExistingPages     = false;
     _renameShaders         = false;
     _dupeReuseSoundGestalt = false;
     _dupeReuseRawPages     = false;
 }
Esempio n. 5
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="DataBlockBuilder" /> class.
        /// </summary>
        /// <param name="reader">The stream to read from.</param>
        /// <param name="tag">The tag to load data blocks for.</param>
        /// <param name="cacheFile">The cache file.</param>
        /// <param name="buildInfo">The build info for the cache file.</param>
        public DataBlockBuilder(IReader reader, ITag tag, ICacheFile cacheFile, EngineDescription buildInfo)
        {
            _reader         = reader;
            _tag            = tag;
            _cacheFile      = cacheFile;
            _languageCache  = new CachedLanguagePackLoader(_cacheFile.Languages);
            _tagRefLayout   = buildInfo.Layouts.GetLayout("tag reference");
            _tagBlockLayout = buildInfo.Layouts.GetLayout("tag block");
            _dataRefLayout  = buildInfo.Layouts.GetLayout("data reference");

            DataBlocks          = new List <DataBlock>();
            ReferencedTags      = new HashSet <DatumIndex>();
            ReferencedResources = new HashSet <DatumIndex>();
        }
Esempio n. 6
0
        /// <summary>
        /// Constructor for use with duplication
        /// </summary>
        public TagContainerInjector(ICacheFile cacheFile, TagContainer container, EngineDescription buildInfo, bool dupeSoundGestalt)
        {
            _cacheFile             = cacheFile;
            _languageCache         = new CachedLanguagePackLoader(cacheFile.Languages);
            _container             = container;
            _keepSound             = true;
            _injectRaw             = false;
            _findExistingPages     = true;
            _renameShaders         = false;
            _dupeReuseRawPages     = !buildInfo.UsesRawHashes;
            _dupeReuseSoundGestalt = !dupeSoundGestalt;

            if (buildInfo.Layouts.HasLayout("sound"))
            {
                _soundLayout = buildInfo.Layouts.GetLayout("sound");
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Constructor for use with injection
        /// </summary>
        public TagContainerInjector(ICacheFile cacheFile, TagContainer container, EngineDescription buildInfo, bool keepsnd, bool injectraw, bool findexisting, bool renameshaders)
        {
            _cacheFile             = cacheFile;
            _languageCache         = new CachedLanguagePackLoader(cacheFile.Languages);
            _container             = container;
            _keepSound             = keepsnd;
            _injectRaw             = injectraw;
            _findExistingPages     = findexisting;
            _renameShaders         = renameshaders;
            _dupeReuseSoundGestalt = false;
            _dupeReuseRawPages     = false;

            if (buildInfo.Layouts.HasLayout("sound"))
            {
                _soundLayout = buildInfo.Layouts.GetLayout("sound");
            }
        }
Esempio n. 8
0
 public TagContainerInjector(ICacheFile cacheFile, TagContainer container)
 {
     _cacheFile     = cacheFile;
     _languageCache = new CachedLanguagePackLoader(cacheFile.Languages);
     _container     = container;
 }