2 Years Ago
Add entities to Hammer GameData straight from games assembly data (skipping fgd) Use an AssemblyLoadContext for game binaries in Tools/Hammer so we can use real Reflection instead of Cecil We can load entities from remote packages too, put it all into a simple `Hammer.LoadEntitiesFromPackage( "facepunch.minigolf" )` Clean up GDVar code a bit to keep our changes manageable, we don't need S1 fgd parser or game units/items Turns out we were using the legacy stuff, switch it all over to KV3 Populate entity gamedata properties Make structured MapClass w/ mirroring to native GameData so we have access to map entity classes in managed easily Port Hammer Entity tool to C#, can pick s&works games from within the tool and use the game entities straight away Don't output entities with FGDWriter Load entities from all active LocalAddon when Hammer is started, split the API for local/remote package to make it saner Load entities straight from Sandbox.Game.dll too Hammer: don't load any .fgds from addons, we only load core/fgd/s&box.fgd now for remaining C++ entities Remove DotaMaxTrees Load managed GameData after engine fgd is read, copy native engine entities to our managed lists and then mirror our managed game classes back to native Copy variables to native Make our entity tool properly functional and less shit, add a button that pops up a dialog to use entities from remote games.