Commit Graph

238 Commits

Author SHA1 Message Date
Antoine Pilote
9331f2bffa Fixed opaque & non-opaque sprite sorting (#3660) 2025-12-22 16:29:31 -08:00
Layla
592575afe5 fix small mistake in EnhancedCcd 2025-12-22 22:15:21 +00:00
Layla
7a3cccfcb4 Rigidbody isbullet (#3649) 2025-12-22 21:35:49 +00:00
Garry Newman
e0ce9ace1d Update default pause screen (#3659) 2025-12-22 18:13:07 +00:00
Carson Kompon
39d80352c7 Sprite Editor Origin Fixes (#3648)
- PreviewSprite and SpriteEditor.Preview no longer improperly offsets the image by the origin when the aspect ratio of the sprite isn't 1:1

https://files.facepunch.com/CarsonKompon/2025/December/19_08-28-ScrawnyHoopoe.mp4
2025-12-22 10:51:24 -05:00
sboxbot
8c67542b13 fix editor camera sticking in place at very low speeds (#3654)
Co-authored-by: boxrocket <splatterbiker@gmail.com>
2025-12-22 13:55:35 +00:00
sboxbot
dbdfbff73a Sound preview misc fixes (#3655)
* start sound preview playback at scrubber position instead of 0, only increment time if playing

* Fix SceneRect calculation so that there isnt 4 pixels of extra scroll when zoomed all the way out, only show scroll bar if there's anything to scroll

* clamp scrubber position so it cant be visually dragged outside normal bounds

* use correct offset when setting scrubber position during playback

* update VisibleRect before redrawing waveform, waveform was previously drawing in wrong position (view from last frame)

* clamp on scrubber should be using SceneRect not ContentRect

* no need to update VisibleRect twice

* use correct offset for scrubber in DoLayout too

* update scrubber so it stays nice and stable while playing+zoomed in or scrubbing, use correct offset when manipulating scrubber

* offsetting by 4 everywhere is dumb just set HandlePosition on scrubber

* fix drift on scrubber while zoomed in

---------

Co-authored-by: boxrocket <splatterbiker@gmail.com>
2025-12-22 13:55:12 +00:00
sboxbot
77df75674b Fix typo in GradientValue property name (#3658)
Corrected the property name from 'GradientValye' to 'GradientValue' in ControlsTest to fix a typo.

Co-authored-by: Austin <austin@austin.codes>
2025-12-22 13:53:49 +00:00
Layla
152d2c4e41 Mapping tool select connected elements (#3651) 2025-12-22 09:06:01 +00:00
Layla
99ed8d97b2 fallback to shortcut without modifier if the shortcut doesn't exist with modifier (allows things like tool switching while modifier is down) (#3653) 2025-12-22 08:32:18 +00:00
Layla
35aedbbd79 Advanced properties (#3652) 2025-12-22 08:31:55 +00:00
Sol Williams
c496bedb0d Component context menu tidy (#3582)
* Only show property-prefab options on prefab instances, simplify names a bit

* Tweak these to match

* Transform

* Order

* Guessing this meant to pick the shortest source location path

* dotnet format
2025-12-22 07:15:06 +00:00
Lorenz Junglas
08c4ae6d73 Animgraph pose node optimizations (#3646)
* AddPoseOperation skip work when added transform is equal to identity

* SubtractPoseOperation skip work when added transform is equal to identity

* Fast path for BlendUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Fast path for Blend2DUpdateNode when weights are 1

Don't emit expensive pose op just forward the pose with weight 1

* Avoid allocation of Actions in MergeDescendants
2025-12-22 07:09:45 +00:00
Garry Newman
0298759d1f Panel animation uses double time 2025-12-21 08:49:47 +00:00
Garry Newman
f6ad79479f Add [Parameter] to BaseControl.Property 2025-12-19 20:59:33 +00:00
Garry Newman
87db59546e Remove pointer-events: all from slidercontrol 2025-12-19 20:59:21 +00:00
Garry Newman
30f85d5270 Make a bunch of BaseControls SupportsMultiEdit 2025-12-19 16:37:55 +00:00
Garry Newman
d84f64c2c3 Fix wheel joint steering axis 2025-12-19 16:37:54 +00:00
Carson Kompon
551e10f8ee Make sure UI/Panel Eyedropper Tool works with recent GameEditorSession changes (#3637) 2025-12-19 08:04:55 -05:00
Lorenz Junglas
bf8a22f40b Avoid allocations in MergeDescendants by using recursion instead of yield return (#3644)
yield return creates a lot of garbage and is easily avoidable here, by using recusing instead.
2025-12-19 12:12:51 +01:00
Maxime Lebled
b2b9b03e46 Animgraph optimisations (#3645)
* Citizen/animgraph: optimise the skid layer by cutting it out completely if there has been no wish movement for the past 3 seconds. ~10% performance gain for players who are standing still.

* Citizen/animgraph: optimise the locomotion wish layer by cutting it out if wish values have been equal to 0 for the past 3 seconds. ~5% performance gain for players who are standing still.

* Citizen/animgraph: optimise the "turn poses / rotation lean" layer by cutting it out if move_rotationspeed has been 0 for the past 3 seconds. ~5-10% performance gain for players who are standing still or moving in a straight line.

* Citizen/animgraph: optimise the "standing shuffle" layer by cutting it out when move_rotationspeed has been 0 for the past 3 seconds. ~2-4% performance gain for players who are standing still and not turning.

* Citizen/animgraph: optimise the height scaling layer by cutting out scale_heel completely if you're not wearing high heels, and bypassing the entire layer if your height is default. ~3% performance gain for players with default height; unmeasurable if different height while without heels.

* Citizen/animgraph: oops, the skid layer optimisation should be checking against the skid values, not wish

* Citizen/animgraph: optimise the facial animation subgraph by cutting out the voice lipsync bone mask & blend nodes if the voice level has been 0 for more than 3 seconds, and by replacing the random blink machine, previously based on a Choice node that effectively rolled a 85/15 dice every second (but relied on 2 constantly playing sequences) by a state machine with the new "random time between" feature. The add node is now only active during a blink. Time between blinks is now random between 0.1 and 5.0 seconds.

* Humans: derive animgraphs from Citizen updates
2025-12-19 01:26:03 +00:00
Lorenz Junglas
3be8514e6d Partially revert "Fix additive scenes applying their NavMesh properties" (#3643)
Apply navmesh overrides from additive scenes, only ignore overrides from system scenes.

For some reason our startup scenes load as additive, so the navmesh settings of the startup scene would have been ignored.

Partially reverts https://github.com/Facepunch/sbox/pull/3555

We could also fully revert it if we want system scenes to be able to override navmesh settings.
2025-12-18 19:41:36 +00:00
bakscratch
d5daad537b Fast texture tool improvements (#3624)
https://files.facepunch.com/louie/1b1811b1/sbox-dev_wPVinlJTtE.png

-Support Tiling in the fast texture tool.
-Shortcuts.
-Escaping out resets to orignal uv.
-Unwrap Square better.
-World Mapping.
-Apply active material when entering fast texturing.
-Clicking in the rect view with no rect file fills to the full uv.
-Snapping toggle.
-Reset uv and focus buttons.
-New cleaner UI.
2025-12-18 16:30:58 +00:00
bakscratch
9c76279626 Pivot Picker (#3617)
https://files.facepunch.com/louie/1b1711b1/sbox-dev_tBYxduuoAY.mp4
2025-12-18 16:26:07 +00:00
Lorenz Junglas
4a050a9ab9 Animation optimizations v3 (#3635)
* Cleanup SkinnedModelRendererSetBoneMerge

* Proper bookkeeping for SkinnedModelRenderer Hierarchy

* Use ConcurrentQueue instead of Channel to reduce lock contention

* Limit animation update parallelism to Environment.ProcessorCount - 1

* BoneMerge in parallel

* Speed up native anim decompression using (lock-free) LRU posecache

* Remove some unused debug counters
2025-12-18 17:02:20 +01:00
Layla
3844a66923 Text rendering scope font smooth & 1 px aliased outline support (#3642) https://files.facepunch.com/laylad/1b1811b1/sbox-dev_CExpJeBiL5.png 2025-12-18 14:47:05 +00:00
Garry Newman
f241f16212 Simplifies WheelJoint creation (#3639) 2025-12-18 14:44:35 +00:00
bakscratch
b0d724d917 Bevel Tool Fixes (#3638)
Match bevel tool closer to hammer
-Steps more accurate
-Smooth normal option
2025-12-18 12:31:21 +00:00
sboxbot
bdbdbb9f2b Scope last selected SceneViewportWidget to SceneViewWidget (#3616)
- Remove static LastSelected SceneViewportWidget. It should be scoped to the last selected viewport within a particular Scene view
- Add LastSelectedViewportWidget to SceneViewWidget
- Re-add focusing the last selected widget that was hotfixed in #114

---------

Co-authored-by: aidencurtis <109600275+aidencurtis@users.noreply.github.com>
Co-authored-by: Carson Kompon <carsokompo@gmail.com>
2025-12-17 16:06:37 -05:00
DrakeFruit
3fd6045762 fix prefabs not being added to vmap references 2025-12-17 20:19:27 +00:00
Matt Stevens
0334844da0 Store hero 2025-12-17 20:11:15 +00:00
trende2001
cb69593be1 Fix UI not being resized to screenshot_highres dimensions 2025-12-17 18:17:01 +01:00
Carson Kompon
57b5efb655 Only download packages from the current project when opening in the Editor (#3619)
- Only download packages from the current project when opening in the editor
- Make sure to download packages referenced within any libraries in the current project
2025-12-17 09:59:28 -05:00
Layla
1b9ac54a83 Mapping tools resize mode (#3630) 2025-12-17 12:47:10 +00:00
Garry Newman
dc25e9f401 Fix DropDown control struggling with empty/null values 2025-12-17 12:03:03 +00:00
Sol Williams
f22c6ee375 ServiceWorldRequests while async map load is unfinished 2025-12-17 11:13:50 +00:00
Matt Stevens
8c25780848 Fix Compiler.config not being initialized by default
* Extended whitelist tests to use the other method of creating a compiler without explicit compiler settings
* Initialize Compiler._config as it's a struct so everything was zeroed before
2025-12-17 11:07:19 +00:00
Garry Newman
9ad0943c6a Add g_vSelfIllumOffset to shared ps code 2025-12-17 09:13:49 +00:00
Garry Newman
67e5970382 Fix exceptions in ParticleModelEmitter when model is null 2025-12-17 08:40:37 +00:00
bakscratch
dd62d51b63 Revert old Material palette style
https://files.facepunch.com/louie/1b1611b1/sbox-dev_ryYgKhzZ5X.png
2025-12-17 00:13:37 +00:00
Matt Stevens
84f0839ee4 CrashReporter: Add process name to context (#3625) 2025-12-16 23:37:55 +00:00
Matt Stevens
e0bf78e4d8 Optimize winter main menu 2025-12-16 20:02:34 +00:00
Layla
f40e74a093 Edge cut tool (#3629) 2025-12-16 17:22:03 +00:00
Antoine Pilote
c25d0aa594 Added ControlSheet.CreateRow 2025-12-16 11:18:45 -05:00
bakscratch
10c74fa037 Material palette groups (#3596)
https://files.facepunch.com/louie/1b1511b1/sbox-dev_yO6MOKHQIG.mp4
2025-12-16 14:09:07 +00:00
Garry Newman
b2122ed23e Fix popup/dropdown stylesheets 2025-12-16 12:56:04 +00:00
James King
fc1ed44b7e Make sure MovieResource.EditorData is set when saving (#3627)
Fixes Facepunch/sbox-issues#9744
2025-12-16 12:09:31 +01:00
Tony Ferguson
9f5a1917d8 Fix QtAppSystem steamApiDll never getting assigned (#3591) 2025-12-15 11:48:10 +00:00
Layla
0697a99bb8 Mapping polygon tool (#3620) 2025-12-15 10:35:09 +00:00
Layla
6e6bd37ac8 always draw brush preview (#3609) 2025-12-15 10:34:36 +00:00