src/haptic/win32/SDL_syshaptic.c
branchgsoc2008_force_feedback
changeset 2623 6deba05725ac
parent 2621 83659de20bf2
child 2626 53dd30491c71
equal deleted inserted replaced
2622:446054caaa81 2623:6deba05725ac
    89 
    89 
    90 
    90 
    91 /*
    91 /*
    92  * External stuff.
    92  * External stuff.
    93  */
    93  */
    94 extern HINSTANCE SDL_Instance;
       
    95 extern HWND SDL_HelperWindow;
    94 extern HWND SDL_HelperWindow;
    96 
    95 
    97 
    96 
    98 /*
    97 /*
    99  * Prototypes.
    98  * Prototypes.
   144  */
   143  */
   145 int
   144 int
   146 SDL_SYS_HapticInit(void)
   145 SDL_SYS_HapticInit(void)
   147 {
   146 {
   148    HRESULT ret;
   147    HRESULT ret;
       
   148    HINSTANCE instance;
   149 
   149 
   150    if (dinput != NULL) { /* Already open. */
   150    if (dinput != NULL) { /* Already open. */
   151       SDL_SetError("Haptic: SubSystem already open.");
   151       SDL_SetError("Haptic: SubSystem already open.");
   152       return -1;
   152       return -1;
   153    }
   153    }
   169       DI_SetError("CoCreateInstance",ret);
   169       DI_SetError("CoCreateInstance",ret);
   170       return -1;
   170       return -1;
   171    }
   171    }
   172 
   172 
   173    /* Because we used CoCreateInstance, we need to Initialize it, first. */
   173    /* Because we used CoCreateInstance, we need to Initialize it, first. */
   174    ret = IDirectInput_Initialize(dinput, SDL_Instance, DIRECTINPUT_VERSION);
   174    instance = GetModuleHandle(NULL);
       
   175    if (instance == NULL) {
       
   176       SDL_SetError("GetModuleHandle() failed with error code %d.", GetLastError());
       
   177       return -1;
       
   178    }
       
   179    ret = IDirectInput_Initialize(dinput, instance, DIRECTINPUT_VERSION);
   175    if (FAILED(ret)) {
   180    if (FAILED(ret)) {
   176       DI_SetError("Initializing DirectInput device",ret);
   181       DI_SetError("Initializing DirectInput device",ret);
   177       return -1;
   182       return -1;
   178    }
   183    }
   179 
   184