1,056 Commits over 183 Days - 0.24cph!
Clicking on a Game's Name or Org Name will no longer launch the game in the List View
Fix Games and Game Jam page not launching games
Accidentally commit these few files 😅
Main Menu Redesign (#1645)
* Imported Lewis's menu and fixed any immediate errors
* Fix Avatar Menu
* Fix Sidebar
* Fix all instances of position: absolute not having position: relative parents
* More CSS fixes
* Cleanup the Home Page
* Implemented the Featured Games list on the Home Page
* Hooked up Games page with Search and Filters
* Show default div for orgs with no image set
* Added Active Lobbies section with LobbyCards
* Added Hidden decoration, Unplayed and Updated tags
* Add PartyDeck to SocialBar
* Added Tags to the top of Games Page
https://files.facepunch.com/CarsonKompon/2024/August/10_14-10-PettyVampirebat.mp4
* Minor text adjustment
* Favourites Section is now hooked up properly
* Implemented Currently Trending and Recently Played sections
* Hooked up the Search TextEntry
* Implemented Game Jam Page
* Implemented Maps Page and renamed some razor files.
* LobbyCard now uses the GameTile as a base instead of PackageCard for consistency
* Added Org Page back (in the style of the new menu, now with Games/Maps sections)
https://files.facepunch.com/CarsonKompon/2024/August/10_17-24-ReadyArabianoryx.mp4
* Restored ability to click on a game/map to launch into it (as well as the right click menu for each)
* Don't invert logo on hover
* Fix all the BuildHash-related issues.
* Remove unused/obsolete stuff
* Fixed Header Height in Org Page
* Oops I accidentally commit some weird changed I didn't mean to make
* Remove the VROverlayPanel stuff for now since it's Obsolete
* Remove the unused pages from the sidebar navigation. Make sure bottom-align is actually aligned to bottom and not flex growing
* Clean up Game Jam page now that `contest:x` searches work
* Game Tile Favourite Heart lights up if package is favourited
* Clicking Org Profile Picture will open Org Page
* Added mouse over/click sounds to game logo. Made it link to Home page
* Tag Buttons are now in the same style as the rest of the UI
* Fix LoaderFullscreen displaying over entire screen due to `position: absolute`
Remove the VROverlayPanel stuff for now since it's Obsolete
Remove the unused pages from the sidebar navigation. Make sure bottom-align is actually aligned to bottom and not flex growing
Clean up Game Jam page now that `contest:x` searches work
Game Tile Favourite Heart lights up if package is favourited
Clicking Org Profile Picture will open Org Page
Added mouse over/click sounds to game logo. Made it link to Home page
Tag Buttons are now in the same style as the rest of the UI
Fix LoaderFullscreen displaying over entire screen due to `position: absolute`
Oops I accidentally commit some weird changed I didn't mean to make
Fix all the BuildHash-related issues.
Remove unused/obsolete stuff
Fixed Header Height in Org Page
Don't invert logo on hover
Imported Lewis's menu and fixed any immediate errors
Fix Avatar Menu
Fix Sidebar
Fix all instances of position: absolute not having position: relative parents
More CSS fixes
Cleanup the Home Page
Implemented the Featured Games list on the Home Page
Hooked up Games page with Search and Filters
Show default div for orgs with no image set
Added Active Lobbies section with LobbyCards
Added Hidden decoration, Unplayed and Updated tags
Add PartyDeck to SocialBar
Added Tags to the top of Games Page
https://files.facepunch.com/CarsonKompon/2024/August/10_14-10-PettyVampirebat.mp4
Minor text adjustment
Favourites Section is now hooked up properly
Implemented Currently Trending and Recently Played sections
Hooked up the Search TextEntry
Implemented Game Jam Page
Implemented Maps Page and renamed some razor files.
LobbyCard now uses the GameTile as a base instead of PackageCard for consistency
Added Org Page back (in the style of the new menu, now with Games/Maps sections)
https://files.facepunch.com/CarsonKompon/2024/August/10_17-24-ReadyArabianoryx.mp4
Restored ability to click on a game/map to launch into it (as well as the right click menu for each)
Remove other unused assets
Update Sprite Tools to the latest published version
Tileset Component uses hulls for necessary collisions
Moved existing Code files into a "Sprite" folder
Create Tileset folder and add a basic TilesetResource
Add empty TilesetComponent with stripped Tile class. Will optimize this further later.
Began basic Tileset Tool, Draw grid with gizmo instead
Create TilesetToolInspector, rebuild on hotload
Strip TilesetComponent.Tile class and add TilesetComponent.Layer class
TileMapTools -> TilesetTools. Add ControlSheet to TilesetToolInspector
Create GameObject w Component when necessary
Added SelectedLayer and Active to TilesetTool.
Tileset Tool Header shows Selected Layer
Created Layer List Widget and Layer Widget, displays in both ToolInspector and TileComponent
https://files.facepunch.com/CarsonKompon/2024/July/22_22-51-HugeOtter.mp4
TilesetComponent.Layers is now a property under the Layers group
Added Dragging to re-order Layers
https://files.facepunch.com/CarsonKompon/2024/July/22_23-09-ThoughtfulNabarlek.mp4
Change Height of Layer Scroll Area
Darken the layer being dragged
Ask for confirmation before deleting animation w/ right click
Added .Copy() functions to Tile and Layer classes
TilesetToolInspector NRE fix
Added Context Menu to TilesetLayerControl
https://files.facepunch.com/CarsonKompon/2024/July/23_07-52-ImperfectAmphibian.mp4
Fix TilesetLayerListControl Height
Create TilesetSceneObject for drawing tiles in a single Graphics.Draw call.
Replace Delete IconButton with Lock Button.
https://files.facepunch.com/CarsonKompon/2024/July/23_08-49-GrowingMastiff.png
Import some tile assets
Test Tileset Resource
TilesetLayerControl deletes on right click without the additional popup
Rebuild TilesetToolInspector when Selected Layer changes. Serialize Selected Layer as part of the ControlSheet
Fixed TilesetComponent SceneObject vertex maths. Each layer now gets its own material, sharing materials between layers if same atlas is used.
Update Grid Size to follow Tileset size
Fix Selected Layer inspector update
TilesetComponent NRE fixes
Fix e defined but not set
Removed unused variable viewerPosition
Show preview tile under cursor when in Tileset Tool. Fit to Grid nicely
Updated TileResource structure and prepared for creating Tileset Editor
Move UndoStack from SpriteTools.SpriteEditor to SpriteTools namespace
Removed AllWindows from SpriteEditor. Removed some debug logs from SpriteEditor. StateCookie is based on resource opened
More updates to TilesetResource. TilesetResource is titled "2D Tileset" and Tileset Component is "2D Tileset component".
Added SpriteComponent and TilesetComponent to "2D" category
Basic TilesetEditor (Empty Window for now. Fitted with asset saving/loading, toolbars, undostack, ect.
Move SpriteRenderingWidget up to SpriteTools namespace
Move SpritesheetImporter from SpriteTools.SpriteEditor namespace to SpriteTools namespace and make import an Action that SpriteEditor hooks into.
Hook up SpritesheetImporter to TilesetEditor window
Add Inspector to Tileset Editor
Add RenderingWidget/Preview to Tileset Editor
Add base settings to TilesetEditor Inspector. Minor changes to TilesetResource
MultiPick -> MultiSelect
Add SegmentedControl to Tileset Editor with Setup and Tiles tabs
Tileset Editor undo/redo works properly now and has undo steps for properties changing
Add Regenerate Tiles button with warning beneath explaining what it will do
Only show warning when tiles already exist
Display image in Preview when set/updated.
Show import gizmos when in setup tab. Show WarningBox with a different message when trying to view Tiles tab with no Tiles
Generate Tiles button generates tiles from shown import gizmos. Doesnt display in Tiles tab yet
Start on Tiles tab if Tileset already has Tiles
Onlyu display new import gizmos when no tiles exist or when hovering the Regenerate Button
Added "Delete All Tiles" button when resource has tiles. When undoing/redoing an action the inspector will rebuild appropriately
Added Tile Gizmos. Hovering over a Tile Gizmo will highlight it. Implemented TilesetResource.CurrentTileSize so Setup variable can affect current tiles (with optional regeneration button)
https://files.facepunch.com/CarsonKompon/2024/July/26_00-18-MadeupHoneybee.mp4
Organized Editor folder and made LabelTextEntry agnostic with OnStopEditing action
Add Name to TileResource.Tile
Fix not used warning
Add EmptyValue to LabelTextEntry
Add PixmapCache for creating cropped pixmaps from textures
Use PixmapCache in SpriteEditor
Created TileListControl and TileControl for TilesetEditor. Shows list of all created tiles. Shows preview icon. Can be renamed/reordered/ect.
https://files.facepunch.com/CarsonKompon/2024/July/26_10-38-TrickyHellbender.mp4
Move Editor Controls to Controls folder
Clean up some tile control styling
Added SelectedTile to Tileset Editor. Can select from list.
Deleted tiles show as ghost tiles, selected tile is highlighted and is a different colour.
Can click on Tile Gizmo to select it, right click to delete. Deleting selected tile will select first tile it can.
Clicking on ghost tile creates tile at that position. Make necessary fixes to allow swapping out sheets
https://files.facepunch.com/CarsonKompon/2024/July/26_12-06-NextMealworm.mp4
Draw selected widget above others
Add CornerDrag Gizmos to Selected Tile. Change cursor when hovering based on direction. Show as hidden when movement is invalid.
Can click and drag Corners to resize the tile. Bunch of updates to invalid resize checks
https://files.facepunch.com/CarsonKompon/2024/July/26_14-08-PlainArmednylonshrimp.mp4
Adding/Removing tiles by clicking on gizmos are part of the undo stack
Tiles have their own Guid now. This does not get serialized and are assigned on load
Don't allow to box to resize into others. Prevent deselecting gizmo when resizing up-left
LabelTextEntry text now updates when property updates (if it was edited elsewhere)
Added "Selected Tile" section to Tileset Editor Inspector
Put Selected Tile section in an Expand Group so we can have ControlSheet groups within that are less confusing
Display [ReadOnly] Index in Selected Tile group
Removed TilesetResource.SheetRect and replaced it with two Vector2Ints (Position and Size).
Fixed can drag logic on Corners
Remove cooldown on resize so it's snappier
Added Multi-Select to Tiles List and supported MultiEdit in the Selected Tile Inspector.
Adding/Removing tiles no longer rebuilds entire list, only makes necessary changes. Also fixed a few NREs from previous commit
Can remove from selection when CTRL selecting in tile list
Can now MultiSelect from gizmos directly
https://files.facepunch.com/CarsonKompon/2024/July/26_20-12-InsidiousChinchilla.mp4
Can now create new tile even if tiles have yet to be generated. Will use current settings from Setup tab. Updated warning box text in Tiles tab to fit. Update inspector when adding first tile/removing last.
Fix divide by zero error when dragging sprite with single frame in first animation
Support TileSize of non-square size. Draw grid accordingly.
Push the example assets for now since old ones are ancient
Added Click and Drag to move tiles in Tileset Editor
https://files.facepunch.com/CarsonKompon/2024/July/28_16-49-VibrantIvorybilledwoodpecker.mp4
Update TilesetComponent.Tile and UVs on drawing
Fix TilesetTool NRE
Setup BaseTileTool for Tileset Subtools
Added PaintTileTool for painting tiles
Fix tile drawing so higher layers are drawn above lower ones.
Fix layer index on Tile Tools
Add EraseTileTool. Choose when preview tile renders
Added Shortcuts using new Shortcut attribute
Don't draw tileset tool sceneobject when no subtool is selected
https://files.facepunch.com/CarsonKompon/2024/July/30_20-54-LivelyAldabratortoise.mp4
Update Shortcuts to use the new Editor Keybinds system
Did some minor tileset optimizations. Added Line Tool to Tileset Tool
https://files.facepunch.com/CarsonKompon/2024/August/02_10-44-SickBird.mp4
Update example project assets
Round calculated line positions instead of flooring them (prevents lines from looking oddly curved at certain angles)
Added Rectangle Tool
Tileset Tool Inspector now shows Properties on the currently selected tool. Added Separation to Line Tool and Hollow to Rectangle Tool
https://files.facepunch.com/CarsonKompon/2024/August/02_11-11-IllinformedArmyworm.mp4
Right Click with Rectangle Tool will delete
https://files.facepunch.com/CarsonKompon/2024/August/02_12-33-CheerfulAngora.mp4
Fix Rectangle Tool Delete Gizmo displaying incorrectly
Rectangle Tool optimizations and bug fixes
Make TilesetComponent.Tiles a Dictionary instead of a List so position lookup is much more easy/optimal
Add Collider generation to Tileset Component
https://files.facepunch.com/CarsonKompon/2024/August/02_19-31-DarkgoldenrodFlycatcher.mp4
Added TileComponent.HasCollider, defaults to false.
Rebuild TilesetComponent collision on tile add/remove.
https://files.facepunch.com/CarsonKompon/2024/August/02_19-45-IndianredAsiandamselfly.mp4
Can mark a Layer as a Collision Layer. Collision Mesh will only be generated from this layer.
https://files.facepunch.com/CarsonKompon/2024/August/02_20-37-TotalAss.png
Fixed a bunch of NREs when Layer(s) or Tile(s) weren't set yet. Also fixed tools not updating when certain properties were changed in the inspector
Tileset Tool Inspector NRE fix
Tiles are referenced by Guid instead of CellPosition. Allows you to edit existing tiles after being placed already
https://files.facepunch.com/CarsonKompon/2024/August/03_10-17-HelplessSanddollar.mp4
Update example scene to use guid format
Fix Deserialization on TilesetComponent.Tile
Added "Bake Selected Layer" button to Tileset Tool. This detaches any placed tiles from their references.
https://files.facepunch.com/CarsonKompon/2024/August/03_11-01-MediocrePaddlefish.mp4
Added Tile Picker to Tileset Tool Inspector
https://files.facepunch.com/CarsonKompon/2024/August/03_12-52-StormyRabbit.mp4
Paint Tool can now paint tiles larger than size 1x1
https://files.facepunch.com/CarsonKompon/2024/August/03_13-06-OutrageousAnemone.mp4
Don't draw tiles with broken id references, don't rent those verts
Don't draw multi-tile brush in non-paint tool.
Added Rotation and Flip variables w/ Shortcuts
Can now place rotated/flipped tiles.
https://files.facepunch.com/CarsonKompon/2024/August/03_13-37-VirtuousDarklingbeetle.mp4
Updated example again
More example scene stuff
NRE fix
Only draw Collision Gizmo when TilesetComponent is selected
Draw Missing Tiles (When a placed unbaked tile has their referenced tile deleted/regenerated)
https://files.facepunch.com/CarsonKompon/2024/August/04_10-56-UnlawfulGallinule.png
Various minor optimizations
Don't show base Collider Properties in the Tileset Tool Inspector
TilesetComponent now has proper collisions. Also cleaned up the Rebuild function
https://files.facepunch.com/CarsonKompon/2024/August/08_13-55-GummyTopi.mp4
Created TileAtlas class which will create a new texture from a Tileset that adds 1px of bleed around each tile so you don't see UV seems at medium-to-far zoom levels. Rewrote TilesetComponent to use TileAtlas w some other minor optimizations
https://files.facepunch.com/CarsonKompon/2024/August/08_17-04-SnivelingQuetzalcoatlus.mp4
TileAtlas now properly adds bleeding tiles for tiles of sizes larger than 1,1
Fix AspectRatio returning 1 (even when not 1) for single frame sprites
OnAnimationComplete is now run on the main thread so code isn't unknowingly run on other threads
Added TileScale to TilesetResource. Changes scale of placed tiles.
Fixed some TilesetComponent collision faces facing the wrong way
Added support for rotating tiles of size larger than 1,1
https://files.facepunch.com/CarsonKompon/2024/August/09_12-14-ElatedEarthworm.mp4
Added Undo/Redo support to Tileset Tools
Merge branch 'tilemap-tools'
Added Undo/Redo support to Tileset Tools
Added TileScale to TilesetResource. Changes scale of placed tiles.
Fixed some TilesetComponent collision faces facing the wrong way
Added support for rotating tiles of size larger than 1,1
https://files.facepunch.com/CarsonKompon/2024/August/09_12-14-ElatedEarthworm.mp4
Swap out SpriteTools to Tileset Editor version
Update Room Prefabs/Resources to use a Tileset.
https://files.facepunch.com/CarsonKompon/2024/August/08_20-21-FinishedSeabird.mp4
Set shadow prefab to Shadows Only
Remove old un-needed assets
Made door one-way so players can join you when you start a room
Various multiplayer-related fixes
Fix PlayerInfo NREs when the player connection no longer exists
Cap off any unclosed ends with proper directional tiles instead of weird box tiles
OnAnimationComplete is now run on the main thread so code isn't unknowingly run on other threads
Fix AspectRatio returning 1 (even when not 1) for single frame sprites
TileAtlas now properly adds bleeding tiles for tiles of sizes larger than 1,1
Created TileAtlas class which will create a new texture from a Tileset that adds 1px of bleed around each tile so you don't see UV seems at medium-to-far zoom levels. Rewrote TilesetComponent to use TileAtlas w some other minor optimizations
https://files.facepunch.com/CarsonKompon/2024/August/08_17-04-SnivelingQuetzalcoatlus.mp4
Don't show base Collider Properties in the Tileset Tool Inspector
TilesetComponent now has proper collisions. Also cleaned up the Rebuild function
https://files.facepunch.com/CarsonKompon/2024/August/08_13-55-GummyTopi.mp4
Fix ComponentList breaking when component in the list no longer derives from Component. Resolves Facepunch/sbox-issues#6152
Fixed stylesheet @import hotloading without disrupting existing stylesheet imports. Resolves Facepunch/sbox-issues#5317
Shortcuts defined on static classes are now treated as Window shortcuts if not specified
Revert ComponentList changes for now. This seems to break things for everyone 😅
ComponentList no longer breaks when changing the parent class of a Component to something that *isn't* Component. Resolves Facepunch/sbox-issues#6152
Stylesheets @import-ed with a path relative to the local path will also hotload now
Stylesheets @import-ed by other stylesheets now hotload properly. Resolves Facepunch/sbox-issues#5317
Don't apply LocalScale to GetAttachmentTransform
Shortcuts now run on GraphicsItems.
Can now multi-select resources in the asset picker of a list entry to select multiple items at once. Resolves Facepunch/sbox-issues#5934
https://files.facepunch.com/CarsonKompon/2024/August/07_14-28-ConcreteRiograndeescuerzo.mp4
Formatter somehow removed usings
Added Search to Library Manager. Allows you to filter through both installed or available Libraries.
https://files.facepunch.com/CarsonKompon/2024/August/06_16-43-MiserlyCockerspaniel.mp4
Update AssetList Context Menu to use proper Delete shortcut name
Temporary shadow fix for sprite_2d shader
Various minor optimizations
Release all Editor Shortcuts when toggling Play Mode
Update GameObjectNode and AssetList Context Menus to use proper shortcuts for Duplicate
Pull default tags for GameTagsControlWidget from CollisionRules. Only display GameObject-related tags for GameTags, not ITagSet.
More example scene stuff
NRE fix
Only draw Collision Gizmo when TilesetComponent is selected
Draw Missing Tiles (When a placed unbaked tile has their referenced tile deleted/regenerated)
https://files.facepunch.com/CarsonKompon/2024/August/04_10-56-UnlawfulGallinule.png
Don't draw tiles with broken id references, don't rent those verts
Don't draw multi-tile brush in non-paint tool.
Added Rotation and Flip variables w/ Shortcuts
Can now place rotated/flipped tiles.
https://files.facepunch.com/CarsonKompon/2024/August/03_13-37-VirtuousDarklingbeetle.mp4
Updated example again
Paint Tool can now paint tiles larger than size 1x1
https://files.facepunch.com/CarsonKompon/2024/August/03_13-06-OutrageousAnemone.mp4
Added Tile Picker to Tileset Tool Inspector
https://files.facepunch.com/CarsonKompon/2024/August/03_12-52-StormyRabbit.mp4
Added "Bake Selected Layer" button to Tileset Tool. This detaches any placed tiles from their references.
https://files.facepunch.com/CarsonKompon/2024/August/03_11-01-MediocrePaddlefish.mp4
Tileset Tool Inspector NRE fix
Tiles are referenced by Guid instead of CellPosition. Allows you to edit existing tiles after being placed already
https://files.facepunch.com/CarsonKompon/2024/August/03_10-17-HelplessSanddollar.mp4
Update example scene to use guid format
Fix Deserialization on TilesetComponent.Tile
Fixed a bunch of NREs when Layer(s) or Tile(s) weren't set yet. Also fixed tools not updating when certain properties were changed in the inspector
Fix Rectangle Tool Delete Gizmo displaying incorrectly
Rectangle Tool optimizations and bug fixes
Make TilesetComponent.Tiles a Dictionary instead of a List so position lookup is much more easy/optimal
Add Collider generation to Tileset Component
https://files.facepunch.com/CarsonKompon/2024/August/02_19-31-DarkgoldenrodFlycatcher.mp4
Added TileComponent.HasCollider, defaults to false.
Rebuild TilesetComponent collision on tile add/remove.
https://files.facepunch.com/CarsonKompon/2024/August/02_19-45-IndianredAsiandamselfly.mp4
Can mark a Layer as a Collision Layer. Collision Mesh will only be generated from this layer.
https://files.facepunch.com/CarsonKompon/2024/August/02_20-37-TotalAss.png
Remove old Application.AllowShortcuts
Don't wrap cursor when holding middle/right mouse button in 2D editor view
Right Click with Rectangle Tool will delete
https://files.facepunch.com/CarsonKompon/2024/August/02_12-33-CheerfulAngora.mp4