Crate shk_parser

Source
Expand description

§Stronghold Kingdoms Formation Parser

A Rust library for parsing Stronghold Kingdoms attack formation files (.cas files).

§Quick Start

use shk_parser::{parse_formation, parse_formation_file};

// Parse from bytes
let data = std::fs::read("formation.cas")?;
let units = parse_formation(&data)?;

// Or parse directly from file
let units = parse_formation_file("formation.cas")?;

// Display the units
for unit in &units {
    println!("{}", unit);
}

§Supported Units

  • Archers: Basic ranged units
  • Pikemen: Basic melee units
  • Catapults: Siege weapons with target coordinates
  • Captains: Special units with abilities:
    • Delay: Wait for specified time
    • Rallying Cry: Rally nearby troops
    • Arrow Volley: Shoot arrows at target location
    • Battle Cry: Boost morale
    • Catapults Volley: Catapult attack at target location

Re-exports§

pub use parser::AttackSetupParser;
pub use parser::ParseError;
pub use parser::ParseResult;
pub use types::CaptainAbility;
pub use types::Position;
pub use types::UnitRecord;
pub use types::UnitType;

Modules§

parser
Parser for Stronghold Kingdoms .cas formation files
types

Functions§

parse_formation
Parse a formation from raw bytes
parse_formation_file
Parse a formation file directly