diff --git a/package/libretro-bsnes/libretro-bsnes.mk b/package/libretro-bsnes/libretro-bsnes.mk index 34e0c922e19879fbde13d7e2acd68eb4c51e0c84..321584faba3b3a8fba4d5dc44e38e7ddd33ffed3 100644 --- a/package/libretro-bsnes/libretro-bsnes.mk +++ b/package/libretro-bsnes/libretro-bsnes.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2023/10/13 -LIBRETRO_BSNES_VERSION = 6e73d33127a1e2e4b5e49f4aa4f0619364e473c2 +# Commit of 2025/09/19 +LIBRETRO_BSNES_VERSION = aeb76d7dc33c1f136db43d65ba9622c14e81b0fa LIBRETRO_BSNES_SITE = $(call github,libretro,bsnes-libretro,$(LIBRETRO_BSNES_VERSION)) LIBRETRO_BSNES_LICENSE = COPYRIGHT LIBRETRO_BSNES_LICENSE_FILES = LICENSE diff --git a/package/libretro-mesen-s/libretro-mesen-s.mk b/package/libretro-mesen-s/libretro-mesen-s.mk index 0abe6b501a222d7fbeef57d8cae184d99c72d8f9..58f9c5d170e338c97633356d40eb6ed2a4c86aa3 100644 --- a/package/libretro-mesen-s/libretro-mesen-s.mk +++ b/package/libretro-mesen-s/libretro-mesen-s.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2022/07/25 -LIBRETRO_MESEN_S_VERSION = 32a7adfb4edb029324253cb3632dfc6599ad1aa8 +# Commit of 2024/10/21 +LIBRETRO_MESEN_S_VERSION = d4fca31a6004041d99b02199688f84c009c55967 LIBRETRO_MESEN_S_SITE = $(call github,libretro,Mesen-S,$(LIBRETRO_MESEN_S_VERSION)) LIBRETRO_MESEN_S_LICENSE = GPL-3.0 LIBRETRO_MESEN_S_LICENSE_FILES = LICENSE diff --git a/package/libretro-snes9x/libretro-snes9x.mk b/package/libretro-snes9x/libretro-snes9x.mk index c8532ee7a7ee8fca7c5b95132c6ae5bf26fc6d82..f5d1115110a36f5a5a5bba31996dae8632b02807 100644 --- a/package/libretro-snes9x/libretro-snes9x.mk +++ b/package/libretro-snes9x/libretro-snes9x.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2024/08/20 -LIBRETRO_SNES9X_VERSION = 229933ea5aa6b4d2a6f00ed55b34d7b8bf5f63e3 +# Commit of 2025/09/08 +LIBRETRO_SNES9X_VERSION = 5a40cd5514e63e691e39141d64267798357a1424 LIBRETRO_SNES9X_SITE = $(call github,libretro,snes9x,$(LIBRETRO_SNES9X_VERSION)) LIBRETRO_SNES9X_LICENSE = COPYRIGHT LIBRETRO_SNES9X_LICENSE_FILES = LICENSE diff --git a/package/libretro-snes9x2002/libretro-snes9x2002.mk b/package/libretro-snes9x2002/libretro-snes9x2002.mk index 6ae082cf274667f92e5906a0fd798d1c94224147..fd0becd136bde0bc8ea8b6faf22e0c3ebdc7192f 100644 --- a/package/libretro-snes9x2002/libretro-snes9x2002.mk +++ b/package/libretro-snes9x2002/libretro-snes9x2002.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2022/08/06 -LIBRETRO_SNES9X2002_VERSION = 540baad622d9833bba7e0696193cb06f5f02f564 +# Commit of 2024/10/21 +LIBRETRO_SNES9X2002_VERSION = a0709ec7dcd6de2fbebb43106bd757b649e3b7cf LIBRETRO_SNES9X2002_SITE = $(call github,libretro,snes9x2002,$(LIBRETRO_SNES9X2002_VERSION)) LIBRETRO_SNES9X2002_LICENSE = COPYRIGHT LIBRETRO_SNES9X2002_NON_COMMERCIAL = y diff --git a/package/libretro-snes9x2005/libretro-snes9x2005.mk b/package/libretro-snes9x2005/libretro-snes9x2005.mk index 1ba33a03e330f87bb75e24bbd6e826eed3abfa8e..8586ebdb992b8efe2f1f5033f29f6e42e9fa9dd1 100644 --- a/package/libretro-snes9x2005/libretro-snes9x2005.mk +++ b/package/libretro-snes9x2005/libretro-snes9x2005.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2022/07/25 -LIBRETRO_SNES9X2005_VERSION = fd45b0e055bce6cff3acde77414558784e93e7d0 +# Commit of 2024/10/24 +LIBRETRO_SNES9X2005_VERSION = 74d871db9b4dba6dbe6c5ecebc88cbf255be5349 LIBRETRO_SNES9X2005_SITE = $(call github,libretro,snes9x2005,$(LIBRETRO_SNES9X2005_VERSION)) LIBRETRO_SNES9X2005_LICENSE = COPYRIGHT LIBRETRO_SNES9X2005_LICENSE_FILES = copyright diff --git a/package/libretro-snes9x2010/libretro-snes9x2010.mk b/package/libretro-snes9x2010/libretro-snes9x2010.mk index 6729cbce586ed770b0337efcad6423724326225e..42c92689a0b6731bcc70914a74a4a3635e08ed93 100644 --- a/package/libretro-snes9x2010/libretro-snes9x2010.mk +++ b/package/libretro-snes9x2010/libretro-snes9x2010.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2023/02/20 -LIBRETRO_SNES9X2010_VERSION = d8b10c4cd7606ed58f9c562864c986bc960faaaf +# Commit of 2024/11/19 +LIBRETRO_SNES9X2010_VERSION = f9ae8fd28b13070a945a829ccf41cbf90a21d0f7 LIBRETRO_SNES9X2010_SITE = $(call github,libretro,snes9x2010,$(LIBRETRO_SNES9X2010_VERSION)) LIBRETRO_SNES9X2010_LICENSE = COPYRIGHT LIBRETRO_SNES9X2010_LICENSE_FILES = LICENSE.txt diff --git a/package/libretro-supafaust/libretro-supafaust.mk b/package/libretro-supafaust/libretro-supafaust.mk index b8e5b1d1e1d133aa33aa7c7804cfedd61f1dff04..79072ee17d150c7016540984cf20b78654f51431 100644 --- a/package/libretro-supafaust/libretro-supafaust.mk +++ b/package/libretro-supafaust/libretro-supafaust.mk @@ -4,8 +4,8 @@ # ################################################################################ -# Commit of 2023/07/19 -LIBRETRO_SUPAFAUST_VERSION = 6b639c98372d1c9bac885c55d772c812d2a9d525 +# Commit of 2024/10/01 +LIBRETRO_SUPAFAUST_VERSION = e25f66765938d33f9ad5850e8d6cd597e55b7299 LIBRETRO_SUPAFAUST_SITE = $(call github,libretro,supafaust,$(LIBRETRO_SUPAFAUST_VERSION)) LIBRETRO_SUPAFAUST_LICENSE = GPL-2.0 LIBRETRO_SUPAFAUST_LICENSE_FILES = COPYING diff --git a/projects/frontend/es-app/src/guis/menus/MenuBuilder.cpp b/projects/frontend/es-app/src/guis/menus/MenuBuilder.cpp index f59a131c718d58ee94b2c7e8ed6665f3641b4fac..2512d638833a86b6a886117783f1c94d29c3fdb9 100644 --- a/projects/frontend/es-app/src/guis/menus/MenuBuilder.cpp +++ b/projects/frontend/es-app/src/guis/menus/MenuBuilder.cpp @@ -700,7 +700,7 @@ void MenuBuilder::AddItem(const InheritableContext& context, const ItemDefinitio case MenuItemType::DeviceUsable: { AddText(context, item, Context().Device()->RecalboxCompatible() ? (Context().Device()->IsNTFS() ? _("YES, BUT NOT RECOMMENDED") : _("YES")) : _("NO")); break; } case MenuItemType::DeviceInitialize: { - bool alreadyInitialized = mProvider.SystemManager().HasRomStructure(Path(Context().Device()->MountPoint)); + bool alreadyInitialized = mProvider.SystemManager().HasRomStructure(Path(Context().Device()->MountPoint), Context().Device()->ReadOnly); AddAction(context, item, true, !Context().Device()->RecalboxCompatible() || alreadyInitialized); break; } case MenuItemType::WebManagerEnable: { AddSwitch(context, item, mConf.GetSystemManagerEnabled(), defaultGrayed); break; } diff --git a/projects/frontend/es-app/src/systems/SystemManager.cpp b/projects/frontend/es-app/src/systems/SystemManager.cpp index 967719d9f5621ae3b1a3ac2bc9c7fe95c3bffd13..0b55ed0e670b4f8fc640c341e3b423efb84f8a8b 100644 --- a/projects/frontend/es-app/src/systems/SystemManager.cpp +++ b/projects/frontend/es-app/src/systems/SystemManager.cpp @@ -1623,7 +1623,7 @@ void SystemManager::NotifyDeviceUnmount(const DeviceMount& mountpoint) void SystemManager::NotifyDeviceMount(const DeviceMount& mountpoint) { Path romPath; - switch(CheckMountPoint(mountpoint.MountPoint(), romPath)) + switch(CheckMountPoint(mountpoint.MountPoint(), romPath, mountpoint.ReadOnly())) { case RomStructure::None: { @@ -1667,7 +1667,7 @@ bool SystemManager::HasFileWithExt(const Path& path, HashSet& extensionS return found; } -SystemManager::RomStructure SystemManager::CheckMountPoint(const Path& root, Path& outputRomPath) +SystemManager::RomStructure SystemManager::CheckMountPoint(const Path& root, Path& outputRomPath, bool readonly) { static const Path pathes[] = { @@ -1694,7 +1694,7 @@ SystemManager::RomStructure SystemManager::CheckMountPoint(const Path& root, Pat { { LOG(LogInfo) << "[SystemManager] " << systemPath.ToString() << " identified as a valid rom folder"; } outputRomPath = main; - CompleteRomStructure(main); + if (!readonly) CompleteRomStructure(main); return RomStructure::Filled; } { LOG(LogInfo) << "[SystemManager] " << systemPath.ToString() << " is a valid but empty rom folder"; } @@ -1757,7 +1757,7 @@ void SystemManager::InitializeMountPoints() Path romPath; for(const DeviceMount& root : mMountPointMonitoring.MountPoints()) - if (CheckMountPoint(root.MountPoint(), romPath) == RomStructure::Filled) + if (CheckMountPoint(root.MountPoint(), romPath, root.ReadOnly()) == RomStructure::Filled) { mMountPoints.push_back(romPath); { LOG(LogDebug) << "[SystemManager] Got: " << romPath.ToString() << " as a valid rom folder"; } diff --git a/projects/frontend/es-app/src/systems/SystemManager.h b/projects/frontend/es-app/src/systems/SystemManager.h index c3586793c0c53589768b2e41a7920824d5efa9e5..b5c96b54b84eddd04f4ecb08ef27bfc81fb0e26c 100644 --- a/projects/frontend/es-app/src/systems/SystemManager.h +++ b/projects/frontend/es-app/src/systems/SystemManager.h @@ -181,9 +181,10 @@ class SystemManager : private INoCopy // No copy allowed * @brief Check if the root folder contains at least a valid rom path and return it * @param root Root mount point * @param romPath Output rom path found + * @param readonly The root path is readonly * @return True if a rom path has been found and stored in romPath. False otherwise */ - RomStructure CheckMountPoint(const Path& root, Path& romPath); + RomStructure CheckMountPoint(const Path& root, Path& romPath, bool readonly); /*! * @brief Check rom structure in the target path and complete missing folders/files @@ -607,7 +608,7 @@ class SystemManager : private INoCopy // No copy allowed MountMonitor& GetMountMonitor() { return mMountPointMonitoring; } //! Check if a given folder as a rom structure or not - bool HasRomStructure(const Path& path) { Path dummy; return CheckMountPoint(path, dummy) != RomStructure::None; } + bool HasRomStructure(const Path& path, bool readonly) { Path dummy; return CheckMountPoint(path, dummy, readonly) != RomStructure::None; } /*! * @brief Check if at least one visible system contains at least one Tate game diff --git a/projects/frontend/es-core/src/hardware/devices/mount/MountMonitor.cpp b/projects/frontend/es-core/src/hardware/devices/mount/MountMonitor.cpp index d15f03d7728fb507d2747cc19e6b230898f0fb6f..aa2b9268afab6da137712b8d087c62f752bdfbfa 100644 --- a/projects/frontend/es-core/src/hardware/devices/mount/MountMonitor.cpp +++ b/projects/frontend/es-core/src/hardware/devices/mount/MountMonitor.cpp @@ -80,9 +80,9 @@ MountMonitor::DeviceMountList MountMonitor::LoadMountPoints(bool initializeSpeci } // Network? if (type == "cifs" || type.StartsWith(LEGACY_STRING("nfs"))) - //#ifndef DEBUG + #ifndef DEBUG if (mountPoint.StartWidth(sRecalboxRootMountPoint)) // is it valid? - //#endif + #endif { result.push_back(DeviceMount(device, mountPoint, "Network", type, options)); // so store it in the list { LOG(LogDebug) << "[MountMonitor] Candidate: " << device.ToString() << " mounted to " << mountPoint.ToString() << " (" << GetPartitionLabel(device) << ')'; }