Пример #1
0
void Exit(){
	RelinquishVJD(iInterface);
    defense_mind_input->exit = true;
    attack_mind_input->exit = true;
	CloseHandle(processHandle);
    guiClose();
}
stick_t* acquire_stick() {
    stick_t* stick = (stick_t*)malloc(sizeof (stick_t));

    stick->device_id = 0;

    if (!vJoyEnabled()) {
        printf("Couldn't connect to vJoy. "
               "Make sure vJoy is installed and enabled");
        exit(0);
    } else {
        printf("vJoy enabled.\n");
        printf(" - Vendor: %s\n - Product: %s\n - Version: %s\n",
               (const char*)GetvJoyManufacturerString(),
               (const char*)GetvJoyProductString(),
               (const char*)GetvJoySerialNumberString()
               );
    }

    UINT i;
    for (i = DEFAULT_VJOY_DEV_ID; i <= MAX_VJOY_DEV_ID; i++) {
        VjdStat status = GetVJDStatus(i);
        if (status == VJD_STAT_OWN || status == VJD_STAT_FREE) {
            stick->device_id = i;
            break;
        }
    }
    if (stick->device_id == 0) {
        printf("No available vJoy devices.");
        exit(0);
    }

    if (!AcquireVJD(stick->device_id)) {
        printf("Failed to acquire vJoy device %i", stick->device_id);
        RelinquishVJD(stick->device_id);
        exit(0);
    } else {
        printf("Acquired vJoy device %i", stick->device_id);
    }

    return stick;
}
void destroy_stick(stick_t* stick) {
    RelinquishVJD(stick->device_id);
    free(stick);
}
Пример #4
0
vJoy::~vJoy()
{
    RelinquishVJD(vID);
    delete debugStream;
    delete vLogsStr;
}