- Increased MAX_PACKET_DB to 0x300 and added a warning for when packet ids greater than MAX_PACKET_DB are found.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9506 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
FlavioJS 2006-12-16 00:22:08 +00:00
parent b9fd36a7cd
commit 25cd5a05f4
3 changed files with 30 additions and 5 deletions

View File

@ -3,6 +3,9 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/12/16
* Increased MAX_PACKET_DB to 0x300 and added a warning for when packet ids
greater than MAX_PACKET_DB are found. [FlavioJS]
2006/12/15
* There will be now warnings printed when a shop sells an item which's buy
price is 20z, since those usually are "rare" items with no buyying price

View File

@ -53,6 +53,8 @@ struct Clif_Config {
struct packet_db packet_db[MAX_PACKET_VER + 1][MAX_PACKET_DB];
static const int packet_len_table[MAX_PACKET_DB];
/*
static const int packet_len_table[MAX_PACKET_DB] = {
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -110,6 +112,7 @@ static const int packet_len_table[MAX_PACKET_DB] = {
-1, -1, -1, -1, -1, 3, 4, 8, -1, 3, 70, 4, 8,12, 4, 10,
3, 32, -1, 3, 3, 5, 5, 8, 2, 3, -1, -1, 4,-1, 4
};
*/
//Converts item type in case of pet eggs.
#define itemtype(a) (a == 7)?4:a
@ -639,16 +642,26 @@ int clif_authok(struct map_session_data *sd) {
WFIFOW(fd, 0) = 0x73;
WFIFOL(fd, 2) = gettick();
WFIFOPOS(fd, 6, sd->bl.x, sd->bl.y, sd->ud.dir);
WFIFOB(fd, 9) = 5;
WFIFOB(fd,10) = 5;
WFIFOB(fd, 9) = 5; // ignored
WFIFOB(fd,10) = 5; // ignored
WFIFOSET(fd,packet_len_table[0x73]);
return 0;
}
/*==========================================
*
* Authentication failed/disconnect client.
*------------------------------------------
* The client closes it's socket and displays a message according to type:
* 1 - server closed -> MsgStringTable[4]
* 2 - ID already logged in -> MsgStringTable[5]
* 3 - timeout/too much lag -> MsgStringTable[241]
* 4 - server full -> MsgStringTable[264]
* 5 - underaged -> MsgStringTable[305]
* 9 - too many connections from this ip -> MsgStringTable[529]
* 10 - payed time has ended -> MsgStringTable[530]
* 15 - disconnected by a GM -> if( servicetype == taiwan ) MsgStringTable[579]
* other - disconnected -> MsgStringTable[3]
*/
int clif_authfail_fd(int fd, int type) {
if (!fd || !session[fd] || session[fd]->func_parse != clif_parse) //clif_authfail should only be invoked on players!
@ -4195,8 +4208,9 @@ int clif_clearchar_skillunit(struct skill_unit *unit,int fd)
}
/*==========================================
*
* Unknown... trap related?
*------------------------------------------
* Only affects units with class [139,153] client-side
*/
int clif_01ac(struct block_list *bl)
{
@ -12079,6 +12093,7 @@ static int packetdb_readdb(void)
char line[1024];
int ln=0;
int cmd,i,j,k,packet_ver;
int max_cmd=-1;
char *str[64],*p,*str2[64],*p2,w1[64],w2[64];
struct {
@ -12270,6 +12285,8 @@ static int packetdb_readdb(void)
if(str[0]==NULL)
continue;
cmd=strtol(str[0],(char **)NULL,0);
if(max_cmd < cmd)
max_cmd = cmd;
if(cmd<=0 || cmd>=MAX_PACKET_DB)
continue;
if(str[1]==NULL){
@ -12324,6 +12341,11 @@ static int packetdb_readdb(void)
// printf("packet_db ver %d: %d 0x%x %d %s %p\n",packet_ver,ln,cmd,packet_db[packet_ver][cmd].len,str[2],packet_db[packet_ver][cmd].func);
}
fclose(fp);
if(max_cmd > MAX_PACKET_DB)
{
ShowWarning("Found packets up to 0x%X, ignored 0x%X and above.\n", max_cmd, MAX_PACKET_DB);
ShowWarning("Please increase MAX_PACKET_DB and recompile.\n");
}
if (!clif_config.connect_cmd[clif_config.packet_db_ver])
{ //Locate the nearest version that we still support. [Skotlex]
for(j = clif_config.packet_db_ver; j >= 0 && !clif_config.connect_cmd[j]; j--);

View File

@ -10,7 +10,7 @@
#define PACKETVER 7
// packet DB
#define MAX_PACKET_DB 0x25f
#define MAX_PACKET_DB 0x300
#define MAX_PACKET_VER 25
struct packet_db {