- added PlusZ intrinsic to Vector3 and ToVector intrinsic to numeric values.
These just mirror features of the internal vector classes.
This commit is contained in:
parent
f3b33f7cf8
commit
1047b766df
3 changed files with 146 additions and 1 deletions
|
|
@ -285,6 +285,7 @@ enum EFxType
|
|||
EFX_SwitchStatement,
|
||||
EFX_CaseStatement,
|
||||
EFX_VectorValue,
|
||||
EFX_VectorPlusZ,
|
||||
EFX_VectorBuiltin,
|
||||
EFX_TypeCheck,
|
||||
EFX_DynamicCast,
|
||||
|
|
@ -306,6 +307,7 @@ enum EFxType
|
|||
EFX_FontCast,
|
||||
EFX_LocalArrayDeclaration,
|
||||
EFX_OutVarDereference,
|
||||
EFX_ToVector,
|
||||
EFX_COUNT
|
||||
};
|
||||
|
||||
|
|
@ -1611,6 +1613,44 @@ public:
|
|||
ExpEmit Emit(VMFunctionBuilder *build);
|
||||
};
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FxPlusZ
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
class FxVectorPlusZ : public FxExpression
|
||||
{
|
||||
FName Function;
|
||||
FxExpression* Self;
|
||||
FxExpression* Z;
|
||||
|
||||
public:
|
||||
|
||||
FxVectorPlusZ(FxExpression* self, FName name, FxExpression*);
|
||||
~FxVectorPlusZ();
|
||||
FxExpression* Resolve(FCompileContext&);
|
||||
ExpEmit Emit(VMFunctionBuilder* build);
|
||||
};
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FxPlusZ
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
class FxToVector : public FxExpression
|
||||
{
|
||||
FxExpression* Self;
|
||||
|
||||
public:
|
||||
|
||||
FxToVector(FxExpression* self);
|
||||
~FxToVector();
|
||||
FxExpression* Resolve(FCompileContext&);
|
||||
ExpEmit Emit(VMFunctionBuilder* build);
|
||||
};
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FxVectorBuiltin
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue