875 Commits over 639 Days - 0.06cph!
Use recoil pattern in RecoilFunction
https://files.facepunch.com/tony/1b2611b1/sbox-dev_xaXurG5u7E.mp4 https://files.facepunch.com/tony/1b2611b1/CS5fvYwsxo.png
Add editor for designing recoil patterns
https://files.facepunch.com/tony/1b2611b1/rNGbSsl88U.mp4
Fixed not finding the ammo container
Move weapon functions into a separate gameobject on the weapon for organization
Refactor weapon abilities to be weapon functions, stats can be modified by weapon functions
Update camera animation code to use local bone transform, ty @aylaylay
https://files.facepunch.com/tony/1b2511b1/sbox-dev_iEfv2HkNNa.mp4
Don't overcomplicate stats
Add weapon stats system baseline
Add test code for local bone transform
Remove unused field from SoundEmitter
Add main menu, default scene is main menu, add play button
Add GameObject.PlaySound as a fire and forget way to play sounds on a gameobject (and have it follow the object)
Apply decal random rotation, spawn particles
Bullshit reloading system for now
Add GameObject.DestroyAsync extension
Add SurfaceComponent and GameObject.GetSurface extension method
Prefab updates
Get surface from weapon shoot trace, create impact effect gameobject from decal definition
https://files.facepunch.com/tony/1b2311b1/sbox-dev_M7K7YcLTh5.mp4
Use new particle for muzzle flash instead of legacy
Remove PlayerController.IsDucking
Maintain interpolated local position and rotation so we can just keep applying, add sliding state to vm
Apply local transform to viewmodel based on wish direction
Hook up slide anim and remove legacy stuff
Mechanics can override acceleration
Scale down wish input significantly while sliding
Can't slide/crouch while sliding
Expose HasAnTag accessor
ViewModel move_groundspeed cleared if we have the slide tag
Categorize base mechanic properties
Add Mechanic.ShouldBecomeaActive / Mechanic.ShouldBecomeInactive so mechanics can lock
Add basic sliding mechanic
Mechanic.IsActive is set properly by holding a list of active mechanics between updates
Player controller input refactor, let mechanics interrupt input (sprint dampening left-right movement)
Refactor, mechanics have tags which are cleared every frame, move sprint to a mechanic
Update DamageInfo
Work on getting camera bone animating for viewmodel
Block out player controller mechanics, eye height override, speed override, etc
Add muzzle flash prefab & util timed destroy component
Link weapon and its viewmodel properly, create some prefabs for the MP5
Fix ironsights, make aimray start a bit out from the player for now
Fix NRE
Add basic ammo container / dry firing
Add PlayerController.AddJump action, hook up b_grounded parameter
Temporary ADS solution
Hook in animation parameters where possible
Block out damage
Documentation, add tags to DamageInfo, hook into weapon shooting
Quick and nasty health component
Don't create a health component when checking any GameObject's health
Recompile smg1_shoot sound
Mess with networking, make a lobby immediately if not connected
Add GameNetworkManager.IsMultiplayer
Rename CitizenAnimationHelper so we don't clash with base
Add CameraController.AimRay
Update API
Use GameObjects for muzzle flash / trail, add some shooting functionality, EffectsRenderer that points to a ViewModel if we have one
Assign CurrentHoldType from character's enabled weapon object
Block out weapon abilities
If we're hiding the player's body, continue to render its shadows
Remove ununsed code, fix lighting on main scene
Update .gitignore