Remove VScript Squrrel arithmetic operator helper

They were broken, and only add for Quaternions was implemented, for
which there is a working QuaternionAdd() script function instead.
Fixing it seems like unnecessary work.
This commit is contained in:
Alexander 'z33ky' Hirsch 2024-11-18 14:52:38 +01:00
parent a2e43a567f
commit cbb60e1afd
4 changed files with 0 additions and 143 deletions

@ -322,11 +322,6 @@ public:
#ifdef MAPBASE_VSCRIPT
virtual bool Get( void *p, const char *pszKey, ScriptVariant_t &variant ) { return false; }
virtual bool Set( void *p, const char *pszKey, ScriptVariant_t &variant ) { return false; }
virtual ScriptVariant_t *Add( void *p, ScriptVariant_t &variant ) { return NULL; }
virtual ScriptVariant_t *Subtract( void *p, ScriptVariant_t &variant ) { return NULL; }
virtual ScriptVariant_t *Multiply( void *p, ScriptVariant_t &variant ) { return NULL; }
virtual ScriptVariant_t *Divide( void *p, ScriptVariant_t &variant ) { return NULL; }
#endif
};

@ -275,23 +275,6 @@ bool CScriptQuaternionInstanceHelper::Set( void *p, const char *pszKey, ScriptVa
return false;
}
ScriptVariant_t *CScriptQuaternionInstanceHelper::Add( void *p, ScriptVariant_t &variant )
{
Quaternion *pQuat = ((Quaternion *)p);
float flAdd;
variant.AssignTo( &flAdd );
(*pQuat)[0] += flAdd;
(*pQuat)[1] += flAdd;
(*pQuat)[2] += flAdd;
(*pQuat)[3] += flAdd;
static ScriptVariant_t result;
result = (HSCRIPT)p;
return &result;
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------

@ -40,11 +40,6 @@ class CScriptQuaternionInstanceHelper : public IScriptInstanceHelper
bool Get( void *p, const char *pszKey, ScriptVariant_t &variant );
bool Set( void *p, const char *pszKey, ScriptVariant_t &variant );
ScriptVariant_t *Add( void *p, ScriptVariant_t &variant );
//ScriptVariant_t *Subtract( void *p, ScriptVariant_t &variant );
//ScriptVariant_t *Multiply( void *p, ScriptVariant_t &variant );
//ScriptVariant_t *Divide( void *p, ScriptVariant_t &variant );
};
inline Quaternion *ToQuaternion( HSCRIPT hQuat ) { return HScriptToClass<Quaternion>( hQuat ); }

@ -1578,106 +1578,6 @@ SQInteger set_stub(HSQUIRRELVM vm)
return 0;
}
SQInteger add_stub(HSQUIRRELVM vm)
{
ClassInstanceData* classInstanceData = nullptr;
sq_getinstanceup(vm, 1, (SQUserPointer*)&classInstanceData, 0);
ScriptVariant_t var;
getVariant( vm, 1, var );
if (classInstanceData &&
classInstanceData->instance &&
classInstanceData->desc->pHelper)
{
ScriptVariant_t *result = classInstanceData->desc->pHelper->Add( classInstanceData->instance, var );
if (result != nullptr)
{
PushVariant( vm, *result );
sq_pop(vm, 1);
return 1;
}
}
sq_pop(vm, 1);
return sqstd_throwerrorf(vm, "invalid arith op +");
}
SQInteger sub_stub(HSQUIRRELVM vm)
{
ClassInstanceData* classInstanceData = nullptr;
sq_getinstanceup(vm, 1, (SQUserPointer*)&classInstanceData, 0);
ScriptVariant_t var;
getVariant( vm, 1, var );
if (classInstanceData &&
classInstanceData->instance &&
classInstanceData->desc->pHelper)
{
ScriptVariant_t *result = classInstanceData->desc->pHelper->Subtract( classInstanceData->instance, var );
if (result != nullptr)
{
PushVariant( vm, *result );
sq_pop(vm, 1);
return 1;
}
}
sq_pop(vm, 1);
return sqstd_throwerrorf(vm, "invalid arith op -");
}
SQInteger mul_stub(HSQUIRRELVM vm)
{
ClassInstanceData* classInstanceData = nullptr;
sq_getinstanceup(vm, 1, (SQUserPointer*)&classInstanceData, 0);
ScriptVariant_t var;
getVariant( vm, 1, var );
if (classInstanceData &&
classInstanceData->instance &&
classInstanceData->desc->pHelper )
{
ScriptVariant_t *result = classInstanceData->desc->pHelper->Add( classInstanceData->instance, var );
if (result != nullptr)
{
PushVariant( vm, *result );
sq_pop(vm, 1);
return 1;
}
}
sq_pop(vm, 1);
return sqstd_throwerrorf(vm, "invalid arith op *");
}
SQInteger div_stub(HSQUIRRELVM vm)
{
ClassInstanceData* classInstanceData = nullptr;
sq_getinstanceup(vm, 1, (SQUserPointer*)&classInstanceData, 0);
ScriptVariant_t var;
getVariant( vm, 1, var );
if (classInstanceData &&
classInstanceData->instance &&
classInstanceData->desc->pHelper )
{
ScriptVariant_t *result = classInstanceData->desc->pHelper->Add( classInstanceData->instance, var );
if (result != nullptr)
{
PushVariant( vm, *result );
sq_pop(vm, 1);
return 1;
}
}
sq_pop(vm, 1);
return sqstd_throwerrorf(vm, "invalid arith op /");
}
SQInteger IsValid_stub(HSQUIRRELVM vm)
{
ClassInstanceData* classInstanceData = nullptr;
@ -2511,22 +2411,6 @@ bool SquirrelVM::RegisterClass(ScriptClassDesc_t* pClassDesc)
sq_newclosure(vm_, set_stub, 0);
sq_newslot(vm_, -3, SQFalse);
sq_pushstring(vm_, "_add", -1);
sq_newclosure(vm_, add_stub, 0);
sq_newslot(vm_, -3, SQFalse);
sq_pushstring(vm_, "_sub", -1);
sq_newclosure(vm_, sub_stub, 0);
sq_newslot(vm_, -3, SQFalse);
sq_pushstring(vm_, "_mul", -1);
sq_newclosure(vm_, mul_stub, 0);
sq_newslot(vm_, -3, SQFalse);
sq_pushstring(vm_, "_div", -1);
sq_newclosure(vm_, div_stub, 0);
sq_newslot(vm_, -3, SQFalse);
sq_pushstring(vm_, "IsValid", -1);
sq_newclosure(vm_, IsValid_stub, 0);
sq_newslot(vm_, -3, SQFalse);