#pragma once #pragma pack(push,1) struct GAME_VERSION { BYTE m_ClassA, m_ClassB, m_ClassC, m_ClassD; inline BOOL IsValid() { if(m_ClassA == 0 && m_ClassB == 0 && m_ClassC == 0 && m_ClassD == 0) return FALSE; return TRUE; } }; struct GROUP_DATA { char m_szGroupName[MAX_GROUP_NAME_LEN+1]; BYTE m_GroupID; BYTE m_LimitedAge; BYTE m_ConnectStatus; }; struct SERVER_DATA { char m_szChannelName[MAX_SERVER_NAME_LEN+1]; BYTE m_GroupID; // WorldID ÀÓ BYTE m_ChannelID; BYTE m_CrowdGrade; BYTE m_ConnectStatus; // 0 : Disconnected, 1 : Connected }; #define MAX_AUTH 64 // ÆÐŶ ±¸Á¶Ã¼ ³»ºÎ ¹öÆÛ ÃÖ´ë°ª(ÇöÀç Matrix »ç¿ëÇÏ´Â °ªÀº 48byteÁö¸¸ Ȥ½Ã³ª ÇØ¼­ 64byte Àâ¾ÒÀ½) #define MAX_MATRIX 16 // ÀÎÁõ¹ÞÀ» ÃÖ´ë ÁÂÇ¥ °³¼ö typedef struct { DWORD dwType; // º¸¾È ÀÎÁõ ¹æ¹ý(eSECURE_AUTH_CODE ÂüÁ¶) BYTE byData[MAX_AUTH]; // À¯Àú°¡ ÀÔ·ÂÇÒ º¸¾È Ä«µå ³»ÀÇ ÁÂÇ¥ À妽ºµé } SECURE_INFO, *LP_SECURE_INFO; typedef struct { WORD wMatrix[MAX_MATRIX]; // º¸¾È Ä«µå ÁÂÇ¥, ¶Ç´Â ±× ÁÂÇ¥ÀÇ °ªµé ¸ñ·Ï BYTE byFlag[MAX_MATRIX]; // º¸¾È Ä«µå ÁÂÇ¥°ªÀÇ ¾ÕºÎºÐ, µÞºÎºÐ »ç¿ë ¿©ºÎ µîÀÇ ¿É¼Ç Á¶Á¤À» À§ÇØ ÇÊ¿äÇÑ Ç÷¡±×(ÇöÀç »ç¿ë ¾ÈÇÔ) } SC_INFO, *LP_SC_INFO; #pragma pack(pop)