From 087aac91d8954617e749cfc647125cc05864586c Mon Sep 17 00:00:00 2001 From: Haerbin23456 <60066765+Haerbin23456@users.noreply.github.com> Date: Tue, 12 May 2026 00:29:18 +0800 Subject: [PATCH 01/11] fix(everest): improve installation reliability and add cross-platform support --- src/everest.rs | 130 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 93 insertions(+), 37 deletions(-) diff --git a/src/everest.rs b/src/everest.rs index 528fd25..bdc9077 100644 --- a/src/everest.rs +++ b/src/everest.rs @@ -1,15 +1,15 @@ use crate::{ureq, wegfan}; -use anyhow::bail; +use ::ureq::get; +use anyhow::{Context, bail}; use lazy_static::lazy_static; use serde::{Deserialize, Serialize}; -use ::ureq::get; use std::{ collections::HashMap, - io::{BufRead, BufReader}, + io::{BufRead, BufReader, Write}, path::{Path, PathBuf}, process::{Command, Stdio}, - sync::{atomic::AtomicBool, Arc}, + sync::{Arc, atomic::AtomicBool}, }; #[derive(Serialize, Deserialize)] @@ -101,8 +101,8 @@ static MAGIC_STR: &str = "EverestBuild"; static MAGIC_STR_ONLY_ORIGIN_EXE: &str = "_StarJumpEnd+"; pub fn get_everest_version(game_path: &str) -> Option { - fn check_file(path: String) -> Option { - println!("Checking {path}"); + fn check_file(path: PathBuf) -> Option { + println!("Checking {}", path.display()); let buf = std::fs::read(path).ok()?; let str = unsafe { std::str::from_utf8_unchecked(&buf) }; let pos = str.find(MAGIC_STR); @@ -116,16 +116,18 @@ pub fn get_everest_version(game_path: &str) -> Option { Some(str) } - check_file(game_path.to_owned() + "/Celeste.exe") + let game_path = resolve_everest_install_path(Path::new(game_path)); + + check_file(game_path.join("Celeste.exe")) .or_else(|| { - if let Ok(data) = std::fs::read(game_path.to_owned() + "/Celeste.exe") + if let Ok(data) = std::fs::read(game_path.join("Celeste.exe")) && data .windows(MAGIC_STR_ONLY_ORIGIN_EXE.as_bytes().len()) .any(|window| window == MAGIC_STR_ONLY_ORIGIN_EXE.as_bytes()) { None } else { - check_file(game_path.to_owned() + "/Celeste.dll") + check_file(game_path.join("Celeste.dll")) } }) .or(None) @@ -139,7 +141,6 @@ fn run_command( cmd.stdout(Stdio::piped()); cmd.stderr(Stdio::piped()); const CREATE_NO_WINDOW: u32 = 0x08000000; - const DETACHED_PROCESS: u32 = 0x00000008; #[cfg(target_os = "windows")] use std::os::windows::process::CommandExt; #[cfg(target_os = "windows")] @@ -151,9 +152,38 @@ fn run_command( .ok_or_else(|| anyhow::anyhow!("Invalid installer path"))?, ); + #[cfg(unix)] + { + use std::os::unix::fs::PermissionsExt; + let metadata = std::fs::metadata(&installer_path)?; + let mut permissions = metadata.permissions(); + permissions.set_mode(permissions.mode() | 0o755); + std::fs::set_permissions(&installer_path, permissions)?; + } + let mut child = cmd.spawn()?; - let stdout = child.stdout.take().unwrap(); + let stdout = child + .stdout + .take() + .context("Failed to capture installer stdout")?; + let stderr = child + .stderr + .take() + .context("Failed to capture installer stderr")?; let reader = BufReader::new(stdout); + let stderr_handle = std::thread::spawn(move || { + let mut lines = Vec::new(); + for line in BufReader::new(stderr).lines() { + match line { + Ok(line) => lines.push(line), + Err(err) => { + lines.push(format!("Failed to read installer stderr: {err}")); + break; + } + } + } + lines + }); let mut line_count = 50f32; for line in reader.lines() { @@ -162,17 +192,58 @@ fn run_command( progress_callback(line, line_count); } - let output = child.wait_with_output()?; - - let stderr = String::from_utf8(output.stderr)?; + let status = child.wait()?; + let stderr = stderr_handle + .join() + .unwrap_or_else(|_| vec!["Failed to join installer stderr reader".to_string()]) + .join("\n"); - if !output.status.success() { + if !status.success() { bail!("Command failed with error: {}", stderr); } Ok(()) } +fn resolve_everest_install_path(game_path: &Path) -> PathBuf { + #[cfg(target_os = "macos")] + { + let bundled_resources = game_path + .join("Celeste.app") + .join("Contents") + .join("Resources"); + if bundled_resources.exists() { + return bundled_resources; + } + + let resources = game_path.join("Contents").join("Resources"); + if resources.exists() { + return resources; + } + } + + game_path.to_path_buf() +} + +#[cfg(target_os = "windows")] +fn installer_name() -> anyhow::Result<&'static str> { + match std::env::consts::ARCH { + "x86_64" => Ok("MiniInstaller-win64.exe"), + "x86" => Ok("MiniInstaller-win.exe"), + arch => bail!("Unsupported Windows architecture: {arch}"), + } +} + +#[cfg(target_os = "macos")] +fn installer_name() -> anyhow::Result<&'static str> { + Ok("MiniInstaller-osx") +} + +#[cfg(target_os = "linux")] +fn installer_name() -> anyhow::Result<&'static str> { + Ok("MiniInstaller-linux") +} + pub fn download_and_install_everest( game_path: &str, url: &str, @@ -181,10 +252,8 @@ pub fn download_and_install_everest( let generate_backup = false; let temp_path = std::env::temp_dir().join("everest.zip"); - let game_path = std::path::Path::new(game_path); - let temp_path = temp_path.to_str().unwrap(); - let game_path = game_path.to_str().unwrap(); + let game_path = resolve_everest_install_path(std::path::Path::new(game_path)); let cancel_flag = Arc::new(AtomicBool::new(false)); ureq::download_file_with_progress( @@ -203,19 +272,16 @@ pub fn download_and_install_everest( let mut archive = zip::ZipArchive::new(std::fs::File::open(temp_path)?)?; let archive_len = archive.len(); - let backup_dir = std::path::Path::new(game_path).join("backup"); + let backup_dir = game_path.join("backup"); for i in 0..archive_len { let mut file = archive.by_index(i)?; let dist_name = file.mangled_name(); // strip /main/ from the name let dist_name = dist_name.strip_prefix("main/")?; - let outpath = std::path::Path::new(game_path).join(dist_name); + let outpath = game_path.join(dist_name); let status_str = format!("Extracting {}", outpath.display()); - progress_callback( - status_str, - (i as f32) / (archive_len as f32) / 2f32 * 100f32, - ); + progress_callback(status_str, 50.0 + (i as f32) / (archive_len as f32) * 40.0); if file.name().ends_with('/') { std::fs::create_dir_all(&outpath)?; } else { @@ -235,22 +301,12 @@ pub fn download_and_install_everest( let mut outfile = std::fs::File::create(&outpath)?; std::io::copy(&mut file, &mut outfile)?; + outfile.flush()?; } } - let target = match std::env::consts::ARCH { - "x86_64" => "win-x64", - "x86" => "win-x86", - _ => unimplemented!("Unsupported target"), - }; - - let installer_name = match target { - "win-x64" => "MiniInstaller-win64.exe", - "win-x86" => "MiniInstaller-win.exe", - _ => unimplemented!("Unsupported target"), - }; - - let installer_path = std::path::Path::new(game_path).join(installer_name); + progress_callback("Running Everest installer".to_string(), 90.0); + let installer_path = game_path.join(installer_name()?); run_command(installer_path, progress_callback) } From c5ab9239ecb6f61418d2ddfa28e01d50a8924732 Mon Sep 17 00:00:00 2001 From: Haerbin23456 <60066765+Haerbin23456@users.noreply.github.com> Date: Tue, 12 May 2026 18:09:07 +0800 Subject: [PATCH 02/11] fix: normalize game path handling for macOS installation and improve path verification --- src/celemod-ui/src/states.ts | 4 +- src/celemod-ui/src/utils.ts | 6 +- src/everest.rs | 24 +--- src/main.rs | 245 ++++++++++++++++++++++++++++++----- 4 files changed, 223 insertions(+), 56 deletions(-) diff --git a/src/celemod-ui/src/states.ts b/src/celemod-ui/src/states.ts index 141d220..79f4434 100644 --- a/src/celemod-ui/src/states.ts +++ b/src/celemod-ui/src/states.ts @@ -141,7 +141,7 @@ const createPersistedStateByKey = (key: string, defaultValue: T) => createPer export const [initMirror, useMirror, currentMirror] = createPersistedStateByKey('mirror', 'wegfan') export const [initGamePath, useGamePath] = createPersistedState('', storage => { if (storage?.root?.lastGamePath) - return storage.root.lastGamePath + return callRemote("normalize_game_path", storage.root.lastGamePath) const paths = callRemote("get_celeste_dirs").split("\n").filter((v: string | null) => v); return paths[0] }, (storage, data, save) => { @@ -157,4 +157,4 @@ export const [initSearchSort, useSearchSort] = createPersistedStateByKey<'new' | export const [initAutoDisableNewMods, useAutoDisableNewMods] = createPersistedStateByKey('autoDisableNewMods', false) -export const [initModComments, useModComments] = createPersistedStateByKey('modComments', {}) \ No newline at end of file +export const [initModComments, useModComments] = createPersistedStateByKey('modComments', {}) diff --git a/src/celemod-ui/src/utils.ts b/src/celemod-ui/src/utils.ts index 6b59d5c..b3749a1 100644 --- a/src/celemod-ui/src/utils.ts +++ b/src/celemod-ui/src/utils.ts @@ -134,7 +134,11 @@ export const selectGamePath = (successCallback) => { // strip file:// and Celeste.exe const prefix = "file://".length; const decoded = decodeURI(res); - const path = dirname(decoded.slice(prefix)); + const path = callRemote("normalize_game_path", dirname(decoded.slice(prefix))); + if (!callRemote("verify_celeste_install", path)) { + alert("Invalid Celeste install path."); + return; + } console.log("Selected", path); successCallback(path); return path; diff --git a/src/everest.rs b/src/everest.rs index bdc9077..771b266 100644 --- a/src/everest.rs +++ b/src/everest.rs @@ -116,7 +116,7 @@ pub fn get_everest_version(game_path: &str) -> Option { Some(str) } - let game_path = resolve_everest_install_path(Path::new(game_path)); + let game_path = Path::new(game_path); check_file(game_path.join("Celeste.exe")) .or_else(|| { @@ -205,26 +205,6 @@ fn run_command( Ok(()) } -fn resolve_everest_install_path(game_path: &Path) -> PathBuf { - #[cfg(target_os = "macos")] - { - let bundled_resources = game_path - .join("Celeste.app") - .join("Contents") - .join("Resources"); - if bundled_resources.exists() { - return bundled_resources; - } - - let resources = game_path.join("Contents").join("Resources"); - if resources.exists() { - return resources; - } - } - - game_path.to_path_buf() -} - #[cfg(target_os = "windows")] fn installer_name() -> anyhow::Result<&'static str> { match std::env::consts::ARCH { @@ -253,7 +233,7 @@ pub fn download_and_install_everest( let temp_path = std::env::temp_dir().join("everest.zip"); let temp_path = temp_path.to_str().unwrap(); - let game_path = resolve_everest_install_path(std::path::Path::new(game_path)); + let game_path = std::path::Path::new(game_path); let cancel_flag = Arc::new(AtomicBool::new(false)); ureq::download_file_with_progress( diff --git a/src/main.rs b/src/main.rs index 8d3b98d..e7512e7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,6 @@ use serde::{Deserialize, Serialize}; use anyhow::{Context, bail}; -use ureq::DownloadCallbackInfo; use dirs; use everest::get_mod_cached_new; use game_scanner::prelude::Game; @@ -14,8 +13,12 @@ use std::{ fs, io::Read, path::{Path, PathBuf}, - sync::{Arc, Mutex, atomic::{AtomicBool, AtomicUsize, Ordering}}, + sync::{ + Arc, Mutex, + atomic::{AtomicBool, AtomicUsize, Ordering}, + }, }; +use ureq::DownloadCallbackInfo; static TEST_MODE: AtomicBool = AtomicBool::new(false); @@ -44,9 +47,9 @@ lazy_static::lazy_static! { static ref DOWNLOAD_CANCEL_FLAGS: Mutex>> = Mutex::new(HashMap::new()); } -mod ureq; mod blacklist; mod everest; +mod ureq; mod wegfan; #[macro_use] @@ -123,7 +126,13 @@ fn get_invalid_zip_mod_files(mods_folder_path: &str) -> Vec { entries .filter_map(|entry| entry.ok()) .filter(|entry| entry.file_type().map(|v| v.is_file()).unwrap_or(false)) - .filter(|entry| entry.path().extension().map(|v| v == "zip").unwrap_or(false)) + .filter(|entry| { + entry + .path() + .extension() + .map(|v| v == "zip") + .unwrap_or(false) + }) .filter(|entry| !is_valid_zip_archive(&entry.path())) .filter_map(|entry| entry.file_name().into_string().ok()) .collect() @@ -237,12 +246,23 @@ fn delete_mod_files(mods_folder_path: &str, file_names: &[String]) -> anyhow::Re Ok(()) } -fn download_mod_archive(url: &str, dest: &str, progress_callback: &mut dyn FnMut(DownloadCallbackInfo), multi_thread: bool) -> anyhow::Result<()> { +fn download_mod_archive( + url: &str, + dest: &str, + progress_callback: &mut dyn FnMut(DownloadCallbackInfo), + multi_thread: bool, +) -> anyhow::Result<()> { let cancel_flag = Arc::new(AtomicBool::new(false)); download_mod_archive_with_cancel(url, dest, progress_callback, multi_thread, &cancel_flag) } -fn download_mod_archive_with_cancel(url: &str, dest: &str, progress_callback: &mut dyn FnMut(DownloadCallbackInfo), multi_thread: bool, cancel_flag: &Arc) -> anyhow::Result<()> { +fn download_mod_archive_with_cancel( + url: &str, + dest: &str, + progress_callback: &mut dyn FnMut(DownloadCallbackInfo), + multi_thread: bool, + cancel_flag: &Arc, +) -> anyhow::Result<()> { let tmp_dir = std::env::temp_dir().join("CelemodTemp").join("mods"); std::fs::create_dir_all(&tmp_dir)?; @@ -326,8 +346,14 @@ fn get_installed_mods_sync(mods_folder_path: String) -> Vec { let mut mods = Vec::new(); let mod_data = get_mod_cached_new().unwrap(); - for entry in fs::read_dir(mods_folder_path).unwrap() { - let entry = entry.unwrap(); + let Ok(entries) = fs::read_dir(mods_folder_path) else { + return mods; + }; + + for entry in entries { + let Ok(entry) = entry else { + continue; + }; println!("Checking mod entry: {:?}", entry.file_name()); let res: anyhow::Result<_> = try { if false { @@ -508,6 +534,91 @@ fn get_celestes() -> Vec { games } +fn normalize_game_path(path: &str) -> String { + normalize_game_path_buf(Path::new(path)) + .to_string_lossy() + .to_string() +} + +fn normalize_game_path_buf(path: &Path) -> PathBuf { + #[cfg(target_os = "macos")] + { + fn has_game_artifact(path: &Path) -> bool { + path.join("Celeste.exe").is_file() + || path.join("Celeste.dll").is_file() + || path.join("Celeste").is_file() + } + + fn is_named(path: &Path, name: &str) -> bool { + path.file_name().and_then(|v| v.to_str()) == Some(name) + } + + fn resources_if_valid(path: PathBuf) -> Option { + if path.is_dir() + && (has_game_artifact(&path) + || path + .parent() + .map(|contents| contents.join("MacOS").join("Celeste").is_file()) + .unwrap_or(false)) + { + Some(path) + } else { + None + } + } + + let path = if path.is_file() { + path.parent().unwrap_or(path) + } else { + path + }; + + if is_named(path, "Resources") { + if let Some(resources) = resources_if_valid(path.to_path_buf()) { + return resources; + } + } + + if is_named(path, "MacOS") { + if let Some(contents) = path.parent() { + if let Some(resources) = resources_if_valid(contents.join("Resources")) { + return resources; + } + } + } + + if is_named(path, "Contents") { + if let Some(resources) = resources_if_valid(path.join("Resources")) { + return resources; + } + } + + if path.extension().and_then(|v| v.to_str()) == Some("app") { + if let Some(resources) = resources_if_valid(path.join("Contents").join("Resources")) { + return resources; + } + } + + if let Some(resources) = + resources_if_valid(path.join("Celeste.app").join("Contents").join("Resources")) + { + return resources; + } + + if has_game_artifact(path) { + if let Some(parent) = path.parent() { + if is_named(parent, "Contents") { + if let Some(resources) = resources_if_valid(parent.join("Resources")) { + return resources; + } + } + } + } + } + + path.to_path_buf() +} + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq)] enum DownloadStatus { Waiting, @@ -543,6 +654,10 @@ impl Handler { _use_cn_proxy: bool, multi_thread: bool, ) { + if let Err(e) = std::fs::create_dir_all(&mods_dir) { + eprintln!("Failed to create mods dir {}: {}", mods_dir, e); + } + let dest = Path::new(&mods_dir) .join(make_path_compatible_name(&name) + ".zip") .to_str() @@ -585,7 +700,11 @@ impl Handler { Err(e) => { eprintln!("Failed to get mod data: {}", e); callback - .call(None, &make_args!(format!("Failed to get mod data: {}", e)), None) + .call( + None, + &make_args!(format!("Failed to get mod data: {}", e)), + None, + ) .unwrap(); return; } @@ -600,7 +719,8 @@ impl Handler { let post_callback: Arc, &str) + Send + Sync> = { let sync_cb = Arc::clone(&sync_cb); Arc::new(move |tasklist: &Vec, state: &str| { - sync_cb.0 + sync_cb + .0 .call( None, &make_args!(serde_json::to_string(tasklist).unwrap(), state), @@ -679,7 +799,8 @@ impl Handler { deps.into_iter() .filter_map(|(dep, min_ver)| { if installed_mods.iter().any(|m| { - m.name == dep && compare_version(&m.version, &min_ver) >= 0 + m.name == dep + && compare_version(&m.version, &min_ver) >= 0 }) { return None; } @@ -847,29 +968,53 @@ impl Handler { } get_celestes() .iter() - .map(|game| game.path.clone().unwrap().to_str().unwrap().to_string()) + .map(|game| normalize_game_path_buf(&game.path.clone().unwrap())) + .map(|path| path.to_string_lossy().to_string()) .collect::>() .join("\n") } fn start_game(&self, path: String) { + let path = normalize_game_path(&path); let celestes = get_celestes(); - let game = celestes - .iter() - .find(|game| game.path.clone().unwrap().to_str().unwrap() == path) - .unwrap(); - game_scanner::manager::launch_game(game).unwrap(); + if let Some(game) = celestes.iter().find(|game| { + normalize_game_path_buf(&game.path.clone().unwrap()) + .to_string_lossy() + .to_string() + == path + }) { + game_scanner::manager::launch_game(game).unwrap(); + } else { + self.start_game_directly(path, false); + } } fn start_game_directly(&self, path: String, origin: bool) { - #[cfg(windows)] - let file = "Celeste.exe"; + let path = normalize_game_path(&path); + let path = Path::new(&path); - #[cfg(unix)] - let file = "Celeste"; + #[cfg(windows)] + let game = path.join("Celeste.exe"); + + #[cfg(all(unix, not(target_os = "macos")))] + let game = path.join("Celeste"); + + #[cfg(target_os = "macos")] + let game = { + let direct = path.join("Celeste"); + if direct.exists() { + direct + } else if path.file_name().and_then(|name| name.to_str()) == Some("Resources") { + path.parent().unwrap_or(path).join("MacOS").join("Celeste") + } else { + direct + } + }; - let game = Path::new(&path).join(file); - let game_origin = Path::new(&path).join("orig").join(file); + let game_origin = path.join("orig").join( + game.file_name() + .unwrap_or_else(|| std::ffi::OsStr::new("Celeste")), + ); if origin { if game_origin.exists() { @@ -948,6 +1093,7 @@ impl Handler { fn get_blacklist_profiles(&self, game_path: String, callback: sciter::Value) { std::thread::spawn(move || { + let game_path = normalize_game_path(&game_path); let profiles = blacklist::get_mod_blacklist_profiles(&game_path); callback .call( @@ -965,6 +1111,7 @@ impl Handler { profile_name: String, always_on_mods: String, ) -> String { + let game_path = normalize_game_path(&game_path); let always_on_mods: Vec = serde_json::from_str(&always_on_mods).unwrap(); let result = blacklist::apply_mod_blacklist_profile(&game_path, &profile_name, &always_on_mods); @@ -984,6 +1131,7 @@ impl Handler { mod_files: String, enabled: bool, ) -> String { + let game_path = normalize_game_path(&game_path); let mod_names: Vec = serde_json::from_str(&mod_names).unwrap(); let mod_files: Vec = serde_json::from_str(&mod_files).unwrap(); let mods: Vec<(&String, &String)> = mod_names.iter().zip(mod_files.iter()).collect(); @@ -999,6 +1147,7 @@ impl Handler { } fn new_mod_blacklist_profile(&self, game_path: String, profile_name: String) -> String { + let game_path = normalize_game_path(&game_path); let result = blacklist::new_mod_blacklist_profile(&game_path, &profile_name); if let Err(e) = result { eprintln!("Failed to create blacklist profile: {}", e); @@ -1009,6 +1158,7 @@ impl Handler { } fn get_current_profile(&self, game_path: String) -> String { + let game_path = normalize_game_path(&game_path); let result = blacklist::get_current_profile(&game_path); if let Err(e) = result { eprintln!("Failed to get current profile: {}", e); @@ -1019,6 +1169,7 @@ impl Handler { } fn remove_mod_blacklist_profile(&self, game_path: String, profile_name: String) -> String { + let game_path = normalize_game_path(&game_path); let result = blacklist::remove_mod_blacklist_profile(&game_path, &profile_name); if let Err(e) = result { eprintln!("Failed to remove blacklist profile: {}", e); @@ -1029,6 +1180,7 @@ impl Handler { } fn get_current_blacklist_content(&self, game_path: String) -> String { + let game_path = normalize_game_path(&game_path); let result = blacklist::get_current_blacklist_content(&game_path); if let Err(e) = result { eprintln!("Failed to get current blacklist content: {}", e); @@ -1100,6 +1252,7 @@ impl Handler { } fn sync_blacklist_profile_from_file(&self, game_path: String, profile_name: String) -> String { + let game_path = normalize_game_path(&game_path); let result = blacklist::sync_blacklist_profile_from_file(&game_path, &profile_name); if let Err(e) = result { eprintln!("Failed to sync blacklist profile: {}", e); @@ -1109,7 +1262,13 @@ impl Handler { } } - fn set_mod_options_order(&self, game_path: String, profile_name: String, order_json: String) -> String { + fn set_mod_options_order( + &self, + game_path: String, + profile_name: String, + order_json: String, + ) -> String { + let game_path = normalize_game_path(&game_path); let order: Vec = match serde_json::from_str(&order_json) { Ok(v) => v, Err(e) => return format!("Failed to parse order: {}", e), @@ -1183,6 +1342,7 @@ impl Handler { fn delete_mods(&self, game_path: String, mod_names: String, callback: sciter::Value) { std::thread::spawn(move || { + let game_path = normalize_game_path(&game_path); let mods_folder_path = Path::new(&game_path) .join("Mods") .to_string_lossy() @@ -1208,7 +1368,12 @@ impl Handler { }); } - fn delete_mod_files(&self, mods_folder_path: String, file_names: String, callback: sciter::Value) { + fn delete_mod_files( + &self, + mods_folder_path: String, + file_names: String, + callback: sciter::Value, + ) { std::thread::spawn(move || { let file_names: Vec = serde_json::from_str(&file_names).unwrap_or_default(); let result = match delete_mod_files(&mods_folder_path, &file_names) { @@ -1225,6 +1390,7 @@ impl Handler { let version = if is_test_mode() { "4000".to_string() } else { + let game_path = normalize_game_path(&game_path); everest::get_everest_version(&game_path) .map(|v| v.to_string()) .unwrap_or_default() @@ -1244,6 +1410,7 @@ impl Handler { callback.call(None, &make_args!("Success"), None).unwrap(); return; } + let game_path = normalize_game_path(&game_path); let callback2 = callback.clone(); match everest::download_and_install_everest(&game_path, &url, &mut |msg, progress| { callback @@ -1312,16 +1479,32 @@ impl Handler { if is_test_mode() && path == get_test_game_path().to_string_lossy() { return true; } + let path = normalize_game_path(&path); let path = Path::new(&path); - let checklist = vec!["Celeste.exe", "Celeste"]; + let checklist = vec!["Celeste.exe", "Celeste", "Celeste.dll"]; for file in checklist { if path.join(file).exists() { return true; } } + #[cfg(target_os = "macos")] + { + if path.file_name().and_then(|name| name.to_str()) == Some("Resources") + && path + .parent() + .map(|contents| contents.join("MacOS").join("Celeste").exists()) + .unwrap_or(false) + { + return true; + } + } false } + fn normalize_game_path(&self, path: String) -> String { + normalize_game_path(&path) + } + fn show_log_window(&self) { #[cfg(windows)] { @@ -1365,6 +1548,7 @@ impl sciter::EventHandler for Handler { fn do_self_update(String, Value); fn start_game_directly(String, bool); fn verify_celeste_install(String); + fn normalize_game_path(String); fn get_mod_latest_info(Value); fn show_log_window(); fn get_current_blacklist_content(String); @@ -1489,20 +1673,19 @@ fn main() { #[cfg(not(target_os = "windows"))] const INDEX_HTML: &str = "index.html"; - #[cfg(debug_assertions)] frame.load_html( read_to_string_bom(Path::new("../../src/celemod-ui/debug_index.html")) .unwrap() - .as_bytes(), Some( - &format!("app://{}", INDEX_HTML) - )); + .as_bytes(), + Some(&format!("app://{}", INDEX_HTML)), + ); #[cfg(not(debug_assertions))] { frame .archive_handler(include_bytes!("../resources/dist.rc")) .unwrap(); - + frame.load_file(&format!("this://app/{}", INDEX_HTML)); } From 406c489d76d64d056f537c50c6d5894ad42cf708 Mon Sep 17 00:00:00 2001 From: Haerbin23456 <60066765+Haerbin23456@users.noreply.github.com> Date: Tue, 12 May 2026 19:42:38 +0800 Subject: [PATCH 03/11] fix: update installation progress messages for clarity and accuracy --- src/celemod-ui/src/routes/Everest.tsx | 4 ++-- src/everest.rs | 18 ++++++++++-------- src/main.rs | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/celemod-ui/src/routes/Everest.tsx b/src/celemod-ui/src/routes/Everest.tsx index a8e4d06..c6d34f8 100644 --- a/src/celemod-ui/src/routes/Everest.tsx +++ b/src/celemod-ui/src/routes/Everest.tsx @@ -106,7 +106,7 @@ export const Everest = () => { setInstallingUrl(url); setInstallProgress(null); setFailedReason(null); - setInstallState('Downloading Everest'); + setInstallState('[1/3] Download Everest'); callRemote( 'download_and_install_everest', gamePath, @@ -284,7 +284,7 @@ export const Everest = () => { />
- {installState === 'Downloading Everest' + {installState?.startsWith('[1/3]') ? _i18n.t('正在下载') : _i18n.t('正在安装')}
diff --git a/src/everest.rs b/src/everest.rs index 771b266..8637fcf 100644 --- a/src/everest.rs +++ b/src/everest.rs @@ -185,11 +185,11 @@ fn run_command( lines }); - let mut line_count = 50f32; + let mut line_count = 0f32; for line in reader.lines() { let line = line?; - line_count += 0.5; - progress_callback(line, line_count); + line_count = (line_count + 0.5).min(99.0); + progress_callback(format!("[3/3] Run MiniInstaller: {line}"), line_count); } let status = child.wait()?; @@ -202,6 +202,8 @@ fn run_command( bail!("Command failed with error: {}", stderr); } + progress_callback("[3/3] Run MiniInstaller".to_string(), 100.0); + Ok(()) } @@ -240,13 +242,13 @@ pub fn download_and_install_everest( url, temp_path, &mut |callback| { - progress_callback("Downloading Everest".to_string(), callback.progress); + progress_callback("[1/3] Download Everest".to_string(), callback.progress); }, false, &cancel_flag, )?; - progress_callback("Installing Everest".to_string(), 50.0); + progress_callback("[2/3] Extract Everest files".to_string(), 0.0); // unzip everest/main/* to game_path and overwrite all let mut archive = zip::ZipArchive::new(std::fs::File::open(temp_path)?)?; @@ -260,8 +262,8 @@ pub fn download_and_install_everest( // strip /main/ from the name let dist_name = dist_name.strip_prefix("main/")?; let outpath = game_path.join(dist_name); - let status_str = format!("Extracting {}", outpath.display()); - progress_callback(status_str, 50.0 + (i as f32) / (archive_len as f32) * 40.0); + let status_str = format!("[2/3] Extract Everest files: {}", outpath.display()); + progress_callback(status_str, (i as f32) / (archive_len as f32) * 100.0); if file.name().ends_with('/') { std::fs::create_dir_all(&outpath)?; } else { @@ -285,7 +287,7 @@ pub fn download_and_install_everest( } } - progress_callback("Running Everest installer".to_string(), 90.0); + progress_callback("[3/3] Run MiniInstaller".to_string(), 0.0); let installer_path = game_path.join(installer_name()?); run_command(installer_path, progress_callback) diff --git a/src/main.rs b/src/main.rs index e7512e7..d854957 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1418,7 +1418,7 @@ impl Handler { .unwrap(); }) { Ok(()) => { - callback2.call(None, &make_args!("Success"), None).unwrap(); + callback2.call(None, &make_args!("Success", 100.0), None).unwrap(); } Err(e) => { callback2 From 56b00b607afe70676d2034bf4ce61174ca916c9a Mon Sep 17 00:00:00 2001 From: Haerbin23456 <60066765+Haerbin23456@users.noreply.github.com> Date: Thu, 14 May 2026 18:18:12 +0800 Subject: [PATCH 04/11] chore: add logging for game path handling --- .github/workflows/rust.yml | 3 +- .../src/components/GameSelector.tsx | 18 +++++++- src/celemod-ui/src/context/download.ts | 15 ++++++- src/celemod-ui/src/context/modManage.tsx | 15 ++++--- src/celemod-ui/src/routes/Home.tsx | 9 +++- src/celemod-ui/src/routes/Manage.tsx | 6 ++- src/celemod-ui/src/states.ts | 10 ++++- src/celemod-ui/src/utils.ts | 10 ++++- src/main.rs | 42 ++++++++++++++++--- 9 files changed, 109 insertions(+), 19 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 3bb95d6..0d4597e 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,8 +1,9 @@ name: Rust on: + workflow_dispatch: push: - branches: [ "master" ] + branches: [ "master", "fix-mac-install" ] pull_request: branches: [ "master" ] release: diff --git a/src/celemod-ui/src/components/GameSelector.tsx b/src/celemod-ui/src/components/GameSelector.tsx index 349df43..03ec2ba 100644 --- a/src/celemod-ui/src/components/GameSelector.tsx +++ b/src/celemod-ui/src/components/GameSelector.tsx @@ -13,9 +13,19 @@ export const GameSelector = (props: { const [gamePath] = useGamePath(); if (!props.paths.includes(gamePath)) { + console.log('[path] GameSelector appending current gamePath to scanned paths', { + gamePath, + scannedPaths: props.paths, + }); props.paths.push(gamePath); } + console.log('[path] GameSelector render', { + gamePath, + paths: props.paths, + selected: gamePath || props.paths[0], + }); + return (
@@ -50,7 +60,13 @@ export const GameSelector = (props: {
-
- {installState?.startsWith('[1/3]') - ? _i18n.t('正在下载') - : _i18n.t('正在安装')} -
+
{getInstallTip(installState)}
{installingUrl}
-
{installState}
+ {getInstallDetail(installState) ? ( +
{getInstallDetail(installState)}
+ ) : null} )}
From de586d36a9d59a8a43890df68184e2c907c4d204 Mon Sep 17 00:00:00 2001 From: Haerbin23456 <60066765+Haerbin23456@users.noreply.github.com> Date: Thu, 14 May 2026 23:56:46 +0800 Subject: [PATCH 10/11] fix: adjust progress calculation in run_command for accurate line counting --- resources/dist.rc | Bin 4206373 -> 1962601 bytes src/everest.rs | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/dist.rc b/resources/dist.rc index fc76ab06480427d60ce5ac4fc7e6cb88b351c3e6..b4d6b93e5d3cdce2fbd2ad4afed9052741fad0ea 100644 GIT binary patch delta 17491 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 IQ{n$V0EoZVdH?_b delta 459341 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
  • xT6# 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%0Dw8|I#19B@!LQ8Z+mP)(!{*gUeH+OxJ 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