logo
pub unsafe fn set_core_options_intl(
    callback: retro_environment_t,
    options: retro_core_options_intl
) -> bool
Expand description

Allows an implementation to signal the environment which variables it might want to check for later using get_variable.

This allows the frontend to present these variables to a user dynamically.

This should only be called if get_core_options_version returns an API version of >= 1.

This should be called instead of set_variables.

This should be called instead of set_core_options.

This should be called the first time as early as possible (ideally in Core::on_set_environment).

Afterwards it may be called again for the core to communicate updated options to the frontend, but the number of core options must not change from the number in the initial call.

This is fundamentally the same as set_core_options, with the addition of localisation support. The description of set_core_options callback should be consulted for further details.

‘data’ points to a retro_core_options_intl struct.

retro_core_options_intl::us is a pointer to an array of retro_core_option_definition structs defining the US English core options implementation. It must point to a valid array.

retro_core_options_intl::local is a pointer to an array of retro_core_option_definition structs defining core options for the current frontend language. It may be NULL (in which case retro_core_options_intl::us is used by the frontend). Any items missing from this array will be read from retro_core_options_intl::us instead.

NOTE: Default core option values are always taken from the retro_core_options_intl::us array. Any default values in retro_core_options_intl::local array will be ignored.