1,004 Commits over 914 Days - 0.05cph!
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
Messy proof of concept for showing scheduled events on the main menu screen, grabbed by the Api
Update ScheduledEvents.Fetch to match new API, sort events by if they're active, then by time
Support case where we don't find an event. Minor code cleanup
Adjust event widget style
Fixed ScheduledEvents not prioritizing active events
Format TimeSpan in a front-facing manner (2 days, 10 minutes etc..)
Docs pass, cleanup
For now, exclude events that have already finished
Moved BaseApiResponse to Api.cs
GetScheduledEvents refactored, is BaseApiResponse
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
Moved BaseApiResponse to Api.cs
GetScheduledEvents refactored, is BaseApiResponse
Docs pass, cleanup
For now, exclude events that have already finished
Fixed ScheduledEvents not prioritizing active events
Format TimeSpan in a front-facing manner (2 days, 10 minutes etc..)
Adjust event widget style
Support case where we don't find an event. Minor code cleanup
Update ScheduledEvents.Fetch to match new API, sort events by if they're active, then by time
Messy proof of concept for showing scheduled events on the main menu screen, grabbed by the Api
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
Style adjustments to PartyDeck, give a crown to the current party owner, add horizontal padding to player-info