END_CHEAT_FUNCTION();
}
-float Drag(entity e, float dist);
+float Drag(entity e, float candrag);
void Drag_Begin(entity dragger, entity draggee, vector touchpoint);
void Drag_Finish(entity dragger);
float Drag_IsDraggable(entity draggee);
}
if(autocvar_sv_cheats)
{
- // only use non-sandbox dragging if cheats are enabled
+ // only use cheat dragging if cheats are enabled
crosshair_trace_plusvisibletriggers(self);
- if(Drag(trace_ent, FALSE) && !cvar("g_sandbox"))
+ if(Drag(trace_ent, TRUE) && !cvar("g_sandbox"))
DID_CHEAT();
}
break;
// ENTITY DRAGGING
-float Drag(entity e, float dist)
+float Drag(entity e, float candrag)
{
- float inrange;
- if(vlen(e.origin - self.origin) <= dist || !dist)
- inrange = TRUE;
-
if(Drag_IsDragging(self))
{
if(self.BUTTON_DRAG)
else
{
if(Drag_CanDrag(self))
- if(self.BUTTON_DRAG && inrange)
+ if(self.BUTTON_DRAG && candrag)
{
if(e)
if(Drag_IsDraggable(e))
void Drag_MoveDrag(entity from, entity to); // call this from CopyBody
-float Drag(entity e, float dist); // used by sandbox code
\ No newline at end of file
+float Drag(entity e, float candrag); // used by sandbox code
\ No newline at end of file
return FALSE; // cheats already allow dragging all objects
crosshair_trace_plusvisibletriggers(self);
- if(trace_ent.classname == "object")
- if(Drag(trace_ent, autocvar_g_sandbox_editor_distance_edit)) // execute the dragging
- if(autocvar_g_sandbox_info)
- print(strcat(self.netname, " grabbed an object at origin ", vtos(trace_ent.origin), "\n"));
+
+ float candrag;
+ if(trace_ent.classname == "object" && vlen(trace_ent.origin - self.origin) <= autocvar_g_sandbox_editor_distance_edit)
+ candrag = TRUE; // object can be picked up
+ if(Drag(trace_ent, candrag)) // execute dragging
+ if(autocvar_g_sandbox_info)
+ print(strcat(self.netname, " grabbed an object at origin ", vtos(trace_ent.origin), "\n"));
return FALSE;
}