* Add TextureFlags
* Add TextureFlags.PremultipliedAlpha in text block and webpanel textures
* Add BlendMode.PremultipliedAlpha
* Add panel to PauseModal
* 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
* 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
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.
- 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
* 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
- `PolygonMesh.SetFaceTextureCoords()` now properly sets `IsDirty`
- Added `PolygonMesh.GetFaceTextureCoords()`
- Added `FastTextureWindow` (which extends RectEditor.Window) and `FastTextureSettings` classes
- Added `MeshRectangle` which is a RectEditor `Rectangle` that contains faces from a mesh unwrapped within the rectangle, reflecting any transform changes made back to the associated mesh faces
- Added `EdgeAwareFaceUnwrapper` class which handles all UV unwrapping
- Added a "Fast Texturing Tool" button to the Mapping Tool's Texture Mode which opens a FastTextureWindow with the selected faces. This can also be opened with the shortcut CTRL+G (from the Texture Mode OR the Face Mode)
- If a Fast Texturing Tool window is open and the faces are deselected (or the user exits the Mapping Tool) the window will automatically close itself
- Implemented U/V Alignment Settings (+ Horizontal/Vertical Flip)
- Implemented Inset X/Y Settings
- Implemented Square Unwrap, Planar Unwrap, and Use Existing mapping modes
- If the selected material has a rect asset, you can double-click on a rect to automatically fit your UV rectangle to the one you double-clicked. (You can also toggle the visibility of the material's rects)
- Implemented the "Pick Edge" button which allows you to select an edge from the unwrap and automatically orient the UVs so that the selected edge is aligned with the grid.
- Added `Rectangle,CanDelete`, used by MeshRectangles so they cant be deleted
- Fixed `RectView.DragResizeRect` behaviour so that resizing a rect will snap the dragged edges to the grid instead of just increasing/decreasing by the grid size
- Added Panning/Zooming to the Rect Editor
- Disabling the Grid in the RectEditor now disables grid snapping
- Can now resize rects in on themselves to resize in the other direction without making an invalid rect
- Added Tile View to RectView
* Fixes GameObject references in GameObjectSystem NetLists and NetDictionaries being null on clients.
* dotnet format
---------
Co-authored-by: Andy <10728824+andy013@users.noreply.github.com>
- Added Sandbox.Test.Unit project (contains independent tests that can run in parallel)
- Modify some slow/stress tests (e.g. instead of doing a million iterations settle for 10k).
Tests run almost twice as fast now.