diff options
Diffstat (limited to 'core/variant_op.cpp')
| -rw-r--r-- | core/variant_op.cpp | 550 |
1 files changed, 300 insertions, 250 deletions
diff --git a/core/variant_op.cpp b/core/variant_op.cpp index fd64b58bd..1e67d81ae 100644 --- a/core/variant_op.cpp +++ b/core/variant_op.cpp @@ -5,7 +5,7 @@ /* GODOT ENGINE */ /* http://www.godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -47,12 +47,12 @@ bool Variant::booleanize(bool &r_valid) const { case STRING: return (*reinterpret_cast<const String*>(_data._mem))!=""; case VECTOR2: case RECT2: - case MATRIX32: + case TRANSFORM2D: case VECTOR3: case PLANE: - case _AABB: + case RECT3: case QUAT: - case MATRIX3: + case BASIS: case TRANSFORM: case COLOR: case IMAGE: r_valid=false; return false; @@ -62,13 +62,13 @@ bool Variant::booleanize(bool &r_valid) const { case INPUT_EVENT: case DICTIONARY: case ARRAY: - case RAW_ARRAY: - case INT_ARRAY: - case REAL_ARRAY: - case STRING_ARRAY: - case VECTOR2_ARRAY: - case VECTOR3_ARRAY: - case COLOR_ARRAY: + case POOL_BYTE_ARRAY: + case POOL_INT_ARRAY: + case POOL_REAL_ARRAY: + case POOL_STRING_ARRAY: + case POOL_VECTOR2_ARRAY: + case POOL_VECTOR3_ARRAY: + case POOL_COLOR_ARRAY: r_valid=false; return false; default: {} @@ -97,6 +97,12 @@ case m_name: {\ _RETURN( -p_a._data.m_type);\ }; +#define DEFAULT_OP_NUM_POS(m_name,m_type)\ +case m_name: {\ +\ + _RETURN( p_a._data.m_type);\ +}; + #define DEFAULT_OP_NUM_VEC(m_op,m_name,m_type)\ case m_name: {\ switch(p_b.type) {\ @@ -136,6 +142,10 @@ case m_name: {\ _RETURN( -*reinterpret_cast<const m_type*>(p_a._data._mem));\ } +#define DEFAULT_OP_LOCALMEM_POS(m_name,m_type)\ +case m_name: {\ + _RETURN( *reinterpret_cast<const m_type*>(p_a._data._mem));\ +} #define DEFAULT_OP_LOCALMEM_NUM(m_op,m_name,m_type)\ case m_name: {switch(p_b.type) {\ @@ -176,16 +186,16 @@ case m_name: { \ r_valid=false;\ return;\ }\ - const DVector<m_type> &array_a=*reinterpret_cast<const DVector<m_type> *>(p_a._data._mem);\ - const DVector<m_type> &array_b=*reinterpret_cast<const DVector<m_type> *>(p_b._data._mem);\ + const PoolVector<m_type> &array_a=*reinterpret_cast<const PoolVector<m_type> *>(p_a._data._mem);\ + const PoolVector<m_type> &array_b=*reinterpret_cast<const PoolVector<m_type> *>(p_b._data._mem);\ \ int a_len = array_a.size();\ if (a_len m_opa array_b.size()){\ _RETURN( m_ret_s);\ }else {\ \ - DVector<m_type>::Read ra = array_a.read();\ - DVector<m_type>::Read rb = array_b.read();\ + PoolVector<m_type>::Read ra = array_a.read();\ + PoolVector<m_type>::Read rb = array_b.read();\ \ for(int i=0;i<a_len;i++) {\ if (ra[i] m_opb rb[i])\ @@ -202,9 +212,9 @@ case m_name: { \ r_valid=false;\ _RETURN( NIL);\ }\ - const DVector<m_type> &array_a=*reinterpret_cast<const DVector<m_type> *>(p_a._data._mem);\ - const DVector<m_type> &array_b=*reinterpret_cast<const DVector<m_type> *>(p_b._data._mem);\ - DVector<m_type> sum = array_a;\ + const PoolVector<m_type> &array_a=*reinterpret_cast<const PoolVector<m_type> *>(p_a._data._mem);\ + const PoolVector<m_type> &array_b=*reinterpret_cast<const PoolVector<m_type> *>(p_b._data._mem);\ + PoolVector<m_type> sum = array_a;\ sum.append_array(array_b);\ _RETURN( sum );\ } @@ -252,12 +262,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_STR(==,STRING,String); DEFAULT_OP_LOCALMEM(==,VECTOR2,Vector2); DEFAULT_OP_LOCALMEM(==,RECT2,Rect2); - DEFAULT_OP_PTRREF(==,MATRIX32,_matrix32); + DEFAULT_OP_PTRREF(==,TRANSFORM2D,_transform2d); DEFAULT_OP_LOCALMEM(==,VECTOR3,Vector3); DEFAULT_OP_LOCALMEM(==,PLANE,Plane); DEFAULT_OP_LOCALMEM(==,QUAT,Quat); - DEFAULT_OP_PTRREF(==,_AABB,_aabb); - DEFAULT_OP_PTRREF(==,MATRIX3,_matrix3); + DEFAULT_OP_PTRREF(==,RECT3,_rect3); + DEFAULT_OP_PTRREF(==,BASIS,_basis); DEFAULT_OP_PTRREF(==,TRANSFORM,_transform); DEFAULT_OP_LOCALMEM(==,COLOR,Color); @@ -306,13 +316,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& } break; - DEFAULT_OP_ARRAY_EQ(RAW_ARRAY,uint8_t); - DEFAULT_OP_ARRAY_EQ(INT_ARRAY,int); - DEFAULT_OP_ARRAY_EQ(REAL_ARRAY,real_t); - DEFAULT_OP_ARRAY_EQ(STRING_ARRAY,String); - DEFAULT_OP_ARRAY_EQ(VECTOR2_ARRAY,Vector3); - DEFAULT_OP_ARRAY_EQ(VECTOR3_ARRAY,Vector3); - DEFAULT_OP_ARRAY_EQ(COLOR_ARRAY,Color); + DEFAULT_OP_ARRAY_EQ(POOL_BYTE_ARRAY,uint8_t); + DEFAULT_OP_ARRAY_EQ(POOL_INT_ARRAY,int); + DEFAULT_OP_ARRAY_EQ(POOL_REAL_ARRAY,real_t); + DEFAULT_OP_ARRAY_EQ(POOL_STRING_ARRAY,String); + DEFAULT_OP_ARRAY_EQ(POOL_VECTOR2_ARRAY,Vector3); + DEFAULT_OP_ARRAY_EQ(POOL_VECTOR3_ARRAY,Vector3); + DEFAULT_OP_ARRAY_EQ(POOL_COLOR_ARRAY,Color); case VARIANT_MAX: { r_valid=false; @@ -344,12 +354,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_STR(<,STRING,String); DEFAULT_OP_LOCALMEM(<,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM(<,VECTOR3,Vector3); DEFAULT_OP_FAIL(PLANE); DEFAULT_OP_FAIL(QUAT); - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -383,13 +393,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& _RETURN( false ); } break; - DEFAULT_OP_ARRAY_LT(RAW_ARRAY,uint8_t); - DEFAULT_OP_ARRAY_LT(INT_ARRAY,int); - DEFAULT_OP_ARRAY_LT(REAL_ARRAY,real_t); - DEFAULT_OP_ARRAY_LT(STRING_ARRAY,String); - DEFAULT_OP_ARRAY_LT(VECTOR2_ARRAY,Vector3); - DEFAULT_OP_ARRAY_LT(VECTOR3_ARRAY,Vector3); - DEFAULT_OP_ARRAY_LT(COLOR_ARRAY,Color); + DEFAULT_OP_ARRAY_LT(POOL_BYTE_ARRAY,uint8_t); + DEFAULT_OP_ARRAY_LT(POOL_INT_ARRAY,int); + DEFAULT_OP_ARRAY_LT(POOL_REAL_ARRAY,real_t); + DEFAULT_OP_ARRAY_LT(POOL_STRING_ARRAY,String); + DEFAULT_OP_ARRAY_LT(POOL_VECTOR2_ARRAY,Vector3); + DEFAULT_OP_ARRAY_LT(POOL_VECTOR3_ARRAY,Vector3); + DEFAULT_OP_ARRAY_LT(POOL_COLOR_ARRAY,Color); case VARIANT_MAX: { r_valid=false; return; @@ -410,12 +420,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_STR(<=,STRING,String); DEFAULT_OP_LOCALMEM(<=,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM(<=,VECTOR3,Vector3); DEFAULT_OP_FAIL(PLANE); DEFAULT_OP_FAIL(QUAT); - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -430,13 +440,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(INPUT_EVENT); DEFAULT_OP_FAIL(DICTIONARY); DEFAULT_OP_FAIL(ARRAY); - DEFAULT_OP_FAIL(RAW_ARRAY); - DEFAULT_OP_FAIL(INT_ARRAY); - DEFAULT_OP_FAIL(REAL_ARRAY); - DEFAULT_OP_FAIL(STRING_ARRAY); - DEFAULT_OP_FAIL(VECTOR2_ARRAY); - DEFAULT_OP_FAIL(VECTOR3_ARRAY); - DEFAULT_OP_FAIL(COLOR_ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); case VARIANT_MAX: { r_valid=false; return; @@ -474,12 +484,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_STR(+,STRING,String); DEFAULT_OP_LOCALMEM(+,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM(+,VECTOR3,Vector3); DEFAULT_OP_FAIL(PLANE); DEFAULT_OP_LOCALMEM(+, QUAT, Quat); - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -507,13 +517,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& sum[i+asize]=array_b[i]; _RETURN( sum ); } - DEFAULT_OP_ARRAY_ADD(RAW_ARRAY,uint8_t); - DEFAULT_OP_ARRAY_ADD(INT_ARRAY,int); - DEFAULT_OP_ARRAY_ADD(REAL_ARRAY,real_t); - DEFAULT_OP_ARRAY_ADD(STRING_ARRAY,String); - DEFAULT_OP_ARRAY_ADD(VECTOR2_ARRAY,Vector2); - DEFAULT_OP_ARRAY_ADD(VECTOR3_ARRAY,Vector3); - DEFAULT_OP_ARRAY_ADD(COLOR_ARRAY,Color); + DEFAULT_OP_ARRAY_ADD(POOL_BYTE_ARRAY,uint8_t); + DEFAULT_OP_ARRAY_ADD(POOL_INT_ARRAY,int); + DEFAULT_OP_ARRAY_ADD(POOL_REAL_ARRAY,real_t); + DEFAULT_OP_ARRAY_ADD(POOL_STRING_ARRAY,String); + DEFAULT_OP_ARRAY_ADD(POOL_VECTOR2_ARRAY,Vector2); + DEFAULT_OP_ARRAY_ADD(POOL_VECTOR3_ARRAY,Vector3); + DEFAULT_OP_ARRAY_ADD(POOL_COLOR_ARRAY,Color); case VARIANT_MAX: { r_valid=false; return; @@ -532,12 +542,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(STRING); DEFAULT_OP_LOCALMEM(-,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM(-,VECTOR3,Vector3); DEFAULT_OP_FAIL(PLANE); DEFAULT_OP_LOCALMEM(-, QUAT, Quat); - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -548,13 +558,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(INPUT_EVENT); DEFAULT_OP_FAIL(DICTIONARY); DEFAULT_OP_FAIL(ARRAY); - DEFAULT_OP_FAIL(RAW_ARRAY); - DEFAULT_OP_FAIL(INT_ARRAY); - DEFAULT_OP_FAIL(REAL_ARRAY); - DEFAULT_OP_FAIL(STRING_ARRAY); - DEFAULT_OP_FAIL(VECTOR2_ARRAY); - DEFAULT_OP_FAIL(VECTOR3_ARRAY); - DEFAULT_OP_FAIL(COLOR_ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); case VARIANT_MAX: { r_valid=false; return; @@ -573,13 +583,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(STRING); DEFAULT_OP_LOCALMEM_NUM(*,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - case MATRIX32: { + case TRANSFORM2D: { - if (p_b.type==MATRIX32) { - _RETURN( *p_a._data._matrix32 * *p_b._data._matrix32 ); + if (p_b.type==TRANSFORM2D) { + _RETURN( *p_a._data._transform2d * *p_b._data._transform2d ); }; if (p_b.type==VECTOR2) { - _RETURN( p_a._data._matrix32->xform( *(const Vector2*)p_b._data._mem) ); + _RETURN( p_a._data._transform2d->xform( *(const Vector2*)p_b._data._mem) ); }; r_valid=false; return; @@ -605,18 +615,18 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& r_valid=false; return; } break; - DEFAULT_OP_FAIL(_AABB); - case MATRIX3: { + DEFAULT_OP_FAIL(RECT3); + case BASIS: { switch(p_b.type) { case VECTOR3: { - _RETURN( p_a._data._matrix3->xform( *(const Vector3*)p_b._data._mem) ); + _RETURN( p_a._data._basis->xform( *(const Vector3*)p_b._data._mem) ); } ; - case MATRIX3: { + case BASIS: { - _RETURN( *p_a._data._matrix3 * *p_b._data._matrix3 ); + _RETURN( *p_a._data._basis * *p_b._data._basis ); }; default: {} @@ -650,13 +660,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(INPUT_EVENT); DEFAULT_OP_FAIL(DICTIONARY); DEFAULT_OP_FAIL(ARRAY); - DEFAULT_OP_FAIL(RAW_ARRAY); - DEFAULT_OP_FAIL(INT_ARRAY); - DEFAULT_OP_FAIL(REAL_ARRAY); - DEFAULT_OP_FAIL(STRING_ARRAY); - DEFAULT_OP_FAIL(VECTOR2_ARRAY); - DEFAULT_OP_FAIL(VECTOR3_ARRAY); - DEFAULT_OP_FAIL(COLOR_ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); case VARIANT_MAX: { r_valid=false; return; @@ -673,7 +683,7 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& case INT: { switch(p_b.type) { case BOOL: { - int b = p_b._data._bool; + int64_t b = p_b._data._bool; if (b==0) { r_valid=false; @@ -683,7 +693,7 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& } break; case INT: { - int b = p_b._data._int; + int64_t b = p_b._data._int; if (b==0) { r_valid=false; @@ -702,7 +712,7 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(STRING); DEFAULT_OP_LOCALMEM_NUM(/,VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM_NUM(/,VECTOR3,Vector3); DEFAULT_OP_FAIL(PLANE); case QUAT: { @@ -712,8 +722,8 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& } _RETURN( *reinterpret_cast<const Quat*>(p_a._data._mem) / p_b._data._real); } break; - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -724,13 +734,13 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(INPUT_EVENT); DEFAULT_OP_FAIL(DICTIONARY); DEFAULT_OP_FAIL(ARRAY); - DEFAULT_OP_FAIL(RAW_ARRAY); - DEFAULT_OP_FAIL(INT_ARRAY); - DEFAULT_OP_FAIL(REAL_ARRAY); - DEFAULT_OP_FAIL(STRING_ARRAY); - DEFAULT_OP_FAIL(VECTOR2_ARRAY); - DEFAULT_OP_FAIL(VECTOR3_ARRAY); - DEFAULT_OP_FAIL(COLOR_ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); case VARIANT_MAX: { r_valid=false; return; @@ -740,6 +750,48 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& } } break; + case OP_POSITIVE: { + // Simple case when user defines variable as +value. + switch(p_a.type) { + + DEFAULT_OP_FAIL(NIL); + DEFAULT_OP_FAIL(STRING); + DEFAULT_OP_FAIL(RECT2); + DEFAULT_OP_FAIL(TRANSFORM2D); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); + DEFAULT_OP_FAIL(TRANSFORM); + DEFAULT_OP_NUM_POS(BOOL,_bool); + DEFAULT_OP_NUM_POS(INT,_int); + DEFAULT_OP_NUM_POS(REAL,_real); + DEFAULT_OP_LOCALMEM_POS(VECTOR3,Vector3); + DEFAULT_OP_LOCALMEM_POS(PLANE,Plane); + DEFAULT_OP_LOCALMEM_POS(QUAT,Quat); + DEFAULT_OP_LOCALMEM_POS(VECTOR2,Vector2); + + DEFAULT_OP_FAIL(COLOR); + DEFAULT_OP_FAIL(IMAGE); + DEFAULT_OP_FAIL(NODE_PATH); + DEFAULT_OP_FAIL(_RID); + DEFAULT_OP_FAIL(OBJECT); + DEFAULT_OP_FAIL(INPUT_EVENT); + DEFAULT_OP_FAIL(DICTIONARY); + DEFAULT_OP_FAIL(ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); + case VARIANT_MAX: { + r_valid=false; + return; + + } break; + + } + } break; case OP_NEGATE: { switch(p_a.type) { @@ -750,12 +802,12 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(STRING); DEFAULT_OP_LOCALMEM_NEG(VECTOR2,Vector2); DEFAULT_OP_FAIL(RECT2); - DEFAULT_OP_FAIL(MATRIX32); + DEFAULT_OP_FAIL(TRANSFORM2D); DEFAULT_OP_LOCALMEM_NEG(VECTOR3,Vector3); DEFAULT_OP_LOCALMEM_NEG(PLANE,Plane); DEFAULT_OP_LOCALMEM_NEG(QUAT,Quat); - DEFAULT_OP_FAIL(_AABB); - DEFAULT_OP_FAIL(MATRIX3); + DEFAULT_OP_FAIL(RECT3); + DEFAULT_OP_FAIL(BASIS); DEFAULT_OP_FAIL(TRANSFORM); DEFAULT_OP_FAIL(COLOR); @@ -766,21 +818,19 @@ void Variant::evaluate(const Operator& p_op, const Variant& p_a, const Variant& DEFAULT_OP_FAIL(INPUT_EVENT); DEFAULT_OP_FAIL(DICTIONARY); DEFAULT_OP_FAIL(ARRAY); - DEFAULT_OP_FAIL(RAW_ARRAY); - DEFAULT_OP_FAIL(INT_ARRAY); - DEFAULT_OP_FAIL(REAL_ARRAY); - DEFAULT_OP_FAIL(STRING_ARRAY); - DEFAULT_OP_FAIL(VECTOR2_ARRAY); - DEFAULT_OP_FAIL(VECTOR3_ARRAY); - DEFAULT_OP_FAIL(COLOR_ARRAY); + DEFAULT_OP_FAIL(POOL_BYTE_ARRAY); + DEFAULT_OP_FAIL(POOL_INT_ARRAY); + DEFAULT_OP_FAIL(POOL_REAL_ARRAY); + DEFAULT_OP_FAIL(POOL_STRING_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR2_ARRAY); + DEFAULT_OP_FAIL(POOL_VECTOR3_ARRAY); + DEFAULT_OP_FAIL(POOL_COLOR_ARRAY); case VARIANT_MAX: { r_valid=false; return; } break; - } - } break; case OP_MODULE: { if (p_a.type==INT && p_b.type==INT) { @@ -999,10 +1049,10 @@ Variant Variant::get_named(const StringName& p_index, bool *r_valid) const { } break; #define DEFAULT_OP_DVECTOR_SET(m_name, dv_type, skip_cond)\ - DEFAULT_OP_ARRAY_CMD(m_name, DVector<dv_type>, if(skip_cond) return;, arr->set(index, p_value);return) + DEFAULT_OP_ARRAY_CMD(m_name, PoolVector<dv_type>, if(skip_cond) return;, arr->set(index, p_value);return) #define DEFAULT_OP_DVECTOR_GET(m_name, dv_type)\ - DEFAULT_OP_ARRAY_CMD(m_name, const DVector<dv_type>, ;, return arr->get(index)) + DEFAULT_OP_ARRAY_CMD(m_name, const PoolVector<dv_type>, ;, return arr->get(index)) void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) { @@ -1107,7 +1157,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } } } break; - case MATRIX32: { + case TRANSFORM2D: { if (p_value.type!=Variant::VECTOR2) return; @@ -1119,7 +1169,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) if (index<0) index += 3; if (index>=0 && index<3) { - Matrix32 *v=_data._matrix32; + Transform2D *v=_data._transform2d; valid=true; v->elements[index]=p_value; @@ -1129,7 +1179,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) //scalar name const String *str=reinterpret_cast<const String*>(p_index._data._mem); - Matrix32 *v=_data._matrix32; + Transform2D *v=_data._transform2d; if (*str=="x") { valid=true; v->elements[0]=p_value; @@ -1255,7 +1305,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } } break; - case _AABB: { + case RECT3: { if (p_value.type!=Variant::VECTOR3) return; @@ -1265,7 +1315,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) //scalar name const String *str=reinterpret_cast<const String*>(p_index._data._mem); - AABB *v=_data._aabb; + Rect3 *v=_data._rect3; if (*str=="pos") { valid=true; v->pos=p_value; @@ -1281,7 +1331,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } } } break; //sorry naming convention fail :( not like it's used often // 10 - case MATRIX3: { + case BASIS: { if (p_value.type!=Variant::VECTOR3) return; @@ -1293,7 +1343,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) if (index<0) index += 3; if (index>=0 && index<3) { - Matrix3 *v=_data._matrix3; + Basis *v=_data._basis; valid=true; v->set_axis(index,p_value); @@ -1302,7 +1352,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } else if (p_index.get_type()==Variant::STRING) { const String *str=reinterpret_cast<const String*>(p_index._data._mem); - Matrix3 *v=_data._matrix3; + Basis *v=_data._basis; if (*str=="x") { valid=true; @@ -1348,7 +1398,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) if (*str=="basis") { - if (p_value.type!=Variant::MATRIX3) + if (p_value.type!=Variant::BASIS) return; valid=true; v->basis=p_value; @@ -1694,7 +1744,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } - if (ie.type==InputEvent::JOYSTICK_BUTTON) { + if (ie.type==InputEvent::JOYPAD_BUTTON) { if (str=="button_index") { if (p_value.type!=Variant::REAL && p_value.type!=Variant::INT) @@ -1719,7 +1769,7 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) } - if (ie.type==InputEvent::JOYSTICK_MOTION) { + if (ie.type==InputEvent::JOYPAD_MOTION) { if (str=="axis") { if (p_value.type!=Variant::REAL && p_value.type!=Variant::INT) @@ -1837,13 +1887,13 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid) return; } break; // 20 DEFAULT_OP_ARRAY_CMD(ARRAY, Array, ;, (*arr)[index]=p_value;return) - DEFAULT_OP_DVECTOR_SET(RAW_ARRAY, uint8_t, p_value.type != Variant::REAL && p_value.type != Variant::INT) - DEFAULT_OP_DVECTOR_SET(INT_ARRAY, int, p_value.type != Variant::REAL && p_value.type != Variant::INT) - DEFAULT_OP_DVECTOR_SET(REAL_ARRAY, real_t, p_value.type != Variant::REAL && p_value.type != Variant::INT) - DEFAULT_OP_DVECTOR_SET(STRING_ARRAY, String, p_value.type != Variant::STRING) // 25 - DEFAULT_OP_DVECTOR_SET(VECTOR2_ARRAY, Vector2, p_value.type != Variant::VECTOR2) - DEFAULT_OP_DVECTOR_SET(VECTOR3_ARRAY, Vector3, p_value.type != Variant::VECTOR3) - DEFAULT_OP_DVECTOR_SET(COLOR_ARRAY, Color, p_value.type != Variant::COLOR) + DEFAULT_OP_DVECTOR_SET(POOL_BYTE_ARRAY, uint8_t, p_value.type != Variant::REAL && p_value.type != Variant::INT) + DEFAULT_OP_DVECTOR_SET(POOL_INT_ARRAY, int, p_value.type != Variant::REAL && p_value.type != Variant::INT) + DEFAULT_OP_DVECTOR_SET(POOL_REAL_ARRAY, real_t, p_value.type != Variant::REAL && p_value.type != Variant::INT) + DEFAULT_OP_DVECTOR_SET(POOL_STRING_ARRAY, String, p_value.type != Variant::STRING) // 25 + DEFAULT_OP_DVECTOR_SET(POOL_VECTOR2_ARRAY, Vector2, p_value.type != Variant::VECTOR2) + DEFAULT_OP_DVECTOR_SET(POOL_VECTOR3_ARRAY, Vector3, p_value.type != Variant::VECTOR3) + DEFAULT_OP_DVECTOR_SET(POOL_COLOR_ARRAY, Color, p_value.type != Variant::COLOR) default: return; } @@ -1957,7 +2007,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } } break; - case MATRIX32: { + case TRANSFORM2D: { if (p_index.get_type()==Variant::INT || p_index.get_type()==Variant::REAL) { @@ -1966,7 +2016,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { if (index<0) index += 3; if (index>=0 && index<3) { - const Matrix32 *v=_data._matrix32; + const Transform2D *v=_data._transform2d; valid=true; return v->elements[index]; @@ -1975,7 +2025,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { //scalar name const String *str=reinterpret_cast<const String*>(p_index._data._mem); - const Matrix32 *v=_data._matrix32; + const Transform2D *v=_data._transform2d; if (*str=="x") { valid=true; return v->elements[0]; @@ -2036,13 +2086,13 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } } break; - case _AABB: { + case RECT3: { if (p_index.get_type()==Variant::STRING) { //scalar name const String *str=reinterpret_cast<const String*>(p_index._data._mem); - const AABB *v=_data._aabb; + const Rect3 *v=_data._rect3; if (*str=="pos") { valid=true; return v->pos; @@ -2055,7 +2105,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } } } break; //sorry naming convention fail :( not like it's used often // 10 - case MATRIX3: { + case BASIS: { if (p_index.get_type()==Variant::INT || p_index.get_type()==Variant::REAL) { @@ -2063,7 +2113,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { if (index<0) index += 3; if (index>=0 && index<3) { - const Matrix3 *v=_data._matrix3; + const Basis *v=_data._basis; valid=true; return v->get_axis(index); @@ -2071,7 +2121,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } else if (p_index.get_type()==Variant::STRING) { const String *str=reinterpret_cast<const String*>(p_index._data._mem); - const Matrix3 *v=_data._matrix3; + const Basis *v=_data._basis; if (*str=="x") { valid=true; @@ -2317,7 +2367,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } - if (ie.type==InputEvent::JOYSTICK_BUTTON) { + if (ie.type==InputEvent::JOYPAD_BUTTON) { if (str=="button_index") { valid=true; @@ -2332,7 +2382,7 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } - if (ie.type==InputEvent::JOYSTICK_MOTION) { + if (ie.type==InputEvent::JOYPAD_MOTION) { if (str=="axis") { valid=true; @@ -2421,13 +2471,13 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const { } } break; // 20 DEFAULT_OP_ARRAY_CMD(ARRAY, const Array, ;, return (*arr)[index]) - DEFAULT_OP_DVECTOR_GET(RAW_ARRAY, uint8_t) - DEFAULT_OP_DVECTOR_GET(INT_ARRAY, int) - DEFAULT_OP_DVECTOR_GET(REAL_ARRAY, real_t) - DEFAULT_OP_DVECTOR_GET(STRING_ARRAY, String) - DEFAULT_OP_DVECTOR_GET(VECTOR2_ARRAY, Vector2) - DEFAULT_OP_DVECTOR_GET(VECTOR3_ARRAY, Vector3) - DEFAULT_OP_DVECTOR_GET(COLOR_ARRAY, Color) + DEFAULT_OP_DVECTOR_GET(POOL_BYTE_ARRAY, uint8_t) + DEFAULT_OP_DVECTOR_GET(POOL_INT_ARRAY, int) + DEFAULT_OP_DVECTOR_GET(POOL_REAL_ARRAY, real_t) + DEFAULT_OP_DVECTOR_GET(POOL_STRING_ARRAY, String) + DEFAULT_OP_DVECTOR_GET(POOL_VECTOR2_ARRAY, Vector2) + DEFAULT_OP_DVECTOR_GET(POOL_VECTOR3_ARRAY, Vector3) + DEFAULT_OP_DVECTOR_GET(POOL_COLOR_ARRAY, Color) default: return Variant(); } @@ -2507,14 +2557,14 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { return false; } break; - case RAW_ARRAY: { + case POOL_BYTE_ARRAY: { if (p_index.get_type()==Variant::INT || p_index.get_type()==Variant::REAL) { int index = p_index; - const DVector<uint8_t> *arr=reinterpret_cast<const DVector<uint8_t>* >(_data._mem); + const PoolVector<uint8_t> *arr=reinterpret_cast<const PoolVector<uint8_t>* >(_data._mem); int l=arr->size(); if (l) { - DVector<uint8_t>::Read r = arr->read(); + PoolVector<uint8_t>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2526,14 +2576,14 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { } } break; - case INT_ARRAY: { + case POOL_INT_ARRAY: { if (p_index.get_type()==Variant::INT || p_index.get_type()==Variant::REAL) { int index = p_index; - const DVector<int> *arr=reinterpret_cast<const DVector<int>* >(_data._mem); + const PoolVector<int> *arr=reinterpret_cast<const PoolVector<int>* >(_data._mem); int l=arr->size(); if (l) { - DVector<int>::Read r = arr->read(); + PoolVector<int>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2544,15 +2594,15 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { return false; } } break; - case REAL_ARRAY: { + case POOL_REAL_ARRAY: { if (p_index.get_type()==Variant::INT || p_index.get_type()==Variant::REAL) { real_t index = p_index; - const DVector<real_t> *arr=reinterpret_cast<const DVector<real_t>* >(_data._mem); + const PoolVector<real_t> *arr=reinterpret_cast<const PoolVector<real_t>* >(_data._mem); int l=arr->size(); if (l) { - DVector<real_t>::Read r = arr->read(); + PoolVector<real_t>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2564,15 +2614,15 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { } } break; - case STRING_ARRAY: { + case POOL_STRING_ARRAY: { if (p_index.get_type()==Variant::STRING) { String index = p_index; - const DVector<String> *arr=reinterpret_cast<const DVector<String>* >(_data._mem); + const PoolVector<String> *arr=reinterpret_cast<const PoolVector<String>* >(_data._mem); int l=arr->size(); if (l) { - DVector<String>::Read r = arr->read(); + PoolVector<String>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2584,15 +2634,15 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { } } break; //25 - case VECTOR2_ARRAY: { + case POOL_VECTOR2_ARRAY: { if (p_index.get_type()==Variant::VECTOR2) { Vector2 index = p_index; - const DVector<Vector2> *arr=reinterpret_cast<const DVector<Vector2>* >(_data._mem); + const PoolVector<Vector2> *arr=reinterpret_cast<const PoolVector<Vector2>* >(_data._mem); int l=arr->size(); if (l) { - DVector<Vector2>::Read r = arr->read(); + PoolVector<Vector2>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2604,15 +2654,15 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { } } break; - case VECTOR3_ARRAY: { + case POOL_VECTOR3_ARRAY: { if (p_index.get_type()==Variant::VECTOR3) { Vector3 index = p_index; - const DVector<Vector3> *arr=reinterpret_cast<const DVector<Vector3>* >(_data._mem); + const PoolVector<Vector3> *arr=reinterpret_cast<const PoolVector<Vector3>* >(_data._mem); int l=arr->size(); if (l) { - DVector<Vector3>::Read r = arr->read(); + PoolVector<Vector3>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2624,17 +2674,17 @@ bool Variant::in(const Variant& p_index, bool *r_valid) const { } } break; - case COLOR_ARRAY: { + case POOL_COLOR_ARRAY: { if (p_index.get_type()==Variant::COLOR) { Color index = p_index; - const DVector<Color> *arr=reinterpret_cast<const DVector<Color>* >(_data._mem); + const PoolVector<Color> *arr=reinterpret_cast<const PoolVector<Color>* >(_data._mem); int l=arr->size(); if (l) { - DVector<Color>::Read r = arr->read(); + PoolVector<Color>::Read r = arr->read(); for(int i=0;i<l;i++) { if (r[i]==index) return true; @@ -2679,7 +2729,7 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back( PropertyInfo(Variant::REAL,"z")); } break; - case MATRIX32: { + case TRANSFORM2D: { p_list->push_back( PropertyInfo(Variant::VECTOR2,"x")); p_list->push_back( PropertyInfo(Variant::VECTOR2,"y")); @@ -2703,12 +2753,12 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { p_list->push_back( PropertyInfo(Variant::REAL,"w")); } break; - case _AABB: { + case RECT3: { p_list->push_back( PropertyInfo(Variant::VECTOR3,"pos")); p_list->push_back( PropertyInfo(Variant::VECTOR3,"size")); p_list->push_back( PropertyInfo(Variant::VECTOR3,"end")); } break; //sorry naming convention fail :( not like it's used often // 10 - case MATRIX3: { + case BASIS: { p_list->push_back( PropertyInfo(Variant::VECTOR3,"x")); p_list->push_back( PropertyInfo(Variant::VECTOR3,"y")); @@ -2717,7 +2767,7 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { } break; case TRANSFORM: { - p_list->push_back( PropertyInfo(Variant::MATRIX3,"basis")); + p_list->push_back( PropertyInfo(Variant::BASIS,"basis")); p_list->push_back( PropertyInfo(Variant::VECTOR3,"origin")); } break; @@ -2813,7 +2863,7 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { } - if (ie.type==InputEvent::JOYSTICK_BUTTON) { + if (ie.type==InputEvent::JOYPAD_BUTTON) { p_list->push_back( PropertyInfo(Variant::INT,"button_index") ); p_list->push_back( PropertyInfo(Variant::BOOL,"pressed") ); @@ -2821,7 +2871,7 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { } - if (ie.type==InputEvent::JOYSTICK_MOTION) { + if (ie.type==InputEvent::JOYPAD_MOTION) { p_list->push_back( PropertyInfo(Variant::INT,"axis") ); p_list->push_back( PropertyInfo(Variant::REAL,"value") ); @@ -2864,12 +2914,12 @@ void Variant::get_property_list(List<PropertyInfo> *p_list) const { } } break; // 20 case ARRAY: - case RAW_ARRAY: - case INT_ARRAY: - case REAL_ARRAY: - case STRING_ARRAY: - case VECTOR3_ARRAY: - case COLOR_ARRAY: { + case POOL_BYTE_ARRAY: + case POOL_INT_ARRAY: + case POOL_REAL_ARRAY: + case POOL_STRING_ARRAY: + case POOL_VECTOR3_ARRAY: + case POOL_COLOR_ARRAY: { //nothing } break; @@ -2941,56 +2991,56 @@ bool Variant::iter_init(Variant& r_iter,bool &valid) const { r_iter=0; return true; } break; - case RAW_ARRAY: { - const DVector<uint8_t> *arr=reinterpret_cast<const DVector<uint8_t>*>(_data._mem); + case POOL_BYTE_ARRAY: { + const PoolVector<uint8_t> *arr=reinterpret_cast<const PoolVector<uint8_t>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case INT_ARRAY: { - const DVector<int> *arr=reinterpret_cast<const DVector<int>*>(_data._mem); + case POOL_INT_ARRAY: { + const PoolVector<int> *arr=reinterpret_cast<const PoolVector<int>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case REAL_ARRAY: { - const DVector<real_t> *arr=reinterpret_cast<const DVector<real_t>*>(_data._mem); + case POOL_REAL_ARRAY: { + const PoolVector<real_t> *arr=reinterpret_cast<const PoolVector<real_t>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case STRING_ARRAY: { - const DVector<String> *arr=reinterpret_cast<const DVector<String>*>(_data._mem); + case POOL_STRING_ARRAY: { + const PoolVector<String> *arr=reinterpret_cast<const PoolVector<String>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case VECTOR2_ARRAY: { + case POOL_VECTOR2_ARRAY: { - const DVector<Vector2> *arr=reinterpret_cast<const DVector<Vector2>*>(_data._mem); + const PoolVector<Vector2> *arr=reinterpret_cast<const PoolVector<Vector2>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case VECTOR3_ARRAY: { + case POOL_VECTOR3_ARRAY: { - const DVector<Vector3> *arr=reinterpret_cast<const DVector<Vector3>*>(_data._mem); + const PoolVector<Vector3> *arr=reinterpret_cast<const PoolVector<Vector3>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; return true; } break; - case COLOR_ARRAY: { + case POOL_COLOR_ARRAY: { - const DVector<Color> *arr=reinterpret_cast<const DVector<Color>*>(_data._mem); + const PoolVector<Color> *arr=reinterpret_cast<const PoolVector<Color>*>(_data._mem); if (arr->size()==0) return false; r_iter=0; @@ -3072,8 +3122,8 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { r_iter=idx; return true; } break; - case RAW_ARRAY: { - const DVector<uint8_t> *arr=reinterpret_cast<const DVector<uint8_t>*>(_data._mem); + case POOL_BYTE_ARRAY: { + const PoolVector<uint8_t> *arr=reinterpret_cast<const PoolVector<uint8_t>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3082,8 +3132,8 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { return true; } break; - case INT_ARRAY: { - const DVector<int> *arr=reinterpret_cast<const DVector<int>*>(_data._mem); + case POOL_INT_ARRAY: { + const PoolVector<int> *arr=reinterpret_cast<const PoolVector<int>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3092,8 +3142,8 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { return true; } break; - case REAL_ARRAY: { - const DVector<real_t> *arr=reinterpret_cast<const DVector<real_t>*>(_data._mem); + case POOL_REAL_ARRAY: { + const PoolVector<real_t> *arr=reinterpret_cast<const PoolVector<real_t>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3102,8 +3152,8 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { return true; } break; - case STRING_ARRAY: { - const DVector<String> *arr=reinterpret_cast<const DVector<String>*>(_data._mem); + case POOL_STRING_ARRAY: { + const PoolVector<String> *arr=reinterpret_cast<const PoolVector<String>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3111,9 +3161,9 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { r_iter=idx; return true; } break; - case VECTOR2_ARRAY: { + case POOL_VECTOR2_ARRAY: { - const DVector<Vector2> *arr=reinterpret_cast<const DVector<Vector2>*>(_data._mem); + const PoolVector<Vector2> *arr=reinterpret_cast<const PoolVector<Vector2>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3121,9 +3171,9 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { r_iter=idx; return true; } break; - case VECTOR3_ARRAY: { + case POOL_VECTOR3_ARRAY: { - const DVector<Vector3> *arr=reinterpret_cast<const DVector<Vector3>*>(_data._mem); + const PoolVector<Vector3> *arr=reinterpret_cast<const PoolVector<Vector3>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3131,9 +3181,9 @@ bool Variant::iter_next(Variant& r_iter,bool &valid) const { r_iter=idx; return true; } break; - case COLOR_ARRAY: { + case POOL_COLOR_ARRAY: { - const DVector<Color> *arr=reinterpret_cast<const DVector<Color>*>(_data._mem); + const PoolVector<Color> *arr=reinterpret_cast<const PoolVector<Color>*>(_data._mem); int idx=r_iter; idx++; if (idx>=arr->size()) @@ -3204,8 +3254,8 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case RAW_ARRAY: { - const DVector<uint8_t> *arr=reinterpret_cast<const DVector<uint8_t>*>(_data._mem); + case POOL_BYTE_ARRAY: { + const PoolVector<uint8_t> *arr=reinterpret_cast<const PoolVector<uint8_t>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3215,8 +3265,8 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case INT_ARRAY: { - const DVector<int> *arr=reinterpret_cast<const DVector<int>*>(_data._mem); + case POOL_INT_ARRAY: { + const PoolVector<int> *arr=reinterpret_cast<const PoolVector<int>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3226,8 +3276,8 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case REAL_ARRAY: { - const DVector<real_t> *arr=reinterpret_cast<const DVector<real_t>*>(_data._mem); + case POOL_REAL_ARRAY: { + const PoolVector<real_t> *arr=reinterpret_cast<const PoolVector<real_t>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3237,8 +3287,8 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case STRING_ARRAY: { - const DVector<String> *arr=reinterpret_cast<const DVector<String>*>(_data._mem); + case POOL_STRING_ARRAY: { + const PoolVector<String> *arr=reinterpret_cast<const PoolVector<String>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3248,9 +3298,9 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case VECTOR2_ARRAY: { + case POOL_VECTOR2_ARRAY: { - const DVector<Vector2> *arr=reinterpret_cast<const DVector<Vector2>*>(_data._mem); + const PoolVector<Vector2> *arr=reinterpret_cast<const PoolVector<Vector2>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3260,9 +3310,9 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case VECTOR3_ARRAY: { + case POOL_VECTOR3_ARRAY: { - const DVector<Vector3> *arr=reinterpret_cast<const DVector<Vector3>*>(_data._mem); + const PoolVector<Vector3> *arr=reinterpret_cast<const PoolVector<Vector3>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3272,9 +3322,9 @@ Variant Variant::iter_get(const Variant& r_iter,bool &r_valid) const { #endif return arr->get(idx); } break; - case COLOR_ARRAY: { + case POOL_COLOR_ARRAY: { - const DVector<Color> *arr=reinterpret_cast<const DVector<Color>*>(_data._mem); + const PoolVector<Color> *arr=reinterpret_cast<const PoolVector<Color>*>(_data._mem); int idx=r_iter; #ifdef DEBUG_ENABLED if (idx<0 || idx>=arr->size()) { @@ -3308,8 +3358,8 @@ void Variant::blend(const Variant& a, const Variant& b, float c, Variant &r_dst) switch(a.type) { case NIL: { r_dst=Variant(); } return; case INT:{ - int va=a._data._int; - int vb=b._data._int; + int64_t va=a._data._int; + int64_t vb=b._data._int; r_dst=int(va + vb * c + 0.5); } return; case REAL:{ @@ -3324,10 +3374,10 @@ void Variant::blend(const Variant& a, const Variant& b, float c, Variant &r_dst) r_dst=Rect2(ra->pos + rb->pos * c, ra->size + rb->size * c); } return; case VECTOR3:{ r_dst=*reinterpret_cast<const Vector3*>(a._data._mem)+*reinterpret_cast<const Vector3*>(b._data._mem)*c; } return; - case _AABB:{ - const AABB *ra = reinterpret_cast<const AABB*>(a._data._mem); - const AABB *rb = reinterpret_cast<const AABB*>(b._data._mem); - r_dst=AABB(ra->pos + rb->pos * c, ra->size + rb->size * c); + case RECT3:{ + const Rect3 *ra = reinterpret_cast<const Rect3*>(a._data._mem); + const Rect3 *rb = reinterpret_cast<const Rect3*>(b._data._mem); + r_dst=Rect3(ra->pos + rb->pos * c, ra->size + rb->size * c); } return; case QUAT:{ Quat empty_rot; @@ -3373,8 +3423,8 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r case NIL:{ r_dst=Variant(); } return; case BOOL:{ r_dst=a; } return; case INT:{ - int va=a._data._int; - int vb=b._data._int; + int64_t va=a._data._int; + int64_t vb=b._data._int; r_dst=int((1.0-c) * va + vb * c); } return; case REAL:{ @@ -3426,11 +3476,11 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r case VECTOR2:{ r_dst=reinterpret_cast<const Vector2*>(a._data._mem)->linear_interpolate(*reinterpret_cast<const Vector2*>(b._data._mem),c); } return; case RECT2:{ r_dst = Rect2( reinterpret_cast<const Rect2*>(a._data._mem)->pos.linear_interpolate(reinterpret_cast<const Rect2*>(b._data._mem)->pos,c), reinterpret_cast<const Rect2*>(a._data._mem)->size.linear_interpolate(reinterpret_cast<const Rect2*>(b._data._mem)->size,c) ); } return; case VECTOR3:{ r_dst=reinterpret_cast<const Vector3*>(a._data._mem)->linear_interpolate(*reinterpret_cast<const Vector3*>(b._data._mem),c); } return; - case MATRIX32:{ r_dst=a._data._matrix32->interpolate_with(*b._data._matrix32,c); } return; + case TRANSFORM2D:{ r_dst=a._data._transform2d->interpolate_with(*b._data._transform2d,c); } return; case PLANE:{ r_dst=a; } return; case QUAT:{ r_dst=reinterpret_cast<const Quat*>(a._data._mem)->slerp(*reinterpret_cast<const Quat*>(b._data._mem),c); } return; - case _AABB:{ r_dst=AABB( a._data._aabb->pos.linear_interpolate(b._data._aabb->pos,c), a._data._aabb->size.linear_interpolate(b._data._aabb->size,c) ); } return; - case MATRIX3:{ r_dst=Transform(*a._data._matrix3).interpolate_with(Transform(*b._data._matrix3),c).basis; } return; + case RECT3:{ r_dst=Rect3( a._data._rect3->pos.linear_interpolate(b._data._rect3->pos,c), a._data._rect3->size.linear_interpolate(b._data._rect3->size,c) ); } return; + case BASIS:{ r_dst=Transform(*a._data._basis).interpolate_with(Transform(*b._data._basis),c).basis; } return; case TRANSFORM:{ r_dst=a._data._transform->interpolate_with(*b._data._transform,c); } return; case COLOR:{ r_dst=reinterpret_cast<const Color*>(a._data._mem)->linear_interpolate(*reinterpret_cast<const Color*>(b._data._mem),c); } return; case IMAGE:{ r_dst=a; } return; @@ -3440,25 +3490,25 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r case INPUT_EVENT:{ r_dst=a; } return; case DICTIONARY:{ } return; case ARRAY:{ r_dst=a; } return; - case RAW_ARRAY:{ r_dst=a; } return; - case INT_ARRAY:{ r_dst=a; } return; - case REAL_ARRAY:{ r_dst=a; } return; - case STRING_ARRAY:{ r_dst=a; } return; - case VECTOR2_ARRAY:{ - const DVector<Vector2> *arr_a=reinterpret_cast<const DVector<Vector2>* >(a._data._mem); - const DVector<Vector2> *arr_b=reinterpret_cast<const DVector<Vector2>* >(b._data._mem); + case POOL_BYTE_ARRAY:{ r_dst=a; } return; + case POOL_INT_ARRAY:{ r_dst=a; } return; + case POOL_REAL_ARRAY:{ r_dst=a; } return; + case POOL_STRING_ARRAY:{ r_dst=a; } return; + case POOL_VECTOR2_ARRAY:{ + const PoolVector<Vector2> *arr_a=reinterpret_cast<const PoolVector<Vector2>* >(a._data._mem); + const PoolVector<Vector2> *arr_b=reinterpret_cast<const PoolVector<Vector2>* >(b._data._mem); int sz = arr_a->size(); if (sz==0 || arr_b->size()!=sz) { r_dst=a; } else { - DVector<Vector2> v; + PoolVector<Vector2> v; v.resize(sz); { - DVector<Vector2>::Write vw=v.write(); - DVector<Vector2>::Read ar=arr_a->read(); - DVector<Vector2>::Read br=arr_b->read(); + PoolVector<Vector2>::Write vw=v.write(); + PoolVector<Vector2>::Read ar=arr_a->read(); + PoolVector<Vector2>::Read br=arr_b->read(); for(int i=0;i<sz;i++) { vw[i]=ar[i].linear_interpolate(br[i],c); @@ -3470,23 +3520,23 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r } return; - case VECTOR3_ARRAY:{ + case POOL_VECTOR3_ARRAY:{ - const DVector<Vector3> *arr_a=reinterpret_cast<const DVector<Vector3>* >(a._data._mem); - const DVector<Vector3> *arr_b=reinterpret_cast<const DVector<Vector3>* >(b._data._mem); + const PoolVector<Vector3> *arr_a=reinterpret_cast<const PoolVector<Vector3>* >(a._data._mem); + const PoolVector<Vector3> *arr_b=reinterpret_cast<const PoolVector<Vector3>* >(b._data._mem); int sz = arr_a->size(); if (sz==0 || arr_b->size()!=sz) { r_dst=a; } else { - DVector<Vector3> v; + PoolVector<Vector3> v; v.resize(sz); { - DVector<Vector3>::Write vw=v.write(); - DVector<Vector3>::Read ar=arr_a->read(); - DVector<Vector3>::Read br=arr_b->read(); + PoolVector<Vector3>::Write vw=v.write(); + PoolVector<Vector3>::Read ar=arr_a->read(); + PoolVector<Vector3>::Read br=arr_b->read(); for(int i=0;i<sz;i++) { vw[i]=ar[i].linear_interpolate(br[i],c); @@ -3497,7 +3547,7 @@ void Variant::interpolate(const Variant& a, const Variant& b, float c,Variant &r } } return; - case COLOR_ARRAY:{ r_dst=a; } return; + case POOL_COLOR_ARRAY:{ r_dst=a; } return; default: { r_dst=a; |
