4,684 Commits over 976 Days - 0.20cph!
Add node ui style, inspector, can create existing StateMachine.State types (https://files.facepunch.com/tony/1b2111b1/sbox-dev_MptZKRQPCW.mp4)
More boilerplate for nodes / graph
Start blocking out state machine resource + editor window
Better warning if we can't find ITagset
Fixed ManualHitbox.HitboxTags being uneditable in the inspector (fixes Facepunch/sbox-issues#5231)
Fixed editing input action group not showing visible changes until re-opening project settings menu. Fixes Facepunch/sbox-issues#5235
Fixed delete prompt having no content
Messed with input action panel dialogs, fix Facepunch/sbox-issues#5232
Doubled reach for crowbar attacks
Add ActionGraph node for quickly creating a prop
Hook up block anim for new npc
Fixed melee hit effect not playing, removed some serialized timesince/timeuntils in anim states
Run the hit effect on every hit attack
animgraph: Updated parameters to include new states
AttackingState: run Agent.LookAt every frame instead of on state tick (which is staggered at 0.2s or so, so it was very jittery before)
Kill off stimuli if it's based on old information. Idle state uses full body anim
Play actor voices a bit infront of their mouth
Hook weapon_attack_idle in
animator: lerp wish move
Don't drain durability for npc weapon
AI can maintain movement while trying to attack the player
Position weapon on the npc properly
Machine states can define upper, lower, and full body states
Add methods for fetching gyroscope and accelerometer readings from specific controllers
Fixed MeleeWeaponAttack NRE
Added dev var for overriding player movement speed
This doesn't work
Set up animgraph to have upper body / lower body states, and full body takeover state
Add new_crackhead prefab that uses the new animator
Fixed some more missing components on the player (?)
Fixed issues with player prefab (dunno where this came from)
Documentation
Support analog input glyphs
Add GameControllerType_t, expose ControllerType to managed, add GlyphVendor
LoadGlyphTexture will look for the controller's vendor and fall back to default if not found
Add a few PlayStation glyphs
Look for input glyph svgs
Plug in a bunch of glyph icons for xbox controller
Temporary generated glyphs for gamepad
Re-add Input.UsingController (simpler now)
Make prints less obnoxious
Parse analog inputs local to each controller, add virtual trigger buttons based from axis result
Hook up AnalogLook/AnalogMove for first controller (test)
Test passing controller input to input context
Implement default LED colors based on instance, rumble the gamepad on every button press test
Remove legacy sdl haptics code, replace with SDL_GameControllerRumble
Didn't mean to push this launch setting
Rip out SteamInput and our Controller API
Init SDL_GAMECONTROLLER, add standard mappings file (will move this later), find all of our game controllers on startup, hook up events for handling controller lifetime, button events and analog inputs
Turn off steam overlay in the editor again
Forward controller button events to managed
Forward controller axis events to managed
Simple device instance memory (disconnect and reconnecting the same controller should point to the same device), all events pass controller ID
Delete Input.AnalogInputs/GetAnalog (might re-add later)
GameController -> CGameController, some code refactor, Controller is a handle
Resolve sbox-issues/issues/5171 by making dragValue match
Consumables inventory moved away from objectives UI
Fixed weapon sounds being unlinked
Fixed stamina infinitely draining
Moved stamina drain/regen to mechanic instead of playercontroller
Posture regenerates over time
Fixed assuming max posture is 100
Update posture UI color
Add PostureMechanic.Default
Calculate posture damage separate from damage inflicted, so weapons can be better at breaking posture
ModelPanelnspector: smooth out rotation when mouse is released instead of freezing the model
Move NotesUI in front of everything that isn't the pause menu
GameManager -> Game, add our own GameManager, add GameManager.IsPaused
Refactor NotesUI interaction, closing state is handled on the UI itself, instead of relying on interaction system (since the object might've moved, or you might've moved, which would hard lock you in the UI)