Convert guild_db to unordered_map (#7612)
* Refactor guild db to STL container * Split up struct guild and MapGuild/CharGuild
This commit is contained in:
@@ -1666,9 +1666,9 @@ int intif_parse_GuildInfo(int fd)
|
||||
guild_recv_noinfo(RFIFOL(fd,4));
|
||||
return 0;
|
||||
}
|
||||
if( RFIFOW(fd,2)!=sizeof(struct guild)+4 )
|
||||
ShowError("intif: guild info : data size error Gid: %d recv size: %d Expected size: %" PRIuPTR "\n",RFIFOL(fd,4),RFIFOW(fd,2),sizeof(struct guild)+4);
|
||||
guild_recv_info((struct guild *)RFIFOP(fd,4));
|
||||
if( RFIFOW(fd,2)!=sizeof(struct mmo_guild)+4 )
|
||||
ShowError("intif: guild info : data size error Gid: %d recv size: %d Expected size: %" PRIuPTR "\n",RFIFOL(fd,4),RFIFOW(fd,2),sizeof(struct mmo_guild)+4);
|
||||
guild_recv_info(*(struct mmo_guild *)RFIFOP(fd,4));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1731,14 +1731,14 @@ int intif_parse_GuildBasicInfoChanged(int fd)
|
||||
int type = RFIFOW(fd,8);
|
||||
//void* data = RFIFOP(fd,10);
|
||||
|
||||
struct guild* g = guild_search(guild_id);
|
||||
auto g = guild_search(guild_id);
|
||||
if( g == NULL )
|
||||
return 0;
|
||||
|
||||
switch(type) {
|
||||
case GBI_EXP: g->exp = RFIFOQ(fd,10); break;
|
||||
case GBI_GUILDLV: g->guild_lv = RFIFOW(fd,10); break;
|
||||
case GBI_SKILLPOINT: g->skill_point = RFIFOL(fd,10); break;
|
||||
case GBI_EXP: g->guild.exp = RFIFOQ(fd,10); break;
|
||||
case GBI_GUILDLV: g->guild.guild_lv = RFIFOW(fd,10); break;
|
||||
case GBI_SKILLPOINT: g->guild.skill_point = RFIFOL(fd,10); break;
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -1759,25 +1759,24 @@ int intif_parse_GuildMemberInfoChanged(int fd)
|
||||
int type = RFIFOW(fd,16);
|
||||
//void* data = RFIFOP(fd,18);
|
||||
|
||||
struct guild* g;
|
||||
int idx;
|
||||
|
||||
g = guild_search(guild_id);
|
||||
if( g == NULL )
|
||||
auto g = guild_search(guild_id);
|
||||
if( g == nullptr )
|
||||
return 0;
|
||||
|
||||
idx = guild_getindex(g,account_id,char_id);
|
||||
idx = guild_getindex(g->guild,account_id,char_id);
|
||||
if( idx == -1 )
|
||||
return 0;
|
||||
|
||||
switch( type ) {
|
||||
case GMI_POSITION: g->member[idx].position = RFIFOW(fd,18); guild_memberposition_changed(g,idx,RFIFOW(fd,18)); break;
|
||||
case GMI_EXP: g->member[idx].exp = RFIFOQ(fd,18); break;
|
||||
case GMI_HAIR: g->member[idx].hair = RFIFOW(fd,18); break;
|
||||
case GMI_HAIR_COLOR: g->member[idx].hair_color = RFIFOW(fd,18); break;
|
||||
case GMI_GENDER: g->member[idx].gender = RFIFOW(fd,18); break;
|
||||
case GMI_CLASS: g->member[idx].class_ = RFIFOW(fd,18); break;
|
||||
case GMI_LEVEL: g->member[idx].lv = RFIFOW(fd,18); break;
|
||||
case GMI_POSITION: g->guild.member[idx].position = RFIFOW(fd,18); guild_memberposition_changed(g->guild,idx,RFIFOW(fd,18)); break;
|
||||
case GMI_EXP: g->guild.member[idx].exp = RFIFOQ(fd,18); break;
|
||||
case GMI_HAIR: g->guild.member[idx].hair = RFIFOW(fd,18); break;
|
||||
case GMI_HAIR_COLOR: g->guild.member[idx].hair_color = RFIFOW(fd,18); break;
|
||||
case GMI_GENDER: g->guild.member[idx].gender = RFIFOW(fd,18); break;
|
||||
case GMI_CLASS: g->guild.member[idx].class_ = RFIFOW(fd,18); break;
|
||||
case GMI_LEVEL: g->guild.member[idx].lv = RFIFOW(fd,18); break;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user