make serde optional (to save compile times)
parent
dcf0f9e22f
commit
24f22a682c
|
@ -11,13 +11,16 @@ license = "MIT"
|
|||
edition = "2018"
|
||||
publish = false
|
||||
|
||||
[features]
|
||||
serde_obj = ["serde"]
|
||||
|
||||
[workspace]
|
||||
members = ["source/leela", "source/tycho"]
|
||||
|
||||
[dependencies]
|
||||
bitflags = "1.0"
|
||||
failure = {version = "0.1", features = ["std"]}
|
||||
serde = {version = "1.0", features = ["derive"]}
|
||||
serde = {version = "1.0", features = ["derive"], optional = true}
|
||||
memchr = "2.0"
|
||||
|
||||
[profile.dev]
|
||||
|
|
|
@ -469,13 +469,13 @@ impl fmt::Debug for Ident
|
|||
/// assert_eq!(Ident(*b"POLY").0, *b"POLY");
|
||||
/// ```
|
||||
#[derive(Clone, Copy, Default, PartialEq)]
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize, serde::Deserialize))]
|
||||
pub struct Ident(/** The individual bytes of this identifier. */ pub [u8; 4]);
|
||||
|
||||
/// An object identified by a `u16` which may be `u16::max_value()` to
|
||||
/// represent a nulled value.
|
||||
#[derive(Clone, Copy, Default, PartialEq)]
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize, serde::Deserialize))]
|
||||
pub struct OptU16(Option<NonZeroU16>);
|
||||
|
||||
// EOF
|
||||
|
|
|
@ -71,7 +71,8 @@ macro_rules! define_fixed_types {
|
|||
)*
|
||||
) => {$(
|
||||
$(#[$outer])*
|
||||
#[derive(Copy, Clone, Default, PartialEq, PartialOrd, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Copy, Clone, Default, PartialEq, PartialOrd)]
|
||||
pub struct $t($ti);
|
||||
|
||||
impl $t
|
||||
|
|
|
@ -226,15 +226,18 @@ impl Color for Color8
|
|||
}
|
||||
|
||||
/// An RGB16 color.
|
||||
#[derive(Copy, Clone, Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
pub struct Color16(u16, u16, u16);
|
||||
|
||||
/// An RGB8 color.
|
||||
#[derive(Copy, Clone, Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Copy, Clone, Debug, PartialEq)]
|
||||
pub struct Color8(u8, u8, u8);
|
||||
|
||||
/// An RGB16 image.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Image16
|
||||
{
|
||||
w: usize,
|
||||
|
@ -245,7 +248,8 @@ pub struct Image16
|
|||
}
|
||||
|
||||
/// An RGB8 image.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Image8
|
||||
{
|
||||
w: usize,
|
||||
|
|
|
@ -8,7 +8,7 @@ edition = "2018"
|
|||
|
||||
[dependencies]
|
||||
argparse = "0.2"
|
||||
maraiah = {path = "../.."}
|
||||
maraiah = {path = "../..", features = ["serde_obj"]}
|
||||
memmap = "0.7"
|
||||
serde = "1.0"
|
||||
serde_yaml = "0.8"
|
||||
|
|
|
@ -508,7 +508,8 @@ impl Default for Minf
|
|||
}
|
||||
|
||||
/// A point in world-space.
|
||||
#[derive(Clone, Debug, Default, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Clone, Debug, Default, PartialEq)]
|
||||
pub struct Point
|
||||
{
|
||||
pub x: Unit,
|
||||
|
@ -516,7 +517,8 @@ pub struct Point
|
|||
}
|
||||
|
||||
/// A line segment.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Line
|
||||
{
|
||||
pub flags: LineFlags,
|
||||
|
@ -529,7 +531,8 @@ pub struct Line
|
|||
}
|
||||
|
||||
/// The texture of a side segment.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct SideTex
|
||||
{
|
||||
pub offs: Point,
|
||||
|
@ -537,7 +540,8 @@ pub struct SideTex
|
|||
}
|
||||
|
||||
/// One side of a line segment.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Side
|
||||
{
|
||||
pub stype: SideType,
|
||||
|
@ -554,7 +558,8 @@ pub struct Side
|
|||
}
|
||||
|
||||
/// A polygon segment.
|
||||
#[derive(Debug, Default, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug, Default)]
|
||||
pub struct Polygon
|
||||
{
|
||||
pub ptype: PolyType,
|
||||
|
@ -576,7 +581,8 @@ pub struct Polygon
|
|||
}
|
||||
|
||||
/// A light function.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct LightFunc
|
||||
{
|
||||
pub ftype: LightFuncType,
|
||||
|
@ -587,7 +593,8 @@ pub struct LightFunc
|
|||
}
|
||||
|
||||
/// A dynamic polygon light.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Light
|
||||
{
|
||||
pub ltype: LightType,
|
||||
|
@ -603,7 +610,8 @@ pub struct Light
|
|||
}
|
||||
|
||||
/// An object in the world.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Object
|
||||
{
|
||||
pub group: u16,
|
||||
|
@ -618,7 +626,8 @@ pub struct Object
|
|||
}
|
||||
|
||||
/// The difficulty definition for various object types.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct ObjectFreq
|
||||
{
|
||||
pub rnd_loc: bool,
|
||||
|
@ -630,7 +639,8 @@ pub struct ObjectFreq
|
|||
}
|
||||
|
||||
/// An ambient sound definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct SoundAmbi
|
||||
{
|
||||
pub index: u16,
|
||||
|
@ -638,7 +648,8 @@ pub struct SoundAmbi
|
|||
}
|
||||
|
||||
/// A randomly played sound definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct SoundRand
|
||||
{
|
||||
pub no_dir: bool,
|
||||
|
@ -654,7 +665,8 @@ pub struct SoundRand
|
|||
}
|
||||
|
||||
/// A media, as in a part of a polygon which goes up the middle of the wall.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Media
|
||||
{
|
||||
pub mtype: MediaType,
|
||||
|
@ -672,7 +684,8 @@ pub struct Media
|
|||
}
|
||||
|
||||
/// Extra information for polygons with platforms.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Platform
|
||||
{
|
||||
pub ptype: u16,
|
||||
|
@ -686,7 +699,8 @@ pub struct Platform
|
|||
}
|
||||
|
||||
/// Overhead map annotations.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Note
|
||||
{
|
||||
pub pos: Point,
|
||||
|
@ -695,7 +709,8 @@ pub struct Note
|
|||
}
|
||||
|
||||
/// Static map information.
|
||||
#[derive(Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub struct Minf
|
||||
{
|
||||
pub texture_id: u16,
|
||||
|
@ -708,7 +723,8 @@ pub struct Minf
|
|||
}
|
||||
|
||||
/// The action type of a `Polygon`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum PolyType
|
||||
{
|
||||
Normal,
|
||||
|
@ -739,7 +755,7 @@ pub enum PolyType
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Line`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct LineFlags: u16
|
||||
{
|
||||
const TRANS_SIDE = 1 << 9;
|
||||
|
@ -753,7 +769,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Side`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct SideFlags: u16
|
||||
{
|
||||
const STATUS = 1;
|
||||
|
@ -769,7 +785,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Static environment flags.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct EnvFlags: u16
|
||||
{
|
||||
const VACUUM = 1;
|
||||
|
@ -788,7 +804,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Static entry point flags.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct EntFlags: u32
|
||||
{
|
||||
const SOLO = 1;
|
||||
|
@ -804,7 +820,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Static mission flags.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct MsnFlags: u16
|
||||
{
|
||||
const EXTERMINATION = 1;
|
||||
|
@ -817,7 +833,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Polygon`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct PolyFlags: u16
|
||||
{
|
||||
const DETACHED = 1 << 14;
|
||||
|
@ -826,7 +842,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Light`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct LightFlags: u16
|
||||
{
|
||||
const INIT_ACTIVE = 1;
|
||||
|
@ -837,7 +853,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Object`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct ObjectFlags: u16
|
||||
{
|
||||
const INVISIBLE = 1;
|
||||
|
@ -851,7 +867,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Platform`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct PlatformFlags: u32
|
||||
{
|
||||
const INIT_ACTIVE = 1;
|
||||
|
@ -886,7 +902,8 @@ bitflags! {
|
|||
|
||||
c_enum! {
|
||||
/// The texture type of a `Side`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum SideType: u16
|
||||
{
|
||||
0 => Full,
|
||||
|
@ -899,7 +916,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of function for a `LightFunc`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum LightFuncType: u16
|
||||
{
|
||||
0 => Constant,
|
||||
|
@ -913,7 +931,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of a `Light`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum LightType: u16
|
||||
{
|
||||
0 => Normal,
|
||||
|
@ -924,7 +943,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// The liquid type of a `Media`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum MediaType: u16
|
||||
{
|
||||
0 => Water,
|
||||
|
|
|
@ -283,7 +283,8 @@ fn read_attack(b: &[u8]) -> ResultS<Attack>
|
|||
}
|
||||
|
||||
/// Static physics information.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Physics
|
||||
{
|
||||
pub acc_ang: Fixed,
|
||||
|
@ -315,7 +316,8 @@ pub struct Physics
|
|||
}
|
||||
|
||||
/// An effect definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Effect
|
||||
{
|
||||
pub collection: u16,
|
||||
|
@ -327,7 +329,8 @@ pub struct Effect
|
|||
}
|
||||
|
||||
/// A weapon definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Weapon
|
||||
{
|
||||
pub amp_bob: Fixed,
|
||||
|
@ -358,7 +361,8 @@ pub struct Weapon
|
|||
}
|
||||
|
||||
/// The definition of one of two triggers for a weapon.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Trigger
|
||||
{
|
||||
pub burst: u16,
|
||||
|
@ -382,7 +386,8 @@ pub struct Trigger
|
|||
}
|
||||
|
||||
/// A projectile definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Projectile
|
||||
{
|
||||
pub collection: OptU16,
|
||||
|
@ -405,7 +410,8 @@ pub struct Projectile
|
|||
}
|
||||
|
||||
/// A monster definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Monster
|
||||
{
|
||||
pub collection: u16,
|
||||
|
@ -462,7 +468,8 @@ pub struct Monster
|
|||
}
|
||||
|
||||
/// A damage definition.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Damage
|
||||
{
|
||||
pub dtype: DamageType,
|
||||
|
@ -473,7 +480,8 @@ pub struct Damage
|
|||
}
|
||||
|
||||
/// The definition of a monster's attack.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Attack
|
||||
{
|
||||
pub ptype: OptU16,
|
||||
|
@ -488,7 +496,7 @@ pub struct Attack
|
|||
|
||||
bitflags! {
|
||||
/// Flags for an effect.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct EffectFlags: u16
|
||||
{
|
||||
const END_ON_LOOP = 1;
|
||||
|
@ -501,7 +509,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for a weapon.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct WeaponFlags: u16
|
||||
{
|
||||
const AUTOMATIC = 1;
|
||||
|
@ -520,7 +528,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for a projectile.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct ProjectileFlags: u32
|
||||
{
|
||||
const GUIDED = 1;
|
||||
|
@ -549,7 +557,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for a monster.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct MonsterFlags: u32
|
||||
{
|
||||
const IGNORE_LOS = 1;
|
||||
|
@ -585,7 +593,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// The composite type of a monster.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct MonsterClass: u32
|
||||
{
|
||||
const PLAYER = 1;
|
||||
|
@ -609,7 +617,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// The composite type of damage taken by something.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct DamageTypeFlags: u32
|
||||
{
|
||||
const EXPLOSION = 1;
|
||||
|
@ -641,7 +649,8 @@ bitflags! {
|
|||
|
||||
c_enum! {
|
||||
/// A bullet shell casing emitted by a weapon.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum CasingType: u16
|
||||
{
|
||||
0 => Rifle,
|
||||
|
@ -655,7 +664,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of functionality a weapon provides.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum WeaponType: u16
|
||||
{
|
||||
0 => Melee,
|
||||
|
@ -668,7 +678,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// A named type of damage taken by something.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum DamageType: u16
|
||||
{
|
||||
0 => Explosion,
|
||||
|
|
|
@ -317,7 +317,8 @@ impl Color for ColorShp
|
|||
}
|
||||
|
||||
/// A color in an `ImageShp`'s color table.
|
||||
#[derive(Copy, Clone, Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub enum ColorShp
|
||||
{
|
||||
/// A completely translucent color.
|
||||
|
@ -354,7 +355,8 @@ pub struct ImageShp<'a, 'b>
|
|||
}
|
||||
|
||||
/// A frame, also known as a low level shape.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Frame
|
||||
{
|
||||
/// The flags for this frame.
|
||||
|
@ -386,7 +388,8 @@ pub struct Frame
|
|||
}
|
||||
|
||||
/// A sequence, also known as a high level shape.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Sequence
|
||||
{
|
||||
/// The display name for this sequence.
|
||||
|
@ -456,7 +459,7 @@ bitflags! {
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Frame`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct FrameFlags: u16
|
||||
{
|
||||
/// The player's torso will obscure the player's legs.
|
||||
|
@ -470,7 +473,8 @@ bitflags! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of a collection.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum CollectionType: u16
|
||||
{
|
||||
0 => Unused,
|
||||
|
@ -483,7 +487,8 @@ c_enum! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of or number of views for a sequence.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum ViewType: u16
|
||||
{
|
||||
1 => Anim,
|
||||
|
|
|
@ -150,7 +150,7 @@ pub type SoundTable = BTreeMap<u16, SoundDef>;
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `SoundDef`.
|
||||
#[derive(serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct SoundFlags: u16
|
||||
{
|
||||
/// The sound will not restart when trying to play over itself.
|
||||
|
@ -172,7 +172,8 @@ bitflags! {
|
|||
|
||||
c_enum! {
|
||||
/// The type of volume this sound has.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum Volume: u16
|
||||
{
|
||||
0 => Quiet,
|
||||
|
|
|
@ -97,7 +97,8 @@ impl Default for GroupType
|
|||
}
|
||||
|
||||
/// A terminal definition, with collections of groups and faces.
|
||||
#[derive(Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub struct Terminal
|
||||
{
|
||||
pub lines: u16,
|
||||
|
@ -106,7 +107,8 @@ pub struct Terminal
|
|||
}
|
||||
|
||||
/// A text face.
|
||||
#[derive(Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub struct Face
|
||||
{
|
||||
pub start: usize,
|
||||
|
@ -115,7 +117,8 @@ pub struct Face
|
|||
}
|
||||
|
||||
/// A terminal command grouping.
|
||||
#[derive(Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug, PartialEq)]
|
||||
pub struct Group
|
||||
{
|
||||
pub flags: GroupFlags,
|
||||
|
@ -136,7 +139,8 @@ pub struct InterGroup
|
|||
}
|
||||
|
||||
/// The command of a `Group`.
|
||||
#[derive(Clone, Copy, Debug, PartialEq, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub enum GroupType
|
||||
{
|
||||
Logon(u16),
|
||||
|
@ -160,7 +164,7 @@ pub enum GroupType
|
|||
|
||||
bitflags! {
|
||||
/// Flags for `Group`.
|
||||
#[derive(Default, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
pub struct GroupFlags: u16
|
||||
{
|
||||
/// Draws the picture on the right.
|
||||
|
|
|
@ -134,7 +134,8 @@ pub fn read_wad(b: &[u8]) -> ResultS<Wad>
|
|||
}
|
||||
|
||||
/// Any kind of chunk in an `Entry`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum Chunk
|
||||
{
|
||||
/// A `PICT` chunk.
|
||||
|
@ -185,7 +186,8 @@ pub enum Chunk
|
|||
}
|
||||
|
||||
/// An entry containing chunks and application-specific data.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Entry
|
||||
{
|
||||
/// All of the chunks in this `Entry`.
|
||||
|
@ -196,7 +198,8 @@ pub struct Entry
|
|||
}
|
||||
|
||||
/// A Map file containing entries.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub struct Wad
|
||||
{
|
||||
/// The original name of this file.
|
||||
|
@ -211,8 +214,8 @@ pub struct Wad
|
|||
|
||||
c_enum! {
|
||||
/// The version of a `Wad`.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
pub enum Ver: u16
|
||||
#[derive(Debug)]
|
||||
enum Ver: u16
|
||||
{
|
||||
0 => Base,
|
||||
1 => Dir,
|
||||
|
|
|
@ -9,7 +9,8 @@ impl Default for TransferMode
|
|||
|
||||
c_enum! {
|
||||
/// A rendering style for many things.
|
||||
#[derive(Debug, serde::Serialize)]
|
||||
#[cfg_attr(feature = "serde_obj", derive(serde::Serialize))]
|
||||
#[derive(Debug)]
|
||||
pub enum TransferMode: u16
|
||||
{
|
||||
0 => Normal,
|
||||
|
|
Loading…
Reference in New Issue