branchsbox/single-game-projectcancel
44 Commits over 30 Days - 0.06cph!
Better control over currently mounted project in Explorer dock
"Open game menu" on launch bar
Run localaddons.changed when project is activated
Show active game in projects list
Small UI tweaks
File -> New Project (for non-game projects)
Try to fix DPI scaling by manually adjusting window size
Don't wait for cloud project fetch when displaying start screen, run inside task
Throw exception if git returns non-zero exit code
Handle exception thrown when git isn't installed differently
Don't show irrelevant options in welcome screen context menus
Set modal properly on ProjectDownload 🤦
"Open Game Project..." -> "Close Game Project"
"Open Menu Screen" option in Game menu
Filter by open-source projects in welcome screen
Project name first in editor window title
Fix black screen when loading into non-existent game projects
Globe/folder button functionality, indicate disabled projects, single-click for project loading, finger cursor
Context menu for cloud packages
Move content mode button to sidebar
Default launcher to sandbox gamemode (if in content mode)
Show "select folder" dialog when cloning cloud project from welcome screen
LocalProject.CurrentGame is manually set, change ProjectTemplate default description
Make LaunchToolbar play button work again
Spaceship test addon is type "addon"
Rather than disabling new game projects by default, disable existing game projects instead
cl_list_project is ordered, shows active & type
Add test for desired single project behaviour
Tests use AddFromFileBuiltIn when adding base addon
[Squash] StartScreen has "Home" and "Create new game" sections
Simplify launcher
Show "Last Opened" on last opened game row
Give StartScreen obvious sections
[Squash] General editor tweaks and improvements
Only read/write addons.json in tools mode, cl_list_projects debug command
[Squash] Editor startup flow
[Squash] Show progress when loading projects, wait until complete before showing editor
New project sets newly created project as active
[Squash] StartScreen sorting and filtering
Minor fixes
[Squash] Native editor JumpList support, JumpList content, minor editor tweaks
StartScreen home sections are ExpandGroups
[Squash] SegmentedControl and ItemRow cleanup
Rename "empty" to "content mode", add "-skip_start_screen" command line switch, works with jump list
Shut down engine properly when start screen is closed 🤦
Fix cloud project cloning, move into Utility
Command line project loading
Use SegmentedControl in TabWidget rather than doing the same thing twice
Game editor menu, contains options for uploading, opening explorer, etc.
Implement remaining missing functionality (file menu, templates)
Tools cleanup
Implement EditorPreferences.ShowStartScreen
Tools cleanup
Implement remaining missing functionality (file menu, templates)
Remove old Utility.Projects.SetActive(), error if setting non-gamemode project
Fix NRE when launching projects through jump list
Use direct path to project through jump lists instead of addon ident
We can add the project manually if it exists but we don't know about
it (can happen if you pin something on the jump list, then remove it
from registered addons list, and then try to launch the pinned addon)
Remove sections from start screen, use existing project creator (with new layout)
Use SegmentedControl in TabWidget rather than doing the same thing twice
Game editor menu, contains options for uploading, opening explorer, etc.
Command line project loading
Remove Game.IsEditorEmpty, can do this better later
Auto-start cloud projects when downloaded from start screen
Rename "empty" to "content mode", add "-skip_start_screen" command line switch, works with jump list
StartScreen Section -> Page
Shut down engine properly when start screen is closed 🤦
Fix cloud project cloning, move into Utility
StartScreen home sections are ExpandGroups
Item rows handle longer names better + display VR compatibility where appropriate
Tidy up SegmentedControl
[Squash] Native editor JumpList support, JumpList content, minor editor tweaks
cl_list_project is ordered, shows active & type
Separator light variant
Segmented control widget
https://files.facepunch.com/alexguthrie/1b0511b1/sbox-dev_SglhcDRI9f.mp4
StartScreen sorting
StartScreen search filter
ToRelativeTimeString adjustments: "just now" for <30 minutes, "recently" for <6 hours
Make loading progress messages more explanatory
Sort jump list by last opened, cleanup
Show progress windows in center of screen
New project sets newly created project as active
Use existing progress class
Make ProgressWindow a dialog without close button
Wait for project compile to finish before showing game menu
Basic indicator while game project is loading
Only read/write addons.json in tools mode, cl_list_projects debug command
Startup flow
Cleanup
Move editor menus around
PopupWindows are dialogs
"Compile Optimized Shaders" displays confirmation dialog
StartScreen cleanup
Window.IsDialog doesn't display "Help" button that nobody uses
Give StartScreen obvious sections
https://files.facepunch.com/alexguthrie/1b0111b1/sbox-dev_vviZ78o95D.png
Show "Last Opened" on last opened game row
Template descriptions
NewProject section titles
Simplify launcher
Use rows for templates, auto-fill info based on template, find best available folder
Move "empty environment" option inline with most recent game project
Custom StartScreenSection attribute
LocalProject.LastOpened, sort start screen games
MenuAttribute priority property
File -> New Game, File -> Open Game
StartScreen sections
Derive ProjectRow from generic ItemRow
Experimental - show cloud projects inside start screen
Show available cloud packages in startscreen
Clean up Home.UpdateProjectList
Squash commit of everything so far
Tests use AddFromFileBuiltIn when adding base addon
Move JumpList into Sandbox.Engine, set up in ToolsDll
JumpList icons
https://files.facepunch.com/alexguthrie/1b2811b1/JumpList_Icons.png
Better JumpList API, add multiple & set categories, show projects in there
Use ProjectRow instead of custom LaunchpadProject, move some stuff in there
Use Global.BackendTitle and BackendUrl for asset.party link
Remove borders from ProjectRow and SidebarButton
Experimental JumpList support
"Open Empty Environment" button
For anyone that isn't working on a specific game (addon creators, mappers, etc)
SidebarButton.Clear acts more like a link
Draw pin button on right, make it blue when project is pinned
SidebarButton.Link functionality
Don't need to show the "show on startup" toggle outside of editor prefs
Fix ToggleSwitch not displaying correct value when starting value is true
StartScreen layout - pin menu row to top, only scroll through project launchpad itself
Make EditorPreferencesWindow modal
StartScreen settings button, opens editor prefs
ToRelativeTimeString extensions for TimeSpan and DateTime (moved from PackageCard)
Launchpad project card displays relative time string
Project pinning
SidebarButton Link and Clear types are classes
Fancy switch button
https://files.facepunch.com/alexguthrie/1b2711b1/sbox_CXvCYYRATC.mp4
Remove Window.IsOnTop, calling Window.SetModal does the same thing
Rename switch to ToggleSwitch, move into Widgets/
StartScreen UI improvements, move custom widgets into partial class
Button.Clear (similar to Button.Primary)
New start screen UI
https://files.facepunch.com/alexguthrie/1b2611b1/sbox_uofPG8ktak.png
Initial "one game project" logic
Basic start screen
Add Window.IsOnTop
Show start screen on boot if selected, display on top of editor
Apply WindowStaysOnTopHint on top of existing window flags