/
dieoska
/
ddnet
Обзор
Документация
Войти
/
dieoska
/
ddnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/engine/shared/serverinfo.h
60 строк
2 KB
dobrykafe
render 0.7 skins in serverbrowser
03 авг 2025, 00:29
03 авг 2025, 00:29
d8a5fe0
Код
Авторство
О чём код?
#ifndef ENGINE_SHARED_SERVERINFO_H #define ENGINE_SHARED_SERVERINFO_H #include "protocol.h" #include <engine/map.h> #include <engine/serverbrowser.h> typedef struct _json_value json_value; class CServerInfo; class CServerInfo2 { public: class CClient { public: char m_aName[MAX_NAME_LENGTH]; char m_aClan[MAX_CLAN_LENGTH]; int m_Country; int m_Score; bool m_IsPlayer; bool m_IsAfk; // skin info 0.6 char m_aSkin[MAX_SKIN_LENGTH]; bool m_CustomSkinColors; int m_CustomSkinColorBody; int m_CustomSkinColorFeet; // skin info 0.7 char m_aaSkin7[protocol7::NUM_SKINPARTS][protocol7::MAX_SKIN_LENGTH]; bool m_aUseCustomSkinColor7[protocol7::NUM_SKINPARTS]; int m_aCustomSkinColor7[protocol7::NUM_SKINPARTS]; }; CClient m_aClients[SERVERINFO_MAX_CLIENTS]; int m_MaxClients; int m_NumClients; // Indirectly serialized. int m_MaxPlayers; int m_NumPlayers; // Not serialized. CServerInfo::EClientScoreKind m_ClientScoreKind; bool m_Passworded; char m_aGameType[16]; char m_aName[64]; char m_aMapName[MAX_MAP_LENGTH]; char m_aVersion[32]; bool m_RequiresLogin; bool operator==(const CServerInfo2 &Other) const; bool operator!=(const CServerInfo2 &Other) const { return !(*this == Other); } static bool FromJson(CServerInfo2 *pOut, const json_value *pJson); static bool FromJsonRaw(CServerInfo2 *pOut, const json_value *pJson); bool Validate() const; void ToJson(char *pBuffer, int BufferSize) const; operator CServerInfo() const; }; bool ParseCrc(unsigned int *pResult, const char *pString); #endif // ENGINE_SHARED_SERVERINFO_H