3,547 Commits over 1,522 Days - 0.10cph!
Revert "NetRead uses ByteStream under the hood" - see if this fixes @ryleigh's bug
Add IByteParsable + tests
NetRead uses ByteStream under the hood
NetWrite uses NativeMemoryBlock
NativeMemoryBlock pooling
Add ByteStream ref struct, use it for Lobby network messages
Don't return from Lobby.Join until we're inside
Add IGameMenu.QueryLobbiesAsync
LobbyManager
Fix main menu lobbies not initializing game data
Don't try to get lobby memberlist unless we're in the lobby (10ms!)
Add IGameMenu.CreateLobbyAsync which returns lobby
Don't so lobby member counts on invalid lobby
Can join other lobbies from GameMenu
Ignore more files when publishing
Can get a list of lobbies
In Resource Files, hide a bunch of stuff that is going to be shipped anyway
Replace SharedBag
Don't upload .vs or files containing _bakeresourcecache
Compiler warning
Fix infinite loop when loading image (!)
Package update
Texture loaders ignore query string when evaluating what to do with it
Add Package.VideoThumb
VideoPlayer: Allow playing videos from URL in both overloads
SliderControl: call OnValueChanged when dragging
Add VideoPlayer.Muted placeholder
Fix debug output
Fix NRE in WildcardPathWidget
Can reference cloud assets from code - https://wiki.facepunch.com/sbox/Cloud_Assets_from_code
Fix ProjectRow's menuscreen button deactivating local project when it stopped being visible 🙈
Fixes sboxgame/issues/issues/3332
Fixes sboxgame/issues/issues/3320
Fixes sboxgame/issues/issues/3402
Only do ClassFileLocation errors if we're doing a full code gen
[StyleSheet] should complain if empty and no classFileLocation
ClassFileLocation generation works when relative paths are provided (ie when publish compile)
Can use <a> outside of a NavHostPanel and it won't go crazy
WebPanel correctly stops propagation of clicks
Only show gamemenu refresh buttons on local addons
Remove UI Test
Fix broken gamemenu blocking main menu
Ignore obj and launchSettings
Revert the panel pendingChildren thing until I run into the :intro bug again and fix it properly
Calm the garbage collection down
Reload localization files after loading a gamemenu
Remove null root panels ( this can happen when hotload can't convert a panel to a new type )
Game.Menu.HideMenu works
Rip out unused matchmaking interfaces
Games with custom menus can define their own loading screens https://wiki.facepunch.com/sbox/loading_screen
Activity in a game's menu counts as activity in the game
Fix sboxgame/issues/issues/3394
When uploading a menu whitelist, pull in references of the wildcarded assets and add them to the whitelist too
RedirectFileSystem can resolve full filenames properly
Fix Game.Audio not available in menu
Fix videoplayer not playing video files (this isn't the correct fix, we should pass in the relative filename and check the extension on that)
UI textures load as they're going to be used, rather than loading everything in the stylesheet
Fix border-image not drawing if background unset
Support videos as background-image etc
Add Texture.LastUsed - the number of frames since last used
Texture has a ParentObject (so they can keep things like VideoPlayer from being garbage collected)
Add IWeakInteropHandle to interopsystem, so c++ can reference c# objects that can get garbage collected
VideoPlayer implement IWeakInteropHandle
Add Debug/Full Garbage Collection
VideoTextureLoader is weak, will let videos get garbage collected
Remove Styles.TextBackgroundImage (not used)
Add AudioSystem.Play overloads to play from an entity
Fix reading json color32 string not working
Fix GameLog not printing all aggregate exceptions
Fix transition time parsing
Fix GetSavedGames typo
Fix IPanel.Depth logic
Re-organize the sound classes
Sound doesn't need to keep the hash around
Sound wraps a SoundHandle
Stop all sounds when leaving game(menu)
Load GameResources from menu filesystem (allows sounds to load)
We don't need to access the soundsystem via interfaces, we can live in the dll
Games can define their own main menus
Razor generics and renderfragments
* Support for creating generic razor components
* RenderFragment support
* RenderFragment<T> support
Fixed wrong workers count in package.download stat
File download progress is more reliable
Lets try mirroring here instead of copying, seems more like what we want
Cleaner game menu system
* When reporting a panel event error give its name
* When setting up a panel bind - try to set its value immediately
* Assert Panel.StateHasChanged is called in the main thread
* Don't touch drag if MouseDown stopped propogation
* Remove TextPanel/InternalLabel - move it all to Label
* If we're a label then razor should add child content to us, not a new label
* <i> is an IconPanel
* Optimize PackageCard panel count
* Defer adding child panels until the start of the parent's tick - fixes problems with :intro not playing, incorrect styles
* Fix styles not always updating when editing stylesheet
* Delete template unit tests
* Don't autogen line numbers in .razor generated source
* Generate razor source in parallel
* Map razor files to relative paths for compilergen
* Add a [ClassFileLocation] attribute to every class with its relative path location
* [StyleSheet] attribute needs no args, relative paths will be relative to the class file
* Stylesheet with no argument looks for <filename>.scss
* Add TypeLibrary variants with bool inherited option
* Generated csproj files fold in .razor.cs and razor.scss files properly
Handle deleting panel during children tick a bit more gracefully
Add interopsystem.status, interopsystem.dump debug commands
Package download diagnostics
Added stylesheet selector broadphase
Don't touch drag if MouseDown stopped propogation
Add MathX.SmoothDamp( float
Make BaseScrollWidget smooth scrolling use smoothdamp
Fix error reporting not always sorting menu/tools errors properly
Add a group for hotload errors to make them discoverable
Add an exception scope for ilhotload exceptions to make them findable
Add "open menu screen" option for game projects
Modal popup cleanup
Start cleaning package information popup
Fix grab dragging not working unless the style was defined inline !
Package information popup cleanup
Leave lobby by pressing cross in navbar
Packagecard primary clicker is just the image
Leave game button
Package card pointer
Show time played on package tiles
Fix last update time not being timezone aware
Fix texture loading errors
Don't mouse wheel scroll if overflow-y not set to scroll
Add Box.Padding, Box.Border, Box.Margin
Include padding in panel's scroll size
Show more games in discovery
Constrain drag velocity to only scrollable axis
Only drag game tiles if clicked a game tile
Add RealTime.SmoothDelta
Make scrolling less jittery
Don't update hover state when dragging