mirror of
https://gitea.tendokyu.moe/Dniel97/segatools.git
synced 2024-11-30 15:54:27 +01:00
9ea6e09fdc
This makes things more consistent with the button/analog APIs.
38 lines
746 B
C
38 lines
746 B
C
#pragma once
|
|
|
|
#include <windows.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
enum {
|
|
IDZ_IO_OPBTN_TEST = 0x01,
|
|
IDZ_IO_OPBTN_SERVICE = 0x02,
|
|
};
|
|
|
|
enum {
|
|
IDZ_IO_GAMEBTN_UP = 0x01,
|
|
IDZ_IO_GAMEBTN_DOWN = 0x02,
|
|
IDZ_IO_GAMEBTN_LEFT = 0x04,
|
|
IDZ_IO_GAMEBTN_RIGHT = 0x08,
|
|
IDZ_IO_GAMEBTN_START = 0x10,
|
|
IDZ_IO_GAMEBTN_VIEW_CHANGE = 0x20,
|
|
};
|
|
|
|
struct idz_io_analog_state {
|
|
int16_t wheel;
|
|
uint16_t accel;
|
|
uint16_t brake;
|
|
};
|
|
|
|
HRESULT idz_io_init(void);
|
|
|
|
void idz_io_jvs_read_analogs(struct idz_io_analog_state *out);
|
|
|
|
void idz_io_jvs_read_buttons(uint8_t *opbtn, uint8_t *gamebtn);
|
|
|
|
void idz_io_jvs_read_shifter(uint8_t *gear);
|
|
|
|
void idz_io_jvs_read_coin_counter(uint16_t *total);
|
|
|
|
// TODO force feedback once that gets reverse engineered
|