@@ -1712,6 +1712,16 @@ enum retro_mod
17121712 * the retro_core_options_v2_intl::local struct will be ignored.
17131713 */
17141714
1715+ #define RETRO_ENVIRONMENT_SET_CORE_OPTIONS_UPDATE_DISPLAY_CALLBACK 69
1716+ /* const struct retro_core_options_update_display_callback * --
1717+ * Allows a frontend to signal that a core must update
1718+ * the visibility of any dynamically hidden core options,
1719+ * and enables the frontend to detect visibility changes.
1720+ * Used by the frontend to update the menu display status
1721+ * of core options without requiring a call of retro_run().
1722+ * Must be called in retro_set_environment().
1723+ */
1724+
17151725/* VFS functionality */
17161726
17171727/* File paths:
@@ -3551,6 +3561,25 @@ struct retro_core_options_v2_intl
35513561 struct retro_core_options_v2 * local ;
35523562};
35533563
3564+ /* Used by the frontend to monitor changes in core option
3565+ * visibility. May be called each time any core option
3566+ * value is set via the frontend.
3567+ * - On each invocation, the core must update the visibility
3568+ * of any dynamically hidden options using the
3569+ * RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY environment
3570+ * callback.
3571+ * - On the first invocation, returns 'true' if the visibility
3572+ * of any core option has changed since the last call of
3573+ * retro_load_game() or retro_load_game_special().
3574+ * - On each subsequent invocation, returns 'true' if the
3575+ * visibility of any core option has changed since the last
3576+ * time the function was called. */
3577+ typedef bool (RETRO_CALLCONV * retro_core_options_update_display_callback_t )(void );
3578+ struct retro_core_options_update_display_callback
3579+ {
3580+ retro_core_options_update_display_callback_t callback ;
3581+ };
3582+
35543583struct retro_game_info
35553584{
35563585 const char * path ; /* Path to game, UTF-8 encoded.
0 commit comments