diff --git a/src/public/vscript/variant.h b/src/public/vscript/variant.h index dbc2e4286eb..3d22b5adf3f 100644 --- a/src/public/vscript/variant.h +++ b/src/public/vscript/variant.h @@ -129,8 +129,8 @@ class CVariantBase operator char() const { Assert( m_type == FIELD_CHARACTER ); return m_char; } operator bool() const { Assert( m_type == FIELD_BOOLEAN ); return m_bool; } operator HSCRIPT() const { Assert( m_type == FIELD_HSCRIPT ); return m_hScript; } - operator CBaseHandle() const { Assert( m_type == FIELD_EHANDLE ); return CBaseHandle( m_hEntity ); } - operator CBaseEntity*() const { Assert( m_type == FIELD_EHANDLE ); return CHandle(CBaseHandle( m_hEntity )); } + operator CBaseHandle() const { Assert( m_type == FIELD_EHANDLE ); return CBaseHandle::UnsafeFromIndex( m_hEntity ); } + operator CBaseEntity*() const { Assert( m_type == FIELD_EHANDLE ); return CHandle::UnsafeFromIndex( m_hEntity ); } operator const Quaternion &() const { Assert( m_type == FIELD_QUATERNION ); return m_pData ? *(Quaternion*)m_pData : quat_identity; } // operator CUtlStringToken() const { Assert( m_type == FIELD_UTLSTRINGTOKEN ); CUtlStringToken t; t.m_nHashCode = m_utlStringToken; return t; } @@ -614,7 +614,7 @@ inline bool CVariantBase::AssignTo( CBaseHandle *pDest ) const { switch( m_type ) { - case FIELD_EHANDLE: *pDest = CHandle< CBaseEntity >(m_hEntity); return true; + case FIELD_EHANDLE: *pDest = CHandle< CBaseEntity >::UnsafeFromIndex( m_hEntity ); return true; default: Warning( "No free conversion of %s variant to EHANDLE right now\n", VariantFieldTypeName( m_type ) ); break; @@ -627,7 +627,7 @@ inline bool CVariantBase::AssignTo( CBaseEntity **pDest ) const { switch( m_type ) { - case FIELD_EHANDLE: *pDest = CHandle< CBaseEntity >(m_hEntity); return true; + case FIELD_EHANDLE: *pDest = CHandle< CBaseEntity >::UnsafeFromIndex( m_hEntity ); return true; default: Warning( "No free conversion of %s variant to CBaseEntity * right now\n", VariantFieldTypeName( m_type ) ); break;