/// <summary> /// Initialize the StringIdManager for this cache and load the dynamic id values /// </summary> /// <remarks>If this cache doesn't support string ids, this does nothing</remarks> protected void StringIdManagerInitializeAndRead() { // HACK: // TODO: We can't decrypt these yet! if (engineVersion == BlamVersion.HaloReach_Xbox) { return; } var sid_header = Header as ICacheHeaderStringId; if (sid_header == null) { return; // This cache doesn't use string_ids, do nothing } var gd = Program.GetManager(engineVersion); (gd as Managers.IStringIdController).StringIdCacheOpen(engineVersion); var static_collection = gd[engineVersion].GetResource <Managers.StringIdStaticCollection>(Managers.BlamDefinition.ResourceStringIds); StringIds = new Managers.StringIdManager(static_collection); using (var indices = GetStringIdsIndicesBuffer(sid_header)) using (var buffer = GetStringIdsBuffer(sid_header)) { StringIds.FromDebugStream(indices, buffer, true, sid_header.StringIdsCount, true); } StringIds.IsReadOnly = true; }
void StringTableInitialize() { var gd = Program.GetManager(engine); (gd as Managers.IStringIdController).StringIdCacheOpen(engine); var static_collection = gd[engine].GetResource <Managers.StringIdStaticCollection>(Managers.BlamDefinition.ResourceStringIds); stringIdManager = new Managers.StringIdManager(static_collection); }
void StringTableDispose() { if (stringIdManager != null) { stringIdManager = null; var gd = Program.GetManager(engine); (gd as Managers.IStringIdController).StringIdCacheClose(engine); } }
void StringIdManagerDispose() { if (StringIds != null) { StringIds = null; var gd = Program.GetManager(engineVersion); (gd as Managers.IStringIdController).StringIdCacheClose(engineVersion); } }
static void TestNewStringIdManagerResources(string r_path, string r_name) { var sid_sc = new Managers.StringIdStaticCollection(); sid_sc.Load(r_path, r_name); var sm2 = new Managers.StringIdManager(sid_sc); sm2.Definition.ToString(); sm2 = null; }
static void TestNewStringIdManagerResources(string r_path, string r_name) { var sid_sc = new Managers.StringIdStaticCollection(); sid_sc.Load(r_path, r_name); var sm2 = new Managers.StringIdManager(sid_sc); sm2.Definition.ToString(); sm2 = null; }