1,708 Commits over 1,219 Days - 0.06cph!
Correct place for these SceneObject sealed overrides
Clear all these ptrs first to be safe, seal some more shit
VoiceComponent.PushToTalkInput mark with InputAction attribute
TextRenderer remove Text2 test property
Don't keep sounds that failed to load around trying to mix forever (matches how old vmix mixer handles it) Fixes #1597
Hightlight.RenderEffect: Use Scene.GetAllComponents instead of iterating every gameobject ( closes #1597 )
Codegen should shit itself if you don't use a string literal from Cloud.Asset() methods
Terrain: Add height blend settings, add per material height and normal strength, various other polishing
Hide GameResource.ResourceVersion
TerrainMaterialList: Allow drops properly
Editor post processing toggle closes #1587
Tonemapping applies to editor camera too, respects Camera.EnablePostProcessing
Work in progress - colour grading
Variuous changes - exposure added in RGB and HSV
Keep tonemapping in its own component, remove uncommon options, cleanup
Reverse weapon selection rows, stick to bottom-ish, always show active weapon name
SteamLobbySocket caches owner, calling SteamMatchmaking.GetLobbyOwner each tick had significant impact
No need for a glyph telling me how to shoot on the screen at all times
Don't allow buying the exact same weapon, but can still buy one of the same slot
If cant buy weapon, dont take cash
Disable pointer-events on owned guns in the buy menu
Which naughty boy lowered UseDistance
Use pressed not down, increase use distance from 50 to 72
Doors: Adjustable pivot, angle, speed, curve, opens away from player, plays sounds, etc.. Probably doesn't network properly
actual formatting in .editorconfig
Expose Terrain size properties to settings sheet
New TerrainMaterial & TerrainStorage resources, rework creation of terrain, component custom editor, simple height blends and various QOL improvements
New TerrainMaterial asset, can be used on multiple terrains, copied from other projects
* Replaces TerrainData.TerrainLayer which used manual packed vtex files
* Accepts source images for: albedo, normal, rough, ao, height
* Compiles into 2 generated vtex_c
* Contains other properties for metalness, uv scale, uv rotation
* AssetPreview is used for editor UX too, instead of hacky shit before
* TerrainMaterialEditor auto populates _normal _rough etc. properties from albedo
* Drag drop TerrainMaterial assets into Terrain component
* Open for expansion to grass/clutter properties
TerrainStorage
* Replaces TerrainData & TerrainDataFile
* Make use of IJsonConvert to avoid all the crazy crap I was doing before
* Drag drop TerrainStorage asset into scene
* JsonUpgrader for TerrainData -> TerrainStorage, resmaples ^2+1 heightmaps to just ^2
Terrain component editor:
* Support creating or linking TerrainStorage if none is attached
* Split settings into its own tab
* Add heightmap resampling for non pow2 heightmaps
* Add import splatmap
* Terrain creation no longer forced through GameObject menu, remove Hide attribute from Terrain component.
* Remove special terrain save logic from SceneEditorSession, use scene.saved editor event
* Texture streaming works properly
* Basic height blend
* Disable specular on terrain
New TerrainMaterial & TerrainStorage assets, improve terrain creation, no more manual vtex layers
New TerrainMaterial asset, can be used on multiple terrains, copied from other projects
* Replaces TerrainData.TerrainLayer which used manual packed vtex files
* Accepts source images for: albedo, normal, rough, ao, height
* Compiles into 2 generated vtex_c
* Contains other properties for metalness, uv scale, uv rotation
* AssetPreview is used for editor UX too, instead of hacky shit before
* TerrainMaterialEditor auto populates _normal _rough etc. properties from albedo
* Drag drop TerrainMaterial assets into Terrain component
* Open for expansion to grass/clutter properties
TerrainStorage
* Replaces TerrainData & TerrainDataFile
* Make use of IJsonConvert to avoid all the crazy crap I was doing before
* Drag drop TerrainStorage asset into scene
Terrain component editor:
* Support creating or linking TerrainStorage if none is attached
* split settings into its own tab, add filter properties
* Don't force Terrain creation through GameObject menu, don't hide terrain asset generation in here, don't hide the Terrain component
* Remove special terrain save logic from SceneEditorSession, use scene.saved editor event
* Disable specular on terrain
Terrain: Mark all TerrainMaterial textures as used and wanting max quality. In the future this could be smarter and not want max quality for textures used far away
Basic height blend
https://files.facepunch.com/matt/1b1711b1/sbox-dev_0JNrWPuC9N.png
JsonUpgrader for TerrainStorage: Resample ^2+1 heightmaps to just ^2, use non-nested format
Fix warning
Heightmap import resamples if non pow2 given
Recompile shader
Terrain height scale scales the normal strength
Import splatmap
New Terrain Material button
TerrainMaterial default images
Reverse Scene isEditor constructor so GameObjectSystem constructor is aware of editor scenes
▋▆█▄▅▍▋ ▉▆█▉▄▌▌▌▅ ▍▉▊▉▉▅ ▍▊ ▋▌█▍▆▆▉.▆▉▆▌█▋ ▍▌▊▄ ▄▋█▉▋▊▊ ▅▋▋▍ ▉▆▄▊▇▌▇ ▇▉▋▇
▄▌-▇█▉▄█▇▄▊-▄█: █▇█▄▄ ▅▋▌▉ <█▉▊▇▆.▅▄▍▊@▉▄▇▋▋▉▆▆▄▊▋▇▋▇▉▋.▊▇▌>
TextRenderer: Add TextAlign, FontWeight, FontControlWidget, remove OnPreRender
▋▆▅█.▊▉█▇▍▉▋▆▉▄█▊▇█▆▍▆▉<▇> ▉▋▊▇▍▌▅ ▊▍▉▍▊ █▉ ▆▅▇█▉▅▄.▄▋▇▆▅▉ ▄▉▋▉▊ ▅▌▊▊▍ ▆▉▉▋▍ ▌▊▊ ▇▄ ▅▄▇▌█▋█▇█▄▆▄ ▋▆▄▄ ▆▄▇▉▉ ▌▉▅ ▅▍▍█▅ ▆▄▋ ▍▅ ▇▄▅▌▄▌ ▋▉ ▅▊▊▅▋▇
▊▊▋▄ ▋▌▉▇▊▌▇▊▆ ▍▄ ██▆ ▅▅▄▄▄▌▉▇▉▋▆▉▌█▋▌▍ ▇▌▍▋ ▆▌▍▍▌▄.▍▊▆▍▆▌ ▊▆▅▆▊▊▍ █▇ ▆▌▅▄▍▌▌ ▇▍ ▋▉▉█
▅▋▊▇▇▆▆ ▌▆▋▅▆▅█▍▉ ▆▇▄▍▊ ▇▉ ▋▆█▄▌█▅.▋▊▉▌▍▅ ▇▌▆▉ ▉▅▆██▆▊ ▅▋▌▉ ▆▄▉▊▋▆▌ ▅▍▅▇█▅
AssetInspector supports multiedit GameResource - resolves #5532
ScreenPanel should render ZIndex lowest to highest, matching all other UI behaviour - fixes Facepunch/sbox-issues#5462
SkyBox2D protect against null skybox - fixes Facepunch/sbox-issues#5569
Multi-edit works on [TextArea] properties - fixes Facepunch/sbox-issues#5556
Library projects get base project reference, matches compiler - fixes Facepunch/sbox-issues#5547
Fix warning
Heightmap import resamples if non pow2 given
Recompile shader
New TerrainMaterial & TerrainStorage assets, improve terrain creation, no more manual vtex layers
New TerrainMaterial asset, can be used on multiple terrains, copied from other projects
* Replaces TerrainData.TerrainLayer which used manual packed vtex files
* Accepts source images for: albedo, normal, rough, ao, height
* Compiles into 2 generated vtex_c
* Contains other properties for metalness, uv scale, uv rotation
* AssetPreview is used for editor UX too, instead of hacky shit before
* TerrainMaterialEditor auto populates _normal _rough etc. properties from albedo
* Drag drop TerrainMaterial assets into Terrain component
* Open for expansion to grass/clutter properties
TerrainStorage
* Replaces TerrainData & TerrainDataFile
* Make use of IJsonConvert to avoid all the crazy crap I was doing before
* Drag drop TerrainStorage asset into scene
Terrain component editor:
* Support creating or linking TerrainStorage if none is attached
* split settings into its own tab, add filter properties
* Don't force Terrain creation through GameObject menu, don't hide terrain asset generation in here, don't hide the Terrain component
* Remove special terrain save logic from SceneEditorSession, use scene.saved editor event
* Disable specular on terrain
Terrain: Mark all TerrainMaterial textures as used and wanting max quality. In the future this could be smarter and not want max quality for textures used far away
Basic height blend
https://files.facepunch.com/matt/1b1711b1/sbox-dev_0JNrWPuC9N.png
JsonUpgrader for TerrainStorage: Resample ^2+1 heightmaps to just ^2, use non-nested format
.gitignore: wanna keep these launchSettings local
Clear up these ".vfx" references to avoid confusion
ColorGrading: Expose to TypeLibrary, make properties public so inspector can find them (Engine classes are exposed differently than classes in projects)
Compiled ColorGrading shader
ColorGrading: Don't need these private enums, they map 1:1 with the public
Revert "Fuck knows why I did this, seems to be causing problems now" - Fucked on AMD. It'll be easier to debug when we're not rendering backwards in NativeRenderingWidget
Fuck knows why I did this, seems to be causing problems now
Fix Razor panels erroring when using <style> tags. All code paths are already relative since CodeArchive changes. Fixes Facepunch/sbox-issues#5528
DragAssetData.Parse: Resolve local asset before attempting to make it a package ident
Material API specular obeys S_SPECULAR same as Valve's PS_FinalCombinerDoLighting (you can now turn it off)
Graphics.PrepareTextureForUse -> Texture.MarkUsed (Doesn't need a graphics context now)
Json.SerializeAsObject (GameResource serialization) supports [JsonInclude] on non public properties. Deserialization already supported it.
Don't cache null types in AssetType.FromExtension. Fixes GameResource assets not appearing in projects that use libraries.
Fixes Facepunch/sbox-issues#5498
We need to change the depth clear value from 1->0 (in 3 different places of course)
Recompiled core shaders
renderdevicevulkan: enable reverse depth
Reverse the DepthFunc on all shaders GREATER <-> LESS
gizmo_grid: reverse manual depth bias
Graphics.PrepareTextureForUse -> Texture.MarkUsed (Doesn't need a graphics context now)
Terrain marks all its textures as used for streaming - this could be done more intelligently in the future with certain regions only using certain textures
Fix sbuffer packing
Fix errors
TerrainMaterialEditor autofills _normal _rough etc etc
Basic height blend
https://files.facepunch.com/matt/1b1711b1/sbox-dev_0JNrWPuC9N.png
TerrainMaterial resource with custom compiler which generates 2 packed vtex_c from 5 PBR source images
https://files.facepunch.com/matt/1b1611b1/FvEbxe3xoQ.png
[pick] DragAssetData.Parse: Resolve local assets first before trying to package ident
Don't force Terrain creation through GameObject menu, don't hide terrain asset generation in here, make it so you can add a Terrain component
Add TerrainMaterial AssetPreview - we'll use this for the editor ux too
Replace horrible TerrainData/TerrainDataFile combo with TerrainStorage GameResource
Stub TerrainStorage ResourceEditor
Remove special terrain save logic from SceneEditorSession, use scene.saved editor event
Terrain component editor supports creating or linking TerrainStorage if none is attached
https://files.facepunch.com/matt/1b1611b1/PiMEhkVZd8.png
Terrain component editor split settings into its own tab, add filter properties
https://files.facepunch.com/matt/1b1611b1/obbHlfw3m8.png
TerrainLayerList -> TerrainMaterialList - much simpler, use the TerrainMaterial's AssetPreview thumb
DragDrop TerrainMaterial into TerrainMaterialList
TerrainMaterials GPU buffer, shader uses BCR/NHO textures with 2 channel normal, adding height and AO parameters
PreviewTerrainMaterial: Add nho texture, make previews way bigger
https://files.facepunch.com/matt/1b1611b1/6eH6XTWtsI.png
[pick] Material API specular obeys S_SPECULAR same as Valve's PS_FinalCombinerDoLighting (you can turn it off)
Disable specular on terrain
https://files.facepunch.com/matt/1b1611b1/sbox-dev_SWZ86cs1iM.png
https://files.facepunch.com/matt/1b1611b1/sbox-dev_hhcEQ6Tnhp.png
TerrainMaterial add metalness
TerrainDropObject
vtf project unused
Save Scene default path is assets path
README: Link to docs, remove old docs, unrequired prerequisite
vtf project unused
TerrainMaterial resource: custom compiler that generates 2 packed vtex_c from input images
Remove ModelRenderer.OnPreRender, use Transform.OnTransformChanged
BufferedHashSet: Add removes from removals queue & Remove removes from additions queue