17,507 Commits over 1,338 Days - 0.55cph!
Allow direct access to camera's render hooks
Allow tools access to all alive scenecameras
Name the scenes
New Outfit Piece! - Hard Hat
https://files.facepunch.com/daniel/1b2311b1/hard_hat_01.png
Including LODs and some experimental jiggle bones.
Fix inspector history not letting objects garbage collect
Fixed Option not being adopted by Toolbar, so never being released
Add warning if double alloc in InteropSystem
Save and load morph weights
Add initial morph pose node to compile animation with manually set morph weights with temp UI https://files.facepunch.com/layla/1b2311b1/sbox-dev_E6nAIZdzWg.png
Early out if the cloud assets already has the package, don't bother with any unnecessary remote fetching. Refactor and comment.
Add Install to context menu of a packaged asset, have already found myself wanting this
Icon indicators for installed cloud packages
Fix texture hotload for images loaded without '/'
Remove bad using
When we're dragging on the map view with Qt, start a QTimer to run tool frames manually. This makes dragging packaged assets able to async properly since we can run our main thread synccontext and dirtied map nodes will actually re-render.
ModelEntity documentation pass
Obsolete ModelEntity.MoveTo and related functions
Obsolete ModelEntity.MoveTo and related functions due to them not functioning:
* All MoveTo overloads
* MoveFinished
* MoveBlocked
* MoveWithVelocity
The plan is to eventually move this functionality to KeyframeEntity
Reorganize some ModelEntity properties
ModelEntity documentation pass
Documentation pass - Texture, SoundFile
Built-in support for periodic leaderboards (daily / weekly / monthly)
RenderHook has a OnFrame, called before any rendering is done - useful for placing SceneObjects etc
Fix NRE in CodeCompileNotice
Documentation pass
Obsolete Model.GetBodyPartMask methods + cleanup
These methods are only useful in engine as far as I can tell.
Clean up SceneLayer enum insanity (which I added)
Fix warning spam
Render water on the opaque layer
Support for marking entries as deleted in the backend
Refactor to nest leaderboard attributes etc in the Leaderboard struct
Let c++ threadpool execute shit in the main thread
Add ManagedRenderSetup_t
SceneCustomObject renders in the main thread
Added ability to join friends through Steam Friends (untested)
Revert "Move ManifestMount to Sandbox.Engine"
This reverts commit c1cbe1e2c3ce181ddde6f9633fe1861c04576bbf.
Set the bounding box based on package metadata so you know how big the model is while it's still downloading - I think this metadata probably belongs in the Qt drop data
Use AssetSystem.InstallAsync when dropping a package on the map, delete all the old bullshit ManifestMount around here
No need for CResourceCompilerMap::MountMapTransientAssets now, asset system mounts cloud automatically
Remove CAsset::IsVisibleForMod - this was causing addons assets to be invisible to other addons assets depending on the order addons were added..
This should fix cases where uploading a map wouldn't upload dependant assets from content pack addons seemingly randomly.
As well as let any addon assets see assets in our cloud path so they can resolve references properly.
Save distinct Asset.Package idents of referenced assets on map save into the Asset.Meta, and make sure they are installed on map load
Acquire physics ref for scene model cloth so tools don't go releasing it out from under us
Add BrushEntity.Collisions, obsolete BrushEntity.Solid
Fixed prop_animated Collisions property not affecting Hammer
Fixed Hammer Physics sim not respecting non solid entities
Fixed leaderboard details having too much padding
Remove CAsset::IsVisibleForMod - this was causing addons assets to be invisible to other addons assets depending on the order addons were added..
This should fix cases where uploading a map wouldn't upload dependant assets from content pack addons seemingly randomly.
As well as let any addon assets see assets in our cloud path so they can resolve references properly.
Add TypeLibrary.GetDescriptions() - returns all types
Add Material.GetShaderMaterial( shadername );
Add [SceneCamera.Default], which when applied to a RenderHook will add it to the camera by default
Fix unable to compile shaders that aren't in the shaders folder
Add HighlightRenderer
Remove shameful debug code
Clothing reskin variations
Black Boots, Blue Sneakers, Brown Cargo Pants and Blue V Neck Shirt reskins.
Fixed ragdolls incorrectly stopping physics sim in Hammer
Fixes launching a ragdoll in Hammer and stopping simulation making the ragdoll unselectable, and spazz out/teleport when re enabling simulation on it.
Add SceneModel.ResetAnimParameters
Allow fetching diffuse & specular separately for valve shading model
Use valve standard for the time being
Glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Allow fogging of grime & glass
Allow fogging of grime & glass
Allow fogging of grime & glass
Fix grime on refraction variant
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_VGCbGQv4Tr.jpg
Allow tweaking of the specular of the glass for its reflections
Allow tweaking of the specular of the glass for its reflections
Delete core glass shader & sbox_glass, new shader becomes glass
Fix glass not working properly with tiled rendering off
Cleanup & lower default opacity so we don't shadow by default
Update some existing glass materials
https://files.facepunch.com/ognik/1b0211b1/sbox-dev_QPGRwiTZTq.jpg
Missed this shader removal whoops
Refraction glass color tint now works with opacity
Drop max refraction distance, doesn't need to be an artist tuned. Fix glass tint not working in non refraction mode
Allow switch to multiply for color tinting in refraction mode because it can look better in some situations
Blur masks
Remove grime as a feature and have it on by default, reorganize attribute layout
Remove glass from shader compiler
Fix grime masks not behaving as expected
Recompile with stripped shaders
Add attributes to disable blur & refraction
we can expose this as a convar is needed then
Reorganization & name cleanup
- Reorganize all sections within the shader
- Refraction can have its own normal map now
- Fresnel can be toggled
- Fixed an ambiguity with tint color
Fix specular not being taken into account on glass transparency
Lets get rid of these for now, fixes translucency sorting
Update some glass materials again
Initial work on new glass shader
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Allow fogging of grime & glass
Allow fogging of grime & glass
Allow fogging of grime & glass
Fix grime on refraction variant
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_VGCbGQv4Tr.jpg
Allow tweaking of the specular of the glass for its reflections
Allow tweaking of the specular of the glass for its reflections
Delete core glass shader & sbox_glass, new shader becomes glass
Fix glass not working properly with tiled rendering off
Cleanup & lower default opacity so we don't shadow by default
Update some existing glass materials
https://files.facepunch.com/ognik/1b0211b1/sbox-dev_QPGRwiTZTq.jpg
Missed this shader removal whoops
Refraction glass color tint now works with opacity
Drop max refraction distance, doesn't need to be an artist tuned. Fix glass tint not working in non refraction mode
Allow switch to multiply for color tinting in refraction mode because it can look better in some situations
Blur masks
Remove grime as a feature and have it on by default, reorganize attribute layout
Remove glass from shader compiler
Fix grime masks not behaving as expected
Recompile with stripped shaders
Add attributes to disable blur & refraction
we can expose this as a convar is needed then
Reorganization & name cleanup
- Reorganize all sections within the shader
- Refraction can have its own normal map now
- Fresnel can be toggled
- Fixed an ambiguity with tint color
Fix specular not being taken into account on glass transparency
Lets get rid of these for now, fixes translucency sorting
Update some glass materials again
Initial work on new glass shader
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Check if we can play map by checking if vpk exists, sometimes asset IsCompiled is false if there's a crc mismatch on something it depends on
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
Simplify mapdoc remote asset manifest, no need for all these C++ bindings
ResourceCompilerMap: parse the remote asset manifest and symlink mount any transient assets just before `CResourceCompilerMap::CollectMapDependencies`
ResourceCompilerMap: Put the transient asset manifest in the .vpk - this will serve two purposes: publishing should mount before collecitng dependencies of the map, when loading the map locally we need to fetch/mount these transient assets
Mount transient assets in resourcecompiler even earlier with a vmap.meta file, any later and the references get fucked up
Clean up all this dmx crap and use Asset.MetaData on the vmap for our transient asset manifest
Small cleanup in compilemap, it's okay not to have a .meta file, remove some debug logs
Get the debug download text working again, use static dirtying this time so its safer / easier
Fix null ref on new maps
Revert "Recompiled Assets" - these were recompiled on an old version
This reverts commit 3859bffe7bb821a43bb261084a1aa6ce35d1b0ef.
Up VTEX_LOGICIAL_CRC_VERSION - This is going to rename all generated.vtex_c and recompile vmat_c, I know this sucks but we have to do it because we've had a determinism bug in the texture compiler for a long time and that's causing our texture manager to shit itself when it expects everything to be deterministic.
Recompile all vmat_c
Remove these generated.vtex_c - how did they even get past the .gitignore
update stubble.vmat_c from merge
Initial experiments
Put HUD and GameUI rendering in hooks
Switch to managed render hooks
Change some Assert.NotNull to Assert.IsValid
Switch post process to work in new system
Lets initialize the pointers in CMeshDrawPrimitive_t so I don't waste 40 mins chasing my own tail again
Add Render.Draw.RenderSceneObject (lets worry about how much this api sucks another time)
Added Render Events for BeforePostProcess and AfterPostProcess
Support LOD/Bodygroups in RenderSceneObject
managedrenderpipeline.h doesn't exist anymore
Add render hooks for rendering just before viewmodel, just after viewmodel
Get rid of RenderTools.DrawScreenQuad - it was doing way more bullshit than we needed
Remove RenderTargetDesc
Allow SetRenderTarget to set depth too
Allow creating common depth formats
Add RenderTarget
Fix color selector so you don't have to stop dragging the mouse for 200ms to preview the color
Obsolete SetViewport
Don't define D3DCOMPILE_WARNINGS_ARE_ERRORS
RenderTarget cache tick, flush
Separate function to create a render target using backbuffer size fraction
Add Draw3D.Blit (replaces ScreenQuad)
Post process use new hooks
Change CopyDepthBuffer, CopyFrameBuffer to GrabFrameTexture, GrabDepthTexture - take in attribute target name and optional target attributes
Fix Draw not using the passed in attributes
DrawSceneObject kind of do LODs properly
In SceneObjectDraw when using an override material, pass the original alpha texture down as BaseOpacity if it had alpha
Add GenerateMipMaps, rip out a bunch of previous mipmap code
Removed unused arg from SetTextureData
When creating texture with data, if the data size is the size of the first mip and we have multiple then automatically generate the others (and go apeshit if the datasize is wrong)
Throw exceptions is trying to set texture data with wrong size in c#
Remove skia mipmap generation, let dx do it for us automatically
Allow UI to use mipmaps
Fix not being able to load materials during rendering
GameLoop::PreRender ain't doing nothing
Remove unused IScreenSpaceEffect
Render state restores, allows nesting
Let toolviews have the managed pipeline
Let SceneCameras have a debug name
Renderhooks linked to SceneCameras
Obsolete PostProcess
Unobsolete Glow Component
Add EntityComponent.GetAllOfType<T>()
Move RenderHook to its own file
Model related docs
Renamed certain extension classes so they are accessible on asset.party
Fixed OOB crash in CModel.GetFlexControllerName
Make Model attachment, morph & bone methods throw on OOB
Black Leather Jacket Reskin Texture
Variation of the Brown Leather Jacket
Initial work on new glass shader
# This is a combination of 2 commits.
# This is the 1st commit message:
Initial work on new glass shader
Grime implementation & let grime cast shadows
# This is the commit message #2:
Grime implementation & let grime cast shadows
# This is a combination of 2 commits.
# This is the 1st commit message:
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
# This is the commit message #2:
Blur
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Allow fogging of grime & glass
Allow fogging of grime & glass
Allow fogging of grime & glass
Fix grime on refraction variant
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_VGCbGQv4Tr.jpg
Allow tweaking of the specular of the glass for its reflections
Allow tweaking of the specular of the glass for its reflections
Delete core glass shader & sbox_glass, new shader becomes glass
Fix glass not working properly with tiled rendering off
Cleanup & lower default opacity so we don't shadow by default
Update some existing glass materials
https://files.facepunch.com/ognik/1b0211b1/sbox-dev_QPGRwiTZTq.jpg
Missed this shader removal whoops
Refraction glass color tint now works with opacity
Drop max refraction distance, doesn't need to be an artist tuned. Fix glass tint not working in non refraction mode
Allow switch to multiply for color tinting in refraction mode because it can look better in some situations
Blur masks
Remove grime as a feature and have it on by default, reorganize attribute layout
Remove glass from shader compiler
Fix grime masks not behaving as expected
Recompile with stripped shaders
Add attributes to disable blur & refraction
we can expose this as a convar is needed then
Reorganization & name cleanup
- Reorganize all sections within the shader
- Refraction can have its own normal map now
- Fresnel can be toggled
- Fixed an ambiguity with tint color
Fix specular not being taken into account on glass transparency
Lets get rid of these for now, fixes translucency sorting
Update some glass materials again
Docs + Rect.Right and Rect.Bottom
Obsolete lowercase Rect.left/right/top/bottom
Added Margin.Top/Right/Left/Bottom and obsolete lowercase variants
Read leaderboard type info from local addon assemblies in tools
Display custom leaderboard types in the menu
https://files.facepunch.com/ziks/1b2011b1/sbox-dev_xm1fXA5ej8.png
Cloud Asset framework
https://files.facepunch.com/garry/671bcc85-b0e6-4d43-8669-eb4a84ee4a22.mp4