branchrust_reboot/main/instrumentscancel
506 Commits over 184 Days - 0.11cph!
Moved piano mount pos and dismount positions to fix not being able to interact
Better player getter on static instrument
Hooked up bass guitar material
Refactoring key controller to be a child entity, removes need for duplicated RPC's on InstrumentTool and StaticInstrument
Hooked up piano model
Fixed IK hand target gizmos not appearing
Client/Server compile fixes
Mountables can now optionally suppress the hand animation layer
Hand rotation IK is now checked and assigned separately from position (so IK can affect position and not rotation)
Mountables can now apply an animation override while in use
Mountables can now override their spine look at weight when using a non-default animator override (see GetSpineLookAtWeight)
Hooked up new drum kit and piano sitting animations via overrides
Support for an octave shift set of notes - hold a button (defaults to keypad enter) to access another octave of every note
Hooked up another octave on the piano (defaults to 3, can access 4 by holding octave shift button)
Supports console bindings eg. "playnote d3#" or "bind n playnote d4"
Fixed console bindings not working on mountable isntruments
Don't run IK update on server
IK should match up over network
Support for non-standard IK transform space (for held items)
IK pass on drum kit
Show all ik points as gizmos
Cleaned up duplicate piano and drum kit sound definitions
Fixed some keybinding issues, fixed dedicated sharp keys not doing anything
Cleanup logic to potentially support more notes
Player model IK support, assign an IK target per note and move hands to appropriate location
Tambourine setup (placeholder sfx)
Bass item setup (no sfx yet)
Updated cowbell with new key controller
Flute instrument setup with placeholder sounds. Added support for instruments that only allow one note at a time
Moved some scripts into more sensible locations
Better default keys layout
Consolidate sheet logic
Cleanup logs
Trying out a client input path for instruments
Hooked up new piano notes and drum notes
Fixed multiple static instruments receiving input from the same player at the same time
Hold instruments work better with key sequences
Fixed not being able to rapidly hit notes on hold compatible instruments, minimum note time is now used to fade out the note
Fixed being able to wield other items while playing a mountable instrument
Placeholder piano samples
Reworked piano as a mountable prop
Hooked up new Tuba instrument
Added a new KeySequence class that stores a list of notes to play on a loop when the player left clicks
Hooked up trumpet notes
Don't send rpc's if a note is null
Added console commands for playing notes eg. "instruments.playnote c#"
Added RPCs on InstrumentTool to manage the key controller
First pass on a static, mountable instrument
Rework keys input again
Add dedicated keybinds for sharps (but leaving them unbound by default)
Add/hook up sharp notes for guitar
Expose instrument bindings in options
Guitar and trumpet note samples and hookup