#[derive(thiserror::Error, Debug, Clone, PartialEq, Eq)]
pub enum ResourceError {
#[error("Failed to read resource file: {message}")]
IoError {
message: String,
},
#[error("Offset {offset} is out of bounds for file of length {file_length}")]
OffsetOutOfBounds {
offset: usize,
file_length: usize,
},
#[error("Invalid data at offset {offset}: {details}")]
InvalidData {
offset: usize,
details: String,
},
#[error("Failed to read header at offset {offset}: {reason}")]
HeaderReadError {
offset: usize,
reason: String,
},
#[error("Record size mismatch at offset {offset}: expected {expected}, got {actual}")]
SizeMismatch {
offset: usize,
expected: usize,
actual: usize,
},
#[error("Failed to convert buffer slice at offset {offset} to fixed-size array")]
BufferConversionError {
offset: usize,
},
#[error("Corrupted list items at offset {offset}: {details}")]
CorruptedListItems {
offset: usize,
details: String,
},
}