ru history - deadelf79/CIGUI GitHub Wiki
Это русская версия CIGUI Wiki. Нажмите сюда, чтобы выбрать другой язык
##История версий и развития Cigui. ###Начало Изначально Cigui был написан только для RGSS1 (RPG Maker XP) в качестве эксперимента. Идея эксперимента была проста - проверить, можно ли заставить интерпретатор выполнять определенные действия, если в строке будут найдены соответствующие слова. Эта версия до сих пор размещена на Google Drive.
Данная версия не имела собственного номера и скрипт не имел названия.
###0.2 Первая версия, опубликованная на сайте Светлой Зоны и Академии RPG Maker.
Эта версия вышла спустя приблизительно месяц работы, в ней появились основные команды Cigui, такие как: создание окон, указание их положения на экране, задание форматированного текста, установка игры на паузу, работа с кнопками в окнах и переключением переменных.
Также скрипт был назван аббревиатурой CIGUI, что расшифровывается как Command Interpreter for Graphics User Interface - командный интерпретатор для работы с графическим пользовательским интерфейсом. Позднее данное название закрепилось как самостоятельное слово и применялось активными участниками форума в обсуждениях.
###0.3 Данная версия отличилась двумя моментами. Во-первых, она была впущена спустя сутки после публикации прошлой и содержала исправлена множества ошибок, которые в прошлой версии учтены не были. Во-вторых, начиная с этой версии можно было скачать идущий отдельно от демо-версии иллюстрированный справочник по командам Cigui.
В разработке и тестировании этой версии помимо DeadElf79 принимал участие также Caveman.
###0.4 Данная версия должна была стать самой полнофункциональной версий интерпретатора Cigui. В связи со сложностью тестирования публикация происходила поэтапно. ####Альфа Была создана демонстрация отображения значения переменных в текте окна. Также, окно работало и обновлялось одновременно с картой, на которой находился персонаж игрока. ####Бета Добавлены операции работы с Cigui, впервые было употреблен термин "командная ветвь".
Вместе с демо-версий шел комплект библиотек DLL для корректной работы приложения. Также, демо-версия более не нуждалась в установленном на компьютере Runtime Package (RTP) для своего запуска.
Была проведена масштабная работа над справочником. ####Full Она же - версия 0.4.1.
Добавлены команды для работы с прозрачностью и активностью окон. Была добавлена новая карта для демонстрации новых возможностей, к которым относится также плавное перемещение окон из точки A в точку B и обратно (команда "вернуть").
Скрипт CIGUI стал настолько большим и неудобным для редактирования, что был разделен на два скрипта - preCIGUI, в котором содержались все модифицированные классы окон, и CIGUI с обработкой текста.
В работе над версией также принимали участие Sando (идея отображения иконок в тексте окон) и Caveman (размещение окон над событиями, перенос слов на новые строки при нехватке места в окне).
####Релиз и версии для других редакторов Версии 0.4.2 и 0.4.3 практически не отличались друг от друга, добавляя несколько исправлений для версии Full. Однако, именно версия 0.4.2 была перенесена на RGSS3 (RPG Maker VX Ace) и для нее создана отдельная демо-версия.
Была выпущена самая полная документация в формате PDF, дополненная FAQ с вопросами от пользователей и ответами и примерами от разработчика.
Над переносом скрипта на RGSS3 поработал Amphilohiy.
Версия 0.4.3 стала окончательной в серьезной разработке Cigui и до ноября 2014 года развитие скрипта не планировалось.
###Версии, которые не были опубликованы Версии скрипта, представленные ниже, не публиковались и являлись больше экспериментами, чем серьезной разработкой. В отличие от предыдущих версий, они целиком и полностью разрабатывались в текстовых редакторах Sublime Text и Notepad++, а не во встроенном в RPG Maker окне Script Editor.
####0.5 Первая попытка оптимизации скрипта. Впервые появилась идея о создании единого массива, который будет содержать все команды, исполняемые Cigui для удобства локализации.
Также, появилась идея о занесении создаваемых окон в общедоступный массив $global_cigui_windows и разработке класса, выполняющего автоматическое переключение между активными окнами или удаление экземпляра класса Cigui из памяти, если активных окон нет.
####0.6 Вторая попытка оптимизации скрипта. Вместо методов, каждый из которых выполняет обработку целиком и полностью, было принято решение о разбиении на более универсальные функции. Появилась улучшенная версии функции полноценного поиска чисел - decimal, регулярное выражение из которой было опубликовано в блоге DeadElf79 на сайте Нейтральной полосы. Впоследствии оно же было дополнено для поиска рациональных чисел и перенесено в текущую версию Cigui.
####0.7 Была создана рабочая версия обработки команд, сожержащихся в двух специальных словарях - ATOM и MOLECULE. В первом хранилось регулярное выражение, содержащее все варианты одного и того же слова-команды, во втором из этих слов складывались комбинации словосочетаний. Это было развитие идеи, начатой в версии 0.5, с использованием методов, подготовленных в версии 0.6.
Также, в этой версии проводились первые эксперименты по документированию кода с помощью RDoc.
###Текущая версия В ноябре 2014 года было принято решение о переработке скрипта с учетом всех ранее предложенных идей:
- Словарь слов-команд VOCAB
- Словарь комбинаций слов-команд CMB
- Отдельные словари для каждой [командной ветви](ru What is branch command)
- Универсальные методы для чтения рациональных и целых чисел, булевых значений и подстрок (строка внутри другой строки), независимое от работы модуля в данный момент (не требуют вызова метода
update
) - Документирование с помощью RDoc с примерами использования универсальных методов (впоследствии - все задокументированные методы имеют примеры работы)
- Cigui стал модулем, что избавило от необходимости создания объекта, доступного глобально, содержащего экземпляр класса
- Атрибут windows, который позволяет увидеть массив всех созданных окон, а также получить доступ к чтению всех текущих параметров для использования в качестве условий при создании событий на картах в редакторе RPG Maker
- Адд-он локализации словаря VOCAB
Весь код переписывается с нуля в редакторе Notepad++ и тестируется с помощью плагина NppExec. Специально для тестирования были написаны версии классов, входящих в состав RGSS, для отображения в командной строке. К таким классам относяться: Color, Tone, Rect и другие.
Релиз первой версии назначен на февраль 2015 года.
Примечание: текущая версия могла бы иметь номер 0.8, однако на момент официальной публикации будет иметь номер 1.0 и дальнейшие версии будут выходить в соответствии с этой цифрой.