1,708 Commits over 1,219 Days - 0.06cph!
Map class variables type themselves from the C# Property Type now and their default value is set too. Clean this shit up using partial classes keep it nice and tight.
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.
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
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
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
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
BasePhysics entities (prop_physics) should derive from the FGD baseclass BasePhysicsSimulated - that way the map compiler will simulate and settle them.
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" )`
Fix erode tool not working seemingly randomly due to some uninitialized memory
Add entities to Hammer GameData straight from games assembly data (skipping fgd)
Add some more mix-blend-mode, fix lighten colors (but this breaks alpha), someone smarter have a look, I don't see how we can do this with just DX11 blend states we likely need to do software blending in the shader.
NetRead Asset is supported
Don't generate custom asset types where extension is over 8 chars, add appropriate errors so you know wtf is going on
Internally these extensions turn into a 64-bit int (8 bytes) so making them longer isn't practical.
PostProcess.Get<T> correctly returns null instead of erroring if it's not in the active effects list
BasePlayerController / MoveHelper traces hit Window & NPC layers as expected
Remove Ball stencil sceneobject hack
Fix wrong blend mode happening in shader somehow
Remove SceneObject.SetMaterialGroup, it was already on SceneModel
Whitelist System.WeakReference
Whitelist System.ValueType
Whitelist System.IConvertible
Whitelist System.TypeCode
Whitelist System.TimeZoneInfo
Add `mix-blend-mode: multiply`, color picker works again
Fix missing key binds on asset inspector tool
Remove redundent footer-space on game edit screen
If Steam Input gives us no motion state use Quaternion.Identity instead of an invalid quat
Make Input.MotionData.Rotation match our S2 world space
Fix NRE on Game Setup screen
Restore game setup description editing functionality
Can set control mode / single/multiplayer tags on game setup page
Add controller/vr information the same way as "Mouse & Keyboard Supported" is
Fix exception from Package.UpdateValue
▄▌▆▍▌-▉▄▍▍▊▍ ▄▇▅▋▇▄█ ▄▇█▍ ▆▊ ▄▄▋▇█▌
▆█▌▋▄ █▆█▅ ▅▍▇▄▇▆▍▋▅▉ ▉█▆▋█▉ █▌▄▆▋▅▉ ▉█▅▍ ▋█▌▇ ▊▅ ▄▆▉▉▄▉
▉▌▉▌▍▉▆ ▍▍▌▆▇-▌▊▍▇▄▉ ▇▄▆▄▅▇▊ ▊▄█▌ ▉▌▆▍▅ ▄▉ ",", ▆▇▆▆ ▋▊▍ ▅▋▊▄ ▇█▅ ▍▌▋▆▋█▊▆▆▇█ ▌▅█▍ ▄▇▋ ▊█▅
▆▌▉▋█▌▋ ▍▋▅▍▉-▄█▍▅▌▇ ▄▆▍ ▊█▌ "▊▅█▆▄█▅▉"
Fix UI shader using wrong constants for background image repeats
PrimitiveBuilder.Is2D now works as intended and makes a 2D bounding box on the block tool
Revert "Quad primitive creates from the bottom of the bbox"
This reverts commit 6e1704dfd5a9a62d3bcc4de46a18de1ece416047.
PathPlatformEntity moves with velocity matching PlatformEntity behaviour, so the player controller can match it's velocity.
https://files.facepunch.com/matt/1b1611b1/sbox_0001.mp4
net_fakelag remove FCVAR_ARCHIVE, and add FCVAR_CHEAT to it and sdr command
Set controller "Menu" action set if ingame but main menu is open
Asset.Load log the actual exception when deserializing errors
Fix typo in water bounds code using y instead of x
Completely remove HLTV/SourceTV, decouple spawngroupmessagemanager so the demo recorder can use it
Remove instant replays
Don't flatten hierarchy when looking for [Event] methods
Use the Center +- Radius of Water RenderBounds
Make sure water render bounds are larger then ripple radius * 2 and not just radius.
Implement `UPathComparer.OrdinalIgnoreCase` and use it for `RedirectFileSystem ManifestFileSystem.Redirect` - fixes not finding non lowercase files.
Add SceneObject.SetMaterialGroup( string group )
Load all Assets before entities are created clientside, matching serverside behaviour
Get rid of trains and elevators and shit
Delete more shit, maprules, multiplay/teamplay game rules, misc shit handled by C# already
Fix DX11 check wrongly checking for DX10
D3D11 device video support is only supported on DX11.1 (w/o WARP), add the proper feature level check
Add -dx11novideosupport flag for debug
Rebuild worked - revert retail builds back to incremental
Remove s1/s2 bridge download system, stringtables, pure whitelists and related code, convars, protobufs.
Remove native vieweffects ( we do them in managed ), remove protobufs/ums left from vgui, train, hintsystem etc.
* Remove these native entities: game_text, env_beverage, item_sodacan, func_precipitation, func_precipitation_blocker, env_muzzleflash, env_gunfire, env_screenoverlay, env_fade, env_hudhint
* Remove loads of UTIL_ code that was game specific or not needed.
Try a /rebuild on everything
Remove -dx9, -gl, -vulkan command line options which were just making non-existent rendersystems.
Remove DX9/GL rendersystems enums and any related hacks that were using them.
Block tool specifies it's materials in C#, don't stomp from C++ - lets you specify specific materials on certain faces in a PrimitiveBuilder, useful for if you want certain faces to be player clips
Don't be lazy, update Hammer.CurrentMaterial on change