Форум » » FireURQ (продолжение) » Ответить

FireURQ (продолжение)

fireton: FireURQ - это GUI-based интерпретатор URQ. Блог разработчика Текущая версия:2.2.1 Основные возможности: Реализация URQL, близкая к классической URQ_DOS Расширенный синтаксис, позволяющий, например, передавать параметры в локацию-подпрограмму (отличия синтаксиса подробно описаны в файле справки). Возможность вставки изображения (или его части) в текст. Декораторы: фрагменты текста или изображения (включая анимированные GIF), которые можно поместить в любое место на экране и по-разному ими манипулировать. Пользовательские шрифты. Поддержка архивного формата квестов .QSZ, при использовании которого ресурсы можно поместить в файл квеста Расширенная поддержка музыки и звука. Поддерживаются форматы WAV, AIFF, MP3, MP2, MP1, OGG, а также трекерные форматы музыки: XM, IT, S3M, MOD, MTM, UMX. Кроме того, воспроизводится и MIDI-музыка (файлы MID). Также поддерживается формат MO3 (трекерная музыка с OGG-упакованными семплами). Реализован fadein и fadeout для музыки. Удобная озвучка локаций. Возможность создания exe-файла игры. Удобный режим отладки, в котором легко обнаружить ошибку и модифицировать квест без перезапуска проигрывателя. Многое другое (для справки смотрите прилагающийся файл FireURQ.html). Баги и пожелания направляйте в FireURQ Bug Tracker. Демонстрации возможностей: 1) http://ifwiki.ru/files/Fireurq_demo.qsz 2) http://ifwiki.ru/files/Decodemo.qsz 3) http://ifwiki.ru/files/Skindemo.qsz История версий Планы на следующую версию Скачать последнюю версию Документация

Ответов - 191, стр: 1 2 3 4 5 6 7 8 9 10 All

apromix: fireton пишет: Блоков кода нет. Можно делать некое подобие через знак подчёркивания в начале строки. Делать блоки кода - значит переделывать весь парсер и интерпретатор, а мне влом. Один из вариантов сделать блоки кода и не потерять совместимость со старым кодом - это ввести препроцессор кода, который перед стартом квеста пробежит по коду и если найдет блок кода, то выстроит его в одну строку с & между операторами

fireton: Куда ты предлагаешь его "ввести"? ;) Прямо в фурку? Нельзя, потому кк привязка к номерам строк потеряется. Это может быть фичей для твоего редактора, though.

Vulcano: Дались вам эти блоки кода. Нет, ну и не надо, слишком длинные строки в условии можно просто загонять в proc. После обновления 1.6.2 заметил странную вещь. К примеру в коде ... Ответ="Ответ#Ответ10_1$" if Ответ="Ответ4" and Волшебник=1 then ... напрочь переставал работать в If'ах знак &, только с and условие работало корректно. Сейчас все вроде бы норм, специально проверял, но сам факт.

fireton: Vulcano пишет: напрочь переставал работать в If'ах знак &, только с and условие работало корректно. Сейчас все вроде бы норм, специально проверял, но сам факт. Если сможешь написать маленький примерчик, подтверждающий ошибку, то запости, пожалуйста, в багтрекер.

Vulcano: Снова появлялась данная ошибка уже на последней версии Фурки. Возможно все дело в локальных ссылках. Или я может что накосячил, проверка на простом коде не вызвала никаких сбоев, но на сложном с применением декораторов, локальных ссылок и зацикленной локации ни в какую не идет. Скинул фрагмент своего кода в багтрекер.

fireton: Я тебе в багтрекере отписал, но повторю здесь. Знак & никогда не работал как логический оператор. В урке это способ объединить несколько операторов типа pln, btn, goto в один. Это нужно для того, чтобы можно было записать несколько операторов под if..then, например. Логическим оператором "И" является AND и только он. Так что, если ты где-то использовал & как логический оператор, то проверь код - там ошибки. Извини, я просто сразу не совсем понял в чём проблема, я думал, что & не работает после then.

Vulcano: А, ладно, учту, хотя в простых примерах условий & работает нормально, и чем это объясняется, я вообще не понимаю в таком случае. Т.е. условие типа if z=1 & Здоровье=10 then ... будет обрабатываться как следует. Проверял лично. А в навороченных кодах & работать отказывается. Поясните мне, почему, если вам не трудно. Так, для общего развития хочется знать Есть еще вопрос. Почему при выводе текстового декоратора на любом фоне буква "э", если она первая в слове, видна очень плохо? Подставлял различные шрифты, размеры, пробовал заменять цвет подложки и т.д. Все равно декоратору не нравится эта буква и он ее будто бы нечетко вырисовывает.

