- Fixed the delete_timer (@summons, alchemist plants) not invoking unit_free, hence causing memory leaks and the like.

- Applied jA's patch to fix a bug in the scripting engine in regards to priority of operators. Thanks to End of Exam for the information.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6161 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-04-18 17:07:16 +00:00
parent fe30c81ef8
commit c176a131f0
3 changed files with 8 additions and 2 deletions

View File

@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/04/18 2006/04/18
* Fixed the delete_timer (@summons, alchemist plants) not invoking
unit_free, hence causing memory leaks and the like. [Skotlex]
* Applied jA's patch to fix a bug in the scripting engine in regards to
priority of operators. Thanks to End of Exam for the information. [Skotlex]
* Removed message 592 from trade.c [Skotlex] * Removed message 592 from trade.c [Skotlex]
* Added support for disabling mapflags on a mapflag line: [Skotlex] * Added support for disabling mapflags on a mapflag line: [Skotlex]
comodo.gat mapflag nomemo <- turns on nomemo mapflag comodo.gat mapflag nomemo <- turns on nomemo mapflag

View File

@ -1484,7 +1484,9 @@ int mob_timer_delete(int tid, unsigned int tick, int id, int data)
if (bl->type != BL_MOB) if (bl->type != BL_MOB)
return 0; //?? return 0; //??
//for Alchemist CANNIBALIZE [Lupus] //for Alchemist CANNIBALIZE [Lupus]
((TBL_MOB*)bl)->deletetimer = -1;
unit_remove_map(bl, 3); unit_remove_map(bl, 3);
unit_free(bl);
return 0; return 0;
} }

View File

@ -1201,7 +1201,7 @@ unsigned char* parse_subexpr(unsigned char *p,int limit)
} }
tmpp=(char *) p; tmpp=(char *) p;
if((op=C_NEG,*p=='-') || (op=C_LNOT,*p=='!') || (op=C_NOT,*p=='~')){ if((op=C_NEG,*p=='-') || (op=C_LNOT,*p=='!') || (op=C_NOT,*p=='~')){
p=parse_subexpr(p+1,100); p=parse_subexpr(p+1,8);
add_scriptc(op); add_scriptc(op);
} else } else
p=parse_simpleexpr(p); p=parse_simpleexpr(p);
@ -1211,7 +1211,7 @@ unsigned char* parse_subexpr(unsigned char *p,int limit)
(op=C_MUL,opl=7,len=1,*p=='*') || (op=C_MUL,opl=7,len=1,*p=='*') ||
(op=C_DIV,opl=7,len=1,*p=='/') || (op=C_DIV,opl=7,len=1,*p=='/') ||
(op=C_MOD,opl=7,len=1,*p=='%') || (op=C_MOD,opl=7,len=1,*p=='%') ||
(op=C_FUNC,opl=8,len=1,*p=='(') || (op=C_FUNC,opl=9,len=1,*p=='(') ||
(op=C_LAND,opl=1,len=2,*p=='&' && p[1]=='&') || (op=C_LAND,opl=1,len=2,*p=='&' && p[1]=='&') ||
(op=C_AND,opl=5,len=1,*p=='&') || (op=C_AND,opl=5,len=1,*p=='&') ||
(op=C_LOR,opl=0,len=2,*p=='|' && p[1]=='|') || (op=C_LOR,opl=0,len=2,*p=='|' && p[1]=='|') ||