pub(super) enum Instruction {
Show 52 variants
LoadBool {
target: BoolRegister,
offset: usize,
},
LoadI32 {
target: IntRegister,
offset: usize,
},
LoadF64 {
target: FloatRegister,
offset: usize,
},
StoreBool {
offset: usize,
value: BoolValue,
},
StoreI32 {
offset: usize,
value: IntValue,
},
StoreF64 {
offset: usize,
value: FloatValue,
},
AddF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
SubF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
MulF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
SafeDivF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
TrueModF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
MinF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
MaxF {
target: FloatRegister,
lhs: FloatValue,
rhs: FloatValue,
},
FloorF {
target: FloatRegister,
value: FloatValue,
},
CeilF {
target: FloatRegister,
value: FloatValue,
},
AbsF {
target: FloatRegister,
value: FloatValue,
},
CmpGtF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpGteF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpLtF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpLteF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpEqF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpNeF {
target: BoolRegister,
lhs: FloatValue,
rhs: FloatValue,
},
CmpEqI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
CmpNeI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
CmpGtI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
CmpGteI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
CmpLtI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
CmpLteI {
target: BoolRegister,
lhs: IntValue,
rhs: IntValue,
},
AndB {
target: BoolRegister,
lhs: BoolValue,
rhs: BoolValue,
},
OrB {
target: BoolRegister,
lhs: BoolValue,
rhs: BoolValue,
},
SetBool {
target: BoolRegister,
value: bool,
},
JumpIf {
condition: BoolValue,
target: InstructionAddress,
when_true: bool,
},
JumpIfBufferBool {
offset: usize,
target: InstructionAddress,
when_true: bool,
},
JumpIfCooldownNotReady {
cooldown_offset: usize,
bypass_aura_offset: Option<usize>,
target: InstructionAddress,
},
JumpIfTimestampStateMismatch {
offset: usize,
expected_active: bool,
target: InstructionAddress,
},
JumpIfBufferF64ComparisonFalse {
offset: usize,
rhs: f64,
comparison: FloatComparison,
target: InstructionAddress,
},
NotB {
target: BoolRegister,
value: BoolValue,
},
BoolToFloat {
target: FloatRegister,
value: BoolValue,
},
BoolToInt {
target: IntRegister,
value: BoolValue,
},
IntToFloat {
target: FloatRegister,
value: IntValue,
},
IntToBool {
target: BoolRegister,
value: IntValue,
},
FloatToBool {
target: BoolRegister,
value: FloatValue,
},
FloatToInt {
target: IntRegister,
value: FloatValue,
},
SelectF {
target: FloatRegister,
condition: BoolValue,
if_true: FloatValue,
if_false: FloatValue,
},
SelectI {
target: IntRegister,
condition: BoolValue,
if_true: IntValue,
if_false: IntValue,
},
SelectB {
target: BoolRegister,
condition: BoolValue,
if_true: BoolValue,
if_false: BoolValue,
},
ReturnCast {
spell_id: u32,
empower_rank: u8,
},
ReturnCastIf {
condition: BoolValue,
spell_id: u32,
empower_rank: u8,
},
ReturnWaitIf {
condition: BoolValue,
seconds: f32,
},
ReturnPoolIf {
condition: BoolValue,
target: f32,
},
ReturnUseItemIf {
condition: BoolValue,
gear_slot: u8,
empower_rank: u8,
},
ReturnNone,
}Variants§
LoadBool
LoadI32
LoadF64
StoreBool
StoreI32
StoreF64
AddF
SubF
MulF
SafeDivF
TrueModF
MinF
MaxF
FloorF
CeilF
AbsF
CmpGtF
CmpGteF
CmpLtF
CmpLteF
CmpEqF
CmpNeF
CmpEqI
CmpNeI
CmpGtI
CmpGteI
CmpLtI
CmpLteI
AndB
OrB
SetBool
JumpIf
JumpIfBufferBool
JumpIfCooldownNotReady
JumpIfTimestampStateMismatch
JumpIfBufferF64ComparisonFalse
NotB
BoolToFloat
BoolToInt
IntToFloat
IntToBool
FloatToBool
FloatToInt
SelectF
SelectI
SelectB
ReturnCast
ReturnCastIf
ReturnWaitIf
ReturnPoolIf
ReturnUseItemIf
ReturnNone
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Instruction
impl Debug for Instruction
Source§impl PartialEq for Instruction
impl PartialEq for Instruction
impl Copy for Instruction
impl StructuralPartialEq for Instruction
Auto Trait Implementations§
impl Freeze for Instruction
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnsafeUnpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more