1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-03 08:48:42 +00:00

Disk control interface improvements

This commit is contained in:
jdgleaver 2020-01-14 12:28:10 +00:00
parent 98b572d17a
commit b5eba22aaf
37 changed files with 448 additions and 266 deletions

View File

@ -180,6 +180,8 @@ enum event_command
CMD_EVENT_DISK_NEXT,
/* Cycle to previous disk. */
CMD_EVENT_DISK_PREV,
/* Switch to specified disk index */
CMD_EVENT_DISK_INDEX,
/* Appends disk image to disk image list. */
CMD_EVENT_DISK_APPEND_IMAGE,
/* Stops rumbling. */

View File

@ -509,6 +509,8 @@ static bool menu_savestate_resume = true;
static bool menu_savestate_resume = false;
#endif
#define DEFAULT_MENU_INSERT_DISK_RESUME true
static bool content_show_settings = true;
static bool content_show_favorites = true;
#ifdef HAVE_IMAGEVIEWER

View File

@ -1460,6 +1460,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
SETTING_BOOL("menu_horizontal_animation", &settings->bools.menu_horizontal_animation, true, DEFAULT_MENU_HORIZONTAL_ANIMATION, false);
SETTING_BOOL("menu_pause_libretro", &settings->bools.menu_pause_libretro, true, true, false);
SETTING_BOOL("menu_savestate_resume", &settings->bools.menu_savestate_resume, true, menu_savestate_resume, false);
SETTING_BOOL("menu_insert_disk_resume", &settings->bools.menu_insert_disk_resume, true, DEFAULT_MENU_INSERT_DISK_RESUME, false);
SETTING_BOOL("menu_mouse_enable", &settings->bools.menu_mouse_enable, true, DEFAULT_MOUSE_ENABLE, false);
SETTING_BOOL("menu_pointer_enable", &settings->bools.menu_pointer_enable, true, DEFAULT_POINTER_ENABLE, false);
SETTING_BOOL("menu_timedate_enable", &settings->bools.menu_timedate_enable, true, true, false);

View File

@ -154,6 +154,7 @@ typedef struct settings
bool menu_show_start_screen;
bool menu_pause_libretro;
bool menu_savestate_resume;
bool menu_insert_disk_resume;
bool menu_timedate_enable;
bool menu_battery_level_enable;
bool menu_core_enable;

View File

@ -618,10 +618,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"没有找到文件夹。")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"文件夹")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Disk Cycle Tray Status")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"追加光盘镜像")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"光盘索引")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -3097,12 +3093,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"设置按键延迟范围以掩盖网络的延迟。\n"
"用一定的按键延迟换取在线游戏时\n"
"降低 CPU 负载并减少顿卡。")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"更改磁盘索引。")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"管理磁盘映像。")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"选择要插入的磁盘映像。")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"确保菜单内的帧率上限。")
MSG_HASH(MENU_ENUM_SUBLABEL_VRR_RUNLOOP_ENABLE,

View File

@ -564,10 +564,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"沒有找到文件夾。")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"目錄")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Disk Cycle Tray Status")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"追加光碟鏡像")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"光碟索引")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,

View File

