userDaniel Pcancel

2,836 Commits over 700 Days - 0.17cph!

4 Hours Ago
Clean(editor): get rid of if bypass for drawing LightOccludee gizmos
4 Hours Ago
Optim: LightOccludee - use a smaller occlusion sphere for spotlights with angle < 120deg - updated editor gizmo vizualization to run without starting (still needs sticky gizmos) Tests: booted on appt, went to roof and looked up, penthouse appt lights were culled. Ran around - everything looked okay, no popin
6 Hours Ago
Update(editor): change window title label for MotionVectorsChecker Tests: none, trivial change
Today
New(editor): MotionVectorsChecker - categorizes all renderers by motion vector mode Can be found at "Tools/Find/List Motion Vector generators" Tests: looked at appt monument - almost everything has per-object mode
Today
New(editor): CulledMeshesChecker - finds all meshes without some sort of culling setup Can be found in "Tools/Find/Meshes without Occlusion setups". Tests: ran the tool on appt monument, found ~360 issues
Today
New(editor): CulledLightsChecker, reports lights that don't have a culling setup Inspired by ShadowProxyChecker. Can be found in Tools/Find/Lights without Occlusion setups. Tests: Used it to inspect the appt scene
Yesterday
Merge: from unity_frame_dump - New(editor): frame debugger dump utility(https://github.com/sputnicyoji/unity-frame-dump) to help analyze what is rendered Tests: used it to dump out a couple passes
Yesterday
Update(editor): move the exporter to Window/Analysis We've got too much in Tools Tests: editor compiles
Yesterday
New(editor): import and change https://github.com/sputnicyoji/unity-frame-dump - Changed full export to run on the provided user range - added stop full export that still emits the resulting json instead of aborting - Added license Tests: exported a frame from standalone client
2 Days Ago
Buildfix: expose NetworkPosTickCallback setter Tests: none, trivial change
2 Days Ago
Merge: from cargoship_bot_replication_fix - Buildfix: expose setter for NetworkPosTickCallback Tests: editor compiles
2 Days Ago
Merge: from cargoship_bot_replication_fix - Bugfix: fix bots/sleepers disappearing from cargoship Tests: spawned cargoship event, spawned bot, followed them for a couple mins - no houdini
2 Days Ago
Bugfix: ensure netgroup of sleepers/bots is updated when parented to a moving global entity Tests: spawned cargo ship, spawned a bot and moved through net grid for a minute - bot didn't disappear
2 Days Ago
Merge: from dropspectators_nre_fix - Bugfix: fix for NRE that happens when multiple spectators watch a player being banned Tests: 2 players spectated 3rd, banned them - no NRE
2 Days Ago
Bugfix: use reverse traversal avoid NRE caused by iterator invalidation when dropping spectators Tests: 2p spectated 3rd, banned them - no more NRE
5 Days Ago
Merge: from alloc_clean_july2026 - Optim: avoid ~15 separate allocations related to scheduling/cancelling invokes Tests: none, trivial changes
5 Days Ago
Merge: from main
5 Days Ago
Optim: cache FogMachine invokes - StartFogging, EnableFogFieldCB, DisableNozzleCB, FinishFoggingCB There were invoked in StartFogging, which can oscilate with power. Tests: none, trivial changes
5 Days Ago
Optim: skip BeeSwarmMaster.StartDie call if already dying Saves on ActuallyDie invoke and allocation Tests: none, trivial change
5 Days Ago
Optim: avoid repeated invoke scheduling in BeeSwarmAI - SetOnFire gets skipped if bees are already on fire (saves StartDie scheduling) - StartDie gets skipped if bees are already dying (saves Egress scheduling) Tests: none, trivial changes
5 Days Ago
Bugfix: fix caching of DiveSiteBuoy.updateAction Tests: checked IL
5 Days Ago
Optim: cache Sprinkler.DoSplash invoke Tests: none, trivial change
5 Days Ago
Optim: cache HBHFSensor.UpdatePassthroughAmount invoke Tests: none, trivial change
5 Days Ago
Optim: cache ElectricBattery.TickUsage invoke Tests: none, trivial change
5 Days Ago
Optim: cache ElectricBattery.AddCharge invoke Tests: none, trivial change
5 Days Ago
Optim: cache CoalingTower.CheckWagonLinedUp invoke Tests: none, trivial change
5 Days Ago
Optim: Cache StrobeLight.SelfDamage invoke Tests: none, trivial change
5 Days Ago
Optim: cache SamSite.WeaponTick invoke Tests: none, trivial change
6 Days Ago
Merge: from fullserverdemo_removal - Clean: Remove FullServerDemo implementation (RustRelay will take us to the promised land) Tests: compiles, recorded client and server demos and was able to play them back
6 Days Ago
Merge: from main
6 Days Ago
Clean: get rid of Network.ServerInfo Was added for FullServerDemo support, no longer needed Tests: compiles
6 Days Ago
Clean(editor): rip out DemoSever framework It could technically emulate server state from client demos, but required too much compromising, so not worth it. Tests: compiles
6 Days Ago
Clean: delete Demos folder from Facepunch.Network Tests: compiles
6 Days Ago
Clean: delete full-server-demo convars Tests: compiles
6 Days Ago
Clean: remove IServerCallback save request support Keeping the core functionality on SaveRestore Tests: compiles
6 Days Ago
Clean: remove FullServerDemos.cs Tests: compiles
6 Days Ago
Clean: remove BaseNetwork.SupportsServerDemos Tests: compiles
6 Days Ago
Clean: remove demo.full_server_demo - rip out a bunch of stuff related to it, including transient entity serialization - remove MessageType.DemoDisconnect and DemoTransientEntities (no need for protocol change) Tests: compiles
6 Days Ago
Clean(editor): remove ServerDemoPlayer Tests: compiles
6 Days Ago
Clean: remove AntiHackDemoProcessor - drive by deprecated API fixup Starting process of removing full server demos Tests: compiles
6 Days Ago
Resave TimeManager Tests: nothing specific, but have been running with this changed for a couple days
6 Days Ago
Merge: from waterlevel_deepsea_sample_fix - Bugfix for water level queries incorrectly mixing deep sea and overworld states - Bugfix for deep sea ocean sim using overworld heightmap - Simplified TerrainHeightMap API Tests: ran unit tests, booted into craggy, explored deep sea and swam around
6 Days Ago
Bugfix: avoid NRE when ocean sim is not initialized and we don't need it Tests: booted into craggy
6 Days Ago
Merge: from main
6 Days Ago
Clean: simplifyy WaterSystemBurst.GetHeightArray_Burst Tests: none, trivial changes
6 Days Ago
Clean: minor adjustments to WaterLevel.GetWaterLevels impl - use FillJobIndirect instead of FillJob when waves are not needed - get rid of namespace qualifier Tests: ran unit tests
6 Days Ago
Bugfix: OceanSimulation.GetHeightAttenuation - handle positions in deep sea Tests: WaterLevel unit tests pass
6 Days Ago
Bugfix: Rewrite WaterLevel.GetWaterLevel to properly take in deep sea state Tests: ran unit tests, water level consistency tests fail due to bug on OceanSimulation side, serial path, will fix next
6 Days Ago
Update: TerrainHeightMap.GetQueryStructure now takes in a flag for deep sea data - got rid of bespoke height and normal sampling from HeightMapQueryStructure - bugfix: buoyancy - WaterSystemBurst.GetHeightArray_Burst now samples relevant heightfields instead of assuming deepsea heightfield is a single const Last duplicate is gone, yay. Can finally look at fixing WaterLevel.GetWaterLevel and other spots Tests: booted into craggy, generated deepsea and teleported to it - swam around, went to the islands, went to scientist tugboats
7 Days Ago
Clean: rip out TerrainHeightMap.GetHeightsFastIndirect GetHeightsIndirect is similarly fast(~10%) and consistent at borders with GetHeight Tests: ran water level tests (but they're falsely passing)