2019-09-29 03:29:12 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
struct idz_shifter_config {
|
|
|
|
bool auto_neutral;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct idz_di_config {
|
|
|
|
wchar_t device_name[64];
|
2019-09-29 20:37:18 +00:00
|
|
|
wchar_t shifter_name[64];
|
2023-10-04 22:46:54 +00:00
|
|
|
wchar_t pedals_name[64];
|
2019-09-29 03:29:12 +00:00
|
|
|
wchar_t brake_axis[16];
|
|
|
|
wchar_t accel_axis[16];
|
|
|
|
uint8_t start;
|
|
|
|
uint8_t view_chg;
|
|
|
|
uint8_t shift_dn;
|
|
|
|
uint8_t shift_up;
|
2019-09-29 20:37:18 +00:00
|
|
|
uint8_t gear[6];
|
2019-11-22 00:59:08 +00:00
|
|
|
bool reverse_brake_axis;
|
|
|
|
bool reverse_accel_axis;
|
2023-12-11 18:18:25 +00:00
|
|
|
|
|
|
|
// FFB configuration
|
2024-09-30 21:10:16 +00:00
|
|
|
uint8_t ffb_constant_force_strength;
|
|
|
|
uint8_t ffb_rumble_strength;
|
|
|
|
uint8_t ffb_damper_strength;
|
|
|
|
|
|
|
|
uint32_t ffb_rumble_duration;
|
2019-11-22 00:59:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct idz_xi_config {
|
|
|
|
bool single_stick_steering;
|
2023-08-15 15:20:27 +00:00
|
|
|
bool linear_steering;
|
2023-08-29 00:22:05 +00:00
|
|
|
uint16_t left_stick_deadzone;
|
|
|
|
uint16_t right_stick_deadzone;
|
2019-09-29 03:29:12 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct idz_io_config {
|
|
|
|
uint8_t vk_test;
|
|
|
|
uint8_t vk_service;
|
|
|
|
uint8_t vk_coin;
|
|
|
|
wchar_t mode[8];
|
2019-10-22 02:12:05 +00:00
|
|
|
int restrict_;
|
2019-09-29 03:29:12 +00:00
|
|
|
struct idz_shifter_config shifter;
|
|
|
|
struct idz_di_config di;
|
2019-11-22 00:59:08 +00:00
|
|
|
struct idz_xi_config xi;
|
2019-09-29 03:29:12 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
void idz_di_config_load(struct idz_di_config *cfg, const wchar_t *filename);
|
2019-11-22 00:59:08 +00:00
|
|
|
void idz_xi_config_load(struct idz_xi_config *cfg, const wchar_t *filename);
|
2019-09-29 03:29:12 +00:00
|
|
|
void idz_io_config_load(struct idz_io_config *cfg, const wchar_t *filename);
|
|
|
|
void idz_shifter_config_load(
|
|
|
|
struct idz_shifter_config *cfg,
|
|
|
|
const wchar_t *filename);
|