/* ========================================================================== * ÆÄ ÀÏ : Theme_Common.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : * ÀÛ ¼º ÀÏ : 2009-06-03 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "CommonNetworkMsgStruct.h" #include "sqltypes.h" #pragma pack(push,1) const unsigned long CIRCUS_START_POS_IDX = 220001; /// ¼­Ä¿½º Å׸¶ ¼­¹ö ½ÃÀÛ Æ÷ÀÎÆ® const unsigned long RIOHA_START_POS_IDX = 220101; /// ¶óÀÌ¿ÀÇÏ Å׸¶ ¼­¹ö ½ÃÀÛ Æ÷ÀÎÆ® const unsigned long DECOMUSS_START_POS_IDX = 220201; /// µ¥ÄÚ¹«½º Å׸¶ ¼­¹ö ½ÃÀÛ Æ÷ÀÎÆ® enum eTHEME_MODE { eTHEME_MODE_NONE, /// ÀÏ¹Ý ¸Ê eTHEME_MODE_NORMAL, eTHEME_MODE_HARD, eTHEME_MODE_MAX, }; ////////////////////////////////////////////////////////////////////////// struct sThemePartyInfo { unsigned long mPlayerIdx; /// Ç÷¹À̾î Á¤º¸ unsigned char mThemeMode; /// Å׸¶ ¸ðµå bool mIsJoin; /// ÁøÀÔ »óÅ ( ÁøÀÔ : true , ¹ÌÁøÀÔ : false ) unsigned long mThemeUniqueIdx; /// Å׸¶ °íÀ¯¹øÈ£ }; struct MSG_SYN_THEME_READYQUESTION : public MSGROOT { unsigned short mThemeMapNum; unsigned char mCount; sThemePartyInfo mPartyInfo[1]; unsigned long GetMsgLength() { return sizeof(MSG_SYN_THEME_READYQUESTION) - sizeof(mPartyInfo) + (mCount * sizeof(sThemePartyInfo)); } }; struct MSG_REQ_THEME_READY : public MSGROOT { unsigned short mThemeMapNum; /// Å׸¶ ¹øÈ£ unsigned char mThemeMode; /// Å׸¶ ¸ðµå }; const unsigned char ERROR_THEME_READY_SUCCESS = 0; // ¼º°ø const unsigned char ERROR_THEME_READY_PARTY = 1; // ÆÄƼ°¡ ¾Æ´Ô const unsigned char ERROR_THEME_READY_ITEM = 2; // ÇÊ¿ä ¾ÆÀÌÅÛ ¾øÀ½ const unsigned char ERROR_THEME_READY_REJECTION = 3; // ¼ö¶ô °ÅÀý const unsigned char ERROR_THEME_READY_DEPENDENCY = 4; // ÀÌ¹Ì Á¾¼ÓµÈ ¹æÀÌ ÀÖÀ½ const unsigned char ERROR_THEME_READY_SCRIPT = 5; // ½ºÅ©¸³Æ® µ¥ÀÌÅÍ¿À·ù const unsigned char ERROR_THEME_READY_PLAYER_LEVEL = 6; // ·¹º§Á¶°ÇÀ» ¸¸Á·ÇÏÁö ¸øÇÔ const unsigned char ERROR_THEME_READY_PLAYER_FULL = 7; // ÀοøÃʰú const unsigned char ERROR_THEME_READY_SERVER_NOTRUN = 8; // Å׸¶¼­¹ö°¡ ½ÇÇà¾ÈµÊ const unsigned char ERROR_THEME_READY_SERVER_READY = 9; // Å׸¶¼­¹ö°¡ ÁغñÁßÀÓ const unsigned char ERROR_THEME_READY_REQUESTDEPENDENCY = 10; // ¿äûÀÚ ±Í¼Ó¾ÈµÊ const unsigned char ERROR_THEME_READY_EXIST = 11; // Å׸¶ ´øÀü¿¡ ÀÔÀå Á¤º¸°¡ ³²¾Æ ÀÖ¾î ÀÔÀåÇÒ ¼ö ¾ø½À´Ï´Ù. const unsigned char ERROR_THEME_READY_NOT_EXIST = 12; // ij¸¯ÅÍ ¾øÀ½ const unsigned char ERROR_THEME_READY_STATE = 13; // ij¸¯ÅÍ ¼ö¶ô ºÒ°¡ »óÅ const unsigned char ERROR_THEME_READY_NOT_JOIN = 14; // ¾ÆÁ÷ Å׸¶ Àδø¿¡ µé¾î¿Í ÀÖÁö ¾ÊÀ½. const unsigned char ERROR_THEME_READY_ALREADY_JOIN = 15; // À̹ÌÀδø¿¡ Á¢¼ÓÁß ÀÏÁ¤½Ã°£ ´ë±â(3ºÐ) const unsigned char ERROR_THEME_READY_FULL_MAKEROOM = 16; // ¹æ»ý¼º °¹¼ö Ãʰú struct MSG_RES_THEME_READY : MSG_ERROR { }; struct sPlayerThemeList { unsigned short mMapNumber; /// Å׸¶¸Ê¹øÈ£(Á¾·ù) unsigned char mThemeMode; unsigned long mUniqueIdx; /// °íÀ¯¹øÈ£ unsigned long mResetLeftTime; /// ÃʱâÈ­ ÀÜ¿©½Ã°£ sPlayerThemeList() { mMapNumber = 0; mUniqueIdx = 0; mResetLeftTime = 0; } }; struct MSG_SYN_THEME_LIST : public MSGROOT { unsigned long mCount; /// Å׸¶ Ä«¿îÆ® sPlayerThemeList mThemeList[1]; /// Å׸¶ Á¤º¸ unsigned long GetMsgLength() { return sizeof(MSG_SYN_THEME_LIST) - sizeof(mThemeList) + (mCount * sizeof(sPlayerThemeList));} }; struct MSG_SYN_THEME_EXPIRE_TIME : public MSGROOT { unsigned long mExpireTime; /// Å׸¶ ÃʱâÈ­ ÀÜ¿© ½Ã°£ }; struct MSG_SYN_THEME_EXPIRE_TIME_NOTICE : public MSGROOT {}; #pragma pack(pop)