From ab72598c749da37d2456fd08bb004c56ae22a00f Mon Sep 17 00:00:00 2001 From: lordhavoc Date: Sat, 18 Feb 2006 13:40:44 +0000 Subject: [PATCH] added impulse 19 cheat impulse (print surface info) for Morphed's development purposes git-svn-id: svn://svn.icculus.org/nexuiz/trunk@1086 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/gamec/cl_impulse.c | 46 ++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/data/qcsrc/server/gamec/cl_impulse.c b/data/qcsrc/server/gamec/cl_impulse.c index b4fcfd00d..e60c4644d 100644 --- a/data/qcsrc/server/gamec/cl_impulse.c +++ b/data/qcsrc/server/gamec/cl_impulse.c @@ -17,6 +17,42 @@ void DummyThink(void) PlayerPostThink(); } +// from dpmod +void(entity e, vector v) printsurfaceinfo = +{ + local float surfnum, numpoints, vnum; + local string s; + local vector n; + surfnum = getsurfacenearpoint(e, v); + if (surfnum >= 0) + { + sprint(self, "texture: "); + s = getsurfacetexture(e, surfnum); + sprint(self, s); + sprint(self, " normal: "); + n = getsurfacenormal(e, surfnum); + sprint(self, vtos(n)); + sprint(self, " "); + numpoints = getsurfacenumpoints(e, surfnum); + sprint(self, ftos(numpoints)); + sprint(self, " verts:"); + vnum = 0; + while (vnum < numpoints) + { + sprint(self, " "); + n = getsurfacepoint(e, surfnum, vnum); + sprint(self, vtos(n)); + vnum = vnum + 1; + } + sprint(self, " point tested: "); + sprint(self, vtos(v)); + sprint(self, " nearest point on surface: "); + n = getsurfaceclippedpoint(e, surfnum, v); + sprint(self, vtos(n)); + sprint(self, "\n"); + } +}; + void ImpulseCommands (void) { local float imp; @@ -79,6 +115,16 @@ void ImpulseCommands (void) } else if(imp == 18) PrintWelcomeMessage(self); + else if(imp == 19) + { + if (cvar("sv_cheats")) + { + makevectors(self.v_angle); + traceline(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 4096, FALSE, self); + if (trace_fraction < 1) + printsurfaceinfo(trace_ent, trace_endpos); + } + } else if (imp == 99) { if (cvar("sv_cheats")) -- 2.39.2