Список изменений

  • marked и вообще Markdown теперь необязательны. Можно компилировать текст в HTML при сборке игры. Это должно заметно ускорить вывод текста.
  • Множество функций комнат переведено в Javascript события.
  • Таймеры переведены в Javascript события.
  • Теперь библиотека собирается на CoffeeScript 2, то есть, она переведена на ES6, то есть, выброшена поддержка старых браузеров.
  • Отдельный класс Container приводит к единому API работу с элементами в комнатах и у персонажа.
  • Отдельный режим глаголов позволяет прикреплять действия к элементам, а не к комнатам.
  • Добавлена возможность вынести блок #choices из главного блока игры.
  • Исправлена работа в случае, если блока #choices в игре нет вообще.
  • Написан дополнительный модуль salet-gamepad, который включает поддержку геймпадов и джойстиков.
  • Документация обновлена, несовместимые нововведения помечены знаком 2.0
  • Пересборка без изменения кода
  • Слияние улучшенных тайпингов TypeScript (код от @hogart)
  • Sourcemaps (карты исходников) для минифицированного index.min.js и скомпилированного index.js
  • Исправление пути к дефинициям TS.
  • Техническое исправление, увеличение номера.
  • Убрал действие cyclewriter из всех комнат. Это не настолько востребованная функция, не настолько универсальная и добавляет новую функцию в каждую комнату. Мусор.
  • Параметр display элементов сцены теперь может быть функцией.
  • Исправлено и упрощено поведение функции salet.goBack.
  • Исправлена ошибка границ randomElement
  • Добавлен параметр salet.room.unitDelimiter, отвечающий за строку-разделение описаний объектов в комнате.
  • Исправлена ошибка, когда функция salet.rnd.odds возвращала отрицательные значения.
  • Ошибки упаковки, нет изменений.
  • Новая функция salet.rnd.odds вычисляет шанс того, что одна переменная + значение на выбранном кубике будет больше цели
  • Новая функция salet.rnd.randomElement возвращает случайный элемент из массива.
  • Настройка NPM пакета
  • Исправления goBack и нормализации пробелов
  • Настройка NPM пакета
  • Если у комнаты не было своей секции (extendSection = true), то операция очистки старых ссылок removeTransient не работала. Теперь в этом случае она вынужденно работает на весь блок текста.

(Залезть в историю игры и посмотреть, откуда пришёл игрок уже в эту комнату было бы более тонким решением, но это и сложнее, потому что комнат с extendSection = true может быть хоть сколько угодно.)

  • Заменил домашнюю функцию merge на jQuery.extend
  • Правка синтаксиса
  • Автотесты на локализацию
  • Исправление ошибки с параметрами локализации
  • Удалил свойство SaletRoom.pic, которое звонило на несуществующее SaletView.pictureTag. Изображения можно просто вставлять в описание комнаты. Также см. заметки к версии 1.4.15
  • Теперь таймеры выполняются до выполнения действий, но их вывод записывается в буфер и выводится уже после всех действий. Это сделано потому, что таймеры могут менять состояние игры, но если они будут выводить текст до входа в комнаты, то текст может быть стёрт действиями или комнатами.
  • Описания объектов теперь собираются перед обработкой Markdown, поэтому не будут обязательно выводиться в отдельных параграфах.
  • В обработчик canExit теперь передаётся название (name) комнаты, а не весь объект.
  • Так как баг с эффектами исправлен, то исправил баг с очисткой ссылок при переходе из текущей комнаты в текущую комнату.
  • Исправил баг с эффектами при переходе в другую комнату.
  • Функция optionText теперь получает аргументом имя текущей комнаты (откуда придёт игрок)
  • Добавление функций link и bilink к API комнат.
  • Исправление ошибки с fcall в предыдущей версии.
  • Из ядра удалены остатки поиска пути
  • getSave больше не принимает бесполезного аргумента slot
  • SaletView.mark_all_links_old теперь работает только внутри контейнера #page, а не на всей странице
  • Исправлены ошибки в функциональных тестах.
  • Исправлено взятие элементов комнатами (SaletRoom::take)
  • Исправлены эффекты при входе в игру.
  • Ошибка при публикации NPM, техническое увеличение номера версии.
  • В демо-игру добавлен "ночной режим".
  • Изменена логика анимации: теперь удаление старого текста происходит только после того, как весь новый текст уже выведен на экран. Это означает, что вывод нового текста точно не помешает анимациям старого, так как DOM уже, скорее всего, не будет меняться.
  • Salet теперь ожидает, что jQuery находится в переменной window.$, как оно обычно привязывается по умолчанию. Больше не надо определять window.jQuery; маловероятно, что в игре будут проблемы совместимости разных библиотек.
  • Из демо-игры убраны стили и миксины анимаций CSS3.
  • Salet снова скрывает и показывает блоки при помощи jQuery, а не CSS3; у CSS-анимаций были большие проблемы, когда игрок их обгонял и на странице было несколько блоков сразу, которые надо было скрыть. Анимации jQuery могут выполняться одновременно, не перезапускаясь на середине.
  • Теперь для скрытия блока Salet постепенно делает его прозрачным, а потом сворачивает его.
  • Добавлено несколько блоков на всякий случай, чтобы при изменениях DOM ждать конца или прекращать визуальные эффекты.

1.5.4 (18.10.2016)

  • Параметр remove в функции salet.view.hideBlock выставлен по умолчанию в false.

1.5.3 (10.10.2016)

  • canExit теперь первым параметром получает комнату, куда выходит игрок.
  • В демо-игре исправлена ссылка на эту вики.
  • В демо-игре исправлены атрибуты display у элементов.
  • В демо-игре переделано оформление. Теперь кнопки и список комнат располагается над текстом, а цветовая схема - строго чёрно-белая, а не зелёно-чёрно-красная.

1.5.2 (04.10.2016)

  • Функция animateBlock вынесена отдельно для авторов, которые хотят использовать свои CSS3 анимации.
  • Cakefile больше не попадает в пакет NPM.

1.5.1 (26.09.2016)

  • Названия анимаций по умолчанию изменены; вместо fadeOutUp из animate.css будет fadeOut

1.5.0 (25.09.2016)

  • CSS3 эффекты вместо jQuery
  • Билд-система Cake теперь может отдельно компилировать код, и отдельно его сжимать.
  • Автоматические функциональные тесты через qUnit
  • Починка взятия предметов через @take
  • Анимации CSS3 вместо jQuery
  • Поддержка тем для ссылок рестарта и сохранения (можно убирать ссылки и возвращать обратно, новые тоже будут работать). Главное, чтобы было не больше одной.
  • salet.view.write теперь синоним для salet.view.append
  • Переменные salet.view теперь принадлежат экземпляру класса, а не прототипу. (Не то чтобы это было необходимо, потому что у SaletView всего один экземпляр, но это однообразно с другими классами)

1.4.16 (19.09.2016)

  • Анимации скролла больше не добавляются в очередь; выполняется только последняя
  • Минификация модуля настроена на EcmaScript 5
  • Исправление бага Undum для ссылок с классом sticky. Ссылки с этим классом останутся активными после перехода в новую комнату, как и должны.

1.4.15 (16.09.2016)

  • Из ядра Salet удалён поиск пути. Он не работал, и я не встречал ещё ни одной текстовой игры с подобной функцией.
  • Удалено свойство SaletView.pictureTag.

1.4.14 (16.09.2016)

  • canExit теперь может быть false, что безусловно запрещает выход.
  • Починка сброса элементов drop()
  • ru/changelog.txt
  • Последние изменения: 2017/12/02 11:08
  • Alexander Yakovlev