All pastes #631796 Raw Edit

Something

public c v1 · immutable
#631796 ·published 2007-07-24 10:48 UTC
rendered paste body
Index: src/client/cl_le.c===================================================================--- src/client/cl_le.c  (Revision 10097)+++ src/client/cl_le.c  (Arbeitskopie)@@ -24,6 +24,7 @@ */  #include "client.h"+#include "snd_loc.h"  localModel_t LMs[MAX_LOCALMODELS]; int numLMs;@@ -405,7 +406,26 @@        le->think = NULL; } +/**+ * @brief Plays step sounds and draw particles for different terrain types+ * @param[in] le The local entity to play the sound and draw the particle for+ * @param[in] textureName The name of the texture the actor is standing on+ */+static void CL_PlaySoundFileAndParticleForSurface (le_t* le, const char *textureName)+{+       sfx_t *sfx;+       static const char *sound = "FIXME";+       int entchannel = 0; +       /* use the Grid_Fall method to ensure, that the particle is+        * drawn at the ground (if needed - maybe the origin is already ground aligned)*/+       Com_Printf("texture: %s\n", textureName);+       CL_ParticleSpawn("dust", 0, le->origin, NULL, NULL);+       sfx = S_RegisterSound(sound);+       if (sfx)+               S_StartSound(le->origin, le->entnum, entchannel, sfx, DEFAULT_SOUND_PACKET_VOLUME, DEFAULT_SOUND_PACKET_ATTENUATION, 0);+}+ /**  * @brief Move the actor along the path to the given location  * @note Think function@@ -427,6 +447,9 @@                VectorCopy(le->pos, le->oldPos);                 if (le->pathPos < le->pathLength) {+                       trace_t trace;+                       vec3_t from, to;+                        /* next part */                        dv = le->path[le->pathPos++];                        PosAddDV(le->pos, dv);@@ -436,6 +459,17 @@                        le->TU -= tuCost;                        if (le == selActor)                                actorMoveLength -= tuCost;++                       /* prepare trace vectors */+                       VectorCopy(le->origin, from);+                       VectorCopy(le->origin, to);+                       /* between these two we should really hit the ground */+                       from[2] += UNIT_HEIGHT;+                       to[2] -= UNIT_HEIGHT;++                       trace = CL_Trace(from, to, vec3_origin, vec3_origin, NULL, NULL, MASK_SOLID);+                       if (trace.surface)+                               CL_PlaySoundFileAndParticleForSurface(le, trace.surface->name);                        le->dir = dv & (DIRECTIONS-1);                        le->angles[YAW] = dangle[le->dir];                        le->startTime = le->endTime;