summaryrefslogtreecommitdiff
path: root/src/char
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2012-12-13 16:25:50 -0800
committerBen Longbons <b.r.longbons@gmail.com>2012-12-14 16:18:22 -0800
commit069f39e8a1ebee3e4a4ce8302d0099842876782b (patch)
tree57d8de5f57d65878f8ef560e2884b9dee08e9323 /src/char
parentf9563edf69f083287630f4b17db70d97524196d6 (diff)
downloadtmwa-069f39e8a1ebee3e4a4ce8302d0099842876782b.tar.gz
tmwa-069f39e8a1ebee3e4a4ce8302d0099842876782b.tar.bz2
tmwa-069f39e8a1ebee3e4a4ce8302d0099842876782b.tar.xz
tmwa-069f39e8a1ebee3e4a4ce8302d0099842876782b.zip
Some formatting fixes before I go insane
Also delete the French translation from ladmin.
Diffstat (limited to 'src/char')
-rw-r--r--src/char/char.cpp2265
-rw-r--r--src/char/char.hpp18
-rw-r--r--src/char/int_party.cpp424
-rw-r--r--src/char/int_party.hpp8
-rw-r--r--src/char/int_storage.cpp149
-rw-r--r--src/char/int_storage.hpp12
-rw-r--r--src/char/inter.cpp372
-rw-r--r--src/char/inter.hpp10
8 files changed, 1600 insertions, 1658 deletions
diff --git a/src/char/char.cpp b/src/char/char.cpp
index 90261a8..93a9560 100644
--- a/src/char/char.cpp
+++ b/src/char/char.cpp
@@ -35,25 +35,25 @@
#endif
struct mmo_map_server server[MAX_MAP_SERVERS];
-int server_fd[MAX_MAP_SERVERS];
-int server_freezeflag[MAX_MAP_SERVERS]; // Map-server anti-freeze system. Counter. 5 ok, 4...0 freezed
-int anti_freeze_enable = 0;
-int ANTI_FREEZE_INTERVAL = 6;
+int server_fd[MAX_MAP_SERVERS];
+int server_freezeflag[MAX_MAP_SERVERS]; // Map-server anti-freeze system. Counter. 5 ok, 4...0 freezed
+int anti_freeze_enable = 0;
+int ANTI_FREEZE_INTERVAL = 6;
-int login_fd, char_fd;
+int login_fd, char_fd;
char userid[24];
char passwd[24];
char server_name[20];
char wisp_server_name[24] = "Server";
char login_ip_str[16];
-int login_ip;
-int login_port = 6900;
+int login_ip;
+int login_port = 6900;
char char_ip_str[16];
-int char_ip;
-int char_port = 6121;
-int char_maintenance;
-int char_new;
-int email_creation = 0; // disabled by default
+int char_ip;
+int char_port = 6121;
+int char_maintenance;
+int char_new;
+int email_creation = 0; // disabled by default
char char_txt[1024];
char backup_txt[1024]; //By zanetheinsane
char backup_txt_flag = 0; // The backup_txt file was created because char deletion bug existed. Now it's finish and that take a lot of time to create a second file when there are a lot of characters. => option By [Yor]
@@ -61,17 +61,17 @@ char unknown_char_name[1024] = "Unknown";
char char_log_filename[1024] = "log/char.log";
//Added for lan support
char lan_map_ip[128];
-int subneti[4];
-int subnetmaski[4];
-int name_ignoring_case = 0; // Allow or not identical name for characters but with a different case by [Yor]
-int char_name_option = 0; // Option to know which letters/symbols are authorised in the name of a character (0: all, 1: only those in char_name_letters, 2: all EXCEPT those in char_name_letters) by [Yor]
+int subneti[4];
+int subnetmaski[4];
+int name_ignoring_case = 0; // Allow or not identical name for characters but with a different case by [Yor]
+int char_name_option = 0; // Option to know which letters/symbols are authorised in the name of a character (0: all, 1: only those in char_name_letters, 2: all EXCEPT those in char_name_letters) by [Yor]
char char_name_letters[1024] = ""; // list of letters/symbols authorised (or not) in a character name. by [Yor]
struct char_session_data
{
- int account_id, login_id1, login_id2, sex;
+ int account_id, login_id1, login_id2, sex;
unsigned short packet_tmw_version;
- int found_char[9];
+ int found_char[9];
char email[40]; // e-mail (default: a@a.com) by [Yor]
time_t connect_until_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited)
};
@@ -79,37 +79,37 @@ struct char_session_data
#define AUTH_FIFO_SIZE 256
struct
{
- int account_id, char_id, login_id1, login_id2, ip, char_pos, delflag,
+ int account_id, char_id, login_id1, login_id2, ip, char_pos, delflag,
sex;
unsigned short packet_tmw_version;
time_t connect_until_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited)
} auth_fifo[AUTH_FIFO_SIZE];
-int auth_fifo_pos = 0;
+int auth_fifo_pos = 0;
-int check_ip_flag = 1; // It's to check IP of a player between char-server and other servers (part of anti-hacking system)
+int check_ip_flag = 1; // It's to check IP of a player between char-server and other servers (part of anti-hacking system)
-int char_id_count = 150000;
+int char_id_count = 150000;
struct mmo_charstatus *char_dat;
-int char_num, char_max;
-int max_connect_user = 0;
-int autosave_interval = DEFAULT_AUTOSAVE_INTERVAL;
-int start_zeny = 500;
-int start_weapon = 1201;
-int start_armor = 1202;
+int char_num, char_max;
+int max_connect_user = 0;
+int autosave_interval = DEFAULT_AUTOSAVE_INTERVAL;
+int start_zeny = 500;
+int start_weapon = 1201;
+int start_armor = 1202;
// Initial position (it's possible to set it in conf file)
struct point start_point = { "new_1-1.gat", 53, 111 };
struct gm_account *gm_account = NULL;
-int GM_num = 0;
+int GM_num = 0;
// online players by [Yor]
char online_txt_filename[1024] = "online.txt";
char online_html_filename[1024] = "online.html";
-int online_sorting_option = 0; // sorting option to display online players in online files
-int online_display_option = 1; // display options: to know which columns must be displayed
-int online_refresh_html = 20; // refresh time (in sec) of the html file in the explorer
-int online_gm_display_min_level = 20; // minimum GM level to display 'GM' when we want to display it
+int online_sorting_option = 0; // sorting option to display online players in online files
+int online_display_option = 1; // display options: to know which columns must be displayed
+int online_refresh_html = 20; // refresh time (in sec) of the html file in the explorer
+int online_gm_display_min_level = 20; // minimum GM level to display 'GM' when we want to display it
int *online_chars; // same size of char_dat, and id value of current server (or -1)
time_t update_online; // to update online files when we receiving information from a server (not less than 8 seconds)
@@ -119,31 +119,31 @@ pid_t pid = 0; // For forked DB writes
//------------------------------
// Writing function of logs file
//------------------------------
-int char_log (const char *fmt, ...)
+int char_log(const char *fmt, ...)
{
FILE *logfp;
va_list ap;
struct timeval tv;
char tmpstr[2048];
- va_start (ap, fmt);
+ va_start(ap, fmt);
- logfp = fopen_ (char_log_filename, "a");
+ logfp = fopen_(char_log_filename, "a");
if (logfp)
{
if (fmt[0] == '\0') // jump a line if no message
- fprintf (logfp, "\n");
+ fprintf(logfp, "\n");
else
{
- gettimeofday (&tv, NULL);
- strftime (tmpstr, 24, "%d-%m-%Y %H:%M:%S", gmtime (&(tv.tv_sec)));
- sprintf (tmpstr + 19, ".%03d: %s", (int) tv.tv_usec / 1000, fmt);
- vfprintf (logfp, tmpstr, ap);
+ gettimeofday(&tv, NULL);
+ strftime(tmpstr, 24, "%d-%m-%Y %H:%M:%S", gmtime(&(tv.tv_sec)));
+ sprintf(tmpstr + 19, ".%03d: %s", (int) tv.tv_usec / 1000, fmt);
+ vfprintf(logfp, tmpstr, ap);
}
- fclose_ (logfp);
+ fclose_(logfp);
}
- va_end (ap);
+ va_end(ap);
return 0;
}
@@ -152,9 +152,9 @@ int char_log (const char *fmt, ...)
// and returns its level (or 0 if it isn't a GM account or if not found)
//----------------------------------------------------------------------
static
-int isGM (int account_id)
+int isGM(int account_id)
{
- int i;
+ int i;
for (i = 0; i < GM_num; i++)
if (gm_account[i].account_id == account_id)
@@ -170,19 +170,19 @@ int isGM (int account_id)
// and returns index if only 1 character is found
// and similar to the searched name.
//----------------------------------------------
-int search_character_index (const char *character_name)
+int search_character_index(const char *character_name)
{
- int i, quantity, index;
+ int i, quantity, index;
quantity = 0;
index = -1;
for (i = 0; i < char_num; i++)
{
// Without case sensitive check (increase the number of similar character names found)
- if (strcasecmp (char_dat[i].name, character_name) == 0)
+ if (strcasecmp(char_dat[i].name, character_name) == 0)
{
// Strict comparison (if found, we finish the function immediatly with correct value)
- if (strcmp (char_dat[i].name, character_name) == 0)
+ if (strcmp(char_dat[i].name, character_name) == 0)
return i;
quantity++;
index = i;
@@ -200,7 +200,7 @@ int search_character_index (const char *character_name)
//-------------------------------------
// Return character name with the index
//-------------------------------------
-char *search_character_name (int index)
+char *search_character_name(int index)
{
if (index >= 0 && index < char_num)
@@ -213,20 +213,20 @@ char *search_character_name (int index)
// Function to create the character line (for save)
//-------------------------------------------------
static
-int mmo_char_tostr (char *str, struct mmo_charstatus *p)
+int mmo_char_tostr(char *str, struct mmo_charstatus *p)
{
- int i;
+ int i;
char *str_p = str;
// on multi-map server, sometimes it's posssible that last_point become void. (reason???) We check that to not lost character at restart.
if (p->last_point.map[0] == '\0')
{
- memcpy (p->last_point.map, "prontera.gat", 16);
+ memcpy(p->last_point.map, "prontera.gat", 16);
p->last_point.x = 273;
p->last_point.y = 354;
}
- str_p += sprintf (str_p, "%d\t%d,%d\t%s\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%s,%d,%d\t%s,%d,%d,%d\t", p->char_id, p->account_id, p->char_num, p->name, //
+ str_p += sprintf(str_p, "%d\t%d,%d\t%s\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%s,%d,%d\t%s,%d,%d,%d\t", p->char_id, p->account_id, p->char_num, p->name, //
p->pc_class, p->base_level, p->job_level, p->base_exp, p->job_exp, p->zeny, p->hp, p->max_hp, p->sp, p->max_sp, p->str, p->agi, p->vit, p->int_, p->dex, p->luk, p->status_point, p->skill_point, p->option, p->karma, p->manner, //
p->party_id, 0/*guild_id*/, 0, p->hair, p->hair_color, p->clothes_color, p->weapon, p->shield, p->head_top, p->head_mid, p->head_bottom, p->last_point.map, p->last_point.x, p->last_point.y, //
p->save_point.map, p->save_point.x, p->save_point.y,
@@ -235,7 +235,7 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
if (p->memo_point[i].map[0])
{
str_p +=
- sprintf (str_p, "%s,%d,%d", p->memo_point[i].map,
+ sprintf(str_p, "%s,%d,%d", p->memo_point[i].map,
p->memo_point[i].x, p->memo_point[i].y);
}
*(str_p++) = '\t';
@@ -243,7 +243,7 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
for (i = 0; i < MAX_INVENTORY; i++)
if (p->inventory[i].nameid)
{
- str_p += sprintf (str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
+ str_p += sprintf(str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
p->inventory[i].id, p->inventory[i].nameid,
p->inventory[i].amount, p->inventory[i].equip,
p->inventory[i].identify,
@@ -260,7 +260,7 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
for (i = 0; i < MAX_CART; i++)
if (p->cart[i].nameid)
{
- str_p += sprintf (str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
+ str_p += sprintf(str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
p->cart[i].id, p->cart[i].nameid,
p->cart[i].amount, p->cart[i].equip,
p->cart[i].identify, p->cart[i].refine,
@@ -274,7 +274,7 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
if (p->skill[i].id)
{
str_p +=
- sprintf (str_p, "%d,%d ", p->skill[i].id,
+ sprintf(str_p, "%d,%d ", p->skill[i].id,
p->skill[i].lv | (p->skill[i].flags << 16));
}
*(str_p++) = '\t';
@@ -282,7 +282,7 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
for (i = 0; i < p->global_reg_num; i++)
if (p->global_reg[i].str[0])
str_p +=
- sprintf (str_p, "%s,%d ", p->global_reg[i].str,
+ sprintf(str_p, "%s,%d ", p->global_reg[i].str,
p->global_reg[i].value);
*(str_p++) = '\t';
@@ -294,16 +294,16 @@ int mmo_char_tostr (char *str, struct mmo_charstatus *p)
// Function to set the character from the line (at read of characters file)
//-------------------------------------------------------------------------
static
-int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
+int mmo_char_fromstr(char *str, struct mmo_charstatus *p)
{
- int tmp_int[256];
- int set, next, len, i;
+ int tmp_int[256];
+ int set, next, len, i;
// initilialise character
- memset (p, '\0', sizeof (struct mmo_charstatus));
+ memset(p, '\0', sizeof(struct mmo_charstatus));
// If it's not char structure of version 1008 and after
- if ((set = sscanf (str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
+ if ((set = sscanf(str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
&tmp_int[3], &tmp_int[4], &tmp_int[5], &tmp_int[6], &tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &tmp_int[11], &tmp_int[12], &tmp_int[13], &tmp_int[14], &tmp_int[15], &tmp_int[16], &tmp_int[17], &tmp_int[18], &tmp_int[19], &tmp_int[20], &tmp_int[21], &tmp_int[22], &tmp_int[23], //
&tmp_int[24], &tmp_int[25], &tmp_int[26], &tmp_int[27], &tmp_int[28], &tmp_int[29], &tmp_int[30], &tmp_int[31], &tmp_int[32], &tmp_int[33], &tmp_int[34], p->last_point.map, &tmp_int[35], &tmp_int[36], //
p->save_point.map, &tmp_int[37], &tmp_int[38],
@@ -311,7 +311,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
{
tmp_int[39] = 0; // partner id
// If not char structure from version 384 to 1007
- if ((set = sscanf (str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
+ if ((set = sscanf(str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
&tmp_int[3], &tmp_int[4], &tmp_int[5], &tmp_int[6], &tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &tmp_int[11], &tmp_int[12], &tmp_int[13], &tmp_int[14], &tmp_int[15], &tmp_int[16], &tmp_int[17], &tmp_int[18], &tmp_int[19], &tmp_int[20], &tmp_int[21], &tmp_int[22], &tmp_int[23], //
&tmp_int[24], &tmp_int[25], &tmp_int[26], &tmp_int[27], &tmp_int[28], &tmp_int[29], &tmp_int[30], &tmp_int[31], &tmp_int[32], &tmp_int[33], &tmp_int[34], p->last_point.map, &tmp_int[35], &tmp_int[36], //
p->save_point.map, &tmp_int[37], &tmp_int[38],
@@ -319,7 +319,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
{
// It's char structure of a version before 384
tmp_int[26] = 0; // pet id
- set = sscanf (str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
+ set = sscanf(str, "%d\t%d,%d\t%[^\t]\t%d,%d,%d\t%d,%d,%d\t%d,%d,%d,%d\t%d,%d,%d,%d,%d,%d\t%d,%d" "\t%d,%d,%d\t%d,%d\t%d,%d,%d\t%d,%d,%d,%d,%d" "\t%[^,],%d,%d\t%[^,],%d,%d%n", &tmp_int[0], &tmp_int[1], &tmp_int[2], p->name, //
&tmp_int[3], &tmp_int[4], &tmp_int[5], &tmp_int[6], &tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10], &tmp_int[11], &tmp_int[12], &tmp_int[13], &tmp_int[14], &tmp_int[15], &tmp_int[16], &tmp_int[17], &tmp_int[18], &tmp_int[19], &tmp_int[20], &tmp_int[21], &tmp_int[22], &tmp_int[23], //
&tmp_int[24], &tmp_int[25], //
&tmp_int[27], &tmp_int[28], &tmp_int[29], &tmp_int[30], &tmp_int[31], &tmp_int[32], &tmp_int[33], &tmp_int[34], p->last_point.map, &tmp_int[35], &tmp_int[36], //
@@ -389,37 +389,29 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
{
if (char_dat[i].char_id == p->char_id)
{
- printf
- ("\033[1;31mmmo_auth_init: ******Error: a character has an identical id to another.\n");
- printf
- (" character id #%d -> new character not readed.\n",
+ printf("\033[1;31mmmo_auth_init: ******Error: a character has an identical id to another.\n");
+ printf(" character id #%d -> new character not readed.\n",
p->char_id);
- printf (" Character saved in log file.\033[0m\n");
+ printf(" Character saved in log file.\033[0m\n");
return -1;
}
- else if (strcmp (char_dat[i].name, p->name) == 0)
+ else if (strcmp(char_dat[i].name, p->name) == 0)
{
- printf
- ("\033[1;31mmmo_auth_init: ******Error: character name already exists.\n");
- printf
- (" character name '%s' -> new character not readed.\n",
+ printf("\033[1;31mmmo_auth_init: ******Error: character name already exists.\n");
+ printf(" character name '%s' -> new character not readed.\n",
p->name);
- printf (" Character saved in log file.\033[0m\n");
+ printf(" Character saved in log file.\033[0m\n");
return -2;
}
}
- if (strcasecmp (wisp_server_name, p->name) == 0)
+ if (strcasecmp(wisp_server_name, p->name) == 0)
{
- printf
- ("mmo_auth_init: ******WARNING: character name has wisp server name.\n");
- printf
- (" Character name '%s' = wisp server name '%s'.\n",
+ printf("mmo_auth_init: ******WARNING: character name has wisp server name.\n");
+ printf(" Character name '%s' = wisp server name '%s'.\n",
p->name, wisp_server_name);
- printf
- (" Character readed. Suggestion: change the wisp server name.\n");
- char_log
- ("mmo_auth_init: ******WARNING: character name has wisp server name: Character name '%s' = wisp server name '%s'.\n",
+ printf(" Character readed. Suggestion: change the wisp server name.\n");
+ char_log("mmo_auth_init: ******WARNING: character name has wisp server name: Character name '%s' = wisp server name '%s'.\n",
p->name, wisp_server_name);
}
@@ -430,8 +422,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
for (i = 0; str[next] && str[next] != '\t'; i++)
{
- if (sscanf
- (str + next, "%[^,],%d,%d%n", p->memo_point[i].map, &tmp_int[0],
+ if (sscanf(str + next, "%[^,],%d,%d%n", p->memo_point[i].map, &tmp_int[0],
&tmp_int[1], &len) != 3)
return -3;
p->memo_point[i].x = tmp_int[0];
@@ -445,7 +436,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
for (i = 0; str[next] && str[next] != '\t'; i++)
{
- if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -453,7 +444,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
{
// do nothing, it's ok
}
- else if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ else if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -484,7 +475,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
for (i = 0; str[next] && str[next] != '\t'; i++)
{
- if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -492,7 +483,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
{
// do nothing, it's ok
}
- else if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ else if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -523,7 +514,7 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
for (i = 0; str[next] && str[next] != '\t'; i++)
{
- if (sscanf (str + next, "%d,%d%n", &tmp_int[0], &tmp_int[1], &len) !=
+ if (sscanf(str + next, "%d,%d%n", &tmp_int[0], &tmp_int[1], &len) !=
2)
return -6;
p->skill[tmp_int[0]].id = tmp_int[0];
@@ -540,15 +531,14 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
str[next] && str[next] != '\t' && str[next] != '\n'
&& str[next] != '\r'; i++)
{ // global_reg実装以前のathena.txt互換のため一応'\n'チェック
- if (sscanf
- (str + next, "%[^,],%d%n", p->global_reg[i].str,
+ if (sscanf(str + next, "%[^,],%d%n", p->global_reg[i].str,
&p->global_reg[i].value, &len) != 2)
{
// because some scripts are not correct, the str can be "". So, we must check that.
// If it's, we must not refuse the character, but just this REG value.
// Character line will have something like: nov_2nd_cos,9 ,9 nov_1_2_cos_c,1 (here, ,9 is not good)
if (str[next] == ','
- && sscanf (str + next, ",%d%n", &p->global_reg[i].value,
+ && sscanf(str + next, ",%d%n", &p->global_reg[i].value,
&len) == 1)
i--;
else
@@ -567,42 +557,42 @@ int mmo_char_fromstr (char *str, struct mmo_charstatus *p)
// Function to read characters file
//---------------------------------
static
-int mmo_char_init (void)
+int mmo_char_init(void)
{
char line[65536];
- int ret, line_count;
+ int ret, line_count;
FILE *fp;
char_max = 256;
- CREATE (char_dat, struct mmo_charstatus, 256);
- CREATE (online_chars, int, 256);
+ CREATE(char_dat, struct mmo_charstatus, 256);
+ CREATE(online_chars, int, 256);
for (int i = 0; i < char_max; i++)
online_chars[i] = -1;
char_num = 0;
- fp = fopen_ (char_txt, "r");
+ fp = fopen_(char_txt, "r");
if (fp == NULL)
{
- printf ("Characters file not found: %s.\n", char_txt);
- char_log ("Characters file not found: %s.\n", char_txt);
- char_log ("Id for the next created character: %d.\n",
+ printf("Characters file not found: %s.\n", char_txt);
+ char_log("Characters file not found: %s.\n", char_txt);
+ char_log("Id for the next created character: %d.\n",
char_id_count);
return 0;
}
line_count = 0;
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
- int i, j;
+ int i, j;
line_count++;
if (line[0] == '/' && line[1] == '/')
continue;
- line[sizeof (line) - 1] = '\0';
+ line[sizeof(line) - 1] = '\0';
j = 0;
- if (sscanf (line, "%d\t%%newid%%%n", &i, &j) == 1 && j > 0)
+ if (sscanf(line, "%d\t%%newid%%%n", &i, &j) == 1 && j > 0)
{
if (char_id_count < i)
char_id_count = i;
@@ -612,13 +602,13 @@ int mmo_char_init (void)
if (char_num >= char_max)
{
char_max += 256;
- RECREATE (char_dat, struct mmo_charstatus, char_max);
- RECREATE (online_chars, int, char_max);
+ RECREATE(char_dat, struct mmo_charstatus, char_max);
+ RECREATE(online_chars, int, char_max);
for (i = char_max - 256; i < char_max; i++)
online_chars[i] = -1;
}
- ret = mmo_char_fromstr (line, &char_dat[char_num]);
+ ret = mmo_char_fromstr(line, &char_dat[char_num]);
if (ret > 0)
{ // negative value or zero for errors
if (char_dat[char_num].char_id >= char_id_count)
@@ -627,70 +617,61 @@ int mmo_char_init (void)
}
else
{
- printf
- ("mmo_char_init: in characters file, unable to read the line #%d.\n",
+ printf("mmo_char_init: in characters file, unable to read the line #%d.\n",
line_count);
- printf (" -> Character saved in log file.\n");
+ printf(" -> Character saved in log file.\n");
switch (ret)
{
case -1:
- char_log
- ("Duplicate character id in the next character line (character not readed):\n");
+ char_log("Duplicate character id in the next character line (character not readed):\n");
break;
case -2:
- char_log
- ("Duplicate character name in the next character line (character not readed):\n");
+ char_log("Duplicate character name in the next character line (character not readed):\n");
break;
case -3:
- char_log
- ("Invalid memo point structure in the next character line (character not readed):\n");
+ char_log("Invalid memo point structure in the next character line (character not readed):\n");
break;
case -4:
- char_log
- ("Invalid inventory item structure in the next character line (character not readed):\n");
+ char_log("Invalid inventory item structure in the next character line (character not readed):\n");
break;
case -5:
- char_log
- ("Invalid cart item structure in the next character line (character not readed):\n");
+ char_log("Invalid cart item structure in the next character line (character not readed):\n");
break;
case -6:
- char_log
- ("Invalid skill structure in the next character line (character not readed):\n");
+ char_log("Invalid skill structure in the next character line (character not readed):\n");
break;
case -7:
- char_log
- ("Invalid register structure in the next character line (character not readed):\n");
+ char_log("Invalid register structure in the next character line (character not readed):\n");
break;
default: // 0
- char_log
- ("Unabled to get a character in the next line - Basic structure of line (before inventory) is incorrect (character not readed):\n");
+ char_log("Unabled to get a character in the next line - Basic structure of line (before inventory) is incorrect (character not readed):\n");
break;
}
- char_log ("%s", line);
+ char_log("%s", line);
}
}
- fclose_ (fp);
+ fclose_(fp);
if (char_num == 0)
{
- printf ("mmo_char_init: No character found in %s.\n", char_txt);
- char_log ("mmo_char_init: No character found in %s.\n",
+ printf("mmo_char_init: No character found in %s.\n", char_txt);
+ char_log("mmo_char_init: No character found in %s.\n",
char_txt);
}
else if (char_num == 1)
{
- printf ("mmo_char_init: 1 character read in %s.\n", char_txt);
- char_log ("mmo_char_init: 1 character read in %s.\n", char_txt);
+ printf("mmo_char_init: 1 character read in %s.\n", char_txt);
+ char_log("mmo_char_init: 1 character read in %s.\n", char_txt);
}
else
{
- printf ("mmo_char_init: %d characters read in %s.\n", char_num,
+ printf("mmo_char_init: %d characters read in %s.\n", char_num,
char_txt);
- char_log ("mmo_char_init: %d characters read in %s.\n",
+ char_log("mmo_char_init: %d characters read in %s.\n",
char_num, char_txt);
}
- char_log ("Id for the next created character: %d.\n",
+ char_log("Id for the next created character: %d.\n",
char_id_count);
return 0;
@@ -700,13 +681,13 @@ int mmo_char_init (void)
// Function to save characters in files (speed up by [Yor])
//---------------------------------------------------------
static
-void mmo_char_sync (void)
+void mmo_char_sync(void)
{
char line[65536];
- int i, j, k;
- int lock;
+ int i, j, k;
+ int lock;
FILE *fp;
- int id[char_num];
+ int id[char_num];
// Sorting before save (by [Yor])
for (i = 0; i < char_num; i++)
@@ -728,44 +709,42 @@ void mmo_char_sync (void)
}
// Data save
- fp = lock_fopen (char_txt, &lock);
+ fp = lock_fopen(char_txt, &lock);
if (fp == NULL)
{
- printf ("WARNING: Server can't not save characters.\n");
- char_log ("WARNING: Server can't not save characters.\n");
+ printf("WARNING: Server can't not save characters.\n");
+ char_log("WARNING: Server can't not save characters.\n");
}
else
{
for (i = 0; i < char_num; i++)
{
// create only once the line, and save it in the 2 files (it's speeder than repeat twice the loop and create twice the line)
- mmo_char_tostr (line, &char_dat[id[i]]); // use of sorted index
- fprintf (fp, "%s\n", line);
+ mmo_char_tostr(line, &char_dat[id[i]]); // use of sorted index
+ fprintf(fp, "%s\n", line);
}
- fprintf (fp, "%d\t%%newid%%\n", char_id_count);
- lock_fclose (fp, char_txt, &lock);
+ fprintf(fp, "%d\t%%newid%%\n", char_id_count);
+ lock_fclose(fp, char_txt, &lock);
}
// Data save (backup)
if (backup_txt_flag)
{ // The backup_txt file was created because char deletion bug existed. Now it's finish and that take a lot of time to create a second file when there are a lot of characters. => option By [Yor]
- fp = lock_fopen (backup_txt, &lock);
+ fp = lock_fopen(backup_txt, &lock);
if (fp == NULL)
{
- printf
- ("WARNING: Server can't not create backup of characters file.\n");
- char_log
- ("WARNING: Server can't not create backup of characters file.\n");
+ printf("WARNING: Server can't not create backup of characters file.\n");
+ char_log("WARNING: Server can't not create backup of characters file.\n");
return;
}
for (i = 0; i < char_num; i++)
{
// create only once the line, and save it in the 2 files (it's speeder than repeat twice the loop and create twice the line)
- mmo_char_tostr (line, &char_dat[id[i]]); // use of sorted index
- fprintf (fp, "%s\n", line);
+ mmo_char_tostr(line, &char_dat[id[i]]); // use of sorted index
+ fprintf(fp, "%s\n", line);
}
- fprintf (fp, "%d\t%%newid%%\n", char_id_count);
- lock_fclose (fp, backup_txt, &lock);
+ fprintf(fp, "%d\t%%newid%%\n", char_id_count);
+ lock_fclose(fp, backup_txt, &lock);
}
return;
@@ -775,12 +754,12 @@ void mmo_char_sync (void)
// Function to save (in a periodic way) datas in files
//----------------------------------------------------
static
-void mmo_char_sync_timer (timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
+void mmo_char_sync_timer(timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
{
if (pid != 0)
{
- int status;
- pid_t temp = waitpid (pid, &status, WNOHANG);
+ int status;
+ pid_t temp = waitpid(pid, &status, WNOHANG);
// Need to check status too?
if (temp == 0)
@@ -791,23 +770,23 @@ void mmo_char_sync_timer (timer_id tid, tick_t tick, custom_id_t id, custom_data
// This can take a lot of time. Fork a child to handle the work and return at once
// If we're unable to fork just continue running the function normally
- if ((pid = fork ()) > 0)
+ if ((pid = fork()) > 0)
return;
- mmo_char_sync ();
- inter_save ();
+ mmo_char_sync();
+ inter_save();
// If we're a child we should suicide now.
if (pid == 0)
- _exit (0);
+ _exit(0);
}
//----------------------------------------------------
// Remove trailing whitespace from a name
//----------------------------------------------------
-static void remove_trailing_blanks (char *name)
+static void remove_trailing_blanks(char *name)
{
- char *tail = name + strlen (name) - 1;
+ char *tail = name + strlen(name) - 1;
while (tail > name && *tail == ' ')
*tail-- = 0;
@@ -816,7 +795,7 @@ static void remove_trailing_blanks (char *name)
//----------------------------------------------------
// Remove prefix whitespace from a name
//----------------------------------------------------
-static void remove_prefix_blanks (char *name)
+static void remove_prefix_blanks(char *name)
{
char *dst = name;
char *src = name;
@@ -830,32 +809,30 @@ static void remove_prefix_blanks (char *name)
// Function to create a new character
//-----------------------------------
static
-int make_new_char (int fd, unsigned char *dat)
+int make_new_char(int fd, unsigned char *dat)
{
// ugh
char *cdat = (char *)dat;
- int i, j;
+ int i, j;
struct char_session_data *sd = (struct char_session_data *)session[fd]->session_data;
// remove control characters from the name
cdat[23] = '\0';
- if (remove_control_chars (cdat))
+ if (remove_control_chars(cdat))
{
- char_log
- ("Make new char error (control char received in the name): (connection #%d, account: %d).\n",
+ char_log("Make new char error (control char received in the name): (connection #%d, account: %d).\n",
fd, sd->account_id);
return -1;
}
// Eliminate whitespace
- remove_trailing_blanks (cdat);
- remove_prefix_blanks (cdat);
+ remove_trailing_blanks(cdat);
+ remove_prefix_blanks(cdat);
// check lenght of character name
- if (strlen (cdat) < 4)
+ if (strlen(cdat) < 4)
{
- char_log
- ("Make new char error (character name too small): (connection #%d, account: %d, name: '%s').\n",
+ char_log("Make new char error (character name too small): (connection #%d, account: %d, name: '%s').\n",
fd, sd->account_id, cdat);
return -1;
}
@@ -864,10 +841,9 @@ int make_new_char (int fd, unsigned char *dat)
if (char_name_option == 1)
{ // only letters/symbols in char_name_letters are authorised
for (i = 0; cdat[i]; i++)
- if (strchr (char_name_letters, cdat[i]) == NULL)
+ if (strchr(char_name_letters, cdat[i]) == NULL)
{
- char_log
- ("Make new char error (invalid letter in the name): (connection #%d, account: %d), name: %s, invalid letter: %c.\n",
+ char_log("Make new char error (invalid letter in the name): (connection #%d, account: %d), name: %s, invalid letter: %c.\n",
fd, sd->account_id, cdat, cdat[i]);
return -1;
}
@@ -875,10 +851,9 @@ int make_new_char (int fd, unsigned char *dat)
else if (char_name_option == 2)
{ // letters/symbols in char_name_letters are forbidden
for (i = 0; cdat[i]; i++)
- if (strchr (char_name_letters, cdat[i]) != NULL)
+ if (strchr(char_name_letters, cdat[i]) != NULL)
{
- char_log
- ("Make new char error (invalid letter in the name): (connection #%d, account: %d), name: %s, invalid letter: %c.\n",
+ char_log("Make new char error (invalid letter in the name): (connection #%d, account: %d), name: %s, invalid letter: %c.\n",
fd, sd->account_id, cdat, cdat[i]);
return -1;
}
@@ -890,8 +865,7 @@ int make_new_char (int fd, unsigned char *dat)
dat[33] >= 20 || // hair style
dat[31] >= 12)
{ // hair color (dat[31] can not be negativ)
- char_log
- ("Make new char error (invalid values): (connection #%d, account: %d) slot %d, name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d\n",
+ char_log("Make new char error (invalid values): (connection #%d, account: %d) slot %d, name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d\n",
fd, sd->account_id, dat[30], dat, dat[24], dat[25],
dat[26], dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29],
@@ -904,8 +878,7 @@ int make_new_char (int fd, unsigned char *dat)
{
if (dat[i] < 1 || dat[i] > 9)
{
- char_log
- ("Make new char error (invalid stat value: not between 1 to 9): (connection #%d, account: %d) slot %d, name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d\n",
+ char_log("Make new char error (invalid stat value: not between 1 to 9): (connection #%d, account: %d) slot %d, name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d\n",
fd, sd->account_id, dat[30], dat, dat[24], dat[25],
dat[26], dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29],
@@ -916,12 +889,11 @@ int make_new_char (int fd, unsigned char *dat)
for (i = 0; i < char_num; i++)
{
- if ((name_ignoring_case != 0 && strcmp (char_dat[i].name, cdat) == 0)
+ if ((name_ignoring_case != 0 && strcmp(char_dat[i].name, cdat) == 0)
|| (name_ignoring_case == 0
- && strcasecmp (char_dat[i].name, cdat) == 0))
+ && strcasecmp(char_dat[i].name, cdat) == 0))
{
- char_log
- ("Make new char error (name already exists): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
+ char_log("Make new char error (name already exists): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
fd, sd->account_id, dat[30], cdat, char_dat[i].name,
dat[24], dat[25], dat[26], dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29],
@@ -931,8 +903,7 @@ int make_new_char (int fd, unsigned char *dat)
if (char_dat[i].account_id == sd->account_id
&& char_dat[i].char_num == dat[30])
{
- char_log
- ("Make new char error (slot already used): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
+ char_log("Make new char error (slot already used): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
fd, sd->account_id, dat[30], cdat, char_dat[i].name,
dat[24], dat[25], dat[26], dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29],
@@ -941,10 +912,9 @@ int make_new_char (int fd, unsigned char *dat)
}
}
- if (strcmp (wisp_server_name, cdat) == 0)
+ if (strcmp(wisp_server_name, cdat) == 0)
{
- char_log
- ("Make new char error (name used is wisp name for server): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
+ char_log("Make new char error (name used is wisp name for server): (connection #%d, account: %d) slot %d, name: %s (actual name of other char: %s), stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d.\n",
fd, sd->account_id, dat[30], cdat, char_dat[i].name,
dat[24], dat[25], dat[26], dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29],
@@ -955,8 +925,8 @@ int make_new_char (int fd, unsigned char *dat)
if (char_num >= char_max)
{
char_max += 256;
- RECREATE (char_dat, struct mmo_charstatus, char_max);
- RECREATE (online_chars, int, char_max);
+ RECREATE(char_dat, struct mmo_charstatus, char_max);
+ RECREATE(online_chars, int, char_max);
for (j = char_max - 256; j < char_max; j++)
online_chars[j] = -1;
}
@@ -964,22 +934,21 @@ int make_new_char (int fd, unsigned char *dat)
char ip[16];
unsigned char *sin_addr =
(unsigned char *) &session[fd]->client_addr.sin_addr;
- sprintf (ip, "%d.%d.%d.%d", sin_addr[0], sin_addr[1], sin_addr[2],
+ sprintf(ip, "%d.%d.%d.%d", sin_addr[0], sin_addr[1], sin_addr[2],
sin_addr[3]);
- char_log
- ("Creation of New Character: (connection #%d, account: %d) slot %d, character Name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d. [%s]\n",
+ char_log("Creation of New Character: (connection #%d, account: %d) slot %d, character Name: %s, stats: %d+%d+%d+%d+%d+%d=%d, hair: %d, hair color: %d. [%s]\n",
fd, sd->account_id, dat[30], cdat, dat[24], dat[25], dat[26],
dat[27], dat[28], dat[29],
dat[24] + dat[25] + dat[26] + dat[27] + dat[28] + dat[29], dat[33],
dat[31], ip);
- memset (&char_dat[i], 0, sizeof (struct mmo_charstatus));
+ memset(&char_dat[i], 0, sizeof(struct mmo_charstatus));
char_dat[i].char_id = char_id_count++;
char_dat[i].account_id = sd->account_id;
char_dat[i].char_num = dat[30];
- strcpy (char_dat[i].name, cdat);
+ strcpy(char_dat[i].name, cdat);
char_dat[i].pc_class = 0;
char_dat[i].base_level = 1;
char_dat[i].job_level = 1;
@@ -1021,8 +990,8 @@ int make_new_char (int fd, unsigned char *dat)
char_dat[i].head_top = 0;
char_dat[i].head_mid = 0;
char_dat[i].head_bottom = 0;
- memcpy (&char_dat[i].last_point, &start_point, sizeof (start_point));
- memcpy (&char_dat[i].save_point, &start_point, sizeof (start_point));
+ memcpy(&char_dat[i].last_point, &start_point, sizeof(start_point));
+ memcpy(&char_dat[i].save_point, &start_point, sizeof(start_point));
char_num++;
return i;
@@ -1032,7 +1001,7 @@ int make_new_char (int fd, unsigned char *dat)
// This function return the name of the job (by [Yor])
//----------------------------------------------------
static
-const char *job_name (int pc_class)
+const char *job_name(int pc_class)
{
switch (pc_class)
{
@@ -1182,16 +1151,16 @@ const char *job_name (int pc_class)
// Function to create the online files (txt and html). by [Yor]
//-------------------------------------------------------------
static
-void create_online_files (void)
+void create_online_files(void)
{
- int i, j, k, l; // for loops
- int players; // count the number of players
+ int i, j, k, l; // for loops
+ int players; // count the number of players
FILE *fp; // for the txt file
FILE *fp2; // for the html file
char temp[256]; // to prepare what we must display
time_t time_server; // for number of seconds
struct tm *datetime; // variable for time in structure ->tm_mday, ->tm_sec, ...
- int id[char_num];
+ int id[char_num];
if (online_display_option == 0) // we display nothing, so return
return;
@@ -1213,10 +1182,10 @@ void create_online_files (void)
{
char *p_name = char_dat[i].name; //speed up sorting when there are a lot of players. But very rarely players have same name.
for (j = 0; j < players; j++)
- if (strcasecmp (p_name, char_dat[id[j]].name) < 0 ||
+ if (strcasecmp(p_name, char_dat[id[j]].name) < 0 ||
// if same name, we sort with case sensitive.
- (strcasecmp (p_name, char_dat[id[j]].name) == 0 &&
- strcmp (p_name, char_dat[id[j]].name) < 0))
+ (strcasecmp(p_name, char_dat[id[j]].name) == 0 &&
+ strcmp(p_name, char_dat[id[j]].name) < 0))
{
for (k = players; k > j; k--)
id[k] = id[k - 1];
@@ -1230,7 +1199,7 @@ void create_online_files (void)
if (char_dat[i].zeny < char_dat[id[j]].zeny ||
// if same number of zenys, we sort by name.
(char_dat[i].zeny == char_dat[id[j]].zeny &&
- strcasecmp (char_dat[i].name,
+ strcasecmp(char_dat[i].name,
char_dat[id[j]].name) < 0))
{
for (k = players; k > j; k--)
@@ -1277,12 +1246,12 @@ void create_online_files (void)
break;
case 5: // by location map name
{
- int cpm_result; // A lot of player maps are identical. So, test if done often twice.
+ int cpm_result; // A lot of player maps are identical. So, test if done often twice.
for (j = 0; j < players; j++)
- if ((cpm_result = strcmp (char_dat[i].last_point.map, char_dat[id[j]].last_point.map)) < 0 || // no map are identical and with upper cases (not use strcasecmp)
+ if ((cpm_result = strcmp(char_dat[i].last_point.map, char_dat[id[j]].last_point.map)) < 0 || // no map are identical and with upper cases (not use strcasecmp)
// if same map name, we sort by name.
(cpm_result == 0 &&
- strcasecmp (char_dat[i].name,
+ strcasecmp(char_dat[i].name,
char_dat[id[j]].name) < 0))
{
for (k = players; k > j; k--)
@@ -1300,165 +1269,165 @@ void create_online_files (void)
}
// write files
- fp = fopen_ (online_txt_filename, "w");
+ fp = fopen_(online_txt_filename, "w");
if (fp != NULL)
{
- fp2 = fopen_ (online_html_filename, "w");
+ fp2 = fopen_(online_html_filename, "w");
if (fp2 != NULL)
{
// get time
- time (&time_server); // get time in seconds since 1/1/1970
- datetime = localtime (&time_server); // convert seconds in structure
- strftime (temp, sizeof (temp), "%d %b %Y %X", datetime); // like sprintf, but only for date/time (05 dec 2003 15:12:52)
+ time(&time_server); // get time in seconds since 1/1/1970
+ datetime = localtime(&time_server); // convert seconds in structure
+ strftime(temp, sizeof(temp), "%d %b %Y %X", datetime); // like sprintf, but only for date/time (05 dec 2003 15:12:52)
// write heading
- fprintf (fp2, "<HTML>\n");
- fprintf (fp2, " <META http-equiv=\"Refresh\" content=\"%d\">\n", online_refresh_html); // update on client explorer every x seconds
- fprintf (fp2, " <HEAD>\n");
- fprintf (fp2, " <TITLE>Online Players on %s</TITLE>\n",
+ fprintf(fp2, "<HTML>\n");
+ fprintf(fp2, " <META http-equiv=\"Refresh\" content=\"%d\">\n", online_refresh_html); // update on client explorer every x seconds
+ fprintf(fp2, " <HEAD>\n");
+ fprintf(fp2, " <TITLE>Online Players on %s</TITLE>\n",
server_name);
- fprintf (fp2, " </HEAD>\n");
- fprintf (fp2, " <BODY>\n");
- fprintf (fp2, " <H3>Online Players on %s (%s):</H3>\n",
+ fprintf(fp2, " </HEAD>\n");
+ fprintf(fp2, " <BODY>\n");
+ fprintf(fp2, " <H3>Online Players on %s (%s):</H3>\n",
server_name, temp);
- fprintf (fp, "Online Players on %s (%s):\n", server_name, temp);
- fprintf (fp, "\n");
+ fprintf(fp, "Online Players on %s (%s):\n", server_name, temp);
+ fprintf(fp, "\n");
// If we display at least 1 player
if (players > 0)
{
j = 0; // count the number of characters for the txt version and to set the separate line
- fprintf (fp2, " <table border=\"1\" cellspacing=\"1\">\n");
- fprintf (fp2, " <tr>\n");
+ fprintf(fp2, " <table border=\"1\" cellspacing=\"1\">\n");
+ fprintf(fp2, " <tr>\n");
if ((online_display_option & 1)
|| (online_display_option & 64))
{
- fprintf (fp2, " <td><b>Name</b></td>\n");
+ fprintf(fp2, " <td><b>Name</b></td>\n");
if (online_display_option & 64)
{
- fprintf (fp, "Name "); // 30
+ fprintf(fp, "Name "); // 30
j += 30;
}
else
{
- fprintf (fp, "Name "); // 25
+ fprintf(fp, "Name "); // 25
j += 25;
}
}
if ((online_display_option & 6) == 6)
{
- fprintf (fp2, " <td><b>Job (levels)</b></td>\n");
- fprintf (fp, "Job Levels "); // 27
+ fprintf(fp2, " <td><b>Job (levels)</b></td>\n");
+ fprintf(fp, "Job Levels "); // 27
j += 27;
}
else if (online_display_option & 2)
{
- fprintf (fp2, " <td><b>Job</b></td>\n");
- fprintf (fp, "Job "); // 19
+ fprintf(fp2, " <td><b>Job</b></td>\n");
+ fprintf(fp, "Job "); // 19
j += 19;
}
else if (online_display_option & 4)
{
- fprintf (fp2, " <td><b>Levels</b></td>\n");
- fprintf (fp, " Levels "); // 8
+ fprintf(fp2, " <td><b>Levels</b></td>\n");
+ fprintf(fp, " Levels "); // 8
j += 8;
}
if (online_display_option & 24)
{ // 8 or 16
- fprintf (fp2, " <td><b>Location</b></td>\n");
+ fprintf(fp2, " <td><b>Location</b></td>\n");
if (online_display_option & 16)
{
- fprintf (fp, "Location ( x , y ) "); // 23
+ fprintf(fp, "Location ( x , y ) "); // 23
j += 23;
}
else
{
- fprintf (fp, "Location "); // 13
+ fprintf(fp, "Location "); // 13
j += 13;
}
}
if (online_display_option & 32)
{
- fprintf (fp2,
+ fprintf(fp2,
" <td ALIGN=CENTER><b>zenys</b></td>\n");
- fprintf (fp, " Zenys "); // 16
+ fprintf(fp, " Zenys "); // 16
j += 16;
}
- fprintf (fp2, " </tr>\n");
- fprintf (fp, "\n");
+ fprintf(fp2, " </tr>\n");
+ fprintf(fp, "\n");
for (k = 0; k < j; k++)
- fprintf (fp, "-");
- fprintf (fp, "\n");
+ fprintf(fp, "-");
+ fprintf(fp, "\n");
// display each player.
for (i = 0; i < players; i++)
{
// get id of the character (more speed)
j = id[i];
- fprintf (fp2, " <tr>\n");
+ fprintf(fp2, " <tr>\n");
// displaying the character name
if ((online_display_option & 1)
|| (online_display_option & 64))
{ // without/with 'GM' display
- strcpy (temp, char_dat[j].name);
- l = isGM (char_dat[j].account_id);
+ strcpy(temp, char_dat[j].name);
+ l = isGM(char_dat[j].account_id);
if (online_display_option & 64)
{
if (l >= online_gm_display_min_level)
- fprintf (fp, "%-24s (GM) ", temp);
+ fprintf(fp, "%-24s (GM) ", temp);
else
- fprintf (fp, "%-24s ", temp);
+ fprintf(fp, "%-24s ", temp);
}
else
- fprintf (fp, "%-24s ", temp);
+ fprintf(fp, "%-24s ", temp);
// name of the character in the html (no < >, because that create problem in html code)
- fprintf (fp2, " <td>");
+ fprintf(fp2, " <td>");
if ((online_display_option & 64)
&& l >= online_gm_display_min_level)
- fprintf (fp2, "<b>");
+ fprintf(fp2, "<b>");
for (k = 0; temp[k]; k++)
{
switch (temp[k])
{
case '<': // <
- fprintf (fp2, "&lt;");
+ fprintf(fp2, "&lt;");
break;
case '>': // >
- fprintf (fp2, "&gt;");
+ fprintf(fp2, "&gt;");
break;
default:
- fprintf (fp2, "%c", temp[k]);
+ fprintf(fp2, "%c", temp[k]);
break;
};
}
if ((online_display_option & 64)
&& l >= online_gm_display_min_level)
- fprintf (fp2, "</b> (GM)");
- fprintf (fp2, "</td>\n");
+ fprintf(fp2, "</b> (GM)");
+ fprintf(fp2, "</td>\n");
}
// displaying of the job
if (online_display_option & 6)
{
- const char *jobname = job_name (char_dat[j].pc_class);
+ const char *jobname = job_name(char_dat[j].pc_class);
if ((online_display_option & 6) == 6)
{
- fprintf (fp2, " <td>%s %d/%d</td>\n",
+ fprintf(fp2, " <td>%s %d/%d</td>\n",
jobname, char_dat[j].base_level,
char_dat[j].job_level);
- fprintf (fp, "%-18s %3d/%3d ", jobname,
+ fprintf(fp, "%-18s %3d/%3d ", jobname,
char_dat[j].base_level,
char_dat[j].job_level);
}
else if (online_display_option & 2)
{
- fprintf (fp2, " <td>%s</td>\n", jobname);
- fprintf (fp, "%-18s ", jobname);
+ fprintf(fp2, " <td>%s</td>\n", jobname);
+ fprintf(fp, "%-18s ", jobname);
}
else if (online_display_option & 4)
{
- fprintf (fp2, " <td>%d/%d</td>\n",
+ fprintf(fp2, " <td>%d/%d</td>\n",
char_dat[j].base_level,
char_dat[j].job_level);
- fprintf (fp, "%3d/%3d ", char_dat[j].base_level,
+ fprintf(fp, "%3d/%3d ", char_dat[j].base_level,
char_dat[j].job_level);
}
}
@@ -1466,24 +1435,24 @@ void create_online_files (void)
if (online_display_option & 24)
{ // 8 or 16
// prepare map name
- memset (temp, 0, sizeof (temp));
- strncpy (temp, char_dat[j].last_point.map, 16);
- if (strchr (temp, '.') != NULL)
- temp[strchr (temp, '.') - temp] = '\0'; // suppress the '.gat'
+ memset(temp, 0, sizeof(temp));
+ strncpy(temp, char_dat[j].last_point.map, 16);
+ if (strchr(temp, '.') != NULL)
+ temp[strchr(temp, '.') - temp] = '\0'; // suppress the '.gat'
// write map name
if (online_display_option & 16)
{ // map-name AND coordonates
- fprintf (fp2, " <td>%s (%d, %d)</td>\n",
+ fprintf(fp2, " <td>%s (%d, %d)</td>\n",
temp, char_dat[j].last_point.x,
char_dat[j].last_point.y);
- fprintf (fp, "%-12s (%3d,%3d) ", temp,
+ fprintf(fp, "%-12s (%3d,%3d) ", temp,
char_dat[j].last_point.x,
char_dat[j].last_point.y);
}
else
{
- fprintf (fp2, " <td>%s</td>\n", temp);
- fprintf (fp, "%-12s ", temp);
+ fprintf(fp2, " <td>%s</td>\n", temp);
+ fprintf(fp, "%-12s ", temp);
}
}
// displaying number of zenys
@@ -1492,30 +1461,30 @@ void create_online_files (void)
// write number of zenys
if (char_dat[j].zeny == 0)
{ // if no zeny
- fprintf (fp2,
+ fprintf(fp2,
" <td ALIGN=RIGHT>no zeny</td>\n");
- fprintf (fp, " no zeny ");
+ fprintf(fp, " no zeny ");
}
else
{
- fprintf (fp2,
+ fprintf(fp2,
" <td ALIGN=RIGHT>%d z</td>\n",
char_dat[j].zeny);
- fprintf (fp, "%13d z ", char_dat[j].zeny);
+ fprintf(fp, "%13d z ", char_dat[j].zeny);
}
}
- fprintf (fp, "\n");
- fprintf (fp2, " </tr>\n");
+ fprintf(fp, "\n");
+ fprintf(fp2, " </tr>\n");
}
- fprintf (fp2, " </table>\n");
- fprintf (fp, "\n");
+ fprintf(fp2, " </table>\n");
+ fprintf(fp, "\n");
}
// Displaying number of online players
if (players == 0)
{
- fprintf (fp2, " <p>No user is online.</p>\n");
- fprintf (fp, "No user is online.\n");
+ fprintf(fp2, " <p>No user is online.</p>\n");
+ fprintf(fp, "No user is online.\n");
// no display if only 1 player
}
else if (players == 1)
@@ -1523,14 +1492,14 @@ void create_online_files (void)
}
else
{
- fprintf (fp2, " <p>%d users are online.</p>\n", players);
- fprintf (fp, "%d users are online.\n", players);
+ fprintf(fp2, " <p>%d users are online.</p>\n", players);
+ fprintf(fp, "%d users are online.\n", players);
}
- fprintf (fp2, " </BODY>\n");
- fprintf (fp2, "</HTML>\n");
- fclose_ (fp2);
+ fprintf(fp2, " </BODY>\n");
+ fprintf(fp2, "</HTML>\n");
+ fclose_(fp2);
}
- fclose_ (fp);
+ fclose_(fp);
}
return;
@@ -1540,9 +1509,9 @@ void create_online_files (void)
// This function return the number of online players in all map-servers
//---------------------------------------------------------------------
static
-int count_users (void)
+int count_users(void)
{
- int i, users;
+ int i, users;
users = 0;
for (i = 0; i < MAX_MAP_SERVERS; i++)
@@ -1555,9 +1524,9 @@ int count_users (void)
//----------------------------------------
// [Fate] Find inventory item based on equipment mask, return view. ID must match view ID (!).
//----------------------------------------
-static int find_equip_view (struct mmo_charstatus *p, unsigned int equipmask)
+static int find_equip_view(struct mmo_charstatus *p, unsigned int equipmask)
{
- int i;
+ int i;
for (i = 0; i < MAX_INVENTORY; i++)
if (p->inventory[i].nameid && p->inventory[i].amount
&& p->inventory[i].equip & equipmask)
@@ -1569,9 +1538,9 @@ static int find_equip_view (struct mmo_charstatus *p, unsigned int equipmask)
// Function to send characters to a player
//----------------------------------------
static
-int mmo_char_send006b (int fd, struct char_session_data *sd)
+int mmo_char_send006b(int fd, struct char_session_data *sd)
{
- int i, j, found_num;
+ int i, j, found_num;
struct mmo_charstatus *p;
const int offset = 24;
@@ -1589,78 +1558,78 @@ int mmo_char_send006b (int fd, struct char_session_data *sd)
for (i = found_num; i < 9; i++)
sd->found_char[i] = -1;
- memset (WFIFOP (fd, 0), 0, offset + found_num * 106);
- WFIFOW (fd, 0) = 0x6b;
- WFIFOW (fd, 2) = offset + found_num * 106;
+ memset(WFIFOP(fd, 0), 0, offset + found_num * 106);
+ WFIFOW(fd, 0) = 0x6b;
+ WFIFOW(fd, 2) = offset + found_num * 106;
for (i = 0; i < found_num; i++)
{
p = &char_dat[sd->found_char[i]];
j = offset + (i * 106); // increase speed of code
- WFIFOL (fd, j) = p->char_id;
- WFIFOL (fd, j + 4) = p->base_exp;
- WFIFOL (fd, j + 8) = p->zeny;
- WFIFOL (fd, j + 12) = p->job_exp;
- WFIFOL (fd, j + 16) = 0; //p->job_level; // [Fate] We no longer reveal this to the player, as its meaning is weird.
-
- WFIFOW (fd, j + 20) = find_equip_view (p, 0x0040); // 9: shoes
- WFIFOW (fd, j + 22) = find_equip_view (p, 0x0004); // 10: gloves
- WFIFOW (fd, j + 24) = find_equip_view (p, 0x0008); // 11: cape
- WFIFOW (fd, j + 26) = find_equip_view (p, 0x0010); // 12: misc1
- WFIFOL (fd, j + 28) = p->option;
-
- WFIFOL (fd, j + 32) = p->karma;
- WFIFOL (fd, j + 36) = p->manner;
-
- WFIFOW (fd, j + 40) = p->status_point;
- WFIFOW (fd, j + 42) = (p->hp > 0x7fff) ? 0x7fff : p->hp;
- WFIFOW (fd, j + 44) = (p->max_hp > 0x7fff) ? 0x7fff : p->max_hp;
- WFIFOW (fd, j + 46) = (p->sp > 0x7fff) ? 0x7fff : p->sp;
- WFIFOW (fd, j + 48) = (p->max_sp > 0x7fff) ? 0x7fff : p->max_sp;
- WFIFOW (fd, j + 50) = DEFAULT_WALK_SPEED; // p->speed;
- WFIFOW (fd, j + 52) = p->pc_class;
- WFIFOW (fd, j + 54) = p->hair;
+ WFIFOL(fd, j) = p->char_id;
+ WFIFOL(fd, j + 4) = p->base_exp;
+ WFIFOL(fd, j + 8) = p->zeny;
+ WFIFOL(fd, j + 12) = p->job_exp;
+ WFIFOL(fd, j + 16) = 0; //p->job_level; // [Fate] We no longer reveal this to the player, as its meaning is weird.
+
+ WFIFOW(fd, j + 20) = find_equip_view(p, 0x0040); // 9: shoes
+ WFIFOW(fd, j + 22) = find_equip_view(p, 0x0004); // 10: gloves
+ WFIFOW(fd, j + 24) = find_equip_view(p, 0x0008); // 11: cape
+ WFIFOW(fd, j + 26) = find_equip_view(p, 0x0010); // 12: misc1
+ WFIFOL(fd, j + 28) = p->option;
+
+ WFIFOL(fd, j + 32) = p->karma;
+ WFIFOL(fd, j + 36) = p->manner;
+
+ WFIFOW(fd, j + 40) = p->status_point;
+ WFIFOW(fd, j + 42) = (p->hp > 0x7fff) ? 0x7fff : p->hp;
+ WFIFOW(fd, j + 44) = (p->max_hp > 0x7fff) ? 0x7fff : p->max_hp;
+ WFIFOW(fd, j + 46) = (p->sp > 0x7fff) ? 0x7fff : p->sp;
+ WFIFOW(fd, j + 48) = (p->max_sp > 0x7fff) ? 0x7fff : p->max_sp;
+ WFIFOW(fd, j + 50) = DEFAULT_WALK_SPEED; // p->speed;
+ WFIFOW(fd, j + 52) = p->pc_class;
+ WFIFOW(fd, j + 54) = p->hair;
// WFIFOW(fd,j+56) = p->weapon; // dont send weapon since TMW does not support it
- WFIFOW (fd, j + 56) = 0;
- WFIFOW (fd, j + 58) = p->base_level;
- WFIFOW (fd, j + 60) = p->skill_point;
- WFIFOW (fd, j + 62) = p->head_bottom;
- WFIFOW (fd, j + 64) = p->shield;
- WFIFOW (fd, j + 66) = p->head_top;
- WFIFOW (fd, j + 68) = p->head_mid;
- WFIFOW (fd, j + 70) = p->hair_color;
- WFIFOW (fd, j + 72) = find_equip_view (p, 0x0080); // 13: misc2
+ WFIFOW(fd, j + 56) = 0;
+ WFIFOW(fd, j + 58) = p->base_level;
+ WFIFOW(fd, j + 60) = p->skill_point;
+ WFIFOW(fd, j + 62) = p->head_bottom;
+ WFIFOW(fd, j + 64) = p->shield;
+ WFIFOW(fd, j + 66) = p->head_top;
+ WFIFOW(fd, j + 68) = p->head_mid;
+ WFIFOW(fd, j + 70) = p->hair_color;
+ WFIFOW(fd, j + 72) = find_equip_view(p, 0x0080); // 13: misc2
// WFIFOW(fd,j+72) = p->clothes_color;
- memcpy (WFIFOP (fd, j + 74), p->name, 24);
+ memcpy(WFIFOP(fd, j + 74), p->name, 24);
- WFIFOB (fd, j + 98) = (p->str > 255) ? 255 : p->str;
- WFIFOB (fd, j + 99) = (p->agi > 255) ? 255 : p->agi;
- WFIFOB (fd, j + 100) = (p->vit > 255) ? 255 : p->vit;
- WFIFOB (fd, j + 101) = (p->int_ > 255) ? 255 : p->int_;
- WFIFOB (fd, j + 102) = (p->dex > 255) ? 255 : p->dex;
- WFIFOB (fd, j + 103) = (p->luk > 255) ? 255 : p->luk;
- WFIFOB (fd, j + 104) = p->char_num;
+ WFIFOB(fd, j + 98) = (p->str > 255) ? 255 : p->str;
+ WFIFOB(fd, j + 99) = (p->agi > 255) ? 255 : p->agi;
+ WFIFOB(fd, j + 100) = (p->vit > 255) ? 255 : p->vit;
+ WFIFOB(fd, j + 101) = (p->int_ > 255) ? 255 : p->int_;
+ WFIFOB(fd, j + 102) = (p->dex > 255) ? 255 : p->dex;
+ WFIFOB(fd, j + 103) = (p->luk > 255) ? 255 : p->luk;
+ WFIFOB(fd, j + 104) = p->char_num;
}
- WFIFOSET (fd, WFIFOW (fd, 2));
+ WFIFOSET(fd, WFIFOW(fd, 2));
return 0;
}
static
-int set_account_reg2 (int acc, int num, struct global_reg *reg)
+int set_account_reg2(int acc, int num, struct global_reg *reg)
{
- int i, c;
+ int i, c;
c = 0;
for (i = 0; i < char_num; i++)
{
if (char_dat[i].account_id == acc)
{
- memcpy (char_dat[i].account_reg2, reg,
- sizeof (char_dat[i].account_reg2));
+ memcpy(char_dat[i].account_reg2, reg,
+ sizeof(char_dat[i].account_reg2));
char_dat[i].account_reg2_num = num;
c++;
}
@@ -1670,9 +1639,9 @@ int set_account_reg2 (int acc, int num, struct global_reg *reg)
// Divorce a character from it's partner and let the map server know
static
-int char_divorce (struct mmo_charstatus *cs)
+int char_divorce(struct mmo_charstatus *cs)
{
- int i;
+ int i;
uint8_t buf[10];
if (cs == NULL)
@@ -1680,23 +1649,23 @@ int char_divorce (struct mmo_charstatus *cs)
if (cs->partner_id <= 0)
{
- WBUFW (buf, 0) = 0x2b12;
- WBUFL (buf, 2) = cs->char_id;
- WBUFL (buf, 6) = 0; // partner id 0 means failure
- mapif_sendall (buf, 10);
+ WBUFW(buf, 0) = 0x2b12;
+ WBUFL(buf, 2) = cs->char_id;
+ WBUFL(buf, 6) = 0; // partner id 0 means failure
+ mapif_sendall(buf, 10);
return 0;
}
- WBUFW (buf, 0) = 0x2b12;
- WBUFL (buf, 2) = cs->char_id;
+ WBUFW(buf, 0) = 0x2b12;
+ WBUFL(buf, 2) = cs->char_id;
for (i = 0; i < char_num; i++)
{
if (char_dat[i].char_id == cs->partner_id
&& char_dat[i].partner_id == cs->char_id)
{
- WBUFL (buf, 6) = cs->partner_id;
- mapif_sendall (buf, 10);
+ WBUFL(buf, 6) = cs->partner_id;
+ mapif_sendall(buf, 10);
cs->partner_id = 0;
char_dat[i].partner_id = 0;
return 0;
@@ -1705,17 +1674,17 @@ int char_divorce (struct mmo_charstatus *cs)
// Don't worry about this, as the map server should verify itself that the other doesn't have us as a partner, and so won't mess with their marriage
else if (char_dat[i].char_id == cs->partner_id)
{
- WBUFL (buf, 6) = cs->partner_id;
- mapif_sendall (buf, 10);
+ WBUFL(buf, 6) = cs->partner_id;
+ mapif_sendall(buf, 10);
cs->partner_id = 0;
return 0;
}
}
// Our partner wasn't found, so just clear our marriage
- WBUFL (buf, 6) = cs->partner_id;
+ WBUFL(buf, 6) = cs->partner_id;
cs->partner_id = 0;
- mapif_sendall (buf, 10);
+ mapif_sendall(buf, 10);
return 0;
}
@@ -1724,9 +1693,9 @@ int char_divorce (struct mmo_charstatus *cs)
// Force disconnection of an online player (with account value) by [Yor]
//----------------------------------------------------------------------
static
-int disconnect_player (int accound_id)
+int disconnect_player(int accound_id)
{
- int i;
+ int i;
struct char_session_data *sd;
// disconnect player if online on char-server
@@ -1746,28 +1715,28 @@ int disconnect_player (int accound_id)
}
// キャラ削除に伴うデータ削除
-static int char_delete (struct mmo_charstatus *cs)
+static int char_delete(struct mmo_charstatus *cs)
{
// パーティー脱退
if (cs->party_id)
- inter_party_leave (cs->party_id, cs->account_id);
+ inter_party_leave(cs->party_id, cs->account_id);
// 離婚
if (cs->partner_id)
- char_divorce (cs);
+ char_divorce(cs);
// Force the character (and all on the same account) to leave all map servers
{
unsigned char buf[6];
- WBUFW (buf, 0) = 0x2afe;
- WBUFL (buf, 2) = cs->account_id;
- mapif_sendall (buf, 6);
+ WBUFW(buf, 0) = 0x2afe;
+ WBUFL(buf, 2) = cs->account_id;
+ mapif_sendall(buf, 6);
}
return 0;
}
static
-void parse_tologin (int fd)
+void parse_tologin(int fd)
{
struct char_session_data *sd;
@@ -1777,42 +1746,38 @@ void parse_tologin (int fd)
{
if (fd == login_fd)
{
- printf
- ("Char-server can't connect to login-server (connection #%d).\n",
+ printf("Char-server can't connect to login-server (connection #%d).\n",
fd);
login_fd = -1;
}
- close (fd);
- delete_session (fd);
+ close(fd);
+ delete_session(fd);
return;
}
sd = (struct char_session_data*)session[fd]->session_data;
- while (RFIFOREST (fd) >= 2)
+ while (RFIFOREST(fd) >= 2)
{
// printf("parse_tologin: connection #%d, packet: 0x%x (with being read: %d bytes).\n", fd, RFIFOW(fd,0), RFIFOREST(fd));
- switch (RFIFOW (fd, 0))
+ switch (RFIFOW(fd, 0))
{
case 0x2711:
- if (RFIFOREST (fd) < 3)
+ if (RFIFOREST(fd) < 3)
return;
- if (RFIFOB (fd, 2))
+ if (RFIFOB(fd, 2))
{
// printf("connect login server error : %d\n", RFIFOB(fd,2));
- printf ("Can not connect to login-server.\n");
- printf
- ("The server communication passwords (default s1/p1) is probably invalid.\n");
- printf
- ("Also, please make sure your accounts file (default: accounts.txt) has those values present.\n");
- printf
- ("If you changed the communication passwords, change them back at map_athena.conf and char_athena.conf\n");
- exit (1);
+ printf("Can not connect to login-server.\n");
+ printf("The server communication passwords (default s1/p1) is probably invalid.\n");
+ printf("Also, please make sure your accounts file (default: accounts.txt) has those values present.\n");
+ printf("If you changed the communication passwords, change them back at map_athena.conf and char_athena.conf\n");
+ exit(1);
}
else
{
- printf ("Connected to login-server (connection #%d).\n",
+ printf("Connected to login-server (connection #%d).\n",
fd);
// if no map-server already connected, display a message...
int i;
@@ -1820,105 +1785,105 @@ void parse_tologin (int fd)
if (server_fd[i] >= 0 && server[i].map[0][0]) // if map-server online and at least 1 map
break;
if (i == MAX_MAP_SERVERS)
- printf ("Awaiting maps from map-server.\n");
+ printf("Awaiting maps from map-server.\n");
}
- RFIFOSKIP (fd, 3);
+ RFIFOSKIP(fd, 3);
break;
case 0x2713:
- if (RFIFOREST (fd) < 51)
+ if (RFIFOREST(fd) < 51)
return;
// printf("parse_tologin 2713 : %d\n", RFIFOB(fd,6));
for (int i = 0; i < fd_max; i++)
{
if (session[i] && (sd = (struct char_session_data*)session[i]->session_data)
- && sd->account_id == RFIFOL (fd, 2))
+ && sd->account_id == RFIFOL(fd, 2))
{
- if (RFIFOB (fd, 6) != 0)
+ if (RFIFOB(fd, 6) != 0)
{
- WFIFOW (i, 0) = 0x6c;
- WFIFOB (i, 2) = 0x42;
- WFIFOSET (i, 3);
+ WFIFOW(i, 0) = 0x6c;
+ WFIFOB(i, 2) = 0x42;
+ WFIFOSET(i, 3);
}
else if (max_connect_user == 0
- || count_users () < max_connect_user)
+ || count_users() < max_connect_user)
{
// if (max_connect_user == 0)
// printf("max_connect_user (unlimited) -> accepted.\n");
// else
// printf("count_users(): %d < max_connect_user (%d) -> accepted.\n", count_users(), max_connect_user);
- memcpy (sd->email, RFIFOP (fd, 7), 40);
- if (e_mail_check (sd->email) == 0)
- strncpy (sd->email, "a@a.com", 40); // default e-mail
- sd->connect_until_time = (time_t) RFIFOL (fd, 47);
+ memcpy(sd->email, RFIFOP(fd, 7), 40);
+ if (e_mail_check(sd->email) == 0)
+ strncpy(sd->email, "a@a.com", 40); // default e-mail
+ sd->connect_until_time = (time_t) RFIFOL(fd, 47);
// send characters to player
- mmo_char_send006b (i, sd);
+ mmo_char_send006b(i, sd);
}
else
{
// refuse connection: too much online players
// printf("count_users(): %d < max_connect_use (%d) -> fail...\n", count_users(), max_connect_user);
- WFIFOW (i, 0) = 0x6c;
- WFIFOW (i, 2) = 0;
- WFIFOSET (i, 3);
+ WFIFOW(i, 0) = 0x6c;
+ WFIFOW(i, 2) = 0;
+ WFIFOSET(i, 3);
}
break;
}
}
- RFIFOSKIP (fd, 51);
+ RFIFOSKIP(fd, 51);
break;
// Receiving of an e-mail/time limit from the login-server (answer of a request because a player comes back from map-server to char-server) by [Yor]
case 0x2717:
- if (RFIFOREST (fd) < 50)
+ if (RFIFOREST(fd) < 50)
return;
for (int i = 0; i < fd_max; i++)
{
if (session[i] && (sd = (struct char_session_data*)session[i]->session_data))
{
- if (sd->account_id == RFIFOL (fd, 2))
+ if (sd->account_id == RFIFOL(fd, 2))
{
- memcpy (sd->email, RFIFOP (fd, 6), 40);
- if (e_mail_check (sd->email) == 0)
- strncpy (sd->email, "a@a.com", 40); // default e-mail
- sd->connect_until_time = (time_t) RFIFOL (fd, 46);
+ memcpy(sd->email, RFIFOP(fd, 6), 40);
+ if (e_mail_check(sd->email) == 0)
+ strncpy(sd->email, "a@a.com", 40); // default e-mail
+ sd->connect_until_time = (time_t) RFIFOL(fd, 46);
break;
}
}
}
- RFIFOSKIP (fd, 50);
+ RFIFOSKIP(fd, 50);
break;
case 0x2721: // gm reply
- if (RFIFOREST (fd) < 10)
+ if (RFIFOREST(fd) < 10)
return;
{
unsigned char buf[10];
- WBUFW (buf, 0) = 0x2b0b;
- WBUFL (buf, 2) = RFIFOL (fd, 2); // account
- WBUFL (buf, 6) = RFIFOL (fd, 6); // GM level
- mapif_sendall (buf, 10);
+ WBUFW(buf, 0) = 0x2b0b;
+ WBUFL(buf, 2) = RFIFOL(fd, 2); // account
+ WBUFL(buf, 6) = RFIFOL(fd, 6); // GM level
+ mapif_sendall(buf, 10);
// printf("parse_tologin: To become GM answer: char -> map.\n");
}
- RFIFOSKIP (fd, 10);
+ RFIFOSKIP(fd, 10);
break;
case 0x2723: // changesex reply (modified by [Yor])
- if (RFIFOREST (fd) < 7)
+ if (RFIFOREST(fd) < 7)
return;
{
- int acc, sex, i, j;
+ int acc, sex, i, j;
unsigned char buf[7];
- acc = RFIFOL (fd, 2);
- sex = RFIFOB (fd, 6);
- RFIFOSKIP (fd, 7);
+ acc = RFIFOL(fd, 2);
+ sex = RFIFOB(fd, 6);
+ RFIFOSKIP(fd, 7);
if (acc > 0)
{
for (i = 0; i < char_num; i++)
{
if (char_dat[i].account_id == acc)
{
- int jobclass = char_dat[i].pc_class;
+ int jobclass = char_dat[i].pc_class;
char_dat[i].sex = sex;
// auth_fifo[i].sex = sex;
if (jobclass == 19 || jobclass == 20 ||
@@ -1958,22 +1923,21 @@ void parse_tologin (int fd)
}
}
// disconnect player if online on char-server
- disconnect_player (acc);
+ disconnect_player(acc);
}
- WBUFW (buf, 0) = 0x2b0d;
- WBUFL (buf, 2) = acc;
- WBUFB (buf, 6) = sex;
- mapif_sendall (buf, 7);
+ WBUFW(buf, 0) = 0x2b0d;
+ WBUFL(buf, 2) = acc;
+ WBUFB(buf, 6) = sex;
+ mapif_sendall(buf, 7);
}
break;
case 0x2726: // Request to send a broadcast message (no answer)
- if (RFIFOREST (fd) < 8
- || RFIFOREST (fd) < (8 + RFIFOL (fd, 4)))
+ if (RFIFOREST(fd) < 8
+ || RFIFOREST(fd) < (8 + RFIFOL(fd, 4)))
return;
- if (RFIFOL (fd, 4) < 1)
- char_log
- ("Receiving a message for broadcast, but message is void.\n");
+ if (RFIFOL(fd, 4) < 1)
+ char_log("Receiving a message for broadcast, but message is void.\n");
else
{
int i;
@@ -1982,40 +1946,36 @@ void parse_tologin (int fd)
if (server_fd[i] >= 0)
break;
if (i == MAX_MAP_SERVERS)
- char_log
- ("'ladmin': Receiving a message for broadcast, but no map-server is online.\n");
+ char_log("'ladmin': Receiving a message for broadcast, but no map-server is online.\n");
else
{
uint8_t buf[128];
- char message[RFIFOL (fd, 4) + 1]; // +1 to add a null terminated if not exist in the packet
- int lp;
+ char message[RFIFOL(fd, 4) + 1]; // +1 to add a null terminated if not exist in the packet
+ int lp;
char *p;
- memset (message, '\0', sizeof (message));
- memcpy (message, RFIFOP (fd, 8), RFIFOL (fd, 4));
- message[sizeof (message) - 1] = '\0';
- remove_control_chars (message);
+ memset(message, '\0', sizeof(message));
+ memcpy(message, RFIFOP(fd, 8), RFIFOL(fd, 4));
+ message[sizeof(message) - 1] = '\0';
+ remove_control_chars(message);
// remove all first spaces
p = message;
while (p[0] == ' ')
p++;
// if message is only composed of spaces
if (p[0] == '\0')
- char_log
- ("Receiving a message for broadcast, but message is only a lot of spaces.\n");
+ char_log("Receiving a message for broadcast, but message is only a lot of spaces.\n");
// else send message to all map-servers
else
{
- if (RFIFOW (fd, 2) == 0)
+ if (RFIFOW(fd, 2) == 0)
{
- char_log
- ("'ladmin': Receiving a message for broadcast (message (in yellow): %s)\n",
+ char_log("'ladmin': Receiving a message for broadcast (message (in yellow): %s)\n",
message);
lp = 4;
}
else
{
- char_log
- ("'ladmin': Receiving a message for broadcast (message (in blue): %s)\n",
+ char_log("'ladmin': Receiving a message for broadcast (message (in blue): %s)\n",
message);
lp = 8;
}
@@ -2028,127 +1988,126 @@ void parse_tologin (int fd)
{
char split[80];
char *last_space;
- sscanf (p, "%79[^\t]", split); // max 79 char, any char (\t is control char and control char was removed before)
- split[sizeof (split) - 1] = '\0'; // last char always \0
+ sscanf(p, "%79[^\t]", split); // max 79 char, any char (\t is control char and control char was removed before)
+ split[sizeof(split) - 1] = '\0'; // last char always \0
if ((last_space =
- strrchr (split, ' ')) != NULL)
+ strrchr(split, ' ')) != NULL)
{ // searching space from end of the string
last_space[0] = '\0'; // replace it by NULL to have correct length of split
p++; // to jump the new NULL
}
- p += strlen (split);
+ p += strlen(split);
// send broadcast to all map-servers
- WBUFW (buf, 0) = 0x3800;
- WBUFW (buf, 2) = lp + strlen (split) + 1;
- WBUFL (buf, 4) = 0x65756c62; // only write if in blue (lp = 8)
- memcpy (WBUFP (buf, lp), split,
- strlen (split) + 1);
- mapif_sendall (buf, WBUFW (buf, 2));
+ WBUFW(buf, 0) = 0x3800;
+ WBUFW(buf, 2) = lp + strlen(split) + 1;
+ WBUFL(buf, 4) = 0x65756c62; // only write if in blue (lp = 8)
+ memcpy(WBUFP(buf, lp), split,
+ strlen(split) + 1);
+ mapif_sendall(buf, WBUFW(buf, 2));
}
}
}
}
}
- RFIFOSKIP (fd, 8 + RFIFOL (fd, 4));
+ RFIFOSKIP(fd, 8 + RFIFOL(fd, 4));
break;
// account_reg2変更通知
case 0x2729:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
{
struct global_reg reg[ACCOUNT_REG2_NUM];
unsigned char buf[4096];
- int j, p, acc;
- acc = RFIFOL (fd, 4);
+ int j, p, acc;
+ acc = RFIFOL(fd, 4);
for (p = 8, j = 0;
- p < RFIFOW (fd, 2) && j < ACCOUNT_REG2_NUM;
+ p < RFIFOW(fd, 2) && j < ACCOUNT_REG2_NUM;
p += 36, j++)
{
- memcpy (reg[j].str, RFIFOP (fd, p), 32);
- reg[j].value = RFIFOL (fd, p + 32);
+ memcpy(reg[j].str, RFIFOP(fd, p), 32);
+ reg[j].value = RFIFOL(fd, p + 32);
}
- set_account_reg2 (acc, j, reg);
+ set_account_reg2(acc, j, reg);
// 同垢ログインを禁止していれば送る必要は無い
- memcpy (buf, RFIFOP (fd, 0), RFIFOW (fd, 2));
- WBUFW (buf, 0) = 0x2b11;
- mapif_sendall (buf, WBUFW (buf, 2));
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ memcpy(buf, RFIFOP(fd, 0), RFIFOW(fd, 2));
+ WBUFW(buf, 0) = 0x2b11;
+ mapif_sendall(buf, WBUFW(buf, 2));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
// printf("char: save_account_reg_reply\n");
}
break;
case 0x7924:
{ // [Fate] Itemfrob package: forwarded from login-server
- if (RFIFOREST (fd) < 10)
+ if (RFIFOREST(fd) < 10)
return;
- int source_id = RFIFOL (fd, 2);
- int dest_id = RFIFOL (fd, 6);
+ int source_id = RFIFOL(fd, 2);
+ int dest_id = RFIFOL(fd, 6);
unsigned char buf[10];
- WBUFW (buf, 0) = 0x2afa;
- WBUFL (buf, 2) = source_id;
- WBUFL (buf, 6) = dest_id;
+ WBUFW(buf, 0) = 0x2afa;
+ WBUFL(buf, 2) = source_id;
+ WBUFL(buf, 6) = dest_id;
- mapif_sendall (buf, 10); // forward package to map servers
+ mapif_sendall(buf, 10); // forward package to map servers
for (int i = 0; i < char_num; i++)
{
struct mmo_charstatus *c = char_dat + i;
- struct storage *s = account2storage (c->account_id);
- int changes = 0;
- int j;
+ struct storage *s = account2storage(c->account_id);
+ int changes = 0;
+ int j;
#define FIX(v) if (v == source_id) {v = dest_id; ++changes; }
for (j = 0; j < MAX_INVENTORY; j++)
- FIX (c->inventory[j].nameid);
+ FIX(c->inventory[j].nameid);
for (j = 0; j < MAX_CART; j++)
- FIX (c->cart[j].nameid);
- FIX (c->weapon);
- FIX (c->shield);
- FIX (c->head_top);
- FIX (c->head_mid);
- FIX (c->head_bottom);
+ FIX(c->cart[j].nameid);
+ FIX(c->weapon);
+ FIX(c->shield);
+ FIX(c->head_top);
+ FIX(c->head_mid);
+ FIX(c->head_bottom);
if (s)
for (j = 0; j < s->storage_amount; j++)
- FIX (s->storage_[j].nameid);
+ FIX(s->storage_[j].nameid);
#undef FIX
if (changes)
- char_log
- ("itemfrob(%d -> %d): `%s'(%d, account %d): changed %d times\n",
+ char_log("itemfrob(%d -> %d): `%s'(%d, account %d): changed %d times\n",
source_id, dest_id, c->name, c->char_id,
c->account_id, changes);
}
- mmo_char_sync ();
- inter_storage_save ();
- RFIFOSKIP (fd, 10);
+ mmo_char_sync();
+ inter_storage_save();
+ RFIFOSKIP(fd, 10);
break;
}
// Account deletion notification (from login-server)
case 0x2730:
- if (RFIFOREST (fd) < 6)
+ if (RFIFOREST(fd) < 6)
return;
// Deletion of all characters of the account
for (int i = 0; i < char_num; i++)
{
- if (char_dat[i].account_id == RFIFOL (fd, 2))
+ if (char_dat[i].account_id == RFIFOL(fd, 2))
{
- char_delete (&char_dat[i]);
+ char_delete(&char_dat[i]);
if (i < char_num - 1)
{
- memcpy (&char_dat[i], &char_dat[char_num - 1],
- sizeof (struct mmo_charstatus));
+ memcpy(&char_dat[i], &char_dat[char_num - 1],
+ sizeof(struct mmo_charstatus));
// if moved character owns to deleted account, check again it's character
- if (char_dat[i].account_id == RFIFOL (fd, 2))
+ if (char_dat[i].account_id == RFIFOL(fd, 2))
{
i--;
// Correct moved character reference in the character's owner by [Yor]
}
else
{
- int j, k;
+ int j, k;
struct char_session_data *sd2;
for (j = 0; j < fd_max; j++)
{
@@ -2175,76 +2134,74 @@ void parse_tologin (int fd)
}
}
// Deletion of the storage
- inter_storage_delete (RFIFOL (fd, 2));
+ inter_storage_delete(RFIFOL(fd, 2));
// send to all map-servers to disconnect the player
{
unsigned char buf[6];
- WBUFW (buf, 0) = 0x2b13;
- WBUFL (buf, 2) = RFIFOL (fd, 2);
- mapif_sendall (buf, 6);
+ WBUFW(buf, 0) = 0x2b13;
+ WBUFL(buf, 2) = RFIFOL(fd, 2);
+ mapif_sendall(buf, 6);
}
// disconnect player if online on char-server
- disconnect_player (RFIFOL (fd, 2));
- RFIFOSKIP (fd, 6);
+ disconnect_player(RFIFOL(fd, 2));
+ RFIFOSKIP(fd, 6);
break;
// State change of account/ban notification (from login-server) by [Yor]
case 0x2731:
- if (RFIFOREST (fd) < 11)
+ if (RFIFOREST(fd) < 11)
return;
// send to all map-servers to disconnect the player
{
unsigned char buf[11];
- WBUFW (buf, 0) = 0x2b14;
- WBUFL (buf, 2) = RFIFOL (fd, 2);
- WBUFB (buf, 6) = RFIFOB (fd, 6); // 0: change of statut, 1: ban
- WBUFL (buf, 7) = RFIFOL (fd, 7); // status or final date of a banishment
- mapif_sendall (buf, 11);
+ WBUFW(buf, 0) = 0x2b14;
+ WBUFL(buf, 2) = RFIFOL(fd, 2);
+ WBUFB(buf, 6) = RFIFOB(fd, 6); // 0: change of statut, 1: ban
+ WBUFL(buf, 7) = RFIFOL(fd, 7); // status or final date of a banishment
+ mapif_sendall(buf, 11);
}
// disconnect player if online on char-server
- disconnect_player (RFIFOL (fd, 2));
- RFIFOSKIP (fd, 11);
+ disconnect_player(RFIFOL(fd, 2));
+ RFIFOSKIP(fd, 11);
break;
// Receiving GM acounts info from login-server (by [Yor])
case 0x2732:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
{
uint8_t buf[32000];
if (gm_account != NULL)
- free (gm_account);
- CREATE (gm_account, struct gm_account, (RFIFOW (fd, 2) - 4) / 5);
+ free(gm_account);
+ CREATE(gm_account, struct gm_account, (RFIFOW(fd, 2) - 4) / 5);
GM_num = 0;
- for (int i = 4; i < RFIFOW (fd, 2); i = i + 5)
+ for (int i = 4; i < RFIFOW(fd, 2); i = i + 5)
{
- gm_account[GM_num].account_id = RFIFOL (fd, i);
- gm_account[GM_num].level = (int) RFIFOB (fd, i + 4);
+ gm_account[GM_num].account_id = RFIFOL(fd, i);
+ gm_account[GM_num].level = (int) RFIFOB(fd, i + 4);
//printf("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
GM_num++;
}
- printf
- ("From login-server: receiving of %d GM accounts information.\n",
+ printf("From login-server: receiving of %d GM accounts information.\n",
GM_num);
- char_log
- ("From login-server: receiving of %d GM accounts information.\n",
+ char_log("From login-server: receiving of %d GM accounts information.\n",
GM_num);
- create_online_files (); // update online players files (perhaps some online players change of GM level)
+ create_online_files(); // update online players files (perhaps some online players change of GM level)
// send new gm acccounts level to map-servers
- memcpy (buf, RFIFOP (fd, 0), RFIFOW (fd, 2));
- WBUFW (buf, 0) = 0x2b15;
- mapif_sendall (buf, RFIFOW (fd, 2));
+ memcpy(buf, RFIFOP(fd, 0), RFIFOW(fd, 2));
+ WBUFW(buf, 0) = 0x2b15;
+ mapif_sendall(buf, RFIFOW(fd, 2));
}
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
break;
case 0x2741: // change password reply
- if (RFIFOREST (fd) < 7)
+ if (RFIFOREST(fd) < 7)
return;
{
- int acc, status, i;
- acc = RFIFOL (fd, 2);
- status = RFIFOB (fd, 6);
+ int acc, status, i;
+ acc = RFIFOL(fd, 2);
+ status = RFIFOB(fd, 6);
for (i = 0; i < fd_max; i++)
{
@@ -2252,15 +2209,15 @@ void parse_tologin (int fd)
{
if (sd->account_id == acc)
{
- WFIFOW (i, 0) = 0x62;
- WFIFOB (i, 2) = status;
- WFIFOSET (i, 3);
+ WFIFOW(i, 0) = 0x62;
+ WFIFOB(i, 2) = status;
+ WFIFOSET(i, 3);
break;
}
}
}
}
- RFIFOSKIP (fd, 7);
+ RFIFOSKIP(fd, 7);
break;
default:
@@ -2268,16 +2225,16 @@ void parse_tologin (int fd)
return;
}
}
- RFIFOFLUSH (fd);
+ RFIFOFLUSH(fd);
}
//--------------------------------
// Map-server anti-freeze system
//--------------------------------
static
-void map_anti_freeze_system (timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
+void map_anti_freeze_system(timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
{
- int i;
+ int i;
//printf("Entering in map_anti_freeze_system function to check freeze of servers.\n");
for (i = 0; i < MAX_MAP_SERVERS; i++)
@@ -2287,11 +2244,9 @@ void map_anti_freeze_system (timer_id tid, tick_t tick, custom_id_t id, custom_d
//printf("map_anti_freeze_system: server #%d, flag: %d.\n", i, server_freezeflag[i]);
if (server_freezeflag[i]-- < 1)
{ // Map-server anti-freeze system. Counter. 5 ok, 4...0 freezed
- printf
- ("Map-server anti-freeze system: char-server #%d is freezed -> disconnection.\n",
+ printf("Map-server anti-freeze system: char-server #%d is freezed -> disconnection.\n",
i);
- char_log
- ("Map-server anti-freeze system: char-server #%d is freezed -> disconnection.\n",
+ char_log("Map-server anti-freeze system: char-server #%d is freezed -> disconnection.\n",
i);
session[server_fd[i]]->eof = 1;
}
@@ -2300,10 +2255,10 @@ void map_anti_freeze_system (timer_id tid, tick_t tick, custom_id_t id, custom_d
}
static
-void parse_frommap (int fd)
+void parse_frommap(int fd)
{
- int i, j;
- int id;
+ int i, j;
+ int id;
for (id = 0; id < MAX_MAP_SERVERS; id++)
if (server_fd[id] == fd)
@@ -2312,162 +2267,159 @@ void parse_frommap (int fd)
{
if (id < MAX_MAP_SERVERS)
{
- printf ("Map-server %d (session #%d) has disconnected.\n", id,
+ printf("Map-server %d (session #%d) has disconnected.\n", id,
fd);
- memset (&server[id], 0, sizeof (struct mmo_map_server));
+ memset(&server[id], 0, sizeof(struct mmo_map_server));
server_fd[id] = -1;
for (j = 0; j < char_num; j++)
if (online_chars[j] == fd)
online_chars[j] = -1;
- create_online_files (); // update online players files (to remove all online players of this server)
+ create_online_files(); // update online players files (to remove all online players of this server)
}
- close (fd);
- delete_session (fd);
+ close(fd);
+ delete_session(fd);
return;
}
- while (RFIFOREST (fd) >= 2)
+ while (RFIFOREST(fd) >= 2)
{
// printf("parse_frommap: connection #%d, packet: 0x%x (with being read: %d bytes).\n", fd, RFIFOW(fd,0), RFIFOREST(fd));
- switch (RFIFOW (fd, 0))
+ switch (RFIFOW(fd, 0))
{
// request from map-server to reload GM accounts. Transmission to login-server (by Yor)
case 0x2af7:
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2709;
- WFIFOSET (login_fd, 2);
+ WFIFOW(login_fd, 0) = 0x2709;
+ WFIFOSET(login_fd, 2);
// printf("char : request from map-server to reload GM accounts -> login-server.\n");
}
- RFIFOSKIP (fd, 2);
+ RFIFOSKIP(fd, 2);
break;
// Receiving map names list from the map-server
case 0x2afa:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
- memset (server[id].map, 0, sizeof (server[id].map));
+ memset(server[id].map, 0, sizeof(server[id].map));
j = 0;
- for (i = 4; i < RFIFOW (fd, 2); i += 16)
+ for (i = 4; i < RFIFOW(fd, 2); i += 16)
{
- memcpy (server[id].map[j], RFIFOP (fd, i), 16);
+ memcpy(server[id].map[j], RFIFOP(fd, i), 16);
// printf("set map %d.%d : %s\n", id, j, server[id].map[j]);
j++;
}
{
unsigned char *p = (unsigned char *) &server[id].ip;
- printf
- ("Map-Server %d connected: %d maps, from IP %d.%d.%d.%d port %d.\n",
+ printf("Map-Server %d connected: %d maps, from IP %d.%d.%d.%d port %d.\n",
id, j, p[0], p[1], p[2], p[3], server[id].port);
- printf ("Map-server %d loading complete.\n", id);
- char_log
- ("Map-Server %d connected: %d maps, from IP %d.%d.%d.%d port %d. Map-server %d loading complete.\n",
+ printf("Map-server %d loading complete.\n", id);
+ char_log("Map-Server %d connected: %d maps, from IP %d.%d.%d.%d port %d. Map-server %d loading complete.\n",
id, j, p[0], p[1], p[2], p[3],
server[id].port, id);
}
- WFIFOW (fd, 0) = 0x2afb;
- WFIFOB (fd, 2) = 0;
- memcpy (WFIFOP (fd, 3), wisp_server_name, 24); // name for wisp to player
- WFIFOSET (fd, 27);
+ WFIFOW(fd, 0) = 0x2afb;
+ WFIFOB(fd, 2) = 0;
+ memcpy(WFIFOP(fd, 3), wisp_server_name, 24); // name for wisp to player
+ WFIFOSET(fd, 27);
{
unsigned char buf[16384];
- int x;
+ int x;
if (j == 0)
{
- printf ("WARNING: Map-Server %d have NO map.\n", id);
- char_log ("WARNING: Map-Server %d have NO map.\n",
+ printf("WARNING: Map-Server %d have NO map.\n", id);
+ char_log("WARNING: Map-Server %d have NO map.\n",
id);
// Transmitting maps information to the other map-servers
}
else
{
- WBUFW (buf, 0) = 0x2b04;
- WBUFW (buf, 2) = j * 16 + 10;
- WBUFL (buf, 4) = server[id].ip;
- WBUFW (buf, 8) = server[id].port;
- memcpy (WBUFP (buf, 10), RFIFOP (fd, 4), j * 16);
- mapif_sendallwos (fd, buf, WBUFW (buf, 2));
+ WBUFW(buf, 0) = 0x2b04;
+ WBUFW(buf, 2) = j * 16 + 10;
+ WBUFL(buf, 4) = server[id].ip;
+ WBUFW(buf, 8) = server[id].port;
+ memcpy(WBUFP(buf, 10), RFIFOP(fd, 4), j * 16);
+ mapif_sendallwos(fd, buf, WBUFW(buf, 2));
}
// Transmitting the maps of the other map-servers to the new map-server
for (x = 0; x < MAX_MAP_SERVERS; x++)
{
if (server_fd[x] >= 0 && x != id)
{
- WFIFOW (fd, 0) = 0x2b04;
- WFIFOL (fd, 4) = server[x].ip;
- WFIFOW (fd, 8) = server[x].port;
+ WFIFOW(fd, 0) = 0x2b04;
+ WFIFOL(fd, 4) = server[x].ip;
+ WFIFOW(fd, 8) = server[x].port;
j = 0;
for (i = 0; i < MAX_MAP_PER_SERVER; i++)
if (server[x].map[i][0])
- memcpy (WFIFOP (fd, 10 + (j++) * 16),
+ memcpy(WFIFOP(fd, 10 + (j++) * 16),
server[x].map[i], 16);
if (j > 0)
{
- WFIFOW (fd, 2) = j * 16 + 10;
- WFIFOSET (fd, WFIFOW (fd, 2));
+ WFIFOW(fd, 2) = j * 16 + 10;
+ WFIFOSET(fd, WFIFOW(fd, 2));
}
}
}
}
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
break;
// 認証要求
case 0x2afc:
- if (RFIFOREST (fd) < 22)
+ if (RFIFOREST(fd) < 22)
return;
//printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14));
for (i = 0; i < AUTH_FIFO_SIZE; i++)
{
- if (auth_fifo[i].account_id == RFIFOL (fd, 2) &&
- auth_fifo[i].char_id == RFIFOL (fd, 6) &&
- auth_fifo[i].login_id1 == RFIFOL (fd, 10) &&
+ if (auth_fifo[i].account_id == RFIFOL(fd, 2) &&
+ auth_fifo[i].char_id == RFIFOL(fd, 6) &&
+ auth_fifo[i].login_id1 == RFIFOL(fd, 10) &&
#if CMP_AUTHFIFO_LOGIN2 != 0
// here, it's the only area where it's possible that we doesn't know login_id2 (map-server asks just after 0x72 packet, that doesn't given the value)
- (auth_fifo[i].login_id2 == RFIFOL (fd, 14) || RFIFOL (fd, 14) == 0) && // relate to the versions higher than 18
+ (auth_fifo[i].login_id2 == RFIFOL(fd, 14) || RFIFOL(fd, 14) == 0) && // relate to the versions higher than 18
#endif
- (!check_ip_flag || auth_fifo[i].ip == RFIFOL (fd, 18))
+ (!check_ip_flag || auth_fifo[i].ip == RFIFOL(fd, 18))
&& !auth_fifo[i].delflag)
{
auth_fifo[i].delflag = 1;
- WFIFOW (fd, 0) = 0x2afd;
- WFIFOW (fd, 2) = 18 + sizeof (struct mmo_charstatus);
- WFIFOL (fd, 4) = RFIFOL (fd, 2);
- WFIFOL (fd, 8) = auth_fifo[i].login_id2;
- WFIFOL (fd, 12) =
+ WFIFOW(fd, 0) = 0x2afd;
+ WFIFOW(fd, 2) = 18 + sizeof(struct mmo_charstatus);
+ WFIFOL(fd, 4) = RFIFOL(fd, 2);
+ WFIFOL(fd, 8) = auth_fifo[i].login_id2;
+ WFIFOL(fd, 12) =
(unsigned long) auth_fifo[i].connect_until_time;
char_dat[auth_fifo[i].char_pos].sex =
auth_fifo[i].sex;
- WFIFOW (fd, 16) = auth_fifo[i].packet_tmw_version;
- fprintf (stderr,
+ WFIFOW(fd, 16) = auth_fifo[i].packet_tmw_version;
+ fprintf(stderr,
"From queue index %d: recalling packet version %d\n",
i, auth_fifo[i].packet_tmw_version);
- memcpy (WFIFOP (fd, 18),
+ memcpy(WFIFOP(fd, 18),
&char_dat[auth_fifo[i].char_pos],
- sizeof (struct mmo_charstatus));
- WFIFOSET (fd, WFIFOW (fd, 2));
+ sizeof(struct mmo_charstatus));
+ WFIFOSET(fd, WFIFOW(fd, 2));
//printf("auth_fifo search success (auth #%d, account %d, character: %d).\n", i, RFIFOL(fd,2), RFIFOL(fd,6));
break;
}
}
if (i == AUTH_FIFO_SIZE)
{
- WFIFOW (fd, 0) = 0x2afe;
- WFIFOL (fd, 2) = RFIFOL (fd, 2);
- WFIFOSET (fd, 6);
- printf
- ("auth_fifo search error! account %d not authentified.\n",
- RFIFOL (fd, 2));
+ WFIFOW(fd, 0) = 0x2afe;
+ WFIFOL(fd, 2) = RFIFOL(fd, 2);
+ WFIFOSET(fd, 6);
+ printf("auth_fifo search error! account %d not authentified.\n",
+ RFIFOL(fd, 2));
}
- RFIFOSKIP (fd, 22);
+ RFIFOSKIP(fd, 22);
break;
// MAPサーバー上のユーザー数受信
case 0x2aff:
- if (RFIFOREST (fd) < 6 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 6 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
- server[id].users = RFIFOW (fd, 4);
+ server[id].users = RFIFOW(fd, 4);
if (anti_freeze_enable)
server_freezeflag[id] = 5; // Map anti-freeze system. Counter. 5 ok, 4...0 freezed
// remove all previously online players of the server
@@ -2477,7 +2429,7 @@ void parse_frommap (int fd)
// add online players in the list by [Yor]
for (i = 0; i < server[id].users; i++)
{
- int char_id = RFIFOL (fd, 6 + i * 4);
+ int char_id = RFIFOL(fd, 6 + i * 4);
for (j = 0; j < char_num; j++)
if (char_dat[j].char_id == char_id)
{
@@ -2486,274 +2438,274 @@ void parse_frommap (int fd)
break;
}
}
- if (update_online < time (NULL))
+ if (update_online < time(NULL))
{ // Time is done
- update_online = time (NULL) + 8;
- create_online_files (); // only every 8 sec. (normally, 1 server send users every 5 sec.) Don't update every time, because that takes time, but only every 2 connection.
+ update_online = time(NULL) + 8;
+ create_online_files(); // only every 8 sec. (normally, 1 server send users every 5 sec.) Don't update every time, because that takes time, but only every 2 connection.
// it set to 8 sec because is more than 5 (sec) and if we have more than 1 map-server, informations can be received in shifted.
}
- RFIFOSKIP (fd, 6 + i * 4);
+ RFIFOSKIP(fd, 6 + i * 4);
break;
// キャラデータ保存
case 0x2b01:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
for (i = 0; i < char_num; i++)
{
- if (char_dat[i].account_id == RFIFOL (fd, 4) &&
- char_dat[i].char_id == RFIFOL (fd, 8))
+ if (char_dat[i].account_id == RFIFOL(fd, 4) &&
+ char_dat[i].char_id == RFIFOL(fd, 8))
break;
}
if (i != char_num)
- memcpy (&char_dat[i], RFIFOP (fd, 12),
- sizeof (struct mmo_charstatus));
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ memcpy(&char_dat[i], RFIFOP(fd, 12),
+ sizeof(struct mmo_charstatus));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
break;
// キャラセレ要求
case 0x2b02:
- if (RFIFOREST (fd) < 18)
+ if (RFIFOREST(fd) < 18)
return;
if (auth_fifo_pos >= AUTH_FIFO_SIZE)
auth_fifo_pos = 0;
//printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
- auth_fifo[auth_fifo_pos].account_id = RFIFOL (fd, 2);
+ auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd, 2);
auth_fifo[auth_fifo_pos].char_id = 0;
- auth_fifo[auth_fifo_pos].login_id1 = RFIFOL (fd, 6);
- auth_fifo[auth_fifo_pos].login_id2 = RFIFOL (fd, 10);
+ auth_fifo[auth_fifo_pos].login_id1 = RFIFOL(fd, 6);
+ auth_fifo[auth_fifo_pos].login_id2 = RFIFOL(fd, 10);
auth_fifo[auth_fifo_pos].delflag = 2;
auth_fifo[auth_fifo_pos].char_pos = 0;
auth_fifo[auth_fifo_pos].connect_until_time = 0; // unlimited/unknown time by default (not display in map-server)
- auth_fifo[auth_fifo_pos].ip = RFIFOL (fd, 14);
+ auth_fifo[auth_fifo_pos].ip = RFIFOL(fd, 14);
auth_fifo_pos++;
- WFIFOW (fd, 0) = 0x2b03;
- WFIFOL (fd, 2) = RFIFOL (fd, 2);
- WFIFOB (fd, 6) = 0;
- WFIFOSET (fd, 7);
- RFIFOSKIP (fd, 18);
+ WFIFOW(fd, 0) = 0x2b03;
+ WFIFOL(fd, 2) = RFIFOL(fd, 2);
+ WFIFOB(fd, 6) = 0;
+ WFIFOSET(fd, 7);
+ RFIFOSKIP(fd, 18);
break;
// マップサーバー間移動要求
case 0x2b05:
- if (RFIFOREST (fd) < 49)
+ if (RFIFOREST(fd) < 49)
return;
if (auth_fifo_pos >= AUTH_FIFO_SIZE)
auth_fifo_pos = 0;
- WFIFOW (fd, 0) = 0x2b06;
- memcpy (WFIFOP (fd, 2), RFIFOP (fd, 2), 42);
+ WFIFOW(fd, 0) = 0x2b06;
+ memcpy(WFIFOP(fd, 2), RFIFOP(fd, 2), 42);
//printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
- auth_fifo[auth_fifo_pos].account_id = RFIFOL (fd, 2);
- auth_fifo[auth_fifo_pos].char_id = RFIFOL (fd, 14);
- auth_fifo[auth_fifo_pos].login_id1 = RFIFOL (fd, 6);
- auth_fifo[auth_fifo_pos].login_id2 = RFIFOL (fd, 10);
+ auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd, 2);
+ auth_fifo[auth_fifo_pos].char_id = RFIFOL(fd, 14);
+ auth_fifo[auth_fifo_pos].login_id1 = RFIFOL(fd, 6);
+ auth_fifo[auth_fifo_pos].login_id2 = RFIFOL(fd, 10);
auth_fifo[auth_fifo_pos].delflag = 0;
- auth_fifo[auth_fifo_pos].sex = RFIFOB (fd, 44);
+ auth_fifo[auth_fifo_pos].sex = RFIFOB(fd, 44);
auth_fifo[auth_fifo_pos].connect_until_time = 0; // unlimited/unknown time by default (not display in map-server)
- auth_fifo[auth_fifo_pos].ip = RFIFOL (fd, 45);
+ auth_fifo[auth_fifo_pos].ip = RFIFOL(fd, 45);
for (i = 0; i < char_num; i++)
- if (char_dat[i].account_id == RFIFOL (fd, 2) &&
- char_dat[i].char_id == RFIFOL (fd, 14))
+ if (char_dat[i].account_id == RFIFOL(fd, 2) &&
+ char_dat[i].char_id == RFIFOL(fd, 14))
{
auth_fifo[auth_fifo_pos].char_pos = i;
auth_fifo_pos++;
- WFIFOL (fd, 6) = 0;
+ WFIFOL(fd, 6) = 0;
break;
}
if (i == char_num)
- WFIFOW (fd, 6) = 1;
- WFIFOSET (fd, 44);
- RFIFOSKIP (fd, 49);
+ WFIFOW(fd, 6) = 1;
+ WFIFOSET(fd, 44);
+ RFIFOSKIP(fd, 49);
break;
// キャラ名検索
case 0x2b08:
- if (RFIFOREST (fd) < 6)
+ if (RFIFOREST(fd) < 6)
return;
for (i = 0; i < char_num; i++)
{
- if (char_dat[i].char_id == RFIFOL (fd, 2))
+ if (char_dat[i].char_id == RFIFOL(fd, 2))
break;
}
- WFIFOW (fd, 0) = 0x2b09;
- WFIFOL (fd, 2) = RFIFOL (fd, 2);
+ WFIFOW(fd, 0) = 0x2b09;
+ WFIFOL(fd, 2) = RFIFOL(fd, 2);
if (i != char_num)
- memcpy (WFIFOP (fd, 6), char_dat[i].name, 24);
+ memcpy(WFIFOP(fd, 6), char_dat[i].name, 24);
else
- memcpy (WFIFOP (fd, 6), unknown_char_name, 24);
- WFIFOSET (fd, 30);
- RFIFOSKIP (fd, 6);
+ memcpy(WFIFOP(fd, 6), unknown_char_name, 24);
+ WFIFOSET(fd, 30);
+ RFIFOSKIP(fd, 6);
break;
// it is a request to become GM
case 0x2b0a:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
// printf("parse_frommap: change gm -> login, account: %d, pass: '%s'.\n", RFIFOL(fd,4), RFIFOP(fd,8));
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2720;
- memcpy (WFIFOP (login_fd, 2), RFIFOP (fd, 2),
- RFIFOW (fd, 2) - 2);
- WFIFOSET (login_fd, RFIFOW (fd, 2));
+ WFIFOW(login_fd, 0) = 0x2720;
+ memcpy(WFIFOP(login_fd, 2), RFIFOP(fd, 2),
+ RFIFOW(fd, 2) - 2);
+ WFIFOSET(login_fd, RFIFOW(fd, 2));
}
else
{
- WFIFOW (fd, 0) = 0x2b0b;
- WFIFOL (fd, 2) = RFIFOL (fd, 4);
- WFIFOL (fd, 6) = 0;
- WFIFOSET (fd, 10);
+ WFIFOW(fd, 0) = 0x2b0b;
+ WFIFOL(fd, 2) = RFIFOL(fd, 4);
+ WFIFOL(fd, 6) = 0;
+ WFIFOSET(fd, 10);
}
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
break;
// Map server send information to change an email of an account -> login-server
case 0x2b0c:
- if (RFIFOREST (fd) < 86)
+ if (RFIFOREST(fd) < 86)
return;
if (login_fd > 0)
{ // don't send request if no login-server
- memcpy (WFIFOP (login_fd, 0), RFIFOP (fd, 0), 86); // 0x2722 <account_id>.L <actual_e-mail>.40B <new_e-mail>.40B
- WFIFOW (login_fd, 0) = 0x2722;
- WFIFOSET (login_fd, 86);
+ memcpy(WFIFOP(login_fd, 0), RFIFOP(fd, 0), 86); // 0x2722 <account_id>.L <actual_e-mail>.40B <new_e-mail>.40B
+ WFIFOW(login_fd, 0) = 0x2722;
+ WFIFOSET(login_fd, 86);
}
- RFIFOSKIP (fd, 86);
+ RFIFOSKIP(fd, 86);
break;
// Map server ask char-server about a character name to do some operations (all operations are transmitted to login-server)
case 0x2b0e:
- if (RFIFOREST (fd) < 44)
+ if (RFIFOREST(fd) < 44)
return;
{
char character_name[24];
- int acc = RFIFOL (fd, 2); // account_id of who ask (-1 if nobody)
- memcpy (character_name, RFIFOP (fd, 6), 24);
- character_name[sizeof (character_name) - 1] = '\0';
+ int acc = RFIFOL(fd, 2); // account_id of who ask (-1 if nobody)
+ memcpy(character_name, RFIFOP(fd, 6), 24);
+ character_name[sizeof(character_name) - 1] = '\0';
// prepare answer
- WFIFOW (fd, 0) = 0x2b0f; // answer
- WFIFOL (fd, 2) = acc; // who want do operation
- WFIFOW (fd, 30) = RFIFOW (fd, 30); // type of operation: 1-block, 2-ban, 3-unblock, 4-unban, 5-changesex
+ WFIFOW(fd, 0) = 0x2b0f; // answer
+ WFIFOL(fd, 2) = acc; // who want do operation
+ WFIFOW(fd, 30) = RFIFOW(fd, 30); // type of operation: 1-block, 2-ban, 3-unblock, 4-unban, 5-changesex
// search character
- i = search_character_index (character_name);
+ i = search_character_index(character_name);
if (i >= 0)
{
- memcpy (WFIFOP (fd, 6), search_character_name (i), 24); // put correct name if found
- WFIFOW (fd, 32) = 0; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
- switch (RFIFOW (fd, 30))
+ memcpy(WFIFOP(fd, 6), search_character_name(i), 24); // put correct name if found
+ WFIFOW(fd, 32) = 0; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ switch (RFIFOW(fd, 30))
{
case 1: // block
if (acc == -1
- || isGM (acc) >=
- isGM (char_dat[i].account_id))
+ || isGM(acc) >=
+ isGM(char_dat[i].account_id))
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2724;
- WFIFOL (login_fd, 2) = char_dat[i].account_id; // account value
- WFIFOL (login_fd, 6) = 5; // status of the account
- WFIFOSET (login_fd, 10);
+ WFIFOW(login_fd, 0) = 0x2724;
+ WFIFOL(login_fd, 2) = char_dat[i].account_id; // account value
+ WFIFOL(login_fd, 6) = 5; // status of the account
+ WFIFOSET(login_fd, 10);
// printf("char : status -> login: account %d, status: %d \n", char_dat[i].account_id, 5);
}
else
- WFIFOW (fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
else
- WFIFOW (fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
break;
case 2: // ban
if (acc == -1
- || isGM (acc) >=
- isGM (char_dat[i].account_id))
+ || isGM(acc) >=
+ isGM(char_dat[i].account_id))
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2725;
- WFIFOL (login_fd, 2) = char_dat[i].account_id; // account value
- WFIFOW (login_fd, 6) = RFIFOW (fd, 32); // year
- WFIFOW (login_fd, 8) = RFIFOW (fd, 34); // month
- WFIFOW (login_fd, 10) = RFIFOW (fd, 36); // day
- WFIFOW (login_fd, 12) = RFIFOW (fd, 38); // hour
- WFIFOW (login_fd, 14) = RFIFOW (fd, 40); // minute
- WFIFOW (login_fd, 16) = RFIFOW (fd, 42); // second
- WFIFOSET (login_fd, 18);
+ WFIFOW(login_fd, 0) = 0x2725;
+ WFIFOL(login_fd, 2) = char_dat[i].account_id; // account value
+ WFIFOW(login_fd, 6) = RFIFOW(fd, 32); // year
+ WFIFOW(login_fd, 8) = RFIFOW(fd, 34); // month
+ WFIFOW(login_fd, 10) = RFIFOW(fd, 36); // day
+ WFIFOW(login_fd, 12) = RFIFOW(fd, 38); // hour
+ WFIFOW(login_fd, 14) = RFIFOW(fd, 40); // minute
+ WFIFOW(login_fd, 16) = RFIFOW(fd, 42); // second
+ WFIFOSET(login_fd, 18);
// printf("char : status -> login: account %d, ban: %dy %dm %dd %dh %dmn %ds\n",
// char_dat[i].account_id, (short)RFIFOW(fd,32), (short)RFIFOW(fd,34), (short)RFIFOW(fd,36), (short)RFIFOW(fd,38), (short)RFIFOW(fd,40), (short)RFIFOW(fd,42));
}
else
- WFIFOW (fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
else
- WFIFOW (fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
break;
case 3: // unblock
if (acc == -1
- || isGM (acc) >=
- isGM (char_dat[i].account_id))
+ || isGM(acc) >=
+ isGM(char_dat[i].account_id))
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2724;
- WFIFOL (login_fd, 2) = char_dat[i].account_id; // account value
- WFIFOL (login_fd, 6) = 0; // status of the account
- WFIFOSET (login_fd, 10);
+ WFIFOW(login_fd, 0) = 0x2724;
+ WFIFOL(login_fd, 2) = char_dat[i].account_id; // account value
+ WFIFOL(login_fd, 6) = 0; // status of the account
+ WFIFOSET(login_fd, 10);
// printf("char : status -> login: account %d, status: %d \n", char_dat[i].account_id, 0);
}
else
- WFIFOW (fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
else
- WFIFOW (fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
break;
case 4: // unban
if (acc == -1
- || isGM (acc) >=
- isGM (char_dat[i].account_id))
+ || isGM(acc) >=
+ isGM(char_dat[i].account_id))
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x272a;
- WFIFOL (login_fd, 2) = char_dat[i].account_id; // account value
- WFIFOSET (login_fd, 6);
+ WFIFOW(login_fd, 0) = 0x272a;
+ WFIFOL(login_fd, 2) = char_dat[i].account_id; // account value
+ WFIFOSET(login_fd, 6);
// printf("char : status -> login: account %d, unban request\n", char_dat[i].account_id);
}
else
- WFIFOW (fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
else
- WFIFOW (fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
break;
case 5: // changesex
if (acc == -1
- || isGM (acc) >=
- isGM (char_dat[i].account_id))
+ || isGM(acc) >=
+ isGM(char_dat[i].account_id))
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2727;
- WFIFOL (login_fd, 2) = char_dat[i].account_id; // account value
- WFIFOSET (login_fd, 6);
+ WFIFOW(login_fd, 0) = 0x2727;
+ WFIFOL(login_fd, 2) = char_dat[i].account_id; // account value
+ WFIFOSET(login_fd, 6);
// printf("char : status -> login: account %d, change sex request\n", char_dat[i].account_id);
}
else
- WFIFOW (fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 3; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
else
- WFIFOW (fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ WFIFOW(fd, 32) = 2; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
break;
}
}
else
{
// character name not found
- memcpy (WFIFOP (fd, 6), character_name, 24);
- WFIFOW (fd, 32) = 1; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
+ memcpy(WFIFOP(fd, 6), character_name, 24);
+ WFIFOW(fd, 32) = 1; // answer: 0-login-server resquest done, 1-player not found, 2-gm level too low, 3-login-server offline
}
// send answer if a player ask, not if the server ask
if (acc != -1)
{
- WFIFOSET (fd, 34);
+ WFIFOSET(fd, 34);
}
- RFIFOSKIP (fd, 44);
+ RFIFOSKIP(fd, 44);
break;
}
@@ -2761,50 +2713,50 @@ void parse_frommap (int fd)
// account_reg保存要求
case 0x2b10:
- if (RFIFOREST (fd) < 4 || RFIFOREST (fd) < RFIFOW (fd, 2))
+ if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd, 2))
return;
{
struct global_reg reg[ACCOUNT_REG2_NUM];
- int p, acc;
- acc = RFIFOL (fd, 4);
+ int p, acc;
+ acc = RFIFOL(fd, 4);
for (p = 8, j = 0;
- p < RFIFOW (fd, 2) && j < ACCOUNT_REG2_NUM;
+ p < RFIFOW(fd, 2) && j < ACCOUNT_REG2_NUM;
p += 36, j++)
{
- memcpy (reg[j].str, RFIFOP (fd, p), 32);
- reg[j].value = RFIFOL (fd, p + 32);
+ memcpy(reg[j].str, RFIFOP(fd, p), 32);
+ reg[j].value = RFIFOL(fd, p + 32);
}
- set_account_reg2 (acc, j, reg);
+ set_account_reg2(acc, j, reg);
// loginサーバーへ送る
if (login_fd > 0)
{ // don't send request if no login-server
- memcpy (WFIFOP (login_fd, 0), RFIFOP (fd, 0),
- RFIFOW (fd, 2));
- WFIFOW (login_fd, 0) = 0x2728;
- WFIFOSET (login_fd, WFIFOW (login_fd, 2));
+ memcpy(WFIFOP(login_fd, 0), RFIFOP(fd, 0),
+ RFIFOW(fd, 2));
+ WFIFOW(login_fd, 0) = 0x2728;
+ WFIFOSET(login_fd, WFIFOW(login_fd, 2));
}
// ワールドへの同垢ログインがなければmapサーバーに送る必要はない
//memcpy(buf, RFIFOP(fd,0), RFIFOW(fd,2));
//WBUFW(buf,0) = 0x2b11;
//mapif_sendall(buf, WBUFW(buf,2));
- RFIFOSKIP (fd, RFIFOW (fd, 2));
+ RFIFOSKIP(fd, RFIFOW(fd, 2));
// printf("char: save_account_reg (from map)\n");
break;
}
// Map server is requesting a divorce
case 0x2b16:
- if (RFIFOREST (fd) < 4)
+ if (RFIFOREST(fd) < 4)
return;
{
for (i = 0; i < char_num; i++)
- if (char_dat[i].char_id == RFIFOL (fd, 2))
+ if (char_dat[i].char_id == RFIFOL(fd, 2))
break;
if (i != char_num)
- char_divorce (&char_dat[i]);
+ char_divorce(&char_dat[i]);
- RFIFOSKIP (fd, 6);
+ RFIFOSKIP(fd, 6);
break;
}
@@ -2812,16 +2764,15 @@ void parse_frommap (int fd)
default:
// inter server処理に渡す
{
- int r = inter_parse_frommap (fd);
+ int r = inter_parse_frommap(fd);
if (r == 1) // 処理できた
break;
if (r == 2) // パケット長が足りない
return;
}
// inter server処理でもない場合は切断
- printf
- ("char: unknown packet 0x%04x (%d bytes to read in buffer)! (from map).\n",
- RFIFOW (fd, 0), RFIFOREST (fd));
+ printf("char: unknown packet 0x%04x (%d bytes to read in buffer)! (from map).\n",
+ RFIFOW(fd, 0), RFIFOREST(fd));
session[fd]->eof = 1;
return;
}
@@ -2829,24 +2780,24 @@ void parse_frommap (int fd)
}
static
-int search_mapserver (const char *map)
+int search_mapserver(const char *map)
{
- int i, j;
+ int i, j;
char temp_map[16];
- int temp_map_len;
+ int temp_map_len;
// printf("Searching the map-server for map '%s'... ", map);
- strncpy (temp_map, map, sizeof (temp_map));
- temp_map[sizeof (temp_map) - 1] = '\0';
- if (strchr (temp_map, '.') != NULL)
- temp_map[strchr (temp_map, '.') - temp_map + 1] = '\0'; // suppress the '.gat', but conserve the '.' to be sure of the name of the map
+ strncpy(temp_map, map, sizeof(temp_map));
+ temp_map[sizeof(temp_map) - 1] = '\0';
+ if (strchr(temp_map, '.') != NULL)
+ temp_map[strchr(temp_map, '.') - temp_map + 1] = '\0'; // suppress the '.gat', but conserve the '.' to be sure of the name of the map
- temp_map_len = strlen (temp_map);
+ temp_map_len = strlen(temp_map);
for (i = 0; i < MAX_MAP_SERVERS; i++)
if (server_fd[i] >= 0)
for (j = 0; server[i].map[j][0]; j++)
//printf("%s : %s = %d\n", server[i].map[j], map, strncmp(server[i].map[j], temp_map, temp_map_len));
- if (strncmp (server[i].map[j], temp_map, temp_map_len) == 0)
+ if (strncmp(server[i].map[j], temp_map, temp_map_len) == 0)
{
// printf("found -> server #%d.\n", i);
return i;
@@ -2860,10 +2811,10 @@ int search_mapserver (const char *map)
// Test to know if an IP come from LAN or WAN. by [Yor]
//-----------------------------------------------------
static
-int lan_ip_check (unsigned char *p)
+int lan_ip_check(unsigned char *p)
{
- int i;
- int lancheck = 1;
+ int i;
+ int lancheck = 1;
// printf("lan_ip_check: to compare: %d.%d.%d.%d, network: %d.%d.%d.%d/%d.%d.%d.%d\n",
// p[0], p[1], p[2], p[3],
@@ -2877,15 +2828,15 @@ int lan_ip_check (unsigned char *p)
break;
}
}
- printf ("LAN test (result): %s source\033[0m.\n",
+ printf("LAN test (result): %s source\033[0m.\n",
(lancheck) ? "\033[1;36mLAN" : "\033[1;32mWAN");
return lancheck;
}
static
-void parse_char (int fd)
+void parse_char(int fd)
{
- int i, ch;
+ int i, ch;
char email[40];
struct char_session_data *sd;
unsigned char *p = (unsigned char *) &session[fd]->client_addr.sin_addr;
@@ -2894,66 +2845,65 @@ void parse_char (int fd)
{ // disconnect any player (already connected to char-server or coming back from map-server) if login-server is diconnected.
if (fd == login_fd)
login_fd = -1;
- close (fd);
- delete_session (fd);
+ close(fd);
+ delete_session(fd);
return;
}
sd = (struct char_session_data*)session[fd]->session_data;
- while (RFIFOREST (fd) >= 2)
+ while (RFIFOREST(fd) >= 2)
{
// if (RFIFOW(fd,0) < 30000)
// printf("parse_char: connection #%d, packet: 0x%x (with being read: %d bytes).\n", fd, RFIFOW(fd,0), RFIFOREST(fd));
- switch (RFIFOW (fd, 0))
+ switch (RFIFOW(fd, 0))
{
case 0x20b: //20040622暗号化ragexe対応
- if (RFIFOREST (fd) < 19)
+ if (RFIFOREST(fd) < 19)
return;
- RFIFOSKIP (fd, 19);
+ RFIFOSKIP(fd, 19);
break;
case 0x61: // change password request
- if (RFIFOREST (fd) < 50)
+ if (RFIFOREST(fd) < 50)
return;
{
- WFIFOW (login_fd, 0) = 0x2740;
- WFIFOL (login_fd, 2) = sd->account_id;
- memcpy (WFIFOP (login_fd, 6), RFIFOP (fd, 2), 24);
- memcpy (WFIFOP (login_fd, 30), RFIFOP (fd, 26), 24);
- WFIFOSET (login_fd, 54);
+ WFIFOW(login_fd, 0) = 0x2740;
+ WFIFOL(login_fd, 2) = sd->account_id;
+ memcpy(WFIFOP(login_fd, 6), RFIFOP(fd, 2), 24);
+ memcpy(WFIFOP(login_fd, 30), RFIFOP(fd, 26), 24);
+ WFIFOSET(login_fd, 54);
}
- RFIFOSKIP (fd, 50);
+ RFIFOSKIP(fd, 50);
break;
case 0x65: // 接続要求
- if (RFIFOREST (fd) < 17)
+ if (RFIFOREST(fd) < 17)
return;
{
- int GM_value;
- if ((GM_value = isGM (RFIFOL (fd, 2))))
- printf
- ("Account Logged On; Account ID: %d (GM level %d).\n",
- RFIFOL (fd, 2), GM_value);
+ int GM_value;
+ if ((GM_value = isGM(RFIFOL(fd, 2))))
+ printf("Account Logged On; Account ID: %d (GM level %d).\n",
+ RFIFOL(fd, 2), GM_value);
else
- printf ("Account Logged On; Account ID: %d.\n",
- RFIFOL (fd, 2));
+ printf("Account Logged On; Account ID: %d.\n",
+ RFIFOL(fd, 2));
if (sd == NULL)
{
- CREATE (sd, struct char_session_data, 1);
+ CREATE(sd, struct char_session_data, 1);
session[fd]->session_data = sd;
- memcpy (sd->email, "no mail", 40); // put here a mail without '@' to refuse deletion if we don't receive the e-mail
+ memcpy(sd->email, "no mail", 40); // put here a mail without '@' to refuse deletion if we don't receive the e-mail
sd->connect_until_time = 0; // unknow or illimited (not displaying on map-server)
}
- sd->account_id = RFIFOL (fd, 2);
- sd->login_id1 = RFIFOL (fd, 6);
- sd->login_id2 = RFIFOL (fd, 10);
- sd->packet_tmw_version = RFIFOW (fd, 14);
- sd->sex = RFIFOB (fd, 16);
+ sd->account_id = RFIFOL(fd, 2);
+ sd->login_id1 = RFIFOL(fd, 6);
+ sd->login_id2 = RFIFOL(fd, 10);
+ sd->packet_tmw_version = RFIFOW(fd, 14);
+ sd->sex = RFIFOB(fd, 16);
// send back account_id
- WFIFOL (fd, 0) = RFIFOL (fd, 2);
- WFIFOSET (fd, 4);
+ WFIFOL(fd, 0) = RFIFOL(fd, 2);
+ WFIFOSET(fd, 4);
// search authentification
for (i = 0; i < AUTH_FIFO_SIZE; i++)
{
@@ -2969,27 +2919,27 @@ void parse_char (int fd)
{
auth_fifo[i].delflag = 1;
if (max_connect_user == 0
- || count_users () < max_connect_user)
+ || count_users() < max_connect_user)
{
if (login_fd > 0)
{ // don't send request if no login-server
// request to login-server to obtain e-mail/time limit
- WFIFOW (login_fd, 0) = 0x2716;
- WFIFOL (login_fd, 2) = sd->account_id;
- WFIFOSET (login_fd, 6);
+ WFIFOW(login_fd, 0) = 0x2716;
+ WFIFOL(login_fd, 2) = sd->account_id;
+ WFIFOSET(login_fd, 6);
}
// Record client version
auth_fifo[i].packet_tmw_version =
sd->packet_tmw_version;
// send characters to player
- mmo_char_send006b (fd, sd);
+ mmo_char_send006b(fd, sd);
}
else
{
// refuse connection (over populated)
- WFIFOW (fd, 0) = 0x6c;
- WFIFOW (fd, 2) = 0;
- WFIFOSET (fd, 3);
+ WFIFOW(fd, 0) = 0x6c;
+ WFIFOW(fd, 2) = 0;
+ WFIFOSET(fd, 3);
}
break;
}
@@ -2999,39 +2949,39 @@ void parse_char (int fd)
{
if (login_fd > 0)
{ // don't send request if no login-server
- WFIFOW (login_fd, 0) = 0x2712; // ask login-server to authentify an account
- WFIFOL (login_fd, 2) = sd->account_id;
- WFIFOL (login_fd, 6) = sd->login_id1;
- WFIFOL (login_fd, 10) = sd->login_id2; // relate to the versions higher than 18
- WFIFOB (login_fd, 14) = sd->sex;
- WFIFOL (login_fd, 15) =
+ WFIFOW(login_fd, 0) = 0x2712; // ask login-server to authentify an account
+ WFIFOL(login_fd, 2) = sd->account_id;
+ WFIFOL(login_fd, 6) = sd->login_id1;
+ WFIFOL(login_fd, 10) = sd->login_id2; // relate to the versions higher than 18
+ WFIFOB(login_fd, 14) = sd->sex;
+ WFIFOL(login_fd, 15) =
session[fd]->client_addr.sin_addr.s_addr;
- WFIFOSET (login_fd, 19);
+ WFIFOSET(login_fd, 19);
}
else
{ // if no login-server, we must refuse connection
- WFIFOW (fd, 0) = 0x6c;
- WFIFOW (fd, 2) = 0;
- WFIFOSET (fd, 3);
+ WFIFOW(fd, 0) = 0x6c;
+ WFIFOW(fd, 2) = 0;
+ WFIFOSET(fd, 3);
}
}
}
- RFIFOSKIP (fd, 17);
+ RFIFOSKIP(fd, 17);
break;
case 0x66: // キャラ選択
- if (!sd || RFIFOREST (fd) < 3)
+ if (!sd || RFIFOREST(fd) < 3)
return;
{
const char *ip = ip2str(session[fd]->client_addr.sin_addr);
// if we activated email creation and email is default email
- if (email_creation != 0 && strcmp (sd->email, "a@a.com") == 0
+ if (email_creation != 0 && strcmp(sd->email, "a@a.com") == 0
&& login_fd > 0)
{ // to modify an e-mail, login-server must be online
- WFIFOW (fd, 0) = 0x70;
- WFIFOB (fd, 2) = 0; // 00 = Incorrect Email address
- WFIFOSET (fd, 3);
+ WFIFOW(fd, 0) = 0x70;
+ WFIFOB(fd, 2) = 0; // 00 = Incorrect Email address
+ WFIFOSET(fd, 3);
// otherwise, load the character
}
@@ -3040,24 +2990,23 @@ void parse_char (int fd)
for (ch = 0; ch < 9; ch++)
if (sd->found_char[ch] >= 0
&& char_dat[sd->found_char[ch]].char_num ==
- RFIFOB (fd, 2))
+ RFIFOB(fd, 2))
break;
if (ch != 9)
{
- char_log
- ("Character Selected, Account ID: %d, Character Slot: %d, Character Name: %s [%s]\n",
- sd->account_id, RFIFOB (fd, 2),
+ char_log("Character Selected, Account ID: %d, Character Slot: %d, Character Name: %s [%s]\n",
+ sd->account_id, RFIFOB(fd, 2),
char_dat[sd->found_char[ch]].name, ip);
// searching map server
- i = search_mapserver (char_dat
+ i = search_mapserver(char_dat
[sd->found_char[ch]].last_point.
map);
// if map is not found, we check major cities
if (i < 0)
{
- if ((i = search_mapserver ("prontera.gat")) >= 0)
+ if ((i = search_mapserver("prontera.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"prontera.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 273; // savepoint coordonates
@@ -3065,9 +3014,9 @@ void parse_char (int fd)
354;
}
else if ((i =
- search_mapserver ("geffen.gat")) >= 0)
+ search_mapserver("geffen.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"geffen.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 120; // savepoint coordonates
@@ -3075,9 +3024,9 @@ void parse_char (int fd)
100;
}
else if ((i =
- search_mapserver ("morocc.gat")) >= 0)
+ search_mapserver("morocc.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"morocc.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 160; // savepoint coordonates
@@ -3085,9 +3034,9 @@ void parse_char (int fd)
94;
}
else if ((i =
- search_mapserver ("alberta.gat")) >= 0)
+ search_mapserver("alberta.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"alberta.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 116; // savepoint coordonates
@@ -3095,9 +3044,9 @@ void parse_char (int fd)
57;
}
else if ((i =
- search_mapserver ("payon.gat")) >= 0)
+ search_mapserver("payon.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"payon.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 87; // savepoint coordonates
@@ -3105,9 +3054,9 @@ void parse_char (int fd)
117;
}
else if ((i =
- search_mapserver ("izlude.gat")) >= 0)
+ search_mapserver("izlude.gat")) >= 0)
{ // check is done without 'gat'.
- memcpy (char_dat
+ memcpy(char_dat
[sd->found_char[ch]].last_point.map,
"izlude.gat", 16);
char_dat[sd->found_char[ch]].last_point.x = 94; // savepoint coordonates
@@ -3116,7 +3065,7 @@ void parse_char (int fd)
}
else
{
- int j;
+ int j;
// get first online server (with a map)
i = 0;
for (j = 0; j < MAX_MAP_SERVERS; j++)
@@ -3124,12 +3073,11 @@ void parse_char (int fd)
&& server[j].map[0][0])
{ // change save point to one of map found on the server (the first)
i = j;
- memcpy (char_dat
+ memcpy(char_dat
[sd->
found_char[ch]].last_point.
map, server[j].map[0], 16);
- printf
- ("Map-server #%d found with a map: '%s'.\n",
+ printf("Map-server #%d found with a map: '%s'.\n",
j, server[j].map[0]);
// coordonates are unknown
break;
@@ -3137,30 +3085,29 @@ void parse_char (int fd)
// if no map-server is connected, we send: server closed
if (j == MAX_MAP_SERVERS)
{
- WFIFOW (fd, 0) = 0x81;
- WFIFOL (fd, 2) = 1; // 01 = Server closed
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 3);
+ WFIFOW(fd, 0) = 0x81;
+ WFIFOL(fd, 2) = 1; // 01 = Server closed
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 3);
break;
}
}
}
- WFIFOW (fd, 0) = 0x71;
- WFIFOL (fd, 2) = char_dat[sd->found_char[ch]].char_id;
- memcpy (WFIFOP (fd, 6),
+ WFIFOW(fd, 0) = 0x71;
+ WFIFOL(fd, 2) = char_dat[sd->found_char[ch]].char_id;
+ memcpy(WFIFOP(fd, 6),
char_dat[sd->found_char[ch]].last_point.map,
16);
- printf
- ("Character selection '%s' (account: %d, slot: %d) [%s]\n",
+ printf("Character selection '%s' (account: %d, slot: %d) [%s]\n",
char_dat[sd->found_char[ch]].name,
sd->account_id, ch, ip);
- printf ("--Send IP of map-server. ");
- if (lan_ip_check (p))
- WFIFOL (fd, 22) = inet_addr (lan_map_ip);
+ printf("--Send IP of map-server. ");
+ if (lan_ip_check(p))
+ WFIFOL(fd, 22) = inet_addr(lan_map_ip);
else
- WFIFOL (fd, 22) = server[i].ip;
- WFIFOW (fd, 26) = server[i].port;
- WFIFOSET (fd, 28);
+ WFIFOL(fd, 22) = server[i].ip;
+ WFIFOW(fd, 26) = server[i].port;
+ WFIFOSET(fd, 28);
if (auth_fifo_pos >= AUTH_FIFO_SIZE)
auth_fifo_pos = 0;
//printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2);
@@ -3183,75 +3130,75 @@ void parse_char (int fd)
}
}
}
- RFIFOSKIP (fd, 3);
+ RFIFOSKIP(fd, 3);
break;
case 0x67: // 作成
- if (!sd || RFIFOREST (fd) < 37)
+ if (!sd || RFIFOREST(fd) < 37)
return;
- i = make_new_char (fd, RFIFOP (fd, 2));
+ i = make_new_char(fd, RFIFOP(fd, 2));
if (i < 0)
{
- WFIFOW (fd, 0) = 0x6e;
- WFIFOB (fd, 2) = 0x00;
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 37);
+ WFIFOW(fd, 0) = 0x6e;
+ WFIFOB(fd, 2) = 0x00;
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 37);
break;
}
- WFIFOW (fd, 0) = 0x6d;
- memset (WFIFOP (fd, 2), 0, 106);
+ WFIFOW(fd, 0) = 0x6d;
+ memset(WFIFOP(fd, 2), 0, 106);
- WFIFOL (fd, 2) = char_dat[i].char_id;
- WFIFOL (fd, 2 + 4) = char_dat[i].base_exp;
- WFIFOL (fd, 2 + 8) = char_dat[i].zeny;
- WFIFOL (fd, 2 + 12) = char_dat[i].job_exp;
- WFIFOL (fd, 2 + 16) = char_dat[i].job_level;
+ WFIFOL(fd, 2) = char_dat[i].char_id;
+ WFIFOL(fd, 2 + 4) = char_dat[i].base_exp;
+ WFIFOL(fd, 2 + 8) = char_dat[i].zeny;
+ WFIFOL(fd, 2 + 12) = char_dat[i].job_exp;
+ WFIFOL(fd, 2 + 16) = char_dat[i].job_level;
- WFIFOL (fd, 2 + 28) = char_dat[i].karma;
- WFIFOL (fd, 2 + 32) = char_dat[i].manner;
+ WFIFOL(fd, 2 + 28) = char_dat[i].karma;
+ WFIFOL(fd, 2 + 32) = char_dat[i].manner;
- WFIFOW (fd, 2 + 40) = 0x30;
- WFIFOW (fd, 2 + 42) =
+ WFIFOW(fd, 2 + 40) = 0x30;
+ WFIFOW(fd, 2 + 42) =
(char_dat[i].hp > 0x7fff) ? 0x7fff : char_dat[i].hp;
- WFIFOW (fd, 2 + 44) =
+ WFIFOW(fd, 2 + 44) =
(char_dat[i].max_hp >
0x7fff) ? 0x7fff : char_dat[i].max_hp;
- WFIFOW (fd, 2 + 46) =
+ WFIFOW(fd, 2 + 46) =
(char_dat[i].sp > 0x7fff) ? 0x7fff : char_dat[i].sp;
- WFIFOW (fd, 2 + 48) =
+ WFIFOW(fd, 2 + 48) =
(char_dat[i].max_sp >
0x7fff) ? 0x7fff : char_dat[i].max_sp;
- WFIFOW (fd, 2 + 50) = DEFAULT_WALK_SPEED; // char_dat[i].speed;
- WFIFOW (fd, 2 + 52) = char_dat[i].pc_class;
- WFIFOW (fd, 2 + 54) = char_dat[i].hair;
+ WFIFOW(fd, 2 + 50) = DEFAULT_WALK_SPEED; // char_dat[i].speed;
+ WFIFOW(fd, 2 + 52) = char_dat[i].pc_class;
+ WFIFOW(fd, 2 + 54) = char_dat[i].hair;
- WFIFOW (fd, 2 + 58) = char_dat[i].base_level;
- WFIFOW (fd, 2 + 60) = char_dat[i].skill_point;
+ WFIFOW(fd, 2 + 58) = char_dat[i].base_level;
+ WFIFOW(fd, 2 + 60) = char_dat[i].skill_point;
- WFIFOW (fd, 2 + 64) = char_dat[i].shield;
- WFIFOW (fd, 2 + 66) = char_dat[i].head_top;
- WFIFOW (fd, 2 + 68) = char_dat[i].head_mid;
- WFIFOW (fd, 2 + 70) = char_dat[i].hair_color;
+ WFIFOW(fd, 2 + 64) = char_dat[i].shield;
+ WFIFOW(fd, 2 + 66) = char_dat[i].head_top;
+ WFIFOW(fd, 2 + 68) = char_dat[i].head_mid;
+ WFIFOW(fd, 2 + 70) = char_dat[i].hair_color;
- memcpy (WFIFOP (fd, 2 + 74), char_dat[i].name, 24);
+ memcpy(WFIFOP(fd, 2 + 74), char_dat[i].name, 24);
- WFIFOB (fd, 2 + 98) =
+ WFIFOB(fd, 2 + 98) =
(char_dat[i].str > 255) ? 255 : char_dat[i].str;
- WFIFOB (fd, 2 + 99) =
+ WFIFOB(fd, 2 + 99) =
(char_dat[i].agi > 255) ? 255 : char_dat[i].agi;
- WFIFOB (fd, 2 + 100) =
+ WFIFOB(fd, 2 + 100) =
(char_dat[i].vit > 255) ? 255 : char_dat[i].vit;
- WFIFOB (fd, 2 + 101) =
+ WFIFOB(fd, 2 + 101) =
(char_dat[i].int_ > 255) ? 255 : char_dat[i].int_;
- WFIFOB (fd, 2 + 102) =
+ WFIFOB(fd, 2 + 102) =
(char_dat[i].dex > 255) ? 255 : char_dat[i].dex;
- WFIFOB (fd, 2 + 103) =
+ WFIFOB(fd, 2 + 103) =
(char_dat[i].luk > 255) ? 255 : char_dat[i].luk;
- WFIFOB (fd, 2 + 104) = char_dat[i].char_num;
+ WFIFOB(fd, 2 + 104) = char_dat[i].char_num;
- WFIFOSET (fd, 108);
- RFIFOSKIP (fd, 37);
+ WFIFOSET(fd, 108);
+ RFIFOSKIP(fd, 37);
for (ch = 0; ch < 9; ch++)
{
if (sd->found_char[ch] == -1)
@@ -3262,23 +3209,23 @@ void parse_char (int fd)
}
case 0x68: // delete char //Yor's Fix
- if (!sd || RFIFOREST (fd) < 46)
+ if (!sd || RFIFOREST(fd) < 46)
return;
- memcpy (email, RFIFOP (fd, 6), 40);
- if (e_mail_check (email) == 0)
- strncpy (email, "a@a.com", 40); // default e-mail
+ memcpy(email, RFIFOP(fd, 6), 40);
+ if (e_mail_check(email) == 0)
+ strncpy(email, "a@a.com", 40); // default e-mail
// if we activated email creation and email is default email
- if (email_creation != 0 && strcmp (sd->email, "a@a.com") == 0
+ if (email_creation != 0 && strcmp(sd->email, "a@a.com") == 0
&& login_fd > 0)
{ // to modify an e-mail, login-server must be online
// if sended email is incorrect e-mail
- if (strcmp (email, "a@a.com") == 0)
+ if (strcmp(email, "a@a.com") == 0)
{
- WFIFOW (fd, 0) = 0x70;
- WFIFOB (fd, 2) = 0; // 00 = Incorrect Email address
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 46);
+ WFIFOW(fd, 0) = 0x70;
+ WFIFOB(fd, 2) = 0; // 00 = Incorrect Email address
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 46);
// we act like we have selected a character
}
else
@@ -3286,30 +3233,30 @@ void parse_char (int fd)
// we change the packet to set it like selection.
for (i = 0; i < 9; i++)
if (char_dat[sd->found_char[i]].char_id ==
- RFIFOL (fd, 2))
+ RFIFOL(fd, 2))
{
// we save new e-mail
- memcpy (sd->email, email, 40);
+ memcpy(sd->email, email, 40);
// we send new e-mail to login-server ('online' login-server is checked before)
- WFIFOW (login_fd, 0) = 0x2715;
- WFIFOL (login_fd, 2) = sd->account_id;
- memcpy (WFIFOP (login_fd, 6), email, 40);
- WFIFOSET (login_fd, 46);
+ WFIFOW(login_fd, 0) = 0x2715;
+ WFIFOL(login_fd, 2) = sd->account_id;
+ memcpy(WFIFOP(login_fd, 6), email, 40);
+ WFIFOSET(login_fd, 46);
// skip part of the packet! (46, but leave the size of select packet: 3)
- RFIFOSKIP (fd, 43);
+ RFIFOSKIP(fd, 43);
// change value to put new packet (char selection)
- RFIFOW (fd, 0) = 0x66;
- RFIFOB (fd, 2) =
+ RFIFOW(fd, 0) = 0x66;
+ RFIFOB(fd, 2) =
char_dat[sd->found_char[i]].char_num;
// not send packet, it's modify of actual packet
break;
}
if (i == 9)
{
- WFIFOW (fd, 0) = 0x70;
- WFIFOB (fd, 2) = 0; // 00 = Incorrect Email address
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 46);
+ WFIFOW(fd, 0) = 0x70;
+ WFIFOB(fd, 2) = 0; // 00 = Incorrect Email address
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 46);
}
}
@@ -3329,18 +3276,18 @@ void parse_char (int fd)
if (sd->found_char[i] >= 0
&& (cs =
&char_dat[sd->found_char[i]])->char_id ==
- RFIFOL (fd, 2))
+ RFIFOL(fd, 2))
{
- char_delete (cs); // deletion process
+ char_delete(cs); // deletion process
if (sd->found_char[i] != char_num - 1)
{
- memcpy (&char_dat[sd->found_char[i]],
+ memcpy(&char_dat[sd->found_char[i]],
&char_dat[char_num - 1],
- sizeof (struct mmo_charstatus));
+ sizeof(struct mmo_charstatus));
// Correct moved character reference in the character's owner
{
- int j, k;
+ int j, k;
struct char_session_data *sd2;
for (j = 0; j < fd_max; j++)
{
@@ -3370,88 +3317,88 @@ void parse_char (int fd)
for (ch = i; ch < 9 - 1; ch++)
sd->found_char[ch] = sd->found_char[ch + 1];
sd->found_char[8] = -1;
- WFIFOW (fd, 0) = 0x6f;
- WFIFOSET (fd, 2);
+ WFIFOW(fd, 0) = 0x6f;
+ WFIFOSET(fd, 2);
break;
}
}
if (i == 9)
{
- WFIFOW (fd, 0) = 0x70;
- WFIFOB (fd, 2) = 0;
- WFIFOSET (fd, 3);
+ WFIFOW(fd, 0) = 0x70;
+ WFIFOB(fd, 2) = 0;
+ WFIFOSET(fd, 3);
}
//}
- RFIFOSKIP (fd, 46);
+ RFIFOSKIP(fd, 46);
}
break;
case 0x2af8: // マップサーバーログイン
- if (RFIFOREST (fd) < 60)
+ if (RFIFOREST(fd) < 60)
return;
- WFIFOW (fd, 0) = 0x2af9;
+ WFIFOW(fd, 0) = 0x2af9;
for (i = 0; i < MAX_MAP_SERVERS; i++)
{
if (server_fd[i] < 0)
break;
}
- if (i == MAX_MAP_SERVERS || strcmp ((const char *)RFIFOP (fd, 2), userid)
- || strcmp ((const char *)RFIFOP (fd, 26), passwd))
+ if (i == MAX_MAP_SERVERS || strcmp((const char *)RFIFOP(fd, 2), userid)
+ || strcmp((const char *)RFIFOP(fd, 26), passwd))
{
- WFIFOB (fd, 2) = 3;
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 60);
+ WFIFOB(fd, 2) = 3;
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 60);
}
else
{
- int len;
- WFIFOB (fd, 2) = 0;
+ int len;
+ WFIFOB(fd, 2) = 0;
session[fd]->func_parse = parse_frommap;
server_fd[i] = fd;
if (anti_freeze_enable)
server_freezeflag[i] = 5; // Map anti-freeze system. Counter. 5 ok, 4...0 freezed
- server[i].ip = RFIFOL (fd, 54);
- server[i].port = RFIFOW (fd, 58);
+ server[i].ip = RFIFOL(fd, 54);
+ server[i].port = RFIFOW(fd, 58);
server[i].users = 0;
- memset (server[i].map, 0, sizeof (server[i].map));
- WFIFOSET (fd, 3);
- RFIFOSKIP (fd, 60);
- realloc_fifo (fd, FIFOSIZE_SERVERLINK,
+ memset(server[i].map, 0, sizeof(server[i].map));
+ WFIFOSET(fd, 3);
+ RFIFOSKIP(fd, 60);
+ realloc_fifo(fd, FIFOSIZE_SERVERLINK,
FIFOSIZE_SERVERLINK);
// send gm acccounts level to map-servers
len = 4;
- WFIFOW (fd, 0) = 0x2b15;
+ WFIFOW(fd, 0) = 0x2b15;
for (i = 0; i < GM_num; i++)
{
- WFIFOL (fd, len) = gm_account[i].account_id;
- WFIFOB (fd, len + 4) =
+ WFIFOL(fd, len) = gm_account[i].account_id;
+ WFIFOB(fd, len + 4) =
(unsigned char) gm_account[i].level;
len += 5;
}
- WFIFOW (fd, 2) = len;
- WFIFOSET (fd, len);
+ WFIFOW(fd, 2) = len;
+ WFIFOSET(fd, len);
return;
}
break;
case 0x187: // Alive信号?
- if (RFIFOREST (fd) < 6)
+ if (RFIFOREST(fd) < 6)
return;
- RFIFOSKIP (fd, 6);
+ RFIFOSKIP(fd, 6);
break;
case 0x7530: // Athena情報所得
- WFIFOW (fd, 0) = 0x7531;
- WFIFOB (fd, 2) = ATHENA_MAJOR_VERSION;
- WFIFOB (fd, 3) = ATHENA_MINOR_VERSION;
- WFIFOB (fd, 4) = ATHENA_REVISION;
- WFIFOB (fd, 5) = ATHENA_RELEASE_FLAG;
- WFIFOB (fd, 6) = ATHENA_OFFICIAL_FLAG;
- WFIFOB (fd, 7) = ATHENA_SERVER_INTER | ATHENA_SERVER_CHAR;
- WFIFOW (fd, 8) = ATHENA_MOD_VERSION;
- WFIFOSET (fd, 10);
- RFIFOSKIP (fd, 2);
+ WFIFOW(fd, 0) = 0x7531;
+ WFIFOB(fd, 2) = ATHENA_MAJOR_VERSION;
+ WFIFOB(fd, 3) = ATHENA_MINOR_VERSION;
+ WFIFOB(fd, 4) = ATHENA_REVISION;
+ WFIFOB(fd, 5) = ATHENA_RELEASE_FLAG;
+ WFIFOB(fd, 6) = ATHENA_OFFICIAL_FLAG;
+ WFIFOB(fd, 7) = ATHENA_SERVER_INTER | ATHENA_SERVER_CHAR;
+ WFIFOW(fd, 8) = ATHENA_MOD_VERSION;
+ WFIFOSET(fd, 10);
+ RFIFOSKIP(fd, 2);
return;
case 0x7532: // 接続の切断(defaultと処理は一緒だが明示的にするため)
@@ -3466,18 +3413,18 @@ void parse_char (int fd)
}
// 全てのMAPサーバーにデータ送信(送信したmap鯖の数を返す)
-int mapif_sendall (const uint8_t *buf, unsigned int len)
+int mapif_sendall(const uint8_t *buf, unsigned int len)
{
- int i, c;
+ int i, c;
c = 0;
for (i = 0; i < MAX_MAP_SERVERS; i++)
{
- int fd;
+ int fd;
if ((fd = server_fd[i]) >= 0)
{
- memcpy (WFIFOP (fd, 0), buf, len);
- WFIFOSET (fd, len);
+ memcpy(WFIFOP(fd, 0), buf, len);
+ WFIFOSET(fd, len);
c++;
}
}
@@ -3485,18 +3432,18 @@ int mapif_sendall (const uint8_t *buf, unsigned int len)
}
// 自分以外の全てのMAPサーバーにデータ送信(送信したmap鯖の数を返す)
-int mapif_sendallwos (int sfd, const uint8_t *buf, unsigned int len)
+int mapif_sendallwos(int sfd, const uint8_t *buf, unsigned int len)
{
- int i, c;
+ int i, c;
c = 0;
for (i = 0; i < MAX_MAP_SERVERS; i++)
{
- int fd;
+ int fd;
if ((fd = server_fd[i]) >= 0 && fd != sfd)
{
- memcpy (WFIFOP (fd, 0), buf, len);
- WFIFOSET (fd, len);
+ memcpy(WFIFOP(fd, 0), buf, len);
+ WFIFOSET(fd, len);
c++;
}
}
@@ -3504,9 +3451,9 @@ int mapif_sendallwos (int sfd, const uint8_t *buf, unsigned int len)
}
// MAPサーバーにデータ送信(map鯖生存確認有り)
-int mapif_send (int fd, const uint8_t *buf, unsigned int len)
+int mapif_send(int fd, const uint8_t *buf, unsigned int len)
{
- int i;
+ int i;
if (fd >= 0)
{
@@ -3514,8 +3461,8 @@ int mapif_send (int fd, const uint8_t *buf, unsigned int len)
{
if (fd == server_fd[i])
{
- memcpy (WFIFOP (fd, 0), buf, len);
- WFIFOSET (fd, len);
+ memcpy(WFIFOP(fd, 0), buf, len);
+ WFIFOSET(fd, len);
return 1;
}
}
@@ -3524,51 +3471,51 @@ int mapif_send (int fd, const uint8_t *buf, unsigned int len)
}
static
-void send_users_tologin (timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
+void send_users_tologin(timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
{
- int users = count_users ();
+ int users = count_users();
uint8_t buf[16];
if (login_fd > 0 && session[login_fd])
{
// send number of user to login server
- WFIFOW (login_fd, 0) = 0x2714;
- WFIFOL (login_fd, 2) = users;
- WFIFOSET (login_fd, 6);
+ WFIFOW(login_fd, 0) = 0x2714;
+ WFIFOL(login_fd, 2) = users;
+ WFIFOSET(login_fd, 6);
}
// send number of players to all map-servers
- WBUFW (buf, 0) = 0x2b00;
- WBUFL (buf, 2) = users;
- mapif_sendall (buf, 6);
+ WBUFW(buf, 0) = 0x2b00;
+ WBUFL(buf, 2) = users;
+ mapif_sendall(buf, 6);
}
static
-void check_connect_login_server (timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
+void check_connect_login_server(timer_id tid, tick_t tick, custom_id_t id, custom_data_t data)
{
if (login_fd <= 0 || session[login_fd] == NULL)
{
- printf ("Attempt to connect to login-server...\n");
- if ((login_fd = make_connection (login_ip, login_port)) < 0)
+ printf("Attempt to connect to login-server...\n");
+ if ((login_fd = make_connection(login_ip, login_port)) < 0)
return;
session[login_fd]->func_parse = parse_tologin;
- realloc_fifo (login_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
- WFIFOW (login_fd, 0) = 0x2710;
- memset (WFIFOP (login_fd, 2), 0, 24);
- memcpy (WFIFOP (login_fd, 2), userid,
- strlen (userid) < 24 ? strlen (userid) : 24);
- memset (WFIFOP (login_fd, 26), 0, 24);
- memcpy (WFIFOP (login_fd, 26), passwd,
- strlen (passwd) < 24 ? strlen (passwd) : 24);
- WFIFOL (login_fd, 50) = 0;
- WFIFOL (login_fd, 54) = char_ip;
- WFIFOL (login_fd, 58) = char_port;
- memset (WFIFOP (login_fd, 60), 0, 20);
- memcpy (WFIFOP (login_fd, 60), server_name,
- strlen (server_name) < 20 ? strlen (server_name) : 20);
- WFIFOW (login_fd, 80) = 0;
- WFIFOW (login_fd, 82) = char_maintenance;
- WFIFOW (login_fd, 84) = char_new;
- WFIFOSET (login_fd, 86);
+ realloc_fifo(login_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
+ WFIFOW(login_fd, 0) = 0x2710;
+ memset(WFIFOP(login_fd, 2), 0, 24);
+ memcpy(WFIFOP(login_fd, 2), userid,
+ strlen(userid) < 24 ? strlen(userid) : 24);
+ memset(WFIFOP(login_fd, 26), 0, 24);
+ memcpy(WFIFOP(login_fd, 26), passwd,
+ strlen(passwd) < 24 ? strlen(passwd) : 24);
+ WFIFOL(login_fd, 50) = 0;
+ WFIFOL(login_fd, 54) = char_ip;
+ WFIFOL(login_fd, 58) = char_port;
+ memset(WFIFOP(login_fd, 60), 0, 20);
+ memcpy(WFIFOP(login_fd, 60), server_name,
+ strlen(server_name) < 20 ? strlen(server_name) : 20);
+ WFIFOW(login_fd, 80) = 0;
+ WFIFOW(login_fd, 82) = char_maintenance;
+ WFIFOW(login_fd, 84) = char_new;
+ WFIFOSET(login_fd, 86);
}
}
@@ -3576,15 +3523,15 @@ void check_connect_login_server (timer_id tid, tick_t tick, custom_id_t id, cust
// Reading Lan Support configuration by [Yor]
//-------------------------------------------
static
-int lan_config_read (const char *lancfgName)
+int lan_config_read(const char *lancfgName)
{
- int j;
+ int j;
struct hostent *h = NULL;
char line[1024], w1[1024], w2[1024];
FILE *fp;
// set default configuration
- strncpy (lan_map_ip, "127.0.0.1", sizeof (lan_map_ip));
+ strncpy(lan_map_ip, "127.0.0.1", sizeof(lan_map_ip));
subneti[0] = 127;
subneti[1] = 0;
subneti[2] = 0;
@@ -3592,33 +3539,33 @@ int lan_config_read (const char *lancfgName)
for (j = 0; j < 4; j++)
subnetmaski[j] = 255;
- fp = fopen_ (lancfgName, "r");
+ fp = fopen_(lancfgName, "r");
if (fp == NULL)
{
- printf ("LAN support configuration file not found: %s\n", lancfgName);
+ printf("LAN support configuration file not found: %s\n", lancfgName);
return 1;
}
- printf ("---start reading of Lan Support configuration...\n");
+ printf("---start reading of Lan Support configuration...\n");
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
if (line[0] == '/' && line[1] == '/')
continue;
- line[sizeof (line) - 1] = '\0';
- if (sscanf (line, "%[^:]: %[^\r\n]", w1, w2) != 2)
+ line[sizeof(line) - 1] = '\0';
+ if (sscanf(line, "%[^:]: %[^\r\n]", w1, w2) != 2)
continue;
- remove_control_chars (w1);
- remove_control_chars (w2);
- if (strcasecmp (w1, "lan_map_ip") == 0)
+ remove_control_chars(w1);
+ remove_control_chars(w2);
+ if (strcasecmp(w1, "lan_map_ip") == 0)
{ // Read map-server Lan IP Address
- h = gethostbyname (w2);
+ h = gethostbyname(w2);
if (h != NULL)
{
- sprintf (lan_map_ip, "%d.%d.%d.%d",
+ sprintf(lan_map_ip, "%d.%d.%d.%d",
(unsigned char) h->h_addr[0],
(unsigned char) h->h_addr[1],
(unsigned char) h->h_addr[2],
@@ -3626,16 +3573,16 @@ int lan_config_read (const char *lancfgName)
}
else
{
- strncpy (lan_map_ip, w2, sizeof (lan_map_ip));
- lan_map_ip[sizeof (lan_map_ip) - 1] = 0;
+ strncpy(lan_map_ip, w2, sizeof(lan_map_ip));
+ lan_map_ip[sizeof(lan_map_ip) - 1] = 0;
}
- printf ("LAN IP of map-server: %s.\n", lan_map_ip);
+ printf("LAN IP of map-server: %s.\n", lan_map_ip);
}
- else if (strcasecmp (w1, "subnet") == 0)
+ else if (strcasecmp(w1, "subnet") == 0)
{ // Read Subnetwork
for (j = 0; j < 4; j++)
subneti[j] = 0;
- h = gethostbyname (w2);
+ h = gethostbyname(w2);
if (h != NULL)
{
for (j = 0; j < 4; j++)
@@ -3643,17 +3590,17 @@ int lan_config_read (const char *lancfgName)
}
else
{
- sscanf (w2, "%d.%d.%d.%d", &subneti[0], &subneti[1],
+ sscanf(w2, "%d.%d.%d.%d", &subneti[0], &subneti[1],
&subneti[2], &subneti[3]);
}
- printf ("Sub-network of the map-server: %d.%d.%d.%d.\n",
+ printf("Sub-network of the map-server: %d.%d.%d.%d.\n",
subneti[0], subneti[1], subneti[2], subneti[3]);
}
- else if (strcasecmp (w1, "subnetmask") == 0)
+ else if (strcasecmp(w1, "subnetmask") == 0)
{ // Read Subnetwork Mask
for (j = 0; j < 4; j++)
subnetmaski[j] = 255;
- h = gethostbyname (w2);
+ h = gethostbyname(w2);
if (h != NULL)
{
for (j = 0; j < 4; j++)
@@ -3661,348 +3608,346 @@ int lan_config_read (const char *lancfgName)
}
else
{
- sscanf (w2, "%d.%d.%d.%d", &subnetmaski[0], &subnetmaski[1],
+ sscanf(w2, "%d.%d.%d.%d", &subnetmaski[0], &subnetmaski[1],
&subnetmaski[2], &subnetmaski[3]);
}
- printf ("Sub-network mask of the map-server: %d.%d.%d.%d.\n",
+ printf("Sub-network mask of the map-server: %d.%d.%d.%d.\n",
subnetmaski[0], subnetmaski[1], subnetmaski[2],
subnetmaski[3]);
}
}
- fclose_ (fp);
+ fclose_(fp);
// sub-network check of the map-server
{
unsigned int a0, a1, a2, a3;
unsigned char p[4];
- sscanf (lan_map_ip, "%d.%d.%d.%d", &a0, &a1, &a2, &a3);
+ sscanf(lan_map_ip, "%d.%d.%d.%d", &a0, &a1, &a2, &a3);
p[0] = a0;
p[1] = a1;
p[2] = a2;
p[3] = a3;
- printf ("LAN test of LAN IP of the map-server: ");
- if (lan_ip_check (p) == 0)
+ printf("LAN test of LAN IP of the map-server: ");
+ if (lan_ip_check(p) == 0)
{
- printf
- ("\033[1;31m***ERROR: LAN IP of the map-server doesn't belong to the specified Sub-network.\033[0m\n");
+ printf("\033[1;31m***ERROR: LAN IP of the map-server doesn't belong to the specified Sub-network.\033[0m\n");
}
}
- printf ("---End reading of Lan Support configuration...\n");
+ printf("---End reading of Lan Support configuration...\n");
return 0;
}
static
-int char_config_read (const char *cfgName)
+int char_config_read(const char *cfgName)
{
struct hostent *h = NULL;
char line[1024], w1[1024], w2[1024];
- FILE *fp = fopen_ (cfgName, "r");
+ FILE *fp = fopen_(cfgName, "r");
if (fp == NULL)
{
- printf ("Configuration file not found: %s.\n", cfgName);
- exit (1);
+ printf("Configuration file not found: %s.\n", cfgName);
+ exit(1);
}
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
if (line[0] == '/' && line[1] == '/')
continue;
- line[sizeof (line) - 1] = '\0';
- if (sscanf (line, "%[^:]: %[^\r\n]", w1, w2) != 2)
+ line[sizeof(line) - 1] = '\0';
+ if (sscanf(line, "%[^:]: %[^\r\n]", w1, w2) != 2)
continue;
- remove_control_chars (w1);
- remove_control_chars (w2);
- if (strcasecmp (w1, "userid") == 0)
+ remove_control_chars(w1);
+ remove_control_chars(w2);
+ if (strcasecmp(w1, "userid") == 0)
{
- memcpy (userid, w2, 24);
+ memcpy(userid, w2, 24);
}
- else if (strcasecmp (w1, "passwd") == 0)
+ else if (strcasecmp(w1, "passwd") == 0)
{
- memcpy (passwd, w2, 24);
+ memcpy(passwd, w2, 24);
}
- else if (strcasecmp (w1, "server_name") == 0)
+ else if (strcasecmp(w1, "server_name") == 0)
{
- memcpy (server_name, w2, sizeof (server_name));
- server_name[sizeof (server_name) - 1] = '\0';
- printf ("%s server has been intialized\n", w2);
+ memcpy(server_name, w2, sizeof(server_name));
+ server_name[sizeof(server_name) - 1] = '\0';
+ printf("%s server has been intialized\n", w2);
}
- else if (strcasecmp (w1, "wisp_server_name") == 0)
+ else if (strcasecmp(w1, "wisp_server_name") == 0)
{
- if (strlen (w2) >= 4)
+ if (strlen(w2) >= 4)
{
- strncpy (wisp_server_name, w2, sizeof (wisp_server_name));
- wisp_server_name[sizeof (wisp_server_name) - 1] = '\0';
+ strncpy(wisp_server_name, w2, sizeof(wisp_server_name));
+ wisp_server_name[sizeof(wisp_server_name) - 1] = '\0';
}
}
- else if (strcasecmp (w1, "login_ip") == 0)
+ else if (strcasecmp(w1, "login_ip") == 0)
{
- h = gethostbyname (w2);
+ h = gethostbyname(w2);
if (h != NULL)
{
- printf ("Login server IP address : %s -> %d.%d.%d.%d\n", w2,
+ printf("Login server IP address : %s -> %d.%d.%d.%d\n", w2,
(unsigned char) h->h_addr[0],
(unsigned char) h->h_addr[1],
(unsigned char) h->h_addr[2],
(unsigned char) h->h_addr[3]);
- sprintf (login_ip_str, "%d.%d.%d.%d",
+ sprintf(login_ip_str, "%d.%d.%d.%d",
(unsigned char) h->h_addr[0],
(unsigned char) h->h_addr[1],
(unsigned char) h->h_addr[2],
(unsigned char) h->h_addr[3]);
}
else
- memcpy (login_ip_str, w2, 16);
+ memcpy(login_ip_str, w2, 16);
}
- else if (strcasecmp (w1, "login_port") == 0)
+ else if (strcasecmp(w1, "login_port") == 0)
{
- login_port = atoi (w2);
+ login_port = atoi(w2);
}
- else if (strcasecmp (w1, "char_ip") == 0)
+ else if (strcasecmp(w1, "char_ip") == 0)
{
- h = gethostbyname (w2);
+ h = gethostbyname(w2);
if (h != NULL)
{
- printf ("Character server IP address : %s -> %d.%d.%d.%d\n",
+ printf("Character server IP address : %s -> %d.%d.%d.%d\n",
w2, (unsigned char) h->h_addr[0],
(unsigned char) h->h_addr[1],
(unsigned char) h->h_addr[2],
(unsigned char) h->h_addr[3]);
- sprintf (char_ip_str, "%d.%d.%d.%d",
+ sprintf(char_ip_str, "%d.%d.%d.%d",
(unsigned char) h->h_addr[0],
(unsigned char) h->h_addr[1],
(unsigned char) h->h_addr[2],
(unsigned char) h->h_addr[3]);
}
else
- memcpy (char_ip_str, w2, 16);
+ memcpy(char_ip_str, w2, 16);
}
- else if (strcasecmp (w1, "char_port") == 0)
+ else if (strcasecmp(w1, "char_port") == 0)
{
- char_port = atoi (w2);
+ char_port = atoi(w2);
}
- else if (strcasecmp (w1, "char_maintenance") == 0)
+ else if (strcasecmp(w1, "char_maintenance") == 0)
{
- char_maintenance = atoi (w2);
+ char_maintenance = atoi(w2);
}
- else if (strcasecmp (w1, "char_new") == 0)
+ else if (strcasecmp(w1, "char_new") == 0)
{
- char_new = atoi (w2);
+ char_new = atoi(w2);
}
- else if (strcasecmp (w1, "email_creation") == 0)
+ else if (strcasecmp(w1, "email_creation") == 0)
{
email_creation = config_switch (w2);
}
- else if (strcasecmp (w1, "char_txt") == 0)
+ else if (strcasecmp(w1, "char_txt") == 0)
{
- strcpy (char_txt, w2);
+ strcpy(char_txt, w2);
}
- else if (strcasecmp (w1, "backup_txt") == 0)
+ else if (strcasecmp(w1, "backup_txt") == 0)
{ //By zanetheinsane
- strcpy (backup_txt, w2);
+ strcpy(backup_txt, w2);
}
- else if (strcasecmp (w1, "backup_txt_flag") == 0)
+ else if (strcasecmp(w1, "backup_txt_flag") == 0)
{ // The backup_txt file was created because char deletion bug existed. Now it's finish and that take a lot of time to create a second file when there are a lot of characters. By [Yor]
backup_txt_flag = config_switch (w2);
}
- else if (strcasecmp (w1, "max_connect_user") == 0)
+ else if (strcasecmp(w1, "max_connect_user") == 0)
{
- max_connect_user = atoi (w2);
+ max_connect_user = atoi(w2);
if (max_connect_user < 0)
max_connect_user = 0; // unlimited online players
}
- else if (strcasecmp (w1, "check_ip_flag") == 0)
+ else if (strcasecmp(w1, "check_ip_flag") == 0)
{
check_ip_flag = config_switch (w2);
}
- else if (strcasecmp (w1, "autosave_time") == 0)
+ else if (strcasecmp(w1, "autosave_time") == 0)
{
- autosave_interval = atoi (w2) * 1000;
+ autosave_interval = atoi(w2) * 1000;
if (autosave_interval <= 0)
autosave_interval = DEFAULT_AUTOSAVE_INTERVAL;
}
- else if (strcasecmp (w1, "start_point") == 0)
+ else if (strcasecmp(w1, "start_point") == 0)
{
char map[32];
- int x, y;
- if (sscanf (w2, "%[^,],%d,%d", map, &x, &y) < 3)
+ int x, y;
+ if (sscanf(w2, "%[^,],%d,%d", map, &x, &y) < 3)
continue;
- if (strstr (map, ".gat") != NULL)
+ if (strstr(map, ".gat") != NULL)
{ // Verify at least if '.gat' is in the map name
- memcpy (start_point.map, map, 16);
+ memcpy(start_point.map, map, 16);
start_point.x = x;
start_point.y = y;
}
}
- else if (strcasecmp (w1, "start_zeny") == 0)
+ else if (strcasecmp(w1, "start_zeny") == 0)
{
- start_zeny = atoi (w2);
+ start_zeny = atoi(w2);
if (start_zeny < 0)
start_zeny = 0;
}
- else if (strcasecmp (w1, "start_weapon") == 0)
+ else if (strcasecmp(w1, "start_weapon") == 0)
{
- start_weapon = atoi (w2);
+ start_weapon = atoi(w2);
if (start_weapon < 0)
start_weapon = 0;
}
- else if (strcasecmp (w1, "start_armor") == 0)
+ else if (strcasecmp(w1, "start_armor") == 0)
{
- start_armor = atoi (w2);
+ start_armor = atoi(w2);
if (start_armor < 0)
start_armor = 0;
}
- else if (strcasecmp (w1, "unknown_char_name") == 0)
+ else if (strcasecmp(w1, "unknown_char_name") == 0)
{
- strcpy (unknown_char_name, w2);
+ strcpy(unknown_char_name, w2);
unknown_char_name[24] = 0;
}
- else if (strcasecmp (w1, "char_log_filename") == 0)
+ else if (strcasecmp(w1, "char_log_filename") == 0)
{
- strcpy (char_log_filename, w2);
+ strcpy(char_log_filename, w2);
}
- else if (strcasecmp (w1, "name_ignoring_case") == 0)
+ else if (strcasecmp(w1, "name_ignoring_case") == 0)
{
name_ignoring_case = config_switch (w2);
}
- else if (strcasecmp (w1, "char_name_option") == 0)
+ else if (strcasecmp(w1, "char_name_option") == 0)
{
- char_name_option = atoi (w2);
+ char_name_option = atoi(w2);
}
- else if (strcasecmp (w1, "char_name_letters") == 0)
+ else if (strcasecmp(w1, "char_name_letters") == 0)
{
- strcpy (char_name_letters, w2);
+ strcpy(char_name_letters, w2);
// online files options
}
- else if (strcasecmp (w1, "online_txt_filename") == 0)
+ else if (strcasecmp(w1, "online_txt_filename") == 0)
{
- strcpy (online_txt_filename, w2);
+ strcpy(online_txt_filename, w2);
}
- else if (strcasecmp (w1, "online_html_filename") == 0)
+ else if (strcasecmp(w1, "online_html_filename") == 0)
{
- strcpy (online_html_filename, w2);
+ strcpy(online_html_filename, w2);
}
- else if (strcasecmp (w1, "online_sorting_option") == 0)
+ else if (strcasecmp(w1, "online_sorting_option") == 0)
{
- online_sorting_option = atoi (w2);
+ online_sorting_option = atoi(w2);
}
- else if (strcasecmp (w1, "online_display_option") == 0)
+ else if (strcasecmp(w1, "online_display_option") == 0)
{
- online_display_option = atoi (w2);
+ online_display_option = atoi(w2);
}
- else if (strcasecmp (w1, "online_gm_display_min_level") == 0)
+ else if (strcasecmp(w1, "online_gm_display_min_level") == 0)
{ // minimum GM level to display 'GM' when we want to display it
- online_gm_display_min_level = atoi (w2);
+ online_gm_display_min_level = atoi(w2);
if (online_gm_display_min_level < 5) // send online file every 5 seconds to player is enough
online_gm_display_min_level = 5;
}
- else if (strcasecmp (w1, "online_refresh_html") == 0)
+ else if (strcasecmp(w1, "online_refresh_html") == 0)
{
- online_refresh_html = atoi (w2);
+ online_refresh_html = atoi(w2);
if (online_refresh_html < 1)
online_refresh_html = 1;
}
- else if (strcasecmp (w1, "anti_freeze_enable") == 0)
+ else if (strcasecmp(w1, "anti_freeze_enable") == 0)
{
anti_freeze_enable = config_switch (w2);
}
- else if (strcasecmp (w1, "anti_freeze_interval") == 0)
+ else if (strcasecmp(w1, "anti_freeze_interval") == 0)
{
- ANTI_FREEZE_INTERVAL = atoi (w2);
+ ANTI_FREEZE_INTERVAL = atoi(w2);
if (ANTI_FREEZE_INTERVAL < 5)
ANTI_FREEZE_INTERVAL = 5; // minimum 5 seconds
}
- else if (strcasecmp (w1, "import") == 0)
+ else if (strcasecmp(w1, "import") == 0)
{
- char_config_read (w2);
+ char_config_read(w2);
}
}
- fclose_ (fp);
+ fclose_(fp);
return 0;
}
-void term_func (void)
+void term_func(void)
{
- int i;
+ int i;
// write online players files with no player
for (i = 0; i < char_num; i++)
online_chars[i] = -1;
- create_online_files ();
- free (online_chars);
+ create_online_files();
+ free(online_chars);
- mmo_char_sync ();
- inter_save ();
+ mmo_char_sync();
+ inter_save();
if (gm_account != NULL)
- free (gm_account);
+ free(gm_account);
- free (char_dat);
- delete_session (login_fd);
- delete_session (char_fd);
+ free(char_dat);
+ delete_session(login_fd);
+ delete_session(char_fd);
- char_log ("----End of char-server (normal end with closing of all files).\n");
+ char_log("----End of char-server (normal end with closing of all files).\n");
}
-int do_init (int argc, char **argv)
+int do_init(int argc, char **argv)
{
- int i;
+ int i;
// a newline in the log...
- char_log ("");
- char_log ("The char-server starting...\n");
+ char_log("");
+ char_log("The char-server starting...\n");
- char_config_read ((argc < 2) ? CHAR_CONF_NAME : argv[1]);
- lan_config_read ((argc > 1) ? argv[1] : LOGIN_LAN_CONF_NAME);
+ char_config_read((argc < 2) ? CHAR_CONF_NAME : argv[1]);
+ lan_config_read((argc > 1) ? argv[1] : LOGIN_LAN_CONF_NAME);
- login_ip = inet_addr (login_ip_str);
- char_ip = inet_addr (char_ip_str);
+ login_ip = inet_addr(login_ip_str);
+ char_ip = inet_addr(char_ip_str);
for (i = 0; i < MAX_MAP_SERVERS; i++)
{
- memset (&server[i], 0, sizeof (struct mmo_map_server));
+ memset(&server[i], 0, sizeof(struct mmo_map_server));
server_fd[i] = -1;
}
- mmo_char_init ();
+ mmo_char_init();
- update_online = time (NULL);
- create_online_files (); // update online players files at start of the server
+ update_online = time(NULL);
+ create_online_files(); // update online players files at start of the server
- inter_init ((argc > 2) ? argv[2] : inter_cfgName); // inter server 初期化
+ inter_init((argc > 2) ? argv[2] : inter_cfgName); // inter server 初期化
// set_termfunc (do_final);
- set_defaultparse (parse_char);
+ set_defaultparse(parse_char);
- char_fd = make_listen_port (char_port);
+ char_fd = make_listen_port(char_port);
// add_timer_func_list (check_connect_login_server, "check_connect_login_server");
// add_timer_func_list (send_users_tologin, "send_users_tologin");
// add_timer_func_list (mmo_char_sync_timer, "mmo_char_sync_timer");
- i = add_timer_interval (gettick () + 1000, check_connect_login_server, 0,
+ i = add_timer_interval(gettick() + 1000, check_connect_login_server, 0,
0, 10 * 1000);
- i = add_timer_interval (gettick () + 1000, send_users_tologin, 0, 0,
+ i = add_timer_interval(gettick() + 1000, send_users_tologin, 0, 0,
5 * 1000);
- i = add_timer_interval (gettick () + autosave_interval,
+ i = add_timer_interval(gettick() + autosave_interval,
mmo_char_sync_timer, 0, 0, autosave_interval);
if (anti_freeze_enable > 0)
{
// add_timer_func_list (map_anti_freeze_system, "map_anti_freeze_system");
- i = add_timer_interval (gettick () + 1000, map_anti_freeze_system, 0, 0, ANTI_FREEZE_INTERVAL * 1000); // checks every X seconds user specifies
+ i = add_timer_interval(gettick() + 1000, map_anti_freeze_system, 0, 0, ANTI_FREEZE_INTERVAL * 1000); // checks every X seconds user specifies
}
- char_log ("The char-server is ready (Server is listening on the port %d).\n",
+ char_log("The char-server is ready (Server is listening on the port %d).\n",
char_port);
- printf
- ("The char-server is \033[1;32mready\033[0m (Server is listening on the port %d).\n\n",
+ printf("The char-server is \033[1;32mready\033[0m (Server is listening on the port %d).\n\n",
char_port);
return 0;
diff --git a/src/char/char.hpp b/src/char/char.hpp
index f93e86b..112a5af 100644
--- a/src/char/char.hpp
+++ b/src/char/char.hpp
@@ -4,9 +4,9 @@
#define MAX_MAP_SERVERS 30
-#define CHAR_CONF_NAME "conf/char_athena.conf"
+#define CHAR_CONF_NAME "conf/char_athena.conf"
-#define LOGIN_LAN_CONF_NAME "conf/lan_support.conf"
+#define LOGIN_LAN_CONF_NAME "conf/lan_support.conf"
#define DEFAULT_AUTOSAVE_INTERVAL 300*1000
@@ -14,19 +14,19 @@ struct mmo_map_server
{
long ip;
short port;
- int users;
+ int users;
char map[MAX_MAP_PER_SERVER][16];
};
-int search_character_index (const char *character_name);
-char *search_character_name (int index);
+int search_character_index(const char *character_name);
+char *search_character_name(int index);
-int mapif_sendall (const uint8_t *buf, unsigned int len);
-int mapif_sendallwos (int fd, const uint8_t *buf, unsigned int len);
-int mapif_send (int fd, const uint8_t *buf, unsigned int len);
+int mapif_sendall(const uint8_t *buf, unsigned int len);
+int mapif_sendallwos(int fd, const uint8_t *buf, unsigned int len);
+int mapif_send(int fd, const uint8_t *buf, unsigned int len);
__attribute__((format(printf, 1, 2)))
-int char_log (const char *fmt, ...);
+int char_log(const char *fmt, ...);
extern int autosave_interval;
diff --git a/src/char/int_party.cpp b/src/char/int_party.cpp
index 6602ce5..19c4fbd 100644
--- a/src/char/int_party.cpp
+++ b/src/char/int_party.cpp
@@ -15,24 +15,24 @@ char party_txt[1024] = "save/party.txt";
static struct dbt *party_db;
static int party_newid = 100;
-int mapif_party_broken (int party_id, int flag);
-int party_check_empty (struct party *p);
-int mapif_parse_PartyLeave (int fd, int party_id, int account_id);
+int mapif_party_broken(int party_id, int flag);
+int party_check_empty(struct party *p);
+int mapif_parse_PartyLeave(int fd, int party_id, int account_id);
// パーティデータの文字列への変換
static
-int inter_party_tostr (char *str, struct party *p)
+int inter_party_tostr(char *str, struct party *p)
{
- int i, len;
+ int i, len;
len =
- sprintf (str, "%d\t%s\t%d,%d\t", p->party_id, p->name, p->exp,
+ sprintf(str, "%d\t%s\t%d,%d\t", p->party_id, p->name, p->exp,
p->item);
for (i = 0; i < MAX_PARTY; i++)
{
struct party_member *m = &p->member[i];
len +=
- sprintf (str + len, "%d,%d\t%s\t", m->account_id, m->leader,
+ sprintf(str + len, "%d,%d\t%s\t", m->account_id, m->leader,
((m->account_id > 0) ? m->name : "NoMember"));
}
@@ -41,28 +41,27 @@ int inter_party_tostr (char *str, struct party *p)
// パーティデータの文字列からの変換
static
-int inter_party_fromstr (char *str, struct party *p)
+int inter_party_fromstr(char *str, struct party *p)
{
- int i, j;
- int tmp_int[16];
+ int i, j;
+ int tmp_int[16];
char tmp_str[256];
- memset (p, 0, sizeof (struct party));
+ memset(p, 0, sizeof(struct party));
// printf("sscanf party main info\n");
- if (sscanf
- (str, "%d\t%[^\t]\t%d,%d\t", &tmp_int[0], tmp_str, &tmp_int[1],
+ if (sscanf(str, "%d\t%[^\t]\t%d,%d\t", &tmp_int[0], tmp_str, &tmp_int[1],
&tmp_int[2]) != 4)
return 1;
p->party_id = tmp_int[0];
- strcpy (p->name, tmp_str);
+ strcpy(p->name, tmp_str);
p->exp = tmp_int[1];
p->item = tmp_int[2];
// printf("%d [%s] %d %d\n", tmp_int[0], tmp_str[0], tmp_int[1], tmp_int[2]);
for (j = 0; j < 3 && str != NULL; j++)
- str = strchr (str + 1, '\t');
+ str = strchr(str + 1, '\t');
for (i = 0; i < MAX_PARTY; i++)
{
@@ -71,64 +70,63 @@ int inter_party_fromstr (char *str, struct party *p)
return 1;
// printf("sscanf party member info %d\n", i);
- if (sscanf
- (str + 1, "%d,%d\t%[^\t]\t", &tmp_int[0], &tmp_int[1],
+ if (sscanf(str + 1, "%d,%d\t%[^\t]\t", &tmp_int[0], &tmp_int[1],
tmp_str) != 3)
return 1;
m->account_id = tmp_int[0];
m->leader = tmp_int[1];
- strncpy (m->name, tmp_str, sizeof (m->name));
+ strncpy(m->name, tmp_str, sizeof(m->name));
// printf(" %d %d [%s]\n", tmp_int[0], tmp_int[1], tmp_str);
for (j = 0; j < 2 && str != NULL; j++)
- str = strchr (str + 1, '\t');
+ str = strchr(str + 1, '\t');
}
return 0;
}
// パーティデータのロード
-int inter_party_init (void)
+int inter_party_init(void)
{
char line[8192];
struct party *p;
FILE *fp;
- int c = 0;
- int i, j;
+ int c = 0;
+ int i, j;
- party_db = numdb_init ();
+ party_db = numdb_init();
- if ((fp = fopen_ (party_txt, "r")) == NULL)
+ if ((fp = fopen_(party_txt, "r")) == NULL)
return 1;
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
j = 0;
- if (sscanf (line, "%d\t%%newid%%\n%n", &i, &j) == 1 && j > 0
+ if (sscanf(line, "%d\t%%newid%%\n%n", &i, &j) == 1 && j > 0
&& party_newid <= i)
{
party_newid = i;
continue;
}
- CREATE (p, struct party, 1);
- if (inter_party_fromstr (line, p) == 0 && p->party_id > 0)
+ CREATE(p, struct party, 1);
+ if (inter_party_fromstr(line, p) == 0 && p->party_id > 0)
{
if (p->party_id >= party_newid)
party_newid = p->party_id + 1;
- numdb_insert (party_db, p->party_id, p);
- party_check_empty (p);
+ numdb_insert(party_db, p->party_id, p);
+ party_check_empty(p);
}
else
{
- printf ("int_party: broken data [%s] line %d\n", party_txt,
+ printf("int_party: broken data [%s] line %d\n", party_txt,
c + 1);
- free (p);
+ free(p);
}
c++;
}
- fclose_ (fp);
+ fclose_(fp);
// printf("int_party: %s read done (%d parties)\n", party_txt, c);
return 0;
@@ -136,31 +134,31 @@ int inter_party_init (void)
// パーティーデータのセーブ用
static
-void inter_party_save_sub (db_key_t key, db_val_t data, va_list ap)
+void inter_party_save_sub(db_key_t key, db_val_t data, va_list ap)
{
char line[8192];
FILE *fp;
- inter_party_tostr (line, (struct party *) data);
- fp = va_arg (ap, FILE *);
- fprintf (fp, "%s\n", line);
+ inter_party_tostr(line, (struct party *) data);
+ fp = va_arg(ap, FILE *);
+ fprintf(fp, "%s\n", line);
}
// パーティーデータのセーブ
-int inter_party_save (void)
+int inter_party_save(void)
{
FILE *fp;
- int lock;
+ int lock;
- if ((fp = lock_fopen (party_txt, &lock)) == NULL)
+ if ((fp = lock_fopen(party_txt, &lock)) == NULL)
{
- printf ("int_party: cant write [%s] !!! data is lost !!!\n",
+ printf("int_party: cant write [%s] !!! data is lost !!!\n",
party_txt);
return 1;
}
- numdb_foreach (party_db, inter_party_save_sub, fp);
+ numdb_foreach(party_db, inter_party_save_sub, fp);
// fprintf(fp, "%d\t%%newid%%\n", party_newid);
- lock_fclose (fp, party_txt, &lock);
+ lock_fclose(fp, party_txt, &lock);
// printf("int_party: %s saved.\n", party_txt);
return 0;
@@ -168,37 +166,37 @@ int inter_party_save (void)
// パーティ名検索用
static
-void search_partyname_sub (db_key_t key, db_val_t data, va_list ap)
+void search_partyname_sub(db_key_t key, db_val_t data, va_list ap)
{
struct party *p = (struct party *) data, **dst;
char *str;
- str = va_arg (ap, char *);
- dst = va_arg (ap, struct party **);
- if (strcasecmp (p->name, str) == 0)
+ str = va_arg(ap, char *);
+ dst = va_arg(ap, struct party **);
+ if (strcasecmp(p->name, str) == 0)
*dst = p;
}
// パーティ名検索
static
-struct party *search_partyname (const char *str)
+struct party *search_partyname(const char *str)
{
struct party *p = NULL;
- numdb_foreach (party_db, search_partyname_sub, str, &p);
+ numdb_foreach(party_db, search_partyname_sub, str, &p);
return p;
}
// EXP公平分配できるかチェック
static
-int party_check_exp_share (struct party *p)
+int party_check_exp_share(struct party *p)
{
- int i;
- int maxlv = 0, minlv = 0x7fffffff;
+ int i;
+ int maxlv = 0, minlv = 0x7fffffff;
for (i = 0; i < MAX_PARTY; i++)
{
- int lv = p->member[i].lv;
+ int lv = p->member[i].lv;
if (p->member[i].online)
{
if (lv < minlv)
@@ -212,9 +210,9 @@ int party_check_exp_share (struct party *p)
}
// パーティが空かどうかチェック
-int party_check_empty (struct party *p)
+int party_check_empty(struct party *p)
{
- int i;
+ int i;
// printf("party check empty %08X\n", (int)p);
for (i = 0; i < MAX_PARTY; i++)
@@ -226,24 +224,24 @@ int party_check_empty (struct party *p)
}
}
// 誰もいないので解散
- mapif_party_broken (p->party_id, 0);
- numdb_erase (party_db, p->party_id);
- free (p);
+ mapif_party_broken(p->party_id, 0);
+ numdb_erase(party_db, p->party_id);
+ free(p);
return 1;
}
// キャラの競合がないかチェック用
static
-void party_check_conflict_sub (db_key_t key, db_val_t data, va_list ap)
+void party_check_conflict_sub(db_key_t key, db_val_t data, va_list ap)
{
struct party *p = (struct party *) data;
- int party_id, account_id, i;
+ int party_id, account_id, i;
char *nick;
- party_id = va_arg (ap, int);
- account_id = va_arg (ap, int);
- nick = va_arg (ap, char *);
+ party_id = va_arg(ap, int);
+ account_id = va_arg(ap, int);
+ nick = va_arg(ap, char *);
if (p->party_id == party_id) // 本来の所属なので問題なし
return;
@@ -251,21 +249,21 @@ void party_check_conflict_sub (db_key_t key, db_val_t data, va_list ap)
for (i = 0; i < MAX_PARTY; i++)
{
if (p->member[i].account_id == account_id
- && strcmp (p->member[i].name, nick) == 0)
+ && strcmp(p->member[i].name, nick) == 0)
{
// 別のパーティに偽の所属データがあるので脱退
- printf ("int_party: party conflict! %d %d %d\n", account_id,
+ printf("int_party: party conflict! %d %d %d\n", account_id,
party_id, p->party_id);
- mapif_parse_PartyLeave (-1, p->party_id, account_id);
+ mapif_parse_PartyLeave(-1, p->party_id, account_id);
}
}
}
// キャラの競合がないかチェック
static
-int party_check_conflict (int party_id, int account_id, const char *nick)
+int party_check_conflict(int party_id, int account_id, const char *nick)
{
- numdb_foreach (party_db, party_check_conflict_sub, party_id, account_id,
+ numdb_foreach(party_db, party_check_conflict_sub, party_id, account_id,
nick);
return 0;
@@ -276,54 +274,54 @@ int party_check_conflict (int party_id, int account_id, const char *nick)
// パーティ作成可否
static
-int mapif_party_created (int fd, int account_id, struct party *p)
+int mapif_party_created(int fd, int account_id, struct party *p)
{
- WFIFOW (fd, 0) = 0x3820;
- WFIFOL (fd, 2) = account_id;
+ WFIFOW(fd, 0) = 0x3820;
+ WFIFOL(fd, 2) = account_id;
if (p != NULL)
{
- WFIFOB (fd, 6) = 0;
- WFIFOL (fd, 7) = p->party_id;
- memcpy (WFIFOP (fd, 11), p->name, 24);
- printf ("int_party: created! %d %s\n", p->party_id, p->name);
+ WFIFOB(fd, 6) = 0;
+ WFIFOL(fd, 7) = p->party_id;
+ memcpy(WFIFOP(fd, 11), p->name, 24);
+ printf("int_party: created! %d %s\n", p->party_id, p->name);
}
else
{
- WFIFOB (fd, 6) = 1;
- WFIFOL (fd, 7) = 0;
- memcpy (WFIFOP (fd, 11), "error", 24);
+ WFIFOB(fd, 6) = 1;
+ WFIFOL(fd, 7) = 0;
+ memcpy(WFIFOP(fd, 11), "error", 24);
}
- WFIFOSET (fd, 35);
+ WFIFOSET(fd, 35);
return 0;
}
// パーティ情報見つからず
static
-int mapif_party_noinfo (int fd, int party_id)
+int mapif_party_noinfo(int fd, int party_id)
{
- WFIFOW (fd, 0) = 0x3821;
- WFIFOW (fd, 2) = 8;
- WFIFOL (fd, 4) = party_id;
- WFIFOSET (fd, 8);
- printf ("int_party: info not found %d\n", party_id);
+ WFIFOW(fd, 0) = 0x3821;
+ WFIFOW(fd, 2) = 8;
+ WFIFOL(fd, 4) = party_id;
+ WFIFOSET(fd, 8);
+ printf("int_party: info not found %d\n", party_id);
return 0;
}
// パーティ情報まとめ送り
static
-int mapif_party_info (int fd, struct party *p)
+int mapif_party_info(int fd, struct party *p)
{
- unsigned char buf[4 + sizeof (struct party)];
+ unsigned char buf[4 + sizeof(struct party)];
- WBUFW (buf, 0) = 0x3821;
- memcpy (buf + 4, p, sizeof (struct party));
- WBUFW (buf, 2) = 4 + sizeof (struct party);
+ WBUFW(buf, 0) = 0x3821;
+ memcpy(buf + 4, p, sizeof(struct party));
+ WBUFW(buf, 2) = 4 + sizeof(struct party);
if (fd < 0)
- mapif_sendall (buf, WBUFW (buf, 2));
+ mapif_sendall(buf, WBUFW(buf, 2));
else
- mapif_send (fd, buf, WBUFW (buf, 2));
+ mapif_send(fd, buf, WBUFW(buf, 2));
// printf("int_party: info %d %s\n", p->party_id, p->name);
return 0;
@@ -331,35 +329,35 @@ int mapif_party_info (int fd, struct party *p)
// パーティメンバ追加可否
static
-int mapif_party_memberadded (int fd, int party_id, int account_id, int flag)
+int mapif_party_memberadded(int fd, int party_id, int account_id, int flag)
{
- WFIFOW (fd, 0) = 0x3822;
- WFIFOL (fd, 2) = party_id;
- WFIFOL (fd, 6) = account_id;
- WFIFOB (fd, 10) = flag;
- WFIFOSET (fd, 11);
+ WFIFOW(fd, 0) = 0x3822;
+ WFIFOL(fd, 2) = party_id;
+ WFIFOL(fd, 6) = account_id;
+ WFIFOB(fd, 10) = flag;
+ WFIFOSET(fd, 11);
return 0;
}
// パーティ設定変更通知
static
-int mapif_party_optionchanged (int fd, struct party *p, int account_id,
+int mapif_party_optionchanged(int fd, struct party *p, int account_id,
int flag)
{
unsigned char buf[15];
- WBUFW (buf, 0) = 0x3823;
- WBUFL (buf, 2) = p->party_id;
- WBUFL (buf, 6) = account_id;
- WBUFW (buf, 10) = p->exp;
- WBUFW (buf, 12) = p->item;
- WBUFB (buf, 14) = flag;
+ WBUFW(buf, 0) = 0x3823;
+ WBUFL(buf, 2) = p->party_id;
+ WBUFL(buf, 6) = account_id;
+ WBUFW(buf, 10) = p->exp;
+ WBUFW(buf, 12) = p->item;
+ WBUFB(buf, 14) = flag;
if (flag == 0)
- mapif_sendall (buf, 15);
+ mapif_sendall(buf, 15);
else
- mapif_send (fd, buf, 15);
- printf ("int_party: option changed %d %d %d %d %d\n", p->party_id,
+ mapif_send(fd, buf, 15);
+ printf("int_party: option changed %d %d %d %d %d\n", p->party_id,
account_id, p->exp, p->item, flag);
return 0;
@@ -367,62 +365,62 @@ int mapif_party_optionchanged (int fd, struct party *p, int account_id,
// パーティ脱退通知
static
-int mapif_party_leaved (int party_id, int account_id, char *name)
+int mapif_party_leaved(int party_id, int account_id, char *name)
{
unsigned char buf[34];
- WBUFW (buf, 0) = 0x3824;
- WBUFL (buf, 2) = party_id;
- WBUFL (buf, 6) = account_id;
- memcpy (WBUFP (buf, 10), name, 24);
- mapif_sendall (buf, 34);
- printf ("int_party: party leaved %d %d %s\n", party_id, account_id, name);
+ WBUFW(buf, 0) = 0x3824;
+ WBUFL(buf, 2) = party_id;
+ WBUFL(buf, 6) = account_id;
+ memcpy(WBUFP(buf, 10), name, 24);
+ mapif_sendall(buf, 34);
+ printf("int_party: party leaved %d %d %s\n", party_id, account_id, name);
return 0;
}
// パーティマップ更新通知
static
-int mapif_party_membermoved (struct party *p, int idx)
+int mapif_party_membermoved(struct party *p, int idx)
{
unsigned char buf[29];
- WBUFW (buf, 0) = 0x3825;
- WBUFL (buf, 2) = p->party_id;
- WBUFL (buf, 6) = p->member[idx].account_id;
- memcpy (WBUFP (buf, 10), p->member[idx].map, 16);
- WBUFB (buf, 26) = p->member[idx].online;
- WBUFW (buf, 27) = p->member[idx].lv;
- mapif_sendall (buf, 29);
+ WBUFW(buf, 0) = 0x3825;
+ WBUFL(buf, 2) = p->party_id;
+ WBUFL(buf, 6) = p->member[idx].account_id;
+ memcpy(WBUFP(buf, 10), p->member[idx].map, 16);
+ WBUFB(buf, 26) = p->member[idx].online;
+ WBUFW(buf, 27) = p->member[idx].lv;
+ mapif_sendall(buf, 29);
return 0;
}
// パーティ解散通知
-int mapif_party_broken (int party_id, int flag)
+int mapif_party_broken(int party_id, int flag)
{
unsigned char buf[7];
- WBUFW (buf, 0) = 0x3826;
- WBUFL (buf, 2) = party_id;
- WBUFB (buf, 6) = flag;
- mapif_sendall (buf, 7);
- printf ("int_party: broken %d\n", party_id);
+ WBUFW(buf, 0) = 0x3826;
+ WBUFL(buf, 2) = party_id;
+ WBUFB(buf, 6) = flag;
+ mapif_sendall(buf, 7);
+ printf("int_party: broken %d\n", party_id);
return 0;
}
// パーティ内発言
static
-int mapif_party_message (int party_id, int account_id, const char *mes, int len)
+int mapif_party_message(int party_id, int account_id, const char *mes, int len)
{
unsigned char buf[len + 12];
- WBUFW (buf, 0) = 0x3827;
- WBUFW (buf, 2) = len + 12;
- WBUFL (buf, 4) = party_id;
- WBUFL (buf, 8) = account_id;
- memcpy (WBUFP (buf, 12), mes, len);
- mapif_sendall (buf, len + 12);
+ WBUFW(buf, 0) = 0x3827;
+ WBUFW(buf, 2) = len + 12;
+ WBUFL(buf, 4) = party_id;
+ WBUFL(buf, 8) = account_id;
+ memcpy(WBUFP(buf, 12), mes, len);
+ mapif_sendall(buf, len + 12);
return 0;
}
@@ -432,70 +430,70 @@ int mapif_party_message (int party_id, int account_id, const char *mes, int len)
// パーティ
static
-int mapif_parse_CreateParty (int fd, int account_id, const char *name, const char *nick,
+int mapif_parse_CreateParty(int fd, int account_id, const char *name, const char *nick,
const char *map, int lv)
{
struct party *p;
- int i;
+ int i;
for (i = 0; i < 24 && name[i]; i++)
{
if (!(name[i] & 0xe0) || name[i] == 0x7f)
{
- printf ("int_party: illegal party name [%s]\n", name);
- mapif_party_created (fd, account_id, NULL);
+ printf("int_party: illegal party name [%s]\n", name);
+ mapif_party_created(fd, account_id, NULL);
return 0;
}
}
- if ((p = search_partyname (name)) != NULL)
+ if ((p = search_partyname(name)) != NULL)
{
- printf ("int_party: same name party exists [%s]\n", name);
- mapif_party_created (fd, account_id, NULL);
+ printf("int_party: same name party exists [%s]\n", name);
+ mapif_party_created(fd, account_id, NULL);
return 0;
}
- CREATE (p, struct party, 1);
+ CREATE(p, struct party, 1);
p->party_id = party_newid++;
- memcpy (p->name, name, 24);
+ memcpy(p->name, name, 24);
p->exp = 0;
p->item = 0;
p->member[0].account_id = account_id;
- memcpy (p->member[0].name, nick, 24);
- memcpy (p->member[0].map, map, 16);
+ memcpy(p->member[0].name, nick, 24);
+ memcpy(p->member[0].map, map, 16);
p->member[0].leader = 1;
p->member[0].online = 1;
p->member[0].lv = lv;
- numdb_insert (party_db, p->party_id, p);
+ numdb_insert(party_db, p->party_id, p);
- mapif_party_created (fd, account_id, p);
- mapif_party_info (fd, p);
+ mapif_party_created(fd, account_id, p);
+ mapif_party_info(fd, p);
return 0;
}
// パーティ情報要求
static
-int mapif_parse_PartyInfo (int fd, int party_id)
+int mapif_parse_PartyInfo(int fd, int party_id)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p != NULL)
- mapif_party_info (fd, p);
+ mapif_party_info(fd, p);
else
- mapif_party_noinfo (fd, party_id);
+ mapif_party_noinfo(fd, party_id);
return 0;
}
// パーティ追加要求
static
-int mapif_parse_PartyAddMember (int fd, int party_id, int account_id,
+int mapif_parse_PartyAddMember(int fd, int party_id, int account_id,
const char *nick, const char *map, int lv)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p == NULL)
{
- mapif_party_memberadded (fd, party_id, account_id, 1);
+ mapif_party_memberadded(fd, party_id, account_id, 1);
return 0;
}
@@ -503,44 +501,44 @@ int mapif_parse_PartyAddMember (int fd, int party_id, int account_id,
{
if (p->member[i].account_id == 0)
{
- int flag = 0;
+ int flag = 0;
p->member[i].account_id = account_id;
- memcpy (p->member[i].name, nick, 24);
- memcpy (p->member[i].map, map, 16);
+ memcpy(p->member[i].name, nick, 24);
+ memcpy(p->member[i].map, map, 16);
p->member[i].leader = 0;
p->member[i].online = 1;
p->member[i].lv = lv;
- mapif_party_memberadded (fd, party_id, account_id, 0);
- mapif_party_info (-1, p);
+ mapif_party_memberadded(fd, party_id, account_id, 0);
+ mapif_party_info(-1, p);
- if (p->exp > 0 && !party_check_exp_share (p))
+ if (p->exp > 0 && !party_check_exp_share(p))
{
p->exp = 0;
flag = 0x01;
}
if (flag)
- mapif_party_optionchanged (fd, p, 0, 0);
+ mapif_party_optionchanged(fd, p, 0, 0);
return 0;
}
}
- mapif_party_memberadded (fd, party_id, account_id, 1);
+ mapif_party_memberadded(fd, party_id, account_id, 1);
return 0;
}
// パーティー設定変更要求
static
-int mapif_parse_PartyChangeOption (int fd, int party_id, int account_id,
+int mapif_parse_PartyChangeOption(int fd, int party_id, int account_id,
int exp, int item)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p == NULL)
return 0;
p->exp = exp;
- int flag = 0;
- if (exp > 0 && !party_check_exp_share (p))
+ int flag = 0;
+ if (exp > 0 && !party_check_exp_share(p))
{
flag |= 0x01;
p->exp = 0;
@@ -548,25 +546,25 @@ int mapif_parse_PartyChangeOption (int fd, int party_id, int account_id,
p->item = item;
- mapif_party_optionchanged (fd, p, account_id, flag);
+ mapif_party_optionchanged(fd, p, account_id, flag);
return 0;
}
// パーティ脱退要求
-int mapif_parse_PartyLeave (int fd, int party_id, int account_id)
+int mapif_parse_PartyLeave(int fd, int party_id, int account_id)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p != NULL)
{
for (int i = 0; i < MAX_PARTY; i++)
{
if (p->member[i].account_id == account_id)
{
- mapif_party_leaved (party_id, account_id, p->member[i].name);
+ mapif_party_leaved(party_id, account_id, p->member[i].name);
- memset (&p->member[i], 0, sizeof (struct party_member));
- if (party_check_empty (p) == 0)
- mapif_party_info (-1, p); // まだ人がいるのでデータ送信
+ memset(&p->member[i], 0, sizeof(struct party_member));
+ if (party_check_empty(p) == 0)
+ mapif_party_info(-1, p); // まだ人がいるのでデータ送信
return 0;
}
}
@@ -577,10 +575,10 @@ int mapif_parse_PartyLeave (int fd, int party_id, int account_id)
// パーティマップ更新要求
static
-int mapif_parse_PartyChangeMap (int fd, int party_id, int account_id,
+int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id,
const char *map, int online, int lv)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p == NULL)
return 0;
@@ -588,20 +586,20 @@ int mapif_parse_PartyChangeMap (int fd, int party_id, int account_id,
{
if (p->member[i].account_id == account_id)
{
- int flag = 0;
+ int flag = 0;
- memcpy (p->member[i].map, map, 16);
+ memcpy(p->member[i].map, map, 16);
p->member[i].online = online;
p->member[i].lv = lv;
- mapif_party_membermoved (p, i);
+ mapif_party_membermoved(p, i);
- if (p->exp > 0 && !party_check_exp_share (p))
+ if (p->exp > 0 && !party_check_exp_share(p))
{
p->exp = 0;
flag = 1;
}
if (flag)
- mapif_party_optionchanged (fd, p, 0, 0);
+ mapif_party_optionchanged(fd, p, 0, 0);
break;
}
}
@@ -611,31 +609,31 @@ int mapif_parse_PartyChangeMap (int fd, int party_id, int account_id,
// パーティ解散要求
static
-int mapif_parse_BreakParty (int fd, int party_id)
+int mapif_parse_BreakParty(int fd, int party_id)
{
- struct party *p = (struct party *)numdb_search (party_db, party_id);
+ struct party *p = (struct party *)numdb_search(party_db, party_id);
if (p == NULL)
return 0;
- numdb_erase (party_db, party_id);
- mapif_party_broken (fd, party_id);
+ numdb_erase(party_db, party_id);
+ mapif_party_broken(fd, party_id);
return 0;
}
// パーティメッセージ送信
static
-int mapif_parse_PartyMessage (int fd, int party_id, int account_id, const char *mes,
+int mapif_parse_PartyMessage(int fd, int party_id, int account_id, const char *mes,
int len)
{
- return mapif_party_message (party_id, account_id, mes, len);
+ return mapif_party_message(party_id, account_id, mes, len);
}
// パーティチェック要求
static
-int mapif_parse_PartyCheck (int fd, int party_id, int account_id, const char *nick)
+int mapif_parse_PartyCheck(int fd, int party_id, int account_id, const char *nick)
{
- return party_check_conflict (party_id, account_id, nick);
+ return party_check_conflict(party_id, account_id, nick);
}
// map server からの通信
@@ -643,45 +641,45 @@ int mapif_parse_PartyCheck (int fd, int party_id, int account_id, const char *ni
// ・パケット長データはinter.cにセットしておくこと
// ・パケット長チェックや、RFIFOSKIPは呼び出し元で行われるので行ってはならない
// ・エラーなら0(false)、そうでないなら1(true)をかえさなければならない
-int inter_party_parse_frommap (int fd)
+int inter_party_parse_frommap(int fd)
{
- switch (RFIFOW (fd, 0))
+ switch (RFIFOW(fd, 0))
{
case 0x3020:
- mapif_parse_CreateParty (fd, RFIFOL (fd, 2), (const char *)RFIFOP (fd, 6),
- (const char *)RFIFOP (fd, 30), (const char *)RFIFOP (fd, 54),
- RFIFOW (fd, 70));
+ mapif_parse_CreateParty(fd, RFIFOL(fd, 2), (const char *)RFIFOP(fd, 6),
+ (const char *)RFIFOP(fd, 30), (const char *)RFIFOP(fd, 54),
+ RFIFOW(fd, 70));
break;
case 0x3021:
- mapif_parse_PartyInfo (fd, RFIFOL (fd, 2));
+ mapif_parse_PartyInfo(fd, RFIFOL(fd, 2));
break;
case 0x3022:
- mapif_parse_PartyAddMember (fd, RFIFOL (fd, 2), RFIFOL (fd, 6),
- (const char *)RFIFOP (fd, 10), (const char *)RFIFOP (fd, 34),
- RFIFOW (fd, 50));
+ mapif_parse_PartyAddMember(fd, RFIFOL(fd, 2), RFIFOL(fd, 6),
+ (const char *)RFIFOP(fd, 10), (const char *)RFIFOP(fd, 34),
+ RFIFOW(fd, 50));
break;
case 0x3023:
- mapif_parse_PartyChangeOption (fd, RFIFOL (fd, 2), RFIFOL (fd, 6),
- RFIFOW (fd, 10), RFIFOW (fd, 12));
+ mapif_parse_PartyChangeOption(fd, RFIFOL(fd, 2), RFIFOL(fd, 6),
+ RFIFOW(fd, 10), RFIFOW(fd, 12));
break;
case 0x3024:
- mapif_parse_PartyLeave (fd, RFIFOL (fd, 2), RFIFOL (fd, 6));
+ mapif_parse_PartyLeave(fd, RFIFOL(fd, 2), RFIFOL(fd, 6));
break;
case 0x3025:
- mapif_parse_PartyChangeMap (fd, RFIFOL (fd, 2), RFIFOL (fd, 6),
- (const char *)RFIFOP (fd, 10), RFIFOB (fd, 26),
- RFIFOW (fd, 27));
+ mapif_parse_PartyChangeMap(fd, RFIFOL(fd, 2), RFIFOL(fd, 6),
+ (const char *)RFIFOP(fd, 10), RFIFOB(fd, 26),
+ RFIFOW(fd, 27));
break;
case 0x3026:
- mapif_parse_BreakParty (fd, RFIFOL (fd, 2));
+ mapif_parse_BreakParty(fd, RFIFOL(fd, 2));
break;
case 0x3027:
- mapif_parse_PartyMessage (fd, RFIFOL (fd, 4), RFIFOL (fd, 8),
- (const char *)RFIFOP (fd, 12), RFIFOW (fd, 2) - 12);
+ mapif_parse_PartyMessage(fd, RFIFOL(fd, 4), RFIFOL(fd, 8),
+ (const char *)RFIFOP(fd, 12), RFIFOW(fd, 2) - 12);
break;
case 0x3028:
- mapif_parse_PartyCheck (fd, RFIFOL (fd, 2), RFIFOL (fd, 6),
- (const char *)RFIFOP (fd, 10));
+ mapif_parse_PartyCheck(fd, RFIFOL(fd, 2), RFIFOL(fd, 6),
+ (const char *)RFIFOP(fd, 10));
break;
default:
return 0;
@@ -691,7 +689,7 @@ int inter_party_parse_frommap (int fd)
}
// サーバーから脱退要求(キャラ削除用)
-int inter_party_leave (int party_id, int account_id)
+int inter_party_leave(int party_id, int account_id)
{
- return mapif_parse_PartyLeave (-1, party_id, account_id);
+ return mapif_parse_PartyLeave(-1, party_id, account_id);
}
diff --git a/src/char/int_party.hpp b/src/char/int_party.hpp
index 93e8887..50e6cce 100644
--- a/src/char/int_party.hpp
+++ b/src/char/int_party.hpp
@@ -2,12 +2,12 @@
#ifndef INT_PARTY_HPP
#define INT_PARTY_HPP
-int inter_party_init (void);
-int inter_party_save (void);
+int inter_party_init(void);
+int inter_party_save(void);
-int inter_party_parse_frommap (int fd);
+int inter_party_parse_frommap(int fd);
-int inter_party_leave (int party_id, int account_id);
+int inter_party_leave(int party_id, int account_id);
extern char party_txt[1024];
diff --git a/src/char/int_storage.cpp b/src/char/int_storage.cpp
index 8aa615f..a968c2a 100644
--- a/src/char/int_storage.cpp
+++ b/src/char/int_storage.cpp
@@ -19,16 +19,16 @@ static struct dbt *storage_db;
// 倉庫データを文字列に変換
static
-int storage_tostr (char *str, struct storage *p)
+int storage_tostr(char *str, struct storage *p)
{
- int i, f = 0;
+ int i, f = 0;
char *str_p = str;
- str_p += sprintf (str_p, "%d,%d\t", p->account_id, p->storage_amount);
+ str_p += sprintf(str_p, "%d,%d\t", p->account_id, p->storage_amount);
for (i = 0; i < MAX_STORAGE; i++)
if ((p->storage_[i].nameid) && (p->storage_[i].amount))
{
- str_p += sprintf (str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
+ str_p += sprintf(str_p, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d ",
p->storage_[i].id, p->storage_[i].nameid,
p->storage_[i].amount, p->storage_[i].equip,
p->storage_[i].identify, p->storage_[i].refine,
@@ -48,12 +48,12 @@ int storage_tostr (char *str, struct storage *p)
// 文字列を倉庫データに変換
static
-int storage_fromstr (char *str, struct storage *p)
+int storage_fromstr(char *str, struct storage *p)
{
- int tmp_int[256];
- int set, next, len, i;
+ int tmp_int[256];
+ int set, next, len, i;
- set = sscanf (str, "%d,%d%n", &tmp_int[0], &tmp_int[1], &next);
+ set = sscanf(str, "%d,%d%n", &tmp_int[0], &tmp_int[1], &next);
p->storage_amount = tmp_int[1];
if (set != 2)
@@ -63,7 +63,7 @@ int storage_fromstr (char *str, struct storage *p)
next++;
for (i = 0; str[next] && str[next] != '\t' && i < MAX_STORAGE; i++)
{
- if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -85,7 +85,7 @@ int storage_fromstr (char *str, struct storage *p)
next++;
}
- else if (sscanf (str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
+ else if (sscanf(str + next, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d%n",
&tmp_int[0], &tmp_int[1], &tmp_int[2], &tmp_int[3],
&tmp_int[4], &tmp_int[5], &tmp_int[6],
&tmp_int[7], &tmp_int[8], &tmp_int[9], &tmp_int[10],
@@ -111,122 +111,121 @@ int storage_fromstr (char *str, struct storage *p)
return 1;
}
if (i >= MAX_STORAGE && str[next] && str[next] != '\t')
- printf
- ("storage_fromstr: Found a storage line with more items than MAX_STORAGE (%d), remaining items have been discarded!\n",
+ printf("storage_fromstr: Found a storage line with more items than MAX_STORAGE (%d), remaining items have been discarded!\n",
MAX_STORAGE);
return 0;
}
// アカウントから倉庫データインデックスを得る(新規倉庫追加可能)
-struct storage *account2storage (int account_id)
+struct storage *account2storage(int account_id)
{
struct storage *s;
- s = (struct storage *) numdb_search (storage_db, account_id);
+ s = (struct storage *) numdb_search(storage_db, account_id);
if (s == NULL)
{
- CREATE (s, struct storage, 1);
- memset (s, 0, sizeof (struct storage));
+ CREATE(s, struct storage, 1);
+ memset(s, 0, sizeof(struct storage));
s->account_id = account_id;
- numdb_insert (storage_db, s->account_id, s);
+ numdb_insert(storage_db, s->account_id, s);
}
return s;
}
//---------------------------------------------------------
// 倉庫データを読み込む
-int inter_storage_init (void)
+int inter_storage_init(void)
{
char line[65536];
- int c = 0, tmp_int;
+ int c = 0, tmp_int;
struct storage *s;
FILE *fp;
- storage_db = numdb_init ();
+ storage_db = numdb_init();
- fp = fopen_ (storage_txt, "r");
+ fp = fopen_(storage_txt, "r");
if (fp == NULL)
{
- printf ("cant't read : %s\n", storage_txt);
+ printf("cant't read : %s\n", storage_txt);
return 1;
}
- while (fgets (line, 65535, fp))
+ while (fgets(line, 65535, fp))
{
- sscanf (line, "%d", &tmp_int);
- CREATE (s, struct storage, 1);
+ sscanf(line, "%d", &tmp_int);
+ CREATE(s, struct storage, 1);
s->account_id = tmp_int;
- if (s->account_id > 0 && storage_fromstr (line, s) == 0)
+ if (s->account_id > 0 && storage_fromstr(line, s) == 0)
{
- numdb_insert (storage_db, s->account_id, s);
+ numdb_insert(storage_db, s->account_id, s);
}
else
{
- printf ("int_storage: broken data [%s] line %d\n", storage_txt,
+ printf("int_storage: broken data [%s] line %d\n", storage_txt,
c);
- free (s);
+ free(s);
}
c++;
}
- fclose_ (fp);
+ fclose_(fp);
return 0;
}
static
-void storage_db_final (db_key_t k, db_val_t data, va_list ap)
+void storage_db_final(db_key_t k, db_val_t data, va_list ap)
{
struct storage *p = (struct storage *) data;
if (p)
- free (p);
+ free(p);
}
-void inter_storage_final (void)
+void inter_storage_final(void)
{
- numdb_final (storage_db, storage_db_final);
+ numdb_final(storage_db, storage_db_final);
return;
}
static
-void inter_storage_save_sub (db_key_t key, db_val_t data, va_list ap)
+void inter_storage_save_sub(db_key_t key, db_val_t data, va_list ap)
{
char line[65536];
FILE *fp;
- storage_tostr (line, (struct storage *) data);
- fp = va_arg (ap, FILE *);
+ storage_tostr(line, (struct storage *) data);
+ fp = va_arg(ap, FILE *);
if (*line)
- fprintf (fp, "%s\n", line);
+ fprintf(fp, "%s\n", line);
}
//---------------------------------------------------------
// 倉庫データを書き込む
-int inter_storage_save (void)
+int inter_storage_save(void)
{
FILE *fp;
- int lock;
+ int lock;
if (!storage_db)
return 1;
- if ((fp = lock_fopen (storage_txt, &lock)) == NULL)
+ if ((fp = lock_fopen(storage_txt, &lock)) == NULL)
{
- printf ("int_storage: cant write [%s] !!! data is lost !!!\n",
+ printf("int_storage: cant write [%s] !!! data is lost !!!\n",
storage_txt);
return 1;
}
- numdb_foreach (storage_db, inter_storage_save_sub, fp);
- lock_fclose (fp, storage_txt, &lock);
+ numdb_foreach(storage_db, inter_storage_save_sub, fp);
+ lock_fclose(fp, storage_txt, &lock);
// printf("int_storage: %s saved.\n",storage_txt);
return 0;
}
// 倉庫データ削除
-int inter_storage_delete (int account_id)
+int inter_storage_delete(int account_id)
{
struct storage *s =
- (struct storage *) numdb_search (storage_db, account_id);
+ (struct storage *) numdb_search(storage_db, account_id);
if (s)
{
- numdb_erase (storage_db, account_id);
- free (s);
+ numdb_erase(storage_db, account_id);
+ free(s);
}
return 0;
}
@@ -236,25 +235,25 @@ int inter_storage_delete (int account_id)
// 倉庫データの送信
static
-int mapif_load_storage (int fd, int account_id)
+int mapif_load_storage(int fd, int account_id)
{
- struct storage *s = account2storage (account_id);
- WFIFOW (fd, 0) = 0x3810;
- WFIFOW (fd, 2) = sizeof (struct storage) + 8;
- WFIFOL (fd, 4) = account_id;
- memcpy (WFIFOP (fd, 8), s, sizeof (struct storage));
- WFIFOSET (fd, WFIFOW (fd, 2));
+ struct storage *s = account2storage(account_id);
+ WFIFOW(fd, 0) = 0x3810;
+ WFIFOW(fd, 2) = sizeof(struct storage) + 8;
+ WFIFOL(fd, 4) = account_id;
+ memcpy(WFIFOP(fd, 8), s, sizeof(struct storage));
+ WFIFOSET(fd, WFIFOW(fd, 2));
return 0;
}
// 倉庫データ保存完了送信
static
-int mapif_save_storage_ack (int fd, int account_id)
+int mapif_save_storage_ack(int fd, int account_id)
{
- WFIFOW (fd, 0) = 0x3811;
- WFIFOL (fd, 2) = account_id;
- WFIFOB (fd, 6) = 0;
- WFIFOSET (fd, 7);
+ WFIFOW(fd, 0) = 0x3811;
+ WFIFOL(fd, 2) = account_id;
+ WFIFOB(fd, 6) = 0;
+ WFIFOSET(fd, 7);
return 0;
}
@@ -263,29 +262,29 @@ int mapif_save_storage_ack (int fd, int account_id)
// 倉庫データ要求受信
static
-int mapif_parse_LoadStorage (int fd)
+int mapif_parse_LoadStorage(int fd)
{
- mapif_load_storage (fd, RFIFOL (fd, 2));
+ mapif_load_storage(fd, RFIFOL(fd, 2));
return 0;
}
// 倉庫データ受信&保存
static
-int mapif_parse_SaveStorage (int fd)
+int mapif_parse_SaveStorage(int fd)
{
struct storage *s;
- int account_id = RFIFOL (fd, 4);
- int len = RFIFOW (fd, 2);
- if (sizeof (struct storage) != len - 8)
+ int account_id = RFIFOL(fd, 4);
+ int len = RFIFOW(fd, 2);
+ if (sizeof(struct storage) != len - 8)
{
- printf ("inter storage: data size error %d %d\n",
- sizeof (struct storage), len - 8);
+ printf("inter storage: data size error %d %d\n",
+ sizeof(struct storage), len - 8);
}
else
{
- s = account2storage (account_id);
- memcpy (s, RFIFOP (fd, 8), sizeof (struct storage));
- mapif_save_storage_ack (fd, account_id);
+ s = account2storage(account_id);
+ memcpy(s, RFIFOP(fd, 8), sizeof(struct storage));
+ mapif_save_storage_ack(fd, account_id);
}
return 0;
}
@@ -295,15 +294,15 @@ int mapif_parse_SaveStorage (int fd)
// ・パケット長データはinter.cにセットしておくこと
// ・パケット長チェックや、RFIFOSKIPは呼び出し元で行われるので行ってはならない
// ・エラーなら0(false)、そうでないなら1(true)をかえさなければならない
-int inter_storage_parse_frommap (int fd)
+int inter_storage_parse_frommap(int fd)
{
- switch (RFIFOW (fd, 0))
+ switch (RFIFOW(fd, 0))
{
case 0x3010:
- mapif_parse_LoadStorage (fd);
+ mapif_parse_LoadStorage(fd);
break;
case 0x3011:
- mapif_parse_SaveStorage (fd);
+ mapif_parse_SaveStorage(fd);
break;
default:
return 0;
diff --git a/src/char/int_storage.hpp b/src/char/int_storage.hpp
index 591777d..0b22af2 100644
--- a/src/char/int_storage.hpp
+++ b/src/char/int_storage.hpp
@@ -2,13 +2,13 @@
#ifndef INT_STORAGE_HPP
#define INT_STORAGE_HPP
-int inter_storage_init (void);
-void inter_storage_final (void);
-int inter_storage_save (void);
-int inter_storage_delete (int account_id);
-struct storage *account2storage (int account_id);
+int inter_storage_init(void);
+void inter_storage_final(void);
+int inter_storage_save(void);
+int inter_storage_delete(int account_id);
+struct storage *account2storage(int account_id);
-int inter_storage_parse_frommap (int fd);
+int inter_storage_parse_frommap(int fd);
extern char storage_txt[1024];
diff --git a/src/char/inter.cpp b/src/char/inter.cpp
index d5dee6c..14a9561 100644
--- a/src/char/inter.cpp
+++ b/src/char/inter.cpp
@@ -23,14 +23,14 @@ static struct dbt *accreg_db = NULL;
struct accreg
{
- int account_id, reg_num;
+ int account_id, reg_num;
struct global_reg reg[ACCOUNT_REG_NUM];
};
-int party_share_level = 10;
+int party_share_level = 10;
// 送信パケット長リスト
-int inter_send_packet_length[] = {
+int inter_send_packet_length[] = {
-1, -1, 27, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-1, 7, 0, 0, 0, 0, 0, 0, -1, 11, 0, 0, 0, 0, 0, 0,
35, -1, 11, 15, 34, 29, 7, -1, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -43,7 +43,7 @@ int inter_send_packet_length[] = {
};
// 受信パケット長リスト
-int inter_recv_packet_length[] = {
+int inter_recv_packet_length[] = {
-1, -1, 7, -1, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, -1, 0, 0, 0, 0, 0, 0, 10, -1, 0, 0, 0, 0, 0, 0,
72, 6, 52, 14, 10, 29, 6, -1, 34, 0, 0, 0, 0, 0, 0, 0,
@@ -57,7 +57,7 @@ int inter_recv_packet_length[] = {
struct WisData
{
- int id, fd, count, len;
+ int id, fd, count, len;
unsigned long tick;
unsigned char src[24], dst[24], msg[1024];
};
@@ -68,15 +68,15 @@ static int wis_dellist[WISDELLIST_MAX], wis_delnum;
// アカウント変数を文字列へ変換
static
-int inter_accreg_tostr (char *str, struct accreg *reg)
+int inter_accreg_tostr(char *str, struct accreg *reg)
{
- int j;
+ int j;
char *p = str;
- p += sprintf (p, "%d\t", reg->account_id);
+ p += sprintf(p, "%d\t", reg->account_id);
for (j = 0; j < reg->reg_num; j++)
{
- p += sprintf (p, "%s,%d ", reg->reg[j].str, reg->reg[j].value);
+ p += sprintf(p, "%s,%d ", reg->reg[j].str, reg->reg[j].value);
}
return 0;
@@ -84,21 +84,21 @@ int inter_accreg_tostr (char *str, struct accreg *reg)
// アカウント変数を文字列から変換
static
-int inter_accreg_fromstr (const char *str, struct accreg *reg)
+int inter_accreg_fromstr(const char *str, struct accreg *reg)
{
- int j, v, n;
+ int j, v, n;
char buf[128];
const char *p = str;
- if (sscanf (p, "%d\t%n", &reg->account_id, &n) != 1
+ if (sscanf(p, "%d\t%n", &reg->account_id, &n) != 1
|| reg->account_id <= 0)
return 1;
for (j = 0, p += n; j < ACCOUNT_REG_NUM; j++, p += n)
{
- if (sscanf (p, "%[^,],%d %n", buf, &v, &n) != 2)
+ if (sscanf(p, "%[^,],%d %n", buf, &v, &n) != 2)
break;
- memcpy (reg->reg[j].str, buf, 32);
+ memcpy(reg->reg[j].str, buf, 32);
reg->reg[j].value = v;
}
reg->reg_num = j;
@@ -108,34 +108,34 @@ int inter_accreg_fromstr (const char *str, struct accreg *reg)
// アカウント変数の読み込み
static
-int inter_accreg_init (void)
+int inter_accreg_init(void)
{
char line[8192];
FILE *fp;
- int c = 0;
+ int c = 0;
struct accreg *reg;
- accreg_db = numdb_init ();
+ accreg_db = numdb_init();
- if ((fp = fopen_ (accreg_txt, "r")) == NULL)
+ if ((fp = fopen_(accreg_txt, "r")) == NULL)
return 1;
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
- line[sizeof (line) - 1] = '\0';
- CREATE (reg, struct accreg, 1);
- if (inter_accreg_fromstr (line, reg) == 0 && reg->account_id > 0)
+ line[sizeof(line) - 1] = '\0';
+ CREATE(reg, struct accreg, 1);
+ if (inter_accreg_fromstr(line, reg) == 0 && reg->account_id > 0)
{
- numdb_insert (accreg_db, reg->account_id, reg);
+ numdb_insert(accreg_db, reg->account_id, reg);
}
else
{
- printf ("inter: accreg: broken data [%s] line %d\n", accreg_txt,
+ printf("inter: accreg: broken data [%s] line %d\n", accreg_txt,
c);
- free (reg);
+ free(reg);
}
c++;
}
- fclose_ (fp);
+ fclose_(fp);
// printf("inter: %s read done (%d)\n", accreg_txt, c);
return 0;
@@ -143,7 +143,7 @@ int inter_accreg_init (void)
// アカウント変数のセーブ用
static
-void inter_accreg_save_sub (db_key_t key, db_val_t data, va_list ap)
+void inter_accreg_save_sub(db_key_t key, db_val_t data, va_list ap)
{
char line[8192];
FILE *fp;
@@ -151,27 +151,27 @@ void inter_accreg_save_sub (db_key_t key, db_val_t data, va_list ap)
if (reg->reg_num > 0)
{
- inter_accreg_tostr (line, reg);
- fp = va_arg (ap, FILE *);
- fprintf (fp, "%s\n", line);
+ inter_accreg_tostr(line, reg);
+ fp = va_arg(ap, FILE *);
+ fprintf(fp, "%s\n", line);
}
}
// アカウント変数のセーブ
static
-int inter_accreg_save (void)
+int inter_accreg_save(void)
{
FILE *fp;
- int lock;
+ int lock;
- if ((fp = lock_fopen (accreg_txt, &lock)) == NULL)
+ if ((fp = lock_fopen(accreg_txt, &lock)) == NULL)
{
- printf ("int_accreg: cant write [%s] !!! data is lost !!!\n",
+ printf("int_accreg: cant write [%s] !!! data is lost !!!\n",
accreg_txt);
return 1;
}
- numdb_foreach (accreg_db, inter_accreg_save_sub, fp);
- lock_fclose (fp, accreg_txt, &lock);
+ numdb_foreach(accreg_db, inter_accreg_save_sub, fp);
+ lock_fclose(fp, accreg_txt, &lock);
// printf("inter: %s saved.\n", accreg_txt);
return 0;
@@ -184,96 +184,96 @@ int inter_accreg_save (void)
*------------------------------------------
*/
static
-int inter_config_read (const char *cfgName)
+int inter_config_read(const char *cfgName)
{
char line[1024], w1[1024], w2[1024];
FILE *fp;
- fp = fopen_ (cfgName, "r");
+ fp = fopen_(cfgName, "r");
if (fp == NULL)
{
- printf ("file not found: %s\n", cfgName);
+ printf("file not found: %s\n", cfgName);
return 1;
}
- while (fgets (line, sizeof (line) - 1, fp))
+ while (fgets(line, sizeof(line) - 1, fp))
{
if (line[0] == '/' && line[1] == '/')
continue;
- line[sizeof (line) - 1] = '\0';
+ line[sizeof(line) - 1] = '\0';
- if (sscanf (line, "%[^:]: %[^\r\n]", w1, w2) != 2)
+ if (sscanf(line, "%[^:]: %[^\r\n]", w1, w2) != 2)
continue;
- if (strcasecmp (w1, "storage_txt") == 0)
+ if (strcasecmp(w1, "storage_txt") == 0)
{
- strncpy (storage_txt, w2, sizeof (storage_txt));
+ strncpy(storage_txt, w2, sizeof(storage_txt));
}
- else if (strcasecmp (w1, "party_txt") == 0)
+ else if (strcasecmp(w1, "party_txt") == 0)
{
- strncpy (party_txt, w2, sizeof (party_txt));
+ strncpy(party_txt, w2, sizeof(party_txt));
}
- else if (strcasecmp (w1, "accreg_txt") == 0)
+ else if (strcasecmp(w1, "accreg_txt") == 0)
{
- strncpy (accreg_txt, w2, sizeof (accreg_txt));
+ strncpy(accreg_txt, w2, sizeof(accreg_txt));
}
- else if (strcasecmp (w1, "party_share_level") == 0)
+ else if (strcasecmp(w1, "party_share_level") == 0)
{
- party_share_level = atoi (w2);
+ party_share_level = atoi(w2);
if (party_share_level < 0)
party_share_level = 0;
}
- else if (strcasecmp (w1, "inter_log_filename") == 0)
+ else if (strcasecmp(w1, "inter_log_filename") == 0)
{
- strncpy (inter_log_filename, w2, sizeof (inter_log_filename));
+ strncpy(inter_log_filename, w2, sizeof(inter_log_filename));
}
- else if (strcasecmp (w1, "import") == 0)
+ else if (strcasecmp(w1, "import") == 0)
{
- inter_config_read (w2);
+ inter_config_read(w2);
}
}
- fclose_ (fp);
+ fclose_(fp);
return 0;
}
// ログ書き出し
-int inter_log (const char *fmt, ...)
+int inter_log(const char *fmt, ...)
{
FILE *logfp;
va_list ap;
- va_start (ap, fmt);
- logfp = fopen_ (inter_log_filename, "a");
+ va_start(ap, fmt);
+ logfp = fopen_(inter_log_filename, "a");
if (logfp)
{
- vfprintf (logfp, fmt, ap);
- fclose_ (logfp);
+ vfprintf(logfp, fmt, ap);
+ fclose_(logfp);
}
- va_end (ap);
+ va_end(ap);
return 0;
}
// セーブ
-int inter_save (void)
+int inter_save(void)
{
- inter_party_save ();
- inter_storage_save ();
- inter_accreg_save ();
+ inter_party_save();
+ inter_storage_save();
+ inter_accreg_save();
return 0;
}
// 初期化
-int inter_init (const char *file)
+int inter_init(const char *file)
{
- inter_config_read (file);
+ inter_config_read(file);
- wis_db = numdb_init ();
+ wis_db = numdb_init();
- inter_party_init ();
- inter_storage_init ();
- inter_accreg_init ();
+ inter_party_init();
+ inter_storage_init();
+ inter_accreg_init();
return 0;
}
@@ -283,14 +283,14 @@ int inter_init (const char *file)
// GMメッセージ送信
static
-int mapif_GMmessage (unsigned char *mes, int len)
+int mapif_GMmessage(unsigned char *mes, int len)
{
unsigned char buf[len];
- WBUFW (buf, 0) = 0x3800;
- WBUFW (buf, 2) = len;
- memcpy (WBUFP (buf, 4), mes, len - 4);
- mapif_sendall (buf, len);
+ WBUFW(buf, 0) = 0x3800;
+ WBUFW(buf, 2) = len;
+ memcpy(WBUFP(buf, 4), mes, len - 4);
+ mapif_sendall(buf, len);
// printf("inter server: GM:%d %s\n", len, mes);
return 0;
@@ -298,31 +298,31 @@ int mapif_GMmessage (unsigned char *mes, int len)
// Wisp/page transmission to all map-server
static
-int mapif_wis_message (struct WisData *wd)
+int mapif_wis_message(struct WisData *wd)
{
unsigned char buf[56 + wd->len];
- WBUFW (buf, 0) = 0x3801;
- WBUFW (buf, 2) = 56 + wd->len;
- WBUFL (buf, 4) = wd->id;
- memcpy (WBUFP (buf, 8), wd->src, 24);
- memcpy (WBUFP (buf, 32), wd->dst, 24);
- memcpy (WBUFP (buf, 56), wd->msg, wd->len);
- wd->count = mapif_sendall (buf, WBUFW (buf, 2));
+ WBUFW(buf, 0) = 0x3801;
+ WBUFW(buf, 2) = 56 + wd->len;
+ WBUFL(buf, 4) = wd->id;
+ memcpy(WBUFP(buf, 8), wd->src, 24);
+ memcpy(WBUFP(buf, 32), wd->dst, 24);
+ memcpy(WBUFP(buf, 56), wd->msg, wd->len);
+ wd->count = mapif_sendall(buf, WBUFW(buf, 2));
return 0;
}
// Wisp/page transmission result to map-server
static
-int mapif_wis_end (struct WisData *wd, int flag)
+int mapif_wis_end(struct WisData *wd, int flag)
{
unsigned char buf[27];
- WBUFW (buf, 0) = 0x3802;
- memcpy (WBUFP (buf, 2), wd->src, 24);
- WBUFB (buf, 26) = flag; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- mapif_send (wd->fd, buf, 27);
+ WBUFW(buf, 0) = 0x3802;
+ memcpy(WBUFP(buf, 2), wd->src, 24);
+ WBUFB(buf, 26) = flag; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ mapif_send(wd->fd, buf, 27);
// printf("inter server wis_end: flag: %d\n", flag);
return 0;
@@ -330,40 +330,40 @@ int mapif_wis_end (struct WisData *wd, int flag)
// アカウント変数送信
static
-int mapif_account_reg (int fd, unsigned char *src)
+int mapif_account_reg(int fd, unsigned char *src)
{
- unsigned char buf[WBUFW (src, 2)];
+ unsigned char buf[WBUFW(src, 2)];
- memcpy (WBUFP (buf, 0), src, WBUFW (src, 2));
- WBUFW (buf, 0) = 0x3804;
- mapif_sendallwos (fd, buf, WBUFW (buf, 2));
+ memcpy(WBUFP(buf, 0), src, WBUFW(src, 2));
+ WBUFW(buf, 0) = 0x3804;
+ mapif_sendallwos(fd, buf, WBUFW(buf, 2));
return 0;
}
// アカウント変数要求返信
static
-int mapif_account_reg_reply (int fd, int account_id)
+int mapif_account_reg_reply(int fd, int account_id)
{
- struct accreg *reg = (struct accreg *)numdb_search (accreg_db, account_id);
+ struct accreg *reg = (struct accreg *)numdb_search(accreg_db, account_id);
- WFIFOW (fd, 0) = 0x3804;
- WFIFOL (fd, 4) = account_id;
+ WFIFOW(fd, 0) = 0x3804;
+ WFIFOL(fd, 4) = account_id;
if (reg == NULL)
{
- WFIFOW (fd, 2) = 8;
+ WFIFOW(fd, 2) = 8;
}
else
{
- int j, p;
+ int j, p;
for (j = 0, p = 8; j < reg->reg_num; j++, p += 36)
{
- memcpy (WFIFOP (fd, p), reg->reg[j].str, 32);
- WFIFOL (fd, p + 32) = reg->reg[j].value;
+ memcpy(WFIFOP(fd, p), reg->reg[j].str, 32);
+ WFIFOL(fd, p + 32) = reg->reg[j].value;
}
- WFIFOW (fd, 2) = p;
+ WFIFOW(fd, 2) = p;
}
- WFIFOSET (fd, WFIFOW (fd, 2));
+ WFIFOSET(fd, WFIFOW(fd, 2));
return 0;
}
@@ -372,36 +372,36 @@ int mapif_account_reg_reply (int fd, int account_id)
// Existence check of WISP data
static
-void check_ttl_wisdata_sub (db_key_t key, db_val_t data, va_list ap)
+void check_ttl_wisdata_sub(db_key_t key, db_val_t data, va_list ap)
{
unsigned long tick;
struct WisData *wd = (struct WisData *) data;
- tick = va_arg (ap, unsigned long);
+ tick = va_arg(ap, unsigned long);
- if (DIFF_TICK (tick, wd->tick) > WISDATA_TTL
+ if (DIFF_TICK(tick, wd->tick) > WISDATA_TTL
&& wis_delnum < WISDELLIST_MAX)
wis_dellist[wis_delnum++] = wd->id;
}
static
-int check_ttl_wisdata (void)
+int check_ttl_wisdata(void)
{
- unsigned long tick = gettick ();
- int i;
+ unsigned long tick = gettick();
+ int i;
do
{
wis_delnum = 0;
- numdb_foreach (wis_db, check_ttl_wisdata_sub, tick);
+ numdb_foreach(wis_db, check_ttl_wisdata_sub, tick);
for (i = 0; i < wis_delnum; i++)
{
- struct WisData *wd = (struct WisData *)numdb_search (wis_db, wis_dellist[i]);
- printf ("inter: wis data id=%d time out : from %s to %s\n",
+ struct WisData *wd = (struct WisData *)numdb_search(wis_db, wis_dellist[i]);
+ printf("inter: wis data id=%d time out : from %s to %s\n",
wd->id, wd->src, wd->dst);
// removed. not send information after a timeout. Just no answer for the player
//mapif_wis_end(wd, 1); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- numdb_erase (wis_db, wd->id);
- free (wd);
+ numdb_erase(wis_db, wd->id);
+ free(wd);
}
}
while (wis_delnum >= WISDELLIST_MAX);
@@ -414,72 +414,72 @@ int check_ttl_wisdata (void)
// GMメッセージ送信
static
-int mapif_parse_GMmessage (int fd)
+int mapif_parse_GMmessage(int fd)
{
- mapif_GMmessage (RFIFOP (fd, 4), RFIFOW (fd, 2));
+ mapif_GMmessage(RFIFOP(fd, 4), RFIFOW(fd, 2));
return 0;
}
// Wisp/page request to send
static
-int mapif_parse_WisRequest (int fd)
+int mapif_parse_WisRequest(int fd)
{
struct WisData *wd;
static int wisid = 0;
- int index;
+ int index;
- if (RFIFOW (fd, 2) - 52 >= sizeof (wd->msg))
+ if (RFIFOW(fd, 2) - 52 >= sizeof(wd->msg))
{
- printf ("inter: Wis message size too long.\n");
+ printf("inter: Wis message size too long.\n");
return 0;
}
- else if (RFIFOW (fd, 2) - 52 <= 0)
+ else if (RFIFOW(fd, 2) - 52 <= 0)
{ // normaly, impossible, but who knows...
- printf ("inter: Wis message doesn't exist.\n");
+ printf("inter: Wis message doesn't exist.\n");
return 0;
}
// search if character exists before to ask all map-servers
- if ((index = search_character_index ((const char *)RFIFOP (fd, 28))) == -1)
+ if ((index = search_character_index((const char *)RFIFOP(fd, 28))) == -1)
{
unsigned char buf[27];
- WBUFW (buf, 0) = 0x3802;
- memcpy (WBUFP (buf, 2), RFIFOP (fd, 4), 24);
- WBUFB (buf, 26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- mapif_send (fd, buf, 27);
+ WBUFW(buf, 0) = 0x3802;
+ memcpy(WBUFP(buf, 2), RFIFOP(fd, 4), 24);
+ WBUFB(buf, 26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ mapif_send(fd, buf, 27);
// Character exists. So, ask all map-servers
}
else
{
// to be sure of the correct name, rewrite it
- memset (RFIFOP (fd, 28), 0, 24);
- strncpy ((char *)RFIFOP (fd, 28), search_character_name (index), 24);
+ memset(RFIFOP(fd, 28), 0, 24);
+ strncpy((char *)RFIFOP(fd, 28), search_character_name(index), 24);
// if source is destination, don't ask other servers.
- if (strcmp ((const char *)RFIFOP (fd, 4), (const char *)RFIFOP (fd, 28)) == 0)
+ if (strcmp((const char *)RFIFOP(fd, 4), (const char *)RFIFOP(fd, 28)) == 0)
{
unsigned char buf[27];
- WBUFW (buf, 0) = 0x3802;
- memcpy (WBUFP (buf, 2), RFIFOP (fd, 4), 24);
- WBUFB (buf, 26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- mapif_send (fd, buf, 27);
+ WBUFW(buf, 0) = 0x3802;
+ memcpy(WBUFP(buf, 2), RFIFOP(fd, 4), 24);
+ WBUFB(buf, 26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ mapif_send(fd, buf, 27);
}
else
{
- CREATE (wd, struct WisData, 1);
+ CREATE(wd, struct WisData, 1);
// Whether the failure of previous wisp/page transmission (timeout)
- check_ttl_wisdata ();
+ check_ttl_wisdata();
wd->id = ++wisid;
wd->fd = fd;
- wd->len = RFIFOW (fd, 2) - 52;
- memcpy (wd->src, RFIFOP (fd, 4), 24);
- memcpy (wd->dst, RFIFOP (fd, 28), 24);
- memcpy (wd->msg, RFIFOP (fd, 52), wd->len);
- wd->tick = gettick ();
- numdb_insert (wis_db, wd->id, wd);
- mapif_wis_message (wd);
+ wd->len = RFIFOW(fd, 2) - 52;
+ memcpy(wd->src, RFIFOP(fd, 4), 24);
+ memcpy(wd->dst, RFIFOP(fd, 28), 24);
+ memcpy(wd->msg, RFIFOP(fd, 52), wd->len);
+ wd->tick = gettick();
+ numdb_insert(wis_db, wd->id, wd);
+ mapif_wis_message(wd);
}
}
@@ -488,19 +488,19 @@ int mapif_parse_WisRequest (int fd)
// Wisp/page transmission result
static
-int mapif_parse_WisReply (int fd)
+int mapif_parse_WisReply(int fd)
{
- int id = RFIFOL (fd, 2), flag = RFIFOB (fd, 6);
- struct WisData *wd = (struct WisData *)numdb_search (wis_db, id);
+ int id = RFIFOL(fd, 2), flag = RFIFOB(fd, 6);
+ struct WisData *wd = (struct WisData *)numdb_search(wis_db, id);
if (wd == NULL)
return 0; // This wisp was probably suppress before, because it was timeout of because of target was found on another map-server
if ((--wd->count) <= 0 || flag != 1)
{
- mapif_wis_end (wd, flag); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- numdb_erase (wis_db, id);
- free (wd);
+ mapif_wis_end(wd, flag); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ numdb_erase(wis_db, id);
+ free(wd);
}
return 0;
@@ -508,50 +508,50 @@ int mapif_parse_WisReply (int fd)
// Received wisp message from map-server for ALL gm (just copy the message and resends it to ALL map-servers)
static
-int mapif_parse_WisToGM (int fd)
+int mapif_parse_WisToGM(int fd)
{
- unsigned char buf[RFIFOW (fd, 2)]; // 0x3003/0x3803 <packet_len>.w <wispname>.24B <min_gm_level>.w <message>.?B
+ unsigned char buf[RFIFOW(fd, 2)]; // 0x3003/0x3803 <packet_len>.w <wispname>.24B <min_gm_level>.w <message>.?B
- memcpy (WBUFP (buf, 0), RFIFOP (fd, 0), RFIFOW (fd, 2));
- WBUFW (buf, 0) = 0x3803;
- mapif_sendall (buf, RFIFOW (fd, 2));
+ memcpy(WBUFP(buf, 0), RFIFOP(fd, 0), RFIFOW(fd, 2));
+ WBUFW(buf, 0) = 0x3803;
+ mapif_sendall(buf, RFIFOW(fd, 2));
return 0;
}
// アカウント変数保存要求
static
-int mapif_parse_AccReg (int fd)
+int mapif_parse_AccReg(int fd)
{
- int j, p;
- struct accreg *reg = (struct accreg*)numdb_search (accreg_db, (numdb_key_t)RFIFOL (fd, 4));
+ int j, p;
+ struct accreg *reg = (struct accreg*)numdb_search(accreg_db, (numdb_key_t)RFIFOL(fd, 4));
if (reg == NULL)
{
- CREATE (reg, struct accreg, 1);
- reg->account_id = RFIFOL (fd, 4);
- numdb_insert (accreg_db, (numdb_key_t)RFIFOL (fd, 4), reg);
+ CREATE(reg, struct accreg, 1);
+ reg->account_id = RFIFOL(fd, 4);
+ numdb_insert(accreg_db, (numdb_key_t)RFIFOL(fd, 4), reg);
}
- for (j = 0, p = 8; j < ACCOUNT_REG_NUM && p < RFIFOW (fd, 2);
+ for (j = 0, p = 8; j < ACCOUNT_REG_NUM && p < RFIFOW(fd, 2);
j++, p += 36)
{
- memcpy (reg->reg[j].str, RFIFOP (fd, p), 32);
- reg->reg[j].value = RFIFOL (fd, p + 32);
+ memcpy(reg->reg[j].str, RFIFOP(fd, p), 32);
+ reg->reg[j].value = RFIFOL(fd, p + 32);
}
reg->reg_num = j;
- mapif_account_reg (fd, RFIFOP (fd, 0)); // 他のMAPサーバーに送信
+ mapif_account_reg(fd, RFIFOP(fd, 0)); // 他のMAPサーバーに送信
return 0;
}
// アカウント変数送信要求
static
-int mapif_parse_AccRegRequest (int fd)
+int mapif_parse_AccRegRequest(int fd)
{
// printf("mapif: accreg request\n");
- return mapif_account_reg_reply (fd, RFIFOL (fd, 2));
+ return mapif_account_reg_reply(fd, RFIFOL(fd, 2));
}
//--------------------------------------------------------
@@ -559,69 +559,69 @@ int mapif_parse_AccRegRequest (int fd)
// map server からの通信(1パケットのみ解析すること)
// エラーなら0(false)、処理できたなら1、
// パケット長が足りなければ2をかえさなければならない
-int inter_parse_frommap (int fd)
+int inter_parse_frommap(int fd)
{
- int cmd = RFIFOW (fd, 0);
- int len = 0;
+ int cmd = RFIFOW(fd, 0);
+ int len = 0;
// inter鯖管轄かを調べる
if (cmd < 0x3000
|| cmd >=
0x3000 +
- (sizeof (inter_recv_packet_length) /
- sizeof (inter_recv_packet_length[0])))
+ (sizeof(inter_recv_packet_length) /
+ sizeof(inter_recv_packet_length[0])))
return 0;
// パケット長を調べる
if ((len =
- inter_check_length (fd,
+ inter_check_length(fd,
inter_recv_packet_length[cmd - 0x3000])) == 0)
return 2;
switch (cmd)
{
case 0x3000:
- mapif_parse_GMmessage (fd);
+ mapif_parse_GMmessage(fd);
break;
case 0x3001:
- mapif_parse_WisRequest (fd);
+ mapif_parse_WisRequest(fd);
break;
case 0x3002:
- mapif_parse_WisReply (fd);
+ mapif_parse_WisReply(fd);
break;
case 0x3003:
- mapif_parse_WisToGM (fd);
+ mapif_parse_WisToGM(fd);
break;
case 0x3004:
- mapif_parse_AccReg (fd);
+ mapif_parse_AccReg(fd);
break;
case 0x3005:
- mapif_parse_AccRegRequest (fd);
+ mapif_parse_AccRegRequest(fd);
break;
default:
- if (inter_party_parse_frommap (fd))
+ if (inter_party_parse_frommap(fd))
break;
- if (inter_storage_parse_frommap (fd))
+ if (inter_storage_parse_frommap(fd))
break;
return 0;
}
- RFIFOSKIP (fd, len);
+ RFIFOSKIP(fd, len);
return 1;
}
// RFIFOのパケット長確認
// 必要パケット長があればパケット長、まだ足りなければ0
-int inter_check_length (int fd, int length)
+int inter_check_length(int fd, int length)
{
if (length == -1)
{ // 可変パケット長
- if (RFIFOREST (fd) < 4) // パケット長が未着
+ if (RFIFOREST(fd) < 4) // パケット長が未着
return 0;
- length = RFIFOW (fd, 2);
+ length = RFIFOW(fd, 2);
}
- if (RFIFOREST (fd) < length) // パケットが未着
+ if (RFIFOREST(fd) < length) // パケットが未着
return 0;
return length;
diff --git a/src/char/inter.hpp b/src/char/inter.hpp
index f27b571..1887ff1 100644
--- a/src/char/inter.hpp
+++ b/src/char/inter.hpp
@@ -2,14 +2,14 @@
#ifndef INTER_HPP
#define INTER_HPP
-int inter_init (const char *file);
-int inter_save (void);
-int inter_parse_frommap (int fd);
+int inter_init(const char *file);
+int inter_save(void);
+int inter_parse_frommap(int fd);
-int inter_check_length (int fd, int length);
+int inter_check_length(int fd, int length);
__attribute__((format(printf, 1, 2)))
-int inter_log (const char *fmt, ...);
+int inter_log(const char *fmt, ...);
#define inter_cfgName "conf/inter_athena.conf"