14,106 Commits over 1,583 Days - 0.37cph!
New Hair - Mutton Chops
https://files.facepunch.com/daniel/1b0511b1/sbox-dev_a12d0ndH7o.jpg
Adding colour variations asap
Fix Material ResourceId not being set so it networks properly
Never try to precache procedural models
Fix bad race on procedural models invoking OnModelLoaded without being properly set to procedural yet
Fix exception when splashscreen manually closed
Fix exception in DragData.Url
Fix LaunchConfig construct exception
Fix exception in ConsoleOutput.OpenAnchor
Fix exception in Hammer.PostLoadMap
Fix exception in AssetPreview.GetAssetThumb
Attempt to fix CloudAssetDirectory share access exception
Attempt to fix exceptions in AssetFolderNode.UpdateCount
Fix possible exceptions in FileWatch.Tick
Wrap ClientSpawn so downstream exceptions can't cause too many problems
Exception wrap CreateEntityFromEngine better
Make unhandled RPC a warning
Change how ModelEntity.PhysicsBody is returned to avoid null pointer exceptions
Handle file in use exceptions in NetworkAssetList.AddFiles
Disconnect clients if they're requesting net files that don't exist/are deleted
Add string.ToLong
Replace Build only complex with something more generic, didn't know we could do this!
Kill spritecard only action, add complex only action
Do standard weakref cache for each native resource class (repeated code isn't really avoidable here sadly), seal these classes, private constructors so you have to use e.g Model.FromNative( IModel )
Garbage collect on Client LoopEnd, eligable Resource classes were never getting collected and leaking their native handles
Simulate clothes on tick by default
https://i.imgur.com/AHZml3P.mp4
Fix movement_path_node missing
If the server's port is taken, try the next one a few times
Make custom shaders shared VS code not add bullshit that just goes unused
Add ShadingModelValveStandard to shader template
Color picker handles HDR colors
fix NRE on map uploads when the map addon contains skyboxes or prefabs
Show components in entity list better https://files.facepunch.com/garry/a20003da-9cd0-48a7-a39c-15a0cb6f5f8c.mp4
tweak model ao proxies, removing redundant prefab (use models instead)
Merge branch 'master' of sbox
Apply tonemapping to RT Baked Lighting
Fix resource precache, fixes networked resources (glass etc)
Implement initial cubemap priority sorting in our cubemap system
Fix tiled light builder adding one garbage envmap to the list
Fix crash due to trying to access invalid prepass layer
Take biggest radius component when passing shape proxies to gpu
Unify alphatested depth prepass stuff to r_depth_prepass, force it to have conservative culling, fixes aliasing on alphatested materials
Fixed several prefabs being corrupted
Caused from a squashed merge rewriting the file contents
Force a reload of any resident resources that are or were symlinked, this is especially required for streamed resources to avoid a mismatch between header and file data
Store GameResources in ResourceLibrary instead of all Resources in Sandbox.Engine so resources get released properly on game shutdown
Every native resource (model, material, textures...) was getting held indefinitely even after game shutdown, this commit solves that by:
* ResourceLibrary will only hold strong references to GameResource, native resources will only have a weak reference internally this way they get unloaded properly.
* Sandbox.Tools gets it's own ResourceLibrary, doesn't piggy back from GameHost.Menu anymore
* Get rid of GameHost from Resources
Launcher: docs, code cleanup
DamageInfo: docs, add HasAnyTag, HasAllTags
Add DamageInfo.WithTags, resolves sboxgame/issues/issues/2698
Obsolete Game.IsToolsMode, Game.IsToolsEnabled, add Game.IsEditor
Humans: fixed Frank head using the wrong eyes material
fixed brick wall trim using wrong surface
match dirt footsteps to the others
Added a realistic human player model! Comes with two heads and a default outfit. This is a first draft, with a rough base set of animations, subject to change and further development. Added a realistic human player model! Comes with two heads and a default outfit. This is a first draft, with a rough base set of animations, subject to change and further development.
▉▉▍▇█▍▊▅
▉▄▄▍▉▉ ▌▉▌▇▅
▋▉▌▊▉ ▍▋▄▊▉▌▉, ▅▅▆▋▄▋▆ ▄▊▌▊▍█ ▄▄▆▍
▇▊▄▆▋▌▉▋▌ ██▊▍▍ ▉▋▉ ▌▋▆ ▋▋▋▉▆▉▍▍ ▍▆▉ ▌█▄▇
▍▋▆█▇▋▄ ▆▇▋▇▊▌▄
▆▍▅▆ ▄▆▊▍█▄▅▍ ▉▌▊▌▊▅▌▊▊▄▆
██▉▊▉▇ ▌▌▌▅▍▋▇ ▇▉█▋▊ ▍▆ ▆▆█ ▅▆▉▉▅ + ▅▌▅ ▇▅▊ + ▊▌█▊▅▊▊/▅▇▋▊▅ ▇█▄▊▄
▄▊▌▍▆▄ █▇▍▌▊▋
▄▄▉▉▊ ▋▋ /▄▅▉▇
▉▅▌▊█▅▅▄ ▅█▋▄▊▇ ▋█ ▌▄▆ ▅▌▍█▇▋▅▉▋:
▋▆▊▍▉▇ ▆▋▇▇▍▆▌▋▉▆▆▍▌▅▌▆▍▄▍▇▉▉▋▉▍▆▉█▆▌▌▌▉▇▅▄▄█▄▍
▇▄█▆▄▋: ▇█▍█▇ ▊▄▅▋ <▊▄▌▇▋.▊▇█▊@▇███▍▌▅█▍▍▄▉▅▉▉▆.▍▅█>
▌█▆▌: ▇▉█ ▍▆▅ ▇▇ ▍▉:▋▌:▉▆ ▌█▅▆ +▍▊▄▅
▆▉█▇▅ ▋▉▌▊▆▅▊ ▄▌▉▌▌▇▉▊▄▍█▋▍ ▍▄▊ ▇▉▉▉▋▅▇ ▍▉▍▄▉▋▄▍▉▊
▍▆▍▍▆▇ ▊▄█▅▇▄▋▇▅▋▍█▅▊▊▌▍▉▉▇▍▇▄▌▍▍▍▄▍▋▄▋▅▅▍█▇▄▍▍
▋▉▌▌▌▉: ▌▌▄▄▆ ▇▇▍█ <▇▄▉▅▇.▅▋██@▊▅▇▄▋▅▉▌▊▊▊▇█▅▄█.▅▄▄>
▌█▊▇: ▅▊▊ █▋▍ ▊▋ ▍▅:█▆:▊▆ ▋▅▌▉ +█▋▊▇
▅▌▌▉▋▅▄▋▊▍▍▌▅▇▄▋▌▍(▄▌▊, ▅▄▍) ▇▆▇▍▅▇▄▍
▊▌█▋▉▆ ▅█▋▆▉█▆▌▄█▄▅▋█▋▌▋▍▋▍▅▉▋▅▊▆▍▄▅▇▌▆▅▉▋▉▅▇▊▊
▋▉▅▍▌▍: ▊▉▅▌▄ ▉▄▊▄ <▊▊▉▊▆.█▆▋▊@▉▋▍▅▊▆▊█▇▅▅▊▇▋▇▊.▊▇▌>
▆▆▇▆: ▉▉▅ ▌▉▊ █▅ ▉▋:▉█:▄▍ █▌▍▆ +▊▅▌█
█▆▍▆▄ ▉▅▇▉▇▅▉█▉▉▇▅▋ ▍▍▊▌ ▌▇▆▊▅█▍ ▄▉▅ ▇▅▅▌▍ ▆▊ ▌▄▅▆
▅▇▉▉▍▇ ▊▄▍▆▍▋▉█▉▄▇█▊██▌▍▅▆█▊▇▌▅▅▍▉▊▋▄▋▄▆▅▇▍▊▍█▇
▊▇█▆▆▇: ▇▋▋▇▇ ▇▇█▊ <▆▆▋▅▍.▆▍▋▉@▇▇▅▉▄▉▅▄▊▍▌▇▍▊▌▋.▊▋▌>
█▊▇▋: ▋█▄ ▋▌▋ ▉▄ ▊▊:▌▌:▌▆ ▋▊▆▅ +▇▊▇▊
▇▆▉▍█▆▉▄▇ ▌▍▉ █▅▍▋▆▆▅▌▅▊ ▄▋▍▉▌▄▉▆ ▇▊▇▅▄▋▅▍▆▆ ▉▉▇▄▍
▇▌▊▊▉▌ ▄▉▉█▊▆▋▍▍██▉▄█▇▆▆▄▅▉▇▍▍▆▉▇▄▌▊▋▆▇▄▇▆▅▌▊▇▉
█▄▇▌▄▄: ▆▉▉▄▉ ▊▉▍▉ <▄▊▆▍▇.▅▍▆▆@▆▅▉▋▆▆▇▊▊▊▅▆▊▅▅▉.▅█▇>
▊▅▉▌: ▄▌▆ ▉▉▋ ▄▇ █▌:▅▉:▍█ ▉▇▇▋ +▌▍▌▋
▆██▄█ ▆▋▊▊▄▊▆ █▍▍▋▋▍▉ ▆▋█▉▉▆▄▉ ▅▍▌▇
▉▍▆▉▋▄ ▉▇▌▊▌▅▄▍▊▄▊▇▉▍▍█▊▄▋▍▍▌▇▊▉▊▋▋▄▇▆▇▆▋▆▊▋▉▌▇
█▊▉▄▍▋: █▍▇▅▆ ▅▋▌▄ <▊▍▆▄▅.█▆▌▇@▋▆▅▌▊▇▊▅▆██▇▇▇▊▌.▅▋▇>
▌▄▄▊: ▇▊▉ ▊▉█ ▊ ▌▅:▋▆:▆▋ ▊▊▆▄ +▉▅▍▆
█▋▇▊▉▆▍▊▍▄ ▆▋▊▌▅▄▊▅▋▉▉
▆▉▄ ▄▍▆▉▉▆▇ ▍▄▇▌ ▌▆ ▄▍▅▊ ▆ ▆▋▍█▅▋█▅█▇██ ▊▆▅▆▉▊'▄ █▅ ▊▊▆▋▆
▍▆▌▉▆▉ ▌▇▍▌▄▊▋█▅▇▌▍▉▉▊▊▋▍▉▆▅▆▅▉▄▋▋▌▌▅▇▌▅▍▉▇▆▇▅▍
▌▉▆▌▌▊: ▊▅▉▆▉ ▍▄▍▇ <▉▆▇▋▇.▌▌▉▄@▄▍▌▊▍▇█▇▋▉█▉▄▆▋▇.▄▉▇>
▊▉▇▌: ▆▉▍ ▄▌▉ ▌ ▄▍:▄▅:▌▌ ▌▄▅▆ +▌▆▅█
█▋▉ ▍▊▇▆▇▉▍█▊ ▅▊▄▄▆▉ ▋▍▉█▉▌█ ▍▉▄▇▅ ▋▇▆▇▋▌█▅▆ ▅▉▋█ ▄▊▆ ▋▆▍▅▍ ▇█ ▆▍▄ ▅▋█▊
▌▆▍█▆▅ ▇▌▍▆▉▅▆▉▇▌▄▉▅▆▆▇▅▆▅█▍▄▇▋▊▋▊▉▇▆▋▄▌▉▌▌▇▊▉▌
▄▌▌▅▍▉: ▉▆██▅ ▋▆▋▆ <▇▉▅▉▌.█▊▆▄@▄▄▋▊█▇▄█▊▇█▅▅▅▋▄.▅▇▅>
▍▅▄▌: ▄▆█ ▇▅▄ ▋ ▇▇:▉▋:▄▌ ▌▍▌▅ +█▊▅▌
▇▅▆▇█ █▊▄▉▇▍▄▆▊▇▍▄▍() ▇▌▄▄ ▉ ▇▅▌▆▆▉ ▍██▌▍▋▅▆▄▋▊ ▄▆▋
▆▌▄▊▅▉ ▍▄▉▇▆▌▆▉▌▅▉▆█▉▉▌█▅▆▍▅▊▍▅▋▌▋▇▆▉▅▆▄▊▊▍▍▅▊▅
█▉█▌▅▇: ▊▋▅██ ▌▇▅█ <▆▄▇▉█.▄▌▇▇@▄▇▅▋▍▊▍▆█▅█▉▅▅▄▇.▅▄▆>
▌▄▆▌: ▌▅▇ ▌▉▊ ▆ ▄▉:▆▅:▋▌ ▅▌▋█ +█▆▇▅
▊▍▅▍▇ ▅▆▄▊█▆▌█▆▊▉▌▇▊(▆▅▍▆▄█▅, ▅▇▆▋) ▇▌▍▊ ▅▆▆▌▆█ ▄▄▌▋▌
▍▇▍▆▆▉ ▅▊▅▄▋▊▄█▅▍▌▋▍▅█▌▌▄▇▇▍▄▅▅▅▄█▆▉▌▆▅▄▅▆▅▌▊▇▊
▅█▅█▆▆: ▍▊▇▄▉ ▌▍▌▉ <▄█▍▍▋.▅▋▍▆@▋▊▋▋▌▇▄▅▊▊▅▉▍▋▍▌.▄▋▍>
█▆█▆: ▆▊▆ ▋▍▊ ▊ ▉▇:█▌:▋▉ ▉▆▌▄ +▍▇▅▆
▊▍▅▋ ▍▄▋▇▌▉▄▆█ ▉▅▊▊▅ ▉▄▅▌▅▄ ▄█ ▇▌▍▍ ▉ ▍▇▍▉▊ ▄▍▍▉▌▅█
▍▌█▄▄▄ ▆█▋▌▄▅▌▌▄▋█▋▍█▍▍▅▍█▍█▉▊▅▍▆▍▇▆▅▉▇▇▋▊▉▋▄▆▌
▋▌▄▆▉▌: ▍▋▉▍▋ ▉▊▄▊ <▋▋▉▍▌.▆█▉▌@▅▄█▅▋█▆▄▊▊▅▊█▇▊▄.▆▅▌>
▇█▄▋: ▆▅▍ ▋▅▅ █ ▉▆:▇▅:▅█ █▋▄▄ +▊▊▌▍
▌▍▆█▍ ▌▉▄▊▆█▄ ▆▅▄▋▋ ▄▌▅▄▍▇ ▇▆▅▊█▅▋▊ ▋▅ ▌▇▅▋▆▆ ▇▌▉▉▄▋▄▅▆▋▆▇
▊▌▋▌▍▊ ▌▆▋▅▅▌▍▉▊▍█▌▌▄█▌█▆█▇▆▊▅▍█▊▍█▄▍█▄▇▉▌▄█▆▋▋
▊▉▄▅▋▇: ▍▆▌▋▇ █▇▊▇ <▆▄▋▋█.▍▉▉▋@███▆▅█▇▆▉▋▊▋▉▄▆▄.▋▊▉>
▆▉▍▊: ▋▅▊ ▍▋▉ ▇ ▌▅:▄▇:▊▇ ▌▊▅█ +▇▄▍▊
▍▊▊▄▉▊▋ ▆▍▆▅▉▋▋ ▄▉█▊▋ ▅▍█ ▊▆█▌▅▄▉ ▅▍ ▉▄▄▋▉▍ ▍▅▌▉▉▆▋▅▅▉▅▉
▊▄▊▆▋▊ ▉▍█▉▊█▊▋▋▆▊█▋▄▉▉█▉▌▊▇▆▍▄▇▆▄▉▍▅▆▆▇▇▆▉█▇██
▍▋██▉▊: ▌▅▄▄▉ ▅▇▅▇ <▆▄█▆▇.█▅▌▊@▄▇▅▇▋▄▄▄▄█▊▉▌██▊.█▌█>
▌▉▄▌: ▅▄▍ █▄▅ ▅ ▄▌:▍▌:█▅ ▉█▇▍ +▍▉▅▍
█▋█▊▍▊▍
▉▊▄▄▍█ ▍▇▌▉▄▍▍▇▌▊▄▍▆▅▍▉▉▌▄▍▍▊▆▉▌▄█▅▉▅▍▋█▋▉▄▉█▌▉
▆▉▊▅█▋: ▋▉▍▍▅ ▅▍▄▉ <▇▄▆▋▄.█▋▌▊@▊▆█▉▉▍▄▄▍█▊█▄▅▅▅.▆▍▆>
▊▄▋▋: █▅▆ ▍▇▋ ▌ ▅▉:▊▍:█▅ ▆▅▍▄ +▍▄▅▉
▇▅▆▍▄▊▋▉█▆▊ ▍ ▉▄▇▇▍▋ ▇▅▇▅▋▄▋▄ ▌▄▍▅▊▍▊▆ ▄▄▍ ▄▆▅▄▊
▄█▇▉▊▅ ▌▉▅▆▋▄▅ ▆▇ ▆▅▄▋ ▊▉▆▉ ▊▆▆▍▆ █▌█▆▄▋▅▆▊▆▇▋▆
█▄█▆▊▄ ▌▊▋▌▅▇▇▄▋▌▋▆▇▅▉▅▆▋▉▍▇▅▄▉▍▊▄█▄▆▅▇▊▆▅▉▋▄▇▌
▋▊▇█▌▍: ▄▉▋▇ ▌▋▋▊▊▋▊ <▅▌█▇@▍▍▉▋▇▉▅▄▍▇▅.▇▋.▆▋>
▋▊▊▍: ▊█▋ ▋▇▇ ▊▍ ▉▇:▍▊:▅▌ █▋▊▋ +▊██▍
█▋▍ -▊▇▄█▍▍ ▍█▌▌▌▆▆ ▅█▋▉ ▊▊▍▋▄▉▆█▄ ▍▍▆ ▉▋▄▍▌▋▍
▊▉▉▇▄▅ ▆▄▉▉█▊▆▋▌▆▋▋▅▊▌▋▄▍▄▍▆▇▄▌▆▇██▄▄▅▇▍▉▋█▊▍▉▇
▋█▊█▆: ▆▊▄▅▍▉▉▇▄▍ ▍▍▊▆▅▅▌▋▌▅
█▋▉▌█▄: ▄█▊▆▋▊▉▊ <▄▊▇▆▅█@▉▍▍▊▋█▍▊▇▆▌▋▌▇▋█.▄▅▊>
▌█▄▋: ▋▅▇ ▇▄▆ █▋ ▉▉:▇▊:▉▋ ▍▅▍▄ +█▄█▇
▄▋▆▍▉ ▉▅▊▇▄█ '▆▆██▄▍' █▍ █▇▅█
▋▆▋▅▄▋ ▋▄▄▆█▅▉▅▅▊▌▊▍▆▇▅▇▉▉▊▍▅▍▅▄▄▍▇▉▊▌█▄▌▊▍█▍▋▇
▍▍▌▋▄▋: █▍▅▉▍▅▉█ <▋▉▄▌▆▇@▅▆▉█▌▇▉▄▊▇▊▇▋▆▋▍.▆▆▄>
▆▊▄▅: ▍▋▊ ▍▊▅ ▄▌ ▉▋:█▅:▋▇ █▌▋▆ +▇▆▌▍
▉▇▆▊▋ ▇▌▌▍▋▅▄
- ▉▊▅█▌▍▊█▄ ▊▇▄▄▊▌ ▇▇▄▆▋ ▇▄ ▅▇▊▄ ▇▋▄▋▋ ▊▍ ▊▌▋ ▋▇▇█▊▇▌
- ▍▄▅▊▅ ██▉▍▉█ ▋▉█ ▌▋▌▉▌ █▇▍ ▋▄▇▋▅▊▄▊▌ ▄▄▅▆▆ █▇ ▅▆▉▅▋, ▅▉▍▇▆▌▉▉ ▌▋▍▉▄▇▄▇█/▇▌▉▇▋ █▋ ▇▆▉ ▆▉█▊
- ▌▅▅▉ ▉██▌ ▋█ ▄▍▆▅ ▊▆▍ ▇▄▋▍ ▊▊██/▅▆▍▄▇▆▄█
- ▅▄▇▌▋▉▍▍/ █▅▄ ▆▋▅▊▊▍▉▌█▋
▋▆█▋▅▇ ▅█▌▇▅▄▉▄▄▇▇▆▌▅▋██▊▆▊▍▊▇▄▋▇▉▊█▌▌▅▉▅▋█▊▌▌▅
▅▅▉▇▊▇: ▄▇▍▆▋▌ ███▉▅▋ <▉▋.█▌▊▆█▅▊▊@▇▆▋▊▋.▄█▌>
▄▄▇█: ▇▅▋ ▅▄▄ ▊▅ ▋▅:▇▌:▆▄ ▊▇█▆ +▍█▊▇
▍▊▉▄▅█▍▊█▄ ▇▄█▆▄▉▅ ▇█▉▍▆ /▍▍▇▊▇▅/▇▋▅▌▌▍▆/
▅▊▄▍▆▅ ▅▊▆█▅▊▇▆▍▅▉▄▄█▋▋▉▊█▅▌▆▋▍▉▆█▄▍▍▅█▆█▌▊▊█▆▍
▍▌█▊▉▌: ▋█▉█ ▄▇█▅▆▌▍ <▇▍▍▅@▇▇▍▍▅▋▉▊▄▅▄.██.▅▍>
▌▄▇▊: █▄▉ ▉▌▌ ▍▄ ▅▍:▊▆:▉▆ ▌▊▉█ +▊█▄▆
▌█▆▍▌▄ "▄▇▄▌ ▍▇▉▅▋▋ ▅▅▅▋█▋▇▌ ▉▆▊█▇██▍▉▆ ▅▅ ▆▍▄▍▄▌▍ .▌▇▅▋ ▊▌ ▌▇ █▆▇▌▅▄"
█▇▉▇ ▉▍▉█▄▋▇ ▍▊▉▅▅▆ ▊▉▋▉█▇▉▄▉▉▅▍▊▅█▄▄▋▉█▉▉▍▇█▇█▇▊▆▆▅▇▄▋▆▇█▄▍.
▄▇▍▇██ ▇▉▌▍▉▋▊▋▊▄▉▇▅▅▍▅▇▇▇▄▊▊█▅▋▉▋▉▇▆▉▊▍▍▍▌▉▋▊▉
█▉▇▋▋▍: ▇▍▄▍ ▍▊▍█▌▋▅ <▋▅▍▄@▅▇▇█▌█▆▅▅▊▉.▊▋.▉▄>
▆▋▇▋: ▆▌▉ █▇▍ ▊█ ▄▆:▋▋:▉▊ ▉▇▅▄ +▆▍▉▄
▋▍▆▇ ▍▆▍▌▉█ ▇█▋▆▉▍▄▉ ▅▄▅▍█▌▄▄▆▅ ▌▅ ██▅▅▄▊▅ .▍▄█▉ ▆▊ ▆▇ ▄▍▆▋▆▍
▋▋▉▍▌█ █▇▌▍▋▍▇▍▍▆▉▆▍▋▅▉▋█▍▆▅█▍▅▍█▊▆▋▋▊▆▅▅▋▉▅▉▌▇
▆▇█▋▇▄: ▌█▌▅▄▄ ▄▊▇▍█▋ <▍▇.▆▅▅▅▊▆▄▌@▄▉▇▅▊.▉▍▌>
▄▅▋▍: ▉▅▇ ▉▋▊ ▆▉ ▋▋:▅▇:▉▉ ▄▅▅▆ +▅▄▄▄
▇▆▌▌▇ █▊▉▌▆▍▄▋ ▅▋ ▊█▍▄▉.
▄▆█▄▊▅ ▉▌▊▋▍▋▍▉▋▅▋▌▆▌▍▆▍▌█▉▋▍▇▉▋▆▄█▍▅▋▌▆▆▌▋▌▅▇▆
▄▅▇▊▌▊: ▋▅▉▋▇ ▉▉▄▇▊▉ <▅▄▋▊█▉▊▇▍▊▍@▍▅▇▌▉.▆█▊▉▊▊▅.█▌▌▆▋▆.▆▅▍>
▆▆▋▄: ▉▉▊ ▊▊▆ ▌▍ ▋▆:█▇:▉▄ ▇▉▋▄ +▌█▌▆
▋▉▇▌▅▋█▄▊▍ ▊▋▄▊▌ ▍▍█ ▋▆▋▊█ ▌▆ ▆▌▊ ▆▆▇▆ ▆▆▋▅▇▌▅▅█ ▋▉█▋▌▍▋
▋▋▅█▋▊ ▉▅▄█▊▍▌▌▌▇▉██▋▌▊▊▄▆▉▋▍▄▄▅▇▆▅▌█▅▍█▊▋▊▄▌▅▆
▇▊▍▅▌▆: ▇▆▌▄▅ ▄▆▅▌▉▄ <▄▇▆▊▋▍▇▆▊▍▌@▍▆▉▌▍.▍▆▄▄▌▅▌.▍▍▆▌▇▅.▋▇▋>
▅▉▄█: ▌▉▊ ▋▉▍ ▆▆ ▉▆:▊█:▆▅ ▆▌▋▉ +▆▌▉▆
▋█▅▄▄▌▊▅▌▋▉ █▄█▊▇▉▍
▍▉█▊▉▇ ▄▄▉█▍▊▇▅▌▉▌▅▉█▌▇▊▇█▍▍▌▄▌▆▇▄▆▍▍▌▄▌▌▍▄▇▆▅▆
▇▇▉█▉█: ▌▄▄▉▍ ▄▆▊▇▆▍ <▊▅▉▊▄▆▍▋▋▇▋@▉▌▍█▆.▆▉▊▆▊▆▌.▉▍▆▇▍▋.▌▆▉>
▊▅▋▄: ▉▉▇ ▅▊▊ ▌▅ ▄█:▆▊:▉▌ ▍▄▋▄ +▆█▇▍
▊▌▌▍▄▌▄ ▆▌ ▊▆▇▊▊▆▉▊▍▇▊▉
▉▄▋▇▌▍ ▆▋▊▌▆▊▊▍▉▆▊▊▄▅▌▉▉▇▅▆▇▌▅▇▇▄▋█▅▌▅▉▆▍▌█▆▌▍▋
▄▊▊▆▄▇: ▇▉▊▍█▇▆▊ <▊█▊▆▉▅@▍▅▌▋▅▄█▅▆▇▇▊██▅▊.▅▍▇>
▄▋▅▋: ▆▇▋ ▇▉▆ █▌ ▍▇:▋▋:▌▌ ▍▅▍▍ +▆▆▆▉
▌▍▋█▄▆▊▍██▋ ▇▊ █▇▊▌▌▌▉▇ ▇▊
▊▆▋▆▌▇ ▄▉▌▉ ▊▉▌▊ ▅▆▅▅ ▄▌▇▍▉▆▉▋▇ ▄▇▇ ▋▆ █▆ ▅▅▆ ▄▌▉█▍▍▌▍ ▍█▄▋▉▋ ▇▆ █▆▊ ▋█ ▊▄▄▍▅ ▉▋ █▄▉█ ▍▍▄▇ ▉██▄▊▆ ▉▆ ▆▇▋▊ ▇▍▄▄██▌▇ ▋▉█▋▇▄.
▉▌▍▉▌ ▉▋▄ ▋▄▌▉ ▄▅▅▋▋▊▇▍█.
▉▄▉▄█▅ ▊▉▍▍▋▊▉▋▋▇▊▉▆▌▆▅▍▅▌▇▊▆▍▋▌▇█▊▍▌▇▉▇█▄▉▋▄▅▌
█▇▇█▅▄: ▅▄▆▇▄ ▇▅▅▉█▉ <▆▅▇▆▍▌▌▄▅▆▌@▌▋▇▍▄.▄▌▆▌▉▊▋.▆█▇▉▌▍.▇▅▌>
▉▍▉▌: ▋▊█ ▉▉▇ ▍▌ ▇▅:█▄:▄▇ ▅▆▇▉ +▍▊▇▅
▋▊▆ ▄▄▋▄▍▆▋ ▌▄▆▇ ▇▊ ▇▅▊▍▌▇, ▍▉▋ ▊▆▌▉▄▍ ▌▉▊▌▌/▇▉▇▆▋▇▌▋ ▅▄▄▋▍▊▅ ▋▄
█▆█▊▋://▆██▅█.▆▋▄▉▊▉█▇▌.▌▇▅/██▆▇▊/▉▉▍▌▌▆▌▄-▇▇▆▉-▆▌▋▉-▍▊▍▅-▉▇▆█▆▇▌▊▆▌▄█.▇▉▍
▍▆▉▇▉▆ █▇▅▆▋▉▄▉▉█▌▆▆▅▅▆█▊█▇▅▋▉▇▋▆▊▍▌▇█▆▇▍▄▄▅▆█▌
▌▄▋▇▆▅: ▄█▋▋▌ ▍▍▆▄▋▌ <▋▉▉▌▅▋▆▄▉▍▇@▅▅▅▅▅.▊█▄▄▅▅▉.▅▆▆▅▉▉.▇▅▌>
▇▆▇▋: ▍▍▋ ▇█▇ ▊▆ ▋▇:▊▉:▊▌ ▆▋▍▊ +▊▊▄█
▊▌▊ ▋▉▆▌█ ▌▌▋ █▅▋▋▋ ▉▌█▆▇▍▉ ▉▌▋▄▇▌▊▉ ▋▋ ▉▆▌ ▋▋▋██▇█▋▌
▅▊▉▄▆▄ ▌▆▋▄▋▇▄▌▌▅█▉▆▇▄▋▊█▌▄▌▄▄▌▄█▌▋▋▄▉▆▊▉▋█▍█▉▉
▊▌▍▆▍▋: ▆█▋▇▍ ▅▅▆▅▌▅ <▌▄▆█▇▅▋▊▆▌▊@▉▉▌▅▌.▇█▄▄▋▍▆.▅▇▍█▅█.▄█▇>
▌▇▄█: ▆▄▆ ▋▆▊ ▋▌ ▊▌:▆▉:▋▆ ▌▌▅▋ +█▍▋▅
▄█▋▉▆▅█▇▋▆▋▊▊ ▆▅▇▋ ▄▆▇▉▉▋ ▌▇▅ ▆▊▅▄▌▅▊ ▄▄▋▄▊█▉ █▆ ▅▍▋▄▊▊▊▌▍ █▋█ ▊▉▋▌▆▄▍▌ ▅ ▊█▊ ▍▉▆
▇▇▅▊▊▍ ▆█▋▄▆▉▉▍▇▄█▇▆██▄▅█▇▊▊▄█▉▅▄▄█▆▉▌▋▅▉▇▅▍▋▍▉
▇▌▌▉▍▆: ▋▄▋▆▅ ▋▆▍▆▅▍ <▆▌▅█▅▊▌▆▊▆▋@▄▇▄██.▌▇▋▆▌▉▍.▇▄▊▄▇▅.█▅▆>
▅▅▋▌: ▋▄▆ ▅▍▇ ▇▍ ▍▍:█▆:▊▆ █▊▉▍ +▄▊▍▌
██▊█▄▅▅.▉▍▅▇▊▊ ▋▅▉▇█'▆ ▄▇▄▆▌ ▋▌▄▉ ▊▆▅▅▍ ▍▊▋▉█ ▆▅▌█, ▄▆▌ ▄▊▊▉▍▉ ▉█▌ █▇▅▌▋ ▆▄▊ ▌▊▄▆, ▊▊▅▇ ▄▌▆▄▆▌▍▍ ▍▊▅ █▄▋▊▉ ▋▄█▇▊▊▋ ▄▄ ▅▊█▆ ▊▇▍▉▅▌▋▇ ▇▊▊ ▇▅▍▄▄ ▊▉▄
▍▉█▉▆▋ ▋█▅▅▄▄▅▉▋▆▇▆▌▌▌▍▅▇█▌▍█▋▊▍█▊▊█▋▅▋▋▋██▉▅▇▊
█▌█▊▋▌: ▋▋▆▍▇ ▅▅▇▌▇▊ <█▆▊█▉▅▍▄▉▉▅@█▇▇▍▄.▌█▄▍▄▍▅.▊▌▇█▇▄.▊▇▌>
▅▌▅▍: ▊▅▌ ▋█▊ ▅▇ ▊▇:▌▊:█▄ ▇▌▋▇ +▊▉▅▍
▉▅▊▉▄▍ ▅▆▇ ▉▆▄▇ ▊▊ ▇██ ▋▋▍ ▉▉▌▍
▄▆▉▄▋▅ ▊▌▊▊▊▄▌▊▆▆▇▄▇▇█▊▋▆█▌▆▋▇▄▄▊▋▊▄▋▉▅▉█▊▅▋▍▄▆
▉▌▉▉▉▉: ▆▉▉▇█ ▇▊▌▍▌█ <▊▉▍▆▆▉▉▊▆█▌@▊▆▍▋▆.▅▆█▅▌█▉.█▆▄▊▆▆.█▊█>
▋▋▄█: ▄▄▇ ▆▍▍ ▇▄ ▇▌:▇█:▋▅ ▉▊▉▋ +▊▆▄▉
▄▆▍▇▇▋ ▌█▌ █▌▇▅
▅▍▅▅▍▄ █▄▇▊▆█▅▌▄▍▄▅▌▇█▍▄▇▊▉▉▆▍▍▌▉▇▍█▊▇▉▋▅▉█▊▉▊▌
▆▌▋█▌▇: ▄▍▋▅ ▌▌▉▇█▆▅█ <▋▋▄▆██▉@▉█▋▌▍.▇▉▊>
▌▇▋█: █▅▉ ▉█▅ ▇▋ █▄:▇▊:▆▇ ▆▋▍▋ +▍█▇▌
▆▍▇▅ ▌▌▇▆▊▄▋▌▋▆.▆▆▊▄ ▄▊▅▉▄▄
▉▊▄▌▊▅▇ ▆▅▉ & ▌▉▅▇ ▇▉█▆▇▆▌
█▉▍█▋▄▌ ▇▋▋ ▋▌▆▉ ▅▋▉ ▉▉▊▉▋▆ ▇▊▄▆▋
▉▆▌▅▌▆▅ ▄▄▇▍▄█▌▇▋▅▋▍▌▅
▋▍▊▌ ▉▆▋▇▊▌ ▊▌▅▌▉▍▉▄▄█▅
▊▆▊▉▅
▋▇█▆ ▍▅█▉▋▇▆▇▆▍▇ & ▋██▆▆ ▇▄▌▌▉▊▍ ▇▄▅▊▄▆▇
▉█-▌▇▌▉▇▉, ▄▆▋▆▌▄▅, █▅▋ █▇▌▋█ ▊▋▆▆▅▉▊ ▊▅▄▌▇▌
▌▄▊▊▌▌▍ ▊▅▆▌▌▆▊ ▍▍▉▍▉▌, ▄▆▊▊▇ ▅▄▇▉▉▆▄▋▆▉▅
! ▅▋█▄ ▋▋▉██▇▌▌▋▊ & ▉▄▆█▌▊▇ ▍▆▋▋
! ▊▄▊▄▌ ▄▄ ▄▌▌▌ & ▉▉▅▇▊ ▆▆▍▇
! ▅▊▍▍ ▅▋▆▇▍▋▅ ▉▋▆▄▊▍▇
! ▊▇▌ ▌▍▋▋ █▊▇▉▍
! ▅▋▆▇▊▄▅ ▊▍▄▌ ▊▄▅▊▇▌▆▄▊▋, ▌▊▊▉ ▇/▋, ▅▅▊▅▌ ▌▄▉█▆▇▊ ▄█▆█ ▉█▅▋▌▄█▊▇ ▆▌▅▆▅▊▌ ▆▇▍▉▆▍ ▄▌▄▉ ▆▅▉▊▍▆▉█▄▆ ▇▉▌▅▊▄▋▉
! ▄/▍ ▆▇▉█▇
! ▋▉▊ ▅/▊/█
! ▇▋▆ ▌ + ▇▄▋▇▊ ▉▌▄▇ █▋█▌▌▆▅
! █▌▅ ▆ + ▍▉▅▆▆▊▌▆▇▌ ▄/▋/▊
! ▆▇▍▍, ▆█▇█▆▆ ▍▊▇▋▋, ▍█▄▉ ▊▍▌▌▍█▄▍▊ ▉▊▉█▍▋, ▉▉▆▅▅▇▋▌
! ▊▇▅▊▍▍ ▄▇ ▍▋▉▅▊█▉▄▉▅█ & ▊▌▉▊ ▉▊▉▅▆▊▆▌▅
! ▌▅▆▉▌ ▌▅▄▉▆-▋▋
! ▌▋▄▅▍▆▊▍▍▄ ▍▄▊▊▄▇ ▋▌▊▊▍█▆▉▅
! ▄▆▋▄█ ▄▊ ▌▌▊▌█▄ ▆█▊▌▅▌▅▅▌▅ ▋▌▆▋▉ ▅▌▇▉▉▍▍ (▄▍▍█▍ ▇▆▌▍▅ ▌▋▉ ▆▍ ▄▆█▇▄▆ ▄▍▅▅▇▅▊▍▆▇ ▌▅▇ ▇▊▍)
! ▊▌▌ ▍▍▆▊▍▉ ▆▆▅▌▅ ▄▆▌ ▋▄▄▋-▇▊▆▉ ▌▊▌▍▉▆▍▇
! ▄▉▊█▅ ▆▋ ▇▆▊▅▌ (█▅▅▆)
! ▊▆▉▇▉▆▇ ▅▊▇▄▊ ▋▍▍▍ ▇▌ ▋▉█▌ ▋█▆▋█▋▉ ▇▄▊█▉▇
! ▇▊▉▋ ▌▆█▋ ▋▅▄▉▆▊▅
! █▊█▊▌▌ █▄▄ ▌▋▊▊▆▆▇ ▅▅▊▊▇▌ ▄▌▇▍ ▄▍▇▅ ▆▆▄ █▌█▆ ▌▋▉▍ ▊█ ▍▅▉▌█▉▌▌▇ ▊ (▄ = ▋▊▊▊▆, ▍ = ▋█▋▌ ▊█▉)
▆▇▌▅▇ █ ▄▋▋▇▅▋▋▅▉ ██▆▌▊ ▄▊▆▋▊▉ ▌▋█▌▉! ▆▊▍▉▄ ▋▊▉▌ ▉▆▄ ▇█▌█▋ ▆▄▆ ▉ ▋▌▉▉▅▄▉ ▌▊▇▆▌▋. ▌▅▌▉ █▊ ▌ ▋▍▄▋▉ ▍▇▋▄▄, █▇▉▍ ▉ ▋█▄▍▊ ▅▋▆▅▍ ▆▉▉ ▋▊ ▆▌▇█▌▋▌▋▄▆, ▊▋▋▉▌▍▆ ▌▇ ▇█▉▉▍▊ ▄▋▌ ▋▇█▋▍▇▌ ▊▍▅▅▋▍▊▍▊▍▇.
Animgraph: Basic support for anim event preview (only playsound and stopsound)
ModelDoc: Don't allow base model to be set as itself
Remove vwrlt and vwenvmap asset types, these don't exist
Recompile old maps toolscene_lighting_studio and error to fix compiler missing warnings
Add MorphCollection.Get to get override morph values
Remove some unused player netvars
Fix nav_edit, grab eye pos and angles from pawn aimray
Remove create_flashlight native command
Remove some unused functions from IPrediction
Add SceneObject.Batchable, for situations where dynamic attributes affect rendering
Delete unused shit from lightinglib
Add SceneSunLight.SkyColor for ambient light color outside of light probes
Compute ambient light spherical harmonics when there's no sunlight using scene camera ambient color (this allows cubemaps to show up without sunlight)
Add SceneCubemap, allows cubemaps to be applied in scene worlds
Add a default cubemap texture
Add cubemaps to menu scenes so metallics have a bit of reflection
Editor: Fixed not being able to upload maps to asset.party
updates props
- disabled baking light on some models in prefabs
- tweaked lods
- fixed normal on some textures
- added missing dirt/gloss on dead end texture
- tweakes glow on some light textures
Hammer: Asset Spray tool colors
https://files.facepunch.com/rubat/1b1511b1/sbox-dev_DJuBUU3yWI.mp4
Added Prop SetStatic input