userDaniel Pcancel

2,011 Commits over 488 Days - 0.17cph!

4 Months Ago
Update: refactor server occlusion job to take out grid definition Prep for adding a batch version Tests: on craggy in editor with 2 players, ran behind the hill and got despawned
4 Months Ago
Update: refactor occlusion loop to be friendly for batching Need to simplify BasePlayer.OcclusionLineOfSight before I can start working on batched job Tests: none, no functional changes for now
4 Months Ago
UPdate: move serverocclusion caching logic a level higher Goal is to get rid of OcclusionPlayerFound/Lost in the query, so this is first baby step Tests: none, trivial change
4 Months Ago
Update: Don't step players that have been kicked by antihack Tests: none, trivial change
4 Months Ago
Bugfix: avoid scripting API when sending EventRecords from RunAnalyticsJob task - EventRecord.New now can be created on worker threads Tests: hacked code to enable analytics in editor, then ran around on craggy
4 Months Ago
Bugfix: avoid scripting API in EACServer.LogPlayerTick - cache more of player state on main thread Tests: hacked code to run EAC in editor and activated player tasks - no more exceptions
4 Months Ago
Update: add "Server.UsePlayerTasks" feature switch - also submitting updated ResetStaticFields Tests: turned it on and off in the editor and validated in profiler
4 Months Ago
Update: experimenting with offloading tick analytics for players to worker thread In editor delays are pretty small, should win us 0.7ms on 200pop server, but tasks library is al-locating cosntantly - still investigating alternatives. Tests: ran around in editor on craggy, checked profiler
4 Months Ago
Clean: dead variable Tests: none, trivial change
4 Months Ago
Clean: fix code formatting Tests: none, trivial change
4 Months Ago
Merge: from benchmarking_update - Log results after single scene run - Fix extra timers in results - Fix scene load exception for no longer existing effects benchmark Tests: ran benchmarks in editor
4 Months Ago
Update: different approach to skipping persistent BenchmarkTimers Old way didn't work because of pauses between benchmark runs (global systems would step and recreate them). Tests: ran in editor, confirmed output didn't contain specific timers
4 Months Ago
Update: log results when running benchmarks in single scene mode Tests: checked logs after running the scene
4 Months Ago
Clean: remove EFfectsBenchmark from the list I've removed it in the past, but apparantly forgot to remove it from this list as well Tests: none, trivial change
4 Months Ago
Update: BaseRaidBench - clean up custom timers from tracking Otherwise they end up in results with their generic names Tests: none, trivial change
4 Months Ago
Merge: from main
4 Months Ago
Merge: from camerarenderer_leak - Fixes memory leaks related to Rust+'s camera renderer and Nexus mugshot savings Tests: print_arraypool when connected to turret - before ProtocolParser 16KB set would grow, now stays constant
4 Months Ago
Bugfix: properly recycle mugshot data pooled array on nexus servers Tests: none, same type of change as previous
4 Months Ago
Bugfix: properly recycle pooled array for camerarenderer Tests: connected to a turret, printed array pool - before ProtocolParser 16KB pool would grow, now stays constant
4 Months Ago
Update: rewrite print_arraypool to support multiple array pool output - also added logic to take into account T size Useful to validate we're not leeking across pools Tests: used in editor, both text and json options
5 Months Ago
Merge: from benchmarking_update - Cleanup of obsolete EffectsBenchmark - Editor-only DemoBuildingsViewer supports user modification of scene, scene export and import into scene - Bugfix for infinite load loop in benchmarking flow Tests: used the DemoBuildingsViewer to modify and export couple bases, built standalone client to run BaseRaidBench
5 Months Ago
Merge: from main
5 Months Ago
Bugfix: fix infinite loading loop when running benchmarks Caused by us hiding the loading screen and then loading monument scenes, which would leave them in limbo Tests: ran the benchmark flow in editor and standalone client
5 Months Ago
Clean: DemoBuildingsViewer - complete remaining TODOs - moved all InvalidBuildingId to Benchmark.Building - consolidated some of Benchmark.Building's initialization logic - fixed wrong comment Tests: compiles in editor
5 Months Ago
Merge: from main
5 Months Ago
Update: DemoBuildingsViewer - support exporting user placed building blocks Requires them to have the BuildingBlockMetadata component Tests: exported base with an extra wall, checked json - had expected values
5 Months Ago
Update: DemoBuildingsViewer - import handles domain reload events to avoid duplication Tests: loaded a base from demo, triggered domain reload, deleted a wall, reimported - only wall came back
5 Months Ago
Update: DemoBuildingsViewer - can now export scene - BuildingBlockMetadata now caches ParentEntityId and PrefabId This enables the workflow of manually modifying bases in editor before export Tests: diffed the Export merged and Export scene outputs (mostly the same, different sorting and slightly differeing floats by tiny epsilon), imported base from export scene - it's the same
5 Months Ago
Update: DemoBuildingsViewer - annotate spawned building blocks with metadata - Also fixed building marker deduplication only spawning 1 marker Allows to implement export of a scene (with manual edits), rather than demo protobuf. Tests: used the tool, gizmos confirmed link up with building markers
5 Months Ago
Bugfix: DemoBuildingsViewer - don't spawn extra building markers on import Tests: used the tool
5 Months Ago
Update: DemoBuildingsViewer - add debug toggle to spawn from source protobuf Helps validating that everything is spawning correctly Tests: used the tool in editor
5 Months Ago
Update: DemoBuildingsViewer - use processed protobufs, instead of raw demo protobufs, for scene spawning - Benchmark.Building no longer caches raw protobufs This standardizes logic between benchmarks and the viewer tool. Tests: opened a couple bases from a demo
5 Months Ago
Update: DemoBuildingsViewer - can now recreate entities that have been deleted Tests: spawned a base, deleted a bunch of walls, reimported - all back to normal
5 Months Ago
Bugfix: DemoBuilidngsViewer - ensure first building block instances have skin applied to them - caused by invalid stability triggering early skin change, instead of deferring it till after we preprocess skins Tests: imported base, looked the same as in demo
5 Months Ago
Update: DemoBuildingsViewer - support reimport of building blocks from base json Takes us closer to being able to edit bases and export. Spotted it failing to create a correct wall (even though other same prefabs are okay). Tests: used the tool
5 Months Ago
Bugfix: DemoBuildingsViewer - tag imported spawn markers to allow export Tests: ran the tool
5 Months Ago
Update: DemoBuildingViewer - add ability to import markers from previously exported base - spawn markers now visualize if their override is invalid Makes it possible to do incremental fixups via the editor Tests: used the tool in editor
5 Months Ago
Clean: mark BiomeBenchmark as enabled for build It doesn't have an effect on the build as far as I can see, but makes it clearer to readers that it is included in the build Tests: none, trivial change
5 Months Ago
Clean: remove EffectsBenchmark Superseded by BaseRaidBenchmark Tests: editor compiles
5 Months Ago
Merge: from main
5 Months Ago
Update: BaseRaidBench - ensure results use 3-part format for key Tests: none, trivial change
5 Months Ago
New: Scenes/Benchmark editor top bar menu Tests: used all in editor - correct scenes opened
5 Months Ago
Merge: from main Tests: ran BaseRaidBenchmark via bootstrap flow
5 Months Ago
Update: BaseRaidBench - players outside base now aim at random players in base Tests: ran the scene
5 Months Ago
Update: BaseRaidBench - remove Projectile.Batched override Now that it's on by default, we no longer need this override. also makes it easier to control the benchmark externally Tests: ran the scene
5 Months Ago
Update: BaseRaidBench - players moved to the base angle properly to fire Tests: ran the scenario
5 Months Ago
Bugfix: BaseRaidBench - local player now rotates properly Tests: ran the scene
5 Months Ago
Bugfix: BaseRaidBench - local player now spawns on the spawn marker Looks in the wrong direction - will fix next Tests: ran the scene
5 Months Ago
Update: BaseRaidBench - add a run that spawns base and players in it under attack - Removed baseRaid5 and baseRaid25 Local player spawns/teleports to the wrong position - will fix next. Tests: ran the scene locally
5 Months Ago
Update: DemoBuildingsViewer - always visualize spawn markers Simplifies scene setup Tests: used in editor