One of the reasons for changing the skin format recently was because we are getting a brad new (quite awesome) parser and display engine (which is still being worked on).
My problem is alot of tags eat the whole rest of the line, for example %xl(), %we/d/i, %X, etc. We already saw this issue with %V and worked around that, but I wonder how we should deal with all those tags?
One possible option is doing pretty much what has been done since condiionl viewports went in... Dont do any drawing before the first %V() line. This will be done anyway but there still will be problems if you put those lines inside viewports (all your lines will be pushed down...).
A simple solution is forcing you to put a # at the end of the line (which will then join the next line onto the current one which will fix the problem) but that isnt really the best idea.
Another possible option is if the line has any of a set of tags it will never cause a new line? Then we only need to get the list of such tags (pretty easy to find)...
Which sounds like the best way to go?