d34bc77869
- mod icon - fixes for new vanilla clipping issues - GenClosest optimization improving repairing, wardening, tending jobs - caching for new ListerBuildings methods - DynamicDrawManager single threading - Type.GetFields caching - StatParts analyzer category - removed duplicate steam warning and optionally window - added exception handling for debug menu, incidentworker, Graphic_Multi, InitializeComps, making all those now log what mod broke and not cause black screens or whatever
248 lines
7.7 KiB
XML
248 lines
7.7 KiB
XML
<Analyzer>
|
|
|
|
<PerformanceFish>
|
|
<!-- Settings, Tick, Update, GUI or Modder. Defaults to Modder -->
|
|
<!--Category>Modder</Category-->
|
|
|
|
<!-- On hover tooltip for the sidebar entry -->
|
|
<Tooltip>Methods patched and optimized by Performance Fish. Use this in conjunction with its mod settings to measure performance improvements or find eventual issues if a patch acts up</Tooltip>
|
|
|
|
<!-- All methods in types -->
|
|
<!--Types>
|
|
<li></li>
|
|
</Types-->
|
|
|
|
<!-- Specific methods -->
|
|
<Methods>
|
|
<!-- DesignationManager -->
|
|
<li>Verse.DesignationManager:SpawnedDesignationsOfDef</li>
|
|
<li>Verse.DesignationManager:AnySpawnedDesignationOfDef</li>
|
|
<li>Verse.DesignationManager:AllDesignationsOn</li>
|
|
<li>Verse.DesignationManager:DesignationOn</li>
|
|
<li>Verse.DesignationManager:HasMapDesignationOn</li>
|
|
|
|
<!-- Misc -->
|
|
<!--li>Verse.GenList:ListFullCopy</li--><!-- generic -->
|
|
<li>Verse.ThingFilter:CopyAllowancesFrom</li>
|
|
<li>Verse.DrawBatch:Flush</li>
|
|
|
|
<!-- HediffComp_PsychicHarmonizer -->
|
|
<li>RimWorld.HediffComp_PsychicHarmonizer:CompPostTick</li>
|
|
|
|
<!-- HediffSet -->
|
|
<li>Verse.HediffSet:HasHediff</li>
|
|
|
|
<!-- Lister -->
|
|
<li>Verse.Map:MapPreTick</li>
|
|
<li>Verse.ListerBuildings:ColonistsHaveBuilding</li>
|
|
<li>Verse.ListerBuildings:ColonistsHaveResearchBench</li>
|
|
<li>Verse.ListerBuildings:ColonistsHaveBuildingWithPowerOn</li>
|
|
<li>Verse.ListerBuildings:AllBuildingsColonistOfDef</li>
|
|
<li>Verse.ListerBuildings:AllBuildingsNonColonistOfDef</li>
|
|
|
|
<!-- StorageSettings -->
|
|
<li>RimWorld.StorageSettings:AllowedToAccept</li>
|
|
|
|
<!-- MassUtility -->
|
|
<li>RimWorld.MassUtility:GearMass</li>
|
|
<li>RimWorld.MassUtility:InventoryMass</li>
|
|
|
|
<!-- RecipeDef -->
|
|
<li>Verse.RecipeDef:get_AllRecipeUsers</li>
|
|
<li>Verse.UnfinishedThing:BillOnTableForMe</li>
|
|
|
|
<!-- Room -->
|
|
<!-- Verse.Room:get_ContainedBeds and Verse.Room:get_Owners are almost exclusively used by Pawn_Ownership.get_OwnedRoom -->
|
|
<li>RimWorld.Pawn_Ownership:get_OwnedRoom</li>
|
|
<li>Verse.Room:get_Regions</li>
|
|
<li>Verse.Room:get_ContainedAndAdjacentThings</li>
|
|
|
|
<!-- StoreUtility -->
|
|
|
|
<!-- ThingFilter -->
|
|
<li>Verse.ThingFilter:get_AllowedThingDefs</li>
|
|
<li>Verse.ThingFilter:get_AllStorableThingDefs</li>
|
|
|
|
<!-- ThingOwnerUtility -->
|
|
<!--li>Verse.ThingOwnerUtility.GetAllThingsRecursively</li--><!-- generic -->
|
|
<li>Verse.MapPawns:get_AllPawnsUnspawned</li>
|
|
|
|
<!-- ThoughtWorker_Precept_AltarSharing -->
|
|
<li>RimWorld.ThoughtWorker_Precept_AltarSharing:ShouldHaveThought</li>
|
|
|
|
<!-- GenClosest -->
|
|
|
|
<!-- Utility -->
|
|
|
|
<!-- WorkGiver_DoBill -->
|
|
<!--li>RimWorld.WorkGiver_DoBill:TryFindBestIngredientsHelper</li-->
|
|
<!--li>RimWorld.WorkGiver_DoBill+<>c__DisplayClass21_0:<TryFindBestIngredientsHelper>b__4</li-->
|
|
|
|
<!-- WorkGiver_Haul -->
|
|
<!--li>RimWorld.WorkGiver_Haul:PotentialWorkThingsGlobal</li-->
|
|
<li>PerformanceFish.JobSystem.WorkGiver_HaulOptimization+PotentialWorkThingsGlobal_Patch:Sort</li>
|
|
<li>RimWorld.WorkGiver_Haul:JobOnThing</li>
|
|
|
|
<!-- JobGiver_Haul -->
|
|
<li>RimWorld.JobGiver_Haul:TryGiveJob</li>
|
|
|
|
<!-- IdeoUtility -->
|
|
<li>RimWorld.IdeoUtility:GetStyleDominance</li>
|
|
|
|
<!-- ThingCompPatches -->
|
|
<li>RimWorld.CompAssignableToPawn_Bed:IdeoligionForbids</li>
|
|
|
|
<!-- Reflection -->
|
|
<li>System.RuntimeType:GetField</li>
|
|
<li>System.Type:GetMethod</li>
|
|
<li>System.Type:GetConstructor</li>
|
|
<li>System.Type:GetProperty</li>
|
|
<li>System.Reflection.MonoField:GetValue</li>
|
|
<li>System.Reflection.FieldInfo:SetValue</li>
|
|
<li>System.Reflection.MethodBase:Invoke</li>
|
|
</Methods>
|
|
|
|
<!-- Specific methods of all subclasses -->
|
|
<!--DerivedMethods>
|
|
<li></li>
|
|
</DerivedMethods-->
|
|
|
|
<!-- All methods of subclasses -->
|
|
<!--DerivedTypes>
|
|
<li></li>
|
|
</DerivedTypes-->
|
|
|
|
<!-- All methods of types nested within specified types -->
|
|
<!--NestedTypes>
|
|
<li></li>
|
|
</NestedTypes-->
|
|
</PerformanceFish>
|
|
|
|
<Abilities>
|
|
<Tooltip>Ticking methods of abilities. Cooldown, effects, combat</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.Ability:AbilityTick</li>
|
|
<li MayRequire="OskarPotocki.VanillaFactionsExpanded.Core">VFECore.Abilities.Ability:Tick</li>
|
|
</DerivedMethods>
|
|
</Abilities>
|
|
|
|
<AbilityComps>
|
|
<Tooltip>Comps attached to abilities</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.AbilityComp:CompTick</li>
|
|
</DerivedMethods>
|
|
</AbilityComps>
|
|
|
|
<Genes>
|
|
<Tooltip>Ticking methods of genes. Often empty when not having any ticking genes</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li MayRequire="Ludeon.RimWorld.Biotech">Verse.Gene:Tick</li>
|
|
</DerivedMethods>
|
|
</Genes>
|
|
|
|
<HediffComps>
|
|
<Tooltip>Comps attached to Hediffs. Often responsible for the actual logic</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>Verse.HediffComp:CompPostTick</li>
|
|
</DerivedMethods>
|
|
</HediffComps>
|
|
|
|
<Hediffs>
|
|
<Tooltip>Ticking health stuff ond other things implanted in pawn bodies</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>Verse.Hediff:Tick</li>
|
|
<li>Verse.Hediff:PostTick</li>
|
|
</DerivedMethods>
|
|
</Hediffs>
|
|
|
|
<MentalStates>
|
|
<Tooltip>Tick methods of mental states like berserk, tantrum etc</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>Verse.AI.MentalState:MentalStateTick</li>
|
|
</DerivedMethods>
|
|
</MentalStates>
|
|
|
|
<Precepts>
|
|
<Tooltip>Ticking methods of precepts. Ideology stuff.</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li MayRequire="Ludeon.RimWorld.Ideology">RimWorld.Precept:Tick</li>
|
|
</DerivedMethods>
|
|
</Precepts>
|
|
|
|
<RitualObligationTriggers>
|
|
<Tooltip>Tick methods ideology ritual triggers. Can scale quite badly when having a lot of precepts loaded</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.RitualObligationTrigger:Tick</li>
|
|
</DerivedMethods>
|
|
</RitualObligationTriggers>
|
|
|
|
<StatParts>
|
|
<Tooltip>TransformValue methods of StatParts. These run on every stat lookup, when not cached</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.StatPart:TransformValue</li>
|
|
</DerivedMethods>
|
|
</StatParts>
|
|
|
|
<ThingCompTick>
|
|
<Tooltip>Tick methods of comps attached to Things. Any ThingWithComps can have these, and any mod can add new ones</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>Verse.ThingComp:CompTick</li>
|
|
<li>Verse.ThingComp:CompTickRare</li>
|
|
<li>Verse.ThingComp:CompTickLong</li>
|
|
</DerivedMethods>
|
|
</ThingCompTick>
|
|
|
|
<WorldComponentTick>
|
|
<Tooltip>Tick methods of comps with one instance attached to the game world</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.Planet.WorldComponent:WorldComponentTick</li>
|
|
</DerivedMethods>
|
|
</WorldComponentTick>
|
|
|
|
<WorldObjectComps>
|
|
<Tooltip>Comps attached to settlements, caravans etc</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.Planet.WorldObjectComp:CompTick</li>
|
|
</DerivedMethods>
|
|
</WorldObjectComps>
|
|
|
|
<WorldObjects>
|
|
<Tooltip>Settlements, caravans etc</Tooltip>
|
|
<Category>Tick</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.Planet.WorldObject:Tick</li>
|
|
</DerivedMethods>
|
|
</WorldObjects>
|
|
|
|
<ThingCompUpdate>
|
|
<Tooltip>Update methods of comps attached to Things. Any ThingWithComps can have these, and any mod can add new ones</Tooltip>
|
|
<Category>Update</Category>
|
|
<DerivedMethods>
|
|
<li>Verse.ThingComp:DrawGUIOverlay</li>
|
|
<li>Verse.ThingComp:PostDraw</li>
|
|
<li>Verse.ThingComp:PostDrawExtraSelectionOverlays</li>
|
|
<li>Verse.ThingComp:PostPrintOnto</li>
|
|
</DerivedMethods>
|
|
</ThingCompUpdate>
|
|
|
|
<WorldComponentUpdate>
|
|
<Tooltip>Update methods of comps with one instance attached to the game world</Tooltip>
|
|
<Category>Update</Category>
|
|
<DerivedMethods>
|
|
<li>RimWorld.Planet.WorldComponent:WorldComponentUpdate</li>
|
|
</DerivedMethods>
|
|
</WorldComponentUpdate>
|
|
|
|
</Analyzer> |