#pragma once #pragma pack(push,1) //template < typename SLOTETYPE > //struct sTEMPLATE_TOTAL_INFO //{ // explicit sTEMPLATE_TOTAL_INFO() : m_Count(0) {} // typedef SLOTETYPE SLOT_TYPE; // enum { MAX_SLOT_NUM = 0xFF, }; // BYTE m_Count; // SLOTETYPE m_Slot[MAX_SLOT_NUM]; // void Clear() { m_Count = 0; } // int GetSize() // { // return (sizeof(*this)-(MAX_SLOT_NUM-m_Count)*sizeof(this->m_Slot[0])); // } //}; struct _PARTY_MEMBER_INFO { DWORD m_dwMemberKey; // ¸â¹öŰ(ObjKey) char m_szCharName[MAX_CHARNAME_LENGTH + 1]; // ij¸¯ÅÍ ID WORD m_wLevel; // ·¹º§ BYTE m_byClassType : 4; // Ŭ·¡½º ŸÀÔ(eCHAR_TYPE) BYTE m_byChaoState : 4; // Ä«¿À»óÅ BYTE m_byHPRatio; // ÇöÀç HP ºñÀ² BYTE m_byMPRatio; // ÇöÀç MP ºñÀ² #ifdef _NA_006638_20120415_ADD_SHIELD_INFO_IN_TARGET_INFO BYTE m_bySDRatio; // ÇöÀç SD ºñÀ² #endif // _NA_006638_20120415_ADD_SHIELD_INFO_IN_TARGET_INFO #ifdef _NA_002050_20110216_ADD_GENDER BYTE m_byGender; // ¼ºº° #endif #ifdef _DH_BATTLEZONE2_ bool m_isReady; // Áغñ°¡ ¿Ï·áµÈ ÆÄƼ¿øÀÎÁö È®ÀÎ BYTE m_selecteTeam; // PVP¹Ì¼ÇÀ» À§ÇØ ¼±ÅÃÇÑ ÆÀ(0:¼±ÅþÈÇÔ /1,2,3,.. : °¢ÆÀ) DWORD map_code_; // À¯Àú°¡ À§Ä¡ÇØ ÀÖ´Â ¸ÊÄÚµå #ifdef _NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS bool m_isConnected; // ÇöÀç Á¢¼ÓÁßÀÎ »óÅ #endif//_NA_20111220_CHANGE_DISCONNECTED_USER_PROCESS #endif //_DH_BATTLEZONE2_ _PARTY_MEMBER_INFO() { BOOST_STATIC_ASSERT(GenderType::kAll == 0); ZeroMemory(this, sizeof(*this)); } }; struct _GUIDANCE_MEMBER_INFO { BYTE m_PartyKey : 4; BYTE m_bMaster : 4; _PARTY_MEMBER_INFO m_MemberInfo; }; typedef sTEMPLATE_TOTAL_INFO<_PARTY_MEMBER_INFO> PARTY_MEMBER_TOTAL_INFO; typedef sTEMPLATE_TOTAL_INFO<_GUIDANCE_MEMBER_INFO> GUIDANCE_MEMBER_TOTAL_INFO; //_NA_20110630_BATTLE_ZONE_RENEWAL struct BasePartyRoomInfo { MAPCODE map_code_; // ÆÄƼ·ë ¹Ì¼Ç ÄÚµå BYTE special_type_; // eROOM_SPECIAL_TYPE TCHAR party_room_title_[MAX_ROOMTITLE_LENGTH + 1]; // ÆÄƼ·ë Á¦¸ñ TCHAR party_room_password_[MAX_ROOMPASSWORD_LENGTH + 1];// ÆÄƼ·ë ºñ¹Ð ¹øÈ£ PartyZoneType party_room_type_; // ÆÄƼ·ë ŸÀÔ BasePartyRoomInfo() { ZeroMemory(this, sizeof(*this)); } }; struct PartyRoomInfo { KEYTYPE room_key_; // ·ëŰ(index) WORD link_party_key_; // ·ë¿¡ ¼Ò¼ÓµÈ ÆÄƼ Ű bool is_mission_start_; // ¹Ì¼Ç·ë Ãâ¹ß ¿©ºÎ struct { BYTE current_user_num_ : 4; // ÇöÀç Àοø BYTE max_user_num_ : 4; // ÃÖ´ë Àοø(NonBlock Slot °³¼ö) }; BasePartyRoomInfo base_party_room_info; // ÆÄƼ·ë ±âº» Á¤º¸ }; //_NA_003033_20110831_DICECAST_ITEM_ROUTING struct _DICECAST_RESULT { DWORD member_key; WORD random_num; _DICECAST_RESULT() : member_key(0), random_num(0) { } }; #pragma pack(pop)