1239 lines
29 KiB
C
1239 lines
29 KiB
C
|
|
#ifndef STRUCT_HEAD_FILE
|
|||
|
|
#define STRUCT_HEAD_FILE
|
|||
|
|
|
|||
|
|
#include "datastream.h"
|
|||
|
|
|
|||
|
|
#pragma pack(1)
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><>Ϸ<EFBFBD>б<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameType
|
|||
|
|
{
|
|||
|
|
WORD wJoinID; //<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wTypeID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szTypeName[LEN_TYPE]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameKind
|
|||
|
|
{
|
|||
|
|
WORD wTypeID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wJoinID; //<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wGameID; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwOnLineCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFullCount; //<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szKindName[LEN_KIND]; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szProcessName[LEN_PROCESS]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD>ڵ<EFBFBD>
|
|||
|
|
struct tagGameNode
|
|||
|
|
{
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wJoinID; //<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wNodeID; //<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szNodeName[LEN_NODE]; //<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGamePage
|
|||
|
|
{
|
|||
|
|
WORD wPageID; //ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wNodeID; //<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wOperateType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szDisplayName[LEN_PAGE]; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGameServer
|
|||
|
|
{
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wNodeID; //<2F>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//WORD wServerKind; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wServerType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wServerPort; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
|||
|
|
SCORE lCellScore; //<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lEnterScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwServerRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwOnLineCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwAndroidCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFullCount; //<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szServerAddr[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szServerName[LEN_SERVER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagSignupMatchInfo
|
|||
|
|
{
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwMatchID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwMatchNO; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagGameMatch
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwMatchID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwMatchNO; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMatchType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szMatchName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
BYTE cbMatchFeeType; //<2F>۷<EFBFBD><DBB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lMatchFee; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lMatchEnterScore; //<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wStartUserCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wMatchPlayCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wRewardCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
DWORD dwQuality; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwCycle; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwInviteCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwChannelID; //<2F><><EFBFBD><EFBFBD>ID;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
SYSTEMTIME MatchStartTime; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
SYSTEMTIME MatchEndTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
SYSTEMTIME SignupStartTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ;
|
|||
|
|
SYSTEMTIME SignupEndTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
|||
|
|
struct tagAVServerOption
|
|||
|
|
{
|
|||
|
|
WORD wAVServerPort; //<2F><>Ƶ<EFBFBD>˿<EFBFBD>
|
|||
|
|
DWORD dwAVServerAddr; //<2F><>Ƶ<EFBFBD><C6B5>ַ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagOnLineInfoKind
|
|||
|
|
{
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD>ͱ<EFBFBD>ʶ
|
|||
|
|
DWORD dwOnLineCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagOnLineInfoServer
|
|||
|
|
{
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwOnLineCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
struct tagTableStatus
|
|||
|
|
{
|
|||
|
|
BYTE cbTableLock; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
BYTE cbPlayStatus; //<2F><>Ϸ<EFBFBD><CFB7>־
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
struct tagUserStatus
|
|||
|
|
{
|
|||
|
|
WORD wTableID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
BYTE cbUserStatus; //<2F>û<EFBFBD>״̬
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagUserAttrib
|
|||
|
|
{
|
|||
|
|
BYTE cbCompanion; //<2F>û<EFBFBD><C3BB><EFBFBD>ϵ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagUserScore
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lInsure; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ӯ<EFBFBD><D3AE>Ϣ
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwUserMedal; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lLoveLiness; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagMobileUserScore
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ӯ<EFBFBD><D3AE>Ϣ
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
|
struct tagUsePropertyInfo
|
|||
|
|
{
|
|||
|
|
WORD wPropertyCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
|
|||
|
|
WORD dwValidNum; //<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwEffectTime; //<2F><>Чʱ<D0A7><CAB1>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagUserProperty
|
|||
|
|
{
|
|||
|
|
WORD wPropertyUseMark; //<2F><><EFBFBD>߱<EFBFBD>ʾ
|
|||
|
|
tagUsePropertyInfo PropertyInfo[MAX_PT_MARK]; //ʹ<><CAB9><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>߰<EFBFBD><DFB0><EFBFBD>
|
|||
|
|
struct tagPropertyPackage
|
|||
|
|
{
|
|||
|
|
WORD wTrumpetCount; //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wTyphonCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagTimeInfo
|
|||
|
|
{
|
|||
|
|
DWORD dwEnterTableTimer; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
DWORD dwLeaveTableTimer; //<2F>뿪<EFBFBD><EBBFAA><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
DWORD dwStartGameTimer; //<2F><>ʼ<EFBFBD><CABC>Ϸʱ<CFB7><CAB1>
|
|||
|
|
DWORD dwEndGameTimer; //<2F>뿪<EFBFBD><EBBFAA>Ϸʱ<CFB7><CAB1>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
struct tagUserInfo
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD> I D
|
|||
|
|
DWORD dwGameID; //<2F><>Ϸ I D
|
|||
|
|
DWORD dwGroupID; //<2F><><EFBFBD><EFBFBD> I D
|
|||
|
|
TCHAR szNickName[LEN_NICKNAME]; //<2F>û<EFBFBD><C3BB>dz<EFBFBD>
|
|||
|
|
TCHAR szGroupName[LEN_GROUP_NAME]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szUnderWrite[LEN_UNDER_WRITE]; //<2F><><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>
|
|||
|
|
TCHAR szHeadHttp[LEN_USER_NOTE]; //<2F><>¼IP
|
|||
|
|
|
|||
|
|
//ͷ<><CDB7><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wFaceID; //ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwCustomID; //<2F>Զ<EFBFBD><D4B6><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbGender; //<2F>û<EFBFBD><C3BB>Ա<EFBFBD>
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
BYTE cbMasterOrder; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
WORD wTableID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbUserStatus; //<2F>û<EFBFBD>״̬
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lInsure; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
BYTE cbScoreMultiple; //<2F><><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwUserMedal; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lLoveLiness; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
tagTimeInfo TimerInfo; //ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
SCORE lAccuracy; //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
SCORE lLatitude; //<2F><><EFBFBD><EFBFBD>;
|
|||
|
|
SCORE lLongitude; //γ<><CEB3>;
|
|||
|
|
TCHAR szAddress[LEN_DWELLING_PLACE]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
struct tagUserInfoHead
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwGameID; //<2F><>Ϸ I D
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD> I D
|
|||
|
|
DWORD dwLogonIp; //<2F><>¼IP
|
|||
|
|
|
|||
|
|
//ͷ<><CDB7><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wFaceID; //ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwCustomID; //<2F>Զ<EFBFBD><D4B6><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbGender; //<2F>û<EFBFBD><C3BB>Ա<EFBFBD>
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
BYTE cbMasterOrder; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
WORD wTableID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbUserStatus; //<2F>û<EFBFBD>״̬
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGrade; //<2F>û<EFBFBD><C3BB>ɼ<EFBFBD>
|
|||
|
|
SCORE lInsure; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwUserMedal; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
LONG lLoveLiness; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//ͷ<><CDB7><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagCustomFaceInfo
|
|||
|
|
{
|
|||
|
|
DWORD dwDataSize; //<2F><><EFBFBD>ݴ<EFBFBD>С
|
|||
|
|
DWORD dwCustomFace[FACE_CX*FACE_CY]; //ͼƬ<CDBC><C6AC>Ϣ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
struct tagUserRemoteInfo
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD><C3BB><EFBFBD>ʶ
|
|||
|
|
DWORD dwGameID; //<2F><>Ϸ<EFBFBD><CFB7>ʶ
|
|||
|
|
TCHAR szNickName[LEN_NICKNAME]; //<2F>û<EFBFBD><C3BB>dz<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ȼ<EFBFBD><C8BC><EFBFBD>Ϣ
|
|||
|
|
BYTE cbGender; //<2F>û<EFBFBD><C3BB>Ա<EFBFBD>
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
BYTE cbMasterOrder; //<2F><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
|
|
|||
|
|
//λ<><CEBB><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wKindID; //<2F><><EFBFBD>ͱ<EFBFBD>ʶ
|
|||
|
|
WORD wServerID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
TCHAR szGameServer[LEN_SERVER]; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F>㳡<EFBFBD><E3B3A1><EFBFBD><EFBFBD>
|
|||
|
|
struct tagGamePlaza
|
|||
|
|
{
|
|||
|
|
WORD wPlazaID; //<2F>㳡<EFBFBD><E3B3A1>ʶ
|
|||
|
|
TCHAR szServerAddr[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
TCHAR szServerName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagLevelItem
|
|||
|
|
{
|
|||
|
|
LONG lLevelScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szLevelName[16]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
struct tagMemberItem
|
|||
|
|
{
|
|||
|
|
BYTE cbMemberOrder; //<2F>ȼ<EFBFBD><C8BC><EFBFBD>ʶ
|
|||
|
|
TCHAR szMemberName[16]; //<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagMasterItem
|
|||
|
|
{
|
|||
|
|
BYTE cbMasterOrder; //<2F>ȼ<EFBFBD><C8BC><EFBFBD>ʶ
|
|||
|
|
TCHAR szMasterName[16]; //<2F>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagColumnItem
|
|||
|
|
{
|
|||
|
|
BYTE cbColumnWidth; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbDataDescribe; //<2F>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szColumnName[16]; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><>ַ<EFBFBD><D6B7>Ϣ
|
|||
|
|
struct tagAddressInfo
|
|||
|
|
{
|
|||
|
|
TCHAR szAddress[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct tagDataBaseParameter
|
|||
|
|
{
|
|||
|
|
WORD wDataBasePort; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>˿<EFBFBD>
|
|||
|
|
TCHAR szDataBaseAddr[32]; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ַ
|
|||
|
|
TCHAR szDataBaseUser[32]; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF>û<EFBFBD>
|
|||
|
|
TCHAR szDataBasePass[32]; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szDataBaseName[32]; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagServerOptionInfo
|
|||
|
|
{
|
|||
|
|
//<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wKindID; //<2F>ҽ<EFBFBD><D2BD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wNodeID; //<2F>ҽӽڵ<D3BD>
|
|||
|
|
WORD wSortID; //<2F><><EFBFBD>б<EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//˰<><CBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wRevenueRatio; //˰<>ձ<EFBFBD><D5B1><EFBFBD>
|
|||
|
|
SCORE lServiceScore; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lRestrictScore; //<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD>
|
|||
|
|
SCORE lMinTableScore; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
|
SCORE lMinEnterScore; //<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
|||
|
|
SCORE lMaxEnterScore; //<2F><><EFBFBD><EFBFBD><DFBB><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbMinEnterMember; //<2F><><EFBFBD>ͻ<EFBFBD>Ա
|
|||
|
|
BYTE cbMaxEnterMember; //<2F><><EFBFBD><EFBFBD>Ա
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwServerRule; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
TCHAR szServerName[LEN_SERVER]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
struct tagMobileUserInfoHead
|
|||
|
|
{
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwGameID; //<2F><>Ϸ I D
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD> I D
|
|||
|
|
|
|||
|
|
//ͷ<><CDB7><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wFaceID; //ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwCustomID; //<2F>Զ<EFBFBD><D4B6><EFBFBD>ʶ
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbGender; //<2F>û<EFBFBD><C3BB>Ա<EFBFBD>
|
|||
|
|
BYTE cbMemberOrder; //<2F><>Ա<EFBFBD>ȼ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD>״̬
|
|||
|
|
WORD wTableID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WORD wChairID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbUserStatus; //<2F>û<EFBFBD>״̬
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
SCORE lScore; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
|
|||
|
|
DWORD dwWinCount; //ʤ<><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwLostCount; //ʧ<><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwDrawCount; //<2F>;<EFBFBD><CDBE><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwFleeCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwExperience; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
struct tagQueryInMatch
|
|||
|
|
{
|
|||
|
|
BYTE cbListNum; //dwServerIDLists<74><73>ID<49>ĸ<EFBFBD><C4B8><EFBFBD>;
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD>ID;
|
|||
|
|
BYTE cbServerIDStatus[32]; //<2F>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>е<EFBFBD>״̬;
|
|||
|
|
DWORD dwServerIDLists[32]; //<2F><><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>û<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ӯ
|
|||
|
|
struct tagPrivateRandRecordChild
|
|||
|
|
{
|
|||
|
|
DWORD dwKindID;
|
|||
|
|
DWORD dwVersion;
|
|||
|
|
int iRecordID;
|
|||
|
|
int iRecordChildID;
|
|||
|
|
std::vector<int> kScore;
|
|||
|
|
SYSTEMTIME kPlayTime;
|
|||
|
|
DataStream kRecordGame;
|
|||
|
|
std::string kUserDefine;
|
|||
|
|
tagPrivateRandRecordChild()
|
|||
|
|
{
|
|||
|
|
dwKindID = 0;
|
|||
|
|
dwVersion = 0;
|
|||
|
|
iRecordID = 0;
|
|||
|
|
iRecordChildID = 0;
|
|||
|
|
|
|||
|
|
kScore.clear();
|
|||
|
|
kRecordGame.clear();
|
|||
|
|
kUserDefine.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagPrivateRandRecordChild(const tagPrivateRandRecordChild& refInfo)
|
|||
|
|
{
|
|||
|
|
dwKindID = refInfo.dwKindID;
|
|||
|
|
dwVersion = refInfo.dwVersion;
|
|||
|
|
iRecordID = refInfo.iRecordID;
|
|||
|
|
iRecordChildID = refInfo.iRecordChildID;
|
|||
|
|
kScore.assign(refInfo.kScore.begin(), refInfo.kScore.end());
|
|||
|
|
kPlayTime = refInfo.kPlayTime;
|
|||
|
|
kRecordGame.assign(refInfo.kRecordGame.begin(), refInfo.kRecordGame.end());
|
|||
|
|
kUserDefine = refInfo.kUserDefine;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagPrivateRandRecordChild& operator=(const tagPrivateRandRecordChild& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo )
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
dwKindID = refInfo.dwKindID;
|
|||
|
|
dwVersion = refInfo.dwVersion;
|
|||
|
|
iRecordID = refInfo.iRecordID;
|
|||
|
|
iRecordChildID = refInfo.iRecordChildID;
|
|||
|
|
kScore.assign(refInfo.kScore.begin(), refInfo.kScore.end());
|
|||
|
|
kPlayTime = refInfo.kPlayTime;
|
|||
|
|
kRecordGame.assign(refInfo.kRecordGame.begin(), refInfo.kRecordGame.end());
|
|||
|
|
kUserDefine = refInfo.kUserDefine;
|
|||
|
|
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwKindID);
|
|||
|
|
Stream_VALUE(dwVersion);
|
|||
|
|
Stream_VALUE(iRecordID);
|
|||
|
|
Stream_VALUE(iRecordChildID);
|
|||
|
|
StructVecotr(int, kScore);
|
|||
|
|
Stream_VALUE_SYSTEMTIME(kPlayTime);
|
|||
|
|
Stream_VALUE(kRecordGame);
|
|||
|
|
Stream_VALUE(kUserDefine);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӯ
|
|||
|
|
struct tagPrivateRandTotalRecord
|
|||
|
|
{
|
|||
|
|
tagPrivateRandTotalRecord()
|
|||
|
|
{
|
|||
|
|
dwKindID = 0;
|
|||
|
|
dwVersion = 0;
|
|||
|
|
iRoomNum = 0;
|
|||
|
|
iRecordID = 0;
|
|||
|
|
cbGameCount = 0;
|
|||
|
|
|
|||
|
|
kScore.clear();
|
|||
|
|
kUserID.clear();
|
|||
|
|
kNickName.clear();
|
|||
|
|
kHeadHttp.clear();
|
|||
|
|
|
|||
|
|
kUserDefine.clear();
|
|||
|
|
}
|
|||
|
|
DWORD dwKindID; // <20><>ϷID;
|
|||
|
|
DWORD dwVersion; // <20>汾<EFBFBD><E6B1BE>;
|
|||
|
|
int iRoomNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
int iRecordID; // <20><>¼ID;
|
|||
|
|
BYTE cbGameCount; // <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
std::vector<int> kScore; // <20><><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>;
|
|||
|
|
std::vector<int> kUserID; // <20><><EFBFBD><EFBFBD>ID;
|
|||
|
|
std::vector<std::string> kNickName; // <20><><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD>;
|
|||
|
|
std::vector<std::string> kHeadHttp; // <><CEA2>ͷ<EFBFBD><CDB7>;
|
|||
|
|
SYSTEMTIME kPlayTime; // <20><>Ϸʱ<CFB7><CAB1>;
|
|||
|
|
std::string kUserDefine; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
|
|||
|
|
std::vector<tagPrivateRandRecordChild> kRecordChild;
|
|||
|
|
|
|||
|
|
tagPrivateRandTotalRecord(const tagPrivateRandTotalRecord& refInfo)
|
|||
|
|
{
|
|||
|
|
dwKindID = refInfo.dwKindID;
|
|||
|
|
dwVersion = refInfo.dwVersion;
|
|||
|
|
iRoomNum = refInfo.iRoomNum;
|
|||
|
|
iRecordID = refInfo.iRecordID;
|
|||
|
|
cbGameCount = refInfo.cbGameCount;
|
|||
|
|
|
|||
|
|
kScore.assign(refInfo.kScore.begin(), refInfo.kScore.end());
|
|||
|
|
kUserID.assign(refInfo.kUserID.begin(), refInfo.kUserID.end());
|
|||
|
|
kNickName.assign(refInfo.kNickName.begin(), refInfo.kNickName.end());
|
|||
|
|
kHeadHttp.assign(refInfo.kHeadHttp.begin(), refInfo.kHeadHttp.end());
|
|||
|
|
|
|||
|
|
kPlayTime = refInfo.kPlayTime;
|
|||
|
|
kUserDefine = refInfo.kUserDefine;
|
|||
|
|
|
|||
|
|
kRecordChild.assign(refInfo.kRecordChild.begin(), refInfo.kRecordChild.end());
|
|||
|
|
}
|
|||
|
|
tagPrivateRandTotalRecord& operator=(const tagPrivateRandTotalRecord& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo )
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
dwKindID = refInfo.dwKindID;
|
|||
|
|
dwVersion = refInfo.dwVersion;
|
|||
|
|
iRoomNum = refInfo.iRoomNum;
|
|||
|
|
iRecordID = refInfo.iRecordID;
|
|||
|
|
cbGameCount = refInfo.cbGameCount;
|
|||
|
|
|
|||
|
|
kScore.assign(refInfo.kScore.begin(), refInfo.kScore.end());
|
|||
|
|
kUserID.assign(refInfo.kUserID.begin(), refInfo.kUserID.end());
|
|||
|
|
kNickName.assign(refInfo.kNickName.begin(), refInfo.kNickName.end());
|
|||
|
|
kHeadHttp.assign(refInfo.kHeadHttp.begin(), refInfo.kHeadHttp.end());
|
|||
|
|
|
|||
|
|
kPlayTime = refInfo.kPlayTime;
|
|||
|
|
kUserDefine = refInfo.kUserDefine;
|
|||
|
|
|
|||
|
|
kRecordChild.assign(refInfo.kRecordChild.begin(), refInfo.kRecordChild.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwKindID);
|
|||
|
|
Stream_VALUE(dwVersion);
|
|||
|
|
Stream_VALUE(iRoomNum);
|
|||
|
|
Stream_VALUE(iRecordID);
|
|||
|
|
Stream_VALUE(cbGameCount);
|
|||
|
|
StructVecotr(int, kScore);
|
|||
|
|
StructVecotr(int, kUserID);
|
|||
|
|
Stream_VALUE(kNickName);
|
|||
|
|
Stream_VALUE(kHeadHttp);
|
|||
|
|
Stream_VALUE_SYSTEMTIME(kPlayTime);
|
|||
|
|
Stream_VALUE(kUserDefine);
|
|||
|
|
StructVecotrMember(tagPrivateRandRecordChild,kRecordChild);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagPrivateRandTotalRecordList
|
|||
|
|
{
|
|||
|
|
DWORD dwUserID;
|
|||
|
|
std::vector<tagPrivateRandTotalRecord> kList;
|
|||
|
|
|
|||
|
|
tagPrivateRandTotalRecordList()
|
|||
|
|
{
|
|||
|
|
dwUserID = 0;
|
|||
|
|
kList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagPrivateRandTotalRecordList(const tagPrivateRandTotalRecordList& refInfo)
|
|||
|
|
{
|
|||
|
|
dwUserID = refInfo.dwUserID;
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagPrivateRandTotalRecordList& operator=(const tagPrivateRandTotalRecordList& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
dwUserID = refInfo.dwUserID;
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwUserID);
|
|||
|
|
StructVecotrMember(tagPrivateRandTotalRecord,kList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><>Ϸ¼<CFB7><C2BC>;
|
|||
|
|
struct tagGameRecordPlayer
|
|||
|
|
{
|
|||
|
|
DWORD dwUserID; //<2F>û<EFBFBD>ID;
|
|||
|
|
DWORD dwGameID; //<2F><>Ϸ<EFBFBD><CFB7>ʶ;
|
|||
|
|
WORD wChairID; //<2F><>Ϸ<EFBFBD><CFB7>ʶ;
|
|||
|
|
BYTE cbSex; //<2F>Ա<EFBFBD>;
|
|||
|
|
SCORE lScore; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;
|
|||
|
|
std::string strHead; //ͷ<><CDB7>url;
|
|||
|
|
std::string strNickName; //<2F>dz<EFBFBD>;
|
|||
|
|
std::vector<BYTE> cbCardData; //<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
tagGameRecordPlayer()
|
|||
|
|
{
|
|||
|
|
dwUserID = 0;
|
|||
|
|
dwGameID = 0;
|
|||
|
|
wChairID = 0;
|
|||
|
|
cbSex = 0;
|
|||
|
|
lScore = 0;
|
|||
|
|
strHead.clear();
|
|||
|
|
strNickName.clear();
|
|||
|
|
cbCardData.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagGameRecordPlayer(const tagGameRecordPlayer& refInfo)
|
|||
|
|
{
|
|||
|
|
dwUserID = refInfo.dwUserID;
|
|||
|
|
dwGameID = refInfo.dwGameID;
|
|||
|
|
wChairID = refInfo.wChairID;
|
|||
|
|
cbSex = refInfo.cbSex;
|
|||
|
|
lScore = refInfo.lScore;
|
|||
|
|
strHead = refInfo.strHead;
|
|||
|
|
strNickName = refInfo.strNickName;
|
|||
|
|
cbCardData.assign( refInfo.cbCardData.begin(), refInfo.cbCardData.end() );
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagGameRecordPlayer& operator=(const tagGameRecordPlayer& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo )
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
dwUserID = refInfo.dwUserID;
|
|||
|
|
dwGameID = refInfo.dwGameID;
|
|||
|
|
wChairID = refInfo.wChairID;
|
|||
|
|
cbSex = refInfo.cbSex;
|
|||
|
|
lScore = refInfo.lScore;
|
|||
|
|
strHead = refInfo.strHead;
|
|||
|
|
strNickName = refInfo.strNickName;
|
|||
|
|
cbCardData.assign(refInfo.cbCardData.begin(), refInfo.cbCardData.end());
|
|||
|
|
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(dwUserID);
|
|||
|
|
Stream_VALUE(dwGameID);
|
|||
|
|
Stream_VALUE(wChairID);
|
|||
|
|
Stream_VALUE(cbSex);
|
|||
|
|
Stream_VALUE(lScore);
|
|||
|
|
Stream_VALUE(strHead);
|
|||
|
|
Stream_VALUE(strNickName);
|
|||
|
|
Stream_VALUE(cbCardData);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagGameRecordOperateResult
|
|||
|
|
{
|
|||
|
|
WORD wSubCmdID; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>;
|
|||
|
|
DataStream subMessageData; //<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
tagGameRecordOperateResult()
|
|||
|
|
{
|
|||
|
|
wSubCmdID = 0;
|
|||
|
|
subMessageData.clear();
|
|||
|
|
}
|
|||
|
|
tagGameRecordOperateResult(const tagGameRecordOperateResult& refInfo)
|
|||
|
|
{
|
|||
|
|
wSubCmdID = refInfo.wSubCmdID;
|
|||
|
|
subMessageData.assign(refInfo.subMessageData.begin(), refInfo.subMessageData.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagGameRecordOperateResult& operator=(const tagGameRecordOperateResult& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo )
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
wSubCmdID = refInfo.wSubCmdID;
|
|||
|
|
subMessageData.assign(refInfo.subMessageData.begin(), refInfo.subMessageData.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(wSubCmdID);
|
|||
|
|
Stream_VALUE(subMessageData);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct CMD_GF_Private_Room_Info
|
|||
|
|
{
|
|||
|
|
BYTE bPlayCoutIdex; //<2F><><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
|
|||
|
|
BYTE bGameTypeIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
DWORD bGameRuleIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
BYTE bStartGame;
|
|||
|
|
DWORD dwPlayCout; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwRoomNum;
|
|||
|
|
DWORD dwCreateUserID;
|
|||
|
|
DWORD dwUnionCode;
|
|||
|
|
DWORD dwPlayTotal; //<2F>ܾ<EFBFBD><DCBE><EFBFBD>
|
|||
|
|
DWORD dwPlayCost; // <20><><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
|
|||
|
|
|
|||
|
|
BYTE cbRoomType;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>Ὺ<EFBFBD><E1BFAA><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD>;
|
|||
|
|
BYTE cbUnionGoldOpen; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD>
|
|||
|
|
SCORE lScoreMultiple; //<2F><><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lGameGold; //Ӷ<><D3B6>
|
|||
|
|
|
|||
|
|
BYTE cbBaseScore; //<2F><EFBFBD>
|
|||
|
|
|
|||
|
|
std::vector<int> kWinLoseScore;
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Room_Info()
|
|||
|
|
{
|
|||
|
|
bPlayCoutIdex = 0;
|
|||
|
|
bGameTypeIdex = 0;
|
|||
|
|
bGameRuleIdex = 0;
|
|||
|
|
|
|||
|
|
bStartGame = 0;
|
|||
|
|
dwPlayCout = 0;
|
|||
|
|
dwRoomNum = 0;
|
|||
|
|
dwCreateUserID = 0;
|
|||
|
|
dwPlayTotal = 0;
|
|||
|
|
dwPlayCost = 0;
|
|||
|
|
cbRoomType = 0;
|
|||
|
|
|
|||
|
|
cbUnionGoldOpen = 0;
|
|||
|
|
lScoreMultiple = 0;
|
|||
|
|
lGameGold = 0;
|
|||
|
|
cbBaseScore = 0;
|
|||
|
|
|
|||
|
|
kWinLoseScore.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Room_Info(const CMD_GF_Private_Room_Info& refInfo)
|
|||
|
|
{
|
|||
|
|
bPlayCoutIdex = refInfo.bPlayCoutIdex;
|
|||
|
|
bGameTypeIdex = refInfo.bGameTypeIdex;
|
|||
|
|
bGameRuleIdex = refInfo.bGameRuleIdex;
|
|||
|
|
|
|||
|
|
bStartGame = refInfo.bStartGame;
|
|||
|
|
dwPlayCout = refInfo.dwPlayCout;
|
|||
|
|
dwRoomNum = refInfo.dwRoomNum;
|
|||
|
|
dwCreateUserID = refInfo.dwCreateUserID;
|
|||
|
|
dwPlayTotal = refInfo.dwPlayTotal;
|
|||
|
|
dwPlayCost = refInfo.dwPlayCost;
|
|||
|
|
|
|||
|
|
cbRoomType = refInfo.cbRoomType;
|
|||
|
|
|
|||
|
|
cbUnionGoldOpen = refInfo.cbUnionGoldOpen;
|
|||
|
|
lScoreMultiple = refInfo.lScoreMultiple;
|
|||
|
|
lGameGold = refInfo.lGameGold;
|
|||
|
|
cbBaseScore = refInfo.cbBaseScore;
|
|||
|
|
|
|||
|
|
kWinLoseScore.assign(refInfo.kWinLoseScore.begin(), refInfo.kWinLoseScore.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Room_Info& operator=(const CMD_GF_Private_Room_Info& refInfo)
|
|||
|
|
{
|
|||
|
|
if ( this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
bPlayCoutIdex = refInfo.bPlayCoutIdex;
|
|||
|
|
bGameTypeIdex = refInfo.bGameTypeIdex;
|
|||
|
|
bGameRuleIdex = refInfo.bGameRuleIdex;
|
|||
|
|
|
|||
|
|
bStartGame = refInfo.bStartGame;
|
|||
|
|
dwPlayCout = refInfo.dwPlayCout;
|
|||
|
|
dwRoomNum = refInfo.dwRoomNum;
|
|||
|
|
dwCreateUserID = refInfo.dwCreateUserID;
|
|||
|
|
dwPlayTotal = refInfo.dwPlayTotal;
|
|||
|
|
dwPlayCost = refInfo.dwPlayCost;
|
|||
|
|
|
|||
|
|
cbRoomType = refInfo.cbRoomType;
|
|||
|
|
|
|||
|
|
cbUnionGoldOpen = refInfo.cbUnionGoldOpen;
|
|||
|
|
lScoreMultiple = refInfo.lScoreMultiple;
|
|||
|
|
lGameGold = refInfo.lGameGold;
|
|||
|
|
cbBaseScore = refInfo.cbBaseScore;
|
|||
|
|
|
|||
|
|
kWinLoseScore.assign(refInfo.kWinLoseScore.begin(), refInfo.kWinLoseScore.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(bPlayCoutIdex);
|
|||
|
|
Stream_VALUE(bGameTypeIdex);
|
|||
|
|
Stream_VALUE(bGameRuleIdex);
|
|||
|
|
Stream_VALUE(bStartGame);
|
|||
|
|
Stream_VALUE(dwPlayCout);
|
|||
|
|
Stream_VALUE(dwRoomNum);
|
|||
|
|
Stream_VALUE(dwCreateUserID);
|
|||
|
|
Stream_VALUE(dwPlayTotal);
|
|||
|
|
Stream_VALUE(dwPlayCost);
|
|||
|
|
Stream_VALUE(cbRoomType);
|
|||
|
|
Stream_VALUE(cbUnionGoldOpen);
|
|||
|
|
Stream_VALUE(lScoreMultiple);
|
|||
|
|
Stream_VALUE(lGameGold);
|
|||
|
|
Stream_VALUE(cbBaseScore);
|
|||
|
|
StructVecotr(int, kWinLoseScore);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
struct CMD_GF_Private_Score_Info
|
|||
|
|
{
|
|||
|
|
BYTE cbPlayerCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
std::vector<SCORE> kScoreInfoArray; //<2F><><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Score_Info()
|
|||
|
|
{
|
|||
|
|
cbPlayerCount = 0;
|
|||
|
|
kScoreInfoArray.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Score_Info(const CMD_GF_Private_Score_Info& refInfo)
|
|||
|
|
{
|
|||
|
|
cbPlayerCount = refInfo.cbPlayerCount;
|
|||
|
|
kScoreInfoArray.assign(refInfo.kScoreInfoArray.begin(), refInfo.kScoreInfoArray.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CMD_GF_Private_Score_Info& operator=(const CMD_GF_Private_Score_Info& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
cbPlayerCount = refInfo.cbPlayerCount;
|
|||
|
|
kScoreInfoArray.assign(refInfo.kScoreInfoArray.begin(), refInfo.kScoreInfoArray.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(cbPlayerCount);
|
|||
|
|
StructVecotr(SCORE, kScoreInfoArray);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagGameRecord
|
|||
|
|
{
|
|||
|
|
WORD wBankerUser; //ׯ<><D7AF><EFBFBD>û<EFBFBD>;
|
|||
|
|
WORD wEastUser; //<2F>״ζ<D7B4><CEB6><EFBFBD>;
|
|||
|
|
CMD_GF_Private_Room_Info roomInfo; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
std::vector<tagGameRecordPlayer> playersVec; //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵĻ<D2B5><C4BB><EFBFBD><EFBFBD><EFBFBD>Ϣ;
|
|||
|
|
std::vector<tagGameRecordOperateResult> actionVec; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
tagGameRecord()
|
|||
|
|
{
|
|||
|
|
wBankerUser = 0;
|
|||
|
|
wEastUser = 0;
|
|||
|
|
|
|||
|
|
playersVec.clear();
|
|||
|
|
actionVec.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagGameRecord(const tagGameRecord& refGameRecord)
|
|||
|
|
{
|
|||
|
|
wBankerUser = refGameRecord.wBankerUser;
|
|||
|
|
wEastUser = refGameRecord.wEastUser;
|
|||
|
|
|
|||
|
|
roomInfo = refGameRecord.roomInfo;
|
|||
|
|
|
|||
|
|
playersVec.assign(refGameRecord.playersVec.begin(), refGameRecord.playersVec.end());
|
|||
|
|
actionVec.assign(refGameRecord.actionVec.begin(), refGameRecord.actionVec.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
bool StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(wBankerUser);
|
|||
|
|
Stream_VALUE(wEastUser);
|
|||
|
|
roomInfo.StreamValue(kData, bSend);
|
|||
|
|
StructVecotrMember(tagGameRecordPlayer, playersVec);
|
|||
|
|
StructVecotrMember(tagGameRecordOperateResult, actionVec);
|
|||
|
|
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
catch (...)
|
|||
|
|
{
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
|
|||
|
|
struct tagUnionItem
|
|||
|
|
{
|
|||
|
|
DWORD dwUserID; //<2F>᳤ID;
|
|||
|
|
DWORD dwUnionCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbUnionGoldOpen; //1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ģʽ,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbUnionOpen; //<2F>Ƿ<EFBFBD><C7B7>п<EFBFBD><D0BF><EFBFBD>Ȩ<EFBFBD><C8A8> 0 <20><> 1 <20><>;
|
|||
|
|
SCORE lPeople; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
SCORE lUnionCard; //<2F><><EFBFBD>᷿<EFBFBD><E1B7BF>;
|
|||
|
|
TCHAR szUnionName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(tagUnionItem));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(tagUnionItem));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagUnionItemList
|
|||
|
|
{
|
|||
|
|
std::vector<tagUnionItem> kList;
|
|||
|
|
|
|||
|
|
tagUnionItemList()
|
|||
|
|
{
|
|||
|
|
kList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionItemList(const tagUnionItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionItemList& operator=(const tagUnionItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
StructVecotrMember(tagUnionItem, kList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagUnionGameItem
|
|||
|
|
{
|
|||
|
|
DWORD dwUnionCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
WORD wKindID; //<2F><>ϷID;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(tagUnionGameItem));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(tagUnionGameItem));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagUnionGameList
|
|||
|
|
{
|
|||
|
|
std::vector<tagUnionGameItem> kList;
|
|||
|
|
|
|||
|
|
tagUnionGameList()
|
|||
|
|
{
|
|||
|
|
kList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionGameList(const tagUnionGameList& refInfo)
|
|||
|
|
{
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionGameList& operator=(const tagUnionGameList& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
StructVecotrMember(tagUnionGameItem, kList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagUnionAndGameList
|
|||
|
|
{
|
|||
|
|
std::vector<tagUnionItem> kUnionList;
|
|||
|
|
//std::vector<tagUnionGameItem> kGameList;
|
|||
|
|
|
|||
|
|
tagUnionAndGameList()
|
|||
|
|
{
|
|||
|
|
kUnionList.clear();
|
|||
|
|
//kGameList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionAndGameList(const tagUnionAndGameList& refInfo)
|
|||
|
|
{
|
|||
|
|
kUnionList.assign(refInfo.kUnionList.begin(), refInfo.kUnionList.end());
|
|||
|
|
//kGameList.assign(refInfo.kGameList.begin(), refInfo.kGameList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagUnionAndGameList& operator=(const tagUnionAndGameList& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
kUnionList.assign(refInfo.kUnionList.begin(), refInfo.kUnionList.end());
|
|||
|
|
//kGameList.assign(refInfo.kGameList.begin(), refInfo.kGameList.end());
|
|||
|
|
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
StructVecotrMember(tagUnionItem, kUnionList);
|
|||
|
|
//StructVecotrMember(tagUnionGameItem, kGameList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
|
|||
|
|
struct tagRoomItem
|
|||
|
|
{
|
|||
|
|
WORD wKindID; //<2F><>ϷID;
|
|||
|
|
DWORD dwUnionCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbUnionGoldOpen; //1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ģʽ,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbGameOK; //<2F><><EFBFBD><EFBFBD>״̬ 1 <20><>ʼ 2 <20><>Ϸ<EFBFBD><CFB7> 8<><38><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwRoomID; //<2F><><EFBFBD><EFBFBD>ID;
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbPlayCout; //<2F><><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbPlayCoutIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbBaseScore; //<2F><EFBFBD>;
|
|||
|
|
DWORD dwUserIDs[5];
|
|||
|
|
SYSTEMTIME InsertTime; //<2F><>ʼʱ<CABC><CAB1>
|
|||
|
|
char szUnionName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(tagRoomItem));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(tagRoomItem));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagRoomItemList
|
|||
|
|
{
|
|||
|
|
BYTE cbPlayRoomCount;
|
|||
|
|
std::vector<tagRoomItem> kList;
|
|||
|
|
|
|||
|
|
tagRoomItemList()
|
|||
|
|
{
|
|||
|
|
cbPlayRoomCount = 0;
|
|||
|
|
kList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagRoomItemList(const tagRoomItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
cbPlayRoomCount = refInfo.cbPlayRoomCount;
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagRoomItemList& operator=(const tagRoomItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
cbPlayRoomCount = refInfo.cbPlayRoomCount;
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
Stream_VALUE(cbPlayRoomCount);
|
|||
|
|
StructVecotrMember(tagRoomItem, kList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
|
|||
|
|
struct tagAutoRoomItem
|
|||
|
|
{
|
|||
|
|
DWORD dwIndex;
|
|||
|
|
WORD wKindID; //<2F><>ϷID;
|
|||
|
|
WORD wServerID;
|
|||
|
|
DWORD dwUnionCode; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbUnionGoldOpen; //1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ģʽ,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
DWORD dwGameRule; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbPlayCoutIdex; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbPlayCout; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
|
|||
|
|
BYTE cbBaseScore; //<2F><EFBFBD>;
|
|||
|
|
char szUnionName[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
char szCreateTime[32]; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>;
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
if (bSend)
|
|||
|
|
{
|
|||
|
|
kData.pushValue(this, sizeof(tagAutoRoomItem));
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
kData.popValue(this, sizeof(tagAutoRoomItem));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
struct tagAutoRoomItemList
|
|||
|
|
{
|
|||
|
|
std::vector<tagAutoRoomItem> kList;
|
|||
|
|
|
|||
|
|
tagAutoRoomItemList()
|
|||
|
|
{
|
|||
|
|
kList.clear();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagAutoRoomItemList(const tagAutoRoomItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
tagAutoRoomItemList& operator=(const tagAutoRoomItemList& refInfo)
|
|||
|
|
{
|
|||
|
|
if (this == &refInfo)
|
|||
|
|
{
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
kList.assign(refInfo.kList.begin(), refInfo.kList.end());
|
|||
|
|
return *this;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void StreamValue(DataStream& kData, bool bSend)
|
|||
|
|
{
|
|||
|
|
StructVecotrMember(tagAutoRoomItem, kList);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD>ʼ״̬;
|
|||
|
|
struct tagAutoUserStatus
|
|||
|
|
{
|
|||
|
|
bool bStartGame; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#pragma pack()
|
|||
|
|
|
|||
|
|
#endif
|