Угу, поддерживаю! Их бин хотеть это )))Цитата:
Сообщение от Spinor
Вид для печати
Угу, поддерживаю! Их бин хотеть это )))Цитата:
Сообщение от Spinor
А-а-а, народ, я похоже сильно от жизни отстал. Ткните носом, кто такой Акелла (надеюсь это все таки не тот который промахнулся у Киплинга :) ) и что такое КЗ? Кроме как "Короткое Замыкание" никаких ассоциаций не возникает :(Цитата:
Сообщение от NewLander
Но славы не получится. 1.0 RC уже выложил :D
Ну дык эта-а-а... Сказал же, что идея и мне понравилась, так что сделаю.Цитата:
Сообщение от Orion33
Пока приоритеты и следовательно очередность реализации расставлены примерно так:
1) Прога ставиться в любую папку (не обязательно туда же где ИЛ расположен). Этот пункт на первом месте, дабы не захламлять папку ила подкаталогом с пресетами.
2) Пресеты
3) Выбор активного пользователя.
4) Консольная установка требуемого пресета.
В промежутках возможны какие нибудь украшательства :)
Настройки кривых отклика мне, если честно, не нужны. Но ОЧЕНЬ хотелось бы видеть в твоей проге вот какую функцию:
Есть мнение, что DirectX выставляет минимальную мертвую зону на все джои и оси. При этом эта мертвая зона не убирается никакими настройщиками и дровами и нигде не отображается. Увидеть ее присутствие можно, к примеру, в джойтестере. Для этого поводи джой совсем чуток через какой-то центр - увидишь маааханькое запаздывание. Пытался сам решить эту проблему - не вышло. Если сделаешь - будет просто супер прога у тебя! ;)
ЗЫ: выкладываю мини-прожку, в которой эту мини_мертвую_зону хорошо видно. На интерфейс не смотри - ваял быстро, только для теста :)
Ого! Я не программил ничего лет 5 минимум а тут такие пожелания....Цитата:
Сообщение от Katmai
Очень бегло посмотрел пару статей на счет этого в DirectX SDK. Смотрел действительно бегло, спать хочется, но вроде бы,идея следующая. Все эти вещи типа мертвой зоны, выставляются виндой при калибровке джойстика. Значения тойже мертвой зоны (и не только) можно считать и записать программно. Вопрос только в том, сохраняются ли эти данные после завершения проги или действуют только в то время, когда она запущена.
Кроме того, меня слегка смущает, что в win2000/XP тот же DXTweak не позволяет сохранить выставленную мертвую зону, т.е. возможно что это самой операционкой не поддерживается.
Короче говоря попробовать можно, но не обещаю. Вдобавок что изменение аппаратных параметров джоя, типа калибровочных данных, не вполне соответствует задачам, для которых пишется JoyConfig. Т.е. утилитка заточена все же на ИЛ прежде всего.
Если уж заниматься тем что ты просишь, то делать нечто новое, типа DXTweak.
Акелла - доблестный отечественный разработчик, отправивший в печать невероятно глючную версию 0.99 игры "Корсары 3" (К3) :rtfm:Цитата:
Сообщение от Oleg_BS
Димыч, это у тебя траблы какие-то... Я, во-первых, этого никогда не замечал, во-вторых, проверил твоей прогой: расстояние между 1-м и 2-м отсчетом у меня такое же, как и между 0-м и 1-м. То есть никакой МЗ нету...
Переехали в "Важные темы". Есть мысля переименовать подраздел из "Важных тем" в "Доп. программы и файлы для Ил-2." Пока мыслЮ.
Нет. Это не только у меня траблы! Это мнение очень авторитетных товарищей ;) К тому же, а ты правильно замерил? Когда проводишь джой через центр - крестик замирает на долю секунды - ты мог не заметить...Цитата:
Сообщение от Orion33
to Oleg_BS:
Эта МЗ не отображается ни ДхТвиком ни дровами, но она есть :)
-Ты видишь суслика?Цитата:
Сообщение от Katmai
-Нет.
-А он есть!
(с)
А если серьезно, то даже если она существует, то как к ней добраться предлагаешь, если DirectX ее не видит?
Или видит таки?
Ты свой пример когда писал, напрямую с DirectX общался или компоненту (WinAPI) использовал? Если напрямую, то попробуй считать состояние джойстика средствами ДиректХ (не координаты, а настройки). Если окажется что там МЗ=0 то врядли тебе кто-то кроме дядюшки Билла сможет помочь.
Читал ДиректХом, значения МЗ и насыщенности можно увидеть в файле, что я выкладывал... МЗ=0 ((( Поэтому я и не смог решить проблему, как не пытался! Думал может у тебя получится.Цитата:
Сообщение от Oleg_BS
Тогда явно не судьба. Кроме как читать/установить через DirectX мне в голову ничего не приходит.Цитата:
Сообщение от Katmai
А то что ты описываешь это точно не проблема контроллера/драйвера?
Поскольку информации о новых багах не поступило, будем считать, что релиз состоялся. :thx:
Сразу выкладываю версию 1.1 поскольку была добавлена возможность устанавливать начальное и конечное значения кривой. Визуально изменения можно увидеть на скрине в первом посте.
Теперь вплотную приступаю к работе с профайлами
Катмай, ну ты знаешь мое отношение на счет мнения твоих "авторитетных" ;)
А проблема таки в джое. Я ночью вспомнил, что у тебя Ево. А там МЗ сидит в прошивке. Медицина тут явно бессильна.
А ты знаешь мое отношение к твоему отношению на счет моих "авторитетных" мнений ;) :DЦитата:
Сообщение от Orion33
ЗЫ: Ну не судьба так не судьба...
Выложена версия 1.2.
Изменений два, но зато какие :)
1) Программа может устанавливаться в любой подкаталог (не обязательно в каталог с игрой). При первом запуске, появится запрос на указание пути к каталогу ИЛ-2, а точнее к файлу conf.ini в нем. Этот путь сохраняется в ini файле программы (JoyCtrl.ini).
Если каталог с игрой впоследствии будет перенесен в другое место, при очередном запуске программа это определит, и вновь выдаст запрос на указание пути к игре.
2) Реализована работа с профайлами. Профайлы необходимо сохранять в каталоге Profiles, который расположен в том же каталоге где и программа. Этот каталог с примером профайла помещен в архиве с текущей версией. Профайлы, расположенные в другом месте программе будут недоступны.
Внимание ВАЖНО!
1)При выборе пресета из выпадающего списка, с перечнем существующих профайлов, происходит замена Ваших настроек на настройки прописанные в выбранном пресете. Никаких дополнительных вопросов и подтверждений не задается. Но, в conf.ini эти измененые настройки попадут только после нажатия кнопки "Запись в Conf.ini".
2) В списке пресетов всегда первым пунктом указан Conf.ini
При выборе этого пункта, производится повторное считывание содержимого conf.ini. Поэтому, если в процессе настроек, что-то Вам не понравилось, Вы всегда можете вернуться к настройкам прописанным в Conf.ini.
Все, на несколько дней беру перерыв. Замахался я по две версии в день клепать :D
Пока тестируйте и отписывайте об ошибках, если вдруг выползут.
Проверил на своей машине - всё работает.
Не помню в какой ветке форума и кто приводил кривые отклика, но мне думается, будет небесполезной фичей включить их в предустановки с регулятором коэффициента линейности (вроде тех же +/- 10% ).
Примеры кривых с нулевым сдвигом:
100 100 100 100 100 100 100 100 100 100 - линейная кривая отклика, коэффициент линейности 100%
91 92 93 94 95 96 97 98 99 100 - коэфф. линейности 90%
82 84 86 88 90 92 94 96 98 100 - коэфф. линейности 80%
73 76 79 82 85 88 91 94 97 100 - коэфф. линейности 70% - тангаж и крен ST290
64 68 72 76 80 84 88 92 96 100 - коэфф. линейности 60%
55 60 65 70 75 80 85 90 95 100 - коэфф. линейности 50%
46 52 58 64 70 76 82 88 94 100 - коэфф. линейности 40%
37 44 51 58 65 72 79 86 93 100 - коэфф. линейности 30%
28 36 44 52 60 68 76 84 92 100 - коэфф. линейности 20%
19 28 37 46 55 64 73 82 91 100 - коэфф. линейности 10%
10 20 30 40 50 60 70 80 90 100 - коэфф. линейности 0% - качалка X45.
Правда,но на тротлах нет мз,и на некоторых джоях нет даже на х,у....,дед бендер всеж мз уберает в дровах с 6 до 0,но при 0-ле остается немало заметная мз(касаемо сайтек).Поэтому приходится "русить" тротлами.Цитата:
Сообщение от Katmai
Поэтому хотелось бы ,что б кто силен всеж попробовал дать окончательный ответ,ну и конечно решить проблему,если она решаема.
Спасибо за репорт. Все работает - это хорошо. :)Цитата:
Сообщение от LSA
Это предложение было в ветке про IL2-Config.Цитата:
Не помню в какой ветке форума и кто приводил кривые отклика, но мне думается, будет небесполезной фичей включить их в предустановки с регулятором коэффициента линейности (вроде тех же +/- 10% ).
Примеры кривых с нулевым сдвигом:
100 100 100 100 100 100 100 100 100 100 - линейная кривая отклика, коэффициент линейности 100%
91 92 93 94 95 96 97 98 99 100 - коэфф. линейности 90%
82 84 86 88 90 92 94 96 98 100 - коэфф. линейности 80%
73 76 79 82 85 88 91 94 97 100 - коэфф. линейности 70% - тангаж и крен
[skiped]
10 20 30 40 50 60 70 80 90 100 - коэфф. линейности 0% - качалка X45.
Я думал над этим, более того, хотел внаглую содрать реализацию этого дела у Филлипка. :D В итоге решил сделать более универсальный (на мой взгляд) вариант - ввести регулируемые начальное и конечное значения кривой.
Попробую пояснить чем это лучше.
1) Обязательно найдется хотя бы один человек, который захочет кривую с начальным значением не 73 или 82, а, к примеру, 75 или 80. Что тогда? Двигать ручками каждый ползунок?
В моем варианте достаточно установить требуемое начальное значение и выбрать тип кривой (линейная или парабола). Все! Требуемое достигнуто, а телодвижений при этом получилось не больше чем при выборе стандартного коэффициента линейности.
2) Мой вариант позволяет создавать как "прямые", так и "обратные" кривые. В том смысле, что конечное значение может быть меньше начального. Стандартные кривые этого не позволят. Ну уж про установку начальных/конечных значений больше 100 я вообще молчу.
3) Ну и наконец. Прописывание стандартных кривых позволяет определить только линейные кривые. Мой вариант позволяет работать и с параболой., и с горионтальными прямыми. Чтобы это реализовать предлагаемым методом, как минимум, пришлось бы пристраивать дополнительные элементы управления. А их к сожалению уже лепить некуда. Тот маленький неиспользованный кусочек формы (между работой с профайлами и устиановкой кривых) оставлен мной для выбора активного юзера в игре. (элементы управления уже стоят, даже в версии 1.2 , но они невидимы ;)
Можно конечно увеличить форму, но тогда либо "красота" нарушится, либо придется переписывать приличный кусок программы, в том плане, что все координаты положений джоя, кривой и т.п. графических объектов придется менять/пересчитывать. Если честно у меня нет особого желания этим заниматься. Не от лени (хотя она у меня природная :D ), а из-за того, что овчинка выделки (ИМХО) не стоит.
Убедил?
Эээ, поправочка. Кривые эти не параболические, а экспоненциальные. И крайнее их значение всегда 100. А вот первое может быть действительно разное, и от этого и зависит коэффициент нелинейности. Так что логично сделать решение экспоненциального уравнения с заданием первого значения (последнее всегда 100), и по найденному коэффициенту (показателю экспоненты) строить всю кривую.
Не знал, вечером опробую...Цитата:
Сообщение от Oleg_BS
Да уж, что есть, то есть... Ну и ладно. БЖСЭ.Цитата:
Сообщение от Oleg_BS
Когда же, когда?! У меня 4 пользователя, уж я б потестил!.. :drive:Цитата:
Сообщение от Oleg_BS
Э... что-то мне подсказывает, что использование ООП в твоей программе минимально?Цитата:
Сообщение от Oleg_BS
Гы! Все равно программа будет такой, какой ты ее напишешь. :DЦитата:
Сообщение от Oleg_BS
ps. А может, учесть предложение Ориона33 из предыдущего поста? Т.е. задавать коэффициент? Изыскать резервы и втиснуть в форму "задавалку" коэффициента?
Когда то я в математике был очень даже силен. Но к сожалению это было когда то. Забыл даже многие элементарные вещи.Цитата:
Сообщение от Orion33
Посему вопрос. Я правильно понимаю, что экспонента - это e в степени i, где у=2.718... а I - номер ползунка? Ну естественно все это множится на определенный коэффициент и добавляется начальное значение. Итого формула для расчета = нечто вроде y=Nach + exp(i)*k. Так?
У меня по кнопке "парабола" считается по формуле y=nach+sqr(i)*k.
Т.е. у зависит от I в квадрате. ИМХО это все таки парабола? Или таки экспонента? :) Не, мне название кнопки поменять - дело одной минуты, просто самому разобраться хочется.
Второй вопрос. А почему это конечное значение кривой должно быть всегда = 100? У меня на РУСе, конечные значения = 140 (чтоб ручку не ломать, дотягивая до того момента, пока квадрат на максимум отклонится. Мне удобнее в таком случае установить кривую типа 100..140, при чем как раз параболу (или экспоненту), чтобы большая часть хода была практически линейной и по 100, а уж в конце - резкий подъем.
Вчера вышел на временную работу, с последней постоянной не сложилось, а новую пока не нашел. Так что пока сидел дома, писал без проблем, потом деньги закончились, а кушать хочется всей семье...Цитата:
Сообщение от LSA
Короче говоря ухожу рано, прихожу поздно, и похоже без выходных. Так что немножко терпения плиз. Будет, обязательно будет.
Но по срокам пока ничего обещать не могу. Надеюсь что через недельку сделаю.
Чутье тебя не подвело :) Я как программер становился в начале-середине 90-х, к концу 90-х писать уже практически перестал, карьера пошла :) . Короче говоря, родной для меня все же процедурный подход. Чужой исходник с использованием ООП ессно прочитаю и пойму, и по аналогии свое сваяю, но вот когда с нуля пишу, то все больше по старинке. Буду писать что-то следующее (есть уже пара задумок) попробую все делать "по науке", ну а JoyCtrl уже пожалуй переделывать поздно. Разве что, когда уже все реализую, потом неспеша переделаю и по прошествии годика выпущу версию 2.0 "на новом движке" :DЦитата:
Э... что-то мне подсказывает, что использование ООП в твоей программе минимально?
Речь идет о коэффициенте наклона кривой? Т.е. тот вариант что ты описывал в своем прошлом посте?Цитата:
ps. А может, учесть предложение Ориона33 из предыдущего поста? Т.е. задавать коэффициент? Изыскать резервы и втиснуть в форму "задавалку" коэффициента?
Тогда встречный вопрос, чем не нравится вариант с начальным-конечным положением кривой? Повторюсь, мне кажется что это более универсальный вариант. Что даст выбор коэффициента такого, что нельзя реализовать с помощью выставления нач/кон значений?
А вот то, что с помощью коэф. нельзя реализовать я описал в предыдущем посте.
Не горит, делай без спешки, качественно.Цитата:
Сообщение от Oleg_BS
:cool: ООП достаточно один раз "вкурить" и потом пойдет как по маслу. Рекомендую! Зело экономит время...Цитата:
Сообщение от Oleg_BS
Убедил. Просто я твой вариант еще не пробовал. Вечером испытаю.Цитата:
Сообщение от Oleg_BS
Цитата:
Сообщение от Oleg_BS
Что бы это значило?
Олег, все проще простого :)
Общий вид линейного уравнения:
y=a+b(x-d), где
y - функция
x - аргумент
a - коэффициент сдвига по вертикали
d - коэффициент сдвига по горизонтали
b - коэффициент пропорциональности
Сдвиг по горизонтали нам нафиг не нужен, поэтому кладем d=0.
Далее. Чтобы линейная функция стала нелинейной, надо сделать так, чтобы коэффициент пропорциональности b сам зависил от х. Раз мы хотим, чтобы зависимость была экспоненциальная, то, стало быть, функция должна быть следующая:
b=b*exp(c(x-d)), где
d - коэффициент сдвига по горизонтали
c - коэффициент наклона или нелинейности
d=0, мы это приняли раньше. Когда с=0, то вся экспонента тождественна единице, и функция абсолютна линейна. Когда с=1, то характеристика имеет явно выраженную нелинейность. Итого получается функция вида
y=a+bx*exp(cx)
Идея задавать начальное и конечное значение мне нравится. Значит, надо решать систему уравнений:
y1=a+bx1*exp(cx1)
y2=a+bx2*exp(cx2)
где пара (x1,y1) есть начальная точка кривой, причем x1=0, а пара (x2,y2) - конечная, причем x2=10. Ну а y1 и y2 задается ручками. При решении этой системы и находятся необходимые коэффициенты а и b. Т.е.
a=y1
b=(y2-y1)/(10*exp(c*10))
Пример можно поглядеть в экселевском файле. Удачи ;)
Причем коэффициент с можно задавать и отрицательным, тогда получится обратно экспоненциальная зависимость, то бишь логарифмическая %)
Протестил. Согласен. Предложение аннулирую. ;)Цитата:
Сообщение от Oleg_BS
Да теорию я знаю. Проблема в том, что практики не было, отсюда все и беды. А JoyCtrl изначально не планировался как самостоятельная программа, хотел Филлипку написать кусочек опроса джоя и вывода графиков, т.е. по быстрому. Ну соответственно "по быстрому" и писал. Посчитал что заморачиваться на вспоминание ООП лишняя трата времени. :rolleyes: Ну а когда "победил" DirectX, точнее перевод примеров в DirectX SDK с VC++ на Delphi, (при условии что забыл и то и то), то понял, что все остальное сущая ерунда. Так собственно JoyCtrl и родился :DЦитата:
Сообщение от LSA
Оп-па... :(Цитата:
Сообщение от Bond.K
Плиз, вышли на o_g <собака> ua.fm конфигурационные файлы:
1) Conf.ini
2) Все содержимое подкаталога Users в игре.
Буду разбираться...
Да, умных людей все таки в Питере воспитывают. :) Не подкалываю, сам в городе Петра учился, так что себя, заодно, тоже к славной когорте умных отношу :DЦитата:
Сообщение от Orion33
Ну а если серьезно, то "програмя" кривую, я исходил из кривой, прописаной в ИЛе как стандартная. А это следующая последовательность:
1 4 9 16 25...10
т.е. явно квадратичная зависимость. Именно ее я и реализовал (за исключением первого значения, где вместо 1 стоит 0, дабы совпадать с заданным начальным значением.
Ну и тогда вопрос. Если мне достаточно посчитать "i" в квадрате, то нафига решать систему уравнений? Говорю же, ленивый я :D
Ура! Теперь если еще у кого нибудь возникнет предложение сделать стандартный набор кривых, в качестве ответа буду просто давать ссылку на нашу переписку :DЦитата:
Сообщение от LSA
Самое главное забыл спросить :rolleyes:Цитата:
Сообщение от Oleg_BS
Эта самая квадратичная функция это же есть парабола? Я к тому что кнопку правильно назвал?
Систему уравнений надо по-любому решать, если ты хочешь произвольные нижние и верхние значения. Зависимость кривизны разная. Если делать правильно, надо делать систему. А если сделаешь одну систему, квадратичную, сделай специально для меня экспоненциальную :D
Гм-м-м, квадратичную то я уже сделал и работает она с любыми начальными и конечными значениями.Цитата:
Сообщение от Orion33
А начну уравнения решать, так ты ж тут же затребуешь ввод всех вышеперечисленных тобой переменных, коэффициентов и прочее :D
Хошь я тебе исходники вышлю, а ты уж сам для себя сделаешь? :)
Нее, я не умею %)
Мне кажется, несложно сделать примерно такой вариант "импорта" кривых:
По специальной "кнопке импорта" появляется окошко с memo-полем, в которое можно вставить предварительно рассчитанные в Excel-e и скопированные в буфер значения из ряда идущих подряд вертикальных ячеек.
Значение стоящее в 1-й строке будет соответствовать 1-му числу кривой и т.д
Под полем кнопки "Продолжить" и "Отменить".
Такой вариант позволит, используя Excel или другую программу быстро вставлять новые кривые.
А делать большое количество алгоритмов расчета кривых в самой программе JoyControl, мне кажется не нужно.
Да, Олег, я тут еще подумал :) В мире все по экспонентам делается, а вот квадратичная функция... не физична немного. Посему адаптироваться будет легче и быстрее именно к экспоненте, а не квадрату. И в авиамоделизме, кстати, тоже экспонента используется на кривых рулей %)
Так что если не хочешь делать пресет, сделай как Андрей Спинор говорит: кнопку или горячую клавишу для вставки строки из буфера обмена.
Диагностировал проблему.Цитата:
Сообщение от Bond.K
Когда программил, ошибочно считал что в разделе ХОТАС можно прописывать только оси джоя.
Соответственно все строчки должны быть примерноследующего вида:
JoystickDevice0 AXE_X=aileron
Когда взглянул на присланные Bond.K конфиги, понял в чем собака порылась.
Одна из осей прописана на колесико мыши :
MouseAXE_Z=-flaps
Вот на этой то строчке парсер и сломал зубки.
Пофиксю в ближайшее время.
Дополнительного пресета в ближайшее время не будет по одной причине, о которой я уже писал - отсутствие свободного места на форме.Цитата:
Сообщение от Orion33
Может быть позже, если будут еще предложения по полезным фичам, которые потребуют доп. элементов управления.
Вариант с "Copy & Paste" значений кривых из того же экселя, мне если честно тоже не очень нравится. Во первых, (ИМХО), это нужно считанным единицам (ничего личного). Ну а во вторых, боюсь что я запарюсь проверки писать типа число/не число, кол-во введенных значений, отрицательные числа, >200 и т.п. Скопировать то можно все что угодно, а потом еще и пару раз по клаве успеть топнуть, прежде чем кнопку на форме или Энтер нажать. Да и программя функцию в том же экселе, среднестатистический пользователь врядли будет забивать себе голову проверкой на допустимость значений. В итоге получив в экселе результат в -193, который я буду вынужден "зарезать" до 0 начнет задавать справедливые вопросы, мол какого э-э-э... фига, я же сказал что должно быть -193, а оно... мне... глупая железяка. БАГ!!! :D
Вижу пока один реальный вариант. Сделать версию "Special for Orion33 & Co" :D где вместо кнопки "парабола" будет кнопка "экспонента" ;)
Но для этого мне как минимум надо вспомнить как эти несчастные системы уравнений решать ;)
А сейчас времени даже на исправление выползшего бага нет... :(
Посему мое предложение, давайте пока оставим это предложение в памяти, а к необходимости (и методам) реализации его вернемся после того как я сделаю выбор юзера и работу через командную строку.
ОК?
Небольшое обновление.
Версия 1.2.1 - Работа над ошибками.
Исправление пары багов:
[-] Исправлена ошибка, приводящая к аварийному завершению программы, в случае если на ось в разделе HOTAS был назначен не джойстик, а скроллер мыши.
[-] Исправлена ошибка, в алгоритме проверки правильности выбора подкаталога игры.
Прошу протестировать.
Bond.K - тебя персонально, как автора баг-репорта :)
Прилетел с дачи, скачал, наживил - заработало!Цитата:
Сообщение от Oleg_BS
Тестить буду чуток попозже.
:)
Забираем версию 1.3
Добавлена возможность работы с настройками нескольких пользователей игры (не только текущего).
Замечания, пожелания приветствуются.
Прием баг-репортов продолжается :)
Ну вот... работа и пьянство выбили меня из колеи на какое-то время...
Так вот, свершилось, хотел я тебе тогда еще написать, но решил что будешь бить, возможно, даже ногами :) Доводилось ли тебе видеть снапины мелкомягкие? Думаю - да. Так вот такой вариант интерфейса избавляет от многих неприятностей с недостачей места на форме. Имеется в виду следующее:
Слева - деревянная структура - ноды надо продумать еще, возможно это будут юзеры. Собственно если развивать идею, то почему бы не сделать менеджер управления в целом. С назначением и кнопок и т.д...
Справа в зависимости от активной ноды в дереве набор контролов становится визибл, ненужные анвизибл. Ну и, соответственно, наполняются содержимым структурки из памяти.
Вверху - кнопки общего управления типа слить в конфиг, и чего там еще.
Очень, я думаю, удобно будет. По крайней мере гораздо удобнее чем сейчас и тебе, как программеру, и юзеру (уж мне как минимум, прикипел я к снапинам)
Вот еще что... Есть у мелкомягких метод такой, называется сериалайз делает следующее - берет экземпляр класса, со всеми его потрохами и сливает в xml - чуешь к чему я клоню? ;) В принципе, на rsdn.ru я даже где-то видел код самого сериалайзера сделанный кем-то умным - можно и его захапать. Избавляет сразу много от чего, тебе останется только метод для слива в конфиг сделать, а остальное все будет лежать в xml. А он уже будет весь структурированный-структурированный.
Вот тут-то ООП оччень в тему будет. Классик какой ни будь сархитектить :)
Это так информация к размышлению для версии 2.0
1. Дроп даун лист "Текущий пользователь" сделать нередактируемым.
Выбираешь юзера - жмУ Delete - имею индекс массива -1 (Си не простил бы :) )
2. Предустановки Min и Max - пусть по выбору оси в них ставятся крайние значения из конфига для этой оси.
3. 5000000000000000000000000000000000000000000 - вот такое значение можно загнать в Max - можно, вероятно, и больше но я устал ;) Если макс ограничен 200, то надо и в этом комбике сделать обработку по изменению фокуса ввода значения на 200
4. Дроп даун "Профайлы" тоже сделать нередактируемым - ни к чему это.
5. Профайлы нахально перезаписываются без единого предупреждения - нехорошо.
6. Вообще работа с профайлами напрягает. Думаю что надо делать так:
[new] - при выборе эого дроп дауна - кнопка "Запись в профайл" становится актиной
[config.ini] - текущая конфигурация - кнопка "Запись в профайл" становится неактивной (и никогда не должна активиться)
Preset1.ini - кнопка "Запись в профайл" становится неактивной
...
PresetN.ini
Ежели были изменения, кнопка "Запись в профайл" - становится активной и можно записывать в этот конкретный файл.
7. На баттоне Запись в профайл - напиши просто "Сохранить", то, что она находится в групбоксе "Профайлы" и так предполагает запись в профайл.
8. При закрытии формы, если были изменения в профайле не предлагается их сохранить.
Что-то мне тут еще ненравится, но уже пора в люльку, да и тебе пока этого хватит :)
Эх, далеко ты, ногами не дотянуться... :DЦитата:
Сообщение от crocodile
Не-а, на провокации не поддамся, не надейся ;)Цитата:
Собственно если развивать идею, то почему бы не сделать менеджер управления в целом. С назначением и кнопок и т.д...
Утилитка создавалась для одной единственной цели - настройка кривых джоя. Никаких назначений кнопок, никаких параметров в ini-файлах не связаных с джоем. Для этого есть другие вещи, да и нафига лепить тот же маппинг кнопок, когда сам ИЛ с этим прекрасно справляется.
Так что сразу говорю, супер-пупер-убер-утилиты по настройке всего что нужно и чего не нужно не будет. Джой и только джой.
Ну дык эта-а-а... может сам и напишешь, раз так прикипел? А я идейки буду подбрасывать? :DЦитата:
Очень, я думаю, удобно будет. По крайней мере гораздо удобнее чем сейчас и тебе, как программеру, и юзеру (уж мне как минимум, прикипел я к снапинам)
Как по мне, то интерфейс достаточно прозаичен получился, все под рукой, все видно. Ну а если не нравится, то я же не заставляю ;)
Намекаю очень тонко. У меня за последних 2 недели первый выходной сегодня приключился. Половину его отдал на прикручивание новой фичи. Завтра снова на работу и скорее всего снова на пару недель.
Посему если переписывать все с нуля, то скорее БзБ выйдет нежели версия 2.0. Так что смысла чесс слово не вижу.
Красиво отмазался, ничего не скажешь :D :bravo: Ну это дело хозяйское.Цитата:
Сообщение от Oleg_BS
Неа не напишу, мне еще диплом писать на .NET :p :DЦитата:
Сообщение от Oleg_BS
Хотя если будет время... то может и нарисую чего. Например, разбор иловского лога с укладкой в базу и махоньким репортингом, хотя в народном хозяйстве это никому не надо будет, так для самообразования только...
Ну и вообще я-то эта... того.... так с точки зрения улучшения продукта, а не из желания обидеть :beer:
1)Про индекс какого массива идет речь?Цитата:
Сообщение от crocodile
2)Кто заставляет жать Del?
3)Если уж нажал, то кто мешает выбрать повторно нужного юзера, если уж так мозолит глаза пустое поле?
4)Если ради эксперимента ты решишь шнур питания из розетки выдернуть, утилитка это тоже должна отслеживать и непозволять это сделать?
Еще раз повторюсь - я пишу эту прожку на голом энтузиазизме, и, как я понимаю, для нормальных людей, которые понимают что они делают.
Писать проверки на любой некритичный чих не буду, хотя бы потому что времени свободного у меня не так уж много, если не сказать больше.
Хотя впрочем, если для тебя настолько критично чтобы при нажатии какой нибудь клавиши список не портился, не вопрос. 20 баксов и будет по твоему :D
Так что прекращай придираться. Баги багами, а косметика может и подождать.
В принципе это не сложно, может и сделаю в след. версии. Хотя не факт что не найдется противников этого предложения. На вкус и цвет как известно...Цитата:
2. Предустановки Min и Max - пусть по выбору оси в них ставятся крайние значения из конфига для этой оси.
Ну если больше нечем заняться, то можешь и до утра с зажатой кнопкой мыши просидетью Возможно и больше наберешь. Только толку то? Больше 200 и меньше 0 все равно не обработается. Повторяться не буду, прочитай еще раз ответ на п.1Цитата:
3. 5000000000000000000000000000000000000000000 - вот такое значение можно загнать в Max - можно, вероятно, и больше но я устал ;) Если макс ограничен 200, то надо и в этом комбике сделать обработку по изменению фокуса ввода значения на 200
см. п.1Цитата:
4. Дроп даун "Профайлы" тоже сделать нередактируемым - ни к чему это.
Глаза у тебя на что?Цитата:
5. Профайлы нахально перезаписываются без единого предупреждения - нехорошо.
Вот не знаю даже что тебе ответить. То ли п.1., то ли все таки п.2 ;)
А ты вообще то пробовал с этими самыми профайлами поработать или просто по листбоксам пошарился? Листбокс с именем профайла (в том числе и conf.ini служит лишь для чтения даных из профайла. Посему, став на conf.ini я перечитываю сохраненные там значения, но при этом, совершенно спокойно, могу поменять один ползунок на любой оси и сохранить эти измененные данные в каком нибудь профайле. А по твоему, став на конф.ини я уже ничего записать не могу.Цитата:
6. Вообще работа с профайлами напрягает. Думаю что надо делать так:
[new] - при выборе эого дроп дауна - кнопка "Запись в профайл" становится актиной
[config.ini] - текущая конфигурация - кнопка "Запись в профайл" становится неактивной (и никогда не должна активиться)
Preset1.ini - кнопка "Запись в профайл" становится неактивной
...
PresetN.ini
Ежели были изменения, кнопка "Запись в профайл" - становится активной и можно записывать в этот конкретный файл.
И при нажатии кнопки "Запись в профайл", пишется вовсе не в тот профайл, который сейчас активный, а в тот, который укажешь в соответствующем диалоге.
Так что прежде чем советы давать, попробовал бы хоть сперва.
Так, на всякий случай, предлагаю тебе в следующих постах не использовать повелительного наклонения, и почаще использовать IMHO, вместо выдачи ЦУ непререкаемым тоном.Цитата:
7. На баттоне Запись в профайл - напиши просто "Сохранить", то, что она находится в групбоксе "Профайлы" и так предполагает запись в профайл.
Ты мне зарплату не платишь, и в начальниках у меня не числишься.
Угу. Равно как и при смене профайла или выборе другого пользователя. И об этом написано БОЛЬШИМИ БУКВАМИ, если ты конечно прочитал эти пару страниц топика прежде чем писать.Цитата:
8. При закрытии формы, если были изменения в профайле не предлагается их сохранить.
Мне тоже что-то в твоих постах не нравится, так что если вышесказанного тебе не хватит, будем принимать меры :)Цитата:
Что-то мне тут еще ненравится, но уже пора в люльку, да и тебе пока этого хватит :)
Да нет мне нужды отмазываться. Ты прикипел, тебе нравится, ты бы хотел видеть именно так.. Ну так кто мешает? Клаву в руки и вперед.Цитата:
Сообщение от crocodile
А то как что-то путнее сделать - времени нет, а как значение до 50000000000000000000000000000000000000000000 накручивать, то тут мы впереди планеты всей...
Ну так и написал бы что нибуть полезное для общества. Иль слабо?Цитата:
Неа не напишу, мне еще диплом писать на .NET :p :D
Хотя если будет время... то может и нарисую чего. Например, разбор иловского лога с укладкой в базу и махоньким репортингом, хотя в народном хозяйстве это никому не надо будет, так для самообразования только...
А я бы уж потом постарался... Ради такого дела я бы так протестировал... Своих предложений написал бы вагон и маленькую тележку, и получился бы у тебя в итоге супер-пупер-мега софт, который и тебе был бы удобен и окружающим нравился, и пользу приносил :)
Ну ломать не строить :) и вообще, тестер ничего не ломает, оно уже приходит сломанным. Тестер всегда должен уметь докопаться до сути проблемы и до девелопера. У самых крутых тестеров - сердце девелопера... на столе... в баночке :)Цитата:
Сообщение от Oleg_BS
Ну так и написал бы что нибуть полезное для общества. Иль слабо?Цитата:
Сообщение от Oleg_BS
А я бы уж потом постарался... Ради такого дела я бы так протестировал... Своих предложений написал вагон и маленькую тележку, и получился бы у тебя в итоге супер-пупер-мега софт, который и тебе был бы удобен и окружающим нравился, и пользу приносил :)[/QUOTE]
Ну я даже не знаю что для Ила может быть полезным... Фича со сбором и хранением лога... да оно даром никому не надо... Что-то подобное (кривое конечно же :D ) есть в il2connect кто этим когда в последний раз пользовался??? Вот... идей особенных нет... И ко всему прочему я ленивый, я на .NET и С# ваять буду никаких вам MFC, так что качайте дотнет :)
А предложения они и есть предложения - хошь делай не хошь тоже делай :D