20,865 Commits over 1,522 Days - 0.57cph!
Make PolygonMesh face Material work
Add Hammer.CurrentMaterial
Iterate PolygonMesh API, remove dumb "Simple" naming from classes, Polygons are Faces instead, document better and optimize.
PolygonMesh keeps it's own vertex list, allowing more advanced usages and simpler data stream construction
* AddPolygon renamed to AddFace
* PolygonMesh.AddVertex( ... ) returns an index you can use with AddFace( params int[] )
Fix assert in CChoiceUpdateNode
Set m_flCycleZeroTime to anim time if it's zero, fixes newly spawned entities not starting the animgraph at the start of the first sequence cycle. there's probably a better way to do this
Check if Steam is running on clients asap, prevents some crashes from us using Steamworks super early
Hammer: Fix duplicate or remove non-working view modes / options in the view, mainly dota things
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
Formalizing tool addon folder structure
Don't remove base tool addon
Unregister tool assemblies on remove
Create tool addon, editor
tool.minimal template edit
Build projects for tool addons
Add tool addons on startup, add
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
FidelityFX Super Resolution
Rework the resolution rescaler to use FSR instead of bilinear to provide a higher quality image when rescaling from a smaller resolution scale back to native
Cleanup project generation
Licensing
Move resolution rescaler to its own method
Remove calls to GetVideoMemoryInfo (slow)
Initial support for FidelityFX Super Resolution
(it actually works this time)
Setup presets for resolution scaling instead of a slider
Implement RCAS
Fix viewport offsets for FSR
Remove remaining references of fow
Cleanup post rebase
Ramp primitive
Initial support for FidelityFX Super Resolution
(it actually works this time)
Setup presets for resolution scaling instead of a slider
Implement RCAS
Fix viewport offsets for FSR
Remove remaining references of fow
Cleanup post rebase
Initial support for FidelityFX Super Resolution
(it actually works this time)
Setup presets for resolution scaling instead of a slider
Implement RCAS
Fix viewport offsets for FSR
Remove remaining references of fow
Cleanup post rebase
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
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
Render AO on dynamic objects, don't render it on monitors
Refactor aoproxy code, add stub for cylinder aoproxy shape
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
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