bms_rs/bms/model/sprite.rs
1//! This module introduces struct [`Sprites`], which manages external paths to image assets.
2
3use std::path::PathBuf;
4
5use crate::bms::prelude::*;
6
7#[derive(Debug, Default, Clone, PartialEq, Eq, Hash)]
8#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
9/// This aggregate manages external paths to image assets.
10pub struct Sprites {
11 /// The path of background image, which is shown while playing the score.
12 /// This image is displayed behind the gameplay area.
13 pub back_bmp: Option<PathBuf>,
14 /// The path of splash screen image, which is shown before playing the score.
15 /// This image is displayed during the loading screen.
16 pub stage_file: Option<PathBuf>,
17 /// The path of banner image.
18 /// This image is used in music selection screens.
19 pub banner: Option<PathBuf>,
20 /// Extended-character events. `#ExtChr`
21 pub extchr_events: Vec<ExtChrEvent>,
22 /// Character file path. `#CHARFILE`
23 pub char_file: Option<PathBuf>,
24}