604 Commits over 884 Days - 0.03cph!
Tools: Support `Editor( "tags" )` which internally uses TagEdit - and give TagEdit a default convertor if one is not set
Use TagEdit on entity inspector https://files.facepunch.com/devultj/1b1711b1/sbox_4i2cOMCa2n.png
Project Creator: When creating project from template, exclude directories starting with period (.git, .vs, etc) while making sure to include .localization
Add IComponent.Name, set it when deserializing prefabs (since we're storing names already) - fall back to DisplayInfo name if not set / created in code. Use IComponent.ToString for EntityList.ComponentNode
Make sure FriendEntry Status doesn't get too long - made some minor style changes to FriendList
Make the party owner send a command to their party when creating / joining a game lobby. Party members will then try to join that lobby
Don't set "lobby" presence data for parties, since we're using this to join games / game lobbies, it'd show up for parties and upon joining would break your state
Make sure anyone who isn't the lobby owner can't kick members
Re-add lobby kicks (party, game lobby)
Only make the game lobby ready to join when the client has finished loading into the game. This was causing issues because the host would try to download a bunch of content, and time out all of the game lobby participants.
Flush member count cache on lobby entered, fixes not being able to join game lobbies. Ship players over to game servers immediately. This is temporary, we'll ideally ship the players over when the game server is actually ready - that's next
Fixed updates always showing "today", my bad
Added last update time to package displays, updated screenshots on game front to try to use 16:9. https://files.facepunch.com/devultj/1b1211b1/LMEBgcrPNZ.png
Fixed component names not being serialized in prefab editor
Pass property attributes to prefab editor, fixes ResourceType marked properties not displaying correctly
Set "lobby" presence so we don't unnecessarily check all lobby members, use FriendPopup for PartyDeck members
Add FriendPopup to friends list, fixed up some nuances with deciding when we can kick people, better checks for if we're in the same lobby https://files.facepunch.com/devultj/1b0211b1/sbox_jtzI4CwJMQ.png
FriendPopup: Added ability to kick from party / game lobby
Add Send Friend Request option to FriendPopup using OpenUserOverlay
https://files.facepunch.com/devultj/1b0211b1/sbox_Z86mlIhxIK.png
Added FriendPopup component for interacting with users in menu, supports viewing profiles, invites/joins https://files.facepunch.com/devultj/1b0211b1/sbox_x5OUOTrHT7.png
Grab server owner from client list, display their name instead
Disable current game title textentry if we're not the server owner
Don't create two layers of labels with `<label>my label</label>`, use SetContent when the parent is already a Label
https://files.facepunch.com/devultj/1b0111b1/NVIDIA_Share_D56rKvVnw8.png to https://files.facepunch.com/devultj/1b0111b1/NVIDIA_Share_7vvAVe4OwM.png
Fix LobbyAd NRE - add fallback to inform users that a lobby no longer exists
Can pick through most recent blogs https://files.facepunch.com/devultj/1b3111b1/sbox_98oV9HjC2J.mp4
Events Widget displays all events, can click through them https://files.facepunch.com/devultj/1b3011b1/sbox_hkJZYAZrYP.mp4
Social: Fixed newest chat overlay message showing the wrong message, or no data at all
When joining from a gamelobby invite, navigate to /lobby/front
Fixed incorrect arguments for gamelobby.invite
Prioritize game lobby invitation if it exists, listen to gamelobby.invite event and show menu overlay
Fix party lobby invites failing because lobby metadata doesn't initially exist for private lobbies. Fetch, add to queue and process invite on SteamMatchmaking_OnLobbyDataChanged
Fetch news dynamically on the main menu
Use DateTimeOffset instead of DateTime, fixed NiceTime returning the wrong plurals
Menu: Scheduled Events (#750)
- Added events widget to main menu based on data from https://asset.party
Get rid of "generic" tag from DamageInfo.Generic - it's not really needed and didn't match its summary
Add cache for lobby member counts - should stop it taking up a bunch of frame time
Manually update presence when we get ServerInformation, fixes rich presence not being updated when joining existing servers
Support Rich Presence for active gameserver
Added tooltips to current game / map / addon rows, changed map row icon
Changed lobby frontpage style a bit, added with-hover so we get visual feedback on textentries
Minor changes to CurrentGame component, clicking current game / map will open package modal
Added disabled attribute to TextEntry
Add Language.GetPhrase( textToken, data )
Use GlobalLobby to get a roundabout player count, display it in main menu
Reduced border size on party deck
Menu: Validate GamePackage.Usage in GameScreen to prevent NRE for local projects
Fixed Package.FindAsync failing to deserialize PackageUsageStats - fixes Sandbox and Asset Browser cloud tab
Menu: Fixed GameList entries not opening game front
Lobby: Inform the player that their message wasn't sent if they're not in a lobby
Lobby: Name and shame the lobby participant when they get kicked
Get rid of null terminator in Lobby.SendChatString, it's not required in this case - this fixes party kick not working
snd_event_alignedbox: Fixed sound position lagging behind by one frame
Glow.Material made into a property, get rid of the Error List warning
Don't grab convars all the time for ServerInformation - do it properly in NetworkServer.FillInfo, so it's included in our manifest