Декабрь 2005

04.12.2005

  • Исправлена ошибка в классе TStotageReader при обработке пустых строк.
  • В класс ALink добавлено свойство Direction.

05.12.2005 — 18.12.2005

  • Многочисленные мелкие доработки классов для облегчения их работы в редакторе зон.
  • Добавлен зачаток класса ACharacter.

19.12.2005

  • Добавлен класс TNerealServerThread — поток с серверным сокетом.
  • Добавлен класс TNerealClientThread — поток с клиентским сокетом. Вынесен в модуль uCharacters для исключения перекрестных ссылок.
  • Временно реализована обработка входящих строк — как эхо-сервер.

20.12.2005

  • Добавлен класс TThreadTimer — поток, вызывающий событие OnTimer раз в заданный интервал.
  • Добавлен класс TFileFlags, инкапсулирующий в себе работу с каталогом файлов-флагов.
  • Сделано закрытие сервера по наличию флага «exit».
  • В некоторые основные классы (ALocation, ACharacter) добавлен свойство Counter и метод Update, устанавливающий значение Counter в текущее. Используется для учета изменения данных.
  • Добавлен класс TGlobalSettings, сохраняющий глобальные настройки и переменные в файл «global.ndb».

21.12.2005

  • Добавлены и реализованы базовые классы TContext и TContextStack.
  • Класс ACharacter переведен на численную идентификацию.

22.12.2005

  • Временные персонажи не сохраняются в файле.
  • В класс итератора списков и коллекций добавлена возможность обработки первичного массива элементов, без его копирования. Но при этом запрещено удаление.
  • Добавлен класс TLogger для ведения логов.
  • Вывод в глобальный лог основных событий (запуск и закрытие сервера, коннект и дисконнект клиентов).

26.12.2005

  • Добавлен класс TStringQueue (построенный по типу односвязного списка).
  • В свойствах персонажа добавлены буфер команд и счетчик ожидания команд.
  • В ClassList добавлен метод GetDescendantList.
  • В класс TContextStack добавлен метод Change — замена контекста на вершине без возврата в предыдущий контекст.
  • Добавлен класс TState — базовый класс состояния.
  • Добавлен класс TStateList — глобальный список экземляров всех классов-потомков TState.
  • В класс TContext добавлено свойство State — текущее состояние.
  • Реализован механизм обработки команд через схему: строка из буфера → текущий контекст → текущее состояние контекста.
  • В классе TCharacterCollection добавлен поиск по логину.

27.12.2005

  • Все методы в TState сделаны классовыми.
  • Удален класс TStateList, в виду отсутствия необходимости в экземплярах TState, даже единичных.
  • Добавлен класс TEvent — базовый класс событий. Содержит только классовые методы, из которых только один в public.
  • ACharacter — добавлено свойство ClientType. Метод TEvent.ClientDispatch по этому свойству вызывает один из методов, обрабатывающих вывод для конкретного клиента.
  • Добавлен класс TEventString, имеющий строку в параметрах события.
  • Добавлен класс TEventResources — загружает и содержит все строковые ресурсы для событий.

28.12.2005

  • Добавлен каталог Static\CharMap, в котором находятся таблицы преобразований символов (во все кодировки, и в верхний/нижний регистр).
  • Добавлены функции для загрузки таблиц и перекодировки по ним.
  • Добавлена функция кодирования пароля.
  • Добавлены ветка классов клиентов — базовый TClient и четыре потомка от него.
  • Реализована обработка входящего и исходящего траффика для клиента default.

29.12.2005

  • Полностью реализован ContextLogin.
  • Добавлено свойство персонажа Sex.
  • Полностью реализован ContextRegistration.
  • Добавлен начальный вариант функции TemplateProcessing.