1,109 Commits over 1,219 Days - 0.04cph!
vr: don't transform hand's angular velocity to anchored pose, it's not something you want or expect to be affected by it
Unfuck VR culling frustum which was causing scene objects to get rejected thinking they were only visible on 0.1% of the screen
vr: particle renderer don't initialize 4x vbos for instancing, only need 2x
vr: fix cables renderer adjusting the transform id the wrong way, cables will render in right eye again
Update sentry-native 0.5.2, add Crashpad WER handler which bypasses SEH to handle __fastfail and stack buffer overrun crashes
release shaders for projected decals - should fully behave in VR now
projected decals: small compile fix for shader
Fix r_stereo_multiview_instancing affecting non stereo rendering
Get rid of anaglyph and parallel stereo rendering modes
r_stereo_multiview_instancing: default 1, same as VR
Add Debug menu options for stereo rendering to the editor ( easy way to see if your game renders properly in VR )
Release shader for projected decals
projected decal shader: adjust the instance id under multiview instancing so it actually appears in the right eye - decal space position still seems off though
vr: make debugoverlay work on right-eye again, don't constantly change render target to swapchain
vr: debugoverlay behaves properly for multiview instancing now too
System.Net.WebSockets for tool addons
Load System.Security.Cryptography.Algorithms.dll, System.Security.Cryptography.Primitives.dll - and whitelist System.Security.Cryptography
hammer: fix entities not loading from remote packages, this was accidentally reliant on tools.refresh event & now it makes more sense
Assert when a nullptr is passed to CCompositeParentSpaceState::CopyBoneTransformWeights - we need to figure out why it's happening, and if it is valid then we need a dozen nullptr checks on m_pInterpolatedBoneTransformWeights
Crash fix / assert in CCompositeParentSpaceState::operator== where m_pInterpolatedBoneTransformWeights could be nullptr
hammer: fix crash when undoing changes to path nodes
Send fonts over network for local games
Hammer API: Add Selection.PivotPosition
Add GameSetting.Step for Float types
Game Settings: Fix float value sliders being integer only
GameSettings: Fix string type settings not displaying
Un-whitelist Task.WhenAll/Task.WhenAny, implement them on GameTask and TaskSource instead
Whitelist more of System.Threading.Tasks.Task: Task.FromCanceled, Task.FromException, Task.FromResult, Task.WhenAll, Task.WhenAny, Task.CompletedTask
Games targeting <empty> map don't show map selection
Implement "This List Only" map selection
Add a cookie on project list's show disabled option
Fix Apply Changes not working on Settings menu where it was using old onclick syntax
Fix Input.Pressed not working outside of Simulate when FPS was lower than tick rate
Only call tools.refresh when we have new tool assemblies and not game assemblies
Support all the different orders CSS border property can be in, add unit tests too - resolves Facepunch/sbox-issues#89
Party deck: fix avatar sizing, give margin between add button and party friends - Fixes Facepunch/sbox-issues#2453
Whitelist System.Private.CoreLib/System.Diagnostics.ConditionalAttribute
Whitelist System.Private.CoreLib/System.Text.*
Whitelist System.ObjectModel/System.Collections.Specialized.*
Whitelist System.Private.CoreLib/System.IO.StreamReader.get_* and Close()
Project creator folder selector works first time when path already exists - Fixes Facepunch/sbox-issues#2454
Server list spelling
Clip project path text so it doesn't overlap the settings icon
Saftey checks around memcpy in CCompositeParentSpaceState::CopyBoneTransformWeights to prevent crash, additional asserts to catch when this stuff is bad
CQAttributeEditor_SoundPicker: use path instead of name for sound events
Create a resource reference on sounds in maps so custom sounds will get properly uploaded and loaded with the map
This will require you to reselect sounds in your maps to update to their full paths, asset name only is obsolete
Load entity GameData after ToolsDll.OnAddonsCompiled instead of tools.refresh - I think this was accidentally still working somehow, but now it'll hotload and all that shit again
Fix errors in local projects preventing base loading for tools ( Hammer entities, ModelDoc data, base resources ), remove hack from Sandbox.Engine and make Sandbox.Tools responsible for compiling base before local projects are added to the compile group
Add MapNode.Parent property
Fallback to default code editor if selected code editor is no longer installed
Add IEnumerable<MapNode> MapNode.Children
Add MapPath and MapPathNode to C# API
MapGroup and MapInstance init their handles correctly
Hammer: Fix entities from newly uploaded asset.party games not working
CQBuildMapDialog::GetMapLaunchCommand wraps map name in quotes
Make sure Global.Server gets set OnServerInfo so Global.GameTitle and shit is avaliable, fixes rich presence not working too
Hammer: Fix base entities appearing as if they only belonged to certain local games
Only create this package.base Compiler in tools mode once again (for Hammer / GameData), since local compilations are now consolidated with base code
Add MapNode.Copy() creates a copy of the node and adds it to the current mapdoc
Make Hammer entities correctly categorize local projects again
Add map nodes MapGroup and MapInstance, example usage of MapInstance:
```
new MapInstance()
{
Position = Vector3.Up * 128.0f,
Target = Selection.All.First(),
};
```
Don't overflow the Embed network table with too many small files - maybe this should be limited to html, css only?
Make base compiler part of ServerContext.CompileGroup in non tools mode too so local games successfully compile
Fix uploading addons that target games using legacy uploaded assembly path
Make our access tests work with new uploaded assembly path
Project references normalize and encode properly for XML in SolutionGenerator so Visual Studio doesn't cry when seeing an &
Skip replicating global usings in codegen, they were causing compilation errors because they need to precede non-globals.. but they're globals so we can just not replicate them instead.
Add `hammer.mapview.contextmenu ( Menu, MapView )` event for tool addons to add options to the map view's context menu
Add Qt Menu.Icon
Create point entities from map view context menu, most useful is going to be recent entities
https://files.facepunch.com/matt/1b2111b1/sbox_bEtaFtYvtm.png
Remove my old remote package code, this is all handled by vmap metadata now
Simple static Selection API for Hammer for getting / setting selected map nodes
Stop duplicate "Navigate to Folder" in asset context menu when multiple asset browsers exist
What the fuck did I make this native pointer nullable for
Add Hammer specific asset context menu for selecting objects using assets and that sort of stuff
https://files.facepunch.com/matt/1b1911b1/sbox_9pAdMcU4JQ.png
Asset browser can find cloud sounds, SoundDropTarget supports async setting from package
Asset publishing widget doesn't stomp potential asset editor
Can publish sound and soundscape assets
Handle null thumbnails for uploaded assets, I think garry's already made the backend auto generate them if nothing is provided
Add SoundscapeDropTarget so you can drag and drop soundscapes into your maps
Replace rect definition picker with our own whilst I'm here
Add Asset.GetAdditionalRelatedFiles()
Upload hotspot .rect for a material asset, only for single assets and not games