public void InitializeArchives(object Sender, EventArgs e)
{
// TODO: Allow this to be configured.
try
{
Archivist.debug += "\nAttempting to make a new ResourceManager";
manager = new ALFA.ResourceManager(null);
LoadModuleProperties();
Archivist.debug += "\nAttempting to open the default talk table";
dialog = new OEIShared.IO.TalkTable.TalkTable();
dialog.Open(OEIShared.Utils.BWLanguages.BWLanguage.English);
Archivist.debug += "\nAttempting to open the custom talk table";
if (!String.IsNullOrEmpty(customTlkFileName))
{
customTlk = new OEIShared.IO.TalkTable.TalkTable();
customTlk.OpenCustom(OEIShared.Utils.BWLanguages.BWLanguage.English, customTlkFileName);
}
tlkLoaded = true;
Archivist.debug += "\nInitializing ALFA.Shared collections";
ALFA.Shared.Modules.InfoStore.ModuleItems = new Dictionary<string, ALFA.Shared.ItemResource>();
ALFA.Shared.Modules.InfoStore.ModuleCreatures = new Dictionary<string, ALFA.Shared.CreatureResource>();
ALFA.Shared.Modules.InfoStore.ModulePlaceables = new Dictionary<string, ALFA.Shared.PlaceableResource>();
ALFA.Shared.Modules.InfoStore.ModuleWaypoints = new Dictionary<string, ALFA.Shared.WaypointResource>();
ALFA.Shared.Modules.InfoStore.ModuleFactions = new Dictionary<int, ALFA.Shared.Faction>();
ALFA.Shared.Modules.InfoStore.ModuleVisualEffects = new Dictionary<string, ALFA.Shared.VisualEffectResource>();
ALFA.Shared.Modules.InfoStore.ModuleLights = new Dictionary<string, ALFA.Shared.LightResource>();
ALFA.Shared.Modules.InfoStore.ModuleTraps = new Dictionary<string, ALFA.Shared.TrapResource>();
ALFA.Shared.Modules.InfoStore.SpawnedTrapTriggers = new Dictionary<string, ALFA.Shared.ActiveTrap>();
ALFA.Shared.Modules.InfoStore.SpawnedTrapDetect = new Dictionary<string, ALFA.Shared.ActiveTrap>();
ALFA.Shared.Modules.InfoStore.ModifiedGff = new Dictionary<string, GFFFile>();
ALFA.Shared.Modules.InfoStore.AreaNames = new Dictionary<string,string>();
Archivist.debug += "\nInitializing standard factions";
List<int> factionIndex = new List<int>();
factionIndex.Add(0); // Player
factionIndex.Add(1); // Hostile
factionIndex.Add(2); // Commoner
factionIndex.Add(3); // Merchant
factionIndex.Add(4); // Defender
// The damage-doing traps from the original campaign, converted to
// our purposes.
Archivist.debug += "\nAdding standard traps";
AddStandardTraps();
#region Caching Information about All Items
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTI))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleItems.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
// If we have competing resources, we expect that GetResourcesByType will give us the
// resource of greatest priority first. Therefore, redundant entries of a given resref
// are trash.
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
ALFA.Shared.ItemResource addingItem = new ALFA.Shared.ItemResource();
addingItem.ResourceName = resource.FullName.Split('.')[0].ToLower();
try
{
addingItem.LocalizedName = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString().Split('"')[1];
}
catch
{
addingItem.LocalizedName = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString();
}
if (addingItem.LocalizedName == "")
{
addingItem.LocalizedName = GetTlkEntry(currentGFF.TopLevelStruct["LocalizedName"].ValueCExoLocString.StringRef);
}
// Might be a talk table reference. Let's see...
if (addingItem.LocalizedName.Contains('{') && addingItem.LocalizedName.Contains('}'))
{
string attemptingName = GffStoreToTlk(addingItem.LocalizedName);
if (attemptingName != "") addingItem.LocalizedName = attemptingName;
}
addingItem.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingItem.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
addingItem.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
int Cost, CostModify, BaseItem;
bool Cursed = false, Plot = false, Stolen = false;
Int32.TryParse(currentGFF.TopLevelStruct["Cost"].Value.ToString(), out Cost);
Int32.TryParse(currentGFF.TopLevelStruct["ModifyCost"].Value.ToString(), out CostModify);
Int32.TryParse(currentGFF.TopLevelStruct["BaseItem"].Value.ToString(), out BaseItem);
if (currentGFF.TopLevelStruct["Cursed"].Value.ToString() == "1") Cursed = true;
if (currentGFF.TopLevelStruct["Plot"].Value.ToString() == "1") Plot = true;
if (currentGFF.TopLevelStruct["Stolen"].Value.ToString() == "1") Stolen = true;
addingItem.Cost = Cost + CostModify;
addingItem.BaseItem = BaseItem;
addingItem.Cursed = Cursed;
addingItem.Plot = Plot;
addingItem.Stolen = Stolen;
addingItem.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModuleItems.Add(addingItem.ResourceName, addingItem);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Caching Information about All Creatures
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTC))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleCreatures.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
ALFA.Shared.CreatureResource addingCreature = new ALFA.Shared.CreatureResource();
addingCreature.ResourceName = resource.FullName.Split('.')[0].ToLower();
try
{
addingCreature.FirstName = currentGFF.TopLevelStruct["FirstName"].Value.ToString().Split('"')[1];
}
catch
{
addingCreature.FirstName = currentGFF.TopLevelStruct["FirstName"].Value.ToString();
}
if (addingCreature.FirstName == "")
{
addingCreature.FirstName = GetTlkEntry(currentGFF.TopLevelStruct["FirstName"].ValueCExoLocString.StringRef);
}
try
{
addingCreature.LastName = currentGFF.TopLevelStruct["LastName"].Value.ToString().Split('"')[1];
}
catch
{
addingCreature.LastName = currentGFF.TopLevelStruct["LastName"].Value.ToString();
}
if (addingCreature.LastName == "")
{
addingCreature.LastName = GetTlkEntry(currentGFF.TopLevelStruct["LastName"].ValueCExoLocString.StringRef);
}
addingCreature.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingCreature.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
addingCreature.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
if (currentGFF.TopLevelStruct["IsImmortal"].Value.ToString() == "0")
addingCreature.IsImmortal = false;
else
addingCreature.IsImmortal = true;
float calculatedCR = 0.0f;
if (float.TryParse(currentGFF.TopLevelStruct["ChallengeRating"].Value.ToString(), out calculatedCR))
{
addingCreature.ChallengeRating = calculatedCR;
}
int faction;
if (Int32.TryParse(currentGFF.TopLevelStruct["FactionID"].Value.ToString(), out faction))
{
addingCreature.FactionID = faction;
if (!factionIndex.Contains(faction)) factionIndex.Add(faction);
}
int LawChaos;
if (Int32.TryParse(currentGFF.TopLevelStruct["LawfulChaotic"].Value.ToString(), out LawChaos))
{
addingCreature.LawfulChaotic = LawChaos;
}
int GoodEvil;
if (Int32.TryParse(currentGFF.TopLevelStruct["GoodEvil"].Value.ToString(), out GoodEvil))
{
addingCreature.GoodEvil = GoodEvil;
}
string AlignSummary;
if (GoodEvil < 31) AlignSummary = "E";
else if (GoodEvil < 70) AlignSummary = "N";
else AlignSummary = "G";
if (LawChaos < 31) AlignSummary = "C" + AlignSummary;
else if (LawChaos < 70 && AlignSummary == "N") AlignSummary = "TN";
else if (LawChaos < 70) AlignSummary = "N" + AlignSummary;
else AlignSummary = "L" + AlignSummary;
addingCreature.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModuleCreatures.Add(addingCreature.ResourceName, addingCreature);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Caching Information about All Placeables
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTP))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleCreatures.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
ALFA.Shared.PlaceableResource addingPlaceable = new ALFA.Shared.PlaceableResource();
addingPlaceable.ResourceName = resource.FullName.Split('.')[0].ToLower();
try
{
addingPlaceable.Name = currentGFF.TopLevelStruct["LocName"].Value.ToString().Split('"')[1];
}
catch
{
addingPlaceable.Name = currentGFF.TopLevelStruct["LocName"].Value.ToString();
}
if (addingPlaceable.Name == "")
{
addingPlaceable.Name = GetTlkEntry(currentGFF.TopLevelStruct["LocName"].ValueCExoLocString.StringRef);
}
addingPlaceable.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingPlaceable.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
addingPlaceable.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
addingPlaceable.Useable = currentGFF.TopLevelStruct["Useable"].Value.ToString() != "0";
addingPlaceable.HasInventory = currentGFF.TopLevelStruct["HasInventory"].ValueByte != 0;
addingPlaceable.Trapped = currentGFF.TopLevelStruct["TrapFlag"].ValueByte != 0;
addingPlaceable.Locked = currentGFF.TopLevelStruct["Locked"].ValueByte != 0;
addingPlaceable.TrapDetectDC = currentGFF.TopLevelStruct["TrapDetectDC"].ValueInt;
addingPlaceable.TrapDisarmDC = currentGFF.TopLevelStruct["DisarmDC"].ValueInt;
addingPlaceable.LockDC = currentGFF.TopLevelStruct["OpenLockDC"].ValueInt;
addingPlaceable.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModulePlaceables.Add(addingPlaceable.ResourceName, addingPlaceable);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Caching Information about Factions
factionIndex.Sort();
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResFAC))
{
try
{
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
int count = 0;
foreach (GFFStruct field in currentGFF.TopLevelStruct["FactionList"].ValueList.StructList)
{
ALFA.Shared.Faction addingFaction = new ALFA.Shared.Faction();
addingFaction.Name = field.GetFieldSafe("FactionName").Value.ToString();
ALFA.Shared.Modules.InfoStore.ModuleFactions.Add(factionIndex[count], addingFaction);
count++;
}
// If there are multiple .FAC resources, we only care about the one that gets priority.
if (ALFA.Shared.Modules.InfoStore.ModuleFactions.Count > 0) break;
}
catch { }
}
#endregion
#region Caching Information about Waypoints
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTW))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleWaypoints.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
GFFStructCollection variables = currentGFF.TopLevelStruct["VarTable"].ValueList.StructList;
if (variables.Count > 0)
{
bool nonWaypoint = false;
// Waypoints can be a lot of things. Let's see if we can figure anything out about this one.
foreach (GFFStruct var in variables)
{
if (var["Name"].Value.ToString() == "ACR_TRAP_TRIGGER_AREA")
{
// This is a trap. We should process as one.
ParseTrapWaypoint(currentGFF, currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString());
nonWaypoint = true;
break;
}
}
if (nonWaypoint)
{
continue;
}
}
ALFA.Shared.WaypointResource addingWaypoint = new ALFA.Shared.WaypointResource();
addingWaypoint.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
addingWaypoint.ResourceName = resource.FullName.Split('.')[0].ToLower();
try
{
addingWaypoint.Name = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString().Split('"')[1];
}
catch
{
addingWaypoint.Name = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString();
}
if (addingWaypoint.Name == "")
{
addingWaypoint.Name = GetTlkEntry(currentGFF.TopLevelStruct["LocalizedName"].ValueCExoLocString.StringRef);
}
addingWaypoint.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingWaypoint.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
addingWaypoint.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModuleWaypoints.Add(addingWaypoint.ResourceName, addingWaypoint);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Caching Information about Visual Effects
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUPE))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleCreatures.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
ALFA.Shared.VisualEffectResource addingVisual = new ALFA.Shared.VisualEffectResource();
addingVisual.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
addingVisual.ResourceName = resource.FullName.Split('.')[0].ToLower();
try
{
addingVisual.Name = currentGFF.TopLevelStruct["LocName"].Value.ToString().Split('"')[1];
}
catch
{
addingVisual.Name = currentGFF.TopLevelStruct["LocName"].Value.ToString();
}
if (addingVisual.Name == "")
{
addingVisual.Name = GetTlkEntry(currentGFF.TopLevelStruct["LocName"].ValueCExoLocString.StringRef);
}
addingVisual.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingVisual.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
addingVisual.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModuleVisualEffects.Add(addingVisual.ResourceName, addingVisual);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Caching Information about Lights
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResULT))
{
try
{
if (ALFA.Shared.Modules.InfoStore.ModuleCreatures.Keys.Contains(resource.FullName.Split('.')[0].ToLower()))
{
continue;
}
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
ALFA.Shared.LightResource addingLight = new ALFA.Shared.LightResource();
addingLight.ResourceName = resource.FullName.Split('.')[0].ToLower();
addingLight.TemplateResRef = currentGFF.TopLevelStruct["TemplateResRef"].Value.ToString();
try
{
addingLight.Name = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString().Split('"')[1];
}
catch
{
addingLight.Name = currentGFF.TopLevelStruct["LocalizedName"].Value.ToString();
}
if (addingLight.Name == "")
{
addingLight.Name = GetTlkEntry(currentGFF.TopLevelStruct["LocalizedName"].ValueCExoLocString.StringRef);
}
addingLight.Classification = ParseClassification(currentGFF.TopLevelStruct["Classification"].Value.ToString());
addingLight.Tag = currentGFF.TopLevelStruct["Tag"].Value.ToString();
addingLight.LightRange = currentGFF.TopLevelStruct["Range"].ValueFloat;
addingLight.LightIntensity = currentGFF.TopLevelStruct["Light"].ValueStruct["Intensity"].ValueFloat;
addingLight.ShadowIntensity = currentGFF.TopLevelStruct["ShadowIntensity"].ValueFloat * 100;
addingLight.ConfigureDisplayName();
ALFA.Shared.Modules.InfoStore.ModuleLights.Add(addingLight.ResourceName, addingLight);
}
catch
{
Archivist.debug += String.Format("\n {0}", resource.FullName);
}
}
#endregion
#region Gathering Information from 2da Files
try
{
OEIShared.IO.TwoDA.TwoDAFile twoda = manager.OpenTwoDAResource(manager.GetResource("spells", ALFA.ResourceManager.Res2DA).ResRef.Value, ALFA.ResourceManager.Res2DA);
ALFA.Shared.Modules.InfoStore.CoreSpells = new List<ALFA.Shared.Spell>(twoda.RowCount);
var ColumnFields = ALFA.Shared.TwoDAReader.GetColumnFieldInfo(typeof(ALFA.Shared.Spell));
for (int row = 0; row < twoda.RowCount; row++)
{
ALFA.Shared.Spell spell = ALFA.Shared.TwoDAReader.Read2DARow<ALFA.Shared.Spell>(twoda, row, ColumnFields);
int parseholder = 0;
if (spell.Name == null)
spell.Name = twoda["Label"][row];
if (spell.Name == "" ||
spell.Name == "padding" ||
spell.Name == "PADDING" ||
spell.Name == "PADDING_PERSONAL_VFX")
{
// This line is padding.
ALFA.Shared.Modules.InfoStore.CoreSpells.Add(null);
continue;
}
spell.SubSpells = new List<int>();
if (int.TryParse(twoda["SubRadSpell1"][row], out parseholder))
spell.SubSpells.Add(parseholder);
if (int.TryParse(twoda["SubRadSpell2"][row], out parseholder))
spell.SubSpells.Add(parseholder);
if (int.TryParse(twoda["SubRadSpell3"][row], out parseholder))
spell.SubSpells.Add(parseholder);
if (int.TryParse(twoda["SubRadSpell4"][row], out parseholder))
spell.SubSpells.Add(parseholder);
if (int.TryParse(twoda["SubRadSpell5"][row], out parseholder))
spell.SubSpells.Add(parseholder);
spell.CounterSpells = new List<int>();
if (int.TryParse(twoda["Counter1"][row], out parseholder))
spell.CounterSpells.Add(parseholder);
if (int.TryParse(twoda["Counter2"][row], out parseholder))
spell.CounterSpells.Add(parseholder);
ALFA.Shared.Modules.InfoStore.CoreSpells.Add(spell);
}
}
catch (Exception ex)
{
Archivist.debug += "\n spells.2da error: " + ex.Message + "\n" + ex.StackTrace;
}
try
{
OEIShared.IO.TwoDA.TwoDAFile twoda = manager.OpenTwoDAResource(manager.GetResource("iprp_spells", ALFA.ResourceManager.Res2DA).ResRef.Value, ALFA.ResourceManager.Res2DA);
ALFA.Shared.Modules.InfoStore.IPCastSpells = new List<ALFA.Shared.SpellCastItemProperties>(twoda.RowCount);
var ColumnFields = ALFA.Shared.TwoDAReader.GetColumnFieldInfo(typeof(ALFA.Shared.SpellCastItemProperties));
for (int row = 0; row < twoda.RowCount; row++)
{
ALFA.Shared.SpellCastItemProperties ip = ALFA.Shared.TwoDAReader.Read2DARow<ALFA.Shared.SpellCastItemProperties>(twoda, row, ColumnFields);
int parseholder = 0;
if (ip.Name == null)
ip.Name = twoda["Label"][row];
if (ip.Name == "" ||
ip.Name == "padding" ||
ip.Name == "PADDING" ||
ip.Name == "PADDING_PERSONAL_VFX")
{
// This line is padding.
ALFA.Shared.Modules.InfoStore.IPCastSpells.Add(null);
continue;
}
if (int.TryParse(twoda["SpellIndex"][row], out parseholder))
{
if (parseholder < ALFA.Shared.Modules.InfoStore.CoreSpells.Count &&
ALFA.Shared.Modules.InfoStore.CoreSpells[parseholder] != null)
{
ip.Spell = ALFA.Shared.Modules.InfoStore.CoreSpells[parseholder];
}
else
{
Archivist.debug += "\niprp_spells.2da : could not find a spell with index " + parseholder.ToString();
ALFA.Shared.Modules.InfoStore.IPCastSpells.Add(null);
continue;
}
}
else
{
Archivist.debug += "\niprp_spells.2da : could not parse the spell index of " + row.ToString();
ALFA.Shared.Modules.InfoStore.IPCastSpells.Add(null);
continue;
}
ALFA.Shared.Modules.InfoStore.IPCastSpells.Add(ip);
}
}
catch (Exception ex)
{
Archivist.debug += "\n iprp_spells.2da error: " + ex.Message;
}
try
{
OEIShared.IO.TwoDA.TwoDAFile twoda = manager.OpenTwoDAResource(manager.GetResource("baseitems", ALFA.ResourceManager.Res2DA).ResRef.Value, ALFA.ResourceManager.Res2DA);
ALFA.Shared.Modules.InfoStore.BaseItems = new List<ALFA.Shared.BaseItem>(twoda.RowCount);
var ColumnFields = ALFA.Shared.TwoDAReader.GetColumnFieldInfo(typeof(ALFA.Shared.BaseItem));
for (int row = 0; row < twoda.RowCount; row++)
{
ALFA.Shared.BaseItem item = ALFA.Shared.TwoDAReader.Read2DARow<ALFA.Shared.BaseItem>(twoda, row, ColumnFields);
if (item.Name == null)
item.Name = twoda["label"][row];
if (item.Name == "" ||
item.Name == "padding" ||
item.Name == "PADDING" ||
item.Name == "DELETED" ||
item.Name == "PADDING_PERSONAL_VFX")
{
// This line is padding.
ALFA.Shared.Modules.InfoStore.BaseItems.Add(null);
continue;
}
ALFA.Shared.Modules.InfoStore.BaseItems.Add(item);
}
}
catch (Exception ex)
{
Archivist.debug += "\n baseitems.2da error: " + ex.Message;
}
#endregion
#region Gathering Information from Module.ifo
foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResIFO))
{
try
{
GFFFile currentGFF = manager.OpenGffResource(resource.ResRef.Value, resource.ResourceType);
int count = currentGFF.TopLevelStruct["Mod_Area_list"].ValueList.StructList.Count;
for (int c = 0; c < count; c++)
{
try
{
string areaResRef = currentGFF.TopLevelStruct["Mod_Area_list"].ValueList[c]["Area_Name"].ValueCExoString.ToString();
debug += areaResRef;
GFFFile currentArea = manager.OpenGffResource(areaResRef, ALFA.ResourceManager.ResARE);
ALFA.Shared.Modules.InfoStore.AreaNames.Add(areaResRef, currentArea.TopLevelStruct["Name"].ValueCExoLocString.ToString().Trim().Trim(',').Trim('\"'));
}
catch { }
}
if (currentGFF != null) break;
}
catch { }
}
#endregion
#region Commented-Out Resource Types
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResARE))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResBBX))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResBIC))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResBMP))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResBMU))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResCAM))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResDDS))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResDFT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResDLG))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResDWK))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResFAC))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResFXA))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResGFF))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResGIC))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResGIT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResGR2))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResGUI))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResINI))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResINVALID))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResITP))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResJPG))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResJRL))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResLTR))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResMDB))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResMDL))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResNCS))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResNDB))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResNSS))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPFB))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPFX))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPLT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPTM))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPTT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPWC))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResPWK))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResSEF))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResSET))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResSPT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResSSF))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTGA))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTRn))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTRN))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTRx))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTRX))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTXI))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResTXT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUEN))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUPE))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUSC))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTD))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTE))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTM))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTR))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTS))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResUTT))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResWAV))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResWLK))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResWOK))
//{ }
//foreach (ResourceEntry resource in manager.GetResourcesByType(ALFA.ResourceManager.ResXML))
//{ }
#endregion
}
catch (Exception ex)
{
debug += ex;
}
ACR_Candlekeep.ArchivesInstance.Resources = manager;
ACR_Candlekeep.ArchivesInstance.SetResourcesLoaded();
}