Что-то мне подсказывает, что при перезагрузке стираются все динамически назначенные noun и adjective. Это правильно для объектов переименнованных в процессе игры, но не должно касаться тех свойств, что были назначены в стадию предкомпиляции. Вот об этом и нужно писать Майклу, нашему, Робертсу
2 fireton: Пожалуйста, размести отчет, - не могу зарегистрироваться на трекере. Кстати, это тоже баг
Неактивен
The following issue has been RESOLVED.
======================================================================
http://bugdb.tads.org/view.php?id=55
======================================================================
Reported By: GrAnd
Assigned To:
======================================================================
Project: TADS 2
Issue ID: 55
Category: Interpreter
Reproducibility: always
Severity: tweak
Priority: normal
Status: resolved
Fixed In Version: 2.5.14
Resolution: fixed
Fixed in Version:
======================================================================
Date Submitted: 2009-05-01 00:42 EDT
Last Modified: 2009-05-06 16:54 EDT
======================================================================
Summary: Reset of dynamically created nouns and adjectives on
game restart
Description:
Interpreter always delete all dynamically created nouns and adjectives
created in preinit phase at time of game restart. It is an obstacle for
Russian TADS libriries which generates flexions for words during
compilation. All generated "sdesc" type properties remains intact, but all
new nouns and adjectives just disappear and require repeat generation (it
could take up to 10 seconds).
Suggested solution: delete on restart only those lexemes which created on
runtime, not at preinit phase.
======================================================================
----------------------------------------------------------------------
(0000098) Michael Roberts (administrator) - 2009-05-06 16:54
http://bugdb.tads.org/view.php?id=55#c98
----------------------------------------------------------------------
I've made this change for 2.5.14. During compilation, after preinit
finishes, the compiler now marks as static all objects created with 'new'
and words added with 'addword'. This makes anything created during preinit
effectively permanent, so it won't be deleted on restart.
It's been a long time since I've looked at the design of this part of the
system, so I'm a little concerned that there might be side effects of this
change that I haven't thought of. For the time being, then, I'm considering
this a beta test feature, so I'm not uploading this update (2.5.14) to the
IF Archive yet. For now, you can get the update from the tads 2 patch page
at http://www.tads.org/t2_patch.htm. The change only affects the compiler.
Issue History
Date Modified Username Field Change
======================================================================
2009-05-01 00:42 GrAnd New Issue
2009-05-06 16:54 Michael RobertsFixed In Version => 2.5.14
2009-05-06 16:54 Michael RobertsNote Added: 0000098
2009-05-06 16:54 Michael RobertsStatus new => resolved
2009-05-06 16:54 Michael RobertsResolution open => fixed
======================================================================
Неактивен
http://www.rtads.org/libr26pre.rar - обновленная версия библиотеки с патчем для старых версий (генератор запускается заново при рестарте).
http://www.rtads.org/vkkpuzl.zip - исправленный туториал
Просьба ко всем авторам скачать и установить бета-версию нового компилятора:
http://www.tads.org/patch/aksetupd.exe
Как я понял, компилируемый код будет читаться старыми интерпретаторами, причем проблема с исчезновением лексем будет устранена.
Только что проверил - работает.
П.С. Только-что подправил патч, срабатывает на версию интерпретатора 2.5.14, потому как компилятор не выдает такой подробной инфы о своей версии. Компилировал из командной строки, сообщаемая версия интерпретатора соответствует компилятору, так что все должно работать правильно.
Отредактировано GrAndrey (07.05.2009 14:04)
Неактивен
Библиотеки обновились: Релиз 26.
////////////////////////////////////////////////////////////////////// //..........................Версия №26 .............................// //...........................08.11.09...............................// ////////////////////////////////////////////////////////////////////// - в extender.t в экспериментальном порядке введена команда "помочь" - во многих командах заменил упоминания ГГ на actor - Парсер пытается выяснить что обозначают предлоги "в", "на", "из" - часть определения или относяйщийся к глаголу предлог - доработана обработка "попросить об", расширением соотвествующих команд Теперь допустимо обращение к персонажу из нескольких слов - убрана функция oyay - замена ok(...) - Флаги отчета работы генратора теперь выводятся отдельно от слов, облегчая автоматическую проверку орфографии. - Firton выявил и устранил две ошибки. Одна критическая в parseNounPhrase, другая - незначительная в parseError2. - Майкл Робертс внес изменения в систему, чтобы сформированные в фазу предкомпиляции лексемы не удалялись после перезапуска игры. Изменения в версии 2.5.14. В более ранних системах при рестарте игры генерация nouns и adjective будет автоматически происходить в режиме реального времени. - в advr.t добавлена функция opro, которая подставляет "об" или "про" в зависимости от слова, с которым предлог должен быть согласован - исправлен механизм отдачи приказов актерам фразами "попросить таню взять мячик", "приказать Рексу укусить Боба" Обновременно исправлен глагол "спросить об" - генератор доработан для определения существительных, прилагательных и предлогов в коротких описаниях (desc). Данные флагов записывются в список info_list. Например, для фразы "ржавый/м ключ/м от сундука/-" он будет выглядеть как ['мп' 'мс' '+' 'п-']. - генератор формирует местный падеж. В базе - 49 слов (+несколько упомняуты в комментариях) - Генератор пытается опознать части речи в коротких описаниях - Доработки правил. Главная - окончания -ок. Осталось небольшое количество исключений. - Генератор оптиимзирован. Флаги переводятся в двоичный формат, что существенно ускоряет обработку. Для этого введены функции binarize и debinarize.
Неактивен