1,061 Commits over 976 Days - 0.05cph!
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
Use GetVersionHistory endpoint
Add Version History to GameScreen https://files.facepunch.com/devultj/1b1411b1/sbox_o55nMEKPB4.jpg
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
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