1. Added new prepatch `TryFindBestBetterStorageForPatch`
2. Rebuilt for realse so that changes take effect
`TryFindBestBetterStoreCellForPatch` had been deciding which item should be removed from `listerHaulables`, which improves performance.
But it had been checking `SlotGroup`s only.
Patching `TryFindBestBetterStorageForPatch` to cancel the removal if the best storage is non-cell could solve the issue of grave/armor rack etc. not working.
Tried several things. Nothing broke, and it solved said problem.
1. Added new prepatch `TryFindBestBetterStorageForPatch`
2. Moved `TryRemoveFromListerHaulables` from `TryFindBestBetterStoreCellFor` to the new prepatch
3. Rebuilt for release so that changes take effect
`TryFindBestBetterStoreCellForPatch` had been deciding which item should be removed from `listerHaulables`, which improves performance.
But it had been checking `SlotGroup`s only.
Patching `TryFindBestBetterStorageForPatch` and checking both Cell and NonCell achieves the same thing, and could solve the issue of grave/armor rack etc. not working.
Tried several things. Nothing broke, and it solved said problem.
1. Added new prepatch `TryFindBestBetterStorageForPatch`
2. Moved `TryRemoveFromListerHaulables` from `TryFindBestBetterStoreCellFor` to the new prepatch
3. Rebuilt for realse so that changes take effect
`TryFindBestBetterStoreCellForPatch` had been deciding which item should be removed from `listerHaulables`, which improves performance.
But it had been checking `SlotGroup`s only.
Patching `TryFindBestBetterStorageForPatch` and checking both Cell and NonCell achieves the same thing, and could solve the issue of grave/armor rack etc. not working.
Tried several things. Nothing broke, and it solved said problem.
Fixing an infinite loop caused by unchecked cache invalidation.
Sometime when you link shelves, a storageGroup in cache will not null, but with no SpawnedMember.
If unchecked, it will cause groupsOfPriorityCount to decrease by -1, which is a infinite loop.
This fix will FixCache when a group have no member.
Those log messages now include things and the position where drawing fails
Plant printing was slightly improved further too, correctly handling theoretical hydroponics of sizes above 20 now
- 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
Added RitualObligationTriggers analyzer category,
Fixed defs from other mods with broken market value breaking fish's storage patches,
Fixed storage caches not updating for quality, rotting and similar changes to stored things,
Fixed storage caches not updating capacity when reinstalling storage,
Fixed prison labor compatibility,
Improved multiplayer compatibility,
Fixed ideology style dominance and altar sharing patches throwing errors instead of defaulting to disabled when not having ideology,
Fixed compatibility with RIMMSqol's world pawn GC patch by disabling that patch,
Fixed rare threading issues throwing errors on startup
This also adds an experimental, usually slower, threaded gas grid mode and implements a workaround for the whole mod and game failing to start when opening prepatcher's mod manager with unfortunate timing
To start, this mod now requires Prepatcher and Fishery.
New optimizations include: gene ticking improvements, world object improvements, hediff optimizations, world pawn gc optimizations, better mothballing, dds support, ContentFinder caching, additions and changes to reflection caching, as well as various other additions. Multiplayer support has been improved too, but should be considered highly experimental. The WorkGiver_DoBill bug is fixed in this build. Multiple patches aiming to improve RimWorld's load time have been added too.