public static bool HMembers_ExportContent(Household.Members _this, ResKeyTable resKeyTable, ObjectIdTable objIdTable, IPropertyStreamWriter writer) { if (_this == null) { throw new NullReferenceException(); } // writer.WriteInt32(3921240069u, _this.Count); oerew = false; uint num = 0u; foreach (SimDescription allSimDescription in _this.AllSimDescriptionList) { if (string.IsNullOrEmpty(allSimDescription.mFirstName) && string.IsNullOrEmpty(allSimDescription.mLastName)) { continue; } if (!Nra.NFinalizeDeath.SD_OutfitsIsValid2(allSimDescription, true)) { continue; } var allCreatedSim = allSimDescription.CreatedSim; if (allCreatedSim != null) { if (allCreatedSim.ObjectId.mValue == 0 || !Nra.NFinalizeDeath.GameObjectIsValid(allCreatedSim.ObjectId.mValue) || allCreatedSim.mSimDescription != allSimDescription) { allSimDescription.mSim = null; } } try // fix { bool needFix = false; if (allSimDescription.mTraitManager == null) { allSimDescription.mTraitManager = new TraitManager(); allSimDescription.mTraitManager.mSimDescription = allSimDescription; needFix = true; } if (allSimDescription.SkillManager == null) { allSimDescription.SkillManager = new Sims3.Gameplay.Skills.SkillManager(allSimDescription); allSimDescription.SkillManager.mSimDescription = allSimDescription; needFix = true; } if (allSimDescription.mGenealogy == null) { allSimDescription.mGenealogy = new Genealogy(allSimDescription); allSimDescription.mGenealogy.mSim = allSimDescription; needFix = true; } if (allSimDescription.CareerManager == null) { allSimDescription.CareerManager = new Sims3.Gameplay.Careers.CareerManager(allSimDescription); allSimDescription.CareerManager.mSimDescription = allSimDescription; needFix = true; } if (allSimDescription.VisaManager == null) { allSimDescription.VisaManager = new Sims3.Gameplay.Visa.VisaManager(allSimDescription); needFix = true; } else { allSimDescription.VisaManager.mSimDescription = allSimDescription; } if (allSimDescription.CelebrityManager == null) { allSimDescription.CelebrityManager = new Sims3.Gameplay.CelebritySystem.CelebrityManager(allSimDescription.SimDescriptionId); needFix = true; } if (needFix) { allSimDescription.Fixup(); } if (needFix && allSimDescription.CelebrityManager == null) { allSimDescription.Fixup(); } if (allSimDescription.CelebrityManager == null) { if (Nra.NFinalizeDeath.IsOpenDGSInstalled) { break; } if (!oerew) { Nra.NFinalizeDeath.AssertX(false, "allSimDescription.CelebrityManager == null\nST:\n" + Nra.NDebugger.GetCurrentStackLite()); oerew = true; } if (!NiecMod.Nra.BimDesc.DoneECMK) { continue; } } } catch (Exception) { //allSimDescription.Dispose(); //continue; check game crash } uint keyData = num++; IPropertyStreamWriter writerChild = writer.CreateChild(keyData); // custom 14:49 12/10/2019 try { if (allSimDescription.ExportContent(resKeyTable, objIdTable, writerChild)) { writer.CommitChild(); } else { writer.CancelChild(keyData); } } catch (StackOverflowException) { throw; } catch (ResetException) { throw; } catch (Exception) { writer.CancelChild(keyData); } } writer.WriteInt32(3921240069u, (int)num); return(true); }