| Crates.io | casc-rs |
| lib.rs | casc-rs |
| version | 0.1.8 |
| created_at | 2025-07-10 17:57:57.582438+00 |
| updated_at | 2025-10-08 21:31:04.885279+00 |
| description | A Rust implementation of a Casc Storage Handler for Blizzard's CASC format. |
| homepage | https://github.com/echo000/casc-rs |
| repository | https://github.com/echo000/casc-rs |
| max_upload_size | |
| id | 1746862 |
| size | 72,355 |
A pure Rust implementation of a Casc Storage Handler, inspired by the version ported to C# from C++. This crate allows you to read and extract files from Blizzard's CASC storage format.
Note: This library currently only supports CASC storages that use the TVFS root file format.
Cargo.toml[dependencies]
casc-rs = 0.1
use casc_rs::casc_storage::CascStorage;
use std::fs::File;
use std::io::Write;
fn main() {
// Open a CASC storage directory (containing .build.info, Data/)
let storage = CascStorage::open("path/to/casc/storage").unwrap();
// List all files
for file_info in &storage.files {
println!("File: {} ({} bytes)", file_info.file_name(), file_info.file_size());
}
// Extract a file by name
let file_name = "some/file/in/storage.txt";
let mut casc_reader = storage.open_file(file_name).unwrap();
let mut output = File::create("output.txt").unwrap();
std::io::copy(&mut casc_reader, &mut output).unwrap();
}