[nexuiz-commits] r6217 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Mar 19 07:12:28 EDT 2009
Author: div0
Date: 2009-03-19 07:12:27 -0400 (Thu, 19 Mar 2009)
New Revision: 6217
Modified:
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/defs.qh
Log:
some drag cursor improvements :P
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-03-19 10:39:49 UTC (rev 6216)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-03-19 11:12:27 UTC (rev 6217)
@@ -2377,36 +2377,22 @@
}
target_voicescript_next(self);
+}
- if(sv_cheats)
- if(self.BUTTON_DRAG)
- if(!self.dragentity)
- if(self.cursor_trace_ent)
- if(!self.cursor_trace_ent.tag_index)
- {
- self.dragentity = self.cursor_trace_ent;
- if(cvar("chase_active"))
- {
- if(gettagindex(self, "tag_weapon"))
- attach_sameorigin(self.dragentity, self, "tag_weapon");
- else
- attach_sameorigin(self.dragentity, self, "");
- }
- else
- attach_sameorigin(self.dragentity, self.weaponentity, "");
- self.dragentity.effects |= EF_FLAME;
- }
-
- if(!self.BUTTON_DRAG)
- if(self.dragentity)
- {
- self.dragentity.effects &~= EF_FLAME;
- detach_sameorigin(self.dragentity);
- self.dragentity = world;
- }
+void DragCursor_Think()
+{
+ self.model = self.owner.dragentity.model;
+ self.modelindex = self.owner.dragentity.modelindex;
+ self.origin = self.owner.dragentity.origin;
+ self.angles = self.owner.dragentity.angles;
+ self.tag_entity = self.owner.dragentity.tag_entity;
+ self.tag_index = self.owner.dragentity.tag_index;
+ self.scale = self.owner.dragentity.scale;
+ detach_sameorigin(self);
+
+ self.nextthink = time;
}
-
/*
=============
PlayerPostThink
@@ -2453,6 +2439,62 @@
self.idlekick_lasttimeleft = timeleft;
}
+ if(sv_cheats)
+ if(self.BUTTON_DRAG)
+ if(!self.dragentity)
+ if(self.cursor_trace_ent)
+ if(!self.cursor_trace_ent.tag_index)
+ {
+ self.dragentity = self.cursor_trace_ent;
+ self.dragcursor = spawn();
+ self.dragcursor.owner = self;
+ self.dragcursor.think = DragCursor_Think;
+ self.dragcursor.nextthink = time;
+ self.dragcursor.exteriormodeltoclient = self;
+ attach_sameorigin(self.dragentity, self.weaponentity, "");
+ self.dragentity.effects |= EF_FLAME;
+ }
+
+ if(self.dragentity)
+ {
+ if(self.BUTTON_DRAG)
+ {
+ float f;
+ if(self.dragspeed == 0)
+ self.dragspeed = 16;
+ if(self.impulse == 10 || self.impulse == 15 || self.impulse == 18)
+ {
+ f = 1 + self.dragspeed / vlen(self.dragentity.origin);
+ self.dragentity.origin = self.dragentity.origin * f;
+ self.impulse = 0;
+ }
+ else if(self.impulse == 12 || self.impulse == 16 || self.impulse == 19)
+ {
+ f = 1 - self.dragspeed / vlen(self.dragentity.origin);
+ self.dragentity.origin = self.dragentity.origin * f;
+ self.impulse = 0;
+ }
+ else if(self.impulse >= 1 && self.impulse <= 9)
+ {
+ self.dragspeed = pow(2, self.impulse);
+ self.impulse = 0;
+ }
+ else if(self.impulse == 14)
+ {
+ self.dragspeed = pow(2, 10);
+ self.impulse = 0;
+ }
+ }
+ else
+ {
+ self.dragentity.effects &~= EF_FLAME;
+ detach_sameorigin(self.dragentity);
+ self.dragentity = world;
+ remove(self.dragcursor);
+ self.dragcursor = world;
+ }
+ }
+
if(self.classname == "player") {
CheckRules_Player();
UpdateChatBubble();
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-03-19 10:39:49 UTC (rev 6216)
+++ trunk/data/qcsrc/server/defs.qh 2009-03-19 11:12:27 UTC (rev 6217)
@@ -554,3 +554,5 @@
float servertime, serverprevtime, serverframetime;
.entity dragentity;
+.float dragspeed;
+.entity dragcursor;
More information about the nexuiz-commits
mailing list