summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2022-12-18 20:34:03 +0300
committerGeorge Hazan <ghazan@miranda.im>2022-12-18 20:34:03 +0300
commit34ac098a3d3e954d8c44dfaa17b4ee4a25801f47 (patch)
tree1561dc29c22a627645d1c991287c95828489008f
parentf4b92c5c224f8aeffc8ffb9b372fc9b25bac2559 (diff)
Steam: Invisible status added to the protocol
-rw-r--r--protocols/Steam/src/api/enums.h1
-rw-r--r--protocols/Steam/src/steam_proto.cpp3
-rw-r--r--protocols/Steam/src/steam_utils.cpp6
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;
}