Tak, tam jest błąd. Ten argument7 przeszkadza.
Plus, ten kod działa w miarę ok tylko wtedy, kiedy grubość konturu nie przekracza liczby 2. Po przekroczeniu tej wartości kontur ma braki w rogach, bo rysuje on tylko góra/dół, lewo/prawo. Niemniej plusem jest wydajność, bo zawiera tylko 5 kroków kodu.
Najprościej będzie to zrobić for'em, z rysowaniem 360 stopni. Nie wiem jak z wydajnością tego, tutaj starzy wyjadacze mogą się wypowiedzieć. Jakby nie było, jest tutaj 361 kroków do wykonania. Myślę, że jeśli chodzi o optymalizacje, to najlepiej shadery, ale tego jeszcze nie potrafię.
for(var i=0; i<360; i++)
{
draw_set_colour(_coloroutline);
draw_text_ext_transformed(_x + lengthdir_x(_strong, i), _y + lengthdir_y(_strong, i), _text, _sep, _w, _xscale, _yscale, _angle);
}
draw_set_colour(_colortext);
draw_text_ext_transformed(_x, _y, _text, _sep, _w, _xscale, _yscale, _angle);