22,466 Commits over 1,614 Days - 0.58cph!
Whoops, revert Log.Info back to Log.Trace here
Always call HotloadManager.Replace in PackageLoader.AddAssembly
Updated docs to explain why
Kill controller input system if we run out of gamepads to use
General cleanup, remove unused ControllerOverlay panel
Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist
Don't run ControllerInput.Tick at all if we don't have a controller
When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor)
Whitelist specific attributes in System.ComponentModel.DataAnnotations, avoiding CompareAttribute
Move cubemap building to buildcubemaps.cpp so it's all in one place
Removed renderToCubemap and environmentMaps on camera renderer, not needed for this branch
Remove changes to CCameraRenderer::RenderToTexture, not needed for this branch
Fix depth count for array texture, doesn't need to be * 6
C++20 Support
* Using /permissive and /Wv:18 to start
* Lots of odd fixes everywhere still coming from c++11
* Update protobuf to 24.3 and remove even older unused versions
Don't enable D_WORLDPANEL combo inside panel layers, avoids multiple uses of worldpanel matrix when a filter is active
sboxgame/issues/issues/4056
libprotobufd
Remove all these unused old protobuf .lib
this even older protobuf also wasn't being used
TypeLibrary uses dynamicAssembly to determine if dynamic, instead of checking for "package.*"
Add Sandbox.Utility.Parallel
Add Paint.LoadImage
Can put [EditorForAssetType] on a static method
Asset list cleanup
▍▍ ▇▆█▇▄▅▆ ▍▋▋▉▄ ▆▅▋▆ ▋▍▌▊▉▄ ▋▊▅█▆▅▉ ▆▄▍▉ ▋▉▋▍▊ ▄ ▅▊▋▇ ▇▄▍▇▍▆▌
! ▊▅▆▇█▇█▌ ▆▊▌▄▇▉ ▋▊▉█▉▍ ▆▄▍▋▍▋▋▇▊ ▅▅ ▆▍▊▊ ▌▊▅▇▆▆▄
██▇▉▇▌▊ █▇▌ █▆ ▊▉▆▉▇▊▊ ▅▆▄▉▉▅▊▌▌ ▍█▅▆ ▋▆▉█▇▇█▍▋▅▌▆▌
▊▄▅▊ ▄▋▊▊▅▌█ ▍▋█▊▍▋█▍▋ ▅▉▇▍▋▅
Angles, Rotation, Vector2, Vector3, Vector4 all implement IParsable, have both TryParse and Parse + tests
sboxgame/issues/issues/4051
Set up TypeLibrary when initializing unit tests
Remove unused code, documentation pass
Cut more code from lightbinner light allocs, means only spots will alloc properly for now but cleans a lot of this, align cbuffers, add ComputeDirectLightingForLight to unify lighting calculation on shader
Only use pointer-events on elements we want to click on for SocialBar
Angles/Vector3 Json handle null
Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input
Scope UI simulation
Remove context hacks
Add an env var for the engine path
Add Application static global class
Add support for game code to have unit tests
Sort envmaps by array index before sorting by priority otherwise priority can fail!!!
Gizmo Draw Sprite alternative
Gizmo object scope
Gizmo object selection
Add SelectionSystem
BaseItemWidget has a SelectionSystem, which can be set (allowing selection sync)
Don't need to use MarkRenderTargetRead
Build 1 cubemap per frame for now, render thread getting overwhelmed?
Fix infinite loop, I'm very curious why this doesn't cause problems on master when it very obviously should
Build dirty cubemaps from OnClientOutput instead of OnFrameBoundary
Render cubemaps by adding views and procedural layers
Calculate bounds outside of CalculateNormalizationSH, dumb and also can't set scene object bounds during render
Turn on c++20 and see what fucks up
Thats a lot of errors - lets do /permissive for now
tier0: c++20 fixes
More
Update protobuf to 24.3, patch for source2
That's everything to make it compile
Run Input.SetFocus( null ) on IControllerInputSystem.Destroy
Add IControllerInputSystem.Destroy
Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around
Minor cleanup
Eliminate legacy per view lighting constants, eliminate mixed shadows, add placeholder to some constants where they should belong
Traverse blocks relative to the screen size, instead of set pixels
Expose ClearFlags
Don't update PanelList if not visible
Throw warning if enum property can't be shown for some reason
Add SourceFile, SourceLine to SerializedProperty
When enabling VCS, use the mouse's current position
Remove PanelTraversalOverlay, it looked shit
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Process inputs in MenuDll
Remove some direct controller access, use Input.AnalogMove/AnalogLook instead
VCS: only tick for panels that want mouse input
VCS: fix is-pressed style
Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection
Add PanelTraversalOverlay (for lack of a better name)
Work on finding panels from delta, fixed not finding an initial focused panel
Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling
Decrease block increment size, can get finer selections (i.e PackageCard modal button)
Fix FindPanelsAt never finding more than 1 panel
PackageLoader rewrite
* GameMenu games can have a Main method instead of a menu
* Decoupled TypeLibrary and assembly loading
* PackageLoader is responsible for loading packages into a LoadContext
* PackageLoader.Enroller is responsible for enrolling loaded assemblies into TypeLibrary etc
* A PackageLoader can have multiple Enrollers (needed for Editor)
* Round the chunks in Graphics.Draw so when drawing Triangles they don't end up hanging over the chunk boundary
* Add Draw.SolidTriangle
Change this Info to a Trace
further clean up TypeLibrary
Enable fast hotload by default
Rename PackageLoader2 to PackageLoader
Move GameAssemblyManager to clientdll
Refactor static GameAssemblyManager to instance NetworkedAssemblyManager
ClientDll uses PackageLoader
Remove all the now unused junk from TypeLibrary
Check to see if an asset gets deleted from explorer - and mark it as deleted in the asset system
Update asset browser list on content.changed
Fix tooltips not being visible in the main menu, removed unused main menu style
Show the number of cubemaps built