156 Commits over 153 Days - 0.04cph!
Remove logs
Fix TilesetComponent upgrade order
Can now set height directly on a layer instead of having a single distance-between float. Added JsonUpgrader where needed
Added PreviewTileset so Tilesets have thumbnails
Updated TilesetToolInspector to have Brush settings visible in the tab + reformatted
Added AngleIntWidget for Brush Angle
Maintain selected tile when changing layers
Fix all the warnings
Bring back selection fix
Exit Tileset Tool when selecting a GameObject
Switch layers properly when changing Selected Tileset Component
Fix TilesetTool OnEnabled NRE
Fix Sprite Flash Tint not being applied if set when disabled
Fix TilesetResource not hotloading when adding/removing tiles
Added TilesetComponent.GetBounds()
Remove "Component" from Sprite/Tileset Titles, add [Tint] to each
Fix NREs when hotloading
Added 2D Sprite and 2D Tileset prefab templates
https://files.facepunch.com/CarsonKompon/2024/November/07_08-25-LightyellowLynx.png
Fix issues with setting SpriteComponent.Sprite to/from null
Updated example scene
Proper Tileset Bounds calculation for any Rotation
https://files.facepunch.com/CarsonKompon/2024/November/07_08-07-PoisedMorpho.mp4
Can now click on a TilesetComponent to select it in object mode
https://files.facepunch.com/CarsonKompon/2024/November/07_06-54-BasicDonkey.mp4
Prevent TilesetTool from being able to place out-of-bounds, throwing a warning
Make sure all Tileset Tools account for offset Tilesets
Can change selected Tileset Component in Tileset Tool
https://files.facepunch.com/CarsonKompon/2024/November/06_19-30-MotherlyDiscus.mp4
Fix a silly bounds issue
https://files.facepunch.com/CarsonKompon/2024/November/06_19-35-FabulousLunamoth.mp4
TilesetTool draws grid at the TilesetComponent's position so the grid is actually aligned to the object
Fix TilesetCollider not always building immediately
Proper Bake Selected Description
TilesetComponent docs
LayerControl Italics when Layer is locked, lighter text when hidden
Missed some other StatusTexts
Fix TilesetToolInspector not updating when switching Layers or changing Tilesets
Don't display Layers in the TilesetComponent, only in the TilesetTool so it's less confusing (hopefully)
Don't display Surface Properties in Tileset Tool
Refactor TilesetComponent so the Collider is a separate hidden component used invisibly.
Moved TilesetComponent Collision variables into their own feature tab which can be removed
Fixed "Set as Collision Layer" not instantly rebuilding Collisions
Don't show Collision Variables in the TilesetToolInspector
Fixed Tileset Tool Inspector. Resolves Facepunch/sbox-spritetools#26
Updated to fit the changes of Asset/AssetEntry
Fix ControlSheet issues
Create Input.config
Reset CurrentAnimation when changing the Sprite of a SpriteComponent
NRE fix in SpriteEditor Preview when no icon exists
Fixed string comparisons in SpriteComponent. Resolves Facepunch/sbox-spritetools#25
Added SpriteResource.GetAnimation
Fix TilesetTool NRE when there are no layers
Fix AnimationList NRE on Hotload
Transform.Postition/Rotation/Scale -> WorldPosition/WorldRotation/WorldScale
Modifying a Tileset source image will instantly hotload the changes. Resolves Facepunch/sbox-spritetools#21
Added TileAtlas.ClearCache to the Clear Cache menu option
Added SpriteResource.CopyFrom
Saving sprites created from an empty editor no longer cause an error. Resolves Facepunch/sbox-spritetools#24
Add .sbox folder to gitignore
Don't attempt animation playback on sprites that only have one frame. Fix DrawGizmos NRE when SpriteComponent doesn't have a Sprite
Fix NREs when opening a Sprite that references images that no longer exist (or have moved)
Added TilesetComponent.GetLayerFromName and TilesetComponent.GetLayerFromIndex
Added proper documentation to TilesetComponent, made a few things internal and changed some terminology. JsonUpgraders to ensure everyones stuff still works
Updated example files
Fix extreme lag when setting Tint/FlashTint on SpriteComponent
Tileset layering fixes, bounds calculated per-layer
Added TilesetComponent.LayerDistance
Dirty TilesetComponent on Layer SetTile. Set defaults for some params
fix UsePixelScale being half size 😳
Resolved compile errors from the ControlSheet refactor.
Fix SpriteComponent.UsePixelScale when AspectRatio != 1
Added SpriteComponent.UsePixelScale. When enabled, a 32x32 Sprite will have the dimensions of 32x32 instead of the default 100x100.
Fix massive Performance spike when loading certain Tilesets
Fix NREs when a Tileset has no Tiles defined
Fix Performance issues with the Tileset RenderingWidget in Tileset Editor and Tileset Tool
Update .sbproj
Completely refactor how tile textures are cropped in the Tileset Editor. Allows you to work with tilesets around or above 4K without massive hitches.
Cursor shows as pointer when hovering a TileControl
Update .sbproj
Added SpriteResource.GetAllTexturePaths()
Revert shader back to the manually edited shader since it's still needed for shadows
Revert manual shader changes and add calculated Bounds to TilesetSceneObject to prevent improper ordereing.
Update Example Scene
Fix not being able to Zoom in certain Rendering Widgets
Fixed issues with Sprites that had an aspect ratio of < 1 (scales width instead of height and vice-versa so things always fit in view)
Added Tags to TileResource
Potential NRE fix for GetAttachmentPosition
Fix AspectRatio only returning integer values