930 Commits over 639 Days - 0.06cph!
FOV offset is too much when aiming, reduce it
Add GameEventSystem
Temporarily turn off impact particles
Don't show player marker if they're dead
Implement hitmarkers
Ricochet, object penetration
Hook aim inertia values up for viewmodels (https://files.facepunch.com/tony/1b2511b1/sbox-dev_2sW0LA4PSo.mp4)
Fixed MP5 irons
Bind Slot3, add USP to default loadout
Use new M4 sound, don't render player marker if behind
Added Marker.IsOffScreen, Marker.IsBehind, Marker.ClampToScreen, screen safezone
Added chevron that points towards the target while it's off screen (https://files.facepunch.com/tony/1b2511b1/sbox-dev_8FvXZNa3to.mp4)
Start framing out a hud marker system
Don't display markers that are behind the player by default
Code cleanup, docs, hud adjustments
Add helpers for inventory clearing/setup - reset player inventory and move to spawnpoint on Respawn
Slide mechanic takes into account ground normal, can't slide up slopes
Don't play footsteps if we're sliding
Disable player body on death, enable it on respawn
Fall back to no hold type if we don't have a weapon out
Add footstep component
Add developer menu (https://files.facepunch.com/tony/1b2711b1/sbox-dev_RNMgcIDcBP.mp4)
Expose aim offset per aim function
Work on life states, depossess player on death, add pawn possession test
https://files.facepunch.com/tony/1b2711b1/sbox-dev_9RDuMDYpfP.mp4
Made aiming a weapon function instead of being a bool on the player
Removed WeaponStatsResource, WeaponStats, useless complexity
Can't shoot gun if we have some tags
Added TagBinder for being able to bind tags nice easily, get rid of extra tag container on weapon
Field of view programmatic adjustments, force two-handedness for viewmodels, weapon function tags
Fixed a few asset references
Much faster FX decay time
UI reflects entire inventory now. Add USP, fixed bug where all weapons would be active on startup
Fixed other player's HUD rendering always
More robust method of weapon equip events
Add PlayerInventory, can hold multiple weapons, and can holster current
Go from target GameObject's root downward for detecting IDamageables
Add Weapon.UpdateRenderMode, to hide the world model when locally controlling a player
Simplify damage, make it less shit
Fixed case where the player might not have a weapon
Create PlayerBody component, move weapon to hold bone when it's set to current
Organized some prefabs/resources
Can't aim while sprint/sliding ("no_aiming" mechanic tag)
Add proxy update for mechanics, so we can grab tags for networked players, crouch/slide/etc sync'd this way
More work on networked players
Wrap player input around IsLocallyControlled
Code refactor, start working on pawn possession (so we can do networked spectators later)
.gitignore update, case sens changes
Adjust recoil system to be more sane
Add some UI components back, start on ammo hud. Default map facepunch.prison
Reflect real ammo counts, fixed MP5 ammo container
Fixes
Fix input to work on the controller
Removed some bullshit files, compile fix
Stub out player HUD setup, only enable hud gameobject if we're the local player
Made a few things on the PlayerController use RequireComponent so there's less setup
Refactor how viewmodels are made, to work in multiplayer
Fixed compile
GameManager -> Game, removed some useless code
Removed recoil pattern system (cool experiment, not something I want to use in practice)
Use GameObject references in WeaponDataResource, instead of dumb hack from months ago
Fixed weapon instantiation bugs
Align impact decals correctly instead of accounting for the 90 degree offset bug
Fix error spam from sound emitter
Add an access point for the player controller to influence recoil
Cleanup, add horizontal and vertical spread ranges
Add loop points to recoil patterns
https://files.facepunch.com/tony/1b2611b1/Zwf2E8V68x.png
https://files.facepunch.com/tony/1b2611b1/sbox-dev_9zVXae9zXk.mp4