1use mmd_anim_runtime::{ModelBuildError, RuntimeModelDescriptorError};
2use thiserror::Error;
3
4#[derive(Debug, Error, PartialEq)]
5pub enum ImportError {
6 #[error("unexpected end of data (need {0} more bytes)")]
7 UnexpectedEof(usize),
8 #[error("invalid PMX magic bytes")]
9 InvalidPmxMagic,
10 #[error("unsupported PMX version {0}")]
11 UnsupportedPmxVersion(f32),
12 #[error("invalid text encoding byte {0}")]
13 InvalidEncoding(u8),
14 #[error("unsupported index size {0}")]
15 InvalidIndexSize(u8),
16 #[error("PMX section overflow")]
17 SectionOverflow,
18 #[error("invalid VMD magic bytes")]
19 InvalidVmdMagic,
20 #[error("VMD model name is not valid Shift-JIS")]
21 InvalidVmdModelName,
22 #[error("invalid {format} magic bytes")]
23 InvalidMagic { format: &'static str },
24 #[error("unsupported {format} parser feature: {detail}")]
25 UnsupportedFormat {
26 format: &'static str,
27 detail: &'static str,
28 },
29 #[error("model build failed: {0}")]
30 ModelBuildFailed(ModelBuildError),
31 #[error("runtime model descriptor failed: {0}")]
32 ModelDescriptorFailed(RuntimeModelDescriptorError),
33}