_Movetype_LinkEdict_TouchAreaGrid(this);
}
-bool _Movetype_TestEntityPosition(/*entity this, */ vector ofs) // SV_TestEntityPosition
+entity _Movetype_TestEntityPosition_ent;
+bool _Movetype_TestEntityPosition(vector ofs) // SV_TestEntityPosition
{
- SELFPARAM(); // XXX: performance
+ entity this = _Movetype_TestEntityPosition_ent;
// vector org = this.move_origin + ofs;
int cont = this.dphitcontentsmask;
bool _Movetype_UnstickEntity(entity this) // SV_UnstickEntity
{
- entity oldself = this;
- setself(this);
- if (!_Movetype_TestEntityPosition(/* this, */ ' 0 0 0')) {
- setself(oldself);
+ _Movetype_TestEntityPosition_ent = this;
+ if (!_Movetype_TestEntityPosition(' 0 0 0')) {
return true;
}
- #define X(v) if (_Movetype_TestEntityPosition(/* this, */ v))
+ #define X(v) if (_Movetype_TestEntityPosition(v))
X('-1 0 0') X(' 1 0 0')
X(' 0 -1 0') X(' 0 1 0')
X('-1 -1 0') X(' 1 -1 0')
#undef X
{
#define X(i) \
- if (_Movetype_TestEntityPosition(/* this, */ '0 0 -1' * i)) \
- if (_Movetype_TestEntityPosition(/* this, */ '0 0 1' * i))
+ if (_Movetype_TestEntityPosition('0 0 -1' * i)) \
+ if (_Movetype_TestEntityPosition('0 0 1' * i))
X(01) X(02) X(03) X(04) X(05) X(06) X(07) X(08)
X(09) X(10) X(11) X(12) X(13) X(14) X(15) X(16)
X(17)
#undef X
{
- setself(oldself);
LOG_DEBUGF("Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n",
etof(this), this.classname, vtos(this.move_origin));
return false;
}
}
- setself(oldself);
LOG_DEBUGF("Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n",
etof(this), this.classname, vtos(this.move_origin));
_Movetype_LinkEdict(this, true);