From: Maik Merten Date: Tue, 25 Jan 2011 18:33:17 +0000 (+0100) Subject: add .float platmovetype, so platform entities can opt to choose traditional linear... X-Git-Tag: xonotic-v0.5.0~311^2~37^2^2~3 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bc328f49929607e348388f694c7860453d1a9025;p=xonotic%2Fxonotic-data.pk3dir.git add .float platmovetype, so platform entities can opt to choose traditional linear movement instead of the fancy new smoothly accelerating movement. --- diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 970c86af4..16c76c11e 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -77,6 +77,7 @@ float maxclients; //.float style; //.float skill; .float sounds; +.float platmovetype; .string killtarget; diff --git a/qcsrc/server/g_subs.qc b/qcsrc/server/g_subs.qc index 79369b74b..6c4089c83 100644 --- a/qcsrc/server/g_subs.qc +++ b/qcsrc/server/g_subs.qc @@ -247,9 +247,12 @@ void SUB_CalcMove (vector tdest, float tspeed, void() func) return; } - // very short animations don't really show off the effect - // of controlled animation, so let's just use linear movement - if (traveltime < 0.15) + // Very short animations don't really show off the effect + // of controlled animation, so let's just use linear movement. + // Alternatively entities can choose to specify non-controlled movement. + // The default, controlled movement, is value 0, the only currently + // implemented alternative movement is linear, which is any other value. + if (traveltime < 0.15 || self.platmovetype) { self.velocity = delta * (1/traveltime); // QuakeC doesn't allow vector/float division self.nextthink = self.ltime + traveltime;