Внимание! Это очень большое обновление, поэтому, пожалуйста, внимательно прочтите весь список изменений!
Список изменений:
Учётная запись YoYo
- Восстановите информацию о своей GM лицензии, войдя в свою учётную запись, привязанную к вашему ключу (опционально)
- Это также означает, что пользователи Steam могут использовать свои лицензии с автономным установщиком
- Подключайтесь к Marketplace и Player используя один процесс входа
- Подробности смотрите в этих FAQ
Лицензирование/обновление
- Если GM обнаружит недостающие папки модуля, будет предложено исправить пропущенные загрузки
- Теперь есть возможность повторно лицензировать и перезапустить Студию, но кнопки Run/Create для этого модуля будут отключены, если было выбрано “позже”
- Это также касается SVN и других инструментов, также предоставленных в модуле Pro. Поэтому, если вы получили предупреждение, советуем исправить ситуацию как можно скорее!
IDE
- Несколько исправлений и изменений в системе состояний сохранения проекта – когда что-то было изменено и т.п. Пожалуйста, СДЕЛАЙТЕ бэкап!
- IDE теперь может адресовать до 4ГБ ОЗУ на Windows 64bit
- Исправление “Backup on save”
- Исправление ошибок “invalid file name %s” (обычно появляющихся при лицензировании Студии, либо при экспорте в .gmz)
- Исправление лицензирования с вкладкой GGS > Extras
- Удалена нежелательная проверка на одинаковые макросы
- Уменьшено потребление памяти и улучшена перерисовка фонов и тайлов в редакторе путей
- Отмена в редакторе кода стала более аккуратной
- Esc всегда закрывает окно автозавершения кода, если оно открыто (игнорируя любые пользовательские настройки горячих клавиш)
- Скрипты с несколькими вкладками снова должным образом помечают проект изменённым, если вы их удаляете
- Закрытие формы скрипта при переименовании вкладки теперь не изменяет название “основного” скрипта
- Теперь веб-сервер выполняет поиск имени, если обнаружено что-то отличное от допустимого IP4 адреса
- Исправление запуска на Windows XP для пользователей Steam
- Исправление “падения” при завершении работы, замеченного некоторыми пользователями
- Исправление потенциально возможной проблемы лицензирования если имя пользователя или название временной директории содержит отличные от ANSI символы
- Исправление “падения” при попытке импортирования GMK файла
- Исправление ошибки “index out of bounds” при автообновлении пользовательских активов из Marketplace, при запуске
- Теперь доступна портретная ориентация splash изображений в GGS > iOS
- Устранена проблема, когда удаление шейдера не уменьшало счётчик перед запуском игры, что приводило к проблемам на некоторых Андроид устройствах
- Редактору изображений установлен более подходящий лимит ОЗУ для его очереди отмены, что должно предотвратить ошибки нехватки памяти
- Исправлена проблема, когда некоторые нажатия клавиш отправлялись в отладчик вместо игры
- Сниппеты теперь находятся в папке %localappdata% и не будут уничтожаться при обновлении Студии
- Теперь, если в макросах есть пропущенные значения или имена, будет сообщение об ошибке во время сборки
- Теперь при импортировании спрайта из Spine, центр всегда помещается в середину изображения и не может меняться в окне свойств спрайта
- Теперь для спрайтов Spine в окне свойств предпросмотр отображается гораздо качественнее
- Исправлено открытие внешнего редактора изображений из контекстного меню, вызываемого правой кнопкой мыши в дереве ресурсов
- Сделано определение и блокирование пустого спрайта, передаваемого во внешний редактор изображений
- Шейдеры теперь проверяются на совпадение имён, так же, как и другие ресурсы
- Перетаскивание файлов шейдера в IDE теперь корректно добавляет их в шейдеры, а не в Included Files
- “Open in Explorer” на шейдере теперь подсвечивает нужный файл
- Добавлена настройка для открытия внешнего проигрывателя звуков. Если не заполнено, то используется внутренний проигрыватель
- Добавлена настройка для скрытия элементов управления фильтрации дерева ресурсов
- Добавлена настройка для постоянной фильтрации дерева ресурсов по выбранному текущему ресурсу, вместо необходимости вводить его имя в поле поиска
- Добавлена настройка для указания продолжительности показа всплывающих подсказок
- Подпапки в дереве ресурсов теперь не будут сворачиваться при наведении
- Дерево ресурсов будет сдвигаться вверх/вниз при перетягивании в верхнюю или нижнюю часть панели
- Теперь можно перетаскивать спрайты/объекты из дерева ресурсов в подходящие области окна свойств объекта, чтобы установить спрайт, маску, родителя или потомка
- Выпадающий список текстурных групп в настройках шрифтов, спрайтов и фонов, теперь отсортирован. Также можно начать печатать, чтобы найти группу
- Поиск в скриптах теперь может быть запущен по выбранному слову или функции нажатием Shift+MMB, либо Shift+F12
- Поиск в скриптах теперь может включать DND действия (“кнопки”) и макросы в поиске
- Поиск в скриптах теперь также подсвечивает устаревшие события trigger и любые неизвестные события
- Теперь скрипт, указанный в действии Execute Script можно открыть нажатием средней кнопки мыши. Также добавлена кнопка “Edit” в форму свойств
- Исправлена возможность открыть дважды одно и то же действие из разных объектов
- Домашняя папка (“Home folder”)
- Добавлена новая настройка для указания вашей предпочтительной (“домашней”) директории, где будут создаваться ваши проекты
- Добавлена новая кнопка в окно File > New/Import/Demos/Tutorials, при нажатии которой путь проекта будет установлен в домашней директории
- Устаревшие расширения
- Убраны устаревшие элементы интерфейса для установки расширений, добавления их в проект и т.п.
- Обратите внимание, что довольно долго вы могли перетаскивать .gex или использовать правую кнопку мыши и добавить в расширения, так же, как и .gmez
- Эта система будет использоваться в будущем
- Редактор комнат
- Теперь у каждой комнаты свой собственный список очерёдности создания экземпляров
- В области отображения свойств значения X/Y экземпляров и тайлов стали редактируемыми
- Мы также изменили местоположение этих значений и сделали поле предварительного просмотра немного больше
- Клавиши со стрелками теперь можно использовать для точного перемещения экземпляров на 1 пиксель, 5 пикселей (ctrl) и 10 пикселей (shift)
- Ctrl+Shift+стрелки будет перемещать экземпляр на следующую позицию в сетке
- Теперь можно открыть одновременно несколько окон с кодом создания экземпляра
- Объекты размером 1 пиксель теперь не будут блокировать редактор комнат
- Исправлены проблемы с окном очерёдности создания экземпляров
- Поиск следующего или предыдущего экземпляра приводил к ошибочному множественному выделению
- Добавлена возможность открытия кода создания экземпляра двойным кликом по экземпляру
- Добавлены настраиваемая горячая клавиша для перемещения фокуса в поле поиска (Ctrl+F по умолчанию, задаётся в Key Bindings)
- Добавлена возможность использования Enter в поле поиска для перехода к следующему результату и Shift+Enter к предыдущему
- Разрешено открытие кода создания комнаты и кода создания экземпляра непосредственно из окна поиска
- Редактор изображений
- Добавлена поддержка стрелок на клавиатуре для перемещения выбранной области. Обратите внимание, что сначала нужно нажать на выбранную область, чтобы активировать возможность перемещения стрелками
- Enter теперь “подтверждает” множество действий – например, начало новой секции при использовании инструментов рисования фигур и линий
- Функция “Crop” в меню теперь переименована в более точное “Trim”
- Теперь также можно использовать Shift + Left Click для редактирования пользовательской палитры, если у вас нет средней кнопки мыши
- В меню редактора изображений добавлена опция переключения на дополнительное изображение – “черновик” (scratch pad)
- Help > “Required SDKs”
- Новый пункт меню, который содержит ссылку на FAQ, в котором находится список требуемых/рекомендуемых SDK
- Пожалуйста, проверяйте этот FAQ перед обновлением внешних SDK или инструментов (одни из самых частых вопросов касаются Spine, Xcode и Android NDK)
- Добавлена система ссылок для ресурсов
- Объекты, скрипты и таймлайны теперь устанавливают ссылки друг на друга при подключении (родительские объекты/потомки или вызовы скриптов/таймлайнов объектом)
- Должны исчезнуть проблемы с переименованными объектами, становящимися осиротевшими родителями или потомками
- В контекстное меню дерева ресурсов добавлена опция “Check Resources”, которая покажет связанные с выбранным элементом ресурсы
- Дополнительное предупреждение при удалении ресурса, используемого другим ресурсом
- Изменение экспорта GMZ
- Если вы не меняли изначальные конфигурационные файлы, тогда они не будут добавлены в .gmz архив, что уменьшает размер файла
- ПРИМЕЧАНИЕ: прямо сейчас мы рекомендуем вдоль и поперёк проверить ваши .gmz и в случае любых проблем сообщить об этом в техподдержку, добавив туда zip архив своего проекта и gmz
- Контроль версий
- Отключено автоматическое сохранение при создании ресурса, если используется система контроля версий – сделайте коммит, либо сохраните самостоятельно!
- Исправлена проблема с созданием нового проекта в существующем репозитории, когда проект не проверялся должным образом
- Увеличена скорость обновления статуса SCM
- Все команды теперь запускаются с флагом non-interactive, чтобы исключить любые остановки и запросы подтверждения
- Добавлена система ожидания для определения ситуации, когда вы не добавили файлы перед коммитом
- Добавлена возможность улавливания конфликтов в “невидимых” файлах проекта (например, изображения спрайтов)
- Обновление CommitLog, чтобы происходил анализ обновлений статуса вместо обработки имени каждого файла, который будет найден
- Исправлены проблемы, когда обновление SCM приводило к ошибке в IDE из-за пересозданных нод, так как SCM всё ещё помнила старые ноды
- Исправлена проблема, когда коммит происходил некорректно и GM “зацикливалась”, пытаясь передать изменённые файлы
- Исправлены проблемы, когда было возможно добавить конфликтующие файлы
- Исправлена проблема, когда полный откат конфликтного состояния не сбрасывал флаг конфликта
- Исправлена проблема, когда неверно присваивались иконки неверсионным файлам со статусом conflicted/resolved
- Исправлена проблема замены иконки – значок добавляется, а не удаляется
- Исправлено окно статуса, которое не обновлялось так, как надо и мигало
- Добавлена возможность откатить изменения используя SCM_History
- Исправлен импорт проектов git/Mercurial в репозиторий. ПРИМЕЧАНИЕ: имя пользователя и пароль в Preferences – Source Control должны быть корректными!
Новая SWF система
- Используется новая сторонняя система событий SWF. Делайте тщательное тестирование, если используете SWF и, пожалуйста, сообщайте о любых проблемах!
- Оптимизации для улучшения производительности
Поддержка Spine обновлена до версии 2.1.08 (Github репозиторий)
- Исправлена проблема с переворачиванием основной кости в конце скелета. Обратите внимание, что проблема с зеркальным отражением кости относится к самому Spine
- Исправлены различные проблемы с JS платформами
- Теперь меши работают в HTML5
- MeshAttachments теперь считаются как часть ограничивающего прямоугольника скелета
Steamworks SDK v1.33a
- Поддержка недавней версии 1.33a SDK (у вас она также должна быть установлена!)
- Расширены асинхронные события для событий Steam UGC, чтобы возвращать большее количество информации
- Исправлена проблема с белыми списками контента
Windows
- В настройках проекта снова включена опция для показа вашего загрузочного изображения, если вы являетесь Pro-пользователем
- ПРИМЕЧАНИЕ: это полезно только для очень больших игр, так как оно не останавливает игру
Ubuntu
- Добавлена новая платформа – Ubuntu YYC. Пожалуйста, проводите тщательное тестирование!
- Добавлен новый формат .deb (формат пакетов Debian), доступный в выпадающем меню окна создания exe
Mac OSX
- Восстановлена поддержка геймпадов для Mac (только для сборки не для AppStore)
- ПРИМЕЧАНИЕ: это значит, что опцию GGS > Mac OSX > AppStore > “Build for Mac AppStore” нужно отключить, чтобы поддержку любого геймпада
- Добавлена функциональность directory_destroy
- Добавлена функциональность window_get_visible_rects
- Исправлено позиционирование и изменение размера окна на многомониторных системах
- Исправлены события колёсика мыши
- Существующие экземпляры игры теперь выключаются при отправке на Мак новой сборки
- Для сборки YYC теперь не требуется подписывать код, если он не для AppStore
Android
- Поддержка NDK обновлена до 10d. Версии 10c и ниже больше не поддерживаются, так как в 10d сделаны несовместимые изменения
- ПРИМЕЧАНИЕ: вам необходимо установить версию 10d и указать её в настройках File > Preferences > Android
- Поддержка SDK обновлена для использования новых инструментов сборки версии 22.0.1
- ПРИМЕЧАНИЕ: для этого пришлось отключить поддержку геймпадов Moga до выпуска следующей EA версии
- Увеличено максимальное число обнаруживаемых идентификаторов геймпадов, поддерживаемых библиотекой, что должно остановить “падения” игры
- Несколько встроенных событий для прикосновений и движения теперь могут использоваться расширениями
- Теперь в случае ошибки компиляции ресурсов, сборка прерывается, подобно другим платформам
- Добавлена поддержка портретной ориентации загрузочных изображений (наряду с давно существующей альбомной ориентацией)
- Для этого была переработана вкладка настроек загрузочных экранов игры
iOS
- Исправление падений 64-битных расширений, которые могли происходить при запуске или переключении фокуса на приложение
- Исправлена распаковка нескольких архивов, являющихся частью одного расширения
- Добавлена поддержка портретной ориентации загрузочных изображений (наряду с давно существующей альбомной ориентацией)
- Для этого была переработана вкладка настроек загрузочных экранов игры
- Новая галочка в настройках игры для поддержки уменьшенных вдвое текстур для iPad 1
- Исправлена проблема с очень низким уровнем звука на iOS 8.3 в последних EA версиях
Application Oven
- Убраны избыточные функции из пользовательского интерфейса (в любом случае, вам никогда не потребуется открывать Application Oven!)
- Исправлено возвращение неверных данных об сертификатах и профилях в настройках игры
Примеры/Уроки – рекламные расширения
- Все расширения для рекламы были обновлены, чтобы они работали с iOS8 и поддерживали 64 бита, но вам потребуется эта версия GMS, чтобы использовать их
- То же самое относится к двум провайдерам аналитики
- Пожалуйста, обратите внимание, что множество других примеров и уроков также были обновлены и многие из них были переименованы (не содержат пробелы), поэтому их потребуется скачивать заново
Различные внутриигровые изменения
- Перезапуск игры с помощью DND действий или GML кода теперь затирает большее количество значений объектов, делая перезапуск более похожим на первый запуск
- Исправлен вывод звука 7.1 на платформах, поддерживающих его
- Расширенная поддержка микрофона на Win 8 N, WP8, iOS и Android
- Игры под Windows стали лучше обрабатывать события ухода/возвращения мыши в окно
- HTML5 игры теперь поддерживают клавиши + и – рядом с backspace (на нумпаде уже были поддержаны)
- HTML5 игры в iFrames теперь полностью перехватывают клавиши со стрелками и пробел, поэтому страница не будет сдвигаться
- Исправлено некорректное восстановление звука после потери фокуса на Андроид
- Исправлены неверные данные ключей в информации об покупке/продукте некоторых внутриигровых покупок
- Исправлено падение игры, когда шрифт не видел свою текстурную страницу
- Исправление сравнений с неопределёнными значениями
- Были некоторые утечки памяти – если вы используете частицы, то хорошо тестируйте!
- Добавлена функция gml_pragma() для передачи команд оптимизации компилятору ресурсов
- Добавлена функция network_create_socket_ext() для winsock платформ
- Расширена os_get_info(), в которую добавлена информация об спецификации GPU (Windows/Mac/Ubuntu)
- Исправлена функция asset_get_index(), чтобы она также работала и с шейдерами
- draw_text_ext() теперь всегда делает перенос на заданной ширине, а не на следующем за ней пробеле
- Отладочные диалоги show_question(), get_integet() и get_string() будут изменять размер, подстраиваясь под текст
- Добавлена функция vertex_format_delete()
- Для платформ Windows и PS4 добавлена функция buffer_set_surface()
- Расширена функция sprite_get_uvs(), которая теперь также возвращает отступы обрезки и масштабирование
- Добавлена функция steam_current_game_language()
- Добавлена функция steam_available_languages()
- string_width() и string_height() теперь проверяют, чтобы переданное значение было строкой и будут выдавать ошибку, если передано что-то другое
- network_send_broadcast() теперь требуется клиентский UDP сокет, созданный с помощью network_create_socket_ext(), чтобы получить какие-нибудь сигналы (смотрите руководство)
- Исправление для функции place_meeting() и события столкновения, чтобы привести их в соответствие друг другу после предыдущего исправления функции place_meeting() в версии 1.4.1567
- Добавлена функция math_get_epsilon()
- Добавлена функция string_ord_at()
- Исправления для path_start()
- Исправлена ошибка, когда функция surface_copy() возвращала перевёрнутое изображение на OpenGL платформах
- Исправлена ошибка, обычно возникающая при использовании структуры данных, возвращаемой функцией iap_product_details()
Скачать GameMaker: Studio 1.4.1598 можно здесь