20,780 Commits over 1,522 Days - 0.57cph!
Hook up File -> Open Scene (Resolve TODO)
Particle system optimzations
Doing cubemap rendering with it's own rendering view is causing all sorts of issues, make it run on the same rendering view context as everything else again
Make SSR reconstruction ghosting less apparent
Fix for edges against distance objects
(i) do not apply AO on distant pixels (eg. skybox)
(ii) when calculating ao, any sampled pixel that is too distant will be rejected as a contributor to AO
Merge branch 'master' of sbox
Detangle all this from Cubemapper, make it able to render inline rather than on a render block
Redo update strategies from envmapprobe, much simpler, works everywhere now
Change dynamic envmapprobe to use 7 mips which is the calibrated value for Cubemapper, change default feathering value to a tighter .25f
Use parallax for ambient envmap lighting https://files.facepunch.com/sam/1b1511b1/sbox-dev_a6lt3mNtWW.mp4
PerformanceStats.Timings lockless
Make prefab variables section of heirarchy resizable, Facepunch/sbox-issues#5726
Remove SceneObject.GetSceneWorld()
Remove SceneObject_UpdateRayTraceTransform
Instead of updating SceneObject RayTrace's every time they move, lets mark them dirty and update them when the raytrace is actually used (which is probably never)
Don't cause a rebuild for mesh component when transform chances when scene is not editor
Remove hack from mesh component that is stopping hulls from being kinematic
Stop launcher from undoing editor prefs changes when kept open, fixes Facepunch/sbox-issues#5857, Facepunch/sbox-issues#5825
(Cookie containers will now process/accept new changes on disk before writing)
Revert "Don't create an empty gameobject when getting a cached scene if the prefab doesn't exist" - causes issues for prefabs on boot
No need to pin this memory anymore, height shape makes a copy of it
Update height collision region
Update height field without recreating the shape
Don't keep setting terrain collider to static if it's already static, this is causing an on dirty, don't dirty collider on heightmap region dirty, we should be able to update this faster
Don't create an empty gameobject when getting a cached scene if the prefab doesn't exist
When host loads a new scene, send a message, and have all connections reconnect to the game. We'll do this in a much better way later on
Better fix for English (US) keyboard layout being force added/removed
Can't think of any other way to filter out citizen assets, cuts down build by 1.8gb(!) so we'll have to live with this for now
Copy all compiled assets from enabled addons again, because sometimes they'll be referenced at runtime even though they're not in a dependency tree
Use correct exit function
Get networking working, even if it's a bit hacky
Move API into backends for standalone/platform, stub out standalone backend
Standalone.Init()
Get rid of LoadStandaloneGameAsync, roll diff into LoadGamePackageAsync
Make a StandaloneGameInstance in standalone
Remove all these file hacks so I'm forced to do something to fix them
Fix file hacks
Add missing sbox-standalone exe back to sln
We only need to copy core/scripts/soundmixers.txt as far as I know
Move gamecontrollerdb.txt into core/cfg/
Get rid of `IsCitizenEnabled` hack
Don't override window title with gameinfo name, apply it nice and early when making app dict
Add shapeless heightfield cast for Terrain.RayIntersects
Check scene camera .IsValid instead
Add undo snapshots when creating objects, don't double up creation/selection snapshots
Clear undo stack when accepting external changes
Barriers Exposed for C#
( Still Work in Progress BUT working barriers )
TerrainMaterialList: Double clicking a material opens its editor (single click selects for use still)
Terrain settings hide Collider properties which we force, can we have Terrain not inherit these at all @aylaylay
Terrain: larger default clipmap extents (fine but can be smarter without a clod mesh), remake clipmap mesh on dirty properties
Terrain: Add MaterialOverride for custom shaders using terrain shader api
Move CodeGen to Engine, add engine assembly reference to allow it to resolve symbols from that
Add StringToken.ConvertAttribute, for codegen to detect situations where we want to upgrade
Add MurmurHash2 to generator
When a StringToken parameter is passed a string literal we codegen that to the token, to avoid the lookup/generation
"chicken" becomes StringToken.Literal( "chicken", 855234573 ), which returns a StringToken
Add ProjectReference from Sandbox.Game to CodeGen, to avoid out of order compiling
Box collider rescales without rebuilding the shape
Allow reassigning prefab source, spruce up instance inspector a bit, don't totally shit pant when prefab is missing
Fix post processing (was passing in ITexture as an int)
DynamicSceneObject: AddVertex( Span ) should not accept a count, internalize ptr only method, VertexSceneObject adds range
Add StringToken alternatives to RenderAttributes
Wake connected here too for good measure
Don't dirty box collider on size change, update the hull instead - fixes trigger enter/leave when resizing
Add internal UpdateBoxShape, box collider will use it
Update mesh shape by updating the BVH instead of recreating the whole shape
Turn on trace solver again, looks like it performs much better
Use worldspace cloud here for the obstacle, it's always identity so no need to transform it
Clear velocity internally when disabling motion
We can't assume rigidbodies are static when motion is disabled, people are using them for kinematic platforms
Fix terrain clipmaps being generated at the shadow map's position rather than the main camera's when rendering shadows
Merge latest izabu changes
Rigid body motion disabled uses static, it doesn't make use of shadow controller so we just miss out on CCD if we use kinematic
Make sure rigidbody disables controller when motion is enabled
Prefab changes on disk will update any instances in open scenes, even when the prefab's not open
Ignore deleted/stale assets in path lookup, unregister managed resource handles on deletion
Fix sliding down slopes, move to height of ground trace hit position
ifdef this shit out to see if it's slowing us down