Список изменений:
Изменения по сурфейсу приложения
- КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ: Сурфейсы теперь наращиваемые (stackable, работают как стек). Это означает, что каждое surface_set_target() ОБЯЗАНО иметь закрывающий вызов surface_reset_target(). Игнорирование этого требования приведет к ошибке во время выполнения.
- Новая встроенная переменная application_surface, содержащая указатель на сурфейс приложения.
- Позволяет делать корректировку соотношения сторон на всех платформах.
- window_set_size() больше не влияет на разрешение/масштабирование игры. Теперь эти свойства контролируются через application_surface и surface_resize().
- Добавлено новое демо, которое показывает переход между сценами, демонстрируя преимущества нового application_surface.
- ПРИМЕЧАНИЕ 1: всё перечисленное выше пока что не доступно на HTML5! (Будет реализовано в следующей версии EA)
- ПРИМЕЧАНИЕ 2а: с этой системой, захват области экрана в данный момент не работает на мобильных платформах, поэтому вы не можете воспользоваться get screen_save() или draw_getpixel() в этой версии.
- ПРИМЕЧАНИЕ 2б: также знайте, что, поскольку теперь есть разделение размеров GUI и application_surface, то, если они не 1:1, вы не сможете захватывать данные через draw_getpixel(), как делали в предыдущих версиях, особенно, если есть корректировка соотношения сторон. Возможно, что вам придётся скорректировать свои значения.
Новые функции
- timeline_clear() – полная очистка таймлайна
- timeline_moment_add_script() – добавить вызов скрипта в нужный момент таймлайна
- timeline_size() – возвращает размер таймлайна, число моментов
- timeline_max_moment() – возвращает максимальный момент в таймлайне
- buffer_get_address() – получить адрес основной памяти в буфере
- gml_release_mode() – переключение режима публикации (релиза) (в этом режиме делается меньше проверок на ошибки)
- tile_get_count() – получить количество тайлов
- tile_get_id() – получить id нужного тайла
- tile_get_ids() – получить id всех тайлов
- tile_get_ids_at_depth() – получить id всех тайлов с заданной глубиной
- angle_difference() – получить разницу между двумя углами
- draw_roundrect_ext() – рисование прямоугольника со скруглениями
- draw_roundrect_color_ext() – рисование прямоугольника со скруглениями
- window_device() – возвращает указатель на окно устройства (D3D Handle в Windows)
- dsin(x),dcos(x),dtan(x),darcsin(x),darccos(x),darctan(x),darctan2(x) – тригонометрические функции, работающие с градусами
- mp_grid_get_cell() – получение состояния клетки из mp_grid
- is_ptr – возвращает true, если переменная является указателем (ПРИМЕЧАНИЕ : функции window_device(), window_handle() и get_texture теперь возвращают указатель, а не число)
- device_mouse_x_to_gui(), device_mouse_y_to_gui() – получение координат мыши в пространстве GUI
- surface_resize() – позволяет изменять размер сурфейса (без сохранения содержимого)
- application_get_position() – получение позиции скорректированной с учётом соотношения сторон области внутри текущего окна
- ds_list_add(), ds_queue_enqueue(), ds_stack_push() – изменения, позволяющие задавать множество значений
- point_in_rectangle(), point_in_triangle(), point_in_circle() – функции проверки вхождения точки в заданный графический примитив
- rectangle_in_rectangle(), rectangle_in_triangle(), rectangle_in_circle() – функции проверки вхождения прямоугольника в заданный графический примитив
Изменения в отладчике
- Расширен тайм-аут связи для более надёжного соединения
- Новая иконка
- Добавлено отображение стека вызовов
- Добавлено отображение списка всех экземпляров
- Добавлено отображение выбранного экземпляра (только для Windows desktop платформы)
- Диалоги на целевой платформе больше не прерывают отладчик, поэтому связь не теряется
- Теперь происходит остановка при обнаружении ошибки на целевой платформе
- Организация дерева ресурсов, каталоги и т.п. теперь отражается в отладчике
- Добавленная частичная выборка для больших структур/массивов. ПРИМЕЧАНИЕ: в данный момент не доступно на HTML5!
Изменения в Студии
- Объем потребляемой памяти был существенно уменьшен (приблизительно на 50%) – графика загружена не все время, а только при обращении к ней (сообщите нам о любых проблемах, которые заметите)
- Добавлены настройки соотношения сторон в платформы, где их не было
Изменения в компиляторе
- Добавлены новые способы доступа (аксессоры) к картам, сеткам и спискам, а также доступ к массивам по ссылке (не создаётся копия массива при записи)
- Все функции, содержащие слово “color”, теперь имеют синоним с написанием “colour” (идентичная функция, но с корректным написанием). Вся документация и система завершения строки исправлены на “colour”
Изменения в раннере
- http_request() теперь понимает бинарные буферы
- На iOS функция show_message() не ждала реакции пользователя, если запуск был произведён из Студии. Исправлено.
- Networking async event теперь передаёт номер порта в карту с ключом “port”
- Steam Workshop uploads из Early Access 1.99.44 необходимо загрузить повторно в связи с изменениями формата файла
И, конечно же, исправления множества ошибок.