コード例 #1
0
 public ThirdGenLanguageGlobals(ThirdGenCacheFile cacheFile, StructureValueCollection values, IndexOffsetConverter converter, BuildInformation buildInfo)
 {
     _cacheFile = cacheFile;
     _converter = converter;
     _languages = LoadLanguages(values, converter, buildInfo);
     _alignment = buildInfo.LocaleAlignment;
 }
コード例 #2
0
 public ThirdGenLanguage(ThirdGenLanguageGlobals languageGlobals, StructureValueCollection values, IndexOffsetConverter converter, BuildInformation buildInfo)
 {
     _languageGlobals = languageGlobals;
     _pointerLayout = buildInfo.GetLayout("locale index table entry");
     _encryptionKey = buildInfo.LocaleKey;
     _symbols = buildInfo.LocaleSymbols;
     _converter = converter;
     _pageSize = buildInfo.LocaleAlignment;
     Load(values, converter);
 }
コード例 #3
0
        private List<ThirdGenLanguage> LoadLanguages(StructureValueCollection values, IndexOffsetConverter converter, BuildInformation buildInfo)
        {
            StructureValueCollection[] languageSet = values.GetArray("languages");

            var result = from language in languageSet
                         select new ThirdGenLanguage(this, language, converter, buildInfo);
            return result.ToList<ThirdGenLanguage>();
        }
コード例 #4
0
        private void Load(StructureValueCollection values, IndexOffsetConverter converter)
        {
            StringCount = (int)values.GetNumber("string count");
            LocaleTableSize = (int)values.GetNumber("locale table size");
            LocaleIndexTableLocation = new Pointer(values.GetNumber("locale index table offset"), converter);
            LocaleDataLocation = new Pointer(values.GetNumber("locale data index offset"), converter);

            // H3 beta doesn't have hashes
            if (values.HasRaw("index table hash"))
                IndexTableHash = values.GetRaw("index table hash");
            if (values.HasRaw("string data hash"))
                StringDataHash = values.GetRaw("string data hash");
        }