@@ -633,6 +633,41 @@ bool EmulatorSettingsImpl::TransferSettings() {
633633 LOG_WARNING (Config, " Failed to transfer addon install directory: {}" , e.what ());
634634 }
635635 }
636+ if (og_data.contains (" General" )) {
637+ const toml::value& general = og_data.at (" General" );
638+ auto & s = m_general;
639+ // Transfer sysmodules install directory
640+ try {
641+ std::string sysmodules_install_dir_str;
642+ if (general.contains (" sysModulesPath" )) {
643+ const auto & sysmodule_value = general.at (" sysModulesPath" );
644+ if (sysmodule_value.is_string ()) {
645+ sysmodules_install_dir_str = toml::get<std::string>(sysmodule_value);
646+ if (!sysmodules_install_dir_str.empty ()) {
647+ s.sys_modules_dir .value = std::filesystem::path{sysmodules_install_dir_str};
648+ }
649+ }
650+ }
651+ } catch (const std::exception& e) {
652+ LOG_WARNING (Config, " Failed to transfer sysmodules install directory: {}" , e.what ());
653+ }
654+
655+ // Transfer font install directory
656+ try {
657+ std::string font_install_dir_str;
658+ if (general.contains (" fontsPath" )) {
659+ const auto & font_value = general.at (" fontsPath" );
660+ if (font_value.is_string ()) {
661+ font_install_dir_str = toml::get<std::string>(font_value);
662+ if (!font_install_dir_str.empty ()) {
663+ s.font_dir .value = std::filesystem::path{font_install_dir_str};
664+ }
665+ }
666+ }
667+ } catch (const std::exception& e) {
668+ LOG_WARNING (Config, " Failed to transfer font install directory: {}" , e.what ());
669+ }
670+ }
636671
637672 return true ;
638673}
0 commit comments