160 Commits over 642 Days - 0.01cph!
v_m700: added speed_reload and speed_ironsights float parameters
v_mp5: added speed_reload and speed_ironsights float parameters
v_spaghellim4: also change the condition to cycle-based if using b_reload while b_empty=true
v_spaghellim4: added speed_reload and speed_ironsights float parameters + make b_reload timings based on cycle progress instead of absolute time (which unfortunately does not get scaled by the speed node even though blend times do...?!)
https://files.facepunch.com/maxlebled/1b2011b1/2025-02-20%2014-26-16.mp4
v_usp: added speed_reload and speed_ironsights float parameters
v_m4a1: added speed_reload and speed_ironsights float parameters
https://files.facepunch.com/maxlebled/1b2011b1/2025-02-20%2013-13-54.mp4
v_usp: make the 'Slide Manager' animgraph group less specific so I can drag it to other weapons more easily
v_mp5/v_m4a1: the first shot you fire doesn't use the new 50/50 system anymore, making it look more unique; a shot is considered first if you haven't fired in the last 1000ms
v_m4a1: fix stock_pin and stock_lever being parented to weapon_root instead of stock
All weapons: renamed a couple of Tags for clarity
v_mp5: apply the new fire animation method (see previous commit)
v_m4a1: rework how fire animations are played. Instead of alternating between picking between 01-05 then 06-09, add two separate randomized (WeightedRandomNoRepeat) animations from the *entire* set together, then halve the result. This results in a much more natural-looking "animated recoil pattern" with no visible repeats
v_m4a1: added new bespoke animations (except deploy/holster). Added weapon_pose enum parameter for adjusting hand pose when handguard covers are enabled (uses a Tag to disable itself during parts of certain animations)
v_m700: initial first-person setup (including animgraph)
v_spaghellim4: make the initial arc of the deploy animation nicer
Fixed handling of sprint-suppressing Tag on v_m4a1, v_usp, v_spaghellim4, v_mp5: the Tag now gets properly caught when the animgraph initializes, by enforcing a one-time 50ms delay in relevant state machines. Also harmonized some logic across graphs.
v_spaghellim4: added new deploy animation
Batch-committing all changed files from change to cloud content references that now explicitly reference specific version numbers
Add new "/.sbox/" folder to .gitignore
v_usp: fixed two-handed firing anim errors
v_spaghellim4: added fire animation & hooked up dry fire
v_m4a1: correctly bound foregrip attachments to weapon_root
v_spaghellim4: added VMDL & animgraph metadata related to showing/hiding shells bodygroup
v_spaghellim4: 'first shell reload' animation + added support for 'classic' b_reload
https://files.facepunch.com/maxlebled/1b0211b1/sbox-dev_2024-08-02_03-19-43.mp4
v_spaghellim4: new animations & base animgraph
v_usp: fixed fire animations having the hammer behaving wrong, and a little blend-out hitch (was caused by fire anims being turned into self-referential additives as opposed to referencing the base idle poses)
All first-person weapons: implemented b_deploy_skip on remaining graphs, disabled Auto Reset on that parameter
v_m4a1: added "bayonet" bodygroup
v_trenchknife: added "weapon" bodygroup (set to 1 to hide)
v_mp9bayonet: added weapon_root bone for v_trenchknife compatibility
All first-person weapons: overhauled jump/land/airborne logic (jump is now handled completely separately from the rest and can be triggered at any time if you so wish) + turned that group into a subgraph
All first-person animgraphs: more replication of newly-updated shared components
All first-person animgraphs: fixed accidental 1001 instead of 1 on move_bob + removed 2nd setting on ironsights (it's now either disabled or enabled... but it's still an int)
v_m4a1: parameter rename & update to latestversion of jump/airborne/land group
v_spaghellim4: update to new version of jump/airborne/land group
v_spaghellim4: move_groundspeed to move_bob
v_m4a1: update shared airborne reference
v_usp: big rework of just about everything (added ironsights, improved animgraph bits ported over from other graphs, improvements to existing animations, changed idle poses).
v_mp5: overhauled jump/airborne/land logic & animations (coming from a pending USP rework, which itself grabbed bits from the Citizen graph... reduce, reuse, recycle, etc.)
v_mp5: rename move_groundspeed (which controls the run/sprint movement additives) to move_bob, and it's now a 0-1 float instead of a previously arbitrary 0-100
v_m4a1: small fix to temp reused deploy
v_m4a1: synced up with MP5 changes
v_mp5: rename Idle to IdlePose to be consistent with Citizen
v_mp5: adjusted ironsights pose & blend timings + slight adjustments to fire anims
v_mp5: completely reworked state machines for triggering additive transitions (sprint & ironsights); the additives now always play correctly (and completely snap-free regardless of mashing) when their related poses are disabled by Tags, without any weird special case handling + holstering while sprinting doesn't clip into the camera anymore
v_mp5: reworked ironsight animations + changed ironsights pose
https://files.facepunch.com/maxlebled/1b1511b1/sbox-dev_2024-06-15_01-07-07.mp4
v_mp5: reworked sprint group logic, greatly simplified it while solving remaining problems + made additive transitions work with tag-triggered transitions again + additive transitions are weakened to 20% while in ironsights
... and also v_crowbar, which I forgot existed
All first-person weapons: changes integrating new sprint animations
v_usp: various changes, see commit comment
• same state machine logic improvements recently made to v_mp5
• sprint now has additive in/out transitions
• moved holster animation earlier in the chain of modules so it can get affected by movement & aim additives
• removed obsolete explicit references to the MP5 sources that were made before shared animations were standardised
v_mp5: set b_deploy_skip back to off by default (oops)
v_mp5: improved various state machines in the ironsight & sprint managers so that transition anims don't play by default when the animgraph first initializes