From ed0e7f4a97b292ef5233e42f1ac17a29f194da6d Mon Sep 17 00:00:00 2001 From: oshaboy Date: Wed, 15 Jan 2025 23:42:32 +0200 Subject: [PATCH] Code Review --- configuration.c | 9 ++++--- configuration.h | 4 +-- input/drivers/sdl_input.c | 40 ++++++------------------------ input/drivers/udev_input.c | 7 +----- input/input_defines.h | 12 +-------- libretro-common/include/libretro.h | 13 +++++++++- 6 files changed, 30 insertions(+), 55 deletions(-) diff --git a/configuration.c b/configuration.c index f0d001e93e51..243b7e684c3f 100644 --- a/configuration.c +++ b/configuration.c @@ -3789,7 +3789,6 @@ static bool config_load_file(global_t *global, _len = old_len; _len += snprintf(prefix + _len, sizeof(prefix) - _len, "%u", i + 1); - strlcpy(prefix + _len, "_sensor_index", sizeof(prefix) - _len); CONFIG_GET_INT_BASE(conf, settings, uints.input_sensor_index[i], prefix); @@ -6030,11 +6029,13 @@ bool input_remapping_load_file(void *data, const char *path) sensor_strings_flip[j], '_', sizeof(sensor_flip_ident)); if(!config_get_int(conf, sensor_ident, &sensor_remap)) sensor_remap=RETROK_UNKNOWN; + /* configuration_set_uint(settings, settings->uints.input_sensor_ids[i][j], sensor_remap); + */ config_get_bool(conf, sensor_flip_ident, &sensor_flip_remap); - configuration_set_bool(settings, - settings->bools.input_sensor_flip_axis[i][j], sensor_flip_remap); + // configuration_set_bool(settings, + // settings->bools.input_sensor_flip_axis[i][j], sensor_flip_remap); } } @@ -6225,6 +6226,7 @@ bool input_remapping_save_file(const char *path) _len = strlcpy(s1, "input_remap_port_p", sizeof(s1)); strlcpy(s1 + _len, formatted_number, sizeof(s1) - _len); config_set_int(conf, s1, settings->uints.input_remap_ports[i]); + #if 0 for (j = 0; j < RETRO_SENSOR_MAX; j++){ char sensor_ident[128]; char sensor_ident_flip[128]; @@ -6252,6 +6254,7 @@ bool input_remapping_save_file(const char *path) ); */ } + #endif } ret = config_file_write(conf, path, true); diff --git a/configuration.h b/configuration.h index d627ddb3594d..0c448731f1ce 100644 --- a/configuration.h +++ b/configuration.h @@ -163,7 +163,7 @@ typedef struct settings unsigned input_remap_ports[MAX_USERS]; unsigned input_remap_ids[MAX_USERS][RARCH_CUSTOM_BIND_LIST_END]; unsigned input_keymapper_ids[MAX_USERS][RARCH_CUSTOM_BIND_LIST_END]; - unsigned input_sensor_ids[MAX_USERS][RETRO_SENSOR_MAX]; + //unsigned input_sensor_ids[MAX_USERS][RETRO_SENSOR_MAX]; unsigned input_remap_port_map[MAX_USERS][MAX_USERS + 1]; unsigned led_map[MAX_LEDS]; @@ -725,7 +725,7 @@ typedef struct settings bool input_touch_vmouse_trackball; bool input_touch_vmouse_gesture; #endif - bool input_sensor_flip_axis[MAX_USERS][RETRO_SENSOR_MAX]; + //bool input_sensor_flip_axis[MAX_USERS][RETRO_SENSOR_MAX]; /* Frame time counter */ bool frame_time_counter_reset_after_fastforwarding; diff --git a/input/drivers/sdl_input.c b/input/drivers/sdl_input.c index 778c62ef81a2..ade81fbfb155 100644 --- a/input/drivers/sdl_input.c +++ b/input/drivers/sdl_input.c @@ -53,7 +53,7 @@ /* TODO/FIXME - * fix game focus toggle */ -enum SDL_AUXILIARY_DEVICE_TYPE{ +enum sdl_input_auxiliary_device_type{ SDL_AUXILIARY_DEVICE_TYPE_NONE, SDL_AUXILIARY_DEVICE_TYPE_SENSOR, SDL_AUXILIARY_DEVICE_TYPE_TOUCHID, @@ -61,7 +61,7 @@ enum SDL_AUXILIARY_DEVICE_TYPE{ }; #ifdef HAVE_SDL2 #if SDL_SUPPORT_FANCY_GAMEPAD -struct game_controller_data{ +struct sdl_input_game_controller_data{ SDL_GameController * ptr; bool has_accelerometer : 1; bool has_gyro : 1; @@ -75,11 +75,11 @@ typedef struct { #endif SDL_TouchID touch_id; #if SDL_SUPPORT_FANCY_GAMEPAD - struct game_controller_data game_controller; + struct sdl_input_game_controller_data game_controller; #endif } dev; - enum SDL_AUXILIARY_DEVICE_TYPE type; -} sdl_auxiliary_device; + enum sdl_input_auxiliary_device_type type; +} sdl_input_auxiliary_device; #endif typedef struct sdl_input @@ -99,7 +99,7 @@ typedef struct sdl_input int mouse_wr; #ifdef HAVE_SDL2 unsigned auxiliary_device_number; - sdl_auxiliary_device * auxiliary_devices; + sdl_input_auxiliary_device * auxiliary_devices; #endif #ifdef __linux__ /* Light sensors aren't exposed through SDL, and they're not usually part of controllers */ @@ -148,7 +148,7 @@ static void *sdl_input_init(const char *joypad_driver) ); #endif sdl->auxiliary_device_number=0; - sdl->auxiliary_devices=malloc(sizeof(sdl_auxiliary_device)*(numJoysticks+numTouchDevices+numSensors)); + sdl->auxiliary_devices=malloc(sizeof(sdl_input_auxiliary_device)*(numJoysticks+numTouchDevices+numSensors)); for (i=0; iauxiliary_devices[sdl->auxiliary_device_number]. dev.touch_id=SDL_GetTouchDevice(i); @@ -575,28 +575,6 @@ static bool sdl_set_sensor_state(void *data, unsigned port, enum retro_sensor_ac return false; } -static float sdl_get_sensor_input(void *data, unsigned port, unsigned id) -{ - sdl_input_t *sdl = (sdl_input_t*)data; - - if (!sdl) - return 0.0f; - - switch (id) - { - case RETRO_SENSOR_ILLUMINANCE: -#ifdef __linux__ - if (sdl->illuminance_sensor) - return linux_get_illuminance_reading(sdl->illuminance_sensor); -#endif - /* Unsupported on non-Linux platforms */ - default: - break; - } - - return 0.0f; -} - #ifdef HAVE_SDL2 static void sdl2_grab_mouse(void *data, bool state) { @@ -729,9 +707,7 @@ static uint64_t sdl_get_capabilities(void *data) | (1 << RETRO_DEVICE_ANALOG); } -static bool sdl_input_set_sensor_state (void *data, unsigned port, enum retro_sensor_action action, unsigned rate) { - return true; -} + static float sdl_input_get_sensor_input (void *data, unsigned port, unsigned id) { sdl_input_t * sdl = (sdl_input_t *)data; #if SDL_SUPPORT_SENSORS diff --git a/input/drivers/udev_input.c b/input/drivers/udev_input.c index 2ebcf8383675..b1f770ec4bc3 100644 --- a/input/drivers/udev_input.c +++ b/input/drivers/udev_input.c @@ -2690,7 +2690,7 @@ static void udev_report_touch(udev_input_t *udev, udev_input_device_t *dev) /** * Function handling incoming udev events pertaining to a touch device. -udev_handle_touch * + * * @param data Data passed by the callback -> udev_input_t* * @param event Incoming event. * @param dev The source device. @@ -4361,11 +4361,6 @@ static void udev_input_grab_mouse(void *data, bool state) } -static bool udev_input_set_sensor_state (void *data, unsigned port, enum retro_sensor_action action, unsigned rate) { - /*TODO*/ - RARCH_DBG("udev_input_set_sensor_state: %d %d %d\n", port, action,rate); - return true; -} static float udev_input_get_sensor_input(void *data, unsigned port, unsigned id) { const udev_input_t *udev = (const udev_input_t *)data; const udev_input_sensor_t * sensor; diff --git a/input/input_defines.h b/input/input_defines.h index 6bf77b5e60fc..396bc9160472 100644 --- a/input/input_defines.h +++ b/input/input_defines.h @@ -244,17 +244,7 @@ enum input_turbo_default_button INPUT_TURBO_DEFAULT_BUTTON_R3, INPUT_TURBO_DEFAULT_BUTTON_LAST }; -enum RETRO_SENSOR -{ - RETRO_SENSOR_ACCELEROMETER_X, - RETRO_SENSOR_ACCELEROMETER_Y, - RETRO_SENSOR_ACCELEROMETER_Z, - RETRO_SENSOR_GYROSCOPE_X, - RETRO_SENSOR_GYROSCOPE_Y, - RETRO_SENSOR_GYROSCOPE_Z, - RETRO_SENSOR_ILLUMINANCE, - RETRO_SENSOR_MAX -}; + enum input_device_reservation_type { diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index 0b08aae88370..6fe799fbd9c8 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -7311,7 +7311,18 @@ struct retro_device_power */ int8_t percent; }; - +enum retro_sensor_selector +{ + RETRO_SENSOR_ACCELEROMETER_X, + RETRO_SENSOR_ACCELEROMETER_Y, + RETRO_SENSOR_ACCELEROMETER_Z, + RETRO_SENSOR_GYROSCOPE_X, + RETRO_SENSOR_GYROSCOPE_Y, + RETRO_SENSOR_GYROSCOPE_Z, + RETRO_SENSOR_ILLUMINANCE, + RETRO_SENSOR_MAX, + RETRO_SENSOR_SELECTOR_DUMMY=INT_MAX +}; /** @} */ /**