14 Commits over 30 Days - 0.02cph!
53 Days Ago

Rip the bandaid off and stop looking for "GameSettings" meta, only "PackageSettings"
Add search & button to display local maps for games with "this list only" map support
Squashed commit of the following:
commit f5d20681b7389cd09e9c877d4ea0d9e260762a44
Author: Rubat <3299036+robotboy655@users.noreply.github.com>
Date: Mon Dec 5 21:48:02 2022 +0200
Delete Sandbox.Internal.Decals
commit c9ed0a3acf8a248f4533109ddb63edba3a3c5330
Author: Rubat <3299036+robotboy655@users.noreply.github.com>
Date: Mon Dec 5 21:43:19 2022 +0200
Remove obsoletes
Removed Sandbox.SpotLightCone
Removed Sandbox.SceneSpotLight.SpotCone
Removed Sandbox.UI.DataSource.ArraySource
Removed Sandbox.UI.DataSource.BaseDataSource
Removed Sandbox.UI.DataSource.BindMethod
Removed Sandbox.UI.DataSource.Property
Removed Assert.True( bool ) in favor of Assert.True( bool, string=null )
Removed Assert.False( bool ) in favor of Assert.False( bool, string=null )
Removed Vector3.LerpTo( Vector3, float ) in favor of Vector3.LerpTo( Vector3, float, bool = true )
Removed Vector3.LerpTo( Vector3, Vector3 ) in favor of Vector3.LerpTo( Vector3, Vector3, bool = true )
Removed Sandbox.DecalSystem
Nothing should be named "dynamic.*" anymore
protocol++
Recompiled materials
Trim slashes from shader path before compiling
Update shaders.def
Don't skip program when checking if shader is up to date if we failed to load the compiled version (it might not exist)
memset shader header so we dont run into these issues that are caused by uninitialized memory
Remove subview stuff from vr.cpp, not neded in our case
Remove FSR, wasn't doing much and was causing issues with VR stencil, fix vr stencil debug
Granular foveated rendering, still needs cleanup
Remove old deprecated depth of field, cleanup checkerboard reconstruction
Add convars for vr_foveated_rendering
Get center lens position from HMD, pass foveation parameters to GPU
Cleanup and update shader files
Readd FSR for now, wouldn't be able to properly remove it until we have a good replacement, but don't bother with it if we're in VR
Remove unused convars
Tweak autofidelity, remove autofidelity for multigpu, add autofidelity for mobile while at it, fix typo
Tie vr_foveated_rendering to autofidelity, optimize shaders a bit
Fix rebase changes for shader assets
Merge pull request #652 from Facepunch/vr-foveated-rendering
VR Foveated Rendering
Merge remote-tracking branch 'origin/master' into hotload-fixes
thumb_up1
thumb_down0
53 Days Ago

Apparently MakeArrayType( 1 ) != MakeArrayType()
We can skip cached lambda instances now
They'll still get upgraded if they're referenced in a non-cache field somewhere
thumb_up1
thumb_down0
53 Days Ago

Some more test cases for upgrading delegates
Fixed resolving multi-dimensional array parameter methods
ByRef and async method tests
Fixed resolving method definitions with ByRef parameters
Support for upgrading lambdas defined in async methods
More array and ByRef fixes
Type equivalence fixes
thumb_up1
thumb_down0
53 Days Ago

Failing test for lambdas with a generator context method
Fixed upgrading lambdas with a generator context method
Tests for finding definitions of methods involving generic parameters
More generic type / method fixes in hotload
Added failing test for handling removed lambda with a return type
Test case for nested lambdas
Fixed generating error delegate if original lambda had a return type
thumb_up1
thumb_down0
54 Days Ago