@ -597,10 +597,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Verzeichnis nicht gefunden.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Verzeichnisse")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Datentägerstatus")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Füge Datenträgerabbild hinzu")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Datenträger-Nummer")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -3026,14 +3022,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"Eingabeverzögerung in Einzelbildern, die im Netplay verwendet wird, um die Netzwerklatenz zu verbergen. Reduziert Bildruckeln und CPU-Last, verursacht jedoch erkennbare Eingabeverzögerung.")
MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Der Bereich der Eingabeverzögerung in Einzelbildern, die im Netplay verwendet werden kann, um die Netzwerklatenz zu verbergen. Reduziert Bildruckeln und CPU-Last, verursacht jedoch unvorhersehbare Eingabeverzögerungen.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Datenträger auswerfen/einlegen. Wenn der Datenträger eingelegt ist, wird er ausgeworfen. Wenn er noch nicht eingelegt wurde, wird er jetzt eingelegt. ")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"Ändere den Datenträger-Index.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Verwaltung von Datenträger-Abbildern.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Wähle ein Datenträger-Abbild, das eingelegt werden soll.")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Stelle sicher, dass die Bildwiederholrate im Menü begrenzt wird.")
MSG_HASH(MENU_ENUM_SUBLABEL_XMB_LAYOUT,

View File

@ -808,14 +808,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Carpeta"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Abrir/Cerrar la bandeja de disco"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Asignar imagen de disco"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Índice de disco"
@ -6667,22 +6659,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Indica el rango de fotogramas de entrada a usar para ocultar la latencia durante el juego en red. Reduce los tirones y el uso de la CPU a costa de incrementar la latencia de entrada."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Cambia de disco. Si hay un disco introducido, será expulsado. De lo contrario, se introducirá."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Cambia el índice del disco."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Administra las imágenes de disco."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Selecciona una imagen de disco a insertar."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Limita los FPS del menú."

View File

@ -808,14 +808,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Dossiers"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"État du plateau du lecteur de disque"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Ajouter une image disque"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Numéro du disque"
@ -6648,22 +6640,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Plage d'images de latence des entrées pouvant être utilisée pour masquer la latence du réseau. Réduit les variations de la latence et rend le jeu en réseau moins gourmand en ressources processeur, aux dépens d'une latence des entrées imprévisible."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Faire défiler l'état du disque actuel. Si le disque est inséré, il sera éjecté. Si le disque n'a pas été inséré, il sera inséré. "
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Changer le numéro du disque."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Gestionnaire d'images disque."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Sélectionner une image disque à insérer."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"S'assure que le nombre d'images par seconde est plafonné dans le menu."

View File

@ -601,10 +601,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Cartella non trovata.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Cartella")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Stato del ciclo nel vassoio del disco")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Aggiungere Immagine disco")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Indice del Disco ")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -3062,14 +3058,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"Il numero della latenza nei fotogrammi di input per il netplay da utilizzare per nascondere la latenza di rete. Riduce il jitter e rende il netplay meno intenso di CPU, a scapito di un ritardo di input notevole.")
MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"L'intervallo della latenza nei fotogrammi di input che può essere utilizzato per nascondere la latenza di rete. Riduce il jitter e rende il netplay meno intenso di CPU, a scapito di un imprevisto ritardo di input.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Cicli del disco corrente. Se il disco è inserito, espellerà il disco. Se il disco non è stato inserito, verrà inserito. ")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"Cambia l'indice del disco.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Gestione delle immagini disco.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Seleziona un'immagine disco da inserire")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Assicura che i fotogrammi siano attivi all'interno del menu.")
MSG_HASH(MENU_ENUM_SUBLABEL_XMB_LAYOUT,

View File

@ -808,14 +808,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"ディレクトリ"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"ディスクトレイを開閉"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"ディスクイメージを挿入"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"ディスクインデックス"
@ -6416,23 +6408,10 @@ MSG_HASH(
"ネットワーク遅延を隠すために使用される可能性がある入力遅延フレームの範囲です。 "
"予期しない入力遅延を犠牲にして, ジッタを減らし, ネットプレイのCPU使用率を減らします。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"ディスクトレイの状態を変更します。 "
"ディスクが挿入されていればそのディスクを排出し, 未挿入であればディスクを挿入します。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"ディスクのインデックスを変更します。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"ディスクのイメージ管理"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"ディスクイメージを追加します。"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"メニュー内でフレームレートが制限されていることを確認します。"

View File

@ -799,14 +799,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"디렉토리"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"디스크 사이클 트레이 상태"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"디스크 이미지 추가"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"디스크 인덱스"
@ -6385,22 +6377,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"네트워크 지연을 숨기기 위해 사용하는 입력 대기 프레임 범위입니다. 예측 불가능한 입력 지연으로 지터를 줄이고 넷플레이의 CPU 사용을 줄입니다."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"현재 디스크를 전환합니다. 삽입된 디스크가 있으면 꺼내지고 디스크가 없으면 디스크를 삽입합니다. "
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"디스크 인덱스를 변경합니다."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"디스크 이미지를 관리합니다."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"삽입할 디스크 이미지를 선택하십시오."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"메뉴상에 있을 시의 프레임 제한을 설정합니다."

View File

@ -189,8 +189,7 @@ MSG_HASH(MENU_ENUM_LABEL_COLLECTION,
MSG_HASH(MENU_ENUM_LABEL_CONFIGURATIONS,
"configurations")
MSG_HASH(MENU_ENUM_LABEL_CONFIGURATION_SETTINGS,
"Determines how configuration files \n"
"are loaded and prioritized.")
"configuration_settings")
MSG_HASH(MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT,
"config_save_on_exit")
MSG_HASH(MENU_ENUM_LABEL_CONNECT_WIFI,
@ -299,6 +298,8 @@ MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_RIGHT_THUMBNAIL_MOD
"deferred_dropdown_box_list_playlist_right_thumbnail_mode")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE,
"deferred_dropdown_box_list_playlist_left_thumbnail_mode")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX,
"deferred_dropdown_box_list_disk_index")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
"deferred_configurations_list")
MSG_HASH(MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST,
@ -477,8 +478,10 @@ MSG_HASH(MENU_ENUM_LABEL_FAVORITES,
"favorites")
MSG_HASH(MENU_ENUM_LABEL_DIRECTORY_SETTINGS,
"directory_settings")
MSG_HASH(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS,
"disk_cycle_tray_status")
MSG_HASH(MENU_ENUM_LABEL_DISK_TRAY_EJECT,
"disk_tray_eject")
MSG_HASH(MENU_ENUM_LABEL_DISK_TRAY_INSERT,
"disk_tray_insert")
MSG_HASH(MENU_ENUM_LABEL_DISK_IMAGE_APPEND,
"disk_image_append")
MSG_HASH(MENU_ENUM_LABEL_SUBSYSTEM_ADD,
@ -939,6 +942,8 @@ MSG_HASH(MENU_ENUM_LABEL_PAUSE_LIBRETRO,
"menu_pause_libretro")
MSG_HASH(MENU_ENUM_LABEL_MENU_SAVESTATE_RESUME,
"menu_savestate_resume")
MSG_HASH(MENU_ENUM_LABEL_MENU_INSERT_DISK_RESUME,
"menu_insert_disk_resume")
MSG_HASH(MENU_ENUM_LABEL_PAUSE_NONACTIVE,
"pause_nonactive")
MSG_HASH(MENU_ENUM_LABEL_PERFCNT_ENABLE,
@ -2097,6 +2102,8 @@ MSG_HASH(MENU_ENUM_LABEL_SETTINGS_SHOW_INPUT,
"settings_show_input")
MSG_HASH(MENU_ENUM_LABEL_ACCESSIBILITY_SETTINGS,
"accessibility_settings")
MSG_HASH(MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS,
"power_management_settings")
MSG_HASH(MENU_ENUM_LABEL_AI_SERVICE_SETTINGS,
"ai_service_settings")
MSG_HASH(MENU_ENUM_LABEL_AI_SERVICE_MODE,
@ -2205,3 +2212,9 @@ MSG_HASH(MENU_ENUM_LABEL_INPUT_TURBO_MODE,
"input_turbo_mode")
MSG_HASH(MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON,
"input_turbo_default_button")
MSG_HASH(MENU_ENUM_LABEL_MENU_VIEWS_SETTINGS,
"menu_views_settings")
MSG_HASH(MENU_ENUM_LABEL_QUICK_MENU_VIEWS_SETTINGS,
"quick_menu_views_settings")
MSG_HASH(MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS,
"settings_views_settings")

View File

@ -456,10 +456,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Map niet gevonden.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Map")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Disk Cycle Tray Status")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Disk Image Toevoegen")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Disk Index")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,

View File

@ -629,10 +629,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Nie znaleziono katalogu.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Szczegóły")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Status podajnika cyklu dysku")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Dołącz obraz dysku")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Indeks dysku")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -3165,14 +3161,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"Liczba klatek opóźnienia wejściowego dla netplay do wykorzystania do ukrycia opóźnień sieci. Zmniejsza drgania i sprawia, że gra jest mniej intensywna, kosztem zauważalnego opóźnienia wejścia.")
MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Zakres klatek opóźnień wejściowych, które można wykorzystać do ukrycia opóźnień sieci. Zmniejsza fluktuacje i sprawia, że netplay jest mniej obciążający procesor, kosztem nieprzewidywalnego opóźnienia wejściowego.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Cykluj bieżący dysk. Jeśli dysk zostanie włożony, wyskoczy. Jeśli dysk nie został włożony, zostanie włożony. ")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"Zmień indeks dysku.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Zarządzanie obrazem dysku.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Wybierz obraz dysku, który chcesz wstawić.")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Upewnia się, że liczba klatek na sekundę jest ograniczona w menu.")
MSG_HASH(MENU_ENUM_SUBLABEL_XMB_LAYOUT,

View File

@ -800,14 +800,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Diretório"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Condição da Bandeja do Ciclo de Disco"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Anexar Imagem de Disco"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Índice de Disco"
@ -6572,22 +6564,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"O intervalo de quadros de latência de entrada que pode ser utilizado para mascarar a latência da rede. Reduz a oscilação e torna o jogo em rede menos intensivo para a CPU, ao custo de atraso imprevisível na entrada."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Alterna o disco atual. Se o disco estiver inserido, o mesmo será ejetado. Se o disco não estiver inserido, o mesmo será inserido."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Mude o índice do disco."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Gerenciamento de imagem de disco."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Selecione uma imagem de disco para inserir."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Certifica-se de que a taxa de quadros é controlada enquanto estiver dentro do menu."

View File

@ -557,10 +557,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Pasta não encontrada.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Pasta")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Estado do ciclo do disco na área de notificação")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Adicionar imagem de disco")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Índice do disco")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -2903,14 +2899,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"O número de fotogramas de latência de entrada para o Netplay utilizar para ocultar a latência da rede. Reduz a instabilidade e faz com que a funcionalidade de Netplay seja menos exigente para o processador, com um custo perceptível de tempo de atraso.")
MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"O intervalo de latência entre fotogramas pode ser usado para ocultar a latência da rede. Reduz a instabilidade e faz com que a funcionalidade de Netplay seja menos exigente para o processador, com um custo de latência imprevisível.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Ciclo do disco atual. Se o disco estiver inserido, o mesmo será ejetado. Caso contrário, ele será inserido. ")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"Alterar o índice do disco.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Gestão de imagens de disco.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Selecione uma imagem de disco para inserir.")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Certifique-se de que a taxa de fotogramas atingida enquanto estiver dentro do menu.")
MSG_HASH(MENU_ENUM_SUBLABEL_XMB_LAYOUT,

View File

@ -569,10 +569,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Каталог не найден.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Директории")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Статус диска в приводе")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Добавить образ диска")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Индекс диска")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
@ -2886,14 +2882,8 @@ MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN,
"Количество кадров задержки ввода для netplay для сокрытия задержки сети. Уменьшает лаги и делает netplay менее требовательным к CPU, ценой значительной задержки ввода.")
MSG_HASH(MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Диапазон кадров задержки ввода для netplay для сокрытия задержки сети. Уменьшает лаги и делает netplay менее требовательным к CPU, ценой непредсказуемой задержки ввода.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Зацикливать текущий диск. Если вставлен диск, он будет извлечен. Если диск не вставлен, он будет вставлен.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_INDEX,
"Изменить индекс диска.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Управление образа диска.")
MSG_HASH(MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Выберите образ диска для загрузки.")
MSG_HASH(MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Убедитесь, что частота кадров ограничена внутри меню.")
MSG_HASH(MENU_ENUM_SUBLABEL_XMB_LAYOUT,

View File

@ -795,14 +795,6 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Dizin"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Disk Döngüsü Tepsisi Durumu"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Disk Görüntüsü Ekleme"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Disk Dizini"
@ -6248,22 +6240,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"Ağ gecikmesini gizlemek için kullanılabilecek giriş gecikmesi çerçevelerinin aralığı. Jitteri azaltır ve tahmin edilemeyen girdi gecikmesi pahasına netçeyi daha az CPU yoğun yapar."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Geçerli diski değiştirin. Disk yerleştirilmişse, diski çıkaracaktır. Eğer disk yerleştirilmemişse, yerleştirilecektir. "
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Disk indeksini değiştir."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Disk image management."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Eklenecek bir disk görüntüsü seçin."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Menünün içindeyken kare hızının kapatıldığından emin olun."

View File

@ -801,17 +801,37 @@ MSG_HASH(
"Directory"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Cycle Disk Tray"
MENU_ENUM_LABEL_VALUE_DISK_TRAY_EJECT,
"Eject Disk"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
MENU_ENUM_SUBLABEL_DISK_TRAY_EJECT,
"Opens virtual disk try and removes currently loaded disk. NOTE: If RetroArch is configured to pause while menu is active, some cores may not register changes unless content is resumed for a few seconds after each disk control action."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_TRAY_INSERT,
"Insert Disk"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_TRAY_INSERT,
"Inserts disk corresponding to 'Current Disk Index' and closes virtual disk tray. NOTE: If RetroArch is configured to pause while menu is active, some cores may not register changes unless content is resumed for a few seconds after each disk control action."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Current Disk Index"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Choose current disk from list of available images. Disk will be loaded when 'Insert Disk' is selected."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Load New Disk"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Eject current disk, select a new disk from the filesystem then insert it and close the virtual disk tray. NOTE: This is a legacy feature. It is instead recommended to load multi-disk titles via M3U playlists, which allow disk selection using the 'Eject/Insert Disk' and 'Current Disk Index' options."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,
"Disk Control"
@ -2387,6 +2407,14 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_SAVESTATE_RESUME,
"Automatically close menu and resume current content after selecting 'Save State' or 'Load State' from the Quick Menu. Disabling this can improve save state performance on very slow devices."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_MENU_INSERT_DISK_RESUME,
"Resume content after changing disks"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_INSERT_DISK_RESUME,
"Automatically close menu and resume current content after selecting 'Insert Disk' or 'Load New Disk' from the Disk Control menu."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PAUSE_NONACTIVE,
"Don't run in background"
@ -6672,23 +6700,10 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE,
"The range of frames of input latency that may be used to hide network latency. Reduces jitter and makes netplay less CPU-intensive, at the expense of unpredictable input lag."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS,
"Cycle the current disk. If the disk is inserted, it will eject the disk. If the disk has not been inserted, it will be inserted. "
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_INDEX,
"Change the current disk if more than one is inserted. Open the tray before attempting to change disks.\n"
"If RetroArch is configured to pause on menu toggle the tray open/close action may not register in the core. If that's the case remember to go back to the game for a few frames after every disk control action."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_OPTIONS,
"Disk image management."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND,
"Select a disk image to insert."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE,
"Makes sure the framerate is capped while inside the menu."

View File

@ -421,10 +421,6 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_NOT_FOUND,
"Không tìm thấy thư mục.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
"Thư mục")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS,
"Tình trạng khay đĩa")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND,
"Thêm đĩa")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_INDEX,
"Chỉ số đĩa")
MSG_HASH(MENU_ENUM_LABEL_VALUE_DISK_OPTIONS,

View File

@ -664,6 +664,7 @@ generic_deferred_push_clear_general(deferred_push_dropdown_box_list_playlist_rig
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_playlist_left_thumbnail_mode, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_manual_content_scan_system_name, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_manual_content_scan_core_name, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_CORE_NAME)
generic_deferred_push_clear_general(deferred_push_dropdown_box_list_disk_index, PUSH_DEFAULT, DISPLAYLIST_DROPDOWN_LIST_DISK_INDEX)
static int menu_cbs_init_bind_deferred_push_compare_label(
menu_file_list_cbs_t *cbs,
@ -690,6 +691,7 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LABEL_DISPLAY_MODE, deferred_push_dropdown_box_list_playlist_label_display_mode},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_RIGHT_THUMBNAIL_MODE, deferred_push_dropdown_box_list_playlist_right_thumbnail_mode},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE, deferred_push_dropdown_box_list_playlist_left_thumbnail_mode},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX, deferred_push_dropdown_box_list_disk_index},
{MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_LIST, deferred_push_browse_url_list},
{MENU_ENUM_LABEL_DEFERRED_BROWSE_URL_START, deferred_push_browse_url_start},
{MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST, deferred_push_core_settings_list},

View File

@ -650,7 +650,12 @@ static int core_setting_left(unsigned type, const char *label,
static int disk_options_disk_idx_left(unsigned type, const char *label,
bool wraparound)
{
command_event(CMD_EVENT_DISK_PREV, NULL);
/* Note: Menu itself provides visual feedback - no
* need to print info message to screen */
bool print_log = false;
command_event(CMD_EVENT_DISK_PREV, &print_log);
return 0;
}

View File

@ -195,6 +195,8 @@ static enum msg_hash_enums action_ok_dl_to_enum(unsigned lbl)
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME:
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_DISK_INDEX:
return MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX;
case ACTION_OK_DL_MIXER_STREAM_SETTINGS_LIST:
return MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST;
case ACTION_OK_DL_ACCOUNTS_LIST:
@ -538,6 +540,15 @@ int generic_action_ok_displaylist_push(const char *path,
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME;
dl_type = DISPLAYLIST_GENERIC;
break;
case ACTION_OK_DL_DROPDOWN_BOX_LIST_DISK_INDEX:
info.type = type;
info.directory_ptr = idx;
info_path = path;
info_label = msg_hash_to_str(
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX;
dl_type = DISPLAYLIST_GENERIC;
break;
case ACTION_OK_DL_USER_BINDS_LIST:
info.type = type;
info.directory_ptr = idx;
@ -1763,9 +1774,16 @@ static int generic_action_ok(const char *path,
}
break;
case ACTION_OK_APPEND_DISK_IMAGE:
flush_type = MENU_SETTINGS;
command_event(CMD_EVENT_DISK_APPEND_IMAGE, action_path);
generic_action_ok_command(CMD_EVENT_RESUME);
{
settings_t *settings = config_get_ptr();
flush_char = msg_hash_to_str(MENU_ENUM_LABEL_DISK_OPTIONS);
command_event(CMD_EVENT_DISK_APPEND_IMAGE, action_path);
if (settings)
if (settings->bools.menu_insert_disk_resume)
generic_action_ok_command(CMD_EVENT_RESUME);
}
break;
case ACTION_OK_SUBSYSTEM_ADD:
flush_type = MENU_SETTINGS;
@ -3200,8 +3218,8 @@ static int action_ok_core_deferred_set(const char *new_core_path,
settings->bools.show_hidden_files,
true);
strlcpy(resolved_core_path, new_core_path, sizeof(resolved_core_path));
playlist_resolve_path(PLAYLIST_SAVE, resolved_core_path, sizeof(resolved_core_path));
strlcpy(resolved_core_path, new_core_path, sizeof(resolved_core_path));
playlist_resolve_path(PLAYLIST_SAVE, resolved_core_path, sizeof(resolved_core_path));
/* the update function reads our entry
* as const, so these casts are safe */
@ -3222,7 +3240,7 @@ static int action_ok_core_deferred_set(const char *new_core_path,
menu_entries_pop_stack(&selection, 0, 1);
menu_navigation_set_selection(selection);
return menu_cbs_exit();
return 0;
}
static int action_ok_deferred_list_stub(const char *path,
@ -4488,7 +4506,6 @@ default_action_ok_cmd_func(action_ok_save_new_config, CMD_EVENT_MENU_SA
default_action_ok_cmd_func(action_ok_resume_content, CMD_EVENT_RESUME)
default_action_ok_cmd_func(action_ok_restart_content, CMD_EVENT_RESET)
default_action_ok_cmd_func(action_ok_screenshot, CMD_EVENT_TAKE_SCREENSHOT)
default_action_ok_cmd_func(action_ok_disk_cycle_tray_status, CMD_EVENT_DISK_EJECT_TOGGLE)
#if defined(HAVE_CG) || defined(HAVE_GLSL) || defined(HAVE_SLANG) || defined(HAVE_HLSL)
default_action_ok_cmd_func(action_ok_shader_apply_changes, CMD_EVENT_SHADERS_APPLY_CHANGES)
#endif
@ -5798,6 +5815,22 @@ static int action_ok_push_dropdown_item_manual_content_scan_core_name(const char
return action_cancel_pop_default(NULL, NULL, 0, 0);
}
static int action_ok_push_dropdown_item_disk_index(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
unsigned disk_index = (unsigned)idx;
command_event(CMD_EVENT_DISK_INDEX, &disk_index);
/* When choosing a disk, menu selection should
* automatically be reset to the 'insert disk'
* option */
menu_entries_pop_stack(NULL, 0, 1);
menu_navigation_set_selection(0);
return 0;
}
static int action_ok_push_default(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -6056,6 +6089,69 @@ static int action_ok_video_shader_num_passes_dropdown_box_list(const char *path,
ACTION_OK_DL_DROPDOWN_BOX_LIST_VIDEO_SHADER_NUM_PASSES);
}
static int action_ok_disk_index_dropdown_box_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_dropdown_box_list(idx,
ACTION_OK_DL_DROPDOWN_BOX_LIST_DISK_INDEX);
}
static int action_ok_disk_cycle_tray_status(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
bool disk_ejected = false;
bool print_log = false;
rarch_system_info_t *sys_info = runloop_get_system_info();
settings_t *settings = config_get_ptr();
if (!settings)
return menu_cbs_exit();
#ifdef HAVE_AUDIOMIXER
if (settings->bools.audio_enable_menu && settings->bools.audio_enable_menu_ok)
audio_driver_mixer_play_menu_sound(AUDIO_MIXER_SYSTEM_SLOT_OK);
#endif
/* Get disk eject state *before* toggling drive status */
if (sys_info)
{
const struct retro_disk_control_callback *control =
(const struct retro_disk_control_callback*)
&sys_info->disk_control_cb;
if (control)
if (control->get_eject_state)
disk_ejected = control->get_eject_state();
}
/* Only want to display a notification if we are
* going to resume content immediately after
* inserting a disk (i.e. if quick menu remains
* open, there is sufficient visual feedback
* without a notification) */
print_log = settings->bools.menu_insert_disk_resume && disk_ejected;
if (!command_event(CMD_EVENT_DISK_EJECT_TOGGLE, &print_log))
return menu_cbs_exit();
/* If we reach this point, then tray toggle
* was successful */
disk_ejected = !disk_ejected;
/* If disk is now ejected, menu selection should
* automatically increment to the 'current disk
* index' option */
if (disk_ejected)
menu_navigation_set_selection(1);
/* If disk is now inserted and user has enabled
* 'menu_insert_disk_resume', resume running content */
if (!disk_ejected && settings->bools.menu_insert_disk_resume)
generic_action_ok_command(CMD_EVENT_RESUME);
return 0;
}
static int action_ok_manual_content_scan_start(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -7357,6 +7453,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
case MENU_SETTING_DROPDOWN_ITEM_MANUAL_CONTENT_SCAN_CORE_NAME:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_manual_content_scan_core_name);
break;
case MENU_SETTING_DROPDOWN_ITEM_DISK_INDEX:
BIND_ACTION_OK(cbs, action_ok_push_dropdown_item_disk_index);
break;
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
BIND_ACTION_OK(cbs, action_ok_push_default);
break;
@ -7681,6 +7780,9 @@ static int menu_cbs_init_bind_ok_compare_type(menu_file_list_cbs_t *cbs,
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS:
BIND_ACTION_OK(cbs, action_ok_disk_cycle_tray_status);
break;
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX:
BIND_ACTION_OK(cbs, action_ok_disk_index_dropdown_box_list);
break;
case MENU_SETTINGS_CORE_OPTION_CREATE:
BIND_ACTION_OK(cbs, action_ok_option_create);
break;

View File

@ -755,7 +755,11 @@ int core_setting_right(unsigned type, const char *label,
static int disk_options_disk_idx_right(unsigned type, const char *label,
bool wraparound)
{
command_event(CMD_EVENT_DISK_NEXT, NULL);
/* Note: Menu itself provides visual feedback - no
* need to print info message to screen */
bool print_log = false;
command_event(CMD_EVENT_DISK_NEXT, &print_log);
return 0;
}

View File

@ -376,6 +376,7 @@ default_sublabel_macro(action_bind_sublabel_input_autodetect_enable, MENU_
default_sublabel_macro(action_bind_sublabel_input_swap_ok_cancel, MENU_ENUM_SUBLABEL_MENU_INPUT_SWAP_OK_CANCEL)
default_sublabel_macro(action_bind_sublabel_pause_libretro, MENU_ENUM_SUBLABEL_PAUSE_LIBRETRO)
default_sublabel_macro(action_bind_sublabel_menu_savestate_resume, MENU_ENUM_SUBLABEL_MENU_SAVESTATE_RESUME)
default_sublabel_macro(action_bind_sublabel_menu_insert_disk_resume, MENU_ENUM_SUBLABEL_MENU_INSERT_DISK_RESUME)
default_sublabel_macro(action_bind_sublabel_video_driver, MENU_ENUM_SUBLABEL_VIDEO_DRIVER)
default_sublabel_macro(action_bind_sublabel_audio_driver, MENU_ENUM_SUBLABEL_AUDIO_DRIVER)
default_sublabel_macro(action_bind_sublabel_input_driver, MENU_ENUM_SUBLABEL_INPUT_DRIVER)
@ -500,7 +501,8 @@ default_sublabel_macro(action_bind_thumbnails_directory,
default_sublabel_macro(action_bind_rgui_config_directory, MENU_ENUM_SUBLABEL_RGUI_CONFIG_DIRECTORY)
default_sublabel_macro(action_bind_sublabel_input_latency_frames, MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_MIN)
default_sublabel_macro(action_bind_sublabel_input_latency_frames_range, MENU_ENUM_SUBLABEL_NETPLAY_INPUT_LATENCY_FRAMES_RANGE)
default_sublabel_macro(action_bind_sublabel_disk_cycle_tray_status, MENU_ENUM_SUBLABEL_DISK_CYCLE_TRAY_STATUS)
default_sublabel_macro(action_bind_sublabel_disk_tray_eject, MENU_ENUM_SUBLABEL_DISK_TRAY_EJECT)
default_sublabel_macro(action_bind_sublabel_disk_tray_insert, MENU_ENUM_SUBLABEL_DISK_TRAY_INSERT)
default_sublabel_macro(action_bind_sublabel_disk_image_append, MENU_ENUM_SUBLABEL_DISK_IMAGE_APPEND)
default_sublabel_macro(action_bind_sublabel_disk_index, MENU_ENUM_SUBLABEL_DISK_INDEX)
default_sublabel_macro(action_bind_sublabel_disk_options, MENU_ENUM_SUBLABEL_DISK_OPTIONS)
@ -1799,8 +1801,11 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_SUBSYSTEM_LOAD:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_subsystem_load);
break;
case MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_disk_cycle_tray_status);
case MENU_ENUM_LABEL_DISK_TRAY_EJECT:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_disk_tray_eject);
break;
case MENU_ENUM_LABEL_DISK_TRAY_INSERT:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_disk_tray_insert);
break;
case MENU_ENUM_LABEL_DISK_INDEX:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_disk_index);
@ -2177,6 +2182,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_MENU_SAVESTATE_RESUME:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_savestate_resume);
break;
case MENU_ENUM_LABEL_MENU_INSERT_DISK_RESUME:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_insert_disk_resume);
break;
case MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_swap_ok_cancel);
break;

View File

@ -422,6 +422,7 @@ default_title_macro(action_get_title_dropdown_playlist_label_display_mode_item,
default_title_macro(action_get_title_manual_content_scan_list, MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_LIST)
default_title_macro(action_get_title_dropdown_manual_content_scan_system_name_item, MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_SYSTEM_NAME)
default_title_macro(action_get_title_dropdown_manual_content_scan_core_name_item, MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_CORE_NAME)
default_title_macro(action_get_title_dropdown_disk_index, MENU_ENUM_LABEL_VALUE_DISK_INDEX)
default_fill_title_macro(action_get_title_disk_image_append, MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND)
default_fill_title_macro(action_get_title_cheat_file_load, MENU_ENUM_LABEL_VALUE_CHEAT_FILE)
@ -1438,7 +1439,7 @@ static int menu_cbs_init_bind_title_compare_type(menu_file_list_cbs_t *cbs,
BIND_ACTION_GET_TITLE(cbs, action_get_title_input_settings);
break;
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
BIND_ACTION_GET_TITLE(cbs, action_get_title_action_generic);
BIND_ACTION_GET_TITLE(cbs, action_get_disk_options_list);
break;
default:
return -1;
@ -1477,6 +1478,7 @@ int menu_cbs_init_bind_title(menu_file_list_cbs_t *cbs,
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE, action_get_title_dropdown_playlist_left_thumbnail_mode_item},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME, action_get_title_dropdown_manual_content_scan_system_name_item},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME, action_get_title_dropdown_manual_content_scan_core_name_item},
{MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX, action_get_title_dropdown_disk_index},
{MENU_ENUM_LABEL_DEFERRED_RPL_ENTRY_ACTIONS, action_get_quick_menu_views_settings_list},
{MENU_ENUM_LABEL_DEFERRED_PLAYLIST_LIST, action_get_title_deferred_playlist_list},
{MENU_ENUM_LABEL_DEFERRED_PLAYLIST_MANAGER_SETTINGS, action_get_title_deferred_playlist_list},

View File

@ -7544,7 +7544,8 @@ static void materialui_list_insert(
node->has_icon = true;
}
else if (
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS))
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_TRAY_EJECT)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_TRAY_INSERT))
)
{
node->icon_texture_index = MUI_TEXTURE_EJECT;
@ -7555,7 +7556,8 @@ static void materialui_list_insert(
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_LOAD_DISC)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DUMP_DISC)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISC_INFORMATION)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_OPTIONS))
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_OPTIONS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX))
)
{
node->icon_texture_index = MUI_TEXTURE_DISK;
@ -7700,6 +7702,7 @@ static void materialui_list_insert(
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_AI_SERVICE_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCESSIBILITY_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_POWER_MANAGEMENT_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_YOUTUBE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ACCOUNTS_TWITCH)) ||
@ -7714,6 +7717,7 @@ static void materialui_list_insert(
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MIDI_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MENU_VIEWS_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_QUICK_MENU_VIEWS_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS_VIEWS_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_MENU_SETTINGS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS)) ||
#ifdef HAVE_VIDEO_LAYOUT
@ -7765,7 +7769,8 @@ static void materialui_list_insert(
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_COPY_AFTER)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_COPY_BEFORE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_CHEAT_DELETE)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS))
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS)) ||
string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_MANAGER_LIST))
)
{
node->icon_texture_index = MUI_TEXTURE_SETTINGS;

View File

@ -51,7 +51,8 @@ menu_texture_item ozone_entries_icon_get_texture(ozone_handle_t *ozone,
case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CHEAT_OPTIONS];
case MENU_ENUM_LABEL_DISK_OPTIONS:
case MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS:
case MENU_ENUM_LABEL_DISK_TRAY_EJECT:
case MENU_ENUM_LABEL_DISK_TRAY_INSERT:
case MENU_ENUM_LABEL_DISK_IMAGE_APPEND:
case MENU_ENUM_LABEL_DISK_INDEX:
return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_DISK_OPTIONS];

