public ThirdGenGlobal(StructureValueCollection values, ExpressionTable allExpressions) { Name = values.GetString("name"); Type = (short)values.GetNumber("type"); DatumIndex valueIndex = new DatumIndex(values.GetNumber("expression index")); if (valueIndex.IsValid) Value = allExpressions.FindExpression(valueIndex); }
private void Load(StructureValueCollection values) { _addrConverter = LoadAddressConverter(values); _indexConverter = LoadIndexOffsetConverter(values); _stringOffsetConverter = LoadHeaderOffsetConverter(values); FileSize = values.GetNumber("file size"); IndexHeaderLocation = new Pointer(values.GetNumber("index header address"), _addrConverter); MetaSize = values.GetNumber("virtual size"); Type = (CacheFileType)values.GetNumber("type"); StringIDCount = (int)values.GetNumber("string table count"); StringIDTableSize = (int)values.GetNumber("string table size"); StringIDIndexTableLocation = new Pointer(values.GetNumber("string index table offset"), _stringOffsetConverter); StringIDDataLocation = new Pointer(values.GetNumber("string table offset"), _stringOffsetConverter); InternalName = values.GetString("internal name"); ScenarioName = values.GetString("scenario name"); FileNameCount = (int)values.GetNumber("file table count"); FileNameDataLocation = new Pointer(values.GetNumber("file table offset"), _stringOffsetConverter); FileNameTableSize = (int)values.GetNumber("file table size"); FileNameIndexTableLocation = new Pointer(values.GetNumber("file index table offset"), _stringOffsetConverter); XDKVersion = (int)values.GetNumber("xdk version"); Partitions = LoadPartitions(values.GetArray("partitions")); LocaleDataLocation = new Pointer(values.GetNumberOrDefault("locale data index offset", (uint)HeaderSize), _indexConverter); LocaleDataSize = (int)values.GetNumberOrDefault("locale data size", 0); }
private void Load(StructureValueCollection values) { Name = values.GetString("name"); Type = (short)values.GetNumber("type"); }