Code cleanup & optimization on guild part of char-server
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8059 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
abcf47cd67
commit
8e191af335
@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/08/02
|
2006/08/02
|
||||||
|
* Code cleanup & optimization on guild part of char-server [Toms]
|
||||||
* Fixed script code data not being free'd if a player quits in the middle
|
* Fixed script code data not being free'd if a player quits in the middle
|
||||||
of a script. [Skotlex]
|
of a script. [Skotlex]
|
||||||
* Modified run_script so that when there are leaks, it will report the
|
* Modified run_script so that when there are leaks, it will report the
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -66,7 +66,7 @@
|
|||||||
#define MAX_PARTY 12
|
#define MAX_PARTY 12
|
||||||
#define MAX_GUILD 16+10*6 // increased max guild members +6 per 1 extension levels [Lupus]
|
#define MAX_GUILD 16+10*6 // increased max guild members +6 per 1 extension levels [Lupus]
|
||||||
#define MAX_GUILDPOSITION 20 // increased max guild positions to accomodate for all members [Valaris] (removed) [PoW]
|
#define MAX_GUILDPOSITION 20 // increased max guild positions to accomodate for all members [Valaris] (removed) [PoW]
|
||||||
#define MAX_GUILDEXPLUSION 32
|
#define MAX_GUILDEXPULSION 32
|
||||||
#define MAX_GUILDALLIANCE 16
|
#define MAX_GUILDALLIANCE 16
|
||||||
#define MAX_GUILDSKILL 15 // increased max guild skills because of new skills [Sara-chan]
|
#define MAX_GUILDSKILL 15 // increased max guild skills because of new skills [Sara-chan]
|
||||||
#define MAX_GUILDCASTLE 24 // increased to include novice castles [Valaris]
|
#define MAX_GUILDCASTLE 24 // increased to include novice castles [Valaris]
|
||||||
@ -297,12 +297,14 @@ struct guild_member {
|
|||||||
int rsv1,rsv2;
|
int rsv1,rsv2;
|
||||||
char name[NAME_LENGTH];
|
char name[NAME_LENGTH];
|
||||||
struct map_session_data *sd;
|
struct map_session_data *sd;
|
||||||
|
unsigned char modified;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct guild_position {
|
struct guild_position {
|
||||||
char name[NAME_LENGTH];
|
char name[NAME_LENGTH];
|
||||||
int mode;
|
int mode;
|
||||||
int exp_mode;
|
int exp_mode;
|
||||||
|
unsigned char modified;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct guild_alliance {
|
struct guild_alliance {
|
||||||
@ -311,7 +313,7 @@ struct guild_alliance {
|
|||||||
char name[NAME_LENGTH];
|
char name[NAME_LENGTH];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct guild_explusion {
|
struct guild_expulsion {
|
||||||
char name[NAME_LENGTH];
|
char name[NAME_LENGTH];
|
||||||
char mes[40];
|
char mes[40];
|
||||||
char acc[40];
|
char acc[40];
|
||||||
@ -339,10 +341,10 @@ struct guild {
|
|||||||
int emblem_len,emblem_id;
|
int emblem_len,emblem_id;
|
||||||
char emblem_data[2048];
|
char emblem_data[2048];
|
||||||
struct guild_alliance alliance[MAX_GUILDALLIANCE];
|
struct guild_alliance alliance[MAX_GUILDALLIANCE];
|
||||||
struct guild_explusion explusion[MAX_GUILDEXPLUSION];
|
struct guild_expulsion expulsion[MAX_GUILDEXPULSION];
|
||||||
struct guild_skill skill[MAX_GUILDSKILL];
|
struct guild_skill skill[MAX_GUILDSKILL];
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
unsigned char save_flag;
|
unsigned short save_flag;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7164,7 +7164,7 @@ int clif_guild_leave(struct map_session_data *sd,const char *name,const char *me
|
|||||||
* ギルドメンバ追放通知
|
* ギルドメンバ追放通知
|
||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int clif_guild_explusion(struct map_session_data *sd,const char *name,const char *mes,
|
int clif_guild_expulsion(struct map_session_data *sd,const char *name,const char *mes,
|
||||||
int account_id)
|
int account_id)
|
||||||
{
|
{
|
||||||
unsigned char buf[128];
|
unsigned char buf[128];
|
||||||
@ -7182,7 +7182,7 @@ int clif_guild_explusion(struct map_session_data *sd,const char *name,const char
|
|||||||
* ギルド追放メンバリスト
|
* ギルド追放メンバリスト
|
||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
int clif_guild_explusionlist(struct map_session_data *sd)
|
int clif_guild_expulsionlist(struct map_session_data *sd)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
int i,c;
|
int i,c;
|
||||||
@ -7194,10 +7194,10 @@ int clif_guild_explusionlist(struct map_session_data *sd)
|
|||||||
g=guild_search(sd->status.guild_id);
|
g=guild_search(sd->status.guild_id);
|
||||||
if(g==NULL)
|
if(g==NULL)
|
||||||
return 0;
|
return 0;
|
||||||
WFIFOHEAD(fd,MAX_GUILDEXPLUSION * 88 + 4);
|
WFIFOHEAD(fd,MAX_GUILDEXPULSION * 88 + 4);
|
||||||
WFIFOW(fd,0)=0x163;
|
WFIFOW(fd,0)=0x163;
|
||||||
for(i=c=0;i<MAX_GUILDEXPLUSION;i++){
|
for(i=c=0;i<MAX_GUILDEXPULSION;i++){
|
||||||
struct guild_explusion *e=&g->explusion[i];
|
struct guild_expulsion *e=&g->expulsion[i];
|
||||||
if(e->account_id>0){
|
if(e->account_id>0){
|
||||||
memcpy(WFIFOP(fd,c*88+ 4),e->name,NAME_LENGTH);
|
memcpy(WFIFOP(fd,c*88+ 4),e->name,NAME_LENGTH);
|
||||||
memcpy(WFIFOP(fd,c*88+28),e->acc,24);
|
memcpy(WFIFOP(fd,c*88+28),e->acc,24);
|
||||||
@ -10476,7 +10476,7 @@ void clif_parse_GuildRequestInfo(int fd, struct map_session_data *sd) {
|
|||||||
clif_guild_skillinfo(sd);
|
clif_guild_skillinfo(sd);
|
||||||
break;
|
break;
|
||||||
case 4: // 追放リスト
|
case 4: // 追放リスト
|
||||||
clif_guild_explusionlist(sd);
|
clif_guild_expulsionlist(sd);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (battle_config.error_log)
|
if (battle_config.error_log)
|
||||||
@ -10584,9 +10584,9 @@ void clif_parse_GuildLeave(int fd,struct map_session_data *sd) {
|
|||||||
* ギルド追放
|
* ギルド追放
|
||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
void clif_parse_GuildExplusion(int fd,struct map_session_data *sd) {
|
void clif_parse_GuildExpulsion(int fd,struct map_session_data *sd) {
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
guild_explusion(sd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),(char*)RFIFOP(fd,14));
|
guild_expulsion(sd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),(char*)RFIFOP(fd,14));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
@ -11913,7 +11913,7 @@ static int packetdb_readdb(void)
|
|||||||
{clif_parse_GuildInvite,"guildinvite"},
|
{clif_parse_GuildInvite,"guildinvite"},
|
||||||
{clif_parse_GuildReplyInvite,"guildreplyinvite"},
|
{clif_parse_GuildReplyInvite,"guildreplyinvite"},
|
||||||
{clif_parse_GuildLeave,"guildleave"},
|
{clif_parse_GuildLeave,"guildleave"},
|
||||||
{clif_parse_GuildExplusion,"guildexplusion"},
|
{clif_parse_GuildExpulsion,"guildexplusion"},
|
||||||
{clif_parse_GuildMessage,"guildmessage"},
|
{clif_parse_GuildMessage,"guildmessage"},
|
||||||
{clif_parse_GuildRequestAlliance,"guildrequestalliance"},
|
{clif_parse_GuildRequestAlliance,"guildrequestalliance"},
|
||||||
{clif_parse_GuildReplyAlliance,"guildreplyalliance"},
|
{clif_parse_GuildReplyAlliance,"guildreplyalliance"},
|
||||||
|
@ -278,8 +278,7 @@ int clif_guild_memberlogin_notice(struct guild *g,int idx,int flag);
|
|||||||
int clif_guild_invite(struct map_session_data *sd,struct guild *g);
|
int clif_guild_invite(struct map_session_data *sd,struct guild *g);
|
||||||
int clif_guild_inviteack(struct map_session_data *sd,int flag);
|
int clif_guild_inviteack(struct map_session_data *sd,int flag);
|
||||||
int clif_guild_leave(struct map_session_data *sd,const char *name,const char *mes);
|
int clif_guild_leave(struct map_session_data *sd,const char *name,const char *mes);
|
||||||
int clif_guild_explusion(struct map_session_data *sd,const char *name,const char *mes,
|
int clif_guild_expulsion(struct map_session_data *sd,const char *name,const char *mes,int account_id);
|
||||||
int account_id);
|
|
||||||
int clif_guild_positionchanged(struct guild *g,int idx);
|
int clif_guild_positionchanged(struct guild *g,int idx);
|
||||||
int clif_guild_memberpositionchanged(struct guild *g,int idx);
|
int clif_guild_memberpositionchanged(struct guild *g,int idx);
|
||||||
int clif_guild_emblem(struct map_session_data *sd,struct guild *g);
|
int clif_guild_emblem(struct map_session_data *sd,struct guild *g);
|
||||||
|
@ -791,7 +791,7 @@ int guild_leave(struct map_session_data *sd,int guild_id,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// ギルド追放要求
|
// ギルド追放要求
|
||||||
int guild_explusion(struct map_session_data *sd,int guild_id,
|
int guild_expulsion(struct map_session_data *sd,int guild_id,
|
||||||
int account_id,int char_id,const char *mes)
|
int account_id,int char_id,const char *mes)
|
||||||
{
|
{
|
||||||
struct guild *g;
|
struct guild *g;
|
||||||
@ -844,7 +844,7 @@ int guild_member_leaved(int guild_id,int account_id,int char_id,int flag,
|
|||||||
if(!flag)
|
if(!flag)
|
||||||
clif_guild_leave(online_member_sd, name, mes);
|
clif_guild_leave(online_member_sd, name, mes);
|
||||||
else
|
else
|
||||||
clif_guild_explusion(online_member_sd, name, mes, account_id);
|
clif_guild_expulsion(online_member_sd, name, mes, account_id);
|
||||||
|
|
||||||
memset(&g->member[i],0,sizeof(struct guild_member));
|
memset(&g->member[i],0,sizeof(struct guild_member));
|
||||||
clif_guild_memberlist(online_member_sd);
|
clif_guild_memberlist(online_member_sd);
|
||||||
|
@ -46,7 +46,7 @@ int guild_leave(struct map_session_data *sd,int guild_id,
|
|||||||
int account_id,int char_id,const char *mes);
|
int account_id,int char_id,const char *mes);
|
||||||
int guild_member_leaved(int guild_id,int account_id,int char_id,int flag,
|
int guild_member_leaved(int guild_id,int account_id,int char_id,int flag,
|
||||||
const char *name,const char *mes);
|
const char *name,const char *mes);
|
||||||
int guild_explusion(struct map_session_data *sd,int guild_id,
|
int guild_expulsion(struct map_session_data *sd,int guild_id,
|
||||||
int account_id,int char_id,const char *mes);
|
int account_id,int char_id,const char *mes);
|
||||||
int guild_skillup(struct map_session_data *sd,int skill_num,int flag);
|
int guild_skillup(struct map_session_data *sd,int skill_num,int flag);
|
||||||
void guild_block_skill(struct map_session_data *sd, int time);
|
void guild_block_skill(struct map_session_data *sd, int time);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user