#empires #engine #aoe #genie #file-format #read-file #drs

chariot_drs

用于读取/写入《帝国时代》(1997年)DRS文件的库

3个版本

使用旧Rust 2015

0.1.2 2017年5月28日
0.1.1 2017年5月2日
0.1.0 2017年4月30日

#5 in #genie

MIT 协议

18KB
299

Chariot DRS 包

此包处理《帝国时代》(1997年)使用的DRS存档文件格式。目前,它可以读取DRS文件,并包含一个示例,可用于提取DRS存档。

虽然写入DRS文件的能力是件好事,但对于Chariot项目的其余部分来说并非绝对必要,因此目前尚未实现。

本代码的许可证与Chariot项目的其余部分相同。

构建

您需要Rust编译器和Cargo构建系统。一旦拥有这些,您可以使用以下命令进行编译:

$ cargo build

要构建可以提取DRS存档的示例程序,请运行

$ cargo build --example extract-drs

示例

extern crate chariot_drs as drs;

let file_name = "/path/to/archive.drs";
match drs::DrsFile::read_from_file(file_name) {
    Ok(drs_file) => {
        println!("Successfully loaded the DRS file");
        println!("Table count: {}", drs_file.header.table_count);
        for table in &drs_file.tables {
            println!("Table \"{}\":", table.header.file_extension());
            println!("  file count: {}", table.header.file_count);
        }
    },
    Err(err) => {
        println!("Failed to read the DRS file: {}", err);
    }
}

依赖项

~1.5MB
~26K SLoC