Shiru, в любом случае это придётся делать. какая разница, кнопками или мышью ;)
Вид для печати
Shiru, в любом случае это придётся делать. какая разница, кнопками или мышью ;)
Ну, галки в окошке быстрее покликать, чем мотать километровый ini, и сравнивать его с предыдущим:)
Вообщем, народ, ситуация следующая. Так как версии Unreal часто обновляются, мною было принято решение написать незамысловатую утилитку для настройки unreal.ini файла. Вот краткие ее характеристики:Цитата:
Сообщение от Shiru
1.Наличие легкообновляемой базы версий, позволяющей корректно настраивать конкретную версию эмулятора а так же, при создании своей собственной записи в базе, одним движением мыши модифицировать ini файл своими любимыми настройками (т.н. пресеты).
2.Возможность изменять параметры unreal.ini в рамках выбранной записи из базы версий.
3.Возможность парой кликов мышки перенести параметры настройки из более старой версии эмулятора в файл unreal.ini новой версии.
Также следует отметить, что:
-комментарии в изменяемом ini файле не пропадают, изменяются лишь параметры!
-предполагается распространение программы в составе пакета самого эмулятора, т.к. при запуске программа в текущем каталоге ищет unreal.ini и в последствии работает именно с ним! Если SMT откажется включать UConfig (название программы) в комплект эмуля и обновлять его базу версий новыми записями, то возможны два варианта: 1) обновляю UConfig и включаю в состав новой версии я, после чего весь пакет размещаю на моем сайте; 2) на сайте размещается лишь обновленный UConfig, который придется закачивать и копировать в папку с новой версией эмуля. Это решать SMT!
Так что, хватит донимать автора, пускай занимается непосредственно доводкой самого эмуля. Вносить новый малонужный код в эмуль - значит плодить новые глюки! Пускай конфигуратор будет внешним.
И напоследок - конфигуратор готов на 70%, правильно ищет и изменяет параметры в unreal.ini. Сейчас решаются некоторые проблемы интерфейса. Программа полностью написана на VB6.
сегодня я придумал алгоритм сохранения, выглядит так: открывается диалог save as..., выбирается имя файла. потом старый ini читается по строчкам, если строка начинается с известной опции, пишется вместо неё текущее значение, комментарий сохраняется. если после записи блока какая-то настройка оказалась незаписанной, она дописывается в конец блока без комментария. опционально можно создать cmd-файл след. содержания: "<текущий>.exe -i <новый>.ini %1 %2 ... %9". пока повременю с кодингом, посмотрю на мнения, кому как покажется удобнее - настраивать отдельно или сохранять в другой файл
теперь общие вопросы к Dr.Lion/RSM. 1. эмулятор не позволяет редактировать пресеты (для ROM, keyboard, ULA, ...). может ли это делать UConfig?
2. мне кажется, пользователям будет удобнее видеть настройки сгруппированными примерно по тем же закладкам, что и в эмуляторе. похож ли интерфейс UConfig на диалог настроек?
3. примерно что находится в базе, как её поддерживать?
теперь насчёт распространения: вариант 0 возможен, если будут публиковаться все исходники (политика sourceforge). и с исходниками заморочки - надо открывать новый package или новый проект. если меняется только база, рациональнее прикладывать именно её в bin-архив. exe-шник можно взять у автора. варианты 1 и 2 для меня примерно одинаковы [хотя 1 предпочтительнее - как-никак появляется зеркало :), но для пользователей, которые как правило качают с VT, наверное удобнее 2]
пока я в сомнениях...
Впринципе, можно задать запись версии, где можно выбирать из присутствующих в unreal.ini пресетов ROM, keyboard,ULA,... Создание новых пресетов этих параметров пока не предусмотрено. Так же на предусмотрено (хотя можно реализовать) выбор путей в качестве параметров (например, путь к ZX файлам и т.п.).Цитата:
Сообщение от SMT
Интерфейс (ввиду необходимости работать со всеми версиями эмулятора) совершенно не похож на интерфейс настроек самого эмулятора (ведь этот интерфейс от версии до версии изменяется). Концепция программы построена таким образом, что автор эмулятора смог бы сам создавать записи в базе без изменения или внесения каких либо опций в самом коде UConfig. Интерфейс больше похож на сам ini файл - выбирается группа параметров, в группе выбирается конкретный параметр и в списке выбирается или задается с клавиатуры соответствующее значение параметра. При этом есть два отображения параметров:1.основной режим - самые необходимые параметры; 2.Расширенный режим - все доступные для конкретной записи версии параметры. По каждому параметру выводится небольшая справка (для этого в базе версий есть раздел с описателями параметров, который должен пополняться при появлении в эмуляторе новых настроек).Цитата:
Сообщение от SMT
В базе, как я уже упоминал, находятся записи версий. Запись версии - это перечень доступных для изменения параметров. Для каждого параметра задается список возможных значений и значение по умолчанию. Так же в базе имеется раздел, в котором приведен перечень всех известных на данный момент параметров unreal.ini с описаниями этих параметров. Так же этот список, я так думаю, будет использоваться в качестве перечня параметров, которые должны переноситься из старой версии в новую (кстати, один из способов решить проблему с заданием путей к zx файлам или rom файлам). Пока это все, но может еще что-то добавиться в базу. База представляет собой самый обыкновенный txt файл, наподобие unreal.iniЦитата:
Сообщение от SMT
Насчет sourceforge. Зря ты вообще с ним связался! Мне стало очень неудобно качать с него новую версию эмуля. Мало того, что эмуль теперь порезан на исходники, на бинарник и на доки, так этот soundforge пока скачаешь package зае..т тупыми вопросами! Ну это мое личное мнение! Было куда удобней качать эмуль прямо с форума или zx.da.ru! Как распространять UConfig - твое дело! Если
sourceforge накладывает кучу своих ограничений, то будет разумно просто включать в пакет с бинарником txt базу для UConfig. Я буду брать обновленную тобой для новой версии эмуля базу, вносить туда дополнительные записи от себя и уже в одном флаконе с Unreal, ромами, дополнительными библиотеками и файлами вместе с UConfig размещать у себя на сайте. Так же могу дополнительно размещать только сам UConfig с обновленной тобой базой. Саму базу обновлять очень легко, посмотришь в txt и сделаешь наподобие!
Какие еще вопросы?
Кстати, ничего не мешает прикрутить UConfig к другим эмуляторам, хранящим свои настройки в текстовых файлах. Еще не пробовал, но мне здается, UConfig смог бы конфигурировать, наприме, Z80Stealth Emulator.
наверное, это будет сложно (копаться в базе. в смысле не один раз, а с каждой новой версией). в любом случае, надо посмотреть на то, что получится. а насчёт sf.net - это твой выбор, зачем ты качал с sf? подождал бы 2 недели и скачал с zx.da.ru :) в любом случае, эта задержка неустранима (от меня не зависит). качать с форума неудобно imho, потому что не поддерживается докачка
Тогда такой вариант: ты перед самым выходом новой версии шлешь мне по мылу файлик новой версии unreal.ini, я вношу все изминения в базу и отсылаю тебе саму базу, которую ты и кладешь к эмулю. Но чтоб не было тормозов в этом деле, нужно, чтоб мы могли в любое время связаться, скажем, по ICQ. Я в сети почти постоянно. Номер твоей аськи вычислить мне не удалось (существует ли он вообще?). Но если и этот вариант в напряг, то я могу (с твоего разрешения) сам вести UConfig и выставлять его на сайте (вот только разрозненность получится - эмуль там, конфиг там!). А по существу, если набор параметров в unreal.ini в новой версии эмуля остается не изменным, то в UConfig ничего не мешает взять более старую версию записи и все настроить в рамках ее параметров. Вообще, записи нужны лишь чтоб играничивать набор доступных (для соответствующей версии эмуля) параметров, так что обновлять за каждым разом базу вовсе не обязательно. Ты хотя б прикладывал бы UConfig с более-менее новой базой версий (которую я мог бы тебе обновлять и высылать по мылу).Цитата:
Сообщение от SMT
Так что, мое дело предложить! Народ жаловался на неудобство настройки эмуля - я вот предлагаю выход! Тем более, имея возможность переносить параметры с предыдущей версии в новую, настраивать вообще ничего не надо!
И все-таки по-моему сохранение текущего конфига изнутри эмуля - необходимо. В ином случае это какая то неполноценная программа получается: отконфигурить можно, но только на текущую сессию... выглядит как явная недоделка.
SMT, скажи плиз для чего есть возможность непропорционального изменения размера окна?
:smile: :smile: :smile:
Ну слава кпсс! нашлись люди утолить страждущих!
наверное на форуме можно сделать окошко как в других сайтах: продукт-ссылка где лежит, патч-ссылка, лекарство- ссылка, форум не забивается, ссылки можно периодически править- и все дела.
Uниверсальный config-уратор лучше делать только под унреал, меньше гимора, глюков и вопросов,,,,,,,,,,,для особо настойчивых можно отдельным проектом пустить универсал- но делать совместимым с туевой хучей других эмулей - по опыту- тяжело, баз мало, версии плодятся как кролики, изменения чудовищные, всех ньюансов просто не успеваешь отследить. :wink: :wink: :wink: