userDaniel Pcancel

2,028 Commits over 518 Days - 0.16cph!

3 Hours Ago
Bugfix: fix spawn ticks counting non-max pop as a fail, instead of requested spawn count Tests: none, trivial change
4 Hours Ago
Update: add ability to dump pngs of simulated spawning of a population Tests: used locally
Today
Update: spawn.report now also reports failed tick and how much were spawned recently on average when failing Can use this as a further estimate which population is costing us when trying to spawn full pop Tests: used in editor
Today
Update: spawn.report now outputs max attempts it can do for next tick Helps quickly spot what's the worst contributor to spawn overhead Tests: used in editor on Craggy
Yesterday
▆▅▇▍▇: █▌▋▄ ▋▊▌▊▆_▉▋▍█▊▆ - ▌▆▉▉▊▍▍▅▊▊▋▋▄ ▊█▆▊▉▉ - ▅▉▉▋▍▅ ▊▋▊ ▉▍▉ █▆ ▆▌▄▊▋▇ ▇▉▊▅▇▍▌▌▄ ▋▇ ▅█▌▉▊▆█▉█▍▅▆▊▊▅▆█▋▌█▉▌▅▅ ▉▌██▄: ▆▌▋▌, ▆▌▄▊▋▊▉ ▉▅▇▇▆▇
Yesterday
▋▌▊▋▌▊: █▆▍ ▇▌▄▄▋▌ ▅▉▌ ▊▌ ▊▍▇▆▉▆ ▄▉▇▌▇ █▊▊▅▆▋▌▇ ▉▌ ▆▅▌▊ ▋▇▊█ ▌ █▄▉▄ ▊▋▉█▅: ▉▉▌▌, ▄▍▇█▇▉▊ ▇▋█▄▄▇
Yesterday
Merge: from triggerparentdelayedexit_optim - Optim: sped up noclip check via OOB broadphase + reduced tick count + added BaseEntity caching Tests: hopped around the boat
Yesterday
Merge: from opt_triggerparent_timeslice - Optim: reduced component accesses and added support for triggerparent.ontick timeslicing Tests: jumped around the boat
Yesterday
▅▍▌▉▊: ▋▋▄▅▇ ▍▅▄█▌▆▆▊ ▆▌ █▋▇▇▌▇██▅▄▇▇▇.▊▆▆▆▋▍ ▋▍▌ ▊▋▆▌▍▅ ▌▋▌ ▍▆█▉ - █▊▉▋▆▇▇▌▄▄▊▌▇▆▊▍█▊▉▌▉▄▉▄ ▍█ ▇▉█ ▆█▄▌ ▄▌▊ ▋▄▋▇▊▄▉▋▉▄ ▉▍, ▆▋▇▇▊▉▄▇▄█ ▋▌▍ ▋▇▌▊▊▄▇▇▍▆█▌▅▆▉▉▌▉▍▌█▇▋▌.▄▇▆▄█_▉▇▇▍_█▍▊▊▄▍▄▆(▉▆▉▍██▇ █▌▆▌) ▋▄▉ ▇▊▍▉_▆▋▆▌_▇▌▄▍▋▇▌(▌▋▉▍▉▌▅ ▅.▍) ▊▌▍▉▊: ▇█▊▌▌▉ ▄ ▋▉▋▆ ▄▊▌▊ ▌█▋ ▄▊▄█▇ ▋█▊▆ █▍ ▌▇▋▊▆, ▄██▄▌▋▋▄▅▋ ▋▉▆▆▉▅ ▆▅ ▍▍▊ ▍▄▌█▆▇ - ▊▋▋ ██▇█▌▆▇▇▌▆ ▌▍ ▆▉▄ ▌█▄▌, ▌▊▅ ▌▋▉▄▇▊▊ ▊█▄ ▇█ ▇▆▅▋▇ ▇▌▌▇▋▄▋▊█▋ (▉▌▆-▋▍▄▆▊▊▌▋ ▌▊▋▆▋). ▌▉▋▆▌▋▊▊ ▉ ▍▌▌▅▊▌ ▇▍▌▄▋.
Yesterday
Update: reorder clipping entities check to fast-exit on corpses Tests: none, trivial change
Yesterday
Clean: remove duplicate IsDestroyed check It's already checked as part of ToBaseEntity and our caching Entity Tests: none, trivial change
Yesterday
Optim: TriggerParent - cache ToBaseEntity calls Best case they cost us a hash-lookup + alive checks, worst case - hierarchy traversal. We can make do with alive checks only. Tests: built a boat and rode it, put it in edit and reconstructed a foundation
Yesterday
Update: don't requiry parent exclusion trigger Tests: none, trivial change
Yesterday
Merge: from main
3 Days Ago
Merge: from invis_phantom - Bugfix: old ServerOcclusion logic could spawn a phantom player on the client for invis players Tests: on a fresh server tried to come into range of invis player - phantom no longer spawns. Validated UsePlayerUpdateJobs 0, 1, 2
3 Days Ago
▍▄▊▇▇█: ▇▊▊'▆ ▅█▌█ ▆▌▆▉▅ ▅▅▌▆▇ ▌▆ ▉▊▆█▍▄▌▉▇ ▊▊▋▋▌'▄ ▄ ▉▋▉▄▊▍ ▍▌▆▄▊ ▇▆▄▌(▇▉▅▍▊▇▆▆▄.▊▆▄▉▅▉▌▇▅▄▇█ ▋▋▉▉▊'█ ▅▌██▇▆ ▌▇▅▊▍▇▋▇▉███▌█▊), ▋▆▇ ▅▅▋▇ ▉▌▉▇▄▍ ▄▇▉▅ ▍▋▊▌ ▇▅▇ ▌▇▄ ▍▆▇ ▅▊ ▆▋█▉ ▅▆▅▉▉▋▇▄. ▉▆▌▆▅: ▍▇█▄▌▌ ▇▅▍▇ ▌▋▇▆▉█▊▋ ▅▊▋ █▌ ▋▆▄ ▄▄▄ ▌▉█ ▋▋▇▍, ▊▊█▌ ▄█▆▍▇▌▅ █▋▊▌█▊▊▇██ - ▊▌▋▌▆▄▅▌▇▍ ▊▍▉▋▄ ▇▇▉ ▇▆▍█▇▍▉ ▆█▍▄▌▅ █▍▉▍▋▊▄▋-█▄▅▍▌▉▉▆ ▍▋ ▅▇▄▄
3 Days Ago
Bugfix: ServerOcclusion - don't send out initial snapshot if other player is invisible/spectating UsePlayerUpdateJobs 0 & 1 only issue. Fallout from my invis rewrite Tests: on playground, went invis and flew away from spawn. p2 connected then flew to p1 - no more phantom. Repeated 3x. Tested UsePlayerUpdateJobs 0, 1, 2
6 Days Ago
Merge: from spectate_3p_fix - Bugfix for spectating yourself causing a client crash Tests: tried to spectate via F1 menu - no longer possible
6 Days Ago
Clean: fix formatting for PlayerInfo Tests: none, trivial change
6 Days Ago
Update: Block Spectate button in F1 Server menu when selected player is local player - updated engineui.serveradmin.playerinfo.prefab to link up the button Tests: Opened Server tab, selected self in list - button was not interactible
6 Days Ago
Bugfix: Spectating - prevent server accepting spectating yourself Tests: Used F1 Server tab to spectate myself - no crash
6 Days Ago
Merge: from spectate_3p_fix - Bugfix: fixes 3rd person spectate camera not following spectated player Tests: spectated target in 3rd person while original body was in a box - camera orbitted target as expected
6 Days Ago
Bugfix: Spectating - when in 3rd person mode, run overshoot checks relative to target entity, rather than current Used to work previously because current entity was part of parent - but since recent changes that's not the case Tests: 2p session on craggy - put spectator into the white box the started spectating. when switching to 3rd person, camera no longer stuck in box and is orbiting around target player
6 Days Ago
Merge: from jobs_noclip_mask_fix - Bugfix for UsePlayerUpdateJobs > 0 NoClip checks incorrectly using vehicle layer mask - Updated unit test to check for above case Tests: ran unit test, tried to push against modular vehicles on craggy
6 Days Ago
Bugfix: AreNoClipping - fix vehicle layer inclusion logic actually excluding the layer from the mask - Also uncommented one test that I accidentally submitted as commented Tests: ran unit tests - they now pass
6 Days Ago
Tests: TestNoClipConsistency - add vehicle detail colliders to catch inconsistency - also don't reinvent the wheel with permutation combinations, just use [Values] instead as before Tests: unit test fails (expected, will fix next)
6 Days Ago
Tests: Amend TestNoClipConsistency to generate players permutations with non-zero vehiclePauseTime alongside forceCastTime This should trigger a slightly different code path for noclip checks. Still need to generate relevant physics colliders to validate this path. Tests: ran TestNoClipConsistency
7 Days Ago
Merge: from jobs_coarsedist_crashfix - Bugfix: fixes crash when players connect to a fresh server with UsePlayerUpdateJobs > 0 Tests: local C+S with UsePlayerUpdateJobs 2 enabled from the start - no more exceptions by height and shoredist jobs
7 Days Ago
Bugfix: UsePlayerUpdateJobs - fix GatherWavesIndicesJobIndirect returning invalid count of deepsea players - Also fixed invalid index usage for acessing positions Tests: local C+S with UsePlayerUpdateJobs 2 enabled from the start - no more exceptions by height and shoredist jobs
7 Days Ago
Merge: from main - Bugfix: Removes client-side network group setting when updating parents - fixes phantom entities on cargoship and other global network entities Tests: flew around craggy, was able to pick up items, chop trees, kill animals. spawned cargoship and dropped items on it, spawned dressed player & killed him, then deleted them using console cmd - they got cleaned up as expected
7 Days Ago
Update: BaseEntity.UpdateParenting no longer tries to update network group - When client receives an entity snapshot, allow it to update the network group if it's out of sync We already get network group change messages - there's no need to try to "guess" on the client and potentially desync. Tests: flew around craggy, was able to pick up items, chop trees, kill animals. spawned cargoship and dropped items on it, spawned dressed player & killed him, then deleted them using console cmd - they got cleaned up as expected
7 Days Ago
Bugfix: Run same network-group-inheritance checks on client when recieving snapshots This resovles a scenario where dropped items/players on a cargoship/crane/etc have local net group, but client resolves global net group. Tests: Spawned cargo ship, spawned NPC, player - killed both. dropped items. flew away, destroyed them via console, flew back - they were gone
7 Days Ago
Merge: from main
7 Days Ago
Bugfix: handle spawn groups on non-baseentity gameobjects Tests: procgen 2.5k in editor
7 Days Ago
Merge: from navmeshsurface_optim - Optim: Ghostships now use a static, detached navmesh, saving us on navmesh re-integration every physics step - New scientists adapted to work with detached navmesh - In C+S editor, we now automatically exclude client-scene entities from dynamic navmesh gen Tests: spawned all ghost ships, observed scientists patrolling, dogfighting, sprinting
8 Days Ago
Clean: remove obsolete TODOs Tests: none, trivial change
8 Days Ago
Clean: remove test code that offset the baked navmesh Prepping to merge back Tests: spawned all variations of ghostship, engaged scientists - didn't spot any weirdness
8 Days Ago
Merge: from main
8 Days Ago
Bugfix: LimitedTurnNavAgent - when path following, ensure facing direction is applied in world space Previously it was done in navmesh space, causing scientists to look in the sky during dogfight Tests: observed scientists dogfighting and chasing behaviors - they either looked in direction of run or me
8 Days Ago
Bugfix: Ensure NavAgent properly initialzied when trying to spawn on a detached navmesh Tests: spawned ghost ship, AI started patrolling and running around to shoot me when spotted
8 Days Ago
Bugfix: SpawnGroup now applies entitie's world<->navmesh transformations when picking a spawn point Tests: Spawned ghostship - all NPCs spawned, but not moving (likely my other experimental code borks it)
8 Days Ago
Update: DynamicNavMesh allows to exclude specific navmesh source roots - Ghostships register to be excluded, since they have their own baked navmesh - [editor-only] Added logic to exclude all roots from the client scene This CL also has some temp ghostship debug code (offsets navmesh to validate it) Tests: in water world spawned a GhostShip and enabled AI - only backed navmesh popped into existence. AI didn't spawn - need to investigate next
9 Days Ago
Merge: from main
17 Days Ago
Merge: from hackweek_jit_explorer - Buildfix for missing type definitions Tests: built scripts in all editor modes
17 Days Ago
Buildfix: move type declarations to JITViewer Tests: compiled scripts in all editor build modes
18 Days Ago
Merge: from hackweek_jit_explorer - New(editor): Tools/Engine/Jit Viewer that allows to inspect native instruction output from JIT compiling managed methods Tests: used Jit Viewer to inspect BasePlayer::ServerUpdate. Ran perfsnapshot in C+S editor
18 Days Ago
Update: consolidate various editor tools in Tools/Engine Tools top menu still doesn't fit on my 1080p screen .-. Tests: checked the Tool menu
18 Days Ago
Update: Update ServerProfiler.Core binaries to release - built from 6737a87e Tests: perfsnapshot in editor, used jit viewer
18 Days Ago
Merge: from main
20 Days Ago
Update: apped hex prefix when emitting native method address Tests: none, trivial change