Привет.
Тут на днях начал изучать данное чудо програмисткой мысли, вобсчем впечатления остались такие, какие я и ожидал - поделка жуткая. Сам язык то по сути не плохой, а вот все остальное оставляет желать лучшего. Вообще у Марка замечена такая тенденция - с каждым продуктом все меньше возможностей в плане графики\звука и.т.д... и как итог юзер должен тратить свое время на допиливание движка. Ах да... насчет движка - говнокодец тот еще, в славных традициях Новозеландских программистов для примера возьмем такой фрагмент кода :
Function Rotate( angle# )
Transform Cos(angle),-Sin(angle),Sin(angle),Cos(angle),0,0
End Function
Это просто пипец! Неужели Марку впадло было обьявить две локальные переменные ?! Неудивительно, что мартышка мягко говоря "нелетает" в HTML.
Function DrawImage( image:Image,x#,y#,frame=0 )
#If CONFIG="debug"
DebugRenderDevice
#End
Local f:Frame=image.frames[frame]
If context.tformed
PushMatrix
Translate x-image.tx,y-image.ty
ValidateMatrix
If image.flags & Image.FullFrame
context.device.DrawSurface image.surface,0,0
Else
context.device.DrawSurface2 image.surface,0,0,f.x,f.y,image.width,image.height
Endif
PopMatrix
Else
ValidateMatrix
If image.flags & Image.FullFrame
context.device.DrawSurface image.surface,x-image.tx,y-image.ty
Else
context.device.DrawSurface2 image.surface,x-image.tx,y-image.ty,f.x,f.y,image.width,image.height
Endif
Endif
End
Что за манипуляции с матрицами внутри функции непосредственной отрисовки??? Тоесть даже если я поставлю в аргументах нули - он всеравно преобразует матрицу, тоесть по сути функция выполнит бесполезный кусок кода.
И подобных моментов в мартышке - сплош и рядом.
По самому языку : Отсутствие дерективы "With". На дворе уже 21-й век... суть его заключается в том, что переменная обьявленная с этой дерективой помещается в регистр ЦП и соответственно при обращении к ней обеспечивается быстрый доступ.
ВЕРДИКТ - какашко, которому далеко даже до БМакса.
Но сама идея движка не плохая, только реализация хуйовая.