The variable %ROMPATH% now expands to the ROMDirectory setting in es_settings.cfg which removes the need for absolute ROM paths (although absolute paths are still supported). Custom collections with absolute paths can still be loaded for backward compatibility with old custom collections.
* adds a new configuration option ("CollectionShowSystemInfo" = bool), in the 'Game Collections Settings' GUI. Defaults to previous behavior (true).
* reloads the Collection when the configuration is changed.
Replace boost::filesystem::is_directory
with Utils::FileSystem::isDirectory
Replace boost::filesystem::is_regular_file
with Utils::FileSystem::isRegularFile
Replace boost::filesystem::is_symlink
with Utils::FileSystem::isSymlink
Replace boost::filesystem::exists
with Utils::FileSystem::exists
Replace boost::filesystem::create_directory
with Utils::FileSystem::createDirectory
Replace boost::filesystem::remove
with Utils::FileSystem::removeFile
After profiling UI filtering and startup I determined that
getCleanMameName was responsible for the incredibly long load times when
loading/filtering Mame ROMS. This function was using a linear search
over a pre-sorted array to find a corresponding Mame ROM Name from the
ROM name. It now uses a binary search which improves UI load/filter
responsiveness by a couple orders of magnitude.
Single core performance on my i7 for 10,000 iterations was 2.01 secs vs
7.77e-4 secs
Ensure that deinit() removes the current sInstance so that the next call
to AudioManager::getInstance() will re-initialize audio correctly.
Remove explicit calls to AudioManager::init() and instead rely on
Sound::play() to initialize audio when needed.
- Refactoring System Environment data
- Added Virtual System Manager class
- Added "all", "favorites" and "last played" systems
- Added GuiInfoPopup class for notifications
- Added Favorites to metadata, as well as a shortcut to toggle favorites
- Added warning if enabling systems but themes don't support it
- Added "filter by favorites" per system
- Adjusted "Go to Random Game" behavior to account for the fact that we now have an "All Games" system
- Added "sort by system name" for the collections