#include #include #include #include #include #include "sivaio/sivaio.h" #include "sivaio/config.h" #include "util/dprintf.h" static bool siva_io_coin = false; static bool siva_io_service = false; static uint16_t siva_coin_ct = 0; static uint16_t siva_service_ct = 0; static struct siva_input_config cfg; uint16_t siva_io_get_api_version(void) { return 0x0100; } HRESULT siva_io_init(void) { dprintf("Siva IO: Init\n"); siva_io_config_load(&cfg, L".\\bananatools.ini"); return S_OK; } void siva_io_get_btns(uint8_t *btn, uint8_t *stick) { if (GetAsyncKeyState(cfg.test) & 0x8000) { *btn |= SIVA_BTN_TEST; } if (GetAsyncKeyState(cfg.service) & 0x8000) { *btn |= SIVA_BTN_SERVICE; } } void siva_io_read_coin_counter(uint16_t *coins, uint16_t *services) { if (GetAsyncKeyState(cfg.coin) & 0x8000) { if (!siva_io_coin) { siva_io_coin = true; siva_coin_ct++; } } else { siva_io_coin = false; } if (GetAsyncKeyState(cfg.service) & 0x8000) { if (!siva_io_service) { siva_io_service = true; siva_service_ct++; } } else { siva_io_service = false; } *coins = siva_coin_ct; *services = siva_service_ct; }