Декабрь 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.