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 и дальнейшие версии будут выходить в соответствии с этой цифрой.