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:
toms 2006-08-02 16:37:02 +00:00
parent abcf47cd67
commit 8e191af335
7 changed files with 520 additions and 347 deletions

View File

@ -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.
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
of a script. [Skotlex]
* Modified run_script so that when there are leaks, it will report the

File diff suppressed because it is too large Load Diff

View File

@ -66,7 +66,7 @@
#define MAX_PARTY 12
#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_GUILDEXPLUSION 32
#define MAX_GUILDEXPULSION 32
#define MAX_GUILDALLIANCE 16
#define MAX_GUILDSKILL 15 // increased max guild skills because of new skills [Sara-chan]
#define MAX_GUILDCASTLE 24 // increased to include novice castles [Valaris]
@ -297,12 +297,14 @@ struct guild_member {
int rsv1,rsv2;
char name[NAME_LENGTH];
struct map_session_data *sd;
unsigned char modified;
};
struct guild_position {
char name[NAME_LENGTH];
int mode;
int exp_mode;
unsigned char modified;
};
struct guild_alliance {
@ -311,7 +313,7 @@ struct guild_alliance {
char name[NAME_LENGTH];
};
struct guild_explusion {
struct guild_expulsion {
char name[NAME_LENGTH];
char mes[40];
char acc[40];
@ -339,10 +341,10 @@ struct guild {
int emblem_len,emblem_id;
char emblem_data[2048];
struct guild_alliance alliance[MAX_GUILDALLIANCE];
struct guild_explusion explusion[MAX_GUILDEXPLUSION];
struct guild_expulsion expulsion[MAX_GUILDEXPULSION];
struct guild_skill skill[MAX_GUILDSKILL];
#ifndef TXT_ONLY
unsigned char save_flag;
unsigned short save_flag;
#endif
};

View File

@ -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)
{
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 i,c;
@ -7194,10 +7194,10 @@ int clif_guild_explusionlist(struct map_session_data *sd)
g=guild_search(sd->status.guild_id);
if(g==NULL)
return 0;
WFIFOHEAD(fd,MAX_GUILDEXPLUSION * 88 + 4);
WFIFOHEAD(fd,MAX_GUILDEXPULSION * 88 + 4);
WFIFOW(fd,0)=0x163;
for(i=c=0;i<MAX_GUILDEXPLUSION;i++){
struct guild_explusion *e=&g->explusion[i];
for(i=c=0;i<MAX_GUILDEXPULSION;i++){
struct guild_expulsion *e=&g->expulsion[i];
if(e->account_id>0){
memcpy(WFIFOP(fd,c*88+ 4),e->name,NAME_LENGTH);
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);
break;
case 4: // 追放リスト
clif_guild_explusionlist(sd);
clif_guild_expulsionlist(sd);
break;
default:
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);
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_GuildReplyInvite,"guildreplyinvite"},
{clif_parse_GuildLeave,"guildleave"},
{clif_parse_GuildExplusion,"guildexplusion"},
{clif_parse_GuildExpulsion,"guildexplusion"},
{clif_parse_GuildMessage,"guildmessage"},
{clif_parse_GuildRequestAlliance,"guildrequestalliance"},
{clif_parse_GuildReplyAlliance,"guildreplyalliance"},

View File

@ -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_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_explusion(struct map_session_data *sd,const char *name,const char *mes,
int account_id);
int clif_guild_expulsion(struct map_session_data *sd,const char *name,const char *mes,int account_id);
int clif_guild_positionchanged(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);

View File

@ -791,7 +791,7 @@ int guild_leave(struct map_session_data *sd,int guild_id,
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)
{
struct guild *g;
@ -844,7 +844,7 @@ int guild_member_leaved(int guild_id,int account_id,int char_id,int flag,
if(!flag)
clif_guild_leave(online_member_sd, name, mes);
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));
clif_guild_memberlist(online_member_sd);

View File

@ -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 guild_member_leaved(int guild_id,int account_id,int char_id,int flag,
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 guild_skillup(struct map_session_data *sd,int skill_num,int flag);
void guild_block_skill(struct map_session_data *sd, int time);