[quake2] Q2Max/Rogue Tesla item crash
Brendan Burns
brendanburns at comcast.net
Fri Nov 11 10:03:30 EST 2005
Thanks!
I'll make sure that this gets into CVS.
--brendan
On Wed, 2005-11-09 at 12:02 +0100, qudos wrote:
> Some functions were not added when qmax port was implemented on the tree
>
> For test, download the XXX mission from this site, this mod share the rogue code
> http://www.milous.net/quake2/index.html
>
> Paste the game.so from rogue in the xxx dir , launch the game and use
> the tesla item, for sure will go to crash.
>
> Diffs=
>
> diff -Naur CVS/cl_fx.c tesla_patch/cl_fx.c
> --- CVS/cl_fx.c 2005-11-09 11:36:33.603509928 +0100
> +++ tesla_patch/cl_fx.c 2005-11-09 11:31:25.000000000 +0100
> @@ -2676,4 +2676,47 @@
> pBlasterThink,true);
> }
> }
> +
> +/*
> +===============
> +CL_LightningBeam
> +===============
> +*/
> +
> +void CL_LightningBeam(vec3_t start, vec3_t end, int srcEnt, int
> dstEnt, float size)
> +{
> + cparticle_t *list;
> + cparticle_t *p=NULL;
> +
> + for (list=active_particles ; list ; list=list->next)
> + if (list->src_ent == srcEnt && list->dst_ent == dstEnt &&
> list->image == particle_lightning)
> + {
> + p=list;
> + p->start = p->time = newParticleTime();
> + VectorCopy(start, p->angle);
> + VectorCopy(end, p->org);
> +
> + return;
> + }
> +
> + p = setupParticle (
> + start[0], start[1], start[2],
> + end[0], end[1], end[2],
> + 0, 0, 0,
> + 0, 0, 0,
> + 255, 255, 255,
> + 0, 0, 0,
> + 1, -2,
> + GL_SRC_ALPHA, GL_ONE,
> + size, 0,
> + particle_lightning,
> + PART_LIGHTNING,
> + 0, false);
> +
> + if (!p)
> + return;
> +
> + p->src_ent=srcEnt;
> + p->dst_ent=dstEnt;
> +}
> #endif
> diff -Naur CVS/cl_tent.c tesla_patch/cl_tent.c
> --- CVS/cl_tent.c 2002-10-08 22:03:00.000000000 +0200
> +++ tesla_patch/cl_tent.c 2005-11-09 11:26:24.938041144 +0100
> @@ -501,6 +501,25 @@
> CL_ParseLightning
> =================
> */
> +#ifdef QMAX
> +void CL_LightningBeam(vec3_t start, vec3_t end, int srcEnt, int
> dstEnt, float size);
> +int CL_ParseLightning (float size)
> +{
> +
> + vec3_t start, end;
> + int srcEnt, dstEnt;
> +
> + srcEnt = MSG_ReadShort (&net_message);
> + dstEnt = MSG_ReadShort (&net_message);
> +
> + MSG_ReadPos (&net_message, start);
> + MSG_ReadPos (&net_message, end);
> +
> + CL_LightningBeam(start, end, srcEnt, dstEnt, 5);
> +
> + return srcEnt;
> +}
> +#else
> int CL_ParseLightning (struct model_s *model)
> {
> int srcEnt, destEnt;
> @@ -548,7 +567,7 @@
> Com_Printf ("beam list overflow!\n");
> return srcEnt;
> }
> -
> +#endif
> /*
> =================
> CL_ParseLaser
>
>
>
> Cheers
More information about the quake2
mailing list