public void PopulatePetJournal() { Logger.Write("Populating pet journal..."); using (StyxWoW.Memory.AcquireFrame()) { try { _petLua.SetFilterAllCollectedPets(); _ownedPetsList = LoadFromJournal(); Logger.Write("Owned pets journal count: " + _ownedPetsList.Count); // TODO: leave sort order as is? //_ownedPetsList.Sort(delegate(Pet p1, Pet p2) { return p1.Name.CompareTo(p2.Name); }); _ownedPetsList.Sort(delegate(Pet p1, Pet p2) { return(p1.Level - p2.Level); }); _favouritePetsList = new List <Pet>(); foreach (Pet pet in _ownedPetsList) // TODO: Select ToList { if (pet.IsFav) { Pet pf = new Pet(pet); _favouritePetsList.Add(pf); } } Logger.Write("Favourite pets journal count: " + _favouritePetsList.Count); if (_pluginProperties.Mode != eMode.Capture) // TODO: what's wrong with capture { WritePetsByLevel(); } } catch { Logger.Write("Journal init query fail!!! "); try { int PetCount = _petLua.GetNumPets(); int PetsOwned = _petLua.GetNumPetsOwned(); Logger.Write("Query too large?? " + PetsOwned + "," + PetCount); } catch { Logger.Write("simple C_PetJournal.GetNumPets function failed. Try in WoW: \n/run local numPets, numOwned = C_PetJournal.GetNumPets(false); print('Journal: pet count:' .. tostring(numOwned) .. ' total:' .. tostring(numPets));"); } } } }