mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
Merge branch 'master' into French-translation-part-2
This commit is contained in:
commit
41e2346880
29
CHANGES.md
29
CHANGES.md
@ -1,4 +1,6 @@
|
||||
# 1.7.7 (future)
|
||||
# 1.7.8 (future)
|
||||
|
||||
# 1.7.7
|
||||
- 3DS: Add unique IDs to prevent cores overwriting each other.
|
||||
- 3DS: Fix screen tearing when running 50Hz content.
|
||||
- ANDROID: We now target API level 26 (minimum is still API level 9).
|
||||
@ -9,10 +11,12 @@
|
||||
- AUDIO: Avoid deadlocks in certain audio drivers when toggling menu sounds on.
|
||||
- BLISS-BOX: Support PSX Jogcon (requires firmware 3.0).
|
||||
- CHEEVOS: Fix crash when reading memory that is out of range.
|
||||
- CHEEVOS: New Cheevos implementation enabled by default.
|
||||
- CRT: Dynamic super resolution support.
|
||||
- DISCORD: Fix potential crash when username is empty and discord is disabled.
|
||||
- DISCORD: Ask to join support for Linux.
|
||||
- INPUT/ANDROID: Add "Input Block Timeout" option.
|
||||
- COMMON: For platforms without HAVE_THREADS, don't automatically resume content when saving/loading states
|
||||
- COMMON: Make playlist sorting optional and consistent.
|
||||
- COMMON: Fix sorting of playlists with blank labels.
|
||||
- COMMON: Fix content scanner creating false positive playlist entries that also have wrong label and crc32.
|
||||
@ -27,8 +31,8 @@
|
||||
- COMMON: Add menu option to write log info to a file.
|
||||
- COMMON: Add subsystem support for playlists. Subsystem info is automatically saved to the history playlist for easy relaunching.
|
||||
- GL: Add new "gl1" OpenGL 1.1 compliant video driver for legacy GPUs and software renderers
|
||||
- GL: Draw OSD on top of overlay.
|
||||
- GL: Add a new "glcore" driver with slang support (requires GL 3.2+ or GLES3).
|
||||
- GL: Draw OSD on top of overlay.
|
||||
- GONG: Add savestate support.
|
||||
- GONG: Add video refresh rate core options.
|
||||
- GONG: Two player support via core option.
|
||||
@ -49,6 +53,11 @@
|
||||
- LOCALIZATION: Update Spanish translation.
|
||||
- LOCALIZATION: Add new Turkish translation.
|
||||
- MIDI: Fix startup crash in midi driver.
|
||||
- MENU: Bugfix - you can no longer get stuck in Online Updater -> Update Core screen when toggling between ingame and menu.
|
||||
- MENU: Selectively hide 'Take Screenshot' for video drivers that don't support taking screenshots.
|
||||
- MENU: Framerate independent menu rendering. MaterialUI/Ozone/XMB/RGUI can now run at higher framerates.
|
||||
- MENU: Thumbnails work in history list.
|
||||
- MENU: Menu widgets.
|
||||
- MENU: Add memory statistics support to more context drivers.
|
||||
- MENU: Enable ozone driver for UWP builds.
|
||||
- MENU: Add optional "looping" menu text ticker with configurable speed.
|
||||
@ -62,10 +71,13 @@
|
||||
- MENU: Populate crc32 and db_name fields when adding history/favourites playlist entries.
|
||||
- MENU: Fix TTF files not showing in OSD/menu font selection screen.
|
||||
- MENU: Fix audio/video filters not showing in file browser.
|
||||
- MENU/GLUI: Add subsystem support.
|
||||
- MENU/MaterialUI: Add subsystem support.
|
||||
- MENU/MaterialUI: Add currently selected entry in dropdown menus.
|
||||
- MENU/OZONE: Add mouse support on entries (no sidebar yet).
|
||||
- MENU/OZONE: Allow collapsing the sidebar.
|
||||
- MENU/OZONE: Add thumbnail support.
|
||||
- MENU/OZONE: Battery notifications.
|
||||
- MENU/OZONE: Add wifi icon for network entries.
|
||||
- MENU/QT/WIMP: Add git version and build date to Help->About window.
|
||||
- MENU/QT/WIMP: Fix content loading via the file browser.
|
||||
- MENU/QT/WIMP: Add new settings window to control all RetroArch settings.
|
||||
@ -88,20 +100,26 @@
|
||||
- MENU/RGUI: Add optional extended ASCII support.
|
||||
- MENU/RGUI: Add optional delay when loading thumbnails.
|
||||
- MENU/RGUI: Add on-screen keyboard.
|
||||
- MENU/RGUI: Battery notifications.
|
||||
- MENU/XMB: Prevent crashes when resizing to a tiny window.
|
||||
- MENU/XMB: XMB honors the 'show menu sublabels' setting now - was previously RGUI only
|
||||
- NETPLAY: Fix stall-out causing total disconnection with >2 players.
|
||||
- NETPLAY: Different (more intuitive?) default netplay share policy.
|
||||
- NETPLAY: Add hotkey option to toggle hosting on/off.
|
||||
- NETWORKING: Encode URLs to allow for spaces in directory names.
|
||||
- OSX: Prevent crash on exit.
|
||||
- OSX: Metal is now the default video driver.
|
||||
- OSX: Metal is now the default video driver for the RetroArch Metal build.
|
||||
- OSX: Enable CoreAudio v3 driver for Metal.
|
||||
- OSX/MACOS/IOS: Now uses the STB Unicode font driver.
|
||||
- PS2: CDFS support.
|
||||
- PS2: Implemented analog support for ps2 controllers.
|
||||
- PS2: Fix audio freeze after restarting core.
|
||||
- PS2: Fix issues with load state and the font driver.
|
||||
- PS2: File I/O now works for USB and network host.
|
||||
- PS2: Support cores with extra padding in their frame buffers.
|
||||
- SCANNER: New option 'Scan without core match'. When this is enabled,
|
||||
supported extensions by all installed cores are not checked, and instead
|
||||
it will add all content it finds to a playlist. This way, you can install the core you need later on after scanning. Not enabled by default.
|
||||
- SHADERS: Don't alphabetize shader presets.
|
||||
- SWITCH: Add rumble support.
|
||||
- SWITCH: Add USB keyboard support.
|
||||
@ -112,6 +130,9 @@
|
||||
- WINDOWS: Fall back to gl1 driver if accelerated GPU driver is unavailable.
|
||||
- WINDOWS: Allow winraw and xinput to work without dinput (needed for WinRT).
|
||||
- WINDOWS: Add MSVC2017 ARM desktop support.
|
||||
- UWP: Fix rewind by opting for slower codepath.
|
||||
- UWP: Fix relative path name issues when loading shaders.
|
||||
- UWP: Optimizations for VFS system.
|
||||
|
||||
# 1.7.6
|
||||
- ANDROID: Fix Xperia Play input binding.
|
||||
|
@ -747,7 +747,9 @@ static const unsigned playlist_show_inline_core_name = PLAYLIST_INLINE_CORE_DISP
|
||||
static const unsigned playlist_sublabel_runtime_type = PLAYLIST_RUNTIME_PER_CORE;
|
||||
#endif
|
||||
|
||||
static const bool playlist_show_sublabels = false;
|
||||
static const bool scan_without_core_match = true;
|
||||
|
||||
static const bool playlist_show_sublabels = false;
|
||||
|
||||
static const bool playlist_fuzzy_archive_match = false;
|
||||
|
||||
|
@ -1571,6 +1571,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
|
||||
SETTING_BOOL("auto_overrides_enable", &settings->bools.auto_overrides_enable, true, default_auto_overrides_enable, false);
|
||||
SETTING_BOOL("auto_remaps_enable", &settings->bools.auto_remaps_enable, true, default_auto_remaps_enable, false);
|
||||
SETTING_BOOL("auto_shaders_enable", &settings->bools.auto_shaders_enable, true, default_auto_shaders_enable, false);
|
||||
SETTING_BOOL("scan_without_core_match", &settings->bools.scan_without_core_match, true, true, false);
|
||||
SETTING_BOOL("sort_savefiles_enable", &settings->bools.sort_savefiles_enable, true, default_sort_savefiles_enable, false);
|
||||
SETTING_BOOL("sort_savestates_enable", &settings->bools.sort_savestates_enable, true, default_sort_savestates_enable, false);
|
||||
SETTING_BOOL("config_save_on_exit", &settings->bools.config_save_on_exit, true, config_save_on_exit, false);
|
||||
|
@ -328,6 +328,8 @@ typedef struct settings
|
||||
|
||||
bool log_to_file;
|
||||
bool log_to_file_timestamp;
|
||||
|
||||
bool scan_without_core_match;
|
||||
} bools;
|
||||
|
||||
struct
|
||||
|
@ -3752,3 +3752,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -4766,3 +4766,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3524,3 +3524,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3653,3 +3653,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -7730,3 +7730,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3412,3 +3412,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -7882,3 +7882,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -8612,7 +8612,7 @@ MSG_HASH(
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_PLAYLIST_FUZZY_ARCHIVE_MATCH,
|
||||
"Lors de la recherche d'entrées associées à des fichiers compressés dans les listes de lecture, faire correspondre uniquement le nom du fichier d'archive au lieu de [nom du fichier]+[contenu]. Activez cette option pour éviter la création de doublons dans l'historique de contenu lors du chargement de fichiers compressés."
|
||||
"Lors de la recherche de fichiers compressés dans les listes de lecture, faire correspondre le nom de l'archive uniquement et non [nom]+[contenu]. Activez cette option pour éviter les doublons dans l'historique lors du chargement d'archives."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_PLAYLIST_RUNTIME_AGGREGATE,
|
||||
@ -8668,5 +8668,13 @@ MSG_HASH(
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders"
|
||||
"Shaders vidéo"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Analyser du contenu sans cœur correspondant"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Si cette option est désactivée, le contenu n'est ajouté aux listes de lecture que s'il est pris en charge par un cœur installé. Cette option ajoutera toujours le contenu aux listes de lecture, et un cœur compatible pourra être installé plus tard."
|
||||
)
|
||||
|
@ -3637,3 +3637,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -4206,3 +4206,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3505,3 +3505,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -1843,3 +1843,5 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_WIDGETS_ENABLE,
|
||||
"menu_widgets_enable")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VIDEO_SHADERS_ENABLE,
|
||||
"video_shader_enable")
|
||||
MSG_HASH(MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"scan_without_core_match")
|
||||
|
@ -3406,3 +3406,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3802,3 +3802,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu widgetów")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -8034,3 +8034,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3478,3 +3478,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3681,3 +3681,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -8550,3 +8550,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -8665,3 +8665,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -3568,3 +3568,7 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_MENU_WIDGETS_ENABLE,
|
||||
"Menu Widgets")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_VIDEO_SHADERS_ENABLE,
|
||||
"Video Shaders")
|
||||
MSG_HASH(MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
"Scan without core match")
|
||||
MSG_HASH(MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
"When disabled, content is only added to playlists if you have a core installed that supports its extension. By enabling this, it will add to playlist regardless. This way, you can install the core you need later on after scanning.")
|
||||
|
@ -205,6 +205,10 @@ bool path_mkdir(const char *dir)
|
||||
/* Use heap. Real chance of stack
|
||||
* overflow if we recurse too hard. */
|
||||
basedir = strdup(dir);
|
||||
|
||||
if (!basedir)
|
||||
return false;
|
||||
|
||||
path_parent_dir(basedir);
|
||||
|
||||
if (!*basedir || !strcmp(basedir, dir))
|
||||
@ -654,7 +658,12 @@ void path_basedir(char *path)
|
||||
**/
|
||||
void path_parent_dir(char *path)
|
||||
{
|
||||
size_t len = strlen(path);
|
||||
size_t len = 0;
|
||||
|
||||
if (!path)
|
||||
return;
|
||||
|
||||
len = strlen(path);
|
||||
|
||||
if (len && path_char_is_slash(path[len - 1]))
|
||||
{
|
||||
|
@ -832,7 +832,8 @@ int retro_vfs_stat_impl(const char *path, int32_t *size)
|
||||
path_local = utf8_to_local_string_alloc(path);
|
||||
file_info = GetFileAttributes(path_local);
|
||||
|
||||
_stat(path_local, &buf);
|
||||
if (!string_is_empty(path_local))
|
||||
_stat(path_local, &buf);
|
||||
|
||||
if (path_local)
|
||||
free(path_local);
|
||||
|
@ -65,7 +65,7 @@ IDR_MENU MENU
|
||||
MENUITEM "9x", ID_M_WINDOW_SCALE_9X
|
||||
MENUITEM "10x", ID_M_WINDOW_SCALE_10X
|
||||
}
|
||||
MENUITEM "Toggle Desktop Menu", ID_M_TOGGLE_DESKTOP
|
||||
MENUITEM "デスクトップメニューを表示", ID_M_TOGGLE_DESKTOP
|
||||
MENUITEM "排他的なフルスクリーン切り替え", ID_M_FULL_SCREEN
|
||||
// Shader dialog is disabled for now, until video_threaded issues are fixed.
|
||||
//MENUITEM "シェーダーのパラメータ", ID_M_SHADER_PARAMETERS
|
||||
|
@ -543,6 +543,7 @@ default_sublabel_macro(action_bind_sublabel_menu_rgui_thumbnail_downscaler,
|
||||
default_sublabel_macro(action_bind_sublabel_menu_rgui_thumbnail_delay, MENU_ENUM_SUBLABEL_MENU_RGUI_THUMBNAIL_DELAY)
|
||||
default_sublabel_macro(action_bind_sublabel_content_runtime_log, MENU_ENUM_SUBLABEL_CONTENT_RUNTIME_LOG)
|
||||
default_sublabel_macro(action_bind_sublabel_content_runtime_log_aggregate, MENU_ENUM_SUBLABEL_CONTENT_RUNTIME_LOG_AGGREGATE)
|
||||
default_sublabel_macro(action_bind_sublabel_scan_without_core_match, MENU_ENUM_SUBLABEL_SCAN_WITHOUT_CORE_MATCH)
|
||||
default_sublabel_macro(action_bind_sublabel_playlist_sublabel_runtime_type, MENU_ENUM_SUBLABEL_PLAYLIST_SUBLABEL_RUNTIME_TYPE)
|
||||
default_sublabel_macro(action_bind_sublabel_menu_rgui_internal_upscale_level, MENU_ENUM_SUBLABEL_MENU_RGUI_INTERNAL_UPSCALE_LEVEL)
|
||||
default_sublabel_macro(action_bind_sublabel_menu_rgui_aspect_ratio, MENU_ENUM_SUBLABEL_MENU_RGUI_ASPECT_RATIO)
|
||||
@ -2475,6 +2476,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_content_runtime_log);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_scan_without_core_match);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG_AGGREGATE:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_content_runtime_log_aggregate);
|
||||
break;
|
||||
|
@ -1576,8 +1576,12 @@ static int menu_displaylist_parse_settings_internal_enum(
|
||||
if (!show_advanced_settings)
|
||||
{
|
||||
uint64_t flags = setting->flags;
|
||||
if ((flags & SD_FLAG_ADVANCED) || (flags & SD_FLAG_LAKKA_ADVANCED))
|
||||
if (flags & SD_FLAG_ADVANCED)
|
||||
goto end;
|
||||
#ifdef HAVE_LAKKA
|
||||
if (flags & SD_FLAG_LAKKA_ADVANCED)
|
||||
goto end;
|
||||
#endif
|
||||
}
|
||||
|
||||
for (;;)
|
||||
@ -5475,6 +5479,7 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type,
|
||||
{MENU_ENUM_LABEL_PLAYLIST_SHOW_SUBLABELS, PARSE_ONLY_BOOL},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_SUBLABEL_RUNTIME_TYPE, PARSE_ONLY_UINT},
|
||||
{MENU_ENUM_LABEL_PLAYLIST_FUZZY_ARCHIVE_MATCH, PARSE_ONLY_BOOL},
|
||||
{MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH, PARSE_ONLY_BOOL},
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
||||
|
@ -7562,6 +7562,21 @@ static bool setting_append_list(
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE);
|
||||
|
||||
CONFIG_BOOL(
|
||||
list, list_info,
|
||||
&settings->bools.scan_without_core_match,
|
||||
MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH,
|
||||
MENU_ENUM_LABEL_VALUE_SCAN_WITHOUT_CORE_MATCH,
|
||||
scan_without_core_match,
|
||||
MENU_ENUM_LABEL_VALUE_OFF,
|
||||
MENU_ENUM_LABEL_VALUE_ON,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE);
|
||||
|
||||
END_SUB_GROUP(list, list_info, parent_group);
|
||||
END_GROUP(list, list_info, parent_group);
|
||||
}
|
||||
|
@ -435,6 +435,7 @@ enum msg_hash_enums
|
||||
MSG_RUNAHEAD_FAILED_TO_CREATE_SECONDARY_INSTANCE,
|
||||
MSG_MISSING_ASSETS,
|
||||
|
||||
MENU_LABEL(SCAN_WITHOUT_CORE_MATCH),
|
||||
MENU_LABEL(STREAMING_TITLE),
|
||||
MENU_LABEL(STREAMING_MODE),
|
||||
MENU_LABEL(VIDEO_RECORD_QUALITY),
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "../msg_hash.h"
|
||||
#include "../playlist.h"
|
||||
#ifdef RARCH_INTERNAL
|
||||
#include "../configuration.h"
|
||||
#include "../retroarch.h"
|
||||
#endif
|
||||
#include "../verbosity.h"
|
||||
@ -61,6 +62,7 @@ typedef struct db_handle
|
||||
{
|
||||
bool is_directory;
|
||||
bool scan_started;
|
||||
bool scan_without_core_match;
|
||||
bool show_hidden_files;
|
||||
unsigned status;
|
||||
char *playlist_directory;
|
||||
@ -940,13 +942,19 @@ static int task_database_iterate_crc_lookup(
|
||||
|
||||
query[0] = '\0';
|
||||
|
||||
/* don't scan files that can't be in this database */
|
||||
if (!(path_contains_compressed_file(name) &&
|
||||
core_info_database_match_archive_member(
|
||||
db_state->list->elems[db_state->list_index].data)) &&
|
||||
!core_info_database_supports_content_path(
|
||||
db_state->list->elems[db_state->list_index].data, name))
|
||||
return database_info_list_iterate_next(db_state);
|
||||
if (!_db->scan_without_core_match)
|
||||
{
|
||||
/* don't scan files that can't be in this database.
|
||||
*
|
||||
* Could be because of:
|
||||
* A matching core missing */
|
||||
if (!(path_contains_compressed_file(name) &&
|
||||
core_info_database_match_archive_member(
|
||||
db_state->list->elems[db_state->list_index].data)) &&
|
||||
!core_info_database_supports_content_path(
|
||||
db_state->list->elems[db_state->list_index].data, name))
|
||||
return database_info_list_iterate_next(db_state);
|
||||
}
|
||||
|
||||
snprintf(query, sizeof(query),
|
||||
"{crc:or(b\"%08X\",b\"%08X\")}",
|
||||
@ -1359,6 +1367,9 @@ bool task_push_dbscan(
|
||||
retro_task_callback_t cb)
|
||||
{
|
||||
retro_task_t *t = task_init();
|
||||
#ifdef RARCH_INTERNAL
|
||||
settings_t *settings = config_get_ptr();
|
||||
#endif
|
||||
db_handle_t *db = (db_handle_t*)calloc(1, sizeof(db_handle_t));
|
||||
|
||||
if (!t || !db)
|
||||
@ -1370,6 +1381,9 @@ bool task_push_dbscan(
|
||||
t->title = strdup(msg_hash_to_str(MSG_PREPARING_FOR_CONTENT_SCAN));
|
||||
t->alternative_look = true;
|
||||
|
||||
#ifdef RARCH_INTERNAL
|
||||
db->scan_without_core_match = settings->bools.scan_without_core_match;
|
||||
#endif
|
||||
db->show_hidden_files = db_dir_show_hidden_files;
|
||||
db->is_directory = directory;
|
||||
db->playlist_directory = NULL;
|
||||
|
@ -126,7 +126,7 @@ static int task_http_iterate_transfer(retro_task_t *task)
|
||||
|
||||
if (!net_http_update(http->handle, &pos, &tot))
|
||||
{
|
||||
task_set_progress(task, (tot == 0) ? -1 : (signed)(pos * 100 / tot));
|
||||
task_set_progress(task, (tot == 0) ? -1 : (signed)pos / (tot / 100));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,9 @@ QWidget *InputPage::widget()
|
||||
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_MAX_USERS);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_UNIFIED_MENU_CONTROLS);
|
||||
layout->add(MENU_ENUM_LABEL_QUIT_PRESS_TWICE);
|
||||
layout->add(MENU_ENUM_LABEL_VIBRATE_ON_KEYPRESS);
|
||||
layout->add(MENU_ENUM_LABEL_ENABLE_DEVICE_VIBRATION);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR);
|
||||
layout->add(MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO);
|
||||
layout->add(MENU_ENUM_LABEL_MENU_INPUT_SWAP_OK_CANCEL);
|
||||
|
@ -33,6 +33,7 @@ QWidget *NotificationsPage::widget()
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_FPS_SHOW);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_FRAMECOUNT_SHOW);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_MEMORY_SHOW);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_STATISTICS_SHOW);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_VIDEO_FONT_PATH);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_VIDEO_FONT_SIZE);
|
||||
notificationsGroup->add(MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X);
|
||||
|
@ -33,7 +33,11 @@ QWidget *PlaylistsPage::widget()
|
||||
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_ENTRY_RENAME);
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_ENTRY_REMOVE);
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_SORT_ALPHABETICAL);
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_USE_OLD_FORMAT);
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_SHOW_SUBLABELS);
|
||||
layout->add(MENU_ENUM_LABEL_PLAYLIST_FUZZY_ARCHIVE_MATCH);
|
||||
layout->add(MENU_ENUM_LABEL_SCAN_WITHOUT_CORE_MATCH);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
|
@ -31,6 +31,7 @@ QWidget *SavingPage::widget()
|
||||
SettingsGroup *saveRamGroup = new SettingsGroup("SaveRAM");
|
||||
SettingsGroup *systemFilesDirGroup = new SettingsGroup("System Files");
|
||||
SettingsGroup *screenshotsDirGroup = new SettingsGroup("Screenshots");
|
||||
SettingsGroup *runtimeLogGroup = new SettingsGroup("Runtime Log");
|
||||
|
||||
savesGroup->add(MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE);
|
||||
savesGroup->add(MENU_ENUM_LABEL_SAVEFILES_IN_CONTENT_DIR_ENABLE);
|
||||
@ -51,11 +52,15 @@ QWidget *SavingPage::widget()
|
||||
|
||||
screenshotsDirGroup->add(MENU_ENUM_LABEL_SCREENSHOTS_IN_CONTENT_DIR_ENABLE);
|
||||
|
||||
runtimeLogGroup->add(MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG);
|
||||
runtimeLogGroup->add(MENU_ENUM_LABEL_CONTENT_RUNTIME_LOG_AGGREGATE);
|
||||
|
||||
layout->addRow(savesGroup);
|
||||
layout->addRow(savestatesGroup);
|
||||
layout->addRow(saveRamGroup);
|
||||
layout->addRow(systemFilesDirGroup);
|
||||
layout->addRow(screenshotsDirGroup);
|
||||
layout->addRow(runtimeLogGroup);
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
|
@ -43,6 +43,7 @@ QWidget *UserInterfacePage::widget()
|
||||
rarch_setting_t *kioskMode = menu_setting_find_enum(MENU_ENUM_LABEL_MENU_ENABLE_KIOSK_MODE);
|
||||
|
||||
menuGroup->add(MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS);
|
||||
menuGroup->add(MENU_ENUM_LABEL_MENU_WIDGETS_ENABLE);
|
||||
|
||||
/* only on XMB and Ozone*/
|
||||
if (kioskMode)
|
||||
|
Loading…
x
Reference in New Issue
Block a user