war 0.2.0

A viewer/editor for Darksiders saves, worlds, and scripts
Documentation
use num_enum::TryFromPrimitive;

#[repr(u8)]
#[derive(TryFromPrimitive)]
pub enum Instruction {
    Add = 0x0,
    Subtract = 0x1,
    Multiply = 0x2,
    Divide = 0x3,
    Modulo = 0x4,
    Inc = 0x5,
    Dec = 0x6,
    SubAssign = 0x7,
    AddAssign = 0x8,
    IntCast = 0x9,
    FloatCast = 0xa,
    BoolCast = 0xb,
    StringCast = 0xc,
    And = 0xd,
    Or = 0xe,
    Cat = 0xf,
    BranchFalse = 0x10,
    BranchTrue = 0x11,
    Goto = 0x12,
    Less = 0x13,
    Greater = 0x14,
    Equal = 0x15,
    NotEqual = 0x16,
    LessEqual = 0x17,
    GreaterEqual = 0x18,
    Not = 0x19,
    Array = 0x1a,
    Element = 0x1b,
    Contains = 0x1c,
    Remove = 0x1d,
    Iterator = 0x1e,
    IteratorTest = 0x1f,
    IteratorAssign = 0x20,
    NullObject = 0x21,
    Float = 0x22,
    Int = 0x23,
    String = 0x24,
    Bool = 0x25,
    Var = 0x26,
    VarAssign = 0x27,
    ParamAssign = 0x28,
    Assign = 0x29,
    IncScope = 0x2a,
    DecScope = 0x2b,
    Identifier = 0x2c,
    Label = 0x2d,
    Return = 0x2e,
    ReturnNull = 0x2f,
    Print = 0x30,
    Negate = 0x31,
    Pop = 0x32,
    New = 0x33,
    NewValue = 0x34,
    Nop = 0x35,
    Call = 0x36,
    CallMethod = 0x37,
    Method = 0x38,
    MethodChain = 0x39,
    Property = 0x3a,
    Line = 0x3b,
    Rand = 0x3c,
    RandRange = 0x3d,
    MulAssign = 0x3e,
    DivAssign = 0x3f,
    ModAssign = 0x40,
    PreInc = 0x41,
    PreDec = 0x42,
}