From 33725aa3ca5a4a526b15333a6a990a13b19e936a Mon Sep 17 00:00:00 2001 From: lifegpc Date: Fri, 8 Aug 2025 10:44:25 +0800 Subject: [PATCH] Add XPCM detect --- src/scripts/circus/archive/pck.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/scripts/circus/archive/pck.rs b/src/scripts/circus/archive/pck.rs index fad4a73..9ff1c5c 100644 --- a/src/scripts/circus/archive/pck.rs +++ b/src/scripts/circus/archive/pck.rs @@ -308,6 +308,10 @@ fn detect_script_type(_buf: &[u8], _buf_len: usize, _filename: &str) -> Option= 4 && _buf.starts_with(b"CRXG") { return Some(ScriptType::CircusCrx); } + #[cfg(feature = "circus-audio")] + if _buf_len >= 4 && _buf.starts_with(b"XPCM") { + return Some(ScriptType::CircusPcm); + } None } @@ -442,11 +446,7 @@ impl<'a, T: Write + Seek> Seek for PckArchiveFile<'a, T> { pub fn is_this_format(buf: &[u8]) -> Result { let mut reader = MemReaderRef::new(buf); let count = reader.read_u32()? as usize; - let mut score = if count > 0 && count < 0x40000 { - 5 - } else { - 0 - }; + let mut score = if count > 0 && count < 0x40000 { 5 } else { 0 }; let avail_count = ((buf.len() - 4) / 0x8).min(count); score += ((avail_count / 2).min(10)) as u8; if avail_count == 0 {