4,119 Commits over 1,127 Days - 0.15cph!
Latest compile
Postprocessing. NPCs only attack when the target is visible. Add screenshake stuff. Undead use ClosestPoint on target BBox to look towards / move towards
Added concmds to make it rain or make it clear skies. Rain will fade out when stopping
Fixed missing sound ref on melee sound evnts
Fix melee swing sound. Add emerge sound. Monsters only do 30% of their damage to structures.
Disable collisions when undead are klled
Enemies burn up in the day until they die
Added Gore class. Update anywhere that spawns gore particles to use it. Gib Undead when killed by players.
Weather can decide if it changes. Add missing taken_damage particle
Added WeatherSystem. Added RainyWeather and ClearSkies
Add EntityReference test class
Don't re-create the entire hud every fullupdate. Fix outposts duplicating on a fullupdate. Fixed legs not deleting on a fullupdate.
Yoink enemy emerge particle effect (thanks Lou x)
Latest gun sounds
Latest weapons + sound files
Add TimeSystem.IsTimeBetween and resolve issues with raise from ground (just set rising def value :S)
Allow any Entity type to be a [ClientInput]
Merge branch 'master' of sbox
Map use pan velocity for smoother panning
Added ability for NPCs to patrol a path set in Hammer (generic path entity)
Navigation.Update defers until next physics frame (so can call Navigation.Update in OnDestroy for entity)
Can pickup single door types and return the correct item to inv
Add fsk.pve convar
Update navigation when a deployable is placed or destroyed
Fixed sound listener rotation - use 45 deg yaw
Add footstep sound support to NPC base class
Add undead footstep events
Deer footstep anim events (ish)
Re-enable enemy damage - only show state text for NPCs when fsk.npc.debug is enabled
Add source animgraph file for MP5 (this stops continuous re-compile of the asset when one local project has source file but another does not)
Enemes will no longer randomly wander when chasing a target. Improved avoidance behavior
Update walkability map when structures are destroyed, too. Increase max path length.
Added Despawn to ILimitedSpawner.
LimitedSpawner can specify a start time of day and end time of day this lets some enemies only spawn at night
Night enemies will only spawn at night and will raise up from the ground, they'll automatically die when it becomes day again (set them on fire or something later)
Recompile mats and models (fixes constant compile)
Potential fix for double attack
Undead can attack while walking (thanks Max for the screen share tutorial again ❤️)
NPCs will run logic if there are players in a specific radius
Add animation event for "attack" for undead. Add melee swing. Play swing sound, do actual attack when animation event is triggered
Add PoisonZone.DamageScalesToCenter. Change how poison is applied to count all zones the player is inside and scale damage accordingly
Added cough sounds - player will randomly cough while taking poison damage
Remove MoveToLocation stuff from BaseNPC let NPCs do pathfinding how they want
Refactor how enemies search for players / structures
Add PoisonZone with posion protection threshold / damage per second. Add protection property to ArmorItem + resource. Apply poison over time while player is in the zone.
Add hit sounds for wood, stone, metal
Play hit sounds when UpgradableStructure is damaged by melee
Do blood effects and flesh hit sounds when player is attacked by melee
Stop chasing / attacking target when target is dead - only attack solid stuff
Adjust attack rate
Undead actually do a melee strike causing some damage (10 for now) and initialize DamageTags on armor if not set
Give all armor items melee damage tag (protection)
Enemies will get as close as they can to their target, if a structure is in their way they'll try to break it down
Add option to CalculatePath to specify whether it must be a full path (start to end)
Navigation debug overlay only shows nodes the camera is looking near
Added Navigation.Update( position, radius ) to update walkability in an area
Update walkability when a new structure is placed
WIP: ShaderGraph Comments (#907)
* WIP Shader Graph Comments (some funky QT stuff going on though with GraphicsItem?) https://files.facepunch.com/conna/1b2211b1/sbox-dev_hfZT4FhruD.mp4
* Add select color choices for comments
* Add description field too for tooltips
* Jiggle position and reset each update to force a redraw and update hitbox (temp)
* Snap to grid on resize
* Let static RPCs be nested in other static classes
* WIP Shader Graph Comments (some funky QT stuff going on though with GraphicsItem?) https://files.facepunch.com/conna/1b2211b1/sbox-dev_hfZT4FhruD.mp4
* Add select color choices for comments
* Add description field too for tooltips
* Jiggle position and reset each update to force a redraw and update hitbox (temp)
* Snap to grid on resize
* Call PrepareGeometryChange when resizing
* Hide Comment Node, add seperate Add Comment option always on top
* Update colors + add new one
* Show description inside the box
* Selecting a comment normally will automatically select any nodes inside of its bounds
* Better selection handling for nodes inside
* Added layla's resize stuff + KISS approach to selecting children. click the box selects whats inside.
* Comments take priority for Property display
* Deselect current nodes when pressing on comment if not already selected
* Use LeftMouseButton instead coz it exists and it's nicer
* Always keep inner nodes selected (check last mouse down)
* Remove drag indicator from comment as not needed now
* Comment UI tooltip updates when title/desc changed
* When dragging a comment node on top of another comment node, alter its z index so its on top of that one
* Greatly increase the max comment node size
* Fix layering
* Better layer system + normalize layers
* Can just drag a comment node to select and drag its contents too. Double click a comment node to select only the node itself
When finding dependant assets always search the same path first before any other
Fixes a case where the assetsystem would get confused and infinitely recompile an asset if it had a dependancy across 2 addons, e.g:
dm98's dm_crowbar.vmdl depends on crowbar01.fbx which exists in:
1. addons/citizen/models/citizen_props/crowbar01.fbx
2. addons/dm98/models/citizen_props/crowbar01.fbx
Now it'll always favour 2 because it's in the same addon
Group Proxy preview updates when editing Transforms in the property sheet
sboxgame/issues/issues/2990
Include assembly name in type identity calculation
Fixes a rare issue when there are multiple types with same full name.
sboxgame/issues/issues/2939
New Hair! - Big Scruffy Beard
https://files.facepunch.com/daniel/1b2911b1/sbox-dev_MvCKICBk1H.jpg
Quick fix to Monobrow grey .clothing file profile picture
Fixed game window drag'n'drop being an error with multiple files
sboxgame/issues/issues/3017
Mark some of our base libraries without HasAssets, hide them in asset browser - I'm not too sure about including base just yet
Fixed project templates listview getting cut off https://files.facepunch.com/devultj/1b3011b1/HVoY9GSNkU.png
Give menu addon an asset path again
Fix loading addons in tools registering their events + cleanup Hammer package integration
USP Match Pistol
art pass for the USP pistol
includes viewmodel and worldmodel meshes
https://files.facepunch.com/rickgreeve/Vs3XVgXn2y.jpg
USP fixes
normal error fixed
bodygroup setup improvements
Tools always load local packages on active
Rubikon: Ray cast optimizations against meshes from Dirk
Make asset browser custom asset types refresh on tool compiles again
EditorModelAttribute: strip _c from path
Remove SFM/Dota/Etc stuff from rendering pipeline (#904)
* Initialize lightShades so we don't get undefined behaviour when summing them, should still be mostly stubbed out by the compiler anyway if shadingmodel doesn't use it
* Delete all code, shaders and dependencies from other rendering pipelines
* Rewrite visualize_physics without deferred and deprecated stuff, also fix a bug with depth sorting
* Fix references to old pipelines on remainder of shaders
* Fix debug_sunshadow, update all_shaders list and delete compiled shaders for stuff we don't use anymore
* Remove HSL Grain and old Volumetrics from SFM, note that SFM lights already cast volumetrics in our pipeline without that
* Fix crash on moviedoc on maps with volumetrics
* Revert deletion of debug_sunshadow_vis.vmat
* Put RecoverWorldPosFromProjectedDepthAndRay on shared code
Remove Panel.SetNeedsFinalLayout
Remove PanelStyle.sortedRules, no need to reverse AllStyleSheets
Build style rules in parallel (prevent ui hitching)
HashSet benchmarks
Unit test fixes
Fix not updating layout on screen scale changes
Adjust VS project names for built-in editor addons
Move tools.package.loaded event to ToolsDll
Fixed obsolete warning
adding concrete material variation
Merge branch 'master' of sbox
Prevent game crashes when overflowing string tables
Add tooltips to sound preview buttons
Added failing test reproducing #929
Stricter test for #929
Fixed #929
Fixed IServerDll hotload not being able to resolve package assemblies
Fixed ReflectionExtensions.ResolveType
Used to not respect the assembly load context of the target module
Merge branch 'master' of sbox
Sandbox.UI.Panel documentation
Merge branch 'master' into sgraph-comments
Fix layering
Better layer system + normalize layers
Can just drag a comment node to select and drag its contents too. Double click a comment node to select only the node itself
Added the ability for items to add their own tooltip info via overload on InventoryItem (AddTooltipInfo). This lets ArmorItem show its damage protection and which part it protects.
Persistence++
Added test DestroyStructure command
When a structure takes enough damage make gibs and delete it
When a foundation is destroyed, break any deployables on it and kill any walls and doors attached to it
When a doorway is destroyed gib and delete any doors attached
Remove old log
When pathfinding with A* limit path calculation per agent to 1 per second. Set target location and check in UpdatePath whether to generate yet.
Clear target location when path is finished
Disable collisions immediately when opening a door. Doors always open AWAY from the player that opened them. Remember that when serializing door state.
Continue if item resource has no unique id. Recompile items
Greatly increase the max comment node size
When dragging a comment node on top of another comment node, alter its z index so its on top of that one
Added point scale options
Use sceneobjects because its much much faster + dist to line