[Emulator] Removed marking extracted games as booted from disc

This commit is contained in:
Gliniak 2025-05-27 20:22:42 +02:00 committed by Radosław Gliński
parent bb20633c52
commit 270e88a7a7

View file

@ -573,30 +573,31 @@ X_STATUS Emulator::LaunchXexFile(const std::filesystem::path& path) {
auto fs_path = "game:\\" + xe::path_to_utf8(file_name); auto fs_path = "game:\\" + xe::path_to_utf8(file_name);
X_STATUS result = CompleteLaunch(path, fs_path); X_STATUS result = CompleteLaunch(path, fs_path);
if (XSUCCEEDED(result)) { if (XFAILED(result)) {
kernel_state_->deployment_type_ = XDeploymentType::kInstalledToHDD; return result;
auto title_id = kernel_state_->title_id(); }
if (!kernel::IsSystemTitle(title_id)) {
// Assumption that any loaded game is loaded as a disc.
kernel_state_->deployment_type_ = XDeploymentType::kOpticalDisc;
} else {
const std::string mount_path = xe::path_to_utf8(
std::filesystem::path(kernel_state_->GetExecutableModule()->path())
.parent_path());
// System related symlinks kernel_state_->deployment_type_ = XDeploymentType::kInstalledToHDD;
file_system_->RegisterSymbolicLink("media:", mount_path);
file_system_->RegisterSymbolicLink("font:", mount_path);
auto module = kernel_state_->LoadUserModule("xam.xex"); if (!kernel::IsSystemTitle(kernel_state_->title_id())) {
if (!module) { return result;
module = kernel_state_->LoadUserModule("$flash_xam.xex"); }
}
if (module) { const std::string mount_path = xe::path_to_utf8(
result = kernel_state_->FinishLoadingUserModule(module, false); std::filesystem::path(kernel_state_->GetExecutableModule()->path())
} .parent_path());
}
// System related symlinks
file_system_->RegisterSymbolicLink("media:", mount_path);
file_system_->RegisterSymbolicLink("font:", mount_path);
auto module = kernel_state_->LoadUserModule("xam.xex");
if (!module) {
module = kernel_state_->LoadUserModule("$flash_xam.xex");
}
if (module) {
result = kernel_state_->FinishLoadingUserModule(module, false);
} }
return result; return result;
} }