From f478ad92169d2f632ed221755816f9eca9880fd4 Mon Sep 17 00:00:00 2001 From: akanyan Date: Mon, 28 Apr 2025 16:44:04 +0000 Subject: [PATCH] feat: add package creator --- CHANGELOG.md | 5 + public/no-icon.png | Bin 0 -> 69239 bytes rust/src/cmd.rs | 62 +++++++- rust/src/lib.rs | 1 + rust/src/model/local.rs | 3 +- rust/static/standard-amdaemon.json5 | 4 +- rust/tauri.conf.json | 2 +- src/components/ModList.vue | 221 +++++++++++++++++++++++----- src/components/ModTitlecard.vue | 28 ++-- src/i18n/en.ts | 13 ++ src/i18n/pl.ts | 13 ++ 11 files changed, 302 insertions(+), 50 deletions(-) create mode 100644 public/no-icon.png diff --git a/CHANGELOG.md b/CHANGELOG.md index ba0816e..2b8bdfe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.17.0 + +- Added a package creation prompt +- Added a default package icon + ## 0.16.0 - Fixed the clear cache button not working diff --git a/public/no-icon.png b/public/no-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3460dc7c4de0d10720361147333c0298420f995f GIT binary patch literal 69239 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 z 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, key: .map_err(|e| e.to_string()) } +#[tauri::command] +pub async fn create_package( + name: String, + description: String, + website: String, + r#type: String, + games: Vec +) -> Result<(), String> { + log::debug!("invoke: create_package"); + + let dir = util::pkg_dir_of("local", &name); + + if dir.exists() { + return Err("Package already exists".to_owned()); + } + + let mut installers = Vec::new(); + + if r#type == "segatools" { + let mut map = BTreeMap::new(); + map.insert( + "identifier".to_owned(), + serde_json::Value::String("segatools".to_owned()) + ); + installers.push(map); + } else if r#type == "native" { + let mut map = BTreeMap::new(); + map.insert( + "identifier".to_owned(), + serde_json::Value::String("native_mod".to_owned()) + ); + map.insert( + "dll-game".to_owned(), + serde_json::Value::String("some.dll".to_owned()) + ); + map.insert( + "dll-amdaemon".to_owned(), + serde_json::Value::String("another.dll".to_owned()) + ); + installers.push(map); + } + + let manifest = PackageManifest { + name, + version_number: "1.0.0".to_owned(), + description, + website_url: website, + dependencies: BTreeSet::new(), + installers, + games: Some(games) + }; + + std::fs::create_dir(&dir).map_err(|e| e.to_string())?; + let json = serde_json::to_string_pretty(&manifest).map_err(|e| e.to_string())?; + std::fs::write(dir.join("manifest.json"), json).map_err(|e| e.to_string())?; + + Ok(()) +} + #[tauri::command] pub async fn reload_all_packages(state: State<'_, tokio::sync::Mutex>) -> Result<(), String> { log::debug!("invoke: reload_all_packages"); diff --git a/rust/src/lib.rs b/rust/src/lib.rs index da036bf..8d1a4c7 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -193,6 +193,7 @@ pub async fn run(_args: Vec) { cmd::install_package, cmd::delete_package, cmd::toggle_package, + cmd::create_package, cmd::list_profiles, cmd::init_profile, diff --git a/rust/src/model/local.rs b/rust/src/model/local.rs index 2914779..3d781db 100644 --- a/rust/src/model/local.rs +++ b/rust/src/model/local.rs @@ -6,10 +6,11 @@ use super::misc::Game; // manifest.json -#[derive(Deserialize)] +#[derive(Serialize, Deserialize)] pub struct PackageManifest { pub name: String, pub version_number: String, + pub website_url: String, pub description: String, pub dependencies: BTreeSet, diff --git a/rust/static/standard-amdaemon.json5 b/rust/static/standard-amdaemon.json5 index a04d4be..00f6c07 100644 --- a/rust/static/standard-amdaemon.json5 +++ b/rust/static/standard-amdaemon.json5 @@ -63,9 +63,9 @@ }, { // Ongeki - filename: "amdaemon.exe", + filename: "amdaemon.exe", version: "46d47eab", - sha256: '962C76331306D0839AFD40808EA99D83E651D39C4708C448ADE0C77E8BC0A1B0', + sha256: '962C76331306D0839AFD40808EA99D83E651D39C4708C448ADE0C77E8BC0A1B0', patches: [ { id: 'standard-localhost', diff --git a/rust/tauri.conf.json b/rust/tauri.conf.json index 3e3c1a2..182c836 100644 --- a/rust/tauri.conf.json +++ b/rust/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "STARTLINER", - "version": "0.16.0", + "version": "0.17.0", "identifier": "zip.patafour.startliner", "build": { "beforeDevCommand": "bun run dev", diff --git a/src/components/ModList.vue b/src/components/ModList.vue index 88c4942..de97f2e 100644 --- a/src/components/ModList.vue +++ b/src/components/ModList.vue @@ -1,12 +1,16 @@ + + diff --git a/src/components/ModTitlecard.vue b/src/components/ModTitlecard.vue index 6221cdf..0cd7091 100644 --- a/src/components/ModTitlecard.vue +++ b/src/components/ModTitlecard.vue @@ -1,7 +1,8 @@