Crate quaver_rs

Crate quaver_rs 

Source
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;

Modules§

difficulty_processor
enums
helpers
hit_object_info
qua
rulesets