public ProjectCompiler() { SoundCache = new RawCache(); ModelCache = new RawCache(); SbspCache = new RawCache(); LtmpCache = new RawCache(); DECRCache = new RawCache(); WeatherCache = new RawCache(); AnimationCache = new RawCache(); BitmapCache = new RawCache(); TagnameCache = new TagnameCache(); IndexCache = new IndexCache(); MetaCache = new MetaCache(); SbspLtmpMetaCache = new StructureMetaCache(); EnglishUnicodeCache = new UnicodeCache(); StringIDsCache = new StringsCache(); valueCache = new Cache<Value>(10000); pointerCache = new Cache<Pointer>(50000); rawCache = new Cache<ResourceReference>(10000); }
public void CacheData(CompilerTag tag, StringsCache cache) { int index = Values.Count; CacheData(tag); int count = Values.Count; for (int i = index; i < count; i++) { string str = tag.Strings[Values[i].StringId]; Values[i].StringId = new StringId((short)cache.Values.IndexOf(str), (sbyte)Encoding.UTF8.GetByteCount(str)); } }