Skip to content

Commit cf3c0ea

Browse files
authored
Merge pull request #90 from TwintailTeam/master
1.1.1 hotfix
2 parents 825e69b + 1931624 commit cf3c0ea

File tree

9 files changed

+82
-40
lines changed

9 files changed

+82
-40
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "twintaillauncher",
33
"private": true,
4-
"version": "1.1.0",
4+
"version": "1.1.1",
55
"type": "module",
66
"scripts": {
77
"dev": "vite --mode master",

src-tauri/Cargo.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "twintaillauncher"
3-
version = "1.1.0"
3+
version = "1.1.1"
44
description = "A multi-platform launcher for your anime games"
55
authors = ["TukanDev"]
66
edition = "2024"

src-tauri/src/commands/install.rs

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,29 @@ pub fn add_install(app: AppHandle, manifest_id: String, version: String, audio_l
115115
let dm = get_compatibility(archandle.as_ref(), &runner_from_runner_version(dxvkv.as_str().to_string()).unwrap()).unwrap();
116116
let dv = dm.versions.into_iter().filter(|v| v.version.as_str() == dxvkv.as_str()).collect::<Vec<_>>();
117117
let dxvkp = dv.get(0).unwrap().to_owned();
118-
if fs::read_dir(dxvkpp.as_str().to_string()).unwrap().next().is_none() { Compat::download_dxvk(dxvkp.url, dxvkpp.as_str().to_string(), true); }
118+
if fs::read_dir(dxvkpp.as_str().to_string()).unwrap().next().is_none() { Compat::download_dxvk(dxvkp.url, dxvkpp.as_str().to_string(), true, move |_current, _total| {}); }
119119

120120
if fs::read_dir(rp.as_path()).unwrap().next().is_none() {
121121
let mut dlpayload = HashMap::new();
122122

123123
dlpayload.insert("name", runv.to_string());
124-
dlpayload.insert("progress", "90".to_string());
125-
dlpayload.insert("total", "100".to_string());
124+
dlpayload.insert("progress", "0".to_string());
125+
dlpayload.insert("total", "1000".to_string());
126126
//archandle.emit("download_progress", dlpayload.clone()).unwrap();
127127
prevent_exit(&*archandle, true);
128128

129-
let r0 = Compat::download_runner(runnerp.url, runpp.as_str().to_string(), true);
129+
let r0 = Compat::download_runner(runnerp.url, runpp.as_str().to_string(), true, {
130+
let archandle = archandle.clone();
131+
let dlpayload = dlpayload.clone();
132+
let runv = runv.clone();
133+
move |current, total| {
134+
let mut dlpayload = dlpayload.clone();
135+
dlpayload.insert("name", runv.to_string());
136+
dlpayload.insert("progress", current.to_string());
137+
dlpayload.insert("total", total.to_string());
138+
archandle.emit("download_progress", dlpayload.clone()).unwrap();
139+
}
140+
});
130141
if r0 {
131142
let wine64 = if rm.paths.wine64.is_empty() { rm.paths.wine32 } else { rm.paths.wine64 };
132143
let winebin = rp.join(wine64).to_str().unwrap().to_string();
@@ -569,12 +580,23 @@ pub fn update_install_runner_version(app: AppHandle, id: String, version: String
569580
let mut dlpayload = HashMap::new();
570581

571582
dlpayload.insert("name", runv.to_string());
572-
dlpayload.insert("progress", "80".to_string());
573-
dlpayload.insert("total", "100".to_string());
583+
dlpayload.insert("progress", "0".to_string());
584+
dlpayload.insert("total", "1000".to_string());
574585
archandle.emit("download_progress", dlpayload.clone()).unwrap();
575586
prevent_exit(&*archandle, true);
576587

577-
let r0 = Compat::download_runner(runnerp.url, runpp.as_str().to_string(), true);
588+
let r0 = Compat::download_runner(runnerp.url, runpp.as_str().to_string(), true, {
589+
let archandle = archandle.clone();
590+
let dlpayload = dlpayload.clone();
591+
let runv = runv.clone();
592+
move |current, total| {
593+
let mut dlpayload = dlpayload.clone();
594+
dlpayload.insert("name", runv.to_string());
595+
dlpayload.insert("progress", current.to_string());
596+
dlpayload.insert("total", total.to_string());
597+
archandle.emit("download_progress", dlpayload.clone()).unwrap();
598+
}
599+
});
578600
if r0 {
579601
let wine64 = if rm.paths.wine64.is_empty() { rm.paths.wine32 } else { rm.paths.wine64 };
580602
let winebin = rp.join(wine64).to_str().unwrap().to_string();
@@ -644,12 +666,23 @@ pub fn update_install_dxvk_version(app: AppHandle, id: String, version: String)
644666

645667
if is_proton { send_notification(&*archandle, "Skipping DXVK download because Proton ships with DXVK.", None); } else {
646668
dlpayload.insert("name", runv.to_string());
647-
dlpayload.insert("progress", "80".to_string());
648-
dlpayload.insert("total", "100".to_string());
669+
dlpayload.insert("progress", "0".to_string());
670+
dlpayload.insert("total", "1000".to_string());
649671
archandle.emit("download_progress", dlpayload.clone()).unwrap();
650672
prevent_exit(&*archandle, true);
651673

652-
let r0 = Compat::download_dxvk(dxp.url, dxpp.to_str().unwrap().to_string(), true);
674+
let r0 = Compat::download_dxvk(dxp.url, dxpp.to_str().unwrap().to_string(), true, {
675+
let archandle = archandle.clone();
676+
let dlpayload = dlpayload.clone();
677+
let runv = runv.clone();
678+
move |current, total| {
679+
let mut dlpayload = dlpayload.clone();
680+
dlpayload.insert("name", runv.to_string());
681+
dlpayload.insert("progress", current.to_string());
682+
dlpayload.insert("total", total.to_string());
683+
archandle.emit("download_progress", dlpayload.clone()).unwrap();
684+
}
685+
});
653686
if r0 {
654687
let wine64 = if rm.paths.wine64.is_empty() { rm.paths.wine32 } else { rm.paths.wine64 };
655688
let winebin = rp.join(wine64).to_str().unwrap().to_string();

src-tauri/src/utils/mod.rs

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ pub fn register_listeners(app: &AppHandle) {
232232
prevent_exit(&h4, false);
233233
send_notification(&h4, format!("Download of {inn} complete.", inn = install.name).as_str(), None);
234234
}
235-
// KuroGame only currently
235+
// KuroGame only
236236
"DOWNLOAD_MODE_RAW" => {
237237
let urls = picked.game.full.iter().map(|v| v.file_url.clone()).collect::<Vec<String>>();
238238
let manifest = urls.get(0).unwrap();
@@ -261,7 +261,7 @@ pub fn register_listeners(app: &AppHandle) {
261261
}
262262
}
263263
}
264-
// Fallback mode... NOT IMPLEMENTED AS I DID NOT WRITE ANY IN THE LIBRARY
264+
// Fallback mode
265265
_ => {}
266266
}
267267
} else {
@@ -378,7 +378,7 @@ pub fn register_listeners(app: &AppHandle) {
378378
}
379379
}
380380
}
381-
// Fallback mode... NOT IMPLEMENTED AS I DID NOT WRITE ANY IN THE LIBRARY
381+
// Fallback mode
382382
_ => {}
383383
}
384384
} else {
@@ -476,7 +476,6 @@ pub fn register_listeners(app: &AppHandle) {
476476
let dlpayload = dlpayload.clone();
477477
move |current, total| {
478478
let mut dlp = dlpayload.lock().unwrap();
479-
480479
dlp.insert("name", instn.to_string());
481480
dlp.insert("progress", current.to_string());
482481
dlp.insert("total", total.to_string());
@@ -535,7 +534,7 @@ pub fn register_listeners(app: &AppHandle) {
535534
prevent_exit(&h5, true);
536535

537536
match pmd.download_mode.as_str() {
538-
// Generic zipped mode, Variety per game can not account for every case yet
537+
// Generic zipped mode, Variety per game
539538
"DOWNLOAD_MODE_FILE" => {
540539
h5.emit("preload_complete", ()).unwrap();
541540
prevent_exit(&h5, false);
@@ -611,7 +610,7 @@ pub fn register_listeners(app: &AppHandle) {
611610
}
612611
}*/
613612
}
614-
// Fallback mode... NOT IMPLEMENTED AS I DID NOT WRITE ANY IN THE LIBRARY
613+
// Fallback mode
615614
_ => {}
616615
}
617616
}
@@ -785,14 +784,14 @@ pub fn download_or_update_jadeite(path: PathBuf, update_mode: bool) {
785784
if update_mode {
786785
if fs::read_dir(&path).unwrap().next().is_some() {
787786
std::thread::spawn(move || {
788-
let dl = Extras::download_jadeite("MrLGamer/jadeite".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap());
787+
let dl = Extras::download_jadeite("MrLGamer/jadeite".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), move |_current, _total| {});
789788
if dl { extract_archive("".to_string(), path.join("jadeite.zip").as_path().to_str().unwrap().parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false); }
790789
});
791790
}
792791
} else {
793792
if fs::read_dir(&path).unwrap().next().is_none() {
794793
std::thread::spawn(move || {
795-
let dl = Extras::download_jadeite("MrLGamer/jadeite".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap());
794+
let dl = Extras::download_jadeite("MrLGamer/jadeite".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), move |_current, _total| {});
796795
if dl { extract_archive("".to_string(), path.join("jadeite.zip").as_path().to_str().unwrap().parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false); }
797796
});
798797
}
@@ -802,11 +801,11 @@ pub fn download_or_update_jadeite(path: PathBuf, update_mode: bool) {
802801
pub fn download_or_update_fps_unlock(path: PathBuf, update_mode: bool) {
803802
if update_mode {
804803
if fs::read_dir(&path).unwrap().next().is_some() {
805-
std::thread::spawn(move || { Extras::download_fps_unlock("TwintailTeam/KeqingUnlock".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap()); });
804+
std::thread::spawn(move || { Extras::download_fps_unlock("TwintailTeam/KeqingUnlock".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), move |_current, _total| {}); });
806805
}
807806
} else {
808807
if fs::read_dir(&path).unwrap().next().is_none() {
809-
std::thread::spawn(move || { Extras::download_fps_unlock("TwintailTeam/KeqingUnlock".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap()); });
808+
std::thread::spawn(move || { Extras::download_fps_unlock("TwintailTeam/KeqingUnlock".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), move |_current, _total| {}); });
810809
}
811810
}
812811
}
@@ -815,7 +814,7 @@ pub fn download_or_update_xxmi(app: &AppHandle, path: PathBuf, update_mode: bool
815814
if update_mode {
816815
if fs::read_dir(&path).unwrap().next().is_some() {
817816
std::thread::spawn(move || {
818-
let dl = Extras::download_xxmi("SpectrumQT/XXMI-Libs-Package".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false);
817+
let dl = Extras::download_xxmi("SpectrumQT/XXMI-Libs-Package".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false, move |_current, _total| {});
819818
if dl {
820819
extract_archive("".to_string(), path.join("xxmi.zip").as_path().to_str().unwrap().parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false);
821820
let gimi = String::from("SilentNightSound/GIMI-Package");
@@ -849,11 +848,21 @@ pub fn download_or_update_xxmi(app: &AppHandle, path: PathBuf, update_mode: bool
849848
let app = app.clone();
850849
let mut dlpayload = HashMap::new();
851850
dlpayload.insert("name", String::from("XXMI Modding tool"));
852-
dlpayload.insert("progress", "80".to_string());
853-
dlpayload.insert("total", "100".to_string());
851+
dlpayload.insert("progress", "0".to_string());
852+
dlpayload.insert("total", "1000".to_string());
854853
app.emit("download_progress", dlpayload.clone()).unwrap();
855854
prevent_exit(&app, true);
856-
let dl = Extras::download_xxmi("SpectrumQT/XXMI-Libs-Package".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), true);
855+
let dl = Extras::download_xxmi("SpectrumQT/XXMI-Libs-Package".parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), true, {
856+
let app = app.clone();
857+
let dlpayload = dlpayload.clone();
858+
move |current, total| {
859+
let mut dlpayload = dlpayload.clone();
860+
dlpayload.insert("name", "XXMI Modding tool".to_string());
861+
dlpayload.insert("progress", current.to_string());
862+
dlpayload.insert("total", total.to_string());
863+
app.emit("download_progress", dlpayload.clone()).unwrap();
864+
}
865+
});
857866
if dl {
858867
extract_archive("".to_string(), path.join("xxmi.zip").as_path().to_str().unwrap().parse().unwrap(), path.as_path().to_str().unwrap().parse().unwrap(), false);
859868
let gimi = String::from("SilentNightSound/GIMI-Package");

src-tauri/src/utils/repo_manager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,9 @@ pub fn load_manifests(app: &AppHandle) {
255255
let pp = Path::new(&np).follow_symlink().unwrap();
256256
if !pp.exists() {
257257
fs::create_dir_all(&pp).unwrap();
258-
Compat::download_runner(first.url.clone(), pp.to_str().unwrap().to_string(),true);
258+
Compat::download_runner(first.url.clone(), pp.to_str().unwrap().to_string(),true, move |_current, _total| {});
259259
} else {
260-
Compat::download_runner(first.url.clone(), pp.to_str().unwrap().to_string(),true);
260+
Compat::download_runner(first.url.clone(), pp.to_str().unwrap().to_string(),true, move |_current, _total| {});
261261
}
262262
update_install_runner_location_by_id(&app, i.id.clone(), np);
263263
update_install_runner_version_by_id(&app, i.id, first.version.clone());

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "twintaillauncher",
4-
"version": "1.1.0",
4+
"version": "1.1.1",
55
"identifier": "twintaillauncher",
66
"build": {
77
"beforeDevCommand": "pnpm dev",

src/components/layout/DownloadProgress.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default function DownloadProgress(props: DownloadProgressProps) {
2222
{name}
2323
</h4>
2424
<h4 className={"pl-4 pb-1 text-white text-stroke inline"}>
25-
(<span id={"progress_percent"}>{percentText}</span> |
25+
(<span id={"progress_percent"}>{percentText}</span> |&nbsp;
2626
<span id={"progress_pretty"}>
2727
{pretty} / {prettyTotal}
2828
</span>)

0 commit comments

Comments
 (0)