Skip to content

Commit

Permalink
Less passing around of settings_t pointer
Browse files Browse the repository at this point in the history
  • Loading branch information
LibretroAdmin committed Feb 9, 2025
1 parent f9fa557 commit 4faed7a
Show file tree
Hide file tree
Showing 6 changed files with 89 additions and 101 deletions.
48 changes: 16 additions & 32 deletions audio/audio_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,14 +216,6 @@ bool audio_driver_is_ai_service_speech_running(void)
}
#endif

static enum resampler_quality audio_driver_get_resampler_quality(
settings_t *settings)
{
if (settings)
return (enum resampler_quality)settings->uints.audio_resampler_quality;
return RESAMPLER_QUALITY_DONTCARE;
}

static bool audio_driver_free_devices_list(void)
{
audio_driver_state_t *audio_st = &audio_driver_st;
Expand Down Expand Up @@ -344,24 +336,19 @@ static void audio_driver_mixer_deinit(void)

bool audio_driver_deinit(void)
{
settings_t *settings = config_get_ptr();
#ifdef HAVE_AUDIOMIXER
audio_driver_mixer_deinit();
#endif
audio_driver_free_devices_list();
return audio_driver_deinit_internal(
settings->bools.audio_enable);
return audio_driver_deinit_internal(config_get_ptr()->bools.audio_enable);
}

bool audio_driver_find_driver(
void *settings_data,
const char *prefix,
bool verbosity_enabled)
bool audio_driver_find_driver(void *settings_data,
const char *prefix, bool verbosity_enabled)
{
settings_t *settings = (settings_t*)settings_data;
int i = (int)driver_find_index(
"audio_driver",
settings->arrays.audio_driver);
const char *audio_drv = settings->arrays.audio_driver;
int i = (int)driver_find_index("audio_driver", audio_drv);

if (i >= 0)
audio_driver_st.current_audio = (const audio_driver_t*)
Expand All @@ -372,8 +359,7 @@ bool audio_driver_find_driver(
if (verbosity_enabled)
{
unsigned d;
RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix,
settings->arrays.audio_driver);
RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix, audio_drv);
RARCH_LOG_OUTPUT("Available %ss are:\n", prefix);
for (d = 0; audio_drivers[d]; d++)
{
Expand Down Expand Up @@ -596,9 +582,7 @@ const char *audio_driver_mixer_get_stream_name(unsigned i)

#endif

bool audio_driver_init_internal(
void *settings_data,
bool audio_cb_inited)
bool audio_driver_init_internal(void *settings_data, bool audio_cb_inited)
{
unsigned new_rate = 0;
float *out_samples_buf = NULL;
Expand Down Expand Up @@ -677,7 +661,7 @@ bool audio_driver_init_internal(
if (!audio_init_thread(
&audio_driver_st.current_audio,
&audio_driver_st.context_audio_data,
*settings->arrays.audio_device
*settings->arrays.audio_device
? settings->arrays.audio_device : NULL,
settings->uints.audio_output_sample_rate, &new_rate,
audio_latency,
Expand All @@ -692,8 +676,8 @@ bool audio_driver_init_internal(
#endif
{
audio_driver_st.context_audio_data =
audio_driver_st.current_audio->init(*settings->arrays.audio_device ?
settings->arrays.audio_device : NULL,
audio_driver_st.current_audio->init(*settings->arrays.audio_device
? settings->arrays.audio_device : NULL,
settings->uints.audio_output_sample_rate,
audio_latency,
settings->uints.audio_block_frames,
Expand Down Expand Up @@ -749,8 +733,7 @@ bool audio_driver_init_internal(
else
audio_driver_st.resampler_ident[0] = '\0';

audio_driver_st.resampler_quality =
audio_driver_get_resampler_quality(settings);
audio_driver_st.resampler_quality = (enum resampler_quality)settings->uints.audio_resampler_quality;

if (!retro_resampler_realloc(
&audio_driver_st.resampler_data,
Expand Down Expand Up @@ -1483,7 +1466,8 @@ void audio_driver_mixer_play_scroll_sound(bool direction_up)
bool audio_enable_menu = settings->bools.audio_enable_menu;
bool audio_enable_menu_scroll = settings->bools.audio_enable_menu_scroll;
if (audio_enable_menu && audio_enable_menu_scroll)
audio_driver_mixer_play_menu_sound(direction_up ? AUDIO_MIXER_SYSTEM_SLOT_UP : AUDIO_MIXER_SYSTEM_SLOT_DOWN);
audio_driver_mixer_play_menu_sound(direction_up
? AUDIO_MIXER_SYSTEM_SLOT_UP : AUDIO_MIXER_SYSTEM_SLOT_DOWN);
}

void audio_driver_mixer_play_stream_looped(unsigned i)
Expand Down Expand Up @@ -1912,9 +1896,9 @@ void audio_driver_menu_sample(void)
(runloop_flags & RUNLOOP_FLAG_FASTMOTION) ? true : false);
sample_count -= 1024;
}
if ( recording_st->data &&
recording_st->driver &&
recording_st->driver->push_audio)
if ( recording_st->data
&& recording_st->driver
&& recording_st->driver->push_audio)
{
struct record_audio_data ffemu_data;

Expand Down
8 changes: 4 additions & 4 deletions input/drivers/dinput.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ static void *dinput_init(const char *joypad_driver)

if (di->keyboard)
{
settings_t *settings = config_get_ptr();
DWORD flags = DISCL_NONEXCLUSIVE | DISCL_FOREGROUND;
if (settings->bools.input_nowinkey_enable)
flags |= DISCL_NOWINKEY;
bool input_nowinkey_enable = config_get_ptr()->bools.input_nowinkey_enable;
DWORD flags = DISCL_NONEXCLUSIVE | DISCL_FOREGROUND;
if (input_nowinkey_enable)
flags |= DISCL_NOWINKEY;

IDirectInputDevice8_SetDataFormat(di->keyboard, &c_dfDIKeyboard);
IDirectInputDevice8_SetCooperativeLevel(di->keyboard,
Expand Down
12 changes: 6 additions & 6 deletions input/drivers/winraw_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,7 @@ static LRESULT CALLBACK winraw_callback(
static void *winraw_init(const char *joypad_driver)
{
RAWINPUTDEVICE rid;
settings_t *settings = config_get_ptr();
bool input_nowinkey_enable = config_get_ptr()->bools.input_nowinkey_enable;
winraw_input_t *wr = (winraw_input_t *)
calloc(1, sizeof(winraw_input_t));

Expand All @@ -585,7 +585,7 @@ static void *winraw_init(const char *joypad_driver)
rid.hwndTarget = wr->window;
rid.usUsagePage = 0x01; /* Generic desktop */
rid.usUsage = 0x06; /* Keyboard */
if (settings->bools.input_nowinkey_enable)
if (input_nowinkey_enable)
rid.dwFlags |= RIDEV_NOHOTKEYS; /* Disable win keys while focused */

if (!RegisterRawInputDevices(&rid, 1, sizeof(RAWINPUTDEVICE)))
Expand Down Expand Up @@ -617,7 +617,7 @@ static void *winraw_init(const char *joypad_driver)
rid.hwndTarget = NULL;
rid.usUsagePage = 0x01; /* Generic desktop */
rid.usUsage = 0x06; /* Keyboard */
if (settings->bools.input_nowinkey_enable)
if (input_nowinkey_enable)
rid.dwFlags |= RIDEV_NOHOTKEYS; /* Disable win keys while focused */

RegisterRawInputDevices(&rid, 1, sizeof(RAWINPUTDEVICE));
Expand Down Expand Up @@ -992,8 +992,8 @@ bool winraw_handle_message(UINT msg,
static void winraw_free(void *data)
{
RAWINPUTDEVICE rid;
settings_t *settings = config_get_ptr();
winraw_input_t *wr = (winraw_input_t*)data;
winraw_input_t *wr = (winraw_input_t*)data;
bool input_nowinkey_enable = config_get_ptr()->bools.input_nowinkey_enable;

rid.dwFlags = RIDEV_REMOVE;
rid.hwndTarget = NULL;
Expand All @@ -1006,7 +1006,7 @@ static void winraw_free(void *data)
rid.hwndTarget = NULL;
rid.usUsagePage = 0x01; /* Generic desktop */
rid.usUsage = 0x06; /* Keyboard */
if (settings->bools.input_nowinkey_enable)
if (input_nowinkey_enable)
rid.dwFlags |= RIDEV_NOHOTKEYS; /* Disable win keys while focused */

RegisterRawInputDevices(&rid, 1, sizeof(RAWINPUTDEVICE));
Expand Down
30 changes: 15 additions & 15 deletions input/drivers_joypad/dinput_joypad_inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,30 +124,30 @@ static int32_t dinput_joypad_button_state(
static const unsigned check1 = (JOY_POVRIGHT/2);
static const unsigned check2 = (JOY_POVLEFT+JOY_POVRIGHT/2);
return (
(pov == JOY_POVFORWARD) ||
(pov == check1) ||
(pov == check2)
(pov == JOY_POVFORWARD)
|| (pov == check1)
|| (pov == check2)
);
}
case HAT_RIGHT_MASK:
{
static const unsigned check1 = (JOY_POVRIGHT/2);
static const unsigned check2 = (JOY_POVRIGHT+JOY_POVRIGHT/2);
return (
(pov == JOY_POVRIGHT) ||
(pov == check1) ||
(pov == check2)
(pov == JOY_POVRIGHT)
|| (pov == check1)
|| (pov == check2)
);
}
case HAT_DOWN_MASK:
{
static const unsigned check1 = (JOY_POVRIGHT+JOY_POVRIGHT/2);
static const unsigned check2 = (JOY_POVBACKWARD+JOY_POVRIGHT/2);
return
return
(
(pov == JOY_POVBACKWARD) ||
(pov == check1) ||
(pov == check2)
(pov == JOY_POVBACKWARD)
|| (pov == check1)
|| (pov == check2)
);
}
case HAT_LEFT_MASK:
Expand All @@ -157,9 +157,9 @@ static int32_t dinput_joypad_button_state(

return
(
(pov == JOY_POVLEFT) ||
(pov == check1) ||
(pov == check2)
(pov == JOY_POVLEFT)
|| (pov == check1)
|| (pov == check2)
);
}
default:
Expand Down Expand Up @@ -284,12 +284,12 @@ static int16_t dinput_joypad_state(
const uint32_t joyaxis = (binds[i].joyaxis != AXIS_NONE)
? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis;
if (
(uint16_t)joykey != NO_BTN
(uint16_t)joykey != NO_BTN
&& dinput_joypad_button_state(
pad, (uint16_t)joykey))
ret |= ( 1 << i);
else if (joyaxis != AXIS_NONE &&
((float)abs(dinput_joypad_axis_state(pad, joyaxis))
((float)abs(dinput_joypad_axis_state(pad, joyaxis))
/ 0x8000) > joypad_info->axis_threshold)
ret |= (1 << i);
}
Expand Down
10 changes: 4 additions & 6 deletions input/drivers_joypad/sdl_dingux_joypad.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ static bool sdl_dingux_rumble_init(dingux_joypad_rumble_t *rumble)

/* Check whether shake device has the required
* feature set */
if (!Shake_QueryEffectSupport(rumble->device, SHAKE_EFFECT_PERIODIC) ||
!Shake_QueryWaveformSupport(rumble->device, SHAKE_PERIODIC_SINE))
if ( !Shake_QueryEffectSupport(rumble->device, SHAKE_EFFECT_PERIODIC)
|| !Shake_QueryWaveformSupport(rumble->device, SHAKE_PERIODIC_SINE))
goto error;

/* In most cases it is recommended to use SHAKE_EFFECT_PERIODIC
Expand Down Expand Up @@ -311,8 +311,7 @@ static bool sdl_dingux_joypad_set_rumble(unsigned pad,
{
dingux_joypad_t *joypad = (dingux_joypad_t*)&dingux_joypad;

if ((pad != 0) ||
!joypad->rumble.device)
if ((pad != 0) || !joypad->rumble.device)
return false;

switch (effect)
Expand All @@ -336,8 +335,7 @@ static bool sdl_dingux_joypad_set_rumble_gain(unsigned pad, unsigned gain)
{
dingux_joypad_t *joypad = (dingux_joypad_t*)&dingux_joypad;

if ((pad != 0) ||
!joypad->rumble.device)
if ((pad != 0) || !joypad->rumble.device)
return false;

/* Gain is automatically capped by Shake_SetGain(),
Expand Down
Loading

0 comments on commit 4faed7a

Please sign in to comment.