-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loads of fixes and improvements. #101
Conversation
Merge code (half of which I wrote anyway).
This might fix the problem some people were having with y_dialog eventually stopping for no apparent reason.
|
Note that this will still fail on very specific comment lines, where the close comment ("-->") spans column 130.
Because they were bigger than YSI_MAX_STRING, they would span two blocks and the parser wouldn't see the close comment.
Fixed y_xml not parsing long lines correctly all the time. I still don't think it will work for writing. |
Not sure if you were notified, but I left a note in Misiur@4aa0975 |
I saw that. This new version tries to find amx_assembly in about six different places. As long as it is in one of those, you are fine. If another library uses it as well, you should only need one copy. in fact, I wrote the amx_assembly inclusion code in the introspect include and I know for a fact that it uses a similar search technique. The two should be entirely compatible with each other as long as amx_assembly is in some vaguely sensible location (like a subdirectory of YSI or pawno/includes). The old code ONLY looked in a subdirectory of YSI. |
They could actually both have more versions, but it probably isn't needed. Also don't forget that the compiler takes filenames in to account (at least the default one or Zeex's with -Z), so if one amx_assembly file was already included by one library, the compiler won't even bother looking for it a second time. |
Group_SetBalanced
. If the player is already in a group, return that group instead of continuing. This is because removing a player from a group is tricky if that group contains other groups - should they be removed from those other groups as well? And what if they were added to those child groups independently, should they STILL be removed from that group when removed from the parent group? The simplest solution is to let the user remove players from any existing groups first, so that they know the correct removal semantics to use, THEN callGroup_SetBalanced
. This also changes the function to no longer take either a list OR an array, JUST a list, and addsGroup_SetBalancedArray
to make up the difference. Finally, the validity of groups has been moved, and more validation and flexibility added. Previously, if there was more than one group given that was considered fine, even if some were not valid groups. Now there must be at least one valid group given, but now one group is fine - just add them to that one.YSI_NO_HEAP_MALLOC
to use the old style y_malloc with a huge array instead of the heap. This MAY fix Problem with Y_dialog, Y_inline, mysql #62, |Bug| y_malloc ? #91 , y_inline won't work after few gmx [linux] #99, and Southclaw/ScavengeSurvive#248.Previously,
Random
and a few other iterators used static variables within themselves to keep track of extra data, meaning that they couldn't be nested. Now that extra data is declared hidden within theforeach
loop.