59 Commits over 30 Days - 0.08cph!
Add LookAt component, pointing at the bouncing target
Hook up bouncing target button too
Fixed other buttons being broke
Use actiongraph to add a couple of buttons that control the target's distance
Hooked up first moving target
Add shooting range target mat
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
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
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
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
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
Can attach while already attached (detaches old attached object)
Add very basic recoil to weapons
Removed some code that was shit, when attaching something, raise attach dot threshold
Cleanup, documented all classes and properties
Can dry fire a weapon, detach mag with B button of held hand
Weapons are a bit more weighty
Can detach attachables from attachment point
Add detach sounds
More work on attachbles feel
Add events for when stuff gets attached to interactables, weapon is an interactable - can only fire when magazine is attached and has ammo
Improve accuracy of placing interactables in your hands