View File

@ -2317,7 +2317,8 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb,
case MENU_ENUM_LABEL_CORE_CHEAT_OPTIONS:
return xmb->textures.list[XMB_TEXTURE_CHEAT_OPTIONS];
case MENU_ENUM_LABEL_DISK_OPTIONS:
case MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS:
case MENU_ENUM_LABEL_DISK_TRAY_EJECT:
case MENU_ENUM_LABEL_DISK_TRAY_INSERT:
case MENU_ENUM_LABEL_DISK_IMAGE_APPEND:
case MENU_ENUM_LABEL_DISK_INDEX:
return xmb->textures.list[XMB_TEXTURE_DISK_OPTIONS];

View File

@ -57,6 +57,7 @@ enum
ACTION_OK_DL_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE,
ACTION_OK_DL_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME,
ACTION_OK_DL_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME,
ACTION_OK_DL_DROPDOWN_BOX_LIST_DISK_INDEX,
ACTION_OK_DL_OPEN_ARCHIVE,
ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE,
ACTION_OK_DL_MUSIC,

View File

@ -3234,6 +3234,82 @@ static unsigned menu_displaylist_parse_content_information(
return count;
}
static unsigned menu_displaylist_parse_disk_options(
file_list_t *list)
{
unsigned count = 0;
rarch_system_info_t *sys_info =
runloop_get_system_info();
const struct retro_disk_control_callback *control = NULL;
bool disk_ejected;
/* Sanity Check */
if (!sys_info)
return count;
control = (const struct retro_disk_control_callback*)
&sys_info->disk_control_cb;
if (!control ||
!control->get_num_images ||
!control->get_image_index ||
!control->get_eject_state ||
!control->set_eject_state)
return count;
/* Check whether disk is currently ejected */
disk_ejected = control->get_eject_state();
/* Always show a 'DISK_CYCLE_TRAY_STATUS' entry
* > These perform the same function, but just have
* different labels/sublabels */
if (disk_ejected)
{
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_TRAY_INSERT),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_TRAY_INSERT),
MENU_ENUM_LABEL_DISK_TRAY_INSERT,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0))
count++;
}
else
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_TRAY_EJECT),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_TRAY_EJECT),
MENU_ENUM_LABEL_DISK_TRAY_EJECT,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0))
count++;
/* Only show disk index if disk is currently ejected */
if (disk_ejected)
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX),
MENU_ENUM_LABEL_DISK_INDEX,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0))
count++;
/* If replace_image_index() is undefined, can stop here */
if (!control->replace_image_index)
return count;
/* Append image does the following:
* > Open tray
* > Append disk image
* > Close tray
* It therefore only makes sense to show this option
* if a disk is currently inserted */
if (!disk_ejected)
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_IMAGE_APPEND),
MENU_ENUM_LABEL_DISK_IMAGE_APPEND,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0, 0))
count++;
return count;
}
static bool menu_displaylist_push_internal(
const char *label,
menu_displaylist_ctx_entry_t *entry,
@ -4033,7 +4109,6 @@ static unsigned menu_displaylist_populate_subsystem(
return count;
}
unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ctl_state type,
bool include_everything)
{
@ -5270,6 +5345,57 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
}
}
break;
case DISPLAYLIST_DROPDOWN_LIST_DISK_INDEX:
{
rarch_system_info_t *sys_info = runloop_get_system_info();
if (sys_info)
{
const struct retro_disk_control_callback *control =
(const struct retro_disk_control_callback*)
&sys_info->disk_control_cb;
/* Check that the required disk control interface
* functions are defined */
if (control &&
control->get_num_images &&
control->get_image_index)
{
unsigned num_images = control->get_num_images();
unsigned current_image = control->get_image_index();
unsigned i;
/* Loop through disk images */
for (i = 0; i < num_images; i++)
{
char current_image_str[256];
current_image_str[0] = '\0';
/* Get string representation of disk index
* > Note that displayed index starts at '1',
* not '0' */
snprintf(
current_image_str, sizeof(current_image_str),
"%u", i + 1);
/* Add menu entry */
if (menu_entries_append_enum(list,
current_image_str,
"",
MENU_ENUM_LABEL_NO_ITEMS,
MENU_SETTING_DROPDOWN_ITEM_DISK_INDEX,
i, 0))
count++;
/* Check whether current disk is selected */
if (i == current_image)
menu_entries_set_checked(list, i, true);
}
}
}
}
break;
case DISPLAYLIST_PERFCOUNTERS_CORE:
case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
{
@ -5714,6 +5840,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
{MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_PAUSE_LIBRETRO, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_MENU_SAVESTATE_RESUME, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_MENU_INSERT_DISK_RESUME, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_MOUSE_ENABLE, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_POINTER_ENABLE, PARSE_ONLY_BOOL, true},
{MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true},
@ -5758,24 +5885,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
}
break;
case DISPLAYLIST_OPTIONS_DISK:
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX),
MENU_ENUM_LABEL_DISK_INDEX,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS),
MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0))
count++;
if (menu_entries_append_enum(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND),
msg_hash_to_str(MENU_ENUM_LABEL_DISK_IMAGE_APPEND),
MENU_ENUM_LABEL_DISK_IMAGE_APPEND,
MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0, 0))
count++;
count = menu_displaylist_parse_disk_options(list);
break;
case DISPLAYLIST_MIDI_SETTINGS_LIST:
{
@ -9097,6 +9207,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE:
case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME:
case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_CORE_NAME:
case DISPLAYLIST_DROPDOWN_LIST_DISK_INDEX:
case DISPLAYLIST_PERFCOUNTERS_CORE:
case DISPLAYLIST_PERFCOUNTERS_FRONTEND:
case DISPLAYLIST_MENU_SETTINGS_LIST:
@ -9155,6 +9266,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
case DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE:
case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME:
case DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_CORE_NAME:
case DISPLAYLIST_DROPDOWN_LIST_DISK_INDEX:
case DISPLAYLIST_INFORMATION_LIST:
case DISPLAYLIST_SCAN_DIRECTORY_LIST:
menu_entries_append_enum(info->list,

View File

@ -65,6 +65,7 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_DROPDOWN_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE,
DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME,
DISPLAYLIST_DROPDOWN_LIST_MANUAL_CONTENT_SCAN_CORE_NAME,
DISPLAYLIST_DROPDOWN_LIST_DISK_INDEX,
DISPLAYLIST_CDROM_DETAIL_INFO,
DISPLAYLIST_INFO,
DISPLAYLIST_HELP,

View File

@ -96,6 +96,7 @@ enum menu_settings_type
MENU_SETTING_DROPDOWN_ITEM_PLAYLIST_LEFT_THUMBNAIL_MODE,
MENU_SETTING_DROPDOWN_ITEM_MANUAL_CONTENT_SCAN_SYSTEM_NAME,
MENU_SETTING_DROPDOWN_ITEM_MANUAL_CONTENT_SCAN_CORE_NAME,
MENU_SETTING_DROPDOWN_ITEM_DISK_INDEX,
MENU_SETTING_DROPDOWN_SETTING_CORE_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_STRING_OPTIONS_ITEM,
MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM,

View File

@ -12335,6 +12335,22 @@ static bool setting_append_list(
SD_FLAG_ADVANCED
);
CONFIG_BOOL(
list, list_info,
&settings->bools.menu_insert_disk_resume,
MENU_ENUM_LABEL_MENU_INSERT_DISK_RESUME,
MENU_ENUM_LABEL_VALUE_MENU_INSERT_DISK_RESUME,
DEFAULT_MENU_INSERT_DISK_RESUME,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_ADVANCED
);
CONFIG_BOOL(
list, list_info,
&settings->bools.menu_mouse_enable,

View File

@ -1262,6 +1262,7 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_PLAYLIST_LEFT_THUMBNAIL_MODE,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_SYSTEM_NAME,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_MANUAL_CONTENT_SCAN_CORE_NAME,
MENU_ENUM_LABEL_DEFERRED_DROPDOWN_BOX_LIST_DISK_INDEX,
MENU_ENUM_LABEL_DEFERRED_MIXER_STREAM_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CONFIGURATIONS_LIST,
MENU_ENUM_LABEL_DEFERRED_FAVORITES_LIST,
@ -1450,6 +1451,7 @@ enum msg_hash_enums
MENU_LABEL(PAUSE_LIBRETRO),
MENU_LABEL(MENU_SAVESTATE_RESUME),
MENU_LABEL(MENU_INSERT_DISK_RESUME),
MENU_LABEL(DIRECTORY_NOT_FOUND),
MENU_LABEL(NO_ITEMS),
MENU_LABEL(NO_PLAYLISTS),
@ -1910,6 +1912,8 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_SHADER_PRESET_PARAMETERS),
MENU_LABEL(DISK_OPTIONS),
MENU_LABEL(DISK_CYCLE_TRAY_STATUS),
MENU_LABEL(DISK_TRAY_EJECT),
MENU_LABEL(DISK_TRAY_INSERT),
MENU_LABEL(NO_CORE_OPTIONS_AVAILABLE),
MENU_LABEL(DISK_INDEX),
MENU_LABEL(CORE_CHEAT_OPTIONS),

View File

@ -5256,19 +5256,23 @@ static void command_event_disk_control_set_eject(bool new_state, bool print_log)
else
RARCH_LOG("%s\n", msg);
/* Only noise in menu. */
if (print_log)
runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
/* Errors should always be displayed */
if (print_log || error)
runloop_msg_queue_push(
msg, 1, error ? 180 : 60,
true, NULL,
MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
}
}
/**
* command_event_disk_control_set_index:
* @idx : Index of disk to set as current.
* @print_log : Show message onscreen.
*
* Sets current disk to @index.
**/
static void command_event_disk_control_set_index(unsigned idx)
static void command_event_disk_control_set_index(unsigned idx, bool print_log)
{
unsigned num_disks;
char msg[128];
@ -5316,7 +5320,13 @@ static void command_event_disk_control_set_index(unsigned idx)
RARCH_ERR("%s\n", msg);
else
RARCH_LOG("%s\n", msg);
runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
/* Errors should always be displayed */
if (print_log || error)
runloop_msg_queue_push(
msg, 1, error ? 180 : 60,
true, NULL,
MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
}
}
@ -5333,9 +5343,18 @@ static bool command_event_disk_control_append_image(const char *path)
struct retro_game_info info = {0};
const struct retro_disk_control_callback *control = NULL;
rarch_system_info_t *sysinfo = &runloop_system;
const char *disk_filename = NULL;
msg[0] = '\0';
if (string_is_empty(path))
return false;
disk_filename = path_basename(path);
if (string_is_empty(disk_filename))
return false;
if (sysinfo)
control = (const struct retro_disk_control_callback*)
&sysinfo->disk_control_cb;
@ -5354,9 +5373,12 @@ static bool command_event_disk_control_append_image(const char *path)
info.path = path;
control->replace_image_index(new_idx, &info);
snprintf(msg, sizeof(msg), "%s: %s", msg_hash_to_str(MSG_APPENDED_DISK), path);
snprintf(msg, sizeof(msg), "%s: %s", msg_hash_to_str(MSG_APPENDED_DISK), disk_filename);
RARCH_LOG("%s\n", msg);
runloop_msg_queue_push(msg, 0, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
/* This message should always be displayed, since
* the menu itself does not provide sufficient
* visual feedback */
runloop_msg_queue_push(msg, 0, 120, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
#ifdef HAVE_THREADS
retroarch_autosave_deinit();
@ -5374,7 +5396,7 @@ static bool command_event_disk_control_append_image(const char *path)
}
command_event(CMD_EVENT_AUTOSAVE_INIT, NULL);
command_event_disk_control_set_index(new_idx);
command_event_disk_control_set_index(new_idx, false);
command_event_disk_control_set_eject(false, false);
return true;
@ -5383,11 +5405,12 @@ static bool command_event_disk_control_append_image(const char *path)
/**
* command_event_check_disk_prev:
* @control : Handle to disk control handle.
* @print_log : Show message onscreen.
*
* Perform disk cycle to previous index action (Core Disk Options).
**/
static void command_event_check_disk_prev(
const struct retro_disk_control_callback *control)
const struct retro_disk_control_callback *control, bool print_log)
{
unsigned num_disks = 0;
unsigned current = 0;
@ -5410,17 +5433,18 @@ static void command_event_check_disk_prev(
if (current > 0)
current--;
command_event_disk_control_set_index(current);
command_event_disk_control_set_index(current, print_log);
}
/**
* command_event_check_disk_next:
* @control : Handle to disk control handle.
* @print_log : Show message onscreen.
*
* Perform disk cycle to next index action (Core Disk Options).
**/
static void command_event_check_disk_next(
const struct retro_disk_control_callback *control)
const struct retro_disk_control_callback *control, bool print_log)
{
unsigned num_disks = 0;
unsigned current = 0;
@ -5443,7 +5467,7 @@ static void command_event_check_disk_next(
if (current < num_disks - 1)
current++;
command_event_disk_control_set_index(current);
command_event_disk_control_set_index(current, print_log);
}
/**
@ -7550,6 +7574,7 @@ TODO: Add a setting for these tweaks */
case CMD_EVENT_DISK_EJECT_TOGGLE:
{
rarch_system_info_t *info = &runloop_system;
bool *show_msg = (bool*)data;
if (info && info->disk_control_cb.get_num_images)
{
@ -7560,7 +7585,18 @@ TODO: Add a setting for these tweaks */
if (control)
{
bool new_state = !control->get_eject_state();
command_event_disk_control_set_eject(new_state, true);
bool print_log = true;
bool refresh = false;
if (show_msg)
print_log = *show_msg;
command_event_disk_control_set_eject(new_state, print_log);
/* It is necessary to refresh the disk options
* menu when toggling the tray state */
menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
}
}
else
@ -7573,12 +7609,14 @@ TODO: Add a setting for these tweaks */
case CMD_EVENT_DISK_NEXT:
{
rarch_system_info_t *info = &runloop_system;
bool *show_msg = (bool*)data;
if (info && info->disk_control_cb.get_num_images)
{
const struct retro_disk_control_callback *control =
(const struct retro_disk_control_callback*)
&info->disk_control_cb;
bool print_log = true;
if (!control)
return false;
@ -7586,7 +7624,10 @@ TODO: Add a setting for these tweaks */
if (!control->get_eject_state())
return false;
command_event_check_disk_next(control);
if (show_msg)
print_log = *show_msg;
command_event_check_disk_next(control, print_log);
}
else
runloop_msg_queue_push(
@ -7598,6 +7639,40 @@ TODO: Add a setting for these tweaks */
case CMD_EVENT_DISK_PREV:
{
rarch_system_info_t *info = &runloop_system;
bool *show_msg = (bool*)data;
if (info && info->disk_control_cb.get_num_images)
{
const struct retro_disk_control_callback *control =
(const struct retro_disk_control_callback*)
&info->disk_control_cb;
bool print_log = true;
if (!control)
return false;
if (!control->get_eject_state())
return false;
if (show_msg)
print_log = *show_msg;
command_event_check_disk_prev(control, print_log);
}
else
runloop_msg_queue_push(
msg_hash_to_str(MSG_CORE_DOES_NOT_SUPPORT_DISK_OPTIONS),
1, 120, true,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
}
break;
case CMD_EVENT_DISK_INDEX:
{
rarch_system_info_t *info = &runloop_system;
unsigned *index = (unsigned*)data;
if (!index)
return false;
if (info && info->disk_control_cb.get_num_images)
{
@ -7608,10 +7683,9 @@ TODO: Add a setting for these tweaks */
if (!control)
return false;
if (!control->get_eject_state())
return false;
command_event_check_disk_prev(control);
/* Note: Menu itself provides visual feedback - no
* need to print info message to screen */
command_event_disk_control_set_index(*index, false);
}
else
runloop_msg_queue_push(