Added an additional method for updating Discord rich presence to allow other game screens to be shown (Main Menu, CAS/SAS, etc)
Make rich presence respect ingame privacy (Where Am I?) settings
Added information about which sim is currently playing.
Tidied up strings a little bit.
Updated job information to include the Nightclub.
[FSO.Client.Controllers.GizmoController]
Added a call to DiscordRpcEngine.SendFSOPresence() when avatar information is received by the gizmo.
_ I'm not sure if this is the best place for this, but I wasn't sure on where else I can put it. It seemed sensible to do it here since it calls for the avatar data upon loading and doesn't change._
[FSO.Client.GameController]
Added various calls to DiscordRpcEngine.SendFSOPresence() to show what screen the user is in.
[FSO.Client.UI.Panels.UIPersonPage]
Update Discord rich presence when privacy mode is changed.
[FSO.Client.UI.Screens.CoreGameScreen]
Updated Discord rich presence calls to respect privacy mode and include sim name.
[FSO.Client.UI.Screens.PersonSelectionEdit]
Added call to DiscordRpcEngine.SendFSOPresence() to display "In Create A Sim"
_ This was placed here in order to detect CAS in both online and sandbox mode._
Chat:
[FSO.Client.GlobalSettings]
Added configuration entries for chat timestamp, size, text size, location, and opacity.
Get chat text size, window location, window size, opacity from configuration entry.
Saves configuration entries after window is resized/moved/etc.
Added chat timestamps support (configurable from the chat panel)
Increased upper bounds on text resizing so it can go slightly bigger than before.
[FSO.Client.UI.Panels.UIMessageWindow]
Changed container type to UICachedContainer to allow opacity changes for private message windows
_ UIContainer (non-cached) wasn't properly supporting opacity changes which is why this was changed._
DiscordRpcEngine-related:
[FSO.UI.Model.DiscordRpcEngine]
[FSO.Client.Controllers.GizmoController]
[FSO.Client.GameController]
[FSO.Client.UI.Panels.UIPersonPage]
[FSO.Client.UI.Screens.CoreGameScreen]
[FSO.Client.UI.Screens.PersonSelectionEdit]
Chat:
[FSO.Client.GlobalSettings]
[FSO.Client.Controllers.MessagingController] [FSO.Client.Controllers.MessagingWindowController]
[FSO.Client.UI.Panels.UIChatDialog]
[FSO.Client.UI.Panels.UIMessageWindow]
[FSO.Client.UI.UIOptions]
[FSO.SimAntics.NetPlay.Model.VMChatEvent]
[Strings]
Fixes:
[FSO.Client.UI.Controls.UIVMPersonButton]
Other:
[FSO.Client.Utils.GameLocator.WindowsLocator]