16,831 Commits over 1,277 Days - 0.55cph!
Fix text selection not working on center and right aligned texts
Format everything in RichTextKit
Nothing changed except formatting. I forgot to do this when bringing it over, forcing it now so it's not a nuisance going forward (mostly spaces to tabs and looking at diffs)
Fix Image panel not updating its size when the texture gets loaded or ScaleToScreen changes
Add support for `word-break` css property (#853)
Supports `normal` and `break-all` values. Normal will break by word, break-all will break by character.
https://files.facepunch.com/crayz/1b0211b1/sbox-dev_Yt8zD84LqS.mp4
Saw blade prop
https://files.facepunch.com/rickgreeve/tbrender_Viewport.png
vr: tracked objects (hands) also use full anchor rotation, not just yaw
vr: remove axis limitation on vr anchor rotation, enjoy throwing up
Middle-mouse drag to pan camera in FirstPersonCamera (#854)
Middle-mouse drag to pan camera in FirstPersonCamera
Update Steam Audio to 4.1.3
Fix mouse clicks reading even though we're not under the mouse
Support global rotating
Scale tests
Refactor Scene to Gizmo
Fix temp depth rendertargets hashing incorrectly when changing MSAA setting
Use a capsule rather than sphere for ripplecompute, send velocity data to ripplecompute, makes ripples seem fully connected even in low franerates
Tag r_water_ripples to be removed from engine on next painday :S
Fix intersection flickering in SDF reflections
Make water ripples feel much more natural, fix it exploding
Fix water collision not working, tweak water ripple propagation
Refactor to use Action Set Layers https://files.facepunch.com/devultj/1b0211b1/steamwebhelper_tmcW41uhRr.png
RichTextKit - add WordBreakMode to break by words or characters
Add word-break with support for `normal` and `break-all`
Normal will break by words, break-all will break by characters
async option for RenderToPixmap, fixes thumbnail rendering
Codegen gamepad manifest which allows InputActions to be processed by SteamInput. Support activators (full press, double press for now). Have to figure out eliminating default binds. https://files.facepunch.com/devultj/1b0211b1/Code_V3N9DYtXZH.png
Add gamepad specific properties to InputActionPage https://files.facepunch.com/devultj/1b0211b1/sbox_SV5HighWBa.png
Fixed CustomResources not loading for Map Projects loaded through filename (i.e. after compile)
Move Scene.Color to Scene.Draw.Color
Add global space option
.Position handles global + local space and deals with local object rotation
Test for block copying List<T> or T[]
Lists of structs can use array block copying again
More direct copy for StructArrayConverter
Fix possible NRE when logging about methods without declaring types
Fixed setting size of block-copied list
street lamp unit
-now breakable
ShaderGraph: Add default values to result node so you don't have to plug in a constant if you just want to set a constant value https://files.facepunch.com/layla/1b0211b1/sbox_2nXboeBxrk.png
ShaderGraph: Float editor supports rangeless editing https://files.facepunch.com/layla/1b0211b1/sbox_ri3rVeT2hv.mp4
ShaderGraph: Remove whitespace from param name, fixes shader compile errors
Warn when graph paste is invalid
Still try to compile graph preview if there's no result node, we may have preview nodes
TransformNormal with no input falls back to vNormalWs
Document WorldNormal node to make it clear it's the vertex normal in world space
Minor changes
Context Menu doesn't close when assigning tags
https://files.facepunch.com/rubat/1b0111b1/sbox-dev_FgjdlW8hmS.mp4
Fixed setting size of block-copied list
Fix possible NRE when logging about methods without declaring types
Extensions to easily set up inputs for editor
Sharable first person control mode
RenderToPixmap reads pixels in callback for performance
ShaderGraph: Inline float and color editors on nodes, experimental render node previews (only enabled on noise nodes for now) https://files.facepunch.com/layla/1b0111b1/sbox_8EW2bnCQWR.png
Remove Scene.Offset, add Scene.Scope with no parameters
Better scoping, auto scoping reduces object recreation
Push everything that is scoped into a scope struct
Add triplanar mapping to blendable
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
Fixed issue where controller actions were stomping keyboard actions - now we store previous controller actions, clear pressed actions, then check via SteamInput
Call Asset.UpdateAutoTags when asset dependencies change
Refresh Asset Browser Asset Types on compile/addon change
Reshuffle default asset tags
Better default asset locations for Hammer
Hide certain tags like "Model Materials", "Gib Models", "Overlays" & "Decals" by default in "Everything > Models/Materials" locations
Added a separate "Overlays & Decals" section to Hammer's Managed Asset Browser to match the legacy asset browser
Test for block copying List<T> or T[]
Lists of structs can use array block copying again
More direct copy for StructArrayConverter
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
Transform.PointToLocal, PointToWorld obey the transform scale
Gimzo fixed scale
HitboxDebug hitboxes option on Scene Instance
Scale cursor delta by transform scale
Add common scene toolbar
Fix 2d position draggers not handling rotation properly
Cardboard box
Revised design, more wear and tear. Multiple skins and revised Gibs
Merge branch 'master' of sbox
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
Make sure to always set FrameBufferCopyRectangle when using FrameBufferCopyTexture
Load input manifest when we grab input actions
Loop through available actions on Input.Process, check action state and set accordingly
Experiment: Generate our own SteamInput action manifest at runtime w/ user defined actions included
Fix Asset.MetaData throwing errors when trying to access non existent data
Save asset tags to Asset metadata
Added TagPicker.CategoryColumns
Open tag picker popup above the tag picker panel
Adjust how tag picker popup icons are positioned
Asset Browser tag picker uses 2 category columns
https://files.facepunch.com/rubat/1b2711b1/WY9VeMVLuT.png
Rename some default tags to be shorter
Automatically generate user defined tag icons
https://files.facepunch.com/rubat/1b2711b1/XWtQJLpV0H.png
Update SkiaSharp & HarfBuzzSharp to latest (2.88.3)
Apply workaround for SKBitmap.Decode bug