DirectInput ????

Тема в разделе "WASM.BEGINNERS", создана пользователем 3DManiac, 20 июн 2006.

  1. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    Добрые люди, помогите! Уже и не знаю на что думать...





    -----------------------------------------------

    ...



    GUID_SYSKEYBOARD GUID <6F1D2B61h, 0D5A0h, 11CFh, <0BFh, 0C7h, 44h, 45h, 53h, 54h, 00h, 00h>>



    ...



    PUSH 0

    CALL ADDR_GetModuleHandleA

    MOV WINDOW_CLASS.hInstance, EAX



    ...



    ;load DINPUT.DLL

    INVOKE LoadLibraryA, OFFSET DLL_DINPUT

    MOV DLL_HANDLE_DINPUT, EAX



    ;DINPUT.DLL ;get DirectInputCreateA address

    INVOKE GetProcAddress, DLL_HANDLE_DINPUT, OFFSET NAME_DirectInputCreateA

    MOV ADDR_DirectInputCreateA, EAX



    ;get DIRECTINPUT8A interface

    PUSH 0

    PUSH OFFSET POINTER_INTERFACE_DIRECTINPUT8A

    PUSH 0800h ;DIRECTINPUT_VERSION

    PUSH WINDOW_CLASS.hInstance

    CALL ADDR_DirectInputCreateA



    ;get IDIRECTINPUTDEVICE8A interface

    PUSH 0

    PUSH OFFSET POINTER_INTERFACE_DIRECTINPUTDEVICE8A

    PUSH OFFSET GUID_SYSKEYBOARD



    MOV EAX, POINTER_INTERFACE_DIRECTINPUT8A

    PUSH EAX

    /MOV EAX, [EAX]

    error \CALL DWORD PTR [EAX + INTERFACE_DIRECTINPUT8A.CreateDevice]



    -----------------------------------------------

    При инициализации DirectInput возникает ошибка.

    При успешном выполнении функции ADDR_DirectInputCreateA - EAX должен быть равен нулю...
     
  2. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    Помогите пожалуйста! очень надо!
     
  3. cmd_prompt

    cmd_prompt New Member

    Публикаций:
    0
    Регистрация:
    19 июн 2006
    Сообщения:
    28
    Адрес:
    Ukraine, Donetsk
    Я б с радостью помог, но я с DirectX никогда не работал, может подскажешь, где можно SDK взять?
     
  4. sTupor

    sTupor New Member

    Публикаций:
    0
    Регистрация:
    7 окт 2005
    Сообщения:
    16
    Адрес:
    Russia
  5. cmd_prompt

    cmd_prompt New Member

    Публикаций:
    0
    Регистрация:
    19 июн 2006
    Сообщения:
    28
    Адрес:
    Ukraine, Donetsk
    Спасибо!



    Правильное описание ссылки:



    [uгl=ссылка]текст[/url]
     
  6. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Надо юзать dinput8!DirectInput8Create.
     
  7. Leat

    Leat New Member

    Публикаций:
    0
    Регистрация:
    6 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    3DManiac

    Ты забыл ещё один параметр передать в DirectInput8Create,

    это адрес IID_IDirectInput8!
     
  8. Leat

    Leat New Member

    Публикаций:
    0
    Регистрация:
    6 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    3DManiac

    Вот содержание этого IID:

    IID_IDirectInput8 GUID < 0BF798030h, 0483Ah, 04DA2h, <0AAh, 099h, 05Dh, 064h, 0EDh, 036h, 097h, 000h > >
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Leat

    Так он же не DirectInput8Create пытался использовать. В dsound тоже нельзя получить инстанцию 8го DirectSound через стандартный конструктор и приходится юзать новый.
     
  10. Leat

    Leat New Member

    Публикаций:
    0
    Регистрация:
    6 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    Quantum

    У него же написано: ";get DIRECTINPUT8A interface "

    И вообще не пойму, зачем использовать старые интерфейсы.

    Пора уже D3D10 осваивать, и всё что к нему прилагается.
     
  11. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Leat



    Это же комментарий.





    Для совместимости. В идеале нужно юзать новый интерфейс, если он есть, а в противном случае подгружать старый.
     
  12. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43


    Скажи, друг - почему такая заморочка? Эти функции глючные:

    DirectInputCreateA

    DirectInputCreateW

    DirectInputCreate

    в чем причина их фиктивности?



    Значит надо так использовать?



    IID_IDirectInput8 GUID < 0BF798030h, 0483Ah, 04DA2h, <0AAh, 099h, 05Dh, 064h, 0EDh, 036h, 097h, 000h > >



    PUSH 0

    PUSH OFFSET POINTER_INTERFACE_DIRECTINPUT8A

    PUSH OFFSET IID_IDirectInput8

    PUSH 0800h ;DIRECTINPUT_VERSION

    PUSH WINDOW_CLASS.hInstance

    CALL ADDR_DirectInput8Create



    ?
     
  13. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    Знатоки! не молчите!
     
  14. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    а что уже вышло? хмм....
     
  15. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
  16. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43




    А по моему 9го пока ещё не придумали!
     
  17. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    3DManiac

    Придумали, но он продолжает называться 8м.
     
  18. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    базаришь
     
  19. 3DManiac

    3DManiac New Member

    Публикаций:
    0
    Регистрация:
    31 май 2006
    Сообщения:
    43
    а есть аналог C_DFDIKEYBOARD на масме?

    Подскажи
     
  20. Leat

    Leat New Member

    Публикаций:
    0
    Регистрация:
    6 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    3DManiac

    D3D10 для Vista. А всё, что к нему прилагается, оталось прежним. Только какие-то примочки появились для DInput и DSound. DShow вообще в отдельный SDK засунули (и может, уже давно), типа: "он больше не рекомендуется для игр".