update deps, add reqwest and clippy

This commit is contained in:
2025-10-02 20:36:22 +08:00
parent 1686114181
commit 6e401c86cf
4 changed files with 1260 additions and 248 deletions

1477
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,13 +12,15 @@ re-tex = { git = "https://github.com/eigeen/re-tex.git", branch = "main" }
ree-pak-core = { git = "https://github.com/eigeen/ree-pak-rs.git", branch = "main" } ree-pak-core = { git = "https://github.com/eigeen/ree-pak-rs.git", branch = "main" }
# UI # UI
dialoguer = "0.11" dialoguer = "0.12"
indicatif = "0.18" indicatif = "0.18"
colored = "3.0"
color-eyre = "0.6" color-eyre = "0.6"
rayon = "1.11" rayon = "1.11"
parking_lot = "0.12" parking_lot = "0.12"
colored = "3.0"
fs-err = "3.1" fs-err = "3.1"
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = "1.0"
tokio = { version = "1.47", features = ["parking_lot", "rt-multi-thread", "macros"] }
reqwest = { version = "0.12", features = ["json"] }

View File

@@ -18,10 +18,8 @@ use parking_lot::Mutex;
use rayon::iter::{IntoParallelRefIterator, ParallelIterator}; use rayon::iter::{IntoParallelRefIterator, ParallelIterator};
use re_tex::tex::Tex; use re_tex::tex::Tex;
use ree_pak_core::{ use ree_pak_core::{
filename::{FileNameExt, FileNameTable}, filename::FileNameTable, pak::PakEntry, read::archive::PakArchiveReader,
pak::PakEntry, utf16_hash::Utf16HashExt, write::FileOptions,
read::archive::PakArchiveReader,
write::FileOptions,
}; };
use crate::{chunk::ChunkName, metadata::PakMetadata, util::human_bytes}; use crate::{chunk::ChunkName, metadata::PakMetadata, util::human_bytes};
@@ -80,7 +78,7 @@ impl App {
// Mode selection // Mode selection
let mode = Select::with_theme(&ColorfulTheme::default()) let mode = Select::with_theme(&ColorfulTheme::default())
.with_prompt("Select mode") .with_prompt("Select mode")
.items(&["Automatic", "Manual", "Restore"]) .items(["Automatic", "Manual", "Restore"])
.default(0) .default(0)
.interact()?; .interact()?;
let mode = Mode::from_index(mode)?; let mode = Mode::from_index(mode)?;
@@ -277,7 +275,7 @@ impl App {
} }
bar.inc(1); bar.inc(1);
if bar.position() % 100 == 0 { if bar.position().is_multiple_of(100) {
bar.set_message( bar.set_message(
HumanBytes(bytes_written.load(Ordering::SeqCst) as u64).to_string(), HumanBytes(bytes_written.load(Ordering::SeqCst) as u64).to_string(),
); );
@@ -369,7 +367,7 @@ I'm sure I've checked the list, press Enter to continue"#,
"Replace original files with uncompressed files? (Will automatically backup original files)", "Replace original files with uncompressed files? (Will automatically backup original files)",
) )
.default(0) .default(0)
.items(&FALSE_TRUE_SELECTION) .items(FALSE_TRUE_SELECTION)
.interact() .interact()
.unwrap(); .unwrap();
let use_replace_mode = use_replace_mode == 1; let use_replace_mode = use_replace_mode == 1;
@@ -462,7 +460,7 @@ I'm sure I've checked the list, press Enter to continue"#,
"Package all files, including non-tex files (for replacing original files)", "Package all files, including non-tex files (for replacing original files)",
) )
.default(0) .default(0)
.items(&FALSE_TRUE_SELECTION) .items(FALSE_TRUE_SELECTION)
.interact() .interact()
.unwrap(); .unwrap();
let use_full_package_mode = use_full_package_mode == 1; let use_full_package_mode = use_full_package_mode == 1;
@@ -470,7 +468,7 @@ I'm sure I've checked the list, press Enter to continue"#,
let use_feature_clone = Select::with_theme(&ColorfulTheme::default()) let use_feature_clone = Select::with_theme(&ColorfulTheme::default())
.with_prompt("Clone feature flags from original file?") .with_prompt("Clone feature flags from original file?")
.default(1) .default(1)
.items(&FALSE_TRUE_SELECTION) .items(FALSE_TRUE_SELECTION)
.interact() .interact()
.unwrap(); .unwrap();
let use_feature_clone = use_feature_clone == 1; let use_feature_clone = use_feature_clone == 1;
@@ -698,13 +696,13 @@ fn is_tex_file(hash: u64, file_name_table: &FileNameTable) -> bool {
let Some(file_name) = file_name_table.get_file_name(hash) else { let Some(file_name) = file_name_table.get_file_name(hash) else {
return false; return false;
}; };
file_name.get_name().ends_with(".tex.241106027") file_name.to_string().unwrap().ends_with(".tex.241106027")
} }
fn write_to_pak<W>( fn write_to_pak<W>(
writer: &mut ree_pak_core::write::PakWriter<W>, writer: &mut ree_pak_core::write::PakWriter<W>,
entry: &PakEntry, entry: &PakEntry,
file_name: impl FileNameExt, file_name: impl Utf16HashExt,
data: &[u8], data: &[u8],
use_feature_clone: bool, use_feature_clone: bool,
) -> color_eyre::Result<usize> ) -> color_eyre::Result<usize>

View File

@@ -3,9 +3,9 @@
use std::io::{self, Read, Write}; use std::io::{self, Read, Write};
use ree_pak_core::{ use ree_pak_core::{
filename::{FileNameExt, FileNameFull},
pak::PakArchive, pak::PakArchive,
read::archive::PakArchiveReader, read::archive::PakArchiveReader,
utf16_hash::Utf16HashExt,
write::{FileOptions, PakWriter}, write::{FileOptions, PakWriter},
}; };
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
@@ -37,11 +37,10 @@ impl PakMetadata {
where where
R: io::Read + io::Seek, R: io::Read + io::Seek,
{ {
let key_name = FileNameFull::new(METADATA_KEY);
let entry = pak_archive let entry = pak_archive
.entries() .entries()
.iter() .iter()
.find(|entry| entry.hash() == key_name.hash_mixed()); .find(|entry| entry.hash() == METADATA_KEY.hash_mixed());
if let Some(entry) = entry { if let Some(entry) = entry {
// read file // read file