13,483 Commits over 1,522 Days - 0.37cph!
Remove another premature GetSteamUniverse() call that wasn't doing anything
Don't try to SteamAPI_Init() on dedicated servers or initialize the SteamGameServerAPIContext before we've called SteamGameServer_Init
Updated Hammer Key binding to include RT Baked Lighting
Hammer: Curved stairs primitive (experimental), not sure how to make it interact nicely within the bounding box. Need to expand the PolygonMesh API some more to allow face data UV axis too.
https://files.facepunch.com/matt/1b1011b1/sbox_22SJRcVCiW.png
Remove QToolBlockUI which was just glue and do the whole thing in C#, remove some resulting dead code in CToolBlock
Remove redundant mapdoclib stocksolids
Hammer: Entity tool uses Block tool to place solid meshes w/ listeners, same way nav meshes are placed.
https://files.facepunch.com/matt/1b1011b1/sbox_CsQvkTwpm5.png
Mark these transform operations as internal, let's not just blindly expose C++ ways to the public API
Enable creating, enabling, disabling tool addons
traffic cone - fix for #203
traffic cone - #203
Merge branch 'master' of sbox
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Fixed errors after rebase
Hammer transform operation -> C#
ui prelayout is 3x faster
Add nullcheck for static callers
Fix chart not updating
Fix unit tests
Add Widget.Lower, Widget.Raise
Performance tab options
Remove calls to GetVideoMemoryInfo (slow)
Making SimpleMeshPolygon a class, since it's holding a List there's no benefit in it being a struct,
Newlines after steam api context warning
Formalize initialization of SimpleMeshPolygon
Release the QueryInterface ptr
Set multithread protected on d3d device https://docs.microsoft.com/en-us/windows/win32/api/mfobjects/nf-mfobjects-imfdxgidevicemanager-resetdevice
Add D3D11_CREATE_DEVICE_VIDEO_SUPPORT to device flags, encoder degrades performance without it
Make sure video encoder uses even width and height, nvidia drivers doesn't like encoding odd sizes
Render AO on dynamic objects, don't render it on monitors
Refactor aoproxy code, add stub for cylinder aoproxy shape
Aoproxy_splat objects
Decreased fog in Avatar editor
Updated Hammer Block Primitive
You can now enable and disable faces.
New Full Outfit - Medieval Outfit
For the King! Something a bit out-there. We have this nice new full set of clothing, chest armour - chainmail - and leg armour. All integrated and LOD'd. Works with other modular clothing pieces to create some fun results. More feminine outfits around the corner.
Namespace Hammer/MapDoc under Tools.MapEditor
Add a simple MapMesh API for creating simple n-gon polygons programatically in tools addon layer
Move Hammer Block tool to C# addon layer, developers can implement any geometry shapes using the simple polygon mesh API and full hotloading.
Ported the following shapes to C# so far: Quad, Block, Cylinder
Cleanup naming of everything, create the tool interface in a more sane way, port over more primitives.
* GeometryTool -> BlockTool, keep the naming consistent with Hammer, it is a blocking out tool after all
* Geometry -> PrimitiveBuilder
* SimplyPolygonMeshDescription -> PolygonMesh - way less insane and future proofs us to binding it with CHammerPolyMesh, different ways to use it can be done on the class
* Port Spike and Hole primitives, Linq makes them super easy to do
* Hotloading triggers an update on the block tool, so when creating PrimitiveBuilders you see the changes straight away
* Glue "Orient to the 2D view plane direction" checkbox to set the option in native
Add Sphere primitive to C# block tool
Trim panel InnerHtml content from labels
Don't recreate Steam Api in dedicated server, so ip and steamid doesn't keep changing
Strip some tv relay stuff
Only show download UI when downloading
reset this shit here because they allocate arrays based on the number of bones, and while they change when the model handle changes, the model handle might not have changed (because it might have just changed from an error to loaded)
On client model download, reload the model
Reallocate CCompositeParentSpaceState if bone count changed
CBodyGameSystem always RegisterToolsResourceListener
Try to deal with broken resource reloads by restoring their old models and clearing the list
Pass opacity to lightmapper for foliage shader
Allow models to have textures in RT bake preview
adding decals and material color variation
Merge branch 'master' of sbox
Citizen: adding a couple more aim matrixes (no left-right yet)
Don't copy texture using shaders on nvidia hardware, isn't needed for video encoding on nvidia and could fix driver bug
Citizen: added a nice aim matrix to standing pistol
Hammer: Fixed particle effects control points resetting to world origin when hidden and then shown
Fixed ent_fire saying it failed when it didn't
Fixed Open()ing an open door that rotates away from player behaving incorrectly
Minor changes
Implement EntityIO matching classes for outputs
Merge branch 'master' of sbox
Replace MapIO with EntityIO where applicable for consistency
Added Entity.ClassName (internal for now) and used it where needed
Reimplemented ent_fire in c#
Add high quality light preview option
Regular: https://files.facepunch.com/ognik/1b0911b1/2022-03-03_28-33-1674ea0f-eecb-4339-b8cc-43c9e6aa8ff0-9UpQLZBP.png
High: https://files.facepunch.com/ognik/1b0911b1/2022-03-03_29-19-ae614fac-8e1d-42ae-a3bb-96aa694b8724-cM6BdVtZ.png
Fixed not precaching all models
traffic cone - compiled to remove unused material
traffic cone - removed edgeloop
traffic cone - adjusted retro reflective material
Merge branch 'master' of sbox
EntityIO API extensions
Renamed internal Sandbox.EntityIO.Output to Sandbox.EntityIO.OutputConnection to avoid confusion
Added Entity.FireInput( string input, Entity activator, object value = null )
Added Entity.AddOutput( string OutputName, string TargetName, string InputName, string OverrideParam = "", float Delay = 0.0f, int TimesToFire = 0, EntityIOTargetType TargetType = EntityIOTargetType.ENTITYNAME_OR_CLASSNAME )
Rename Entity.AddOutput to Entity.AddConnection
Added c# docs
Added EntityTarget struct
Use EntityTarget struct instead of TargetName and TargetType
Make EntityIOTargetType internal
Move BuildTargets logic to EntityTarget struct
Merge branch 'master' into entityio-api
Merge pull request #200 from Facepunch/entityio-api
EntityIO API extensions
Fix warning
Optimize Input.UpdateMouse
Throw an error if map isn't a map
Update steamworks dedicated server binaries
Fix Input
Don't add map models to the precache table
Fix server package adding to stringpool table
Fix Package network table not being set up
Fix EntityList NRE
Ignore Package is listen server client
Don't apply fog strength on alpha
Managed fog
Squash
Finish rebase
Fix intellisense for native rendertools
Cleaned up - not tested in game
Fix Vector3.LerpTo change breaking addons
Fix fog in game
Only copy fog attributes on RenderScene
Remove unused from SceneSystem
Add ManagewdRenderPipeline.SetupWorldViewAttributes
Add callback to allow setting viewattributes for a scene from c#
Comments
Shouldn't need this now
Rebuild text shader cause I stomped it before
Merge pull request #183 from Facepunch/fog
Move env_gradient_fog to managed
Initial support for displaying textures in RT lighting preview for hammer
No displacement or tex parameters yet, coming soon™️
https://files.facepunch.com/ognik/1b0811b1/2022-03-20_12-42-8cfa28ae-0416-4027-b08d-52c9dc9c0af9-etL2SPeV.png
RecordMovie: Use CopyTexture instead of ResolveRenderTargets to see if that fixes driver crash
Traffic Cone - feedback adjustments
Merge branch 'master' of sbox
Added "Clear recent files" button to Hammer/ModelDoc/etc