#pragma once #ifndef SERVERCOMMON_PACKET_STRUCT_GP_H #define SERVERCOMMON_PACKET_STRUCT_GP_H #include #include #include #include //================================================================================================== #pragma pack(push,1) #define PACKET_GP_OPEN( c, p ) struct MSG_##p : public MSG_BASE_FORWARD { MSG_##p(){ m_byCategory = c; m_byProtocol = p; } #define PACKET_GP_CLOSE }; //================================================================================================== #ifdef _NA_008012_20150130_RANKING_SYSTEM // NOTE: f110511.1L, DBP->Game, added by _NA002635_GP_DP_PROTOCOL_UINIFICATION. PACKET_GP_OPEN(GP_RANKING, GP_RANKING_SESSION_CONTROL_CMD) uint8_t enabled_service; PACKET_GP_CLOSE; PACKET_GP_OPEN( GP_RANKING, GP_RANKING_INFO_REQ_SYN ) PACKET_GP_CLOSE // °¡º¯ ÆÐŶ PACKET_GP_OPEN( GP_RANKING, GP_RANKING_INFO_REQ_ACK ) BYTE m_Type; RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR BYTE m_Page; enum { MAX_BUFFER_SIZE = 4096, }; WORD m_Size; BYTE m_pBUFFER[MAX_BUFFER_SIZE]; int GetSize() { return sizeof(*this)-(MAX_BUFFER_SIZE-m_Size); } PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_INFO_REQ_NAK ) BYTE m_byErrorCode; PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_INFO_REQ_END_NTF ) int m_SettledYear; int m_SettledMonth; int m_SettledDay; int m_PeriodDay; int m_SuspendTime; PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_CLEAR_SYN ) RANKINGKEY m_Key; //< ±âÁ¸ÀÇ Å° _MISSION_RANKING_TOTAL_INFO m_totalInfo; int GetSize() { return sizeof(*this)-(sizeof(m_totalInfo)-m_totalInfo.GetSize()); } PACKET_GP_CLOSE //PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_CLEAR_ACK ) // RANKINGKEY m_Key; //< ±âÁ¸ÀÇ Å° // RANKINGKEY m_NewKey; //< »õ·Î ¹ß±Þ ¹ÞÀº ÆÄƼor·©Å· Ű // MISSIONNO m_MissionNo; //PACKET_GP_CLOSE //PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_CLEAR_NAK ) // RANKINGKEY m_Key; //< ±âÁ¸ÀÇ Å° // BYTE m_byErrorCode; //PACKET_GP_CLOSE // ¾ÆÁ÷ °áÁ¤ ¾È³² PACKET_GP_OPEN(GP_RANKING, GP_RANKING_MISSION_SUCCESS_ACK) RANKINGKEY m_Key; //< ÆÄƼŰ and ·©Å·Å° RANKINGKEY m_NewKey; //< »õ·Î ¹ß±Þ ¹ÞÀº ÆÄƼor·©Å· Ű RANKINGNO m_MissionNo; WORD m_Ranking; //< ·©Å· PACKET_GP_CLOSE PACKET_GP_OPEN(GP_RANKING, GP_RANKING_MISSION_SUCCESS_BRD) RANKINGKEY m_NewKey; //< »õ·Î ¹ß±Þ ¹ÞÀº ÆÄƼor·©Å· Ű _MISSION_RANKING_TOTAL_INFO m_RankingInfo; PACKET_GP_CLOSE PACKET_GP_OPEN(GP_RANKING, GP_RANKING_MISSION_FAILED_NAK) RANKINGKEY m_Key; //< ±âÁ¸ÀÇ Å° RANKINGNO m_MissionNo; DWORD m_dwErrorCode; PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_REWARD_SYN ) RANKINGKEY m_Key; //< º¸»ó¹Þ±â¸¦ ¿øÇÏ´Â Áö³­ÁÖ·©Å·ÀÇ Å°(ÀϷùøÈ£) RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR TCHAR m_tszCharName[MAX_CHARNAME_LENGTH+1]; int GetSize() { return (int)(sizeof(*this)-(MAX_CHARNAME_LENGTH-_tcslen(m_tszCharName))*sizeof(TCHAR)); } PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_REWARD_ACK ) RANKINGKEY m_Key; //< º¸»ó¹Þ±â¸¦ ¿øÇÏ´Â Áö³­ÁÖ·©Å·ÀÇ Å°(ÀϷùøÈ£) RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR TCHAR m_tszCharName[MAX_CHARNAME_LENGTH+1]; int GetSize() { return (int)(sizeof(*this)-(MAX_CHARNAME_LENGTH+1-(_tcslen(m_tszCharName)+1))*sizeof(TCHAR)); } //+1Àº NULLÆ÷ÇÔ ÇÏ·Á°í... PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_REWARD_BRD ) RANKINGKEY m_Key; //< º¸»ó¹Þ±â¸¦ ¿øÇÏ´Â Áö³­ÁÖ·©Å·ÀÇ Å°(ÀϷùøÈ£) RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR TCHAR m_tszCharName[MAX_CHARNAME_LENGTH+1]; int GetSize() { return (int)(sizeof(*this)-(MAX_CHARNAME_LENGTH+1-(_tcslen(m_tszCharName)+1))*sizeof(TCHAR)); } //+1Àº NULLÆ÷ÇÔ ÇÏ·Á°í... PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_MISSION_REWARD_NAK ) BYTE m_byErrorCode; RANKINGKEY m_Key; //< º¸»ó¹Þ±â¸¦ ¿øÇÏ´Â Áö³­ÁÖ·©Å·ÀÇ Å°(ÀϷùøÈ£) RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR TCHAR m_tszCharName[MAX_CHARNAME_LENGTH+1]; int GetSize() { return (int)(sizeof(*this)-(MAX_CHARNAME_LENGTH+1-_tcslen(m_tszCharName))*sizeof(TCHAR)); } PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_SETTLED_INFO_CMD ) BYTE m_Type; RANKINGNO m_MissionNo; #ifdef _NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR RANKINGTYPE ranking_type; #endif //_NA_006801_20130814_RENEWAL_RANKINGSYSTEM_MINOR BYTE m_Page; enum { MAX_BUFFER_SIZE = 4096, }; WORD m_Size; BYTE m_pBUFFER[MAX_BUFFER_SIZE]; uint16_t GetSize() const { const size_t kMinSize = sizeof(*this) - sizeof(m_pBUFFER); return static_cast(kMinSize + sizeof(m_pBUFFER[0]) * m_Size); }; PACKET_GP_CLOSE; PACKET_GP_OPEN( GP_RANKING, GP_RANKING_SETTLED_INFO_END_NTF ) PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_CHAGED_STATUS_NTF ) BYTE m_ChangedStatus; //< eRANKING_STATUS ÂüÁ¶ PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_SETTLE_CMD ) PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_RANKING_REGISTER_MISSION_POINT_SYN ) RANKINGKEY DBKey; _MISSION_RECORD_INFO RecordInfo; _MISSION_RANK_MEMBER_INFO MemberInfo; PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_MISSION_RANKING_SETTLE_DATE_SYN ) _MISSION_RECORD_INFO RecordInfo; _MISSION_RANK_MEMBER_INFO MemberInfo; DWORD SettledStartDate; //< Á¤»ê ½ÃÀÛ³¯Â¥ BYTE Period; //< ÁÖ±â PACKET_GP_CLOSE PACKET_GP_OPEN( GP_RANKING, GP_MISSION_RANKING_SETTLE_DATE_ACK ) _MISSION_RECORD_INFO RecordInfo; _MISSION_RANK_MEMBER_INFO MemberInfo; DWORD SettledStartDate; //< Á¤»ê ½ÃÀÛ³¯Â¥ BYTE Period; //< ÁÖ±â PACKET_GP_CLOSE #endif // _NA_008012_20150130_RANKING_SYSTEM #pragma pack(pop) //================================================================================================== #endif //SERVERCOMMON_PACKET_STRUCT_GP_H