33,183 Commits over 4,109 Days - 0.34cph!
Fixed specular not driving packed map size
Packed some larger materials
Added packed version of standard-specular shader
Fixed packing getting flat specular when scaled up
Keywords permutation parity between metallic and specular shaders
Fixed shader packed map labels
Packed all materials depending on terrain4 textures
Packed a few rock and prop materials + recycler
Added terrain atlas generator ability to load non-read/write textures
Switched all terrain4 textures to non-read/write
Merged from ai branch to main
If ai_dormant is on, only tick metabolism simulation on agents that are active.
Scientists no longer drop 1000 LR300 weapons (Temp loot table fix for Staging playability)
Merge from gc_optimizations_2
Disabled dynamic batching (experiement)
Fixed Server.DestroyNetworkable not calling Networkable.Destroy when returning networkable to pool
Fixes to avoid Material.SetPassUncached + touched all rust/std shaders
OnInventoryChanged profiling
Adjusted some memory pool sizes
Fixed metallic scale in metal_beam_b_refinery_lod (e.g. large furnace)
Eliminated GC allocs from ItemContainer.Load
Eliminated GC allocs from MaterialReplacement
Just use prefab name on the client in Entity.ToString() to avoid GC allocs
Disabled detail layer in high external stone wall
Packed high external wall LOD material
Eliminated GC allocs from BaseNetworkable.NetworkDestroy
Eliminated needless group creation when trying to destroy an empty network group on the client
Re-enabled dynamic batching (too many changes on staging this week, let's compare again next week)
Fixed case where material packer ignores maps that match perfectly
Fixed ignoring non-opaque materials for texture usage report
Packed train track and wagon material set (8 materials)
Eliminated GC allocs from MaterialColorLerp.RefreshRenderers
Eliminated GC allocs from PlantEntity.UpdateSkinParameters (called from PostNetworkUpdate)
Fixed material / memory leak from mining quarries
Removed TransformEx.FindChildren since it's super inefficient and now unused
Disabled PlanterBox, EmissionToggle, LaserBea, FlashlightBeam and VendingMachineScreen material adjustments since they were all leaking materials / memory
RenderInfo debug tool no longer duplicates materials when called
Optimized MaterialColorLerp
Tweaked EntityLink default capacity
Added packed version of rust/std-terrainblend
Packed rock _cliffs_atlas and road_ground_layer (dependencies)
Added keyword for biome mask texture + added to mats using it + updated shaders
Split some rock occlusion from diffuse (terrainblend now uses separate) + updated mats
Enabled biome tint on lowest high external lod (no mask)
Updated multiple descriptions
Phrases
Eliminated GC allocs from BaseEntity.UpdateParenting
Removed AttachToBone (unused, inefficient)
Viewmodel attachments use Model.FindBone instead of Transform.FindChildRecursive (more efficient since cached)
Reduced or eliminated GC allocations from Transform.FindChildRecursive (only used by UI)