branchsbox/refactor_everythingcancel
15 Commits over 0 Days - ∞cph!
Update SteamInput attack actions to match C#
InputButton.Attack1/2 becomes InputButton.PrimaryAttack and InputButton.SecondaryAttack
Delete ambiguous DistinctBy Linq extension, this is in .NET 6 now
Take distinct Hammer entities by their TypeLibrary ClassName instead of Type
Load Hammer entity types from base first always, then distinct by class name
When we have delicious new game data let Hammer know so it can do the weird stuff it does to refresh all the widgets, helpers, blah blah blah
Shut this assert up, we're calling it multiple times on purpose
Delete "Reload Game Data" from Hammer, doesn't make sense when everything is hotloaded ( plus it would be a fucking mess to implement for no reason )
Instead of deleting / recreating native CGameDataClass lets replace their data if they already exist - this fixes a bunch of crashes since they're referenced by raw pointer everywhere within native tools code
Cleanup EntityParser some more, use DisplayInfo instead of fucking with attributes ourselves, remove code that was for ModelDoc or Assets
MapClass holds it's C# type
Use TypeLibrary.AddAssembly when adding remote game packages from Hammer
Refresh Entity Tool UI after tools.refresh and we've parsed any new map entities
Remove / replace managed Hammer entities on new assemblies so they work all lovely on hotloads
Collect [PathNode] types too for Hammer
Small fix to packages of gamedata entities
HammerEntity should be HammerEntityAttribute
Fix DisplayInfo setting Group to the IconAttribute value
Remove GameData.ParseAssembly and special cases for Sandbox.Game, let's grab it all with TypeLibrary on tools.refresh
Remove Entity.Create<T>() and rename Entity.Create( name ) to Entity.CreateByName( name ) to hint that this isn't the only way to create entities ( you can use new )
Hammer entities become opt-in with [HammerEntity] - most game authors were having to do [Hammer.Skip] on most of their entities so makes sense to invert it
Fix material icons not showing in Hammer's entity tool
Make Input.VR.Left/RightHand.ButtonA/B.WasPressed work within Simulate ( before this only worked clientside in FrameSimulate )
VrHand.AngularVelocity Vector3 to Angles - unfuck the code behind it treating it like SteamVR coordinates which ended up giving batshit values, now it's just degrees/s
Fix regression where entities base properties were getting stomped
Delete FgdWriter, pretty sure everything is managed gamedata now
Fix base addon entities not getting added to Hammer because they don't have a package
Load all entities that live in Sandbox.Game into GameData ( Lights )