12.12.2021 * Исходники проекта доступны на гитхабе, история изменений (новых) теперь тоже там (https://github.com/shadowlmd/tornado-bbs/commits/master). 26.08.2018 * Для почтовых областей можно указывать тип Local, при написании писем в такие области не будет создаваться/обновляться Echo_Log. 09.08.2018 ! Исправлена неправильная реакция на ушедшее назад время в результате синхронизации. * Что-то ещё исправлялось по мелочам за последние почти 11 лет. :) 29.12.2007 ! [DOS] Исправлена недоработка, из-за которой ntvdm.exe падал с ошибкой доступа под Windows Server 2003. - Убран так называемый "Эмyлятоp глюк ;)", давно хотел это сделать... 01.08.2007 * Один гостевой аккаунт может использоваться на нескольких линиях одновременно. 17.07.2007 ! [DPMI] Исправлена критическая ошибка, вызванная некорректной установкой директив компилятора. Для страховки, везде, где DOS версия использует "far calls", DPMI вресия тоже теперь их использует. Это немного увеличило размер исполняемого файла, и теоретически уменьшило скорость работы, хотя заметить это можно будет разве что на каком-нибудь музейном экспонате. ! Окончательно исправлена ошибка, из-за которой пользователя могло выбросить во время релогина с сообщением "ваше время истекло". + [DOS] В 16-битные версии добавлена поддержка NTVDM API. Благодаря этому значительно улучшилась работа этих версий в NT-образных ОС. Загрузка процессора практически всегда нулевая, правильные задержки, изменение заголовка окна, реакция на закрытие программы крестиком, Logoff и Shutdown события. Для того, чтобы все это работало, библиотека "ntvdmclp.dll" должна быть в одной из директорий, прописанных в PATH. Если библиотеку найти не удастся, Tornado будет работать в обычном режиме. К сожалению, в 32-битную версию эти изменения не попали, т.к. возникли некоторые сложности с реализацией. Над этим ведутся работы. 29.06.2007 ! Как следствие исправления задержек, починилась фича передачи команд модему при запуске (-M). Теперь ответ модема не будет "попадать в эфир". * Во всех DOS версиях теперь правильные задержки. Но с небольшим ограничением - задержка не может быть менее 55 мс. К сожалению, других вариантов решения проблемы задержек я не нашел. 28.06.2007 * Win32 версия теперь тоже может закрывать порт перед запуском внешних приложений, но только в том случае, если порт был предварительно открыт. То есть при работе через хендл порт закрыть не получится. + Произошли небольшие изменения по части запуска внешних приложений. Теперь для того, чтобы запустить что-либо, предварительно закрыв порт, необходимо перед именем запускаемой программы поставить знак "!". Например: Exec "!c:\games\dm\start.bat c:\temp\door.sys" 19.10.2006 * Версия от 08.07.2006 выпущена как 1.71.1/Release. 08.07.2006 ! [W32] Изменен алгоритм обработки событий завершения приложения системой (например, закрытие программы крестиком, перезагрузка, и т.п.). Теперь не должно быть проблем с Access Violation. ! [386] Обновлен экстендер DOS/32A до версии 9.1.2. 09.03.2006 * Доведена до ума нижеописанная фича. Теперь с масками сверяется весь текст, а не отдельно взятая строка. * Изменено поведение поиска по маске, если указано более одной маски. Теперь поиск считается удачным в случае совпадения со всеми масками, а не с любой из них. Попросил Alexander Kalganov (2:5007/20.23) 26.01.2006 * Русская Н больше не заменяется на латинский эквивалент ни во время редактирования сообщения, ни при сохранении в базу. ! Оказывается, попытка прочитать сообщение в базе MSG вообще приводила к падению. Модуль работы с MSG сильно переделан и теперь полностью функционален. ! [MsgArea]->Type читался некорректно. Netmail воспринимался как Echomail, а Echomail как Local. При обновлении необходимо удалить старые msgarea.bi? файлы. 25.01.2006 * Изменен формат строчки BirthDate в *.lng. Теперь она выглядит так: BirthDate "\09Ваш день рождения (@DateMask): " Шаблон @DateMask заменяется на Date_Mask из tornado.ctl. Раньше маска всегда принудительно добавлялась в конец строки. Фичу попросил Dmitriy Kulikov. * Очередная серия маневров с модулем работы с базами Squish. 24.01.2006 ! Исправлена ошибка в модуле работы с Jam базами. После написания нового письма или ответа на последнее сообщение в базе, текущим считалось сообщение с номером на 1 больше максимального номера сообщения в базе. ! Подправлена функция возвращения максимального номера сообщения в базе в модуле работы с базами Squish. Теперь возвращается максимальный номер существующего сообщения. Раньше всегда возвращался номер максимального сообщения физически присутствующего в базе, даже если оно было удалено. 13.12.2005 * Обновлен экстендер DOS/32A до версии 9.1.1. * Небольшое количетсво незначительных изменений. 26.11.2005 ! Исправлено нарушение цепочки ExitProc. Версия /W32 теперь нормально сообщает обо всех ошибках во время запуска. * Версия /W32 завершает работу, если закрыть окошко программы крестиком. Также, работа завершается при получении событий Logoff и Shutdown. Работает только в NT/2000/XP/etc. 22.11.2005 * В очередной раз изменено поведение при поиске файлов по маске. Теперь, если введенная пользователем маска не содержит знаков '*' или '?', к маске с обоих сторон добавляется '*'. Например, если пользователь ввел маску "tor", будет произведен поиск по маске "*tor*". 20.11.2005 * Исправлены RTL функции получения/установки параметров курсора. ! С недавних пор вместо модифицированного vpsysw32.pas использовался стандартный. Исправлено. * Немного изменена работа функций HiddenCursor/NormalCursor в 32-битных версиях. Последняя теперь восстанавливает размер курсора, который был установлен во время запуска программы. 18.11.2005 ! Версия /386 собиралась с неправильной версией RTL библиотеки (objects.pas). 14.11.2005 * Теперь 32-битные версии собираются с отладочной информацией. 09.11.2005 * В очередной раз обновлен экстендер DOS/32A. На этот раз до версии 9.1.0. 08.11.2005 * Версии /DOS и /DPMI собираются с новой RTL: Borland-Pascal 7.01 Runtime Library Update - Release 2.0 * Обновлен экстендер DOS/32A, с которым собирается Tornado/386. 07.11.2005 * Версия /386 снова собирается. 06.11.2005 ! Исправлено поведение при выборе QWK области. Нажатие N или ESC теперь прекращает листинг областей. 02.11.2005 ! При смене суток, а так же при релогине, не обнулялась переменная, в которой хранится время, проведенное пользователем в чате. ! Процедура обновления лимита после изменения уровня доступа не учитывала время, проведенное пользователем в чате. 24.10.2005 ! Процедура Delay и все, что с ней связано, полностью вырезано из модуля OpCrt. Это должно окончательно излечить досовые сборки от проблемы Runtime Error 200. 22.10.2005 ! Во время завершения работы порт больше не закрывается, если работали через хендл открытого порта. ! Команда "положить трубку" теперь выполняет только то, что задано через параметр HangupString. В случае отсутствия сигнала CD, выполняется такая команда: "v~~^'". ! При поиске личной почты учитывался регистр имен. Теперь не учивывается. 21.10.2005 ! Исправлена проблема Runtime Error 200 в DOS-версии. 18.10.2005 * Немного косметики. 32-битные версии теперь рисуют объем используемой памяти там где /DOS рисует количество свободной памяти. /DPMI пока что ничего не рисует. 17.10.2005 ! Поддержка относительной адресации для баз Squish. Благодаря этому исправлен баг с невозможностью перехода на последнее существующее сообщение в базе, в которой последнее сообщение было удалено. 16.10.2005 * Для всех баз, кроме Jam, используются абсолютные номера сообщений. Для Jam - относительные. ! В парсере конфигов были перепутаны форматы баз Squish и Msg, а также типы Netmail и Echomail. ! /DOS и /DPMI версии падали при попытке разобрать длинные строки. Заметил Alexey Kljatow (2:5020/2788.12) 15.10.2005 ! Если длина строки в сообщении превышала 255 символов, строка обрезалась. Теперь максимальная длина строки для /DOS - 4096 символов, для всех остальных - 16384 символа. * Функции UpCase, LoCase, UpString, LoString и PrString снова работают как раньше. Изменения отложены "до лучших времен". :) * Немного подкорректирована функция показа сообщения. Максимальная длина строки, при разбивании длинных строк, уменьшена с 80 до 79 символов. ! Подкорректирована логика работы функции просмотра сообщений. Переход на последнее сообщение в базах MSG теперь будет работать правильно. :) * Для работы с базами сообщений теперь используется библиотека skMHL (q) by sergey korowkin [sk], 1998-2001. Базы Hudson более не поддерживаются. 11.10.2005 * Переписаны функции UpCase, LoCase, UpString, LoString и PrString. Теперь они работают правильно с любой кодировкой. Изменения касаются только /W32. Все остальные версии работают как раньше. 08.10.2005 ! Исправлена функция DefaultName, которая некорректно работала, если в имени директории присутствовала точка. * Увеличено количество символов, отображаемых в заголовке окна при пересылке файлов. 04.10.2005 * Команда System_Info теперь показывает версию Windows. 03.10.2005 * Маска '*.*' заменена на платформо-зависимую переменную AllFilesMask. ! В дурвее могли не находиться директории с флагом Archive. 27.09.2005 ! Проблема с буквой Н не до конца была исправлена в модуле работы с базами Hudson. 26.09.2005 ! Не добавлялись описания файлов в files.bbs. Заметил Alexander Fedorov (2:5057/60). ! В связи с изменением режима открытия файлов по умолчанию, вылезло очень много багов, включая вышеописанный.. Вроде бы все теперь исправлены. :) 23.09.2005 * Проект восстановлен. :) ! Проблема русской Н была не до конца исправлена в модуле работы с Jam базами. * Файлы по умолчанию открываются в режиме ReadOnly. * База пользователей открывается в режиме запрета записи. 07.04.2005 ! Внутренняя переменная ChatStartTime не инициализировалась вообще. Это могло привести к неправильному восстановлению времени после чата с сисопом. Также во время чата с сисопом у юзера было отрицательное время. Баг заметила Ulia Sivridi. 28.03.2005 ! Торнада вела себя очень нехорошо, если в конфиге не был задан TRC_Log. Заметила Ulia Sivridi. :) 25.03.2005 * Функции FindFirst/FindNext теперь возвращают короткое имя файла, если это возможно. Это должно исправить целый ряд неприятностей, связанныых с длинными именами. ! Теперь буква Н в сообщениях обрабатывается как обычный символ, а не игнорируется. ! Торнада падала, если при локальном download'е не удавалось скопировать файл. 23.03.2005 ! Не работал "повод для увеличения security" BirthDay в апгрейдере. Заметила Ulia Sivridi (2:5030/1997.12). 09.03.2005 ! При переходе с 23:59 на 00:00 если юзер был на линии, его выбрасывало с отрицательным временем. То же самое могло произойти, если юзер чатился с сисопом, после выхода из чата. Возможно, подобное поведение было где-то еще, исправлено много моментов, где не учитывался переход суток. 07.03.2005 * Добавил Open_Share_* константы открытия файлов. Должно избавить от некоторых неожиданных глюков, как с "!llist.tor", например. 05.03.2005 ! Торнада зависала, если не могла удалить (или открыть) файл !llist.tor при завершении работы. 03.03.2005 * После просмотра списка сообщений, сохраняется LastRead. Удобно, когда в эхе с большим количеством сообщений нужно перейти на какое-то определенное и читать дальше. 27.02.2005 * При локальном аплоаде пишем в files.bbs короткое имя файла. Короткое имя определяется средствами ОС. 26.02.2005 * Изменился номер версии.. Так красивше.. :) 21.02.2005 + Хэндл порта передается запускаемым программам через макрос *H. 19.02.2005 * По просьбе трудящихся, /W32 версия теперь пищит через спикер. :) Поскольку задержки в /W32 правильные, в отличие от /DOS, page.tor придется немного подредактировать.. ;) 17.02.2005 * Программа компилируется при помощи Virtual Pascal 2.1 Build 279. Устранена проблема с буквой "р" в локальном режиме. + Добавлена поддержка работы с хэндлом порта. * Обновлена библиотека elecom, которая используется в /W32 версии для взаимодействия с модемом. Теперь работает Hardware_Flow.