134,932 Commits over 4,293 Days - 1.31cph!

Today
more window paintable work
Today
Clean: GetOccludees => OcclusionGroup getter Tests: server compiles
Today
Clean: OcclusionGroups - define bespoke ServerOcclusion.Group - updated code references Tests: all modes compile in editor
Today
Clean: OcclusionGroup - lower core of logic from BasePlayer to BaseNetworkable - also move cached subscribers cleanup to BasePlayer.OnServerDestroy - split off server occlusion logic into it's own BaseNetworkable potion Tests: all platforms compile in editor
Today
set lightup frames to use standarddecalwithtwo shader again
Today
tweaked free sockets on goldframe medium and small so they are deployable on space building skin
Today
Bugfix: ServerOcclusion - clean up external references when BaseNetworkable is destoyed Dobbie's free, this is the last bug I could theorycraft. There's a small window before occlusion would update and unsubscribe where a teleport then destroy could leave a dangling set of references, but this doesn't happen because of unnecessary SetParent being called when BaseEntity is destroyed on the server(but this should be fixed separately) Tests: not testable
stay_close_death_fix -> main
Fix issues preventing boats from reaquiring a target that they already have which was stopping them getting into 'stay close' mode
Today
fixed artist canvas gibs missing material, fixed artist canvas medium not linked to correct paintable, fixed broken deploy guide on ornate medium frame, fixed lods on paintable reactive target all displaying, fixed easel top mesh render warnings, and rendered easel icon
- Ensure target is cleared on ai death - Fix Exit state being used in the wrong places, leaving AI without a state at all
Today
Death screen now switches back to the mainland if the deep sea closes for any reason
Today
Don't spawn map markers at all if they aren't in the appropriate mainland/deep sea area
Today
Merge from main
Today
Update: OcclusionGroup - tracked down another false-positive error - left a comment explaining why check was removed Whena player reconnects and reclaims a sleeper with a player in proximity, the eventual network group subscription will try to append to the occlusion group that already contains the reconnected player. Tests: reconnected with a player in vicinity
Today
Bugfix: ServerOcclusion - clean up occlusion group refs when retiring groups Fixes false-positive error logs Tests: 2p, 2nd player disconnects while 1st player is in vicinity - afterwards first player walks out then back into to original network cell
boatai_better_patrol -> main
Today
window paintable initial setup , gibs, lods etc
Today
Update: Update: OcclusionGroups - each members tracks which group refers to it Needed for an upcomign bugfix in OnDestroy and helps detect issues Tests: 2p on Craggy - tested players close, flying far away, teleporting, disconnect-reconnect - logged an extra problem to address
Today
Clean: refactored out OcclusionOnDestroy, as it was getitng messy - also added a null check to avoid pooling issues Tests: none, trivial changes
Today
Actually renamed it to Bear Skin Rug this time
Today
Bugfix: OcclusionGroups - ensure sleepers are tracked when player transitions to a different occlusiongroup This is an edge case when being in subscription range of a sleeper - sleeper's group would contain it and player, but player's group would have sleeper missing Tests: moved around in the vicinity of sleeper, checked internal state
Today
Fixed muzzle brake not unlocking via HV pistol ammo in tech tree
Today
Bugfix: OcclusionGroups - fix NRE when moving out of group with a sleeper - replaced with a IsVisibleFromFar check - also reworked teleportation logic via IsVisibleFromFar, as that's more correct - also IsVisibleFrom range check was wrong, so fixed that Previous code relied on subscriber to check if move-out-of-bounds occurred, but sleepers don't have a subscriber, so it NREed Tests: moved away from a cell with a sleeper, checked internal state
Today
Update: NetworkVisibilityGrid gains IsVisibleFromNear/Far(Group from, Group to) - expose via provider interface Needed for occlusion groups case of moving sleepers (as I can't rely on subscriber check) Tests: testted as part of followup bugfix
Today
Minor cleanups * Makes CBaseAnimating::m_OverrideViewTarget private Fixed potential crash issue with look door Jalopy no longer spawns trigger_vehicle_cargo at all times * Instead, spawn the entity only when asked to, i.e. `CargoVisible` key value is set before Entity.Spawn is called (maps), or SetCargoHopperVisibility input is used on the car. This input can now also be used to properly disable the functionality by doing `SetCargoHopperVisibility 0` * This means that Sandbox Jalopy no longer uses 2 edicts, and will not be able to hold a magnusson device in the invisible holder (unless explicitly enabled beforehand) Added ReleaseBusterFromCargo input to Jalopy Remove "Ember type" from env_embers in Hammer (did nothing) Make env_embers compile with parenting support * So basically there's this stupid system of "if a brush entity doesn't have "origin" keyvalue at map compile time, the brush model bounds will be in world space". env_embers did not use it and therefore was incompatible with parenting. We now make this entity use that system (like all entities should really be doing to be honest) and try to detect the difference in code for old maps and new maps, and apply the entity's position to the particles if we detect the map as "newly compiled with support for parenting" for this entity FGD: Add auto generated values of func_breakable_surf * So they do not appear as broken in Hammer, and provide explanation as to what they do.
Today
merge from artist_pack_dlc
Today
paintable reactive target setup and script
Today
Debugging
Today
update all ornate frames with label code
Today
Light up Picture frames - added lods to xl and xxl versions, swapped material to new standard shader, fixed paintable area UVs
Fix the values so they can orbit smoothly
Today
Merge: from main
Today
Bugfix: OcclusionGroups - eagerly clean up occlusion group when teleporting - consolidated occlusion-group leaving logic Caught the bastard - due to over-time nature of subscription updating, there was a window in which the player could teleport and disconnect, leading to a leak of occlusion group and a null participant. Tests: on client, teleport2marker;kill, then separatelly disconnect; then on server run OcclusionValidateGroupson - all's gud
Fix some minor bugs with the new orbit state. Still needs some more work
Today
Updating skinning for paintball overalls
Today
- Updated worldmodel (scaled up to match existing asset, removed internals from LOD3 & re-positioned to be central to the world) - Updated world rig with updated model - Updated bounds in .worldmodel & .entity - Re-cached textures in .viewmodel (material updates broke this connection)
Yesterday
paintable reactive target rig/anims exported and setup in prefab. Also world model animator controller created
Yesterday
merge from artist_pack_dlc
Yesterday
Fix npcZone OOB translation being wrong when parented to a ghostship
Yesterday
Add hack to not check if underwater if parented to a ghostship
Yesterday
Instead of removing the shadow mask mode completely from the UI, it's now only disabled to ensure it doesn't break graphics presets
Yesterday
Adjust npc zones on ghostships to prevent samples lying exactly on zone boundary
Yesterday
- First pass on fixing ghostship npc zones - Allow rotating and moving zones - Allow destroying zones - When samping in a donut around the unit, use navmesh space instead of world space (fixes sampling wrong ghostship floors) - Fix search origin being corrupted - Fix lastChosenHidingSpot never being set
Yesterday
Extra debugging Simplify the state Increase radius
Yesterday
New Orbit state. Used when protecting Oilrig and intecepting a ghost ship when the a crate is hacked: - AI boats will move towards the target - Reach a specific point then begin patroling around the target - Try and maintain group cohesion
Yesterday
merge from main
Yesterday
mirror 05 model and collision
Yesterday
boatai_avoid_trigger_fix -> main
Yesterday
Save for debugging