#include #include #include #include #include "hkbio/hkbio.h" #include "hkbio/config.h" static struct hkb_io_config cfg; uint16_t hkb_io_get_api_version(void) { return 0x0100; } HRESULT hkb_io_init(void) { hkb_io_config_load(&cfg, L".\\segatools.ini"); return S_OK; } HRESULT hkb_io_poll(uint8_t *opbtn, uint8_t *gamebtn) { *opbtn = 0; *gamebtn = 0; if (GetAsyncKeyState(cfg.vk_test) & 0x8000) { *opbtn |= HKB_IO_OPBTN_TEST; } if (GetAsyncKeyState(cfg.vk_service) & 0x8000) { *opbtn |= HKB_IO_OPBTN_SERVICE; } if (GetAsyncKeyState(cfg.vk_coin) & 0x8000) { *opbtn |= HKB_IO_OPBTN_COIN; } if (GetAsyncKeyState(cfg.vk_right) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_RIGHT; } if (GetAsyncKeyState(cfg.vk_left) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_LEFT; } if (GetAsyncKeyState(cfg.vk_up) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_UP; } if (GetAsyncKeyState(cfg.vk_down) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_DOWN; } if (GetAsyncKeyState(cfg.vk_enter) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_ENTER; } if (GetAsyncKeyState(cfg.vk_cancel) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_CANCEL; } if (GetAsyncKeyState(cfg.vk_arr_right) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_ARR_RIGHT; } if (GetAsyncKeyState(cfg.vk_arr_left) & 0x8000) { *gamebtn |= HKB_IO_GAMEBTN_ARR_LEFT; } return S_OK; }