5,126 Commits over 1,552 Days - 0.14cph!
Fix token
Avoid chunked encoding, serialize, deserialize ouselves
Move upload apis
Moved leaderboards
Update Find api
More activity/event api calls
Move manifest api
Move bookmark api
Clean up, remove old backend stuff, remove old api
Update Apis
Lets make this less complicated
Clean account/login
Move rating api
Use FastTimer here
Custom DelegatingHandler for api calls - adds retries, logging, auth
Package and leaderboard apis
Mainmenu improvements (#1655)
* Add GameModal that pops up when you click a Game instead of instantly launching it (Currently Empty)
* Moved Vote Up, Vote Down, and Favourite buttons into PackageRatingButtons so it can be re-used
* Finished initial version of Game Modal with options to launch into a game and see all active lobbies.
* Remove scrolling on Game Modal, replace Lobby List with a button that opens the Lobby List modal layered above.
* Close Game Modal when entering Lobby from Lobby List Modal
* Give Lobby List Modal and other missed Modals the primary background
* Fix time offset strings displaying incorrectly
* Active Lobby buttons now open the Game Modal instead of loading you directly into the lobby
* Remove Global Stats from Game Modal. Unnecessary information
* Fix Maps menu opening the Walker Game Modal instead of launching directly into the map
* Org Page is now replaced with an Org Modal that can be opened at any time.
* Moved SettingsPage into a Settings Modal that pops up over everything
* Added Settings Modal to the Pause Menu
* Fix Package Modal not toggling when pressing F1
* Pad the bottom of GameGroups
* Show Player Icons on Active Lobby Cards (shows lobby hosts)
* Game Tiles are now all the same size instead of being randomly sized
* Give Game List Columns a max-width
* Lobby Heads on LobbyCards no longer block mouse inputs and are a bit larger.
* Clicking the name of a game opens the Game Modal instead of the Generic Package Modal
* GameTiles are now treated as one big button, clicking anywhere will open Game Modal.
* Removed box around header on Game and Org Modals
* Options on Game Modal are now "Create Game" and "Join Game" if multiplayer, with the Lobby List being moved elsewhere. Join Game is disabled if there are no active lobbies
* Added `flex-shrink: 0` to entries of the ServerListModal
* Added icons to Game Modal info, removed information that wasn't important and overall cleaned up readability. Also added Total Players and Playtime
* MenuOverlay now uses Screen.DesktopScale (with 1080p minimum)
* Added missing ToolTips to GameTile
* Fixed outstanding issues where a page wouldnt load until you moved your mouse over it.
* Adjusted font size on Game Modal
* Enable Looping on Main Menu music and Loading music
* Game Tile and Lobby Cards play sounds on click instead of `:active`, prevents clicking sound playing while dragging
* Fixed LoadingOverlay not including Subtitle in BuildHash
* Remove warning from LobbyCard since it doesn't need the async stuff anymore
* Remove unused variables from Game and Org Modals
* Remove refreshing variable from GameModal
* Fix Home Page Categories. Uses ListResult instead of hardcoded categories from initial concept
* LobbyCard UsersNow displays the total number of users across all lobbies instead of the number of lobbies
* Fix max-width on HomePage columns
* Add NRE check for when Package.Screenshots is null
* Don't request partial package for GameModal
* Added a way to select previous Jams on the Game Jam Page. Currently hardcoded with gamejam1 and gamejam2.
* GameTiles all now enforce the same aspect-ratio (16:9)
* Fix GameModal not loading its contents instantly.
* Added Tooltips to LobbyCards
* Fix Lists in 4:3 Screen Ratios
* Settings Button no longer brings you back to the Home Page
* Fix padding on PageHeader
* Revert GameModal back to string ident and use Package.TryGetCached instead.
* Order ServerListModal by Player Count
* Fixed HeaderTab styling on Settings Modal
* Fixed lobby heads being off by 1 pixel
* Make all elements on the Social Bar match instead of looking completely different
* Update the Map Select Modal to match where it doesn't already
* PackageSelectionModal also follows same styles.
* Add proper Volume Slider to VideoControls
* Change default starting volume for VideoControls
* Play button is greyed out and says VR Only if the game is only compatible with VR and the user is not currently loaded in VR.
* Unify multiplayer check in Game Modal and MenuHelpers
* Fix package reference in GameModal
* Show package using cached version
* Add Application.IsVr
* Add Sessions to PackageUsage
* Add TimeSpan.Humanize
* Add MenuUtility.CloseAllModals
* Break game modal up to managable components
https://files.facepunch.com/garry/3419ba7b-7e50-4b5c-a727-3e315fb4dffe.png
* Fix broken style
* Lobby list cleanup, list view aspect
* Fix ToolTips in GameModal
* Engagement tooltips display on entire entry not just icon.
* Games with LaunchMode "QuickPlay" will only display the one play button (since both would do the exact same thing)
* Fixed Videos now having their icon styling on GameModal Media
* Fix clicking on GameTiles still opening the Org Modal when on `/games` page
* Add `GameModal.HasFullPackage`. Show skeletons until full package is loaded.
* Broke GameModal down into a BasePackageModal that GameModal inherits. Added MapModal which inherits the same thing.
* Fix Base PackageFilters not preserving tags
* MapModal ActionBar has option to select game before launching map. Add Map Modal everywhere necessary.
* MapModal ActionBar queries lobbies properly, getting lobbies across all games
* Unify Game Close functions. Fixes Review Modal not appearing and mouse status not resetting all of the time
* Lets order everything by upvotes by default, for now
* Fix some GameTiles being massive when at the end of the list
* Make the "no screenshots" view a bit nicer
---------
Co-authored-by: Carson Kompon <carsokompo@gmail.com>
Lets order everything by upvotes by default, for now
Add GameModal that pops up when you click a Game instead of instantly launching it (Currently Empty)
Moved Vote Up, Vote Down, and Favourite buttons into PackageRatingButtons so it can be re-used
Finished initial version of Game Modal with options to launch into a game and see all active lobbies.
Remove scrolling on Game Modal, replace Lobby List with a button that opens the Lobby List modal layered above.
Close Game Modal when entering Lobby from Lobby List Modal
Give Lobby List Modal and other missed Modals the primary background
Fix time offset strings displaying incorrectly
Active Lobby buttons now open the Game Modal instead of loading you directly into the lobby
Remove Global Stats from Game Modal. Unnecessary information
Fix Maps menu opening the Walker Game Modal instead of launching directly into the map
Org Page is now replaced with an Org Modal that can be opened at any time.
Moved SettingsPage into a Settings Modal that pops up over everything
Added Settings Modal to the Pause Menu
Fix Package Modal not toggling when pressing F1
Pad the bottom of GameGroups
Show Player Icons on Active Lobby Cards (shows lobby hosts)
Game Tiles are now all the same size instead of being randomly sized
Give Game List Columns a max-width
Lobby Heads on LobbyCards no longer block mouse inputs and are a bit larger.
Clicking the name of a game opens the Game Modal instead of the Generic Package Modal
GameTiles are now treated as one big button, clicking anywhere will open Game Modal.
Removed box around header on Game and Org Modals
Options on Game Modal are now "Create Game" and "Join Game" if multiplayer, with the Lobby List being moved elsewhere. Join Game is disabled if there are no active lobbies
Added `flex-shrink: 0` to entries of the ServerListModal
Added icons to Game Modal info, removed information that wasn't important and overall cleaned up readability. Also added Total Players and Playtime
MenuOverlay now uses Screen.DesktopScale (with 1080p minimum)
Added missing ToolTips to GameTile
Fixed outstanding issues where a page wouldnt load until you moved your mouse over it.
Adjusted font size on Game Modal
Enable Looping on Main Menu music and Loading music
Game Tile and Lobby Cards play sounds on click instead of `:active`, prevents clicking sound playing while dragging
Fixed LoadingOverlay not including Subtitle in BuildHash
Remove warning from LobbyCard since it doesn't need the async stuff anymore
Remove unused variables from Game and Org Modals
Remove refreshing variable from GameModal
Fix Home Page Categories. Uses ListResult instead of hardcoded categories from initial concept
LobbyCard UsersNow displays the total number of users across all lobbies instead of the number of lobbies
Fix max-width on HomePage columns
Add NRE check for when Package.Screenshots is null
Don't request partial package for GameModal
Added a way to select previous Jams on the Game Jam Page. Currently hardcoded with gamejam1 and gamejam2.
GameTiles all now enforce the same aspect-ratio (16:9)
Fix GameModal not loading its contents instantly.
Added Tooltips to LobbyCards
Fix Lists in 4:3 Screen Ratios
Settings Button no longer brings you back to the Home Page
Fix padding on PageHeader
Revert GameModal back to string ident and use Package.TryGetCached instead.
Order ServerListModal by Player Count
Fixed HeaderTab styling on Settings Modal
Fixed lobby heads being off by 1 pixel
Make all elements on the Social Bar match instead of looking completely different
Update the Map Select Modal to match where it doesn't already
PackageSelectionModal also follows same styles.
Add proper Volume Slider to VideoControls
Change default starting volume for VideoControls
Play button is greyed out and says VR Only if the game is only compatible with VR and the user is not currently loaded in VR.
Unify multiplayer check in Game Modal and MenuHelpers
Fix package reference in GameModal
Merge branch 'master' into mainmenu-improvements
Show package using cached version
Add Application.IsVr
Add Sessions to PackageUsage
Add TimeSpan.Humanize
Add MenuUtility.CloseAllModals
Break game modal up to managable components
https://files.facepunch.com/garry/3419ba7b-7e50-4b5c-a727-3e315fb4dffe.png
Fix broken style
Lobby list cleanup, list view aspect
Fix ToolTips in GameModal
Engagement tooltips display on entire entry not just icon.
Games with LaunchMode "QuickPlay" will only display the one play button (since both would do the exact same thing)
Fixed Videos now having their icon styling on GameModal Media
Fix clicking on GameTiles still opening the Org Modal when on `/games` page
Add `GameModal.HasFullPackage`. Show skeletons until full package is loaded.
Broke GameModal down into a BasePackageModal that GameModal inherits. Added MapModal which inherits the same thing.
Fix Base PackageFilters not preserving tags
MapModal ActionBar has option to select game before launching map. Add Map Modal everywhere necessary.
MapModal ActionBar queries lobbies properly, getting lobbies across all games
Unify Game Close functions. Fixes Review Modal not appearing and mouse status not resetting all of the time
Lets order everything by upvotes by default, for now
Fix broken style
Lobby list cleanup, list view aspect
Show package using cached version
Add Application.IsVr
Add Sessions to PackageUsage
Add TimeSpan.Humanize
Add MenuUtility.CloseAllModals
Break game modal up to managable components
https://files.facepunch.com/garry/3419ba7b-7e50-4b5c-a727-3e315fb4dffe.png
Add editor options for lobby privacy
Currently very boolean - either private or public - would like to do
something org-based in future, or have custom filters
https://files.facepunch.com/alexguthrie/1b2811b1/NVIDIA_Overlay_L6ZTVFAOVc.png
Default to private in editor mode
Basic version property editor
Standalone: move ExportConfig into Sandbox.Tools, allow setting version/date/development build
Standalone: load version/date/development build info from manifest on startup, open up Standalone class
`Standalone.IsDevelopmentBuild`
`Standalone.Version`
`Standalone.VersionDate`
When accessed from outside standalone, will return default values
Fix video background-image rendering with incorrect aspect ratio - Rect needs to be recomputed once video texture has loaded
UI: Unset values if unit is undefined
Refresh svg when changing src/color properties, fixes Facepunch/sbox-issues#6247
Disable volumetric fog clipmaps by default, they're fucked right now with massive frame drops and they feel overengineered
Allow particle alpha to be applied without applying color (Alpha is still applied when applying color to avoid breaking existing behaviour)
Component upgrader for particle effect, apply alpha if we're applying color so that color and alpha can be properly decoupled
Make TabWidget state cookie restore functional
Give particle effect tab bar a state cookie so the current tab is restored
Don't apply Music/Voip volume settings when in Editor
Fix Home Page Categories. Uses ListResult instead of hardcoded categories from initial concept
Fix mistakes in Gizmo.SolidSphere, any segment count should now work
Get rid of upgraders log. If cloud prefabs have a component upgrade, we don't want to be spammed with this
Same fix needed for SolidCylinder
Top and bottom caps for SolidCylinder
Draw SolidCapsule directly instead of 2 spheres and a cylinder
Fix static functions on non-static Widgets not invoking or inheriting type properly.
Merge branch 'master' into mainmenu-improvements
Rename IGameMenuDll to IGameInstanceDll
Rename Sandbox.GameMenu.csproj to Sandbox.GameInstance.csproj
Rename Sandbox.GameMenu folder to Sandbox.GameInstance
Scale the screen scale down if screen height < 1080
More featured games
Fix panel background sometimes having the wrong corner radius
Add Screen.DesktopScale
Add ScreenPanel.ScaleStrategy - allows easily setting scaling to match desktop scale
Menu + Avatar scale matches desktop
Fix selection highlight not updating
DevUI uses desktop scale
Add Panel.SelectAllInChildren, UnselectAllInChildren
These allow easily add Ctrl+A behaviour
Don't draw the selection highlight as abrasively
Can view stack trace using in game console
Replace menu music with something that makes people less angry
Loading screen music only plays on first loading screen
Fix TimeSince/TimeUntil getting fucked when playing in editor
Fixes sbox-issues/issues/6312#issuecomment-2309487594
Scale music volume using mixer
Mount menu assets when not in editor
Menu music
Stop all sounds when leaving game, not when entering etc
Refactor
Fix audiomixer thread exceptions
Fix error reporting reporting to the wrong package
Always use GregorianCalendar
Fix Surface exception
Fix leaderboard friends querry
PerformanceStats.Timings.SteamAudio isn't used
Fix OnClientOutput not counting calls
Count exceptions, store game version
Fix exception when Image becomes null while loading texture
Add more diagnostics to error reporting
Fix loading screen staying visible when leaving avatar scene
Clean up some mess that is no longer required
Add new leaderboard api
Global + Player stats have more data, which mean you don't really need to define stats in the backend to be useful
Stats unittests
Platform retry
Clamp panel's time delta, avoids it skipping over transitions completely when loading etc
Custom loading screen backgrounds
Fix modal paths still targeting asset.party
Log a warning when trying to deserialize a component with no scene, and return null
IconButton has Toggle/Active mode
Add Json.ParseToJsonObject( ref Utf8JsonReader reader ), Json.FromNode<T>( JsonNode node )
Menu is default DeleteOnClose = true (let us know if some menus stop opening)
Fix NRE when pasting gameobjects
Add GraphicsView.DragType (enables SelectionRect)
Add GraphicsItem.Children
Fix GraphicsItem not always being able to resolve the GraphicsScene (which made SelectedItems total bullshit)
Add Curve.RemoveAtTime, Curve.Sort, Curve.AddOrReplacePoint
When changing position/scale for objects, add an edit log for each
Try to normalize EditLog to send actual propertyname
Add EditorEvents.ISceneEdited , EditorEvents supports interface based events
Curve.Evaluate takes an angle bool, if true, lerps shortest distance between angles
Throw exception in ScrollArea when trying to set canvas to an ancestor of itself
Add Curve.Frame.WithTime, Curve.Frame.WithValue
Hide GraphicsItem.AddChild, RemoveChild
Add GraphicsItem.Width, Height
In minimal game template, add editor code folder
Initialize tonemapper with defaults
Add Sphere.RandomPointInside
Add Capsule.RandomPointInside
Add HitboxSet.Hitbox.RandomPointInside
Http Post retry on connection error
Add Sphere/Capsule/BBox/Hitbox.RandomPointOnEdge
Can use [Range] on fields
When converting a Color to a Color32 if it's HDR then normalize instead of clamping
Expose ParticleEffect.ParticleBounds and MaxParticleSize
We don't use nethost anymore
TextManager becomes TextRendering, exposed function to get cached texture
Make F5 and F6 editor binds window-exclusive instead of application-wide
Force F1-F12 shortcuts to invoke properly when focused on Game tab.
Move static Shortcuts that were on static class to the scene viewport (so you need to have it in focus)
Set ObjectEditorTool alias back to "object". Resolves Facepunch/sbox-issues#6040
Fixed W,E,R binds not working for object tool being set automatically
Made F3 Shortcut type Window instead of Application.
Added EditorShortcuts.IsDown. Added binds for scene movement (W,A,S,D,Q,E) so they can be rebound in the editor.
Make net_debug work in game
Only fire global input handlers once at app-level
Only if static shortcut actions have no widget target, fallback to window and exclude from swallowing behavior
memset LightIndexMapping so it doesn't contain junk
Add TargetOverride to ShortcutAttribute so you can target a certain widget type from another class. Useful for tools/extension classes.
Make Grid Shortcuts to type Window. Make mesh editor binds target SceneViewportWidget so the binds only register when focusing the scene viewport AND when in the correct tool.
Bin Shortcut
Move scene shortcuts back to static class now that they work properly (ty sol)
Fix NRE for non-english layouts
Add filtering and sort options to upload wizard
https://files.facepunch.com/tony/1b3111b1/sbox-dev_QolpF2YDXn.png
Clear usage data on list update
Cubemap Fog can be tinted, takes tint from main skybox as well https://files.facepunch.com/sam/1b3111b1/XWpxvX189A.png
sky.shader: g_flBrightnessExposureBias and g_flRenderOnlyExposureBias makes no sense when there's tint, barely any existing skyboxes used it properly
Update SkyBox2D component to apply tint to IBL environment probe
https://files.facepunch.com/sam/1b3111b1/G0298YogbO.png
Fix black cubemap fog on hammer
Don't swallow shortcuts on same widget.
Make all tool shortcuts target the SceneViewportWidget
Update PackagePopup to show the information in a much cleaner way
https://files.facepunch.com/CarsonKompon/2024/July/31_13-50-DeliciousSora.png
Show how many assets/icons would be rebuilt when right clicking a folder. Don't show option at all if there are no assets in the folder.
https://files.facepunch.com/CarsonKompon/2024/July/31_16-20-StaidMonkfish.png
Do the same thing with right clicking anywhere in the asset browser (for the current folder)
Draw Camera Speed Overlay in Scene Viewport when changing the speed with mouse wheel
https://files.facepunch.com/CarsonKompon/2024/July/31_16-58-MonstrousIrishredandwhitesetter.mp4
Added Clear button to Editor Keybinds (allowing you to remove binds)
https://files.facepunch.com/CarsonKompon/2024/July/31_18-00-EmbarrassedHoki.png
Fix `video` getting called twice from F6 bind
Invoke shortcuts when focused on a line edit if the shortcut has a CTRL or ALT modifier (Fixes CTRL+S in a textedit)
Add EditorShortcuts.BlockInputs. Block Shortcuts while right/middle clicking on Scene Viewport.
Added "Current Project" to Special group in Asset Browser
https://files.facepunch.com/CarsonKompon/2024/July/31_19-14-MindlessEnglishpointer.png
Added Drag-and-Drop support to Folders in the Asset Browser
https://files.facepunch.com/CarsonKompon/2024/July/31_19-25-SmoggyIndianrockpython.mp4
Added support for renaming folders via the Asset Browser.
Clicking and Dragging Folders in the Asset Browser now updates the asset so it is reflecting the new path.
Can now resize Editor Keybinds window to see the full list
Can now move multiple files from File Explorer into Asset Browser in one drag
Prevent dragging into same folder
Prevent merging folders into current directory when dragging
Include revision with error report
Updating SDL2
Don't cull baked lights
Remove these sdl headers from vpc
Set light index mapping if we have a bake light index
Fix shortcuts like Ctrl+Z in ActionGraph
@CarsonKompon let me know if this isn't the right solution here
Make TreeView item renaming more explicit, share same rebindable shortcut
Pretty up shortcut hints a bit
Add more context menu shortcut hints
Make frame selection behaviour more consistent
Don't send Ctrl+C/V/X shortcuts when in a text field (since you probably only wanna do that in the text field). Resolves Facepunch/sbox-issues#6057
Be a bit more explicit with CTRL+C/V/X so other shortcuts work.
Don't use Shortcut as type "Window" when forcing Shortcut . Fixes F5 not being called when game view is in focus.
Added shortcut for pause (CTRL+F5)
Unset light index mapping uses blank light constants to kill off the light
Determine major Key Names from NativeKeyCode before anything else. Fixes non-english keyboard layouts (Facepunch/sbox-issues#6044)
Make CTRL+A in Asset List a Shortcut
Add CTRL+A shortcut to Select All in scene
Added warning icon to Editor Keybind widget with tooltip telling you if two binds share the same key(s).
https://files.facepunch.com/CarsonKompon/2024/August/01_13-28-InfiniteHarvestmouse.png
Make Asset Browser use Editor binds since they have no reason to be separate.
Added Position slider to Gradient Editor widget. Also added Delete shortcut.
https://files.facepunch.com/CarsonKompon/2024/August/01_14-22-HalfMoth.mp4
Removed some empty functions now that they have been moved to Keybinds
Branch for experimenting and fucking around with networking w/ diagnostics
Test trying to reduce packet sizes a lot
Only do parent rpc if we're network root
Change order here
Go back to reliable test
Test
Reduce initial size
Test unreliable again
Unreliable transform updates test
Prevent calling Msg_ClearInterpolation for ourselves
Fix
drop older updates
Fix
Remove this log
When flushing pending updates before RPC calls - send reliable transform update
Move net stats drawing out into system
Only flush pending updates on reliable RPCs
Some docs
Don't call set parent if we called the rpc
Call these flags Transmission maybe
Some refactor, try to branch out with convar where possible
Make internal for now
Remove net_experiment convar
Network protocol++
Send if unreliable anyway - should be acceptable it'll either drop or not
FPArms: added "Only_Weapon_no_IK" weightlist
Merge branch 'master' into game-exporting2
Include revision with error report
Fix warning
Add SteamServerTest unit test
Add HumanAltModel to Clothing