diff --git a/common/y3io/impl/dummy/y3io.h b/common/y3io/impl/y3io.h similarity index 100% rename from common/y3io/impl/dummy/y3io.h rename to common/y3io/impl/y3io.h diff --git a/dist/ekt/segatools_satellite.ini b/dist/ekt/segatools_satellite.ini index e478255..267f359 100644 --- a/dist/ekt/segatools_satellite.ini +++ b/dist/ekt/segatools_satellite.ini @@ -171,4 +171,4 @@ trackball_up=0x26 trackball_right=0x27 trackball_down=0x28 trackball_left=0x25 -speed=1 +speed_modifier=10 diff --git a/games/ekthook/ekt-dll.h b/games/ekthook/ekt-dll.h index b69ac8b..d2d324e 100644 --- a/games/ekthook/ekt-dll.h +++ b/games/ekthook/ekt-dll.h @@ -10,7 +10,7 @@ struct ekt_dll { HRESULT (*poll)(void); void (*get_opbtns)(uint8_t *opbtn); void (*get_gamebtns)(uint32_t *gamebtn); - void (*get_trackball_position)(uint8_t *x, uint8_t *y); + void (*get_trackball_position)(uint16_t *x, uint16_t *y); HRESULT (*led_init)(void); void (*led_set_leds)(uint8_t board, uint8_t *rgb); }; diff --git a/games/ekthook/io4.c b/games/ekthook/io4.c index 2c1a80d..4ea6be9 100644 --- a/games/ekthook/io4.c +++ b/games/ekthook/io4.c @@ -40,7 +40,8 @@ HRESULT ekt_io4_hook_init(const struct io4_config *cfg, bool is_terminal) static HRESULT ekt_io4_poll(void *ctx, struct io4_state *state) { - uint8_t opbtn, x, y; + uint8_t opbtn; + uint16_t x, y; uint32_t gamebtn; HRESULT hr; diff --git a/games/ektio/backend.h b/games/ektio/backend.h index 0d09655..4fcf885 100644 --- a/games/ektio/backend.h +++ b/games/ektio/backend.h @@ -6,5 +6,5 @@ struct ekt_io_backend { void (*get_gamebtns)(uint32_t *gamebtn); - void (*get_trackball)(uint8_t *x, uint8_t *y); + void (*get_trackball)(uint16_t *x, uint16_t *y); }; diff --git a/games/ektio/config.c b/games/ektio/config.c index 8c4d72f..1a79331 100644 --- a/games/ektio/config.c +++ b/games/ektio/config.c @@ -13,43 +13,43 @@ void ekt_kb_config_load( struct ekt_kb_config *cfg, const wchar_t *filename) { - cfg->vk_menu = GetPrivateProfileIntW(L"io4", L"menu", 'A', filename); - cfg->vk_start = GetPrivateProfileIntW(L"io4", L"start", 'S', filename); - cfg->vk_stratagem = GetPrivateProfileIntW(L"io4", L"stratagem", 'D', filename); - cfg->vk_stratagem_lock = GetPrivateProfileIntW(L"io4", L"stratagem_lock", 'F', filename); - cfg->vk_hougu = GetPrivateProfileIntW(L"io4", L"hougu", 'G', filename); - cfg->vk_ryuuha = GetPrivateProfileIntW(L"io4", L"ryuuha", 'H', filename); + cfg->vk_menu = GetPrivateProfileIntW(L"keyboard", L"menu", 'A', filename); + cfg->vk_start = GetPrivateProfileIntW(L"keyboard", L"start", 'S', filename); + cfg->vk_stratagem = GetPrivateProfileIntW(L"keyboard", L"stratagem", 'D', filename); + cfg->vk_stratagem_lock = GetPrivateProfileIntW(L"keyboard", L"stratagem_lock", 'F', filename); + cfg->vk_hougu = GetPrivateProfileIntW(L"keyboard", L"hougu", 'G', filename); + cfg->vk_ryuuha = GetPrivateProfileIntW(L"keyboard", L"ryuuha", 'H', filename); - cfg->vk_tenkey_0 = GetPrivateProfileIntW(L"io4", L"tenkey_0", VK_NUMPAD0, filename); - cfg->vk_tenkey_1 = GetPrivateProfileIntW(L"io4", L"tenkey_1", VK_NUMPAD1, filename); - cfg->vk_tenkey_2 = GetPrivateProfileIntW(L"io4", L"tenkey_2", VK_NUMPAD2, filename); - cfg->vk_tenkey_3 = GetPrivateProfileIntW(L"io4", L"tenkey_3", VK_NUMPAD3, filename); - cfg->vk_tenkey_4 = GetPrivateProfileIntW(L"io4", L"tenkey_4", VK_NUMPAD4, filename); - cfg->vk_tenkey_5 = GetPrivateProfileIntW(L"io4", L"tenkey_5", VK_NUMPAD5, filename); - cfg->vk_tenkey_6 = GetPrivateProfileIntW(L"io4", L"tenkey_6", VK_NUMPAD6, filename); - cfg->vk_tenkey_7 = GetPrivateProfileIntW(L"io4", L"tenkey_7", VK_NUMPAD7, filename); - cfg->vk_tenkey_8 = GetPrivateProfileIntW(L"io4", L"tenkey_8", VK_NUMPAD8, filename); - cfg->vk_tenkey_9 = GetPrivateProfileIntW(L"io4", L"tenkey_9", VK_NUMPAD9, filename); - cfg->vk_tenkey_clear = GetPrivateProfileIntW(L"io4", L"tenkey_clear", VK_DECIMAL, filename); - cfg->vk_tenkey_enter = GetPrivateProfileIntW(L"io4", L"tenkey_enter", VK_RETURN, filename); + cfg->vk_tenkey_0 = GetPrivateProfileIntW(L"keyboard", L"tenkey_0", VK_NUMPAD0, filename); + cfg->vk_tenkey_1 = GetPrivateProfileIntW(L"keyboard", L"tenkey_1", VK_NUMPAD1, filename); + cfg->vk_tenkey_2 = GetPrivateProfileIntW(L"keyboard", L"tenkey_2", VK_NUMPAD2, filename); + cfg->vk_tenkey_3 = GetPrivateProfileIntW(L"keyboard", L"tenkey_3", VK_NUMPAD3, filename); + cfg->vk_tenkey_4 = GetPrivateProfileIntW(L"keyboard", L"tenkey_4", VK_NUMPAD4, filename); + cfg->vk_tenkey_5 = GetPrivateProfileIntW(L"keyboard", L"tenkey_5", VK_NUMPAD5, filename); + cfg->vk_tenkey_6 = GetPrivateProfileIntW(L"keyboard", L"tenkey_6", VK_NUMPAD6, filename); + cfg->vk_tenkey_7 = GetPrivateProfileIntW(L"keyboard", L"tenkey_7", VK_NUMPAD7, filename); + cfg->vk_tenkey_8 = GetPrivateProfileIntW(L"keyboard", L"tenkey_8", VK_NUMPAD8, filename); + cfg->vk_tenkey_9 = GetPrivateProfileIntW(L"keyboard", L"tenkey_9", VK_NUMPAD9, filename); + cfg->vk_tenkey_clear = GetPrivateProfileIntW(L"keyboard", L"tenkey_clear", VK_DECIMAL, filename); + cfg->vk_tenkey_enter = GetPrivateProfileIntW(L"keyboard", L"tenkey_enter", VK_RETURN, filename); - cfg->vk_vol_down = GetPrivateProfileIntW(L"io4", L"vol_down", VK_NEXT, filename); - cfg->vk_vol_up = GetPrivateProfileIntW(L"io4", L"vol_up", VK_PRIOR, filename); + cfg->vk_vol_down = GetPrivateProfileIntW(L"keyboard", L"vol_down", VK_NEXT, filename); + cfg->vk_vol_up = GetPrivateProfileIntW(L"keyboard", L"vol_up", VK_PRIOR, filename); - cfg->vk_terminal_decide = GetPrivateProfileIntW(L"io4", L"decide", 'A', filename); - cfg->vk_terminal_cancel = GetPrivateProfileIntW(L"io4", L"cancel", 'S', filename); - cfg->vk_terminal_up = GetPrivateProfileIntW(L"io4", L"up", VK_UP, filename); - cfg->vk_terminal_right = GetPrivateProfileIntW(L"io4", L"right", VK_RIGHT, filename); - cfg->vk_terminal_down = GetPrivateProfileIntW(L"io4", L"down", VK_DOWN, filename); - cfg->vk_terminal_left = GetPrivateProfileIntW(L"io4", L"left", VK_LEFT, filename); - cfg->vk_terminal_left_2 = GetPrivateProfileIntW(L"io4", L"left2", 'Q', filename); - cfg->vk_terminal_right_2 = GetPrivateProfileIntW(L"io4", L"right2", 'W', filename); + cfg->vk_terminal_decide = GetPrivateProfileIntW(L"keyboard", L"decide", 'A', filename); + cfg->vk_terminal_cancel = GetPrivateProfileIntW(L"keyboard", L"cancel", 'S', filename); + cfg->vk_terminal_up = GetPrivateProfileIntW(L"keyboard", L"up", VK_UP, filename); + cfg->vk_terminal_right = GetPrivateProfileIntW(L"keyboard", L"right", VK_RIGHT, filename); + cfg->vk_terminal_down = GetPrivateProfileIntW(L"keyboard", L"down", VK_DOWN, filename); + cfg->vk_terminal_left = GetPrivateProfileIntW(L"keyboard", L"left", VK_LEFT, filename); + cfg->vk_terminal_left_2 = GetPrivateProfileIntW(L"keyboard", L"left2", 'Q', filename); + cfg->vk_terminal_right_2 = GetPrivateProfileIntW(L"keyboard", L"right2", 'W', filename); - cfg->x_down = GetPrivateProfileIntW(L"io4", L"trackball_left", VK_LEFT, filename); - cfg->x_up = GetPrivateProfileIntW(L"io4", L"trackball_right", VK_RIGHT, filename); - cfg->y_down = GetPrivateProfileIntW(L"io4", L"trackball_up", VK_UP, filename); - cfg->y_up = GetPrivateProfileIntW(L"io4", L"trackball_down", VK_DOWN, filename); - cfg->speed = GetPrivateProfileIntW(L"io4", L"speed_modifier", 1, filename); + cfg->x_down = GetPrivateProfileIntW(L"keyboard", L"trackball_left", VK_LEFT, filename); + cfg->x_up = GetPrivateProfileIntW(L"keyboard", L"trackball_right", VK_RIGHT, filename); + cfg->y_down = GetPrivateProfileIntW(L"keyboard", L"trackball_up", VK_UP, filename); + cfg->y_up = GetPrivateProfileIntW(L"keyboard", L"trackball_down", VK_DOWN, filename); + cfg->speed = GetPrivateProfileIntW(L"keyboard", L"speed_modifier", 1, filename); } void ekt_io_config_load( @@ -59,14 +59,14 @@ void ekt_io_config_load( assert(cfg != NULL); assert(filename != NULL); - cfg->vk_test = GetPrivateProfileIntW(L"io4", L"test", '1', filename); - cfg->vk_service = GetPrivateProfileIntW(L"io4", L"service", '2', filename); - cfg->vk_coin = GetPrivateProfileIntW(L"io4", L"coin", '3', filename); - cfg->vk_sw1 = GetPrivateProfileIntW(L"io4", L"sw1", '4', filename); - cfg->vk_sw2 = GetPrivateProfileIntW(L"io4", L"sw2", '5', filename); + cfg->vk_test = GetPrivateProfileIntW(L"keyboard", L"test", '1', filename); + cfg->vk_service = GetPrivateProfileIntW(L"keyboard", L"service", '2', filename); + cfg->vk_coin = GetPrivateProfileIntW(L"keyboard", L"coin", '3', filename); + cfg->vk_sw1 = GetPrivateProfileIntW(L"keyboard", L"sw1", '4', filename); + cfg->vk_sw2 = GetPrivateProfileIntW(L"keyboard", L"sw2", '5', filename); GetPrivateProfileStringW( - L"io4", + L"keyboard", L"mode", L"keyboard", cfg->mode, diff --git a/games/ektio/ektio.c b/games/ektio/ektio.c index a2e6a0b..c0156a8 100644 --- a/games/ektio/ektio.c +++ b/games/ektio/ektio.c @@ -83,7 +83,7 @@ void ekt_io_get_gamebtns(uint32_t* btn) { ekt_io_backend->get_gamebtns(btn); } -void ekt_io_get_trackball_position(uint8_t* stick_x, uint8_t* stick_y) { +void ekt_io_get_trackball_position(uint16_t* stick_x, uint16_t* stick_y) { assert(ekt_io_backend != NULL); assert(stick_x != NULL); assert(stick_y != NULL); diff --git a/games/ektio/ektio.h b/games/ektio/ektio.h index f926031..6915375 100644 --- a/games/ektio/ektio.h +++ b/games/ektio/ektio.h @@ -88,7 +88,7 @@ void ekt_io_get_gamebtns(uint32_t *gamebtn); Minimum API version: 0x0100 */ -void ekt_io_get_trackball_position(uint8_t *stick_x, uint8_t *stick_y); +void ekt_io_get_trackball_position(uint16_t *stick_x, uint16_t *stick_y); /* Initialize LED emulation. This function will be called before any other ekt_io_led_*() function calls. diff --git a/games/ektio/keyboard.c b/games/ektio/keyboard.c index 3c190c8..68ee47b 100644 --- a/games/ektio/keyboard.c +++ b/games/ektio/keyboard.c @@ -13,15 +13,15 @@ #include "util/dprintf.h" static void ekt_kb_get_gamebtns(uint32_t* gamebtn_out); -static void ekt_kb_get_trackball(uint8_t* x, uint8_t* y); +static void ekt_kb_get_trackball(uint16_t* x, uint16_t* y); static const struct ekt_io_backend ekt_kb_backend = { .get_gamebtns = ekt_kb_get_gamebtns, .get_trackball = ekt_kb_get_trackball }; -static uint8_t current_x; -static uint8_t current_y; +static uint16_t current_x; +static uint16_t current_y; static struct ekt_kb_config config; @@ -156,7 +156,7 @@ static void ekt_kb_get_gamebtns(uint32_t* gamebtn_out) { *gamebtn_out = gamebtn; } -static void ekt_kb_get_trackball(uint8_t* x, uint8_t* y) { +static void ekt_kb_get_trackball(uint16_t* x, uint16_t* y) { assert(x != NULL); assert(y != NULL);