Expand description
§Quaver-rs
A Rust library for parsing and analyzing Quaver rhythm game maps.
§Features
- Parse
.qua
files (Quaver map format) - Calculate map difficulty and strain
- Support for different game modes and mods
- Comprehensive metadata extraction
§Example
use quaver_rs::{Qua, DifficultyProcessor, StrainConstants, ModIdentifier};
// Parse a .qua file
let qua = Qua::from_file("path/to/map.qua")?;
// Calculate difficulty
let constants = StrainConstants::new(None);
let mut processor = DifficultyProcessor::new(qua, constants, ModIdentifier::NONE);
processor.calculate_difficulty(ModIdentifier::NONE);
println!("Overall Difficulty: {:.2}", processor.overall_difficulty);
Re-exports§
pub use qua::Qua;
pub use qua::MapMetadata;
pub use qua::TimingPointInfo;
pub use qua::TimingGroup;
pub use qua::EditorLayerInfo;
pub use qua::BookmarkInfo;
pub use qua::CustomAudioSampleInfo;
pub use qua::SoundEffectInfo;
pub use difficulty_processor::DifficultyProcessor;
pub use difficulty_processor::StrainConstants;
pub use difficulty_processor::StrainConstantsKeys;
pub use difficulty_processor::ConstantVariable;
pub use enums::ModIdentifier;
pub use enums::GameMode;
pub use enums::QssPatternFlags;
pub use hit_object_info::HitObjectInfo;
pub use rulesets::structs::FingerAction;
pub use rulesets::structs::FingerState;
pub use rulesets::structs::Hand;
pub use rulesets::structs::LnLayerType;
pub use rulesets::structs::StrainSolverData;
pub use rulesets::structs::StrainSolverHitObject;
pub use helpers::mod_helper;
pub use helpers::mode_helper;