From 34ac098a3d3e954d8c44dfaa17b4ee4a25801f47 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 18 Dec 2022 20:34:03 +0300 Subject: Steam: Invisible status added to the protocol --- protocols/Steam/src/api/enums.h | 1 + protocols/Steam/src/steam_proto.cpp | 3 ++- protocols/Steam/src/steam_utils.cpp | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/protocols/Steam/src/api/enums.h b/protocols/Steam/src/api/enums.h index b0b4caa2ee..087b99c5fa 100644 --- a/protocols/Steam/src/api/enums.h +++ b/protocols/Steam/src/api/enums.h @@ -19,6 +19,7 @@ enum PersonaState Snooze = 4, LookingToTrade = 5, LookingToPlay = 6, + Invisible = 7, }; enum class PersonaStateFlag : int diff --git a/protocols/Steam/src/steam_proto.cpp b/protocols/Steam/src/steam_proto.cpp index f41797f9d3..a6bac4aafb 100644 --- a/protocols/Steam/src/steam_proto.cpp +++ b/protocols/Steam/src/steam_proto.cpp @@ -203,7 +203,7 @@ INT_PTR CSteamProto::GetCaps(int type, MCONTACT) case PFLAGNUM_1: return PF1_IM | PF1_BASICSEARCH | PF1_SEARCHBYNAME | PF1_AUTHREQ | PF1_SERVERCLIST | PF1_ADDSEARCHRES | PF1_MODEMSGRECV; case PFLAGNUM_2: - return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_HEAVYDND | PF2_FREECHAT; + return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_HEAVYDND | PF2_FREECHAT | PF2_INVISIBLE; case PFLAGNUM_4: return PF4_AVATARS | PF4_NOCUSTOMAUTH | PF4_NOAUTHDENYREASON | PF4_FORCEAUTH | PF4_SUPPORTIDLE | PF4_SUPPORTTYPING;// | PF4_IMSENDOFFLINE; case PFLAGNUM_5: @@ -263,6 +263,7 @@ int CSteamProto::SetStatus(int new_status) case ID_STATUS_OFFLINE: case ID_STATUS_AWAY: case ID_STATUS_NA: + case ID_STATUS_INVISIBLE: break; case ID_STATUS_DND: diff --git a/protocols/Steam/src/steam_utils.cpp b/protocols/Steam/src/steam_utils.cpp index 7322aaf092..65d9f3dcc5 100644 --- a/protocols/Steam/src/steam_utils.cpp +++ b/protocols/Steam/src/steam_utils.cpp @@ -14,8 +14,10 @@ uint16_t CSteamProto::SteamToMirandaStatus(PersonaState state) case PersonaState::Snooze: return ID_STATUS_NA; case PersonaState::LookingToPlay: - return ID_STATUS_FREECHAT; case PersonaState::LookingToTrade: + return ID_STATUS_FREECHAT; + case PersonaState::Invisible: + return ID_STATUS_INVISIBLE; default: return ID_STATUS_ONLINE; } @@ -36,6 +38,8 @@ PersonaState CSteamProto::MirandaToSteamState(int status) return PersonaState::Snooze; case ID_STATUS_FREECHAT: return PersonaState::LookingToPlay; + case ID_STATUS_INVISIBLE: + return PersonaState::Invisible; default: return PersonaState::Online; } -- cgit v1.2.3