// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $

This file is to informe SQL dev about all modifications on TXT version.

When a modification is done, TXT dev try to add it here with some explanations.
When a modification is added in SQL version, SQL dev remove it from this file.


********* 9th september
------------------------------------
changed:
	sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth)
	value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
	instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor])
	note: local variable 'newauth' not changed in clif_parse_WantToConnection

------------------------------------
Added
	if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
		clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server.");
	} else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
		clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server.");
	}
at end of 'pc_authok' function (pc.c)

------------------------------------
Changed
	in 'atcommand_effect' function, set the correct message in back of:
		clif_displaymessage(fd, msg_table[229]); // Your effect has changed.

------------------------------------
Changed
	in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf

------------------------------------
Changed to reduce (a little) lag
	in char.c, commented printf about auth:
			case 0x2afc:
			if (RFIFOREST(fd) < 22)
				return 0;
			//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++) {
	-
			case 0x2b02:
			if (RFIFOREST(fd) < 18)
				return 0;
			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);
	-
			case 0x2b05:
			if (RFIFOREST(fd) < 49)
				return 0;
			if (auth_fifo_pos >= AUTH_FIFO_SIZE)
				auth_fifo_pos = 0;
			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);
	-
	in case 0x66:	// ƒLƒƒƒ‰‘I‘ð
					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);
					auth_fifo[auth_fifo_pos].account_id = sd->account_id;
	-
		commented printf about searching map server (in 'search_mapserver' function)

------------------------------------
Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster):
	modified message 39:
		//39: All monster summoned!
	Added message 240:
		//240: %d monster(s) summoned!
	Added variables (output, j and k):
		char output[200];
		int i, j, k;
		memset(output, '\0', sizeof(output));
	Changed loop to check at least 8 times (to try to spawn in closed area):
		count = 0;
		for (i = 0; i < number; i++) {
			j = 0;
			k = 0;
			while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area)
				if (x <= 0)
					mx = sd->bl.x + (rand() % 11 - 5);
				else
					mx = x;
				if (y <= 0)
					my = sd->bl.y + (rand() % 11 - 5);
				else
					my = y;
				k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, "");
			}
			count += (k != 0) ? 1 : 0;
		}
	Changed last message display (to add number != count):
		if (count != 0)
			if (number == count)
				clif_displaymessage(fd, msg_table[39]); // All monster summoned!
			else {
				sprintf(output, msg_table[240], count); // %d monster(s) summoned!
				clif_displaymessage(fd, output);
			}
		else {

********* 10th september
------------------------------------
Correction of an error in char.c in 'char_config_read' function:
	replace 'wisp_server_name' by 'w2' in the test of the lenght:
			} else if (strcmpi(w1, "wisp_server_name") == 0) {
			if (strlen(w2) >= 4) {
				memcpy(wisp_server_name, w2, sizeof(wisp_server_name));
				wisp_server_name[sizeof(wisp_server_name) - 1] = '\0';
			}

------------------------------------
Added a better id control of monster id in @spawn/@monster... GM commands:
	added in mob.h:
		int mobdb_checkid(const int id);
	Added in mob.c:
		/*==========================================
		 * Id Mob is checked.
		 *------------------------------------------
		 */
		int mobdb_checkid(const int id) {
			if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0')
				return 0;
		
			return id;
		}
	Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified):
		if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
			mob_id = atoi(monster);
	by:
		if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
			mob_id = mobdb_checkid(atoi(monster));

********* 11th september
------------------------------------
Changed @effect from level 60 to level 40.

------------------------------------
Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist
	modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html
