252,781 Commits over 3,990 Days - 2.64cph!
strangler fig models - LOD and billboards, materials and textures
Merge from train_tunnel_altitude_2
brought back older corpse ragdoll prefab for player corpses that was accidentally overwritten with the new temp ragdoll setup, somehow this didn't actually cause any issues beyond losing the corpse flies
Fixed ballista choppy up and down player poses
Rework anim parameter inspector to emit changed events (#1812)
Hold shift while mousing over timeline to preview without moving pointer
https://files.facepunch.com/ziks/2025-01-30/sbox-dev_DV3DchunYX.mp4
med ak viewmodel
- removed old ak mesh from prefab
- updated attachment positions, adding bepoke where needed
- updated deploy anim to fix bolt snapping issue (also improved finger pose to remove hand intersection)
Delete placeholder pie viewmodel.
Delete placeholder pie entity.
Moved to food_pie_generic entity.
Copied FoodModelView on to new MV.
Disabled my test consuming.
Fix warning in ModelInspector
Shotgun item model child was set to Never Network, so it was invisible for other clients. Fixes Facepunch/sbox-deathmatch#97
Fixed RidableHorseAnimation.GetHipBlendFactorAndSpeed NRE
Updated ammo prefabs to use Network Object mode and Clear Owner orphaned mode - still need updating in the Hammer map
static ballista socket mods tweaks, deploy sound
Restored sounds on static ballista
Setup crocodile pop to spawn only in swamp, riverside or lakeside
Fixed mounted ballista swivel rotations
Hook up Sound.Play delay parameter
AssetPreviewWidget builds dynamic layout, passes parent widget correctly
Add SoundPlayer, use as preview widget for sound files
https://files.facepunch.com/solw/2025/January/30_11-51-FarflungUrubu.png
PreviewSound automatically plays from 0,0
Remove opaque automatic sound playback from AssetList
Implemented static ballista rig and new anims
Fixed mount pole world rotation
Fix sphere trace returning incorrect HitPosition when using SceneTrace.RunAll()
Make crocodile prefer being in water when roaming or fleeing unlike other animals who try to avoid it
Rework anim parameter inspector to emit changed events
Fixed network info being incorrect / unset in OnNetworkSpawn callbacks because _net is not set yet. Fixes (Facepunch/sbox-issues#6447)
Adjusting ballista weapon rig skinning
Splines: Add working state from a couple of months ago (pre FP)
Basically a port of my C++ spline library wrapped with a component + editor tool.
Still requires some API and Editor UX cleanup.
https://files.facepunch.com/lolleko/1b0911b1/sbox-dev_0KaDTZAF7l.mp4
Nav Basic: Reduce rotation on test slope to account for floating point inaccuracies
Fix obsoletes
Add roughness test scene, Compares if IBL GGX Filter matches reference
Update Roughness_test
Use WorldTransform/LocalTransform
First pass on spline model deformation
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_pXP1R0vFzj.mp4
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_1SBGUutgNa.png
Remove stackalloc (it's not whitelisted)
Fix duplicating a spline point with shift not copying roll & scale
Use sceneobjects for spline model instances instead of Graphics.Draw
Deform spline model bounds to ensure accurate frustum culling
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_FuFEWnL2FA.png
https://files.facepunch.com/lolleko/1b1611b1/sbox-dev_xrWVBJicsC.png
PoC spline collisions
Currently just super hacky static mesh/model collision
https://files.facepunch.com/lolleko/1b1711b1/sbox-dev_03QtKgtfYW.mp4
Update trails scene
Hull based spline collisions
Allows proper physics simulation of the spline models.
Works okay for boxes, still need to figure out why izabu quick hull struggles with more complex shapes.
https://files.facepunch.com/lolleko/1b1811b1/sbox-dev_YFlVR7whUv.mp4
Filter duplicate vertices after spline deformation and before qhull
Update terrain scene, adjust things, envmapprobe had inverse scale (wtf), use ibl, should be a good starting point to have a terrain with nice lighting setup
https://files.facepunch.com/sampavlovic/1b1911b1/NLZEcHl7Uh.jpg
Spline collider now supports all collision shapes
Added custom subdivision logic for each shape.
How much subdivision/collision geometry is created can be controlled by the user via property.
Performance still sucks, but optimization should be easy going forward.
Individual bone/shape transforms are currently not working.
https://files.facepunch.com/lolleko/2024/December/19_18-49-AnotherDrongo.png
https://files.facepunch.com/lolleko/2024/December/19_18-48-SecretNuthatch.mp4
Add Shader Classes Test
Spline Collision Support BoneTransforms and Rotation
Spline collider now provides accurate collision for any shape and any rotation.
Deformed/Twisted citizens with collisions:
https://files.facepunch.com/lolleko/2024/December/23_12-34-DishonestQuagga.png
https://files.facepunch.com/lolleko/2024/December/23_12-34-HorribleNightheron.png
Cleanup Spline Editor
Proper undo support for gizmo initiated changes
Frustum cull Gizmos as they are fairly expensive to create.
Optimize Gizmo drawing.
Defocus input when switching spline point
Bounding box calcualtion for spline components
Fix typos
Improve spline editor undo
fix PlayerSquish collision
Revert "fix PlayerSquish collision"
This reverts commit 18ba5597c624789e8e8b999e7b64bd33ae33e4ae.
More spline undo improvements
Fix spline gizmo culling
Bump hitbox of spline line
Align tangent mode names with exiting curve class
Fix roll and scale changes not invoking spline changed
code -> Code
Rename some vars in spline math
Scene reproducing Facepunch/sbox#1756
Cleanup spline components and test scene
Fix spline loop (de)serialization
Remove GetNormal function from spline component for now
There are so many different ways to calculate normals for splines (Frenet-Serret-Frame, Fixed Up Vector, RMF/Parallel Transport...)
Not sure yet, which one we want to offer.
Binary search for accessing splines at a distance
Fix some NREs in spline model renderer
Play around with tangent frame calculation using Parallel Transport / RMF
https://files.facepunch.com/lolleko/2025/January/07_20-51-CriminalBlackfish.mp4
Move spline deformation away from vertex shader to allow deformation of arbitrary models
Deform spline models on the CPU like a cavemen.
Use RMF to avoid twisting artifacts.
Will move this to a compute shader eventually.
https://files.facepunch.com/lolleko/2025/January/08_10-35-AgileHectorsdolphin.png
More customization for tangent frames/up vectors
This is useful for stuff like loops.
1. Default Up Vector (0,0,1) -> twisting artifacts:
https://files.facepunch.com/lolleko/2025/January/09_17-52-OrangeredCowrie.png
2. Automatic up vectors using rotation minimizing frames (RMF)
https://files.facepunch.com/lolleko/2025/January/09_17-53-DesertedClam.png
3. Manual up vectors/frames:
https://files.facepunch.com/lolleko/2025/January/09_17-52-MisguidedWryneck.png
Some Model Deformation optimization
Still only on the CPU but it's surprisingly fast
https://files.facepunch.com/lolleko/2025/January/09_21-39-VacantIridescentshark.mp4
Add spacing parameter
https://files.facepunch.com/lolleko/2025/January/09_23-00-AngelicVipersquid.mp4 🚂
Update Spline Collider to match new SplineModel Deformation
https://files.facepunch.com/lolleko/2025/January/09_23-59-LinearAlligator.png
Delete legacy/unused deformation code
Enable Global Scale for spline models
https://files.facepunch.com/lolleko/2025/January/10_11-16-TintedAfricanparadiseflycatcher.png
Base SplineModelRenderer of ModelRenderer
Allows Tint, MaterialOverrides and other options to be used on spline models
Cleanup spline component & tool naming
Update Test Scene
https://files.facepunch.com/lolleko/2025/January/10_18-17-TornAllosaurus.mp4
Fix water shader scene name
Add ParticlePhysics test
Scene testing dynamic action graph properties
Remove GTAO include code from scenestaging
DynamicReflections component stub
Update Viewmodel scene with ssao also showcasing proper prepass
New decal
Direct port of IES Profile Texture from hackweek into TextureGenerator, use Source instead of a file for now
https://files.facepunch.com/sampavlovic/1b2611b1/OCXtsLYQSC.png
Update decals test scene
Scene reproducing Facepunch/sbox-issues#7443
Iterate Dynamic Reflections Component, add shader
Iterate Dynamic Reflections Component, almost feature complete
Merge branch 'main' into navlink-scene
Fixed cases of some underground train tunnel triggers peaking out of terrain
Fix assert to diagnose "Can't parent to a gameobject in a different scene" breaking if Components ToString is overwritten
MapInstance: use InvokeWithWarning() for loaded / unloaded actions
Fixes SBOX-2WM2
Fixes SBOX-2X2S
Adding missing pie prefab content
SyncFlags.Interpolate (#1789)
Reference NavMeshLink in navmeshdata
Only use interpolated var if we don't control that property
Updated Catapult Scatter Shot Icon to show that its multple rocks rather than just one
Can set hostname in create game modal, feels like we should be using data validators, require map selection before you can hit start game (if we are picking a map)
SyncFlags.Interpolate, support for float, Vector3, Angles, Rotation, Transform (with internal interface right now)
Only find this attribute if we need it
Remove these debug logs
Interpolate value on query instead of every frame based on last update time
Add Update method
Revert changes to InterpolationSystem as we're no longer interpolating Sync Vars every frame
Remove unused IInterpolated
Some cleanup
Double max string table snapshot entry size from 4mb to 8mb (Fixes Facepunch/sbox-issues#7250)
Fixed an issue where performing a network refresh might not synchronize the tags with the owner's version of the object. Fixes Facepunch/sbox-issues#7301
Plant pot bounds and collision.
DoPrepare on plant-wheat.
Fixed an instance where an editor lobby could be public even when it's set to private in the editor. This could have happened if CreateLobby was called with Privacy = LobbyPrivacy.Public - now the editor option will dictate the privacy of all editor lobbies.
Add wheat plants to spawn prefabs
Convert other commands from serverside -> clientside
- renamepaste
- deletepaste
Add `listpastes` to print list of all pastes in client folder
Fixed underwater labs colliding with underground train tunnels at the new altitude
Corn collectable prefabs, population & autospawn setup
Switch directory to a constant
Remove old code that was keeping a serverside copy of the clipboard (that was shared between all admins)
Keep "undo" system to delete previous pastes
Add RPC to download paste from server
- locked to admins & devs to prevent servers arbitrary sending pastes to random clients
Copy & Paste should now store pastes competely clientside
Add combine faces operation https://files.facepunch.com/layla/1b3011b1/sbox-dev_ydJIifDVMg.mp4
merge from save264 - Staging wipe