1,109 Commits over 1,219 Days - 0.04cph!
SceneSunLight transform sets the correct direction now
Add cloud path to CONTENT search path, fixes hotspot rects not working but probably loads of other weird stuff too
Gizmo.Model shouldn't cast shadows
Make sure we have a Filesystem.Content early even though LocalProjects aren't added yet, fixes asset type icons not registering
Rebuild content path and open editor window on PostBootstrap since LocalProject are added in Bootstrap now, otherwise Qt doesn't know where any files are
tools_sprite shader: can use in standard mode
Gizmo.Draw.Sprite correct transform
Gizmo sprites draw the right texture although this generic shader is shit
Update MapEntity.TypeDescription when class is changed from native
Oops not a string, return enum
CMapView m_pToolManager can be nullptr when rendering thumbnail
Add MapNode.Visible property, don't call DrawGizmos for hidden entities
Hammer manipulation mode maps to Gizmo.Settings.EditMode: select, position, rotate, scale, pivot
Hammer Gizmos (#874) ( https://wiki.facepunch.com/sbox/Hammer_Gizmos )
https://files.facepunch.com/matt/1b0511b1/gizmos.mp4
Whitelist some System.Buffer methods
* System.Buffer.BlockCopy( System.Array, System.Int32, System.Array, System.Int32, System.Int32 )
* System.Buffer.ByteLength( System.Array )
* System.Buffer.GetByte( System.Array, System.Int32 )
* System.Buffer.SetByte( System.Array, System.Int32, System.Byte )
interopgen: don't needlessly overwrite subfiles as this would cause c++ rebuilds everytime
Whitelist System.Lazy
Whitelist System.Runtime.CompilerServices.ConditionalWeakTable
Revert "Never recompile symlinked assets, e.g compiled asset from asset.party that you have the source file for"
This was causing more problems then it was solving, need to rethink a better way to do this.
Whitelist System.Collections.Concurrent.ConcurrentDictionary & System.Collections.Concurrent.BlockingCollection
Whitelist System.Buffers.Binary.BinaryPrimitives
Whitelist System.Environment.StackTrace
Shader Graph: Clean up recent files code; make clear recent files show again, only show max 10, re-opening a file moves it to the top of recent files
Fix build failing models, these probably need the same lodding setup as simple_dress too @DanduwFP
PropertySheet { init; } properties are read-only
Fix choppy Input.Pressed outside of Simulate (e.g FrameSimulate or UI Tick) when FPS was lower than tick rate
Whitelist System.Net.Primitives assembly, and HttpStatusCode type
Fix User-Agent typo so none would ever be set
Let you define Content-Type and stuff through the standard headers field
Fix these typos in the HttpHeaders whitelist, but probably will unwhitelist these
Can specify HttpContentHeaders specifically for Content related headers, non-content would still use standard way
Http.CreateJsonContent specifies application/json as default content type
Static Http API (#604)
Add Sandbox.Http static REST methods that run off an allow list in your project settings. Obsoletes Sandbox.Internal.Http.
---------
Co-authored-by: Rohan Singh <rohan-singh@hotmail.com>
Co-authored-by: Garry Newman <garrynewman@users.noreply.github.com>
Set output color to adjusted atoc opacity, recompile foliage shader for this
Recompile citizen animgraph from editor, from contentbuilder cmd line it produces a 9kb file instead of 47kb?
Silly nob left debug msg in
Never recompile symlinked assets, e.g compiled asset from asset.party that you have the source file for
Rebuild content - mainly for removing obsolete shader attributes from materials using blendable/glass/foliage
Get rid of blend mask from non blend material api
Delete ShadingModelStandard, it never really worked but if you were using it for some reason use ShadingModelValveStandard instead as that'll stay backwards compatible.
This probably shouldn't be a break, it's gonna stop remapping normal/rma on old glass materials otherwise
Don't define standard material inputs if S_MULTIBLEND is set, this is the best way I can think of to reduce samplers on blendable without breaking backwards compatability.
I don't see much reason for this stuff to even be in common, it's pretty hyper specific to the blendable shader.
Also will get rid of the bullshit first input from an artist workflow: https://files.facepunch.com/yourname/1b2111b1/sbox-dev_kGyz4UAlhq.png
Use well known SCENE_RTSIZE_FRAMEBUFFER instead of manually fetching dimensions that seem to give us a 12k x 2k render target... This was flooding vram and causing errors
I'm not sure what we were trying to fix when changing this, but if SCENE_RTSIZE_FRAMEBUFFER is returning the wrong dimensions for a framebuffer copy, we should fix that instead.
Whitelist UnreachableException constructors too
Foliage shader: Add standard vertex color based procedural animation based on http://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch16.html
Some additional changes here to Material API so we don't need to double sample for opacity & removal of dead code.
Documentation: https://wiki.facepunch.com/sbox/Foliage_Shader
https://files.facepunch.com/matt/1b1111b1/sbox-dev_3qi13Ck52s.mp4
When finding dependant assets always search the same path first before any other
Fixes a case where the assetsystem would get confused and infinitely recompile an asset if it had a dependancy across 2 addons, e.g:
dm98's dm_crowbar.vmdl depends on crowbar01.fbx which exists in:
1. addons/citizen/models/citizen_props/crowbar01.fbx
2. addons/dm98/models/citizen_props/crowbar01.fbx
Now it'll always favour 2 because it's in the same addon
Hammer: Max lightmap resolution 8k as 16k is impractical and never worked
Hammer: Fix entities from remote packages by using new PackageManager API
Fix swapchain assert when closing editor window
Fix typo in material compiler where it'd keep upgrading materials, provide some feedback too
MET standardize shader to shader_c
Recompile the rest of the materials that were using legacy paths before (hopefully this is all of them now)
Scenes rendered from Sandbox.Tools apply an SVF_TOOL_VIEW flag, primarily this will stop stereo rendering on it
Fix error happening when using MET or recompiling assets due to null metadata in LoadTags
Fix static event exceptions throwing an error instead of showing the real exception
Fix WebPanelTest throwing NRE in debugger
.editorconfig changes to match Valve coding style better
Delete IVfx::GetAllShaderVariables was only used for dynamic shader compiles
Non Pow2 textures are allowed so make sure the tex coord scale gets set
Auto upgrade "shader" kv in vmat source instead of just compiled, e.g "vr_complex.vfx" -> "shaders/complex.shader_c"
Recompile all assets - mainly upgrading legacy shader names
Update vfxcompile, less mpi shit, simpler parallel processing loop
Up MAX_LOGGING_STATE_COUNT from 128 -> 256, this is per thread and vfxcompile will have a main thread + 128 worker threads
readme: troubleshooting long paths
shaders workflow: always upload artifacts even on fail
shader workflow: can force build all
Add -renderdoc cli option for early renderdoc hooking
Don't needlessly set g_TransformBuffer or g_TiledLightBuffer on Submit, already set on init
ReadVfxFile: don't open file twice to skip bom, don't skip non utf-8 boms cause that's not gonna work
vfxcompile can specify -threads
shaders workflow uploads symbols
▌▋▍▄▆▇▍▋▍▆ ▇█▌▋ ▌▄▍'▌ ▄▍▋▄▌ ▌▇██ `▆▅▍▌██▄.` ▆▍▄▅ ▋▅▍█▊▄▌▋▄▌▆▅▅, ▄▆▄▍▋ ▌▅▋▌ ▍▋▉▄▇▍▄▋▉▍▄▌ ▄▍ ▍▆█▋▄▉▇.* ▉▍ ▍▋▌▅▇▅ █▄▌█▍▅▆▌▉
▋▌▋▆▇ ▆ ▅▇▍▇ ▄▊▆▅ ▅▅█ ▇▋ ▊▇█▋▋▊▄▌ ▅█▅▋'▋ █▍▄▅▌ ▅▆▊▋█▌ ▌▆█▅▍▋▆.▉▌█▆ ▆▆ ▅▄▊ ▆█▄▌▌▉▇▆▇▅▄▇▆▄ ▅▌▌▉▌█▅▍▍.
█▅▉▍ ▇▆ ▋▋▄ ▌█▄▆▋▉▄▇ ▍▆▌ ▌▊ ▌▆▋▇▇ ▇▋▆ ▉█▆█▊, ▋ ▆▊▍▄▉▇▄▉▌ ▄▌▅ ▆▉▉ █▍▄▅ ▋▆'▇ ▅▄▌▇▄▋ ▆▄▋▌ ▄▌▋ ▊▄▆▇█▊▇█ ▋█▆▄ ▅▊ ▅▉▆ ▇▌█▍█▍▅▅ ▇▆▇ ▋ ▆▄▄█▋▍█▊▋ ▊▅▍▌█▉ ▊▆▌▅▄ ▉▉█▅█▋▆ ▅▅▅▄. ▇▄ ▊▉█▅▊ ▇▋▋▌ █▊▋█▅ ▄▇▉▌ ▉▅▆▆.▊▉▌▍▄ ▊▇▉ ▊▉▋ ▌▅▌▅█▊█▇▇▊ ▅▌ █▍▊ ▅▋▉▆▉/▆▌█▌▌▇▊ - ▇▄▇▇▌▄ ▄▉▍▅▅▄▆▄▋▌ ▉▉▋█▍▇▉ ▉▍▇▄█▄.
vr: tracked objects (hands) also use full anchor rotation, not just yaw
vr: remove axis limitation on vr anchor rotation, enjoy throwing up
Skin shader use DXT5 (no sRGB) instead of BC7 for the combined masks texture; stops blocky artifacts & it's more appropriate
Resolves these blocky artifacts on the ao mask: https://files.facepunch.com/matt/1b2811b1/TA6eSCStlI.jpg
Obviously this is a bug with bc7e and alpha channels (there are issues open), but it's super specific to the way we're combining these textures together for this shader.
For standard color maps bc7e is supreme to all other encoders, and when we're combining channels together bc7 is rarely the right choice, so I think it's more than fine to avoid this.
Remove nocompress hint from citizen_skin_ao.png and recompile skin materials
Rework parts of CLightCookieManager to prevent crashing and optimize slightly
* Don't create new light cookies when we exceed the max, otherwise we'll just fucking crash
* Don't needlessly update the texture slices of removed cookies, new cookies will replace
* Light cookies use a strong texture handle instead of weak handle
Update README: General cleanup, build instructions, using unit tests, engine reference, using Git tips
Compute max swap chain size from all monitor dimensions - solves tools like Hammer not being able to render fully on secondary larger monitors
GetMaterialOverride return default if the override is invalid, specific fix for Hammer crash but could've been fucked elsewhere