-
Ответ: il-2Config, или конец тайны conf.ini.
А у кого 4 джойстика в системе? Тому как быть?
(это я так, к слову)
Спасибо, отличная программка.
Я в ИЛе с самой первой версии, почти все ключи и так знал. Но тут ключевое слово "почти". Иной раз не совсем понятно, что будет если включить тот или иной параметр.
Можно ли ввести в конце каждой строки с описанием условные знаки. Например так: качество отрисовки картинки (выше - стрелочка вверх, ниже - стрелочка вниз) и загрузка процессора (или колличество ФПС увеличится - срелка вверх) точно так же стрелочками при включении этого пункта меню?
Дело в том, что теперь пошли звонки от знакомых пилотов - "а как отреагирует система если я включу то-то и то-то".
Отвечать устал, да иногда и сам затрудняюсь ответить.
Еще раз ОГРОМНОЕ СПАСИБО!
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
[Тоскливо] может, че реально нужное сделать? Параметров добавить в программку там, для разнообразия...
Не нашел я изменения одного важного параметра:
TexFlags.TexEnvCombineDot3=[0|1]
По умолчанию установлено в 1
При установке в "0" пропадают единичные деревья при идеальных/превосходных настройках графики, что облегчает обнаружение супостата на фоне зеленки.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Walter Shwiger
Кажется в закладке DGen-а в пункте коэффициента карьерного роста, всплывающая подсказка от пункта RandomFlights, проверте.
Так оно и есть...
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Zeliboba
А у кого 4 джойстика в системе? Тому как быть?
(это я так, к слову)
А нахуа? (это я так, к слову)?
Ну, отдельные педали... Ну джой + джой под РУД (скажем, Эво + Х45)... А больше-то зачем? :rtfm: :ups: %)
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
Не нашел я изменения одного важного параметра:
TexFlags.TexEnvCombineDot3=[0|1]
Плохо искал. На вкладке "Видео: Основные" - десятый снизу.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Zeliboba
...Можно ли ввести в конце каждой строки с описанием условные знаки. Например так: качество отрисовки картинки (выше - стрелочка вверх, ниже - стрелочка вниз) и загрузка процессора (или колличество ФПС увеличится - срелка вверх) точно так же стрелочками при включении этого пункта меню?
Скажем так, тогда почти на всех галках придётся ввести два перманентных значка: "колличество ФПС увеличится" и "Качество отрисовки выше". :)
Кроме, пожалуй, лишь некоторых.
Не вижу особого смысла.
А вот всплывающие хинты ещё малость помучаем, расширим.
Дело в том, что влияние всех (без преувеличения - всех!) параметров со вкладки "Видео: основные" на форуме детальненько обсуждалось, и не раз. Соответственно, берем и отсылаем всех "вопрошаторов" в поиск по Sukhoi.ru - гарантированно найдут.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Walter Shwiger
Кажется в закладке DGen-а в пункте коэффициента карьерного роста, всплывающая подсказка от пункта RandomFlights, проверте.
Ай-ай!
Точно.
Поправлено, спасибо.
Сунулся проверил: давненько этот баг сидел - никто ни гу-гу...
Фиговые у меня бета-тестеры. :D
Шутка.
Спасибо, Walter Shwiger!
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Orion33
И 3, и 4. Но ты же сказал, что в версии 2,1 это поправлено и будет работать. Так и есть, работало. А в версии 2,3 откат на старый режим чтения что ли?
Неа.
В версии 2.3 и далее будет жёстко проверяться первая строка conf.ini. поэтому и появилось это условие: в первой строке файла conf.ini должна быть строка
[il2]
И всё. Ни пробелов, ни комментариев. Вообще-то это не совсем есть хорошо, но пока останется. Позднее, если будет нечем заняться, сделаем нормальный чек дескрипшн, а пока так.
-
Вложений: 1
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
"Сократ мне друг, но истина дороже" (с)
Ну неверно то что ты написал. Не может быть 1Х в conf.ini кривой для качалки (если конечно названия осей не переопределены дровами/софтом джойстика).
Да блин, ты издеваешься?! :mad:
Мы с тобой уже какую страницу об одном и том же яйца в ступе толчём.
Цитата:
В conf.ini прописаны кривые для аппаратных осей и они никак не зависят от каких либо настроек в игре. Т.е. грубо говоря, ось 1Х в conf.ini - это всегда та ось, значение которой меняется при движении РУСом влево-вправо.
[устало] Нет. На оси Х всегда та ось джоя, которую ты прописал на неё в игре.
Т.е. там может быть что угодно: от тримаков до закрылков. Чтобы посмотреть, что там, достаточно сунуться в settings.ini, как три страницы назад (!!) написал папа LSA.
Цитата:
Правильно оформленная твоя мысль...
Я её правильно уже три разА формулировал, тебе ни одна не подошла. :)
Всё, не хочу больше об этом слышать, вопрос закрыт.
Цитата:
Правда есть одно "но". У некоторых "умельцев" может быть прописано что то вроде:
AXE_U JoystickDevice1=-power
AXE_U JoystickDevice1=-pitch
Т.е. одна и та же ось, может одновременно регулировать тягу и шаг винта. Или например руль высоты и триммер руля высоты. На Сухом эдакие финтифлюшечки описывались.
Но по большому счету это не принципиально. В "Ил2-Стиковском" варианте, будет 2 оси ("тяга" и "шаг винта"), но они обе будут менять кривую для одной и той же оси U
Угу. А вот наша программка при таком раскладе упадёт в крэш-даун.
Блин, я о двух осях не подумал. Бум посмотреть.
Цитата:
Т.е. достаточно проанализировать лишь раздел [HotKey move] , а он достаочно стандартный.
Фигня какая... :)
Из-за этой "стандартности" для того, чтобы выцепить оттуда 10 параметров, пришлось проверять (3*8)*2=48 строк в разных вариантах. Бардааак...
Цитата:
[current]
0
Читаем раздел [current] ("0") это и есть активный профиль. (profile_number)
Да не ноль там... А пробел+0, да с вариантами, когда может быть два пробела перед 0. Опять же, было бы записано что-нибудь типа
CurrentUser=%dir%\Users\0
не было бы вопросов.
А так - программный онанизм с элементами оккультизма.
Цитата:
Для пущей важности проверяем, чтобы profile_number присутствовал в разделе [list] (список имеющихся профилей игроков). Хотя нафиг эта проверка нужна...
Не нужна.
Разве что имя профиля узнать. Так оно всё равно в юникоде пришется, если кириллицей. Тухлость бесполезная. Одна штука.
Цитата:
И вообще, пора представить соавтора. Страна должна знать своих героев :rolleyes:
Вот допишет задание - подумаю. А пока - хай трудится. до сих пор динамические масссивы использовать не умеет. И всё к HTML тянется.
[мрачно] Не, это всё-таки не кролик. Это дятел.
Цитата:
Шаман однако. Или у меня полтергейст завелся. Третья вкладка у меня активная, другое дело что в списке осей пусто, но на саму вкладке запросто переключаюсь. Ну да фиг с ней.
Переключиться - пожалста. А вот изменить что-нибудь... ;)
Цитата:
...Одна подруга говорит другой:
Знаешь кто такой зануда? Это человек, которому проще отдаться, нежели объяснить что не хочется.
Догадываешься к чему эт я? :D
Хам. :)
Надо было тебя послать подальше ещё в начале, не было бы геморроев. Теперь поздно, прилип. :D
На тебе в подарок внешний вид версии 2.5.
-
Ответ: il-2Config, или конец тайны conf.ini.
Простите, за длинноту...
Нет, скин мэнеджер у меня есть. Странные функции выполняет. Я ищу прогу, которая думаю нужна всем скинмейкерам. Например я создаю в фотошопе скин, тут же ещё один и т.д. И они сохраняются как правило (для скорости) в одной папке. Естественно названия у новых скинов содержат названия самолей, чтоб не перепутать, типа new_p39_pokryshkin.bmp, WS_a6m2_48sentai.bmp ну и тп. И создал я за один заход, допустим 10 скинов и все для разных самолётов. И потом чтоб не раскидывать их по соответствующим папкам, не копировать скины для разных серий с одинаковыми скинами, просто запускаю прогу, в которой указан путь к папке с новыми скинами и путь к PaintSchemes\Skins и она сама определяет по названию скина куда его перетаскивать\копировать. Вот. Просто я видел такую прогу, очень давно и она была толи на французком, то ли на итальянском. Никто не знает?
PS не побоюсь, ещё раз сказать спасибо за il2Config. Спасибо большое, FillipOk!!!
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Разве что имя профиля узнать. Так оно всё равно в юникоде пришется, если кириллицей.
Точнее, в Quoted Printable Java.
Цитата:
Сообщение от FilippOk
А пока - хай трудится. до сих пор динамические масссивы использовать не умеет. И всё к HTML тянется.
По рукам линейкой бить! :D А пробовал открыть ему тайны обращения с TCollection и ее потомками?
Цитата:
Сообщение от FilippOk
[мрачно] Не, это всё-таки не кролик. Это дятел.
Орнитологами подмечено - чем тверже дерево дятел долбит, тем острее клюв :D
Цитата:
Сообщение от FilippOk
На тебе в подарок внешний вид версии 2.5.
И появилась мысль по поводу... Может, в левом верхнем листбоксе вместо, скажем, -pitch на устройстве 0 писать просто Шаг винта? Простому русскоязычному вирпилу, далекому от компьютерных тонкостей, понятней будет. IMHO... :ups:
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
[устало] Нет. На оси Х всегда та ось джоя, которую ты прописал на неё в игре.
Т.е. там может быть что угодно: от тримаков до закрылков. Чтобы посмотреть, что там, достаточно сунуться в settings.ini, как три страницы назад (!!) написал папа LSA.
Последний раз повторю. Ось Х в conf.ini - это не крен в игре, т.е. не орган управления самолета (тангаж, руль высоты т.д.), это ось джойстика (РУС влево-вправо). Поэтому назначить ось Х на управление рулем направления или, к примеру, триммер можно, а вот назначить ось Х на качалку/педали/крутилку т.е. другую ось джойстика, нельзя.
Мы с тобой просто под словом ОСЬ разных вещи понимаем.
Т.е. в моем понимании, ось Х - это AXE_X JoystickDevice0 (именно это и означает ось Х в conf.ini), а качалка это AXE_RZ JoystickDevice0 или AXE_Z JoystickDevice0.
А в твоем понимании, судя по всему, ось Х это aileron
В твоем посте 321 был такой вопрос:
Цитата:
Скажи, а если назначить в игре на управление креном качалку, то ось Х в conf.ini всё равно останется осью Х на джойстике?
Ответ на него - ДА!!!
Назначая крен на качалку, ты тем самым прописываешь в settings.ini
AXE_RZ JoystickDevice0=aileron
Но ось AXE_RZ JoystickDevice0 соответствует оси 1RZ в conf.ini но никак не 1X.
Именно это и
Цитата:
написал папа LSA.
Цитата:
Всё, не хочу больше об этом слышать, вопрос закрыт.
Понял, умолк.
Каждый останется при своем мнении :cool:
Ну и вдобавок, это для программы не принципиально.
Цитата:
Угу. А вот наша программка при таком раскладе упадёт в крэш-даун.
Блин, я о двух осях не подумал. Бум посмотреть.
Ну, судя по скриншоту 2.5, остановились все таки на "Ил2-стик"овом варианте. Там крэша не будет.
Цитата:
Из-за этой "стандартности" для того, чтобы выцепить оттуда 10 параметров, пришлось проверять (3*8)*2=48 строк в разных вариантах.
Я правильно понимаю, что проблема связана с этим:
Цитата:
Фикус в том, что тут не просто ini-шка: имя параметра может быть как
AXE_RZ JoystickDevice0=rudder
так и
JoystickDevice0 AXE_RZ=rudder.
Тогда может не перебором строки сравнивать, а применить системный подход, который сработает вне зависимости от порядка параметров? :)
Черт, не писал ничего уже сто лет, функции позабывал, посему попробую словами алгоритм описать.
===================================
1) Считываем очередную (1...х) строчку: AXE_RZ JoystickDevice0=rudder
2) Определяем первое вхождение знака "равно" (pos)
3) Считываем подстроку от pos+1 до конца строки.
4) Делаем ей TRIM (обрезаем ведущие и конечные пробелы)
(пп.2-4 это одна строка кода.)
Вуа-ля, что регулируем (rudder) определили. Запоминаем в переменной (control)
5) Определяем первое вхождение подстроки "JoystickDevice" (pos)
6) Считываем cимвол[pos + 14] (длина строки "JoystickDevice"). Получаем номер девайса (0). Запоминаем. (Joy_ID)
Это еще строка кода.
7) Определяем первое вхождение подстроки "AXE_" (pos)
8) Считываем 2 символа исходной строки, начиная с позиции pos+4. Если второй символ - пробел или равно, долой его. Если не пробел или равно, значит ось двухбуквенная. Запомнили название оси (axe)
9) Сформировали название оси для выпадающего списка:
control + " (Ось " + axe + " на устройстве #" + Joy_ID + ")"
(В идеале отрезаем еще ведущий минус (если есть) и делаем табличное преобразование "rudder" -> "Руль направления")
Итого имеем:
"Руль направления (Ось RZ на устройстве #0)"
10) Сформировали название оси джоя, которую надо регулировать в conf.ini:
"1" + axe + IIF(Joy_ID="0";"";Joy_ID)
Результат: "1RZ"
Вроде все. На первый взгляд более громоздко, зато не ошибемся если к примеру между параметрами окажется не 1 пробел, а два или три. Да и последовательность
AXE_RZ JoystickDevice0=rudder
JoystickDevice0 AXE_RZ=rudder.
роли играть не будет.
Цитата:
Да не ноль там... А пробел+0, да с вариантами, когда может быть два пробела перед 0.
Сделай TRIM() для убирания ведущих/конечных пробелов
Цитата:
Надо было тебя послать подальше ещё в начале, не было бы геморроев. Теперь поздно, прилип. :D
- Не гони меня, Иван-Царевич - молвил серый волк. - Я тебе еще пригожусь (с) :D
Цитата:
На тебе в подарок внешний вид версии 2.5.
Ура-а-а, спасибки!!!
С удовольствием приму в дар работающую версию 2.5 :)
Но 5 копеек снова вставлю :)
ИМХО нужно убрать картинку ИЛ-2 Штурмовик из окошка с графиком.
Или как вариант, убрать график.
Вместе они не смотрятся...
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Да не ноль там... А пробел+0, да с вариантами, когда может быть два пробела перед 0. Опять же, было бы записано что-нибудь типа
CurrentUser=%dir%\Users\0
не было бы вопросов.
А так - программный онанизм с элементами оккультизма.
А у меня путь выглядит как %dir%\Users\Orion %) Теперь чтобы прога работала, надо еще папку переименовывать??
А зачем это делать, если вся инфа сидит в файле all.ini
[list]
orion Orion Orion33 Orion
[current]
0
Что значит, юзер под номером 0 сидит в папке orion, Orion (а не Иван :)), позывной Orion33 (а не Ваня :)), а фамилиё тоже Orion (а не Иванов %))
Вторая секция показывает, что текущий юзер номер 0.
Кстати, Филипп, обращаю внимание: вначале строк, кроме названия раздела, стоят два пробела.
-
Ответ: il-2Config, или конец тайны conf.ini.
Надысь я этот вопрос исследовал. Результаты следующие.
Файл all.ini лежит в папке \Users и содержит перечень всех созданных в игре пилотов:
[list]
0 Serge\t LSA \u0020
test T T T
[current]
1
Число в секции current указывает на номер выбранного в данный момент пилота. Нумерация, традиционно, с нуля.
Далее идут папки с индивидуальными делами этих пилотов (настройки управления, самолеты, скины, кампании и т.п.):
\Users\0
\Users\test
Т.е. в данном случае текущий пилот - T, а его настройки лежат в папке test.
В строках all.ini, содержащих информацию, помимо двух начальных пробелов, могут встречаться символы табуляции \t (появляются после нажатия кнопки табуляции при попытке перейти на следующее поле при создании пилота).
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
На тебе в подарок внешний вид версии 2.5.
а что символизирует график справа-вверху? дубль ползунков или отклик джоя в игре, с учетом заданной кривой?
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от LSA
По рукам линейкой бить! :D А пробовал открыть ему тайны обращения с TCollection и ее потомками?
А как же. Но - не в коня... не дятла дерево. Ну молодой. Всё бы фигнёй страдать... не понимает. Пока что.
Цитата:
Орнитологами подмечено - чем тверже дерево дятел долбит, тем острее клюв :D
Замечено: Хорошо заточенный 22-летний дятел легко способен задобать четверых инженеров с высшим образованием. Причём, вконец затумкать...
А правильно кинутый дятел втыкается на глубину до 30 см. и торчит не менее суток.
Однако, являясь ночной птицей, утреннюю побудку дятел воспринимает как личное оскорбление и в ответ хватается за справочник дятла - "Библия Java" Захарова А.И., издательства 'Фокус' 2004 года, 680 страниц, А4, глянец и полуглянец, обложка матовая, петит 17-40 и т.д...
Цитата:
И появилась мысль по поводу... Может, в левом верхнем листбоксе вместо, скажем, -pitch на устройстве 0 писать просто Шаг винта?...
Обязательно. Это же промежуточный вариант, ещё сто раз изменится. Чтобы там названия писались - надо обработчик сделать. А пока там пишется просто результат функции, читающей settings.ini, плюс номер девайса.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
Ну, судя по скриншоту 2.5, остановились все таки на "Ил2-стик"овом варианте. Там крэша не будет.
Чтобы не было, надо это предусмотреть.
Цитата:
Я правильно понимаю, что проблема связана с этим:
И да и не только. К примеру, там может быть не один пробел между DeviceN и AXE_N, или пробелы между именем параметра и '='. Или в конце строки.
Цитата:
1) Считываем очередную (1...х) строчку: AXE_RZ JoystickDevice0=rudder
А если именно такой строчки там нет? А есть там
AXE_RZ JoystickDevice0=aileron
или
AXE_RZ JoystickDevice0=a-ileron
или
AXE_RZ JoystickDevice0=-rudder
или
AXE_RZ JoystickDevice1=aileron
или
AXE_RX JoystickDevice1=-pitch
До что угодно там может быть.
И привет, функция вернёт пустую строку.
А тогда всё остальное - бессмысленно.
Потому что, чтобы анализировать строку, надо быть уверенным, что это именно нужная строка. Иначе получим странный результат.
Цитата:
Сделай TRIM() для убирания ведущих/конечных пробелов
И так без сопливых гололёд. :D Уже. :D
Научил слона гадить... :D
Цитата:
- Не гони меня, Иван-Царевич - молвил серый волк. - Я тебе еще пригожусь (с) :D
Загорелись глазки у Ивана-Царевича, и подбоченился добрый молодец:
"Ну, уговорил, давай пригождайся, пра-а-ативный". :D
Цитата:
Ура-а-а, спасибки!!!
С удовольствием приму в дар работающую версию 2.5 :)
- А можно?...
- Если бы он работал, цены бы ему не было! (с) анекдот.
Пока не будет 100% пахать, не выложу. Пока только сам пользуюсь. Остальным не рекомендовано. :)
Цитата:
ИМХО нужно убрать картинку ИЛ-2 Штурмовик из окошка с графиком. Или как вариант, убрать график.
Вместе они не смотрятся...
Ну вот. Приехали. А кто-то тут торчал от графика в iL-2 Connect... :(
Человек старался, TChart осваивал...
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Orion33
А у меня путь выглядит как %dir%\Users\Orion %) Теперь чтобы прога работала, надо еще папку переименовывать??
С чего ты взял? Где это я такое говорил? Я ж сказал, что это у меня так... а у кого-то будет по-другому, и что? Делать второй вариант - так уж качественно...
Цитата:
Кстати, Филипп, обращаю внимание: вначале строк, кроме названия раздела, стоят два пробела.
А у меня - один.
А у него -три...
По барабану уже, сколько там пробелов, хоть десять.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от LSA
Надысь я этот вопрос исследовал.
Угусь. Я тожесь.
Цитата:
Результаты следующие.
:yez: Результаты сошлись.
Цитата:
В строках all.ini, содержащих информацию, помимо двух начальных пробелов, могут встречаться символы табуляции \t (появляются после нажатия кнопки табуляции при попытке перейти на следующее поле при создании пилота).
И что с ними делать, пока думаем.
Хотя... чё тут думать, игнорировать их будем.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от ABM
а что символизирует график справа-вверху? дубль ползунков или отклик джоя в игре, с учетом заданной кривой?
Дубль ползунков, не более.
Есть мыслЯ убрать график и сделать его TCanvas-ом поверху ползунков. Но это будет... возня. И на мой взгляд, нафиг не нужная. Моя бы воля, я бы вообще упрощённый интерфейс сделал бы, без всяких этих штучек.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
И да и не только. К примеру, там может быть не один пробел между DeviceN и AXE_N, или пробелы между именем параметра и '='. Или в конце строки.
А если именно такой строчки там нет? А есть там
AXE_RZ JoystickDevice0=aileron
.....
До что угодно там может быть.
И привет, функция вернёт пустую строку.
А тогда всё остальное - бессмысленно.
Потому что, чтобы анализировать строку, надо быть уверенным, что это именно нужная строка. Иначе получим странный результат.
Филипп, ну ты же программист...
Весь фокус в том, что мой алгоритм будет во всех этих случаях работать правильно! Конкретную строку я привел только для примера.
Попробуй ради интереса, убедишься сам.
Сейчас жена с работы прийдет, хочет комп оккупировать, что-то срочно надо набрать.
Как только дорвусь, поставлю Delphi, напишу обработчик и выложу тут.
Вставишь в программу, проверишь работоспособность сам. То что будет работать я ручаюсь. И количество пробелов или порядок параметров не будет влиять на результат - это факт.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Walter Shwiger
... Просто я видел такую прогу, очень давно и она была толи на французком, то ли на итальянском. Никто не знает?
А, нет, таковских не встречал :ups: Хотя, как по мне, функционал не менее странный, чем у Скин Менеджера %)
Цитата:
Сообщение от Walter Shwiger
PS не побоюсь, ещё раз сказать спасибо за il2Config. Спасибо большое, FillipOk!!!
А! Это да, "АднАзначнА!" (с) :bravo: Собственно, тут еще постоянно какой-то кроликодятел упоминается (мутант, штоль? %)), дык, думается ему тоже "спасибо" причитаеЦЦа :rolleyes:
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от deSAD
Хотя, как по мне, функционал не менее странный, чем у Скин Менеджера %)
А я вообще не вижу необходимости в подобной программе... Равно как не представляю ситуацию, когда в фотошопе безвылазно можно нарисовать десяток разных скинов. Не, нарисовать-то можно, только это будут те еще скины... Для папки Recycled :D
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
Весь фокус в том, что мой алгоритм будет во всех этих случаях работать правильно! Конкретную строку я привел только для примера...
Нет, фокус не в этом.
Фокус в том, что этот алгоритм будет работать правильно, если ему дать нужную строку. А чтобы ему дать нужную строку, надо сделать анализ каждой читаемой из settings.ini строки на соответсвие куче требований, используя... этот алгоритм, которому всё равно надо дать нужную строку, для которой надо написать анализ... и т.д.
Пока что обходимся безо всяких хитрых алгоритмов, просто тупо читаем из settings.ini параметры из раздела [Hotkey move] в количестве 3*8*2 параметров с заданными именами, которые там вообще могут быть, отсекая неудавшиеся попытки чтения, и тем самым получая всё что там вообще есть и имена параметров.
Надо будет - сделаем что-то более подобающее.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Нет, фокус не в этом.
Фокус в том, что этот алгоритм будет работать правильно, если ему дать нужную строку. А чтобы ему дать нужную строку, надо сделать анализ каждой читаемой из settings.ini строки на соответсвие куче требований...
А-а-а, дошло наконец то. Т.е. проблема в том, чтобы выделить строки, принадлежащие секции [Hotkey move]?
Так это тоже элементарно.
Читаешь поочередно каждую строчку и сравниваешь ее с [Hotkey move]
Как только нашел эту строку, делаешь цикл в котором:
1) читаешь очередную строчку conf.ini
2) убираешь ведущие/конечные пробелы
3) если первый символ = "[", то конец цикла, ибо началась следующая секция.
4) Если строка пустая ("") значит ее игнорируем и возвращаемся на начало цикла
5) Если предыдущие 2 условия не сработали, значит обрабатываем моим алгоритмом.
6) Возврат на начало цикла.
Все :rolleyes:
-
Ответ: il-2Config, или конец тайны conf.ini.
Oleg_BS, дорогой, я засморкал твои усилия, и протащился от благодарности, и всё такое, только ты пойми: я в этой теме не спрашиваю, как сделать, спасибо, конечно, но я уж как нибудь сам дотумкаю как, вроде не первый год клаву топчу, я спрашиваю что сделать. :)
Ты уж не обижайся на меня, плз, просто обсуждение малость не туда катится. Может, тебе просто исходники выслать, и продолжишь дело? :)
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Ты уж не обижайся на меня, плз, просто обсуждение малость не туда катится.
Злой ты конечно, :D но пользительное дело делаешь. Так что обид не дождешься, и не надейся ;) Ну как минимум пока релиз не выпустишь :D
Цитата:
Может, тебе просто исходники выслать, и продолжишь дело? :)
Ну продолжать не буду, детище то твое, сам финальную версию и выпустишь. Но помочь, если надо могу.
Так что, вышлешь исходники, аль зажмешь? :D
Ну а если серьезно, то согласись, что сравнение по образцу не есть самый лучший вариант. Один лишний пробел и...
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Дубль ползунков, не более.
а смысл?
если есть график - пусть отображает реальный отклик в игре (формулы в *.xls, я выкладывал в этой теме):ups:
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от NewLander
А нахуа? (это я так, к слову)?
Ну, отдельные педали... Ну джой + джой под РУД (скажем, Эво + Х45)... А больше-то зачем? :rtfm: :ups: %)
Шлем.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Угу. А вот наша программка при таком раскладе упадёт в крэш-даун.
Блин, я о двух осях не подумал. Бум посмотреть.
Не упала. У меня так. Но что произошло с моими настройками - не смотрел.
-
Ответ: il-2Config, или конец тайны conf.ini.
:) Да ничего не произойдет. И сейчас - не упадет. Не с чего.
Нынешняя версия ещё не понимает settings.ini, она тупо читает оси из conf.ini, и всё.
Мы говорили о версии 2.5, которая ещё в стадии подготовки.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от ABM
а смысл?
если есть график - пусть отображает реальный отклик в игре (формулы в *.xls, я выкладывал в этой теме):ups:
Да, это мысль.
Попробуем.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
Так что, вышлешь исходники, аль зажмешь? :D
Да пожалста. С одним условием: продолжаешь ты.
Цитата:
Ну а если серьезно, то согласись, что сравнение по образцу не есть самый лучший вариант. Один лишний пробел и...
Конечно. Просто пока что мне надо было, чтобы у меня заработало. Отладим вкладку кривых - будем разбираться поподробней с settings.ini.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Да пожалста. С одним условием: продолжаешь ты.
Ну что за люди пошли? Все хотят на кого нибудь другого переложить свои заботы :D
Цитата:
Конечно. Просто пока что мне надо было, чтобы у меня заработало. Отладим вкладку кривых - будем разбираться поподробней с settings.ini.
Отлично! Ждемс.
Теперь снова серьезно.
Как для меня, идеальная настройка джоя должна представлять из себя симбиоз трех программ:
1) Il2-Stiks - в плане настройки не всех кривых, а только тех, которые определены в разделе HOTAS. Плюс возможность сохранять/считывать пресеты.
2) IL2-connect - в плане демонстрации кривой отклика в игре (не просто положение ползунков) и, самое главное, возможности, находясь в программе, отклонять ручку джоя и видеть отклонение реальное, и то, что будет в игре (зеленый и красный квадратики XY и остальные, описанные в settings.ini оси. Это очень сильно поможет в той же настройке кривых. Плюс опять таки пресеты.
3) IL2-config - в плане возможности настройки кривых со значениями больше 100.
Посему у меня возникла мысль написать такую прогу самому, как я себе это вижу. Если community понравится, отдам исходники, вставишь функционал в IL2-config.
Одно большое "но". Я действительно не писал очень давно, лет 5-6. Многое подзабыл. Поэтому обещать что все получится не могу. Но попробую. Кстати исходники именно для этого просил, чтобы не изобретать велосипед.
Теперь вопрос. Стоит ли начинать? Или ты это все рано или поздно сам реализуешь?
-
Ответ: il-2Config, или конец тайны conf.ini.
хммм..
Скажу вот что.
Если напишешь модуль для п.2 - вставлю, не вопрос.
Конкретно - нужны два окошка:
1. окошко "с квадратиками"
2. окошко с графиком рельного отклонения в зависимости от настроенных кривых.
Это бы мощно освободило время для дописания вкладки "Сеть" и вкладки "мышь".
Начальные данные:
Кривые хранятся в массиве X[0..11, 0..30], где
i = мз, 1,2,3,4,5,6,7,8,9,10, сглаж.
j = номер оси, по десять осей на три (пока три, а понадобится - и более) девайса соответственно.
Значения массива изменяются в процессе изменения каждого ползунка.
Т.е. кривулька для 1RZ1 будет в X[0..11, 12], например.
Или для 1X будет Х[0..11, 0].
Варнинг: эта структура уже сложилась. Предложения по изменениям не принимаются. ;)
-
Ответ: il-2Config, или конец тайны conf.ini.
Предложений по изменению не будет. :D
Касательно всего остального - начинаю пробовать...
Сразу пара вопросов/предложений.
1) Как быть с выводом положения джойстиков?
На три джоя нужно три квадрата + на каждый джой еще от нуля до 6 дополнительных осей (Руль направления, тяга, триммера и т.д.).
Я бы предложил все же танцевать от осей, прописанных в ХОТАС.
Тогда мы упираемся в один квадрат (тангаж/крен) и 0...8 "ползунков" для остальных осей.
2) Соответствие J названию оси.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
1) Как быть с выводом положения джойстиков?
Я бы сделал для каждого устроства по квадрату с ComboBox-ом над ним для выбора оси.
Цитата:
2) Соответствие J названию оси.
Не втыкаю: что за J?
-
Ответ: il-2Config, или конец тайны conf.ini.
Самый сложный момент, как оказалось, это считывание показаний джоя. Ни одна из готовых компонент не подошла (осей мало), так что придется разбираться с DirectX, в частности с DirectInput, чем собственно сейчас и занимаюсь.
Когда победю это (определение кол-ва джоев, кол-ва осей на каждом, и снятие значений осей, тогда уже займусь непосредственно "квадратом" и графиком.
Цитата:
Сообщение от FilippOk
Не втыкаю: что за J?
Ты писал:
Цитата:
Кривые хранятся в массиве X[0..11, 0..30], где
i = мз, 1,2,3,4,5,6,7,8,9,10, сглаж.
j = номер оси, по десять осей на три (пока три, а понадобится - и более) девайса соответственно.
Вот собственно и хочется знать соответствие J (номер оси) наименованию оси.
Ну т.е., к примеру:
J=1 - Ось Х
J=2 - Ось Y
и т.д.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Я бы сделал для каждого устроства по квадрату с ComboBox-ом над ним для выбора оси.
"Квадрат" подразумевает вывод показаний двух осей (X,Y).
Для остальных достаточно линейного индикатора. Ну типа как в панели управления показываются параметры джоя.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
Самый сложный момент, как оказалось, это считывание показаний джоя. Ни одна из готовых компонент не подошла (осей мало), так что придется разбираться с DirectX, в частности с DirectInput, чем собственно сейчас и занимаюсь.
А можете одновременно, хоть краем глаза глянуть как ФорсФидбэк там реализован. Конкретно интересует можно ли переназначить ИД джоя куда посылаются команды? Не силен в программировании, поэтому на пальцах.
Координаты положения осей приходят с джоя 1. Команды ФФ (ФорсФидбэк) шлются на тот же джой 1.
Теперь берем джой с классной электроникой, выдираем из него датчики осей и цепляем их на джой с ФФ (джой 2), но хреновым АЦП осей. Остается программно перенаправить команды ФФ на джой 2 и получим аналог Майкрософт Сайдвиндер.
В конце концов cхему Mjoy еще никто не отменял!
В свое время отказался от покупки джоя с ФФ из-за низкой разрядности их АЦП, пошел по пути изготовления джоя полностью своими руками. Но очень хочется добавить туда еще и ФФ. Мне известен только один человек занимающийся изготовлением схем контроллеров с АЦП высокой точности и ФФ. Но он изначально ориентируется на коммерческую продажу готовых устройств и, самое главное, это будет еще очень нескоро.
Я не прошу прямо сейчас этим заниматься - хотя бы посмотрите на сколько это сложно и выполнимо ли в принципе.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Zeliboba
А можете одновременно, хоть краем глаза глянуть как ФорсФидбэк там реализован. Конкретно интересует можно ли переназначить ИД джоя куда посылаются команды? Не силен в программировании, поэтому на пальцах.
Координаты положения осей приходят с джоя 1. Команды ФФ (ФорсФидбэк) шлются на тот же джой 1.
Теперь берем джой с классной электроникой, выдираем из него датчики осей и цепляем их на джой с ФФ (джой 2), но хреновым АЦП осей. Остается программно перенаправить команды ФФ на джой 2 и получим аналог Майкрософт Сайдвиндер.
В конце концов cхему Mjoy еще никто не отменял!
В свое время отказался от покупки джоя с ФФ из-за низкой разрядности их АЦП, пошел по пути изготовления джоя полностью своими руками. Но очень хочется добавить туда еще и ФФ. Мне известен только один человек занимающийся изготовлением схем контроллеров с АЦП высокой точности и ФФ. Но он изначально ориентируется на коммерческую продажу готовых устройств и, самое главное, это будет еще очень нескоро.
Я не прошу прямо сейчас этим заниматься - хотя бы посмотрите на сколько это сложно и выполнимо ли в принципе.
Идея понятна, но есть одно, но очень большое "но".
Команды на FF выдает непосредственно ИЛ. Как он "соображает" на какой джой выдавать данные для фидбека, только МГ и знают. Перехватить и перенаправить эти сигналы врядли возможно. Точнее, скорее всего, возможно, но для этого нужно писать свою библиотеку, которой подменять одну из системных библиотек DirectX. Но я это врядли потяну.
Я бы попробовал другой вариант. Возможно ИЛ выдает фидбек на первый джой в системе.
Если в качестве "точного" контроллера используется MJoy, то нужно в прошивке изменить 2 байта, которые отвечают за ID джоя в системе, чтобы МДжой стал вторым, а не первым джоем. Тогда, скорее всего, фидбек пойдет по "правильному" направлению.
Есть конечно вероятность, что фидбек направляется на тот джой, оси которого назначены на крен и тангаж. Тогда этот вариант не пройдет. Но и проверить легко. Попробуй в разделе ХОТАС в игре назначить на крен и тангаж оси второго джоя (стандартного, с плохим контроллером). Если фидбек появится, значит тебе не повезло. Если не появится, меняй ID МДжоя как описано выше.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
...Вот собственно и хочется знать соответствие J (номер оси) наименованию оси.
Ну т.е., к примеру:
J=1 - Ось Х
J=2 - Ось Y
и т.д.
Ага.
Понял.
j0=1X
j1=1Y
j2=1Z
j3=1RX
j4=1RY
j5=1RZ
j6=1U
j7=1V
j8=1X1
j9=1Y1
j10=1Z1
j11=1RX1
j12=1RY1
j13=1RZ1
j14=1U1
j15=1V1
j16=1X2
j17=1Y2
и т.д.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Ага.
Понял.
j0=1X
j1=1Y
j2=1Z
...
и т.д.
ОК, принял.
Пока штудирую DirectX SDK (300 метров с лишним в архиве). Думаю, что дня через 2, максимум 3, вопрос считывания данных с джоя стоять уже не будет.
Итого неделя на все про все. Потом обменяемся результатами.
P.S. Я увлекся, т.е. неделю доставать тебя не буду. Эх, повезло тебе... :D
P.P.S. Шучу :)
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Oleg_BS
ОК, принял.
Пока штудирую DirectX SDK (300 метров с лишним в архиве).
ИЛ отсылает команды на те оси, которые назначены.
Краем глаза посматривай - вдруг мою просьбу без значительных временных затрат удасться реализовать?
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от Zeliboba
ИЛ отсылает команды на те оси, которые назначены.
Краем глаза посматривай - вдруг мою просьбу без значительных временных затрат удасться реализовать?
Повторю еще раз:
Точнее, скорее всего, возможно, но для этого нужно писать свою библиотеку, которой подменять одну из системных библиотек DirectX. Но я это врядли потяну.
-
Ответ: il-2Config, или конец тайны conf.ini.
Ну, почему же.
Есть DeviceLink. ;)
Но это всё, опять же, непрофиль. В Conf.ini нет про FF ничего кроме опции вкл-выкл.
-
Ответ: il-2Config, или конец тайны conf.ini.
Да, Oleg_BS, забыл:
X[0..11,j] имеют значение только если ось j была в settings.ini.
Иначе X[i,j]=0,0,0,0,0,0,0,0,0,0,0.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от ABM
...если есть график - пусть отображает реальный отклик в игре (формулы в *.xls, я выкладывал в этой теме):ups:
Попытались взять в оборот твои графики.
И тут же удивились: там
кривая
джой
игра
всё впонятно, непонятно только, что за строка "джой" и откуда её брать.
-
Ответ: il-2Config, или конец тайны conf.ini.
Цитата:
Сообщение от FilippOk
Да, Oleg_BS, забыл:
X[0..11,j] имеют значение только если ось j была в settings.ini.
Иначе X[i,j]=0,0,0,0,0,0,0,0,0,0,0.
Э-э-э... А может лучше все таки -1 вписывать? Или еще что нибудь отрицательное.
Иначе вдруг поставлю я все ползунки в ноль и...
-
Ответ: il-2Config, или конец тайны conf.ini.
Ну... ок, пусть там будет -1.