1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Проблема управления в старых играх: клавиатура и мышь

Тема в разделе "Кладезь мудрости", создана пользователем Alex002, 1 фев 2020.

  1. Alex002

    Alex002

    Регистрация:
    19 янв 2016
    Сообщения:
    131
    Иногда есть проблема с назначением клавиш в игре, клавиши не назначаются или не сохраняются.
    В старых играх за клавиатуру и мышь отвечал dinput.dll из пакета DirectX, который обычно идет в комплекте с игрой. Как там делается в новых играх х.з. …
    Обычно игра заточена именно под свой DirectX
    Windows, есс-но, отказывается установить старый DirectX, если установлена новая версия DirectX.
    Пакет DirectX можно разархивировать программой 7-Zip и извлечь оттуда dinput.dll
    Тупо скопировать этот файл в папку с игрой проблему не решает…
    Если открыть dinput.dll программами Restorator 2018 или PE Explorer (более корректная программа), то видно что файл этот многоязычный…
    Теперь, если удалить из файла dinput.dll все языки кроме английского и затем копировать его в папку с игрой,… вуаля! … проблема с управлением решена.
    Заодно выяснилось, что есть несоответствия кодов для dinput.dll более новых версий, чем 4.7.0.700 (1999 год)
    Этих кодов нет в новых > 4.7.0.700 версиях
    21, "%d axis, %d button %s"
    22, "joystick"
    23, "joystick"
    24, "flight yoke"
    25, "gamepad"
    26, "rudder"
    27, "race car controller"

    Эти коды перекрываются, что вряд ли хорошо:
    В старых версиях < 4.7.0.700
    8192, "HID Game Controller"
    8193, "%s%s%d axis %d button %s%s"
    8194, ": "
    8195, "joystick"
    8196, "flight yoke"
    8197, "gamepad"
    8198, "car controller"
    8200, " with POV hat"

    В новых версиях > 4.7.0.700
    8192, "%d axis %d button %s%s"
    8193, "joystick"
    8195, "flight controller"
    8196, "gamepad"
    8198, "driving controller"
    8200, "device"
    8201, " with hat switch"

    Версия dinput.dll 4.7.0.700 из directx7 «граничная», в следующей версии 4.8.0.400 (directx8) коды были изменены, и во всех последующих версиях коды в dinput.dll больше не изменяли, а только сокращали их количество, выбрасывая "все лишнее"

    … Идея переделать dinput.dll есс-но, не моя, и для каждой проблемной игры наверняка уже сделан свой dinput.dll, … но не факт, что вы найдете именно вашу версию + нет гарантии от вируса… Иногда проще сделать самому, занимает это не так уж много времени….+ 100% без вирусов.
    Мой первый опыт: модифицированный dinput.dll из DirectX для игры NOLF
    Разархивировать и копировать dinput.dll в папку с игрой.
    ... Кстати, игра NOLF содержит directX7 с dinput.dll версии 4.7.0.700 ...
    добавил в архив 2 версии dinput.dll с действующими кодами и одну со старыми кодами для древнего "железа"
     

    Вложения:

    Последнее редактирование: 4 фев 2020
    Goblinit, Sharp_ey и TheMadLynx нравится это.
  2.  
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление