====== Список изменений ====== ===== 2.0.3 (24.10.2020) ===== * Никаких изменений, просто не уверен что правильно собрал пакет ===== 2.0.2 (24.10.2020) ===== * ''salet.view.hasLocalStorage'' теперь ловит ошибки. Это значит, что игра будет работать даже внутри iframe, который запускается в режиме песочницы и не может вообще обращаться к объекту ''localStorage''. ===== 2.0.1 (02.11.2017) ===== * marked и вообще Markdown теперь необязательны. Можно компилировать текст в HTML при сборке игры. Это должно заметно ускорить вывод текста. ===== 2.0.0 (09.11.2017) ===== * Множество функций комнат переведено в Javascript события. * Таймеры переведены в Javascript события. * Теперь библиотека собирается на CoffeeScript 2, то есть, она переведена на ES6, то есть, выброшена поддержка старых браузеров. * Отдельный класс ''Container'' приводит к единому API работу с элементами в комнатах и у персонажа. * Отдельный режим глаголов позволяет прикреплять действия к элементам, а не к комнатам. * Добавлена возможность вынести блок ''#choices'' из главного блока игры. * Исправлена работа в случае, если блока ''#choices'' в игре нет вообще. * Написан дополнительный модуль ''salet-gamepad'', который включает поддержку геймпадов и джойстиков. * Документация обновлена, несовместимые нововведения помечены знаком 2.0 ===== 1.8.6 (15.09.2017) ===== * Пересборка без изменения кода ===== 1.8.5 (03.08.2017) ===== * Слияние улучшенных тайпингов TypeScript (код от @hogart) ===== 1.8.4 (31.07.2017) ===== * Sourcemaps (карты исходников) для минифицированного ''index.min.js'' и скомпилированного ''index.js'' ===== 1.8.3 (31.07.2017) ===== * Исправление пути к дефинициям TS. ===== 1.8.2 (31.07.2017) ===== * Техническое исправление, увеличение номера. ===== 1.8.1 (31.07.2017) ===== * Добавил дефиниции [[https://www.typescriptlang.org/|TypeScript]] от [[https://gitlab.com/hogart/salet-ts|Константина Китманова.]] ===== 1.8.0 (16.06.2017) ===== * Убрал действие ''cyclewriter'' из всех комнат. Это не настолько востребованная функция, не настолько универсальная и добавляет новую функцию в каждую комнату. Мусор. ===== 1.7.6-1.7.7 (20.05.2017) ===== * Параметр ''display'' элементов сцены теперь может быть функцией. ===== 1.7.5 (15.05.2017) ===== * Исправлено и упрощено поведение функции ''salet.goBack''. ===== 1.7.4 (03.05.2017) ===== * Исправлена ошибка границ ''randomElement'' * Добавлен параметр ''salet.room.unitDelimiter'', отвечающий за строку-разделение описаний объектов в комнате. ===== 1.7.3 (02.05.2017) ===== * Исправлена ошибка, когда функция ''salet.rnd.odds'' возвращала отрицательные значения. ===== 1.7.1-1.7.2 (02.05.2017) ===== * Ошибки упаковки, нет изменений. ===== 1.7.0 (02.05.2017) ===== * Новая функция ''[[ru:api:rng#odds|salet.rnd.odds]]'' вычисляет шанс того, что одна переменная + значение на выбранном кубике будет больше цели * Новая функция ''[[ru:api:rng#odds|salet.rnd.randomElement]]'' возвращает случайный элемент из массива. ===== 1.6.18-1.6.21 (02.04.2017) ===== * Настройка NPM пакета ===== 1.6.17 (02.04.2017) ===== * Исправления ''goBack'' и нормализации пробелов * Настройка NPM пакета ===== 1.6.16 (10.02.2017) ===== * Если у комнаты не было своей секции (''extendSection = true''), то операция очистки старых ссылок ''removeTransient'' не работала. Теперь в этом случае она вынужденно работает на весь блок текста. (Залезть в историю игры и посмотреть, откуда пришёл игрок уже в эту комнату было бы более тонким решением, но это и сложнее, потому что комнат с ''extendSection = true'' может быть хоть сколько угодно.) ===== 1.6.15 (19.12.2016) ===== * Заменил домашнюю функцию ''merge'' на ''jQuery.extend'' * Правка синтаксиса * Автотесты на локализацию * Исправление ошибки с параметрами локализации ===== 1.6.14 (19.12.2016) ===== * Удалил свойство ''SaletRoom.pic'', которое звонило на несуществующее ''SaletView.pictureTag''. Изображения можно просто вставлять в описание комнаты. Также см. заметки к версии [[#1.4.15]] ===== 1.6.13 (15.12.2016) ===== * Теперь таймеры выполняются до выполнения действий, но их вывод записывается в буфер и выводится уже после всех действий. Это сделано потому, что таймеры могут менять состояние игры, но если они будут выводить текст до входа в комнаты, то текст может быть стёрт действиями или комнатами. ===== 1.6.12 (14.12.2016) ===== * API для таймеров: [[ru:api:core#addTimer|Salet.addTimer]], [[ru:api:core#addTimer|Salet.dropTimer]], [[ru:api:core#addTimer|Salet.resetTimer]], [[ru:api:core#addTimer|Salet.checkTimer]],[[ru:api:core#addTimer|Salet.timers]]. * Из ядра Salet убрано свойство ''version''. Контроль версий идёт на стороне ''npm''. ===== 1.6.11 (11.12.2016) ===== * Описания объектов теперь собираются перед обработкой Markdown, поэтому не будут обязательно выводиться в отдельных параграфах. ===== 1.6.10 (11.12.2016) ===== * В обработчик ''[[ru:api:room#canExit|canExit]]'' теперь передаётся название (name) комнаты, а не весь объект. ===== 1.6.9 (10.12.2016) ===== * Так как баг с эффектами исправлен, то исправил баг с очисткой ссылок при переходе из текущей комнаты в текущую комнату. ===== 1.6.8 (10.12.2016) ===== * Исправил баг с эффектами при переходе в другую комнату. ===== 1.6.7 (10.12.2016) ===== * Функция [[ru:api:room#optionText|optionText]] теперь получает аргументом имя текущей комнаты (откуда придёт игрок) ===== 1.6.6 (09.12.2016) ===== * Добавление функций [[ru:api:room#link|link]] и [[ru:api:room#bilink|bilink]] к API комнат. ===== 1.6.5 (08.12.2016) ===== * Исправление ошибки с ''fcall'' в предыдущей версии. ===== 1.6.4 (08.12.2016) ===== * Из ядра удалены остатки поиска пути * getSave больше не принимает бесполезного аргумента ''slot'' * ''SaletView.mark_all_links_old'' теперь работает только внутри контейнера ''#page'', а не на всей странице ===== 1.6.3 (07.12.2016) ===== * Исправлены ошибки в функциональных тестах. * Исправлено взятие элементов комнатами (''SaletRoom::take'') ===== 1.6.2 (07.12.2016) ===== * Исправлены эффекты при входе в игру. ===== 1.6.1 (07.12.2016) ===== * Ошибка при публикации NPM, техническое увеличение номера версии. ===== 1.6 (07.12.2016) ===== * В демо-игру добавлен "ночной режим". * Изменена логика анимации: теперь удаление старого текста происходит только после того, как весь новый текст уже выведен на экран. Это означает, что вывод нового текста точно не помешает анимациям старого, так как 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'' из [[https://daneden.github.io/animate.css/|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 * Исправление [[https://github.com/idmillington/undum/issues/51|бага Undum]] для ссылок с классом ''sticky''. Ссылки с этим классом останутся активными после перехода в новую комнату, как и должны. ====== 1.4.15 (16.09.2016) ====== * Из ядра Salet удалён поиск пути. Он не работал, и я не встречал ещё ни одной текстовой игры с подобной функцией. * Удалено свойство ''SaletView.pictureTag''. ====== 1.4.14 (16.09.2016) ====== *''canExit'' теперь может быть ''false'', что безусловно запрещает выход. * Починка сброса элементов ''drop()''