Experimental / PoC
Limit stored custom inputs to a maximum of 256, removing older entries as new ones are added
Added ButtonState intended for use with [ClientInput]
Use TypeDescription to fetch property for [ClientInput]
Add extensions for reading/writing Transform
Add Transform.Read and Transform.Write
Add support for Transform to [ClientInput]
Added ButtonState.Pressed and ButtonState.Released with docs
Fixed compile error from copy paste 🥴
Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property
Revert "Make ButtonState a struct again but add a method `Set` so it doesn't need to be a class for the property"
This reverts commit 6d29a14ea85614a2c91c8f670f73e5ebb30e60cf.
Fixed IsDown / WasDown and also Pressed / Released being swapped
Delta values for some stuff (only send stuff that changed since last cmd)
Tidy up + add ManagedInputs
Rename to PawnInput
Just use TypeLibrary as its cached anyway
Add comments + use TypeLibrary
Add HasAttribute<T>()
Merge branch 'master' into custom-client-input
Don't add const to ArgPointer if asref is specified
Rid of CUtlVectorByte in favor of direct byte arrays
Make ButtonState a struct with implicit bool conversion
Write dynamic assembly hash to managed input message. Check hashes match when deserializing, if they don't skip that input
Merge branch 'master' into custom-client-input
Prepare to move a bunch of stuff from user cmd to managed. Clear out eye angle stuff
Start stripping out stuff that'll need implementing on pawn
Merge branch 'master' into custom-client-input
Match structs
Input.LookDelta and Input.MoveDelta analog inputs + copy PawnInput props in MimicBot from target client
Update (obsolete) player and controller examples to use the managed input / pawn inputs
Try stripping out InputBuilder and see how it feels...
Merge branch 'master' into custom-client-input
Some extra docs + rename PawnInput to ClientInput
Remove redundant inputs. Reverse yaw for bots
Some additional documentation
Move MimicBot to base addon
Write -1 if entity is null
Add ActiveChildInput and ensure children get added to Inventory on ClientSpawn so they match
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Can pass RenderAttributes into VertexBuffer.Draw
Avoid conflicts
Merge branch 'master' into custom-client-input
Add Tony's change for always record voice in VR
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Remove code I added that wasn't needed
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge in Matt's Input.Pressed fix for when FPS is lower than tick rate
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Make sure StopProcessing is reset in Input.Process so that it isn't remembered next time
Ensure InputDirection client input is consistently set to Input.AnalogMove for parity with old system
Merge branch 'master' into custom-client-input
Support extra types
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Early out if no managed inputs to write
Additional types
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Fix crash when closing console and restoring default layout
Fix unable to close/open game view dock
Arrange View/ menu alphabetically
Fix gameframe fullscreen
Give Hammer asset browser object name and icon again
Fixed changing asset types breaking paths with spaces in Asset Browser
Added asset type locations to Everything in Hammer
https://files.facepunch.com/rubat/1b0111b1/4YRjDUkg2p.png
This only includes stuff that can be drag'n'dropped in Hammer
Fix soundscape drag'n'drop not applying offset from hit surface
New Outfit! - Bomber Jacket
https://files.facepunch.com/daniel/1b0111b1/slack_sEoatXbAqn.png
LODs and skinning adjustments coming.
aoproxies: fix crash when a non-anim sceneobject has bones and aoproxies, the game used to override sceneobjects to be anim so this code made assumptions
aoproxies: optimize loop over aoProxies by ref instead of copying
Add SceneParticles.SetControlPoint that takes a snapshot
Cleanup AO functions
Make sure we have scene worlds before fetching one for the shape manager
CShapeManager: all of this should be const auto&
Can we stop pushing `#pragma optimize("",off)` to master
Remove vr_ prefix from things that aren't actually dependent on VR
vr_msaa is VR exclusive
Typo :S
Bomber Jacket LODs
Plus adjustments to Hivis Jacket LOD3 shape
Recursive content recompile
Skater Helmet LODs
+ Modeldoc adjustments to Hivis
light prefabs tweak, adding missing LOD to some models, model physic setup
Merge branch 'master' of sbox
Copy over changes for shader resources
Remove old .vfx, .vcs
Forgot some vpc files
Build content
Update assettypes.txt
Update resourcecompilersystem.cpp
Forgot shader asset type images
Impl GetErrorResource for shader type manager so we get an error shader when shader can't be found
Enable all modes for error shader
Recompile all core shader resources from master
Update high_quality_reflections shader
Recompile base shaders
Update Graphics.Paint and PanelRenderer
Update shaders.def
Make damn sure all shaders are packed from vcs from master
Material doesn't grab shaders from resource system anymore until I figure out why it was fucking up
Switch back to using resource system to get shaders for material, remove vfx dictionary
Free shaders for static combos that have zero ref count
Destroy static combo shaders when deallocating shader resource
Create all modes for error material.. again
Switch to error resource if setting up static combos for mode fails
Switch to ResourceIsError for other places that need to check if a shader is error
Remove deallocate logs
Simplify mat_reloadshaders, just do a shader and used materials blocking reload
Fix assert on material layer destructor, static combo ref count should be fine to be zero here, we probably should reloaded shader
update all_shaders.txt
Allow access to material attributes without asserting, if modes have loaded
Delete me_shaderselect.cpp
Don't publish core/*.shader to steam 🦆
Update vfx_compile_helpers_d3d11.cpp
update content from master
Smart Jacket LODs
removing test asset
Merge branch 'master' of sbox
Merge branch 'master' into shader-resources
update core materials from master
Added Input.SetViewAngles - actually sets view angles
Use Input.SetViewAngles for setpos/setang & Game.MoveToSpawnpoint
Added Go To option to entity list in tools (uses setpos concommand)
Fix cable_dynamic entity not existing
Add shader macros back in
Fix crash hopefully stopping build-content from failing
Merge branch 'master' into custom-client-input
Merge branch 'master' into custom-client-input
Merge fixes incompatible
Merge pull request #651 from Facepunch/shader-resources
Shader resources
Build content
Don't free shaders for unused static combos until I figure out why it's crashing
Just get rid of FreeAllUnreferencedData, shaders are destroyed when resource is, so this shouldn't be needed and if it is we can do it better anyway
particle procedural mat uses shaders/spritecard.shader for shader keyvalue
Make mat_print_shaders work again, mostly just for my own use
Make mat_print_shader_info work again
null check resource data when deallocating shader resource (can this even happen tho?)
assign layer shader to error resource if it couldn't load the shader we want
Don't try to set default textures for raw material that has error shader
Dont use GetErrorResource, it's fucking us up
Don't try to deallocate error resource, because this is a thing that happens apparently :S
Actually load all modes for error material, check for the actual error shader was wrong
Remove refcount from vfx, the resource now has the refcount
Add back ogniks fix for sboxgame/issues/issues/2533
Maps can use entities from addons tagged "map entity", these addons are mounted for the map independent of game and are accessible from Hammer entity tool
Fallback to error shader if setting up static combos for mode fails
Remove some parts of material editor still assuming .vfx so we can start phasing it out
Compile optimized versions of all base addon shaders
Force shaders changes in base to always compile optimized
We keep pushing unoptimized shaders. End user ends up having to compile them all the time when they want to build optimized shaders. Lets force base to always be optimized so we don't make this mistake again
Fix mat_reloadshaders not trimming properly, check if shader resource file even exists for good measure
Revert back to the old way of reloading materials, blocking resource reload isn't stable
Removed SteamVRImport as it was unused
Fix mat_reloadshaders not finding all the proper materials it needs to reload
Blocking load static combo requests, seeing little or no benefit to async and it's fucking us over
Fix foliage shader always failing MD5 check, rare situation where the shader has a program defined (geometry shader) with no code inside
Fix Graphics.DrawRoundedRectangle not drawing a border
SetDefaultToRendersystemEmpty for vfxcompile, this should allow it to run on build server I hope
Cleanup and strip native postprocess pipeline and shader, fix dx11 validation error, remove unused combos, features & attribute - remove unused convars: r_post_fxaa, r_post_vignette, r_post_film_grain, r_post_mirror_horizontal, r_post_mirror_vertical
Add mat_free_shaders so I can see how many unreferenced shaders can be destroyed
Build rendersystemempty when building shaders
Fix directional lightmaps and tangents on shadingmodel (including blendable), cleanup blendable, make directional lightmap settings not user editable since they're bullshit for artists
We always want fast compile on iterations
Recompile blendable
Unify alphatested depth prepass stuff to r_depth_prepass, force it to have conservative culling, fixes aliasing on what's otherwise a fine painting to be put in a museum
https://i.imgur.com/l5kIX0T.png
We do want to depth prepass in monitor views, it's much faster
Revert "Unify alphatested depth prepass stuff to r_depth_prepass, force it to have conservative culling, fixes aliasing on what's otherwise a fine painting to be put in a museum"
This reverts commit aef55245f9cb3c500db9e32259cbde7f4b9f616d.
Load spritecard shader with the main shader manager manifest so hopefully map compiler always has it loaded
BuildShaders.bat needs to build the whole resource system now because shaders and resources. So do that.
Fixed numerous Rust models having incorrect collision
We aren't actually encoding normals on standard shader, so let's fix that, also let's have it DXT5 instead of BC7
Allow to add non-forbidden headers to Http requests, we should replace this whole class soon
Drop some shader related breadcrums
Warn us if we can't open file stream for static combo decompression, I don't know if CUtlStreamBuffer warns us
Fix editor crash on exit (causing layout to not save)
Compile optimized base shaders again
Redo public MSAA shader api & update glass/passthrough for it
Should fix that random d3d11 error we get
Fix potential NRE in Panel.TickInternal()
OnAssetFileChanged doesn't throw an exception when the file was deleted
Handle and report template parsing exception
Fixed exception reporting wrongly classifying old addons as engine exceptions
Fix menu exceptions getting ignored
Error reporting classify tools propertly
Update exception dsn
This test is a bit subjective, lets give it more breathing room
Moved network and api protocol into src/common/protocol.h, deleted unused version stuff
Oops, unmangle engine.def
Merge branch 'master' into custom-client-input
Don't say we have a shader program if there's no vcs data for it, might fix us not being able to decompress some static combos
More breadcrum info
Remove Package.Query
Clean up + document protocol stuff in c#
Pass api protocol when querying packages
Include program type in breadcrumb too
Disable api protection unit tests (we're breaking the api now)
Api++
Unit test fix
Merge remote-tracking branch 'origin/custom-client-input'
protocol++
Remove obsolete
Refactor to assume we have Mono.Cecil, WIP method resolution
Fixed server not correctly setting correct values for game settings
Add OriginalViewAngles to Player
Merge branch 'master' of github.com:Facepunch/sbox
Updated game.minimal template to fix Input so people creating new projects won't be greeted with errors
Clear buttons and AnalogMove for DevCamera
Make Input.Clear internal as it's confusing (and server-side only). Update ThirdPersonCamera to use ClearButtons
Merge branch 'master' of github.com:Facepunch/sbox
Update ProjectConfig.Ident MinLength to 2
Fixed HotloadTests.Delegate11
Hotload message type consistency
Warning: non-fatal, but recommend reloading the game
Error: something went wrong that we should fix
Fixed resolving nested type definitions
Merge remote-tracking branch 'origin/master' into hotload-fixes
thumb_up1
thumb_down0
56 Days Ago

Split DelegateUpgrader up, mocked up same-named scope method solution
thumb_up1
thumb_down0
57 Days Ago

Easy case for delegate methods from non-swapped assemblies
Failing delegate swap involving same-named methods
Strategies for fixing HotloadTests.Delegate11
thumb_up1
thumb_down0
57 Days Ago

More diagnostics for TestAccessControl and OnAddonsCompile with scopes of each stage
Fix asset.party sound(scapes) not loading for local maps
unless they were opened in Hammer first
Fixed Game Launcher play button not working on game start when the selected item is the first one
Added upgraded docking system
Fixed an issue with bind proxies change detection
Fixes cases when the value of a bind proxy target or source changes after assigned but before the hash was calculated., making the 2 sides desynced until the next value change.
Fixes sboxgame/issues/issues/2594
Minor cleanups
Revert "Fixed an issue with bind proxies change detection"
This reverts commit 25876a3af2d31f764e5ccbcc3774b36b39b992e1.
Remove DisplayInfo.For cache, it sucked hard under parallelization - after thinking about the best way to do it, it doesn't need to be done really.. Can use TypeLibrary.GetDescription<T>() instead where it's already cached
Fix Hammer Asset Browser not creating
Update Facepunch.SymStore to .NET 7
Update Facepunch.SymStore.exe
Fix crash caused by invalid vertex stages trying to be loaded on material compilation
Embed shader macros so we know what combos are set when viewing shader debug info
Update Facepunch.SymStore.exe
Make Window.StatusBar able to handle late initialization of statusBar() - fixes Hammer asset browser assets disappearing due to native ptr in StatusBar being null
Citizen/animgraph: increased long idle tag trigger time from 5 to 60 seconds
Fixed an issue with bind proxies change detection but passes tests now
Fixes cases when the value of a bind proxy target or source changes after assigned but before the hash was calculated., making the 2 sides desynced until the next value change.
Fixes sboxgame/issues/issues/2594
Merge branch 'master' of sbox
"Projcet" -> "Project"
Merge remote-tracking branch 'origin/master' into hotload-fixes
Get rid of soon-to-be-unused "context" arg in OnTryCreateNewInstance
Some more permutations of lambda method types
Big DelegateUpgrader rewrite
* A lot more careful about matching generated methods that change name
* Fixed case where swapping unchanged code would substitute in the wrong lambda method
* Now replace lambdas we can't find a match for with one that throws a helpful error (before they would become null)
thumb_up1
thumb_down0
59 Days Ago

Stop watching System.Text.Json since we're clearing its cache now
Ignore LiteDB types during hotload
thumb_up1
thumb_down0
59 Days Ago

Make hotload tests more strict
Warn when encountering delegates that can't be upgraded
Even simpler way to clear System.Text.Json cache on hotload
Readonly field hotload test
Trace instance paths when doing hotload tests
thumb_up1
thumb_down0
59 Days Ago

Fixed ConditionalWeakTableUpgrader
Handles the case where oldInstance == newInstance, or if the collection gets modified while being processed
Simplify JsonSerializerOptionsUpgrader
Directly process JsonConverters inside existing JsonSerializerOptions, without creating a new instance. Handles case where we can't create a new instance, and the options aren't mutable. Also make sure we process static fields in System.Text.Json assembly. Possible fix for #640
Add some more easy hotload skips to save a few milliseconds
JsonSerializerOptionsUpgrader .NET 7 fixes
Log path to instance when a hotload error occurs
Some nicer paths for items in common collections
Replace TypeDescription / MemberDescription instances during swap
Tests for TypeDescription / MemberDescription replacing
thumb_up1
thumb_down0
60 Days Ago

Log path to instance when a hotload error occurs
Some nicer paths for items in common collections
thumb_up1
thumb_down0
60 Days Ago

60 Days Ago

Fixed ConditionalWeakTableUpgrader
Handles the case where oldInstance == newInstance, or if the collection gets modified while being processed
Simplify JsonSerializerOptionsUpgrader
Directly process JsonConverters inside existing JsonSerializerOptions, without creating a new instance. Handles case where we can't create a new instance, and the options aren't mutable. Also make sure we process static fields in System.Text.Json assembly. Possible fix for #640
Add some more easy hotload skips to save a few milliseconds
thumb_up1
thumb_down0