Vulcano: А можно поинтересоваться, сколько переменных может держать Фурка в оперативном использовании? К примеру, существует большой код, где в начале задается свыше 250 переменных. Они используются в последствие, но так или иначе обращения к ним происходят неоднократно. Дополнительно свыше 100 переменных изменяются динамически и вряд ли это предел квеста, скорее всего будет добавлено еще столько же различного рода переменных. Заранее благодарю.

Серый Волк: Количество переменных, которые может держать Фурка в оперативном использовании, ограничено только размером виртуальной памяти компьютера. У самой программы ограничений на размер квеста, количество переменных, персонажей, локаций и т.д. нет.

Korwin: Проще всего задать вопрос самой программе: :start num=10000 pln Эта программа считает сколько переменных можно использовать в FireURQ. После нажатия кнопки СТАРТ она будет выводить в строчку имя новой переменной и общее количество переменных. Если число переменных достигнет #num$ программа остановится. n=0 btn loop,СТАРТ end :loop n=n+1 a#n$=n cls pln a#n$=#a#n$$ Всего переменных: #n$ pause 20 if n<num then goto loop pln ВСЕ! В FireURQ может быть #num$ переменных end Я проверил до 100000 - мне хватит на всё!

Vulcano: Ага, ну я примерно так и подозревал, что дело не в программе, а в мощностях компа. Спасибо.

fireton: Вышла версия 1.8, там ссылки в декораторах, инклюды и другое всякое. Здесь описывать неудобно, поэтому расписал новые возможности на блоге.

Eddie: Прекрасно. просто прекрасно!

Vulcano: Чего-то код, написанный на 1.7.0 теперь на последней версии не запускается. Я уже час сижу бьюсь над кодом, но в некоторых местах Фурка просто закрывается по непонятным причинам. На предыдущей версии все было идеально. Хотелось бы уточнить, что за баги были поправлены, возможно одним из них я случайно пользовался в своем коде. Никаких репортов и прочих ошибок Фурка не выдает. Просто закрывается и процесс выпрыгивает из Диспетчера. Будто я просто нажал на закрыть. Можно ли как-то отследить строку кода, на которой она прерывается. Суть отладки так и не понял, если не составит труда, прошу объяснить как ей пользоваться. Заранее спасибо.

fireton: В папке, куда установлена фурка, есть лог. Там должна быть ошибка, по которой происходит вылет. Посмотри что там. Ну и код (минимально, чтобы ошибка воспроизводилась). И всё это в БТ. Будем чинить. В 1.8 действительно много изменений, но внутренних (рефакторил, менял архитектуру приложения). Вероятно, какие-то грабли не учёл. :( Я тогда 1.8.1 повременю выпускать... Жду.

Vulcano: Как файл лога называется и какое имеет расширение. В папке с фуркой не нашел ничего подобного. Устанавливал поверх старой версии, может чего где накосячил?

fireton: fireurq.log, лежит рядом с fireurq.exe. Если у юзера нет прав писать, скажем, в "Program Files", то лог не создаётся. Могу порекомендовать, скопировать fireurq.exe в другую папку, в которую писать прав достаточно, и запустить оттуда.

Vulcano: Просто запустил от админа. Лог появился, вот содержание лога: 8 Апрель 2013 г., 18:22:58 Delphi 2D engine starting... Engine version: 0.51 D3D Driver : nvd3dum.dll Description: NVIDIA GeForce GT 440 Version: 13.1106 Mode: 800 x 600 x X8R8G8B8 Sound Device: Динамики (Realtek High Definition Audio) Sample rate : 44100 Init done. ОШИБКА: Access violation at address 00406EAC in module 'fireurq.exe'. Read of address 000A0D28 Finishing... The End. К этому можно добавить, что ошибка непостоянная. Иногда не появляется и весь код отрабатывается без сучка без задоринки. А иногда на первой же метке вырубает с таким вот логом.

fireton: Ага! Возможно, это та же ошибка, над которой я сейчас работаю. Кусочек кода пришлёшь, в котором это воспроизводится?

Vulcano: ок, без проблем, пришлю. В багрепорт, или прямо сюда?



полная версия страницы