guild packets same size
This commit is contained in:
@@ -28,11 +28,11 @@ namespace
|
||||
{
|
||||
struct FGuildNameSender
|
||||
{
|
||||
FGuildNameSender(DWORD id, const char* guild_name) : id(id), name(guild_name)
|
||||
FGuildNameSender(uint32_t id, const char* guild_name) : id(id), name(guild_name)
|
||||
{
|
||||
p.header = HEADER_GC_GUILD;
|
||||
p.subheader = GUILD_SUBHEADER_GC_GUILD_NAME;
|
||||
p.size = sizeof(p) + sizeof(DWORD) + GUILD_NAME_MAX_LEN;
|
||||
p.size = sizeof(p) + sizeof(uint32_t) + GUILD_NAME_MAX_LEN;
|
||||
}
|
||||
|
||||
void operator() (LPCHARACTER ch)
|
||||
@@ -47,7 +47,7 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
DWORD id;
|
||||
uint32_t id;
|
||||
const char * name;
|
||||
TPacketGCGuild p;
|
||||
};
|
||||
@@ -319,7 +319,7 @@ void CGuild::LogoutMember(LPCHARACTER ch)
|
||||
}
|
||||
}
|
||||
|
||||
void CGuild::SendOnlineRemoveOnePacket(DWORD pid)
|
||||
void CGuild::SendOnlineRemoveOnePacket(uint32_t pid)
|
||||
{
|
||||
TPacketGCGuild pack;
|
||||
pack.header = HEADER_GC_GUILD;
|
||||
@@ -396,15 +396,20 @@ void CGuild::SendListOneToAll(DWORD pid)
|
||||
if (!d)
|
||||
continue;
|
||||
|
||||
TGuildMemberPacketData p;
|
||||
p.pid = cit->second.pid;
|
||||
p.grade = cit->second.grade;
|
||||
p.is_general = cit->second.is_general;
|
||||
p.job = cit->second.job;
|
||||
p.level = cit->second.level;
|
||||
p.offer = cit->second.offer_exp;
|
||||
p.name_flag = 1;
|
||||
strlcpy(p.name, cit->second.name.c_str(), sizeof(p.name));
|
||||
|
||||
|
||||
TEMP_BUFFER buf;
|
||||
|
||||
buf.write(&pack, sizeof(pack));
|
||||
|
||||
cit->second._dummy = 1;
|
||||
|
||||
buf.write(&(cit->second), sizeof(DWORD) * 3 +1);
|
||||
buf.write(cit->second.name.c_str(), cit->second.name.length());
|
||||
buf.write(c, CHARACTER_NAME_MAX_LEN + 1 - cit->second.name.length());
|
||||
buf.write(&p, sizeof(p));
|
||||
d->Packet(buf.read_peek(), buf.size());
|
||||
}
|
||||
}
|
||||
@@ -435,20 +440,20 @@ void CGuild::SendListPacket(LPCHARACTER ch)
|
||||
pack.size += sizeof(TGuildMemberPacketData) * m_member.size();
|
||||
|
||||
TEMP_BUFFER buf;
|
||||
|
||||
buf.write(&pack,sizeof(pack));
|
||||
|
||||
char c[CHARACTER_NAME_MAX_LEN+1];
|
||||
|
||||
for (TGuildMemberContainer::iterator it = m_member.begin(); it != m_member.end(); ++it)
|
||||
{
|
||||
it->second._dummy = 1;
|
||||
|
||||
buf.write(&(it->second), sizeof(DWORD)*3+1);
|
||||
|
||||
strlcpy(c, it->second.name.c_str(), MIN(sizeof(c), it->second.name.length() + 1));
|
||||
|
||||
buf.write(c, CHARACTER_NAME_MAX_LEN+1 );
|
||||
TGuildMemberPacketData p;
|
||||
p.pid = it->second.pid;
|
||||
p.grade = it->second.grade;
|
||||
p.is_general = it->second.is_general;
|
||||
p.job = it->second.job;
|
||||
p.level = it->second.level;
|
||||
p.offer = it->second.offer_exp;
|
||||
p.name_flag = 1;
|
||||
strlcpy(p.name, it->second.name.c_str(), sizeof(p.name));
|
||||
buf.write(&p, sizeof(p));
|
||||
|
||||
if ( test_server )
|
||||
sys_log(0 ,"name %s job %d ", it->second.name.c_str(), it->second.job );
|
||||
@@ -473,7 +478,7 @@ void CGuild::SendLoginPacket(LPCHARACTER ch, LPCHARACTER chLogin)
|
||||
SendLoginPacket(ch, chLogin->GetPlayerID());
|
||||
}
|
||||
|
||||
void CGuild::SendLoginPacket(LPCHARACTER ch, DWORD pid)
|
||||
void CGuild::SendLoginPacket(LPCHARACTER ch, uint32_t pid)
|
||||
{
|
||||
/*
|
||||
Login Packet
|
||||
@@ -502,7 +507,7 @@ void CGuild::SendLogoutPacket(LPCHARACTER ch, LPCHARACTER chLogout)
|
||||
SendLogoutPacket(ch, chLogout->GetPlayerID());
|
||||
}
|
||||
|
||||
void CGuild::SendLogoutPacket(LPCHARACTER ch, DWORD pid)
|
||||
void CGuild::SendLogoutPacket(LPCHARACTER ch, uint32_t pid)
|
||||
{
|
||||
/*
|
||||
Logout Packet
|
||||
@@ -1098,7 +1103,7 @@ void CGuild::RefreshCommentForce(DWORD player_id)
|
||||
}
|
||||
}
|
||||
|
||||
bool CGuild::ChangeMemberGeneral(DWORD pid, BYTE is_general)
|
||||
bool CGuild::ChangeMemberGeneral(uint32_t pid, BYTE is_general)
|
||||
{
|
||||
if (is_general && GetGeneralCount() >= GetMaxGeneralCount())
|
||||
return false;
|
||||
@@ -1144,7 +1149,7 @@ bool CGuild::ChangeMemberGeneral(DWORD pid, BYTE is_general)
|
||||
return true;
|
||||
}
|
||||
|
||||
void CGuild::ChangeMemberGrade(DWORD pid, BYTE grade)
|
||||
void CGuild::ChangeMemberGrade(uint32_t pid, BYTE grade)
|
||||
{
|
||||
if (grade == 1)
|
||||
return;
|
||||
@@ -1552,7 +1557,9 @@ void CGuild::GuildPointChange(BYTE type, int amount, bool save)
|
||||
TEMP_BUFFER buf;
|
||||
buf.write(&pack,sizeof(pack));
|
||||
buf.write(&m_data.level,1);
|
||||
buf.write(&m_data.exp,4);
|
||||
|
||||
uint32_t exp = m_data.exp;
|
||||
buf.write(&exp,4);
|
||||
|
||||
for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
|
||||
{
|
||||
@@ -1873,12 +1880,13 @@ void CGuild::RecvMoneyChange(int iGold)
|
||||
p.size = sizeof(p) + sizeof(int);
|
||||
p.subheader = GUILD_SUBHEADER_GC_MONEY_CHANGE;
|
||||
|
||||
uint32_t gold = iGold;
|
||||
for (itertype(m_memberOnline) it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
|
||||
{
|
||||
LPCHARACTER ch = *it;
|
||||
LPDESC d = ch->GetDesc();
|
||||
d->BufferedPacket(&p, sizeof(p));
|
||||
d->Packet(&iGold, sizeof(int));
|
||||
d->Packet(&gold, sizeof(uint32_t));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2009,16 +2017,16 @@ void CGuild::Invite( LPCHARACTER pchInviter, LPCHARACTER pchInvitee )
|
||||
// 초대 받는 character 에게 초대 패킷 전송
|
||||
//
|
||||
|
||||
DWORD gid = GetID();
|
||||
uint32_t gid = GetID();
|
||||
|
||||
TPacketGCGuild p;
|
||||
p.header = HEADER_GC_GUILD;
|
||||
p.size = sizeof(p) + sizeof(DWORD) + GUILD_NAME_MAX_LEN;
|
||||
p.size = sizeof(p) + sizeof(uint32_t) + GUILD_NAME_MAX_LEN;
|
||||
p.subheader = GUILD_SUBHEADER_GC_GUILD_INVITE;
|
||||
|
||||
TEMP_BUFFER buf;
|
||||
buf.write( &p, sizeof(p) );
|
||||
buf.write( &gid, sizeof(DWORD) );
|
||||
buf.write( &gid, sizeof(uint32_t) );
|
||||
buf.write( GetName(), GUILD_NAME_MAX_LEN );
|
||||
|
||||
pchInvitee->GetDesc()->Packet( buf.read_peek(), buf.size() );
|
||||
|
||||
@@ -47,27 +47,27 @@ typedef struct SGuildMember
|
||||
#pragma pack(1)
|
||||
typedef struct SGuildMemberPacketData
|
||||
{
|
||||
DWORD pid;
|
||||
BYTE grade;
|
||||
BYTE is_general;
|
||||
BYTE job;
|
||||
BYTE level;
|
||||
DWORD offer;
|
||||
BYTE name_flag;
|
||||
uint32_t pid;
|
||||
uint8_t grade;
|
||||
uint8_t is_general;
|
||||
uint8_t job;
|
||||
uint8_t level;
|
||||
uint32_t offer;
|
||||
uint8_t name_flag;
|
||||
char name[CHARACTER_NAME_MAX_LEN+1];
|
||||
} TGuildMemberPacketData;
|
||||
|
||||
typedef struct packet_guild_sub_info
|
||||
{
|
||||
WORD member_count;
|
||||
WORD max_member_count;
|
||||
DWORD guild_id;
|
||||
DWORD master_pid;
|
||||
DWORD exp;
|
||||
BYTE level;
|
||||
uint16_t member_count;
|
||||
uint16_t max_member_count;
|
||||
uint32_t guild_id;
|
||||
uint32_t master_pid;
|
||||
uint32_t exp;
|
||||
uint8_t level;
|
||||
char name[GUILD_NAME_MAX_LEN+1];
|
||||
DWORD gold;
|
||||
BYTE has_land;
|
||||
uint32_t gold;
|
||||
uint8_t has_land;
|
||||
} TPacketGCGuildInfo;
|
||||
|
||||
typedef struct SGuildGrade
|
||||
@@ -182,7 +182,7 @@ class CGuild
|
||||
void LogoutMember(LPCHARACTER ch);
|
||||
void P2PLogoutMember(DWORD pid);
|
||||
|
||||
void ChangeMemberGrade(DWORD pid, BYTE grade);
|
||||
void ChangeMemberGrade(uint32_t pid, BYTE grade);
|
||||
bool OfferExp(LPCHARACTER ch, int amount);
|
||||
void LevelChange(DWORD pid, BYTE level);
|
||||
void ChangeMemberData(DWORD pid, DWORD offer, BYTE level, BYTE grade);
|
||||
@@ -191,21 +191,21 @@ class CGuild
|
||||
void ChangeGradeAuth(BYTE grade, BYTE auth);
|
||||
void P2PChangeGrade(BYTE grade);
|
||||
|
||||
bool ChangeMemberGeneral(DWORD pid, BYTE is_general);
|
||||
bool ChangeMemberGeneral(uint32_t pid, BYTE is_general);
|
||||
|
||||
bool ChangeMasterTo(DWORD dwPID);
|
||||
|
||||
void Packet(const void* buf, int size);
|
||||
|
||||
void SendOnlineRemoveOnePacket(DWORD pid);
|
||||
void SendOnlineRemoveOnePacket(uint32_t pid);
|
||||
void SendAllGradePacket(LPCHARACTER ch);
|
||||
void SendListPacket(LPCHARACTER ch);
|
||||
void SendListOneToAll(DWORD pid);
|
||||
void SendListOneToAll(LPCHARACTER ch);
|
||||
void SendLoginPacket(LPCHARACTER ch, LPCHARACTER chLogin);
|
||||
void SendLogoutPacket(LPCHARACTER ch, LPCHARACTER chLogout);
|
||||
void SendLoginPacket(LPCHARACTER ch, DWORD pid);
|
||||
void SendLogoutPacket(LPCHARACTER ch, DWORD pid);
|
||||
void SendLoginPacket(LPCHARACTER ch, uint32_t pid);
|
||||
void SendLogoutPacket(LPCHARACTER ch, uint32_t pid);
|
||||
void SendGuildInfoPacket(LPCHARACTER ch);
|
||||
void SendGuildDataUpdateToAllMember(SQLMsg* pmsg);
|
||||
|
||||
|
||||
@@ -586,13 +586,13 @@ void CGuildManager::WaitStartWar(DWORD guild_id1, DWORD guild_id2)
|
||||
|
||||
struct FSendWarList
|
||||
{
|
||||
FSendWarList(BYTE subheader, DWORD guild_id1, DWORD guild_id2)
|
||||
FSendWarList(BYTE subheader, uint32_t guild_id1, uint32_t guild_id2)
|
||||
{
|
||||
gid1 = guild_id1;
|
||||
gid2 = guild_id2;
|
||||
|
||||
p.header = HEADER_GC_GUILD;
|
||||
p.size = sizeof(p) + sizeof(DWORD) * 2;
|
||||
p.size = sizeof(p) + sizeof(uint32_t) * 2;
|
||||
p.subheader = subheader;
|
||||
}
|
||||
|
||||
@@ -603,12 +603,12 @@ struct FSendWarList
|
||||
if (d)
|
||||
{
|
||||
d->BufferedPacket(&p, sizeof(p));
|
||||
d->BufferedPacket(&gid1, sizeof(DWORD));
|
||||
d->Packet(&gid2, sizeof(DWORD));
|
||||
d->BufferedPacket(&gid1, sizeof(uint32_t));
|
||||
d->Packet(&gid2, sizeof(uint32_t));
|
||||
}
|
||||
}
|
||||
|
||||
DWORD gid1, gid2;
|
||||
uint32_t gid1, gid2;
|
||||
TPacketGCGuild p;
|
||||
};
|
||||
|
||||
@@ -798,13 +798,14 @@ void CGuildManager::SendGuildWar(LPCHARACTER ch)
|
||||
TPacketGCGuild p;
|
||||
p.header= HEADER_GC_GUILD;
|
||||
p.subheader = GUILD_SUBHEADER_GC_GUILD_WAR_LIST;
|
||||
p.size = sizeof(p) + (sizeof(DWORD) * 2) * m_GuildWar.size();
|
||||
p.size = sizeof(p) + (sizeof(uint32_t) * 2) * m_GuildWar.size();
|
||||
buf.write(&p, sizeof(p));
|
||||
|
||||
for (auto it = m_GuildWar.begin(); it != m_GuildWar.end(); ++it)
|
||||
{
|
||||
buf.write(&it->first, sizeof(DWORD));
|
||||
buf.write(&it->second, sizeof(DWORD));
|
||||
uint32_t a = it->first, b = it->first;
|
||||
buf.write(&a, sizeof(uint32_t));
|
||||
buf.write(&b, sizeof(uint32_t));
|
||||
}
|
||||
|
||||
ch->GetDesc()->Packet(buf.read_peek(), buf.size());
|
||||
|
||||
Reference in New Issue
Block a user