4,160 Commits over 884 Days - 0.20cph!
Don't serialize ResourceVersion to GameResources (resolves sbox-issues/issues/5440)
Move Recent Scenes into its own section between Save All and Quit
Add Recent Scenes to File Menu (https://files.facepunch.com/devultj/1b1011b1/yyrxhZZSIa.png)
Recompile decal shader, lighting was fucked (https://files.facepunch.com/devultj/1b1011b1/mhPZ645aj0.jpg)
Add BaseInteractable.FreezeMotion( bool ), more docs
Interpolate player pouch held transform
First rough version of player pouches
Loads of random work trying to make the interaction system less shit
Add ability to force-grab stuff if you're holding the trigger before grabbing (https://files.facepunch.com/devultj/1b0911b1/sbox.2024.05.09.15.44.52.mp4)
Add IGrabbable interface, start implementing it properly
Hands can push objects out of the way now
Programmatically remove grab point from bullet prefab if spent
Apply angular velocity to ejected bullets, support IDamageable
Implement IDamageable to FlipUpTarget
Interactable: Use secondary grab point's up vector for Rotation.LookAt, so we can roll with our secondary hand
Update shooting_range
Changed play button bind back to F5
Fixed bullet ejection speed, big button in shooting range bone flag
Fixed up bone setup for mp5
Actually, use a prefab instead
Removed unused spent shell prefab
Refactor bullets to hold info about spent state. Eject from chamber conditionally
GetPrioritizedGrabPoint will prioritize the current grab point before evaluating hovered list
Fixed up the USP's attachment points
Crude version of ejecting casings when shooting, and when pulling slide back manually
Should've fixed PostDeserialize error for mags
EnumControlWidget: Use Title instead of Name in PaintControl
Fixed the tables being flippable
Fixed weird grabbing behavior
Added building pieces for TriggerInteractable
Add big_button.vmdl_c, version of our button that has bones
Added hover interaction type, doesn't require input at all (https://files.facepunch.com/devultj/1b0811b1/sbox.2024.05.08.12.02.09.mp4)
Add MovingTarget component
Add BouncingTarget (same as MovingTarget, but flips distance when it reaches its destination)
Added FlipUpTarget
Add flip up target sound, docs
Implement trash remover component
Fixed blendable shader error (restore ComputeBlendWeight method), push new compiled shader
Convert some guns and mags to prefabs, laser pointer can be toggled with joystick down on held hand
Fix NREs when running outside of VR
Fixed some issues w/ attach points
Renamed "Normal" SceneCameraDebugMode to "Lit", expose Roughness vis mode
Started work on a shooting range scene (https://files.facepunch.com/tony/1b0611b1/sbox-dev_XK299N0MPB.jpg)
Add weapon chamber sound event
Same for mags
Minor bug fixing
Scene update
Add extremely basic player movement component, and player look component (using snap-look)
Added BulletComponent, bullet interactable, ability to manually chamber a weapon chamber with a bullet, can load mags manually too
Added weapon chamber system, mp5 bolt feeds from mag somewhat realistically. Bullets stored as individual objects, with goal of being able to fill up mags / chamber guns manually
Exchange weapon magazine bodygroups to reflect their current state (full, empty)
Hooked up new mag components where necessary
Add hack to adjust angles of a point interactable if it's at 1
Added ability to slap the slide of certain weapons (MP5) (https://files.facepunch.com/tony/1b0311b1/slap_vr.mp4)
Add Hand.Velocity, calculate velocity
Add Interactable.MassScale
Update prefabs
Redid how I implemented hand poses. Add HandPreset class, use HandPreset.Apply( SkinnedModelRenderer ) to apply, and can edit per-finger in the inspector
Very simple implementation of slide release blocking the weapon's ability to fire
Can customize recoil values
Add more USP sounds
Integrate grab point events
Add PointInteractabvle.ResetOnRelease - good for the USP's slide
Push slide release system
New sounds
Hand collects a hash set of eligible grab points, and picks the closest one when gripping (fixes jank where you'd grip and nothing would happen)
Mark Sync/Broadcast on some things in Weapon
Added LaserPointer component (https://files.facepunch.com/tony/1b0211b1/sbox-dev_dmbhFl6YT6.mp4)
Implement point interactables. Not using animation, this turned out to be more work than necessary for now.
https://files.facepunch.com/tony/1b0311b1/sbox.2024.05.03.08.43.17.mp4
Add BaseInteractable, moved some common stuff into there. Added WeaponPartInteractable, in preparation for being able to interact with the MP5's charging handle
Removed world model mags, we're not doing it like this
MP5 separate magazine models
Delete GameManager (has been replaced by Game for ages now)
Can attach while already attached (detaches old attached object)
Add very basic recoil to weapons