3,634 Commits over 1,583 Days - 0.10cph!
Experimental / PoC
Limit stored custom inputs to a maximum of 256, removing older entries as new ones are added
Added ButtonState intended for use with [ClientInput]
Use TypeDescription to fetch property for [ClientInput]
Add extensions for reading/writing Transform
Add Transform.Read and Transform.Write
Add support for Transform to [ClientInput]
Added ButtonState.Pressed and ButtonState.Released with docs
Fixed compile error from copy paste 🥴
Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property
Revert "Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property"
This reverts commit 6d29a14ea85614a2c91c8f670f73e5ebb30e60cf.
Fixed IsDown / WasDown and also Pressed / Released being swapped
Delta values for some stuff (only send stuff that changed since last cmd)
Tidy up + add ManagedInputs
Rename to PawnInput
Just use TypeLibrary as its cached anyway
Add comments + use TypeLibrary
Add HasAttribute<T>()
Merge branch 'master' into custom-client-input
Don't add const to ArgPointer if asref is specified
Rid of CUtlVectorByte in favor of direct byte arrays
Make ButtonState a struct with implicit bool conversion
Write dynamic assembly hash to managed input message. Check hashes match when deserializing, if they don't skip that input
Merge branch 'master' into custom-client-input
Prepare to move a bunch of stuff from user cmd to managed. Clear out eye angle stuff
Start stripping out stuff that'll need implementing on pawn
Merge branch 'master' into custom-client-input
Match structs
Input.LookDelta and Input.MoveDelta analog inputs + copy PawnInput props in MimicBot from target client
Update (obsolete) player and controller examples to use the managed input / pawn inputs
Try stripping out InputBuilder and see how it feels...
Merge branch 'master' into custom-client-input
Some extra docs + rename PawnInput to ClientInput
Remove redundant inputs. Reverse yaw for bots
Some additional documentation
Move MimicBot to base addon
Write -1 if entity is null
Add ActiveChildInput and ensure children get added to Inventory on ClientSpawn so they match
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Can pass RenderAttributes into VertexBuffer.Draw
Avoid conflicts
Merge branch 'master' into custom-client-input
Add Tony's change for always record voice in VR
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Remove code I added that wasn't needed
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge in Matt's Input.Pressed fix for when FPS is lower than tick rate
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Make sure StopProcessing is reset in Input.Process so that it isn't remembered next time
Ensure InputDirection client input is consistently set to Input.AnalogMove for parity with old system
Merge branch 'master' into custom-client-input
Support extra types
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Early out if no managed inputs to write
Additional types
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge fixes incompatible
Merge branch 'master' into custom-client-input
Merge remote-tracking branch 'origin/custom-client-input'
protocol++
Remove obsolete
Disable api protection unit tests (we're breaking the api now)
Api++
Remove Package.Query
Clean up + document protocol stuff in c#
Pass api protocol when querying packages
Oops, unmangle engine.def
Moved network and api protocol into src/common/protocol.h, deleted unused version stuff
This test is a bit subjective, lets give it more breathing room
Fix potential NRE in Panel.TickInternal()
OnAssetFileChanged doesn't throw an exception when the file was deleted
Handle and report template parsing exception
Fixed exception reporting wrongly classifying old addons as engine exceptions
Fix menu exceptions getting ignored
Error reporting classify tools propertly
Update exception dsn
Fix editor crash on exit (causing layout to not save)
BuildShaders.bat needs to build the whole resource system now because shaders and resources. So do that.
Build rendersystemempty when building shaders
Fix crash when closing console and restoring default layout
Fix unable to close/open game view dock
Arrange View/ menu alphabetically
Fix gameframe fullscreen
Update Facepunch.SymStore.exe
Update Facepunch.SymStore.exe
Revert "Fixed an issue with bind proxies change detection"
This reverts commit 25876a3af2d31f764e5ccbcc3774b36b39b992e1.
Added upgraded docking system
Show facets in asset browser
https://files.facepunch.com/garry/ad56d755-b646-4e12-a854-f43e1b1cad49.png
Asset Browser handle spaces better https://files.facepunch.com/garry/0c89437d-84c0-439e-85e5-6fb5e5232f8b.png
Asset party type selector
Move TagPicker to TagPicker files
Fix NRE when hotloading after closing hammer
TagEdit - updated asset browser & publisher
https://files.facepunch.com/garry/cfb1e92e-6654-43c7-95ec-b587a7fe34b4.png
Diagnostic fixes
Move Debug Overlay options
Add Sandbox.Utility.DisposeAction
More startup time diagnostics
Hotload diagnostics
Double click project row to open properties
Package Settings page
Use project settings window to configure asset packages
Project publish wizard foundation
Enforce/Signal package ident length to avoid silent fails
Get rid of IWebProgress, add simple action callback instead
New publisher works
Delete old PublishWindow
Merge fix
Upload wizard fixes
Clean up and make it all work for non single file projects
Clear the package cache after successful upload so it'll be usable immediately
Delete PackageSettings page, replace with button
Add ContextMenu which automatically deletes itself on close. Try to use this whenever popping up a one time context menu.
Move Project Enabled context menu option to first position
Return early in DrawTextBox if rect is invalid
Sully the project list with stats and warnings
New package facets api replaces categories
Fixed text panels not updating when string changed
Clear background image if setting to a missing/invalid image
Add Package.FindAsync (new api) replaces Package.Query
Only compile runtime local addons if they need compiling
Load runtime addon resources on activate (so sounds work etc)
Add active property to button
We only need to rebuild the panel's box if yoga or our parent position changed
Add checker for HasNewLayout
Don't try to cache null packages
Fix transitions causing recursive selector checks
Speed up HasClasses
Refactor Panel system so PreLayout only recurses when it really really needs to
Only call FinalLayout if we need to
https://files.facepunch.com/garry/8df37b66-e43c-4c46-9123-022f6888b7e7.png
Fix backwards compatibility
Fix Panel.OnParametersSet getting called twice
Don't use localhost api - I knew I was gonna do this eventually
Switch to new find/get api endpoints
Local packages untangled from remote packages
Local packages now end in #local and are completely separate from remote packages. This means you don't have to disable your game project to test the published version. It also means your launch configs are now broken. To fix just go in the config for each one and set them back up.
I've updated the Game list page to razor so we could have the local game tab.
Fix compiler not finding runtime game dll when compiling runtime addon
Can get TypeDescription by fullname (namespace.typename)
Runtime addons can define their primary class
Automatically rebuild the project page on hotload
Disable debug spam
Package.MountAsync can load the addon assembly too
Update tooltip text if tooltip text changes while visible
Don't let game code use ConsoleSystem.GetValue or SetValue to access engine convars
define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS todo: look at whether we should update protobuf
Fix crash when shutting down during a level transition
Implement PhysicsShape.RemoveTag
Only change datatable tags on the server (suspect this will fix https://sentry.io/share/issue/2446b124736f483ea51358d927983db6/
Fix crash when changing maps
PerformanceTrace Physics World Step
Add perf trace for EvaluatePose
Add perf trace on trace + prediction
Fix crash when compiling material
Strip unused WorldGroupWorldInfo
Fix worldgroup crash on server shutdown, see comment in CWorldGameSystem::LoadWorldGroupInfo
Obsoleting GameCategoryTypes
Testing more performance metrics