mirror of
https://github.com/libretro/RetroArch
synced 2025-02-04 21:40:02 +00:00
Add replace/add image interfaces.
This commit is contained in:
parent
272ef70895
commit
b4a3ce79bb
20
libretro.h
20
libretro.h
@ -435,7 +435,7 @@ struct retro_keyboard_callback
|
|||||||
retro_keyboard_event_t callback;
|
retro_keyboard_event_t callback;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Callback for RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE.
|
// Callbacks for RETRO_ENVIRONMENT_SET_DISK_CONTROL_INTERFACE.
|
||||||
// Should be set for implementations which can swap out multiple disk images in runtime.
|
// Should be set for implementations which can swap out multiple disk images in runtime.
|
||||||
// If the implementation can do this automatically, it should strive to do so.
|
// If the implementation can do this automatically, it should strive to do so.
|
||||||
// However, there are cases where the user must manually do so.
|
// However, there are cases where the user must manually do so.
|
||||||
@ -443,9 +443,10 @@ struct retro_keyboard_callback
|
|||||||
// Overview: To swap a disk image, eject the disk image with set_eject_state(true).
|
// Overview: To swap a disk image, eject the disk image with set_eject_state(true).
|
||||||
// Set the disk index with set_image_index(index). Insert the disk again with set_eject_state(false).
|
// Set the disk index with set_image_index(index). Insert the disk again with set_eject_state(false).
|
||||||
|
|
||||||
// If ejected is true, "ejects" the virtual disk tray. When ejected, the disk image index can be set.
|
// If ejected is true, "ejects" the virtual disk tray.
|
||||||
|
// When ejected, the disk image index can be set.
|
||||||
typedef bool (*retro_set_eject_state_t)(bool ejected);
|
typedef bool (*retro_set_eject_state_t)(bool ejected);
|
||||||
// Gets current eject state. The initial state is not ejected.
|
// Gets current eject state. The initial state is 'not ejected'.
|
||||||
typedef bool (*retro_get_eject_state_t)(void);
|
typedef bool (*retro_get_eject_state_t)(void);
|
||||||
// Gets current disk index. First disk is index 0.
|
// Gets current disk index. First disk is index 0.
|
||||||
// If return value is >= get_num_images(), no disk is currently inserted.
|
// If return value is >= get_num_images(), no disk is currently inserted.
|
||||||
@ -455,6 +456,16 @@ typedef unsigned (*retro_get_image_index_t)(void);
|
|||||||
typedef bool (*retro_set_image_index_t)(unsigned index);
|
typedef bool (*retro_set_image_index_t)(unsigned index);
|
||||||
// Gets total number of images which are available to use.
|
// Gets total number of images which are available to use.
|
||||||
typedef unsigned (*retro_get_num_images_t)(void);
|
typedef unsigned (*retro_get_num_images_t)(void);
|
||||||
|
//
|
||||||
|
// Replaces the disk image associated with index.
|
||||||
|
// Arguments to pass in info have same requirements as retro_load_game().
|
||||||
|
// Virtual disk tray must be ejected when calling this.
|
||||||
|
struct retro_game_info;
|
||||||
|
typedef bool (*retro_replace_image_index_t)(unsigned index, const struct retro_game_info *info);
|
||||||
|
// Adds a new valid index (get_num_images()) to the internal disk list.
|
||||||
|
// This will increment subsequent return values from get_num_images() by 1.
|
||||||
|
// This image index cannot be used until a disk image has been set with replace_image_index.
|
||||||
|
typedef bool (*retro_add_image_index_t)(void);
|
||||||
|
|
||||||
struct retro_disk_control_callback
|
struct retro_disk_control_callback
|
||||||
{
|
{
|
||||||
@ -464,6 +475,9 @@ struct retro_disk_control_callback
|
|||||||
retro_get_image_index_t get_image_index;
|
retro_get_image_index_t get_image_index;
|
||||||
retro_set_image_index_t set_image_index;
|
retro_set_image_index_t set_image_index;
|
||||||
retro_get_num_images_t get_num_images;
|
retro_get_num_images_t get_num_images;
|
||||||
|
|
||||||
|
retro_replace_image_index_t replace_image_index;
|
||||||
|
retro_add_image_index_t add_image_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum retro_pixel_format
|
enum retro_pixel_format
|
||||||
|
Loading…
x
Reference in New Issue
Block a user