usermattcancel
reposboxcancel

1,495 Commits over 1,157 Days - 0.05cph!

2 Years Ago
Open in code editor button for tools addons - resolves Facepunch/sbox-issues#2226
2 Years Ago
Make the "from asset.party" addon downloader auto-select the path a bit better - fixes Facepunch/sbox-issues#2233
2 Years Ago
Add a basic asset.party location to the asset browser, remote assets have the drag data of `https://asset.party/{ Org }/{ Ident }` Move ManifestMount to Sandbox.Engine Static ToolRender class uses the current CToolRenderContext context Dropping an asset.party asset on a map view creates an empty prop_static that downloads and sets its model asynchronously Create a remote asset manifest within a map doc, save/load remote assets used within the map
2 Years Ago
Delete dota healthbar SFM code that plagued the IToolService and ISource2Engine Dock Error List in default layout
2 Years Ago
Only enable vr_depth_submit on Oculus as their positional timewarp is the only thing that makes use of it. WMR OpenVR driver would instantly crash on depth submits, so this resolves that too.
2 Years Ago
Get free dragging working from C# using the native stuff for it that does loads of shit. Tidy up lots of redundant parameters since we pass the CMapView now Make static ToolRender class that uses the current CToolRenderContext - only called from Hammer MapView atm Hook up some quick and dirty progress indicators for cloud models in hammer. Fair bit of shit code, but I want to get the flow good first https://files.facepunch.com/matt/1b1711b1/sbox_baEO6vIdim.mp4
2 Years Ago
Process queue for SyncContext.MainThread in ManagedTools.RunFrame() - the frame is ran manually when QtDrag blocks, so lets make sure we can still do async tasks on the main thread Now we can load cloud models whilst we're dragging them around
2 Years Ago
Add remote asset.party location to asset browser, fill it with model query Add drag data to Package in AssetList: e.g package://matt.box Add managed handler for Hammer map view drag drop events ManifestMount from Sandbox.Game -> Sandbox.Engine Bare bones dragging asset.party models into Hammer https://files.facepunch.com/matt/1b0611b1/sbox_5qCyTB85LC.mp4 Tidy up map view drag/drop targets in C#, interop more MapDoc so we can create an empty model and asynchronously set it's asset from the package fetch. There's still some messy code here, I think I need to figure out how to do handles for map nodes before this becomes a sprawling mess. And the async method is getting blocked on the main thread once dragging.. but a background thread is going to crash it. Paginate asset.party assets in browser so we see all of them Make our package drag data in the format "https://asset.party/facepunch/boomerjumppad" we could easily extend this code to let you grab these assets straight from the website then Delete dota healthbar SFM code that plagued the IToolService and ISource2Engine
2 Years Ago
Revert "Make Entity.IsAuthority a virtual property" This reverts commit 1533014f19347562cbac07a148ee3926da2f64ad.
2 Years Ago
Make Entity.IsAuthority a virtual property
2 Years Ago
Tidy up map view drag/drop targets in C#, interop more MapDoc so we can create an empty model and asynchronously set it's asset from the package fetch. There's still some messy code here, I think I need to figure out how to do handles for map nodes before this becomes a sprawling mess. And the async method is getting blocked on the main thread once dragging.. but a background thread is going to crash it. Paginate asset.party assets in browser so we see all of them Make our package drag data in the format "https://asset.party/facepunch/boomerjumppad" we could easily extend this code to let you grab these assets straight from the website then
2 Years Ago
Add remote asset.party location to asset browser, fill it with model query Add drag data to Package in AssetList: e.g package://matt.box Add managed handler for Hammer map view drag drop events ManifestMount from Sandbox.Game -> Sandbox.Engine Bare bones dragging asset.party models into Hammer https://files.facepunch.com/matt/1b0611b1/sbox_5qCyTB85LC.mp4
2 Years Ago
BaseItemWidget: Ctrl clicking selected items removes them from the selection
2 Years Ago
Fix AssetBrowser not loading saved settings correctly - Fixes Facepunch/sbox-issues#2063
2 Years Ago
Fix Hammer texture replace window's asset picker shrinking and becoming unusable Asset Browser: can make new folder from AssetList
2 Years Ago
Enable MultiSelect on AssetList Don't try to open a context menu if we have no options, otherwise Qt will moan Implement shift click multiselect in BaseItemWidget https://files.facepunch.com/matt/1b0211b1/sbox_2u4H5Gcpcl.mp4
2 Years Ago
Entity.networkTags should use StringComparer.OrdinalIgnoreCase when updated from network
2 Years Ago
Fix FileSystem.RebuildContentPath() skipping over addons because it was using File.Exists instead of Directory.Exists. Fixes Facepunch/sbox-issues#2085 and probably quite a bit of other stuff
2 Years Ago
steamaudio_enabled -> steamaudio_enable, drop FC_ARCHIVE since I suspect loads of people had it saved to 1 :(
2 Years Ago
Temporarily disable Steam Audio by default to resolve crashes as the heap corruption has persisted even without IPL_SCENETYPE_EMBREE
2 Years Ago
Tag steamaudio_enabled so we can see it in Sentry, so we can be 100% sure
2 Years Ago
Add steamaudio_enabled cvar
2 Years Ago
forgot to force add the .dll / .lib for aftermath
2 Years Ago
Catch nvidia gpu crashes with nsight aftermath and `-nvgpucrashdebugging` cli flag, struggling to get any significant context out of this on D3D11 so may just revert this at some point
2 Years Ago
m_pDriverVersion reports as "unknown" instead of a null string
2 Years Ago
don't use V_vsnprintf in SentryOutput, external code can specify the funky %S format specifiers Texture2DBuilder.Finish(): correctly check the memory required for texures w/ mips
2 Years Ago
Remove fallback DX9 code for getting driver version, it's straightforward to grab from the registry by the DX adapter LUID. This returns the same windows driver version numbers DX9 was reporting, but I've added some vendor specific renames e.g for nvidia "31.0.15.1659" becomes "516.59" making it easier to filter by driver for us rendersystemdx11: stop linking d3d9 rendersystemdx11: stop linking nvapi LoadD3dCompiler calls Plat_LoadModule without full path ( this is exactly the same way ADJ and we use the same d3dcompiler_47.dll - so hopefully that fixes weird WINE shit ) Replace Direct3D 9 PIX with D3D11 ID3DUserDefinedAnnotation - we're getting a much better list of events in RenderDoc now too New: https://files.facepunch.com/matt/1b2911b1/qrenderdoc_5uxtBKqZlV.png Old: https://files.facepunch.com/matt/1b2911b1/qrenderdoc_fcTCgPGtQT.png - Enable CPixEventScope to record events, these are used to tell us our View / Layer - Don't limit these events behind Plat_IsRunningOnCustomerMachine() - there is no overhead and it can be incredibly helpful for us having them on Steam builds Implemented following guidance of: https://developer.nvidia.com/blog/best-practices-gpu-performance-events/ rendersystemdx11: don't link d3dx11 legacy stuff Fix ErrorReports::UpdateGpu usage from rebase conflcit Delete dead D3DX dlls
2 Years Ago
Delete dead D3DX dlls
2 Years Ago
Remove fallback DX9 code for getting driver version, it's straightforward to grab from the registry by the DX adapter LUID. This returns the same windows driver version numbers DX9 was reporting, but I've added some vendor specific renames e.g for nvidia "31.0.15.1659" becomes "516.59" making it easier to filter by driver for us rendersystemdx11: stop linking d3d9 rendersystemdx11: stop linking nvapi LoadD3dCompiler calls Plat_LoadModule without full path ( this is exactly the same way ADJ and we use the same d3dcompiler_47.dll - so hopefully that fixes weird WINE shit ) Replace Direct3D 9 PIX with D3D11 ID3DUserDefinedAnnotation - we're getting a much better list of events in RenderDoc now too New: https://files.facepunch.com/matt/1b2911b1/qrenderdoc_5uxtBKqZlV.png Old: https://files.facepunch.com/matt/1b2911b1/qrenderdoc_fcTCgPGtQT.png - Enable CPixEventScope to record events, these are used to tell us our View / Layer - Don't limit these events behind Plat_IsRunningOnCustomerMachine() - there is no overhead and it can be incredibly helpful for us having them on Steam builds Implemented following guidance of: https://developer.nvidia.com/blog/best-practices-gpu-performance-events/ rendersystemdx11: don't link d3dx11 legacy stuff Fix ErrorReports::UpdateGpu usage from rebase conflcit
2 Years Ago
Hammer: fix crash when closing editor sessions with active working sets
2 Years Ago
Make compile errors from publishing report to error list, catch this and report it properly on the publish window. Also make tool addons report to error list properly.
2 Years Ago
Include prerelease versions of Visual Studio when looking with vswhere Fixes Facepunch/sbox-issues#2058 Accidentally removed 1 line too many, fixes non-tools not opening
2 Years Ago
Remove some obvious dead code and unused stuff from gameinfo.gi, update the DeveloperHelpURL to the wiki Get rid of -toolsonly, didn't launch anything and our tools are so integrated with the editor it doesn't make sense Remove GameUI interface Cleanup native tools menu bars to match our C# editor, I'd do this entirely in C# but we don't have interop on every tool
2 Years Ago
Delete complicated / hacky pane modes from Hammer map views ( Game, Asset Browser, Object Properties, Entity IO ) Create a dock widget below the Hammer viewport for the asset browser Create the new C# asset browser in Hammer, quite a few things work already with no effort :o Reimplement the Hammer pane embedded asset browser as a dock widget, tabify it at the bottom alongside our new C# one, always show the legacy first (for now). And in general tidy up / simplify the implementation of this Add these asset browser dock widgets to the View->Toolbars menu Need to setObjectName on these so they saveState properly Remove QHeaderView from asset browser grid layout, not useful takes up a shit load of space Legacy asset browser icon sizes match our new asset browser icon sizes, makes the medium icons actually usable in embedded browsers Don't bother showing the new asset browser at all in Hammer, have it opt in from View -> Toolbars so we can get some proper feedback on it Asset browser dock widgets collapse properly on ToggleAssetBrowserDockWidget command Add ToggleAssetBrowserDockWidget command to Hammer that does exactly that, default key bind Alt + A Cleanup HammerAssetBrowser class location, move OnAssetHighlight / OnAssetSelected that inspect / open in editor to MainAssetBrowser Setup default locations for Hammer dock widgets a bit better, open selection sets by default but tab them next to the Outliner since you're going to be using one or the other and not both. Give asset browser dock widget a sane default size Default Hammer map view port to single 3d pane since thats what 90% of people use all the time
2 Years Ago
Default Hammer map view port to single 3d pane since thats what 90% of people use all the time
2 Years Ago
Don't bother showing the new asset browser at all in Hammer, have it opt in from View -> Toolbars so we can get some proper feedback on it Asset browser dock widgets collapse properly on ToggleAssetBrowserDockWidget command Add ToggleAssetBrowserDockWidget command to Hammer that does exactly that, default key bind Alt + A Cleanup HammerAssetBrowser class location, move OnAssetHighlight / OnAssetSelected that inspect / open in editor to MainAssetBrowser Setup default locations for Hammer dock widgets a bit better, open selection sets by default but tab them next to the Outliner since you're going to be using one or the other and not both. Give asset browser dock widget a sane default size
2 Years Ago
Reimplement the Hammer pane embedded asset browser as a dock widget, tabify it at the bottom alongside our new C# one, always show the legacy first (for now). And in general tidy up / simplify the implementation of this Add these asset browser dock widgets to the View->Toolbars menu Need to setObjectName on these so they saveState properly Remove QHeaderView from asset browser grid layout, not useful takes up a shit load of space Legacy asset browser icon sizes match our new asset browser icon sizes, makes the medium icons actually usable in embedded browsers
2 Years Ago
Delete complicated / hacky pane modes from Hammer map views ( Game, Asset Browser, Object Properties, Entity IO ) Create a dock widget below the Hammer viewport for the asset browser Create the new C# asset browser in Hammer, quite a few things work already with no effort :o
2 Years Ago
AssetPicker explicitly plays sound files and sound events, these are normally handled w/ the inspector previews of them.
2 Years Ago
Add IAssetSystem::OpenPicker( IAssetType* type, IAssetPickerListener* pListener ) which opens our AssetPicker from tools addon CQAttributeEditor_SoundPicker ( used in Hammer and probs other shit ) uses the managed AssetPicker, this is way easier to use, doesn't show duplicate entries and shows all sound events not just base ones. Old: https://files.facepunch.com/matt/1b2311b1/sbox_yEIejKDxCd.png New: https://files.facepunch.com/matt/1b2311b1/sbox_8xvDTdEb0c.png
2 Years Ago
Addon creator will derive a path from the provided ident
2 Years Ago
Fix tool.minimal template Tool addons reference base tools addon
2 Years Ago
Add Rider as a code editor (thanks @peter-r-g), I didn't test it but it's just the same as the VSCode one with different regkeys so it should be fine, & clean up some duplicate code around code editors too For default code editor pick VS > VS Code > anything that is installed
2 Years Ago
Fix touch events collision filter exclusion where it needed both entites to have touch events off Fixes Facepunch/sbox-issues#2046
2 Years Ago
Add vswhere nob head
2 Years Ago
CodeEditor out of Sandbox.Engine to tools addon, editors are implemented with ICodeEditor Reimplement Visual Studio with ICodeEditor and use vswhere to get Visual Studio install with .NET installed more reliably VSCode editor support - when active, solutions make a .code-workspace with the right omnisharp bullshit Default code editor is Visual Studio, if that's not installed VSCode Editor preferences window Add Code Editor to Editor Preferences Restore File / Open Solution Add default addon location to editor preferences, default to `%UserProfile%/Documents/S&box Projects` ErrorList.ReportCompilerDiagnostics should be static, this way we catch errors even if our widget isn't open
2 Years Ago
CodeEditor out of Sandbox.Engine to tools addon, editors are implemented with ICodeEditor Reimplement Visual Studio with ICodeEditor and use vswhere to get Visual Studio install with .NET installed more reliably VSCode editor support - when active, solutions make a .code-workspace with the right omnisharp bullshit Default code editor is Visual Studio, if that's not installed VSCode Editor preferences window Add Code Editor to Editor Preferences Restore File / Open Solution Add default addon location to editor preferences, default to `%UserProfile%/Documents/S&box Projects` ErrorList.ReportCompilerDiagnostics should be static, this way we catch errors even if our widget isn't open
2 Years Ago
Move Sandbox.CodeEditor -> Tools.CodeEditor - this does mean we can't open the code editor in non tools mode but does that matter? Define CodeEditors in tool addons, add VSCode support Basic editor preferences window to specify preferred code editor and default project location https://files.facepunch.com/matt/1b1911b1/sbox_TaO9t1R3oN.png
2 Years Ago
Remove warning I left thinking it was dead code
2 Years Ago
Remove Tools.ListView