Add RhapsodyCrypt

This commit is contained in:
2026-04-11 14:02:35 +08:00
parent 4f3110cef8
commit 072fbad6f9
9 changed files with 1778 additions and 11 deletions

View File

@@ -9,15 +9,20 @@ fn main() {
"cargo:rerun-if-changed={}",
source_dir.join("cx_cb").display()
);
let level = level
let arc_level = level
.parse::<i32>()
.expect("MSG_TOOL_KIRIKIRI_ARC_GEN_LEVEL must be a valid integer");
println!("cargo:rerun-if-env-changed=MSG_TOOL_KIRIKIRI_ARC_GEN_LEVEL");
msg_tool_build::kr_arc::gen_cx_cb(&crypt_json_path, &outdir, level).unwrap();
msg_tool_build::kr_arc::gen_cx_cb(&crypt_json_path, &outdir, arc_level).unwrap();
let level = std::env::var("MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL").unwrap_or("22".to_string());
let level = level
.parse::<i32>()
.expect("MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL must be a valid integer");
println!("cargo:rerun-if-env-changed=MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL");
msg_tool_build::kr_arc::gen_crypt(&crypt_json_path, &outdir, level).unwrap();
println!(
"cargo:rerun-if-changed={}",
source_dir.join("name_list").display()
);
msg_tool_build::kr_arc::gen_name_list(&crypt_json_path, &outdir, arc_level).unwrap();
}

View File

@@ -477,6 +477,11 @@
"EvenBranchOrder": "AAECAwQFBgc=",
"ControlBlockName": "fate_hollow.bin"
},
"Fate/Knight Rhapsody ACT 2": {
"$type": "RhapsodyCrypt",
"FileListName": "rhapsody.lst",
"Title": "招蕩的妄想劇場 ACT 2"
},
"Fate/stay night": {
"$type": "FateCrypt",
"HashAfterCrypt": true

View File

@@ -3,6 +3,8 @@ use std::io::Read;
/// Control Block data for CxEncryption packed with SimplePack.
pub const CX_CB_DATA: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/cx_cb.pck"));
/// Name list data packed with SimplePack.
pub const NAME_LIST_DATA: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/name_list.pck"));
const CRYPT_DATA: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/crypt.json.zst"));
/// Get the crypt.json data as a string.

View File

File diff suppressed because it is too large Load Diff