16,846 Commits over 1,277 Days - 0.55cph!
Fix Input.ClearActions, Input.ReleaseActions not working
Fix doubleclick triggering all the time [fixes sboxgame/issues/issues/3683]
Key binds work again
Fix stupid bot time hacks
Fix bot inputs
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer
Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader
Can be passed to RenderAttributes.Set( string, ComputeBuffer )
Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int )
Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int )
Can set/copy data outside a graphics block
ServerListPanel: Add Create Game button if we don't find any servers
Fixed game view sometimes not rendering, getting stuck on loading screen forever
Fix gizmo interaction in engine
Citizen: added visemes animation prefab containing a set of viseme morph frames
Much more accurate and faster way to calculate max depth on tiled light building by using depth hierarchy, increase tile size to
[Pick] add MinMax downsample operator for Hi-Z depth buffer, this will help us do some GPU occlusion tests and trace what's between SSR geometry
Fix atmospherics not showing up on editor for shadingmodel shaders
Compiled shaders
Input is available in the game menu
* Setting Mouse.Position works again
* Fix ButtonEvents not flowing to UI
* GameMenu fills out Game.Server partially, loading input actions
* Add Panel.ButtonInput
* Fix Panel capture mode not working
* Fix cursor disappearing during loading
* Restore the cursor back to its original position after capture mode
* Fix game keys not unreleasing when another context takes over
* Pass escape down to panels, hold escape to close game
* Fix cursor not showing when it should
Fix cursor not showing when it should
Handle exceptions when using -project
Fix game keys not unreleasing when another context takes over
Pass escape down to panels, hold escape to close game
https://files.facepunch.com/garry/f816302e-5c42-4d7f-ae5f-3300d77f931f.mp4
Native Plat_ExitProcess calls managed Environment.Exit, this way AppDomain.ProcessExit events will always execute such as to flush Sentry events
Move bootstrap error dialogs to managed, display exception and make sure it lands in Sentry
Fix cursor disappearing during loading
Restore the cursor back to its original position after capture mode
Fix Panel capture mode not working
When loading game project (through welcome screen), if it fails to compile, don't immediately bail - load the project but don't show menu
Panel.ButtonInput will direct mouse buttons too
Saving a game stores current MaxPlayers in metadata. Fixed default menu Load Game not working, make it look OK.
Disable all game projects when entering content mode
Remove default pitch * 1.5f from Entity.BuildInput, just something we kept moving around from Source native
GameMenu fills out Game.Server partially, loading input actions
Add Panel.ButtonInput
Make Package.IsMounted() work clientside on listen server hosts
Setting Mouse.Position works again
Remove unused
Fix ButtonEvents not flowing to UI
Defer OnAfterTreeRender until end of tick to ensure children processed first and references set (#1180)
* Defer OnAfterTreeRender until end of tick to ensure children processed first and references set
* Only update (run pending events, tick, scroll velocity) after render once - reset that flag on hotload if render tree becomes dirty
* Revert "Only update (run pending events, tick, scroll velocity) after render once - reset that flag on hotload if render tree becomes dirty"
This reverts commit aae36e1777d11a5649c24985c0f8802ced3397b4.
Input Cleanup (#1183)
* Strip inputstacksystem
* Delete inputsystem.dll
* Rip out all the analog input stuff
* UserCmd is all generated in c# now
* Add Input.MouseCursorVisible
Allow buttons to unpress even if they don't have the same context
Update all entities network hash after a server package has been installed - sboxgame/issues#3635
Adding a new server package would correctly change the DynamicAssemblyHash
on both server and client, however all current entities would still have
the old DynamicAssemblyHash.
This would mean the clients would receive no [Net] updates for this entity.
So to fix this we explicitly reset all entities network hash with
Entity.UpdateAllNetworkHash() on OnServerPackageInstalled.
Reinitializing the network tables would've also worked but would be
wasteful since we know all our exisiting entities have not been changed
unlike if the DynamicAssemblyHash were changed from hotload
Make !activator work for target entity on outputs
Remove unimplemented procedural entities !caller, !player, !game_mode from combo box
Entity IO: !game targets the GameManager so you can have [Input]s on it
[Pick] add MinMax downsample operator for Hi-Z depth buffer, this will help us do some GPU occlusion tests and trace what's between SSR geometry
Make sure log files use process path since CurrentDirectory is too early from getting set here
Fix NRE with WaterController
See sboxgame/issues/issues/3664
Remove more unused
Remove more unused
New Plump Lips and New Eyebrows
https://files.facepunch.com/daniel/1b1911b1/Photoshop_QxYQXjnod1.png
Plus subtle simple face makeup!
Removing type tag updates asset browser history
Fixes sbox/issues/1169
Fix "Parent Folder" being active when in cloud asset node
Do not hide facets panel when there are no facets
In asset browser, so you can still access sorting options, and it is less jarring
Fix TagEdit.OnEdited being fired twice for the same text
Fixes sbox/issues/1169
Pressing F5 refreshes the asset list in the asset browser
Backport simple water from SSR branch
Water fog and refraction
Iterate, make WaterRipple a custom sceneobject so we can fetch depth from it and only render when visible
Fix water ripple collision
Fix SSR issues, just do PS > VS converstion to be faster, composite it directly to water
Fixed a couple of warnings
Update templates
- Use package selector modal instead of replacing pages w/ a map selector
- Use pointer cursor on buttons in main menu
Having a separate repo for templates is starting to annoy me
Add synchronous IRenderDevice::ReadBuffer and asynchronous IRenderContext::ReadBuffer
Add ComputeBuffer class for creating, reading and writing GPU buffers for usage with ComputeShader
Can be passed to RenderAttributes.Set( string, ComputeBuffer )
Read data from GPU with ComputeBuffer.GetData<T>( Span<T>, int, int )
Add ComputeBuffer.SetData( Span<T> ) and ComputeBuffer.CopyStructureCount( ComputeBuffer, ComputeBuffer, int )
Changes to ModelDoc outliner
https://files.facepunch.com/rubat/1b1911b1/6zEGaMnR6A.png
Fix Panel.OnMouseMove not getting called
ShaderGraph: Use .source2/temp folder that is actually mounted instead of absolute path shaders, these go properly through the ShaderTypeManager and get the right offsets then
Can compile Vulkan shaders on shadergraph / shaderhook now without crashes on DX11 🤯
StartScreen is no longer modal
Cap IdentEdit to 16 chars
Split out Explorer into 3 tabs now that our docking doesn't suck
Draw active project at top of Project tab
Shadergraph: only compile preview shader for the current render API
Be more lenient on light direction validation mask for directional AO, make sure that aoproxies don't clip through citizen's arms
Directional AO can use more steps now that it's cheaper
Don't release jump list object unless it's succeeded (should fix crashes on Proton and maybe weird Windows setups), release another thing too
Only call UpdateShadow for physics body if we have a shadow controller, physics body scale is getting stomped
Max 32 chars for ident edit, don't show sandbox gamemode twice
Add icons for all file menu items
Add "Open in Editor" context menu option to ProjectRow, shows up for library/tools/addon projects
Make StartScreen a BaseWindow, add HasMaximizeButton
Add modal package selector to main menu, use `Game.Overlay.ShowPackageSelector( query, onSelect )` https://files.facepunch.com/tony/1b1811b1/sbox_0pbOdyXzXM.mp4
Don't clean up Release path when running processor codegen shit, fixes razor gen when testing release builds
Revert "Don't clean up Release path when running processor codegen shit, fixes razor gen when testing release builds"
This reverts commit 738d6ef11f5591743600177ff476b7d5138f9741.
Trace.RunAll() - return empty array instead of null for no results
Fix copying text throwing exception
Use s&box logo as window icon for welcome screen 👋
Don't spam Draw: No Material Mode? from RenderTools::Draw, it's valid for there to be no valid mode when you're under tool vis modes
Fix crash when dragging cloud models quickly in/out of MapView
Support bodygroups for citizen skins
.addon becomes .sbproj (auto renames), editor creates file association, rework -project make it simpler
https://files.facepunch.com/matt/1b1911b1/explorer_Os0Tf2Y8l7.png
All the stuff I just missed with .addon -> .sbproj, can still add inactive .addon and have it rename, don't do -project content projects as if they're games
Merge branch 'master' into gamemenu-input
Fix cursors not working
Fix console key, F keys
Delete spam
Fix UserCmd generation
Add Input.MouseCursorVisible
Rip out all the analog input stuff
All the stuff I just missed with .addon -> .sbproj, can still add inactive .addon and have it rename, don't do -project content projects as if they're games
.addon becomes .sbproj (auto renames), editor creates file association, rework -project make it simpler
https://files.facepunch.com/matt/1b1911b1/explorer_Os0Tf2Y8l7.png