Hexen2 crashfix for stmedgaz.mdl not found (medusa poison gas)
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3832 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
d474631cd4
commit
faabc498a1
1 changed files with 60 additions and 60 deletions
|
@ -8,7 +8,7 @@ of the License, or (at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
See the GNU General Public License for more details.
|
See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ entity_state_t *CL_FindPacketEntity(int num);
|
||||||
|
|
||||||
#define R_AddDecals(a) //disabled for now
|
#define R_AddDecals(a) //disabled for now
|
||||||
|
|
||||||
int
|
int
|
||||||
pt_gunshot=P_INVALID,
|
pt_gunshot=P_INVALID,
|
||||||
ptdp_gunshotquad=P_INVALID,
|
ptdp_gunshotquad=P_INVALID,
|
||||||
pt_spike=P_INVALID,
|
pt_spike=P_INVALID,
|
||||||
|
@ -63,7 +63,7 @@ int
|
||||||
|
|
||||||
ptqw_blood=P_INVALID,
|
ptqw_blood=P_INVALID,
|
||||||
ptqw_lightningblood=P_INVALID,
|
ptqw_lightningblood=P_INVALID,
|
||||||
|
|
||||||
ptq2_blood=P_INVALID,
|
ptq2_blood=P_INVALID,
|
||||||
rtq2_railtrail=P_INVALID,
|
rtq2_railtrail=P_INVALID,
|
||||||
rtq2_blastertrail=P_INVALID,
|
rtq2_blastertrail=P_INVALID,
|
||||||
|
@ -440,7 +440,7 @@ void CL_RegisterParticles(void)
|
||||||
|
|
||||||
ptqw_blood = P_FindParticleType("TE_BLOOD");
|
ptqw_blood = P_FindParticleType("TE_BLOOD");
|
||||||
ptqw_lightningblood = P_FindParticleType("TE_LIGHTNINGBLOOD");
|
ptqw_lightningblood = P_FindParticleType("TE_LIGHTNINGBLOOD");
|
||||||
|
|
||||||
ptq2_blood = P_FindParticleType("TE_BLOOD");
|
ptq2_blood = P_FindParticleType("TE_BLOOD");
|
||||||
rtq2_railtrail = P_FindParticleType("TR_RAILTRAIL");
|
rtq2_railtrail = P_FindParticleType("TR_RAILTRAIL");
|
||||||
rtq2_blastertrail = P_FindParticleType("TR_BLASTERTRAIL");
|
rtq2_blastertrail = P_FindParticleType("TR_BLASTERTRAIL");
|
||||||
|
@ -498,7 +498,7 @@ int CLQ2_RegisterTEntModels (void)
|
||||||
// return false;
|
// return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
=================
|
=================
|
||||||
|
@ -521,7 +521,7 @@ explosion_t *CL_AllocExplosion (void)
|
||||||
int i;
|
int i;
|
||||||
float time;
|
float time;
|
||||||
int index;
|
int index;
|
||||||
|
|
||||||
for (i=0; i < explosions_running; i++)
|
for (i=0; i < explosions_running; i++)
|
||||||
{
|
{
|
||||||
if (!cl_explosions[i].model)
|
if (!cl_explosions[i].model)
|
||||||
|
@ -689,7 +689,7 @@ void CL_AddBeam (int tent, int ent, vec3_t start, vec3_t end) //fixme: use TE_ n
|
||||||
b = CL_NewBeam(ent, -1);
|
b = CL_NewBeam(ent, -1);
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
{
|
||||||
Con_Printf ("beam list overflow!\n");
|
Con_Printf ("beam list overflow!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -716,11 +716,11 @@ void CL_ParseBeam (int tent)
|
||||||
vec3_t start, end;
|
vec3_t start, end;
|
||||||
|
|
||||||
ent = MSG_ReadShort ();
|
ent = MSG_ReadShort ();
|
||||||
|
|
||||||
start[0] = MSG_ReadCoord ();
|
start[0] = MSG_ReadCoord ();
|
||||||
start[1] = MSG_ReadCoord ();
|
start[1] = MSG_ReadCoord ();
|
||||||
start[2] = MSG_ReadCoord ();
|
start[2] = MSG_ReadCoord ();
|
||||||
|
|
||||||
end[0] = MSG_ReadCoord ();
|
end[0] = MSG_ReadCoord ();
|
||||||
end[1] = MSG_ReadCoord ();
|
end[1] = MSG_ReadCoord ();
|
||||||
end[2] = MSG_ReadCoord ();
|
end[2] = MSG_ReadCoord ();
|
||||||
|
@ -736,7 +736,7 @@ void CL_ParseStream (int type)
|
||||||
int tag;
|
int tag;
|
||||||
float duration;
|
float duration;
|
||||||
int skin;
|
int skin;
|
||||||
|
|
||||||
ent = MSG_ReadShort();
|
ent = MSG_ReadShort();
|
||||||
flags = MSG_ReadByte();
|
flags = MSG_ReadByte();
|
||||||
tag = flags&15;
|
tag = flags&15;
|
||||||
|
@ -757,7 +757,7 @@ void CL_ParseStream (int type)
|
||||||
b = CL_NewBeam(ent, tag);
|
b = CL_NewBeam(ent, tag);
|
||||||
if (!b)
|
if (!b)
|
||||||
{
|
{
|
||||||
Con_Printf ("beam list overflow!\n");
|
Con_Printf ("beam list overflow!\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -813,7 +813,7 @@ void CL_ParseStream (int type)
|
||||||
b->particleeffect = P_FindParticleType("te_stream_colorbeam");
|
b->particleeffect = P_FindParticleType("te_stream_colorbeam");
|
||||||
break;
|
break;
|
||||||
case TEH2_STREAM_GAZE:
|
case TEH2_STREAM_GAZE:
|
||||||
b->model = Mod_ForName("stmedgaz.mdl", true);
|
b->model = Mod_ForName("models/stmedgaz.mdl", true);
|
||||||
b->particleeffect = P_FindParticleType("te_stream_gaze");
|
b->particleeffect = P_FindParticleType("te_stream_gaze");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -870,7 +870,7 @@ void CL_ParseTEnt (void)
|
||||||
|
|
||||||
S_StartSound (-2, 0, cl_sfx_wizhit, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_wizhit, pos, 1, 1, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TE_KNIGHTSPIKE: // spike hitting wall
|
case TE_KNIGHTSPIKE: // spike hitting wall
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
pos[1] = MSG_ReadCoord ();
|
pos[1] = MSG_ReadCoord ();
|
||||||
|
@ -883,7 +883,7 @@ void CL_ParseTEnt (void)
|
||||||
|
|
||||||
S_StartSound (-2, 0, cl_sfx_knighthit, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_knighthit, pos, 1, 1, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEDP_SPIKEQUAD:
|
case TEDP_SPIKEQUAD:
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
pos[1] = MSG_ReadCoord ();
|
pos[1] = MSG_ReadCoord ();
|
||||||
|
@ -988,7 +988,7 @@ void CL_ParseTEnt (void)
|
||||||
S_StartSound (-2, 0, cl_sfx_ric3, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_ric3, pos, 1, 1, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef PEXT_TE_BULLET
|
#ifdef PEXT_TE_BULLET
|
||||||
case TE_BULLET:
|
case TE_BULLET:
|
||||||
if (!(cls.fteprotocolextensions & PEXT_TE_BULLET))
|
if (!(cls.fteprotocolextensions & PEXT_TE_BULLET))
|
||||||
|
@ -1041,7 +1041,7 @@ void CL_ParseTEnt (void)
|
||||||
S_StartSound (-2, 0, cl_sfx_ric2, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_ric2, pos, 1, 1, 0);
|
||||||
else
|
else
|
||||||
S_StartSound (-2, 0, cl_sfx_ric3, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_ric3, pos, 1, 1, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1055,7 +1055,7 @@ void CL_ParseTEnt (void)
|
||||||
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
||||||
|
|
||||||
R_AddStain(pos, -1, -1, -1, 100);
|
R_AddStain(pos, -1, -1, -1, 100);
|
||||||
|
|
||||||
// light
|
// light
|
||||||
if (r_explosionlight.value)
|
if (r_explosionlight.value)
|
||||||
{
|
{
|
||||||
|
@ -1064,7 +1064,7 @@ void CL_ParseTEnt (void)
|
||||||
dl->radius = 150 + r_explosionlight.value*200;
|
dl->radius = 150 + r_explosionlight.value*200;
|
||||||
dl->die = cl.time + 1;
|
dl->die = cl.time + 1;
|
||||||
dl->decay = 300;
|
dl->decay = 300;
|
||||||
|
|
||||||
dl->color[0] = 0.2;
|
dl->color[0] = 0.2;
|
||||||
dl->color[1] = 0.155;
|
dl->color[1] = 0.155;
|
||||||
dl->color[2] = 0.05;
|
dl->color[2] = 0.05;
|
||||||
|
@ -1076,8 +1076,8 @@ void CL_ParseTEnt (void)
|
||||||
|
|
||||||
// sound
|
// sound
|
||||||
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
||||||
|
|
||||||
// sprite
|
// sprite
|
||||||
if (cl_expsprite.ival) // temp hopefully
|
if (cl_expsprite.ival) // temp hopefully
|
||||||
{
|
{
|
||||||
explosion_t *ex = CL_AllocExplosion ();
|
explosion_t *ex = CL_AllocExplosion ();
|
||||||
|
@ -1095,7 +1095,7 @@ void CL_ParseTEnt (void)
|
||||||
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
||||||
|
|
||||||
R_AddStain(pos, -1, -1, -1, 100);
|
R_AddStain(pos, -1, -1, -1, 100);
|
||||||
|
|
||||||
// light
|
// light
|
||||||
if (r_explosionlight.value)
|
if (r_explosionlight.value)
|
||||||
{
|
{
|
||||||
|
@ -1104,7 +1104,7 @@ void CL_ParseTEnt (void)
|
||||||
dl->radius = 150 + r_explosionlight.value*200;
|
dl->radius = 150 + r_explosionlight.value*200;
|
||||||
dl->die = cl.time + 1;
|
dl->die = cl.time + 1;
|
||||||
dl->decay = 300;
|
dl->decay = 300;
|
||||||
|
|
||||||
dl->color[0] = 0.2;
|
dl->color[0] = 0.2;
|
||||||
dl->color[1] = 0.155;
|
dl->color[1] = 0.155;
|
||||||
dl->color[2] = 0.05;
|
dl->color[2] = 0.05;
|
||||||
|
@ -1116,8 +1116,8 @@ void CL_ParseTEnt (void)
|
||||||
|
|
||||||
// sound
|
// sound
|
||||||
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
||||||
|
|
||||||
// sprite
|
// sprite
|
||||||
if (cl_expsprite.ival && !nqprot) // temp hopefully
|
if (cl_expsprite.ival && !nqprot) // temp hopefully
|
||||||
{
|
{
|
||||||
explosion_t *ex = CL_AllocExplosion ();
|
explosion_t *ex = CL_AllocExplosion ();
|
||||||
|
@ -1135,8 +1135,8 @@ void CL_ParseTEnt (void)
|
||||||
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
||||||
|
|
||||||
R_AddStain(pos, -1, -1, -1, 100);
|
R_AddStain(pos, -1, -1, -1, 100);
|
||||||
|
|
||||||
|
|
||||||
// light
|
// light
|
||||||
if (r_explosionlight.value)
|
if (r_explosionlight.value)
|
||||||
{
|
{
|
||||||
|
@ -1145,7 +1145,7 @@ void CL_ParseTEnt (void)
|
||||||
dl->radius = 150 + r_explosionlight.value*200;
|
dl->radius = 150 + r_explosionlight.value*200;
|
||||||
dl->die = cl.time + 0.5;
|
dl->die = cl.time + 0.5;
|
||||||
dl->decay = 300;
|
dl->decay = 300;
|
||||||
|
|
||||||
dl->color[0] = 0.4f*MSG_ReadByte()/255.0f;
|
dl->color[0] = 0.4f*MSG_ReadByte()/255.0f;
|
||||||
dl->color[1] = 0.4f*MSG_ReadByte()/255.0f;
|
dl->color[1] = 0.4f*MSG_ReadByte()/255.0f;
|
||||||
dl->color[2] = 0.4f*MSG_ReadByte()/255.0f;
|
dl->color[2] = 0.4f*MSG_ReadByte()/255.0f;
|
||||||
|
@ -1166,17 +1166,17 @@ void CL_ParseTEnt (void)
|
||||||
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
P_RunParticleEffect(pos, NULL, 107, 1024); // should be 97-111
|
||||||
|
|
||||||
R_AddStain(pos, -1, -1, -1, 100);
|
R_AddStain(pos, -1, -1, -1, 100);
|
||||||
|
|
||||||
// light
|
// light
|
||||||
if (r_explosionlight.value)
|
if (r_explosionlight.value)
|
||||||
{
|
{
|
||||||
dl = CL_AllocDlight (0);
|
dl = CL_AllocDlight (0);
|
||||||
VectorCopy (pos, dl->origin);
|
VectorCopy (pos, dl->origin);
|
||||||
// no point in doing this the fuh/ez way
|
// no point in doing this the fuh/ez way
|
||||||
dl->radius = 500*r_explosionlight.value;
|
dl->radius = 500*r_explosionlight.value;
|
||||||
dl->die = cl.time + 1;
|
dl->die = cl.time + 1;
|
||||||
dl->decay = 500;
|
dl->decay = 500;
|
||||||
|
|
||||||
dl->color[0] = 0.4f;
|
dl->color[0] = 0.4f;
|
||||||
dl->color[1] = 0.3f;
|
dl->color[1] = 0.3f;
|
||||||
dl->color[2] = 0.15f;
|
dl->color[2] = 0.15f;
|
||||||
|
@ -1187,7 +1187,7 @@ void CL_ParseTEnt (void)
|
||||||
|
|
||||||
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
S_StartSound (-2, 0, cl_sfx_r_exp3, pos, 1, 1, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TE_TAREXPLOSION: // tarbaby explosion
|
case TE_TAREXPLOSION: // tarbaby explosion
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
pos[1] = MSG_ReadCoord ();
|
pos[1] = MSG_ReadCoord ();
|
||||||
|
@ -1204,14 +1204,14 @@ void CL_ParseTEnt (void)
|
||||||
case TE_LIGHTNING3: // lightning bolts
|
case TE_LIGHTNING3: // lightning bolts
|
||||||
CL_ParseBeam (2);
|
CL_ParseBeam (2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TE_LAVASPLASH:
|
case TE_LAVASPLASH:
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
pos[1] = MSG_ReadCoord ();
|
pos[1] = MSG_ReadCoord ();
|
||||||
pos[2] = MSG_ReadCoord ();
|
pos[2] = MSG_ReadCoord ();
|
||||||
P_RunParticleEffectType(pos, NULL, 1, pt_lavasplash);
|
P_RunParticleEffectType(pos, NULL, 1, pt_lavasplash);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TE_TELEPORT:
|
case TE_TELEPORT:
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
pos[1] = MSG_ReadCoord ();
|
pos[1] = MSG_ReadCoord ();
|
||||||
|
@ -1246,7 +1246,7 @@ void CL_ParseTEnt (void)
|
||||||
P_RunParticleEffect (pos, vec3_origin, 0, 20*cnt);
|
P_RunParticleEffect (pos, vec3_origin, 0, 20*cnt);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEQW_BLOOD: // bullets hitting body
|
case TEQW_BLOOD: // bullets hitting body
|
||||||
cnt = MSG_ReadByte ();
|
cnt = MSG_ReadByte ();
|
||||||
pos[0] = MSG_ReadCoord ();
|
pos[0] = MSG_ReadCoord ();
|
||||||
|
@ -1376,12 +1376,12 @@ void CL_ParseTEnt (void)
|
||||||
pos2[0] = (MSG_ReadByte() + 1) * (1.0 / 256.0);
|
pos2[0] = (MSG_ReadByte() + 1) * (1.0 / 256.0);
|
||||||
dl->die = cl.time + pos2[0];
|
dl->die = cl.time + pos2[0];
|
||||||
dl->decay = dl->radius / pos2[0];
|
dl->decay = dl->radius / pos2[0];
|
||||||
|
|
||||||
// DP's range is 0-2 for lights, FTE is 0-0.4.. 255/637.5 = 0.4
|
// DP's range is 0-2 for lights, FTE is 0-0.4.. 255/637.5 = 0.4
|
||||||
dl->color[0] = MSG_ReadByte()*(1.0f/637.5f);
|
dl->color[0] = MSG_ReadByte()*(1.0f/637.5f);
|
||||||
dl->color[1] = MSG_ReadByte()*(1.0f/637.5f);
|
dl->color[1] = MSG_ReadByte()*(1.0f/637.5f);
|
||||||
dl->color[2] = MSG_ReadByte()*(1.0f/637.5f);
|
dl->color[2] = MSG_ReadByte()*(1.0f/637.5f);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEDP_FLAMEJET:
|
case TEDP_FLAMEJET:
|
||||||
|
@ -1676,7 +1676,7 @@ void CL_ParseCustomTEnt(void)
|
||||||
dl->radius = t->dlightradius*4;
|
dl->radius = t->dlightradius*4;
|
||||||
dl->die = cl.time + t->dlighttime;
|
dl->die = cl.time + t->dlighttime;
|
||||||
dl->decay = t->radius/t->dlighttime;
|
dl->decay = t->radius/t->dlighttime;
|
||||||
|
|
||||||
dl->color[0] = t->dlightrgb[0];
|
dl->color[0] = t->dlightrgb[0];
|
||||||
dl->color[1] = t->dlightrgb[1];
|
dl->color[1] = t->dlightrgb[1];
|
||||||
dl->color[2] = t->dlightrgb[2];
|
dl->color[2] = t->dlightrgb[2];
|
||||||
|
@ -1771,7 +1771,7 @@ void CLNQ_ParseParticleEffect (void)
|
||||||
{
|
{
|
||||||
vec3_t org, dir;
|
vec3_t org, dir;
|
||||||
int i, msgcount, color;
|
int i, msgcount, color;
|
||||||
|
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
org[i] = MSG_ReadCoord ();
|
org[i] = MSG_ReadCoord ();
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
|
@ -1792,7 +1792,7 @@ void CL_ParseParticleEffect2 (void)
|
||||||
{
|
{
|
||||||
vec3_t org, dmin, dmax;
|
vec3_t org, dmin, dmax;
|
||||||
int i, msgcount, color, effect;
|
int i, msgcount, color, effect;
|
||||||
|
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
org[i] = MSG_ReadCoord ();
|
org[i] = MSG_ReadCoord ();
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
|
@ -1809,7 +1809,7 @@ void CL_ParseParticleEffect3 (void)
|
||||||
{
|
{
|
||||||
vec3_t org, box;
|
vec3_t org, box;
|
||||||
int i, msgcount, color, effect;
|
int i, msgcount, color, effect;
|
||||||
|
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
org[i] = MSG_ReadCoord ();
|
org[i] = MSG_ReadCoord ();
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
|
@ -1825,7 +1825,7 @@ void CL_ParseParticleEffect4 (void)
|
||||||
vec3_t org;
|
vec3_t org;
|
||||||
int i, msgcount, color, effect;
|
int i, msgcount, color, effect;
|
||||||
float radius;
|
float radius;
|
||||||
|
|
||||||
for (i=0 ; i<3 ; i++)
|
for (i=0 ; i<3 ; i++)
|
||||||
org[i] = MSG_ReadCoord ();
|
org[i] = MSG_ReadCoord ();
|
||||||
radius = MSG_ReadByte();
|
radius = MSG_ReadByte();
|
||||||
|
@ -1978,7 +1978,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
if (type != Q2TE_SPARKS)
|
if (type != Q2TE_SPARKS)
|
||||||
{
|
{
|
||||||
CL_SmokeAndFlash(pos);
|
CL_SmokeAndFlash(pos);
|
||||||
|
|
||||||
// impact sound (nope, not the same as Q1...)
|
// impact sound (nope, not the same as Q1...)
|
||||||
cnt = rand()&15;
|
cnt = rand()&15;
|
||||||
if (cnt == 1)
|
if (cnt == 1)
|
||||||
|
@ -2074,7 +2074,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
ex->numframes = 4;
|
ex->numframes = 4;
|
||||||
ex->flags = Q2RF_FULLBRIGHT|Q2RF_ADDITIVE|RF_NOSHADOW|Q2RF_TRANSLUCENT;
|
ex->flags = Q2RF_FULLBRIGHT|Q2RF_ADDITIVE|RF_NOSHADOW|Q2RF_TRANSLUCENT;
|
||||||
ex->alpha = 1;
|
ex->alpha = 1;
|
||||||
|
|
||||||
ex->angles[0] = acos(dir[2])/M_PI*180;
|
ex->angles[0] = acos(dir[2])/M_PI*180;
|
||||||
// PMM - fixed to correct for pitch of 0
|
// PMM - fixed to correct for pitch of 0
|
||||||
if (dir[0])
|
if (dir[0])
|
||||||
|
@ -2125,7 +2125,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
P_RunParticleEffect(pos, NULL, 0xe0, 256);
|
P_RunParticleEffect(pos, NULL, 0xe0, 256);
|
||||||
|
|
||||||
R_AddStain(pos, -1, -1, -1, 100);
|
R_AddStain(pos, -1, -1, -1, 100);
|
||||||
|
|
||||||
// light
|
// light
|
||||||
if (r_explosionlight.value)
|
if (r_explosionlight.value)
|
||||||
{
|
{
|
||||||
|
@ -2142,15 +2142,15 @@ void CLQ2_ParseTEnt (void)
|
||||||
dl->channelfade[1] = 0.19;
|
dl->channelfade[1] = 0.19;
|
||||||
dl->channelfade[2] = 0.19;
|
dl->channelfade[2] = 0.19;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sound
|
// sound
|
||||||
if (type == Q2TE_GRENADE_EXPLOSION_WATER)
|
if (type == Q2TE_GRENADE_EXPLOSION_WATER)
|
||||||
S_StartSound (-2, 0, S_PrecacheSound ("weapons/xpld_wat.wav"), pos, 1, 1, 0);
|
S_StartSound (-2, 0, S_PrecacheSound ("weapons/xpld_wat.wav"), pos, 1, 1, 0);
|
||||||
else
|
else
|
||||||
S_StartSound (-2, 0, S_PrecacheSound ("weapons/grenlx1a.wav"), pos, 1, 1, 0);
|
S_StartSound (-2, 0, S_PrecacheSound ("weapons/grenlx1a.wav"), pos, 1, 1, 0);
|
||||||
|
|
||||||
// sprite
|
// sprite
|
||||||
|
|
||||||
// if (!R_ParticleExplosionHeart(pos))
|
// if (!R_ParticleExplosionHeart(pos))
|
||||||
{
|
{
|
||||||
ex = CL_AllocExplosion ();
|
ex = CL_AllocExplosion ();
|
||||||
|
@ -2194,7 +2194,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
ex->ent.flags = RF_FULLBRIGHT;
|
ex->ent.flags = RF_FULLBRIGHT;
|
||||||
ex->start = cl.frame.servertime - 100;
|
ex->start = cl.frame.servertime - 100;
|
||||||
ex->light = 350;
|
ex->light = 350;
|
||||||
ex->lightcolor[0] = 1.0;
|
ex->lightcolor[0] = 1.0;
|
||||||
ex->lightcolor[1] = 0.5;
|
ex->lightcolor[1] = 0.5;
|
||||||
ex->lightcolor[2] = 0.5;
|
ex->lightcolor[2] = 0.5;
|
||||||
ex->ent.angles[1] = rand() % 360;
|
ex->ent.angles[1] = rand() % 360;
|
||||||
|
@ -2245,7 +2245,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
else
|
else
|
||||||
S_StartSound (-2, 0, S_PrecacheSound ("weapons/rocklx1a.wav"), pos, 1, 1, 0);
|
S_StartSound (-2, 0, S_PrecacheSound ("weapons/rocklx1a.wav"), pos, 1, 1, 0);
|
||||||
|
|
||||||
// sprite
|
// sprite
|
||||||
// if (!R_ParticleExplosionHeart(pos))
|
// if (!R_ParticleExplosionHeart(pos))
|
||||||
{
|
{
|
||||||
ex = CL_AllocExplosion ();
|
ex = CL_AllocExplosion ();
|
||||||
|
@ -2404,7 +2404,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
ex->firstframe = 0;
|
ex->firstframe = 0;
|
||||||
ex->numframes = 4;
|
ex->numframes = 4;
|
||||||
ex->flags = Q2RF_FULLBRIGHT|RF_NOSHADOW;
|
ex->flags = Q2RF_FULLBRIGHT|RF_NOSHADOW;
|
||||||
|
|
||||||
ex->angles[0] = acos(dir[2])/M_PI*180;
|
ex->angles[0] = acos(dir[2])/M_PI*180;
|
||||||
// PMM - fixed to correct for pitch of 0
|
// PMM - fixed to correct for pitch of 0
|
||||||
if (dir[0])
|
if (dir[0])
|
||||||
|
@ -2454,7 +2454,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
ex->firstframe = 0;
|
ex->firstframe = 0;
|
||||||
ex->numframes = 4;
|
ex->numframes = 4;
|
||||||
ex->flags = Q2RF_FULLBRIGHT|RF_NOSHADOW;
|
ex->flags = Q2RF_FULLBRIGHT|RF_NOSHADOW;
|
||||||
|
|
||||||
ex->angles[0] = acos(dir[2])/M_PI*180;
|
ex->angles[0] = acos(dir[2])/M_PI*180;
|
||||||
// PMM - fixed to correct for pitch of 0
|
// PMM - fixed to correct for pitch of 0
|
||||||
if (dir[0])
|
if (dir[0])
|
||||||
|
@ -2569,7 +2569,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
CL_ParticleSteamEffect (pos, dir, color, cnt, magnitude);
|
CL_ParticleSteamEffect (pos, dir, color, cnt, magnitude);
|
||||||
S_StartSound (pos, 0, 0, cl_sfx_lashit, 1, ATTN_NORM, 0);
|
S_StartSound (pos, 0, 0, cl_sfx_lashit, 1, ATTN_NORM, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Q2TE_HEATBEAM_STEAM:
|
case Q2TE_HEATBEAM_STEAM:
|
||||||
// cnt = MSG_ReadByte (&net_message);
|
// cnt = MSG_ReadByte (&net_message);
|
||||||
cnt = 20;
|
cnt = 20;
|
||||||
|
@ -2664,7 +2664,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
// sort of how beams have ents associated
|
// sort of how beams have ents associated
|
||||||
MSG_ReadShort(); // id
|
MSG_ReadShort(); // id
|
||||||
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_widowbeamout"))
|
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_widowbeamout"))
|
||||||
P_RunParticleEffect(pos, NULL, 13*8, 300);
|
P_RunParticleEffect(pos, NULL, 13*8, 300);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Q2TE_NUKEBLAST:
|
case Q2TE_NUKEBLAST:
|
||||||
|
@ -2672,7 +2672,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
// and there's no id to read in
|
// and there's no id to read in
|
||||||
MSG_ReadPos (pos);
|
MSG_ReadPos (pos);
|
||||||
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_nukeblast"))
|
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_nukeblast"))
|
||||||
P_RunParticleEffect(pos, NULL, 110, 700);
|
P_RunParticleEffect(pos, NULL, 110, 700);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Q2TE_WIDOWSPLASH:
|
case Q2TE_WIDOWSPLASH:
|
||||||
|
@ -2681,7 +2681,7 @@ void CLQ2_ParseTEnt (void)
|
||||||
// easier to manage
|
// easier to manage
|
||||||
MSG_ReadPos (pos);
|
MSG_ReadPos (pos);
|
||||||
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_widowsplash"))
|
if (P_RunParticleEffectTypeString(pos, NULL, 1, "te_widowsplash"))
|
||||||
P_RunParticleEffect(pos, NULL, 13*8, 256);
|
P_RunParticleEffect(pos, NULL, 13*8, 256);
|
||||||
break;
|
break;
|
||||||
//PGM
|
//PGM
|
||||||
//==============
|
//==============
|
||||||
|
@ -2762,7 +2762,7 @@ entity_t *CL_NewTempEntity (void)
|
||||||
ent = &cl_visedicts[cl_numvisedicts];
|
ent = &cl_visedicts[cl_numvisedicts];
|
||||||
cl_numvisedicts++;
|
cl_numvisedicts++;
|
||||||
ent->keynum = 0;
|
ent->keynum = 0;
|
||||||
|
|
||||||
memset (ent, 0, sizeof(*ent));
|
memset (ent, 0, sizeof(*ent));
|
||||||
|
|
||||||
#ifdef PEXT_SCALE
|
#ifdef PEXT_SCALE
|
||||||
|
@ -2802,7 +2802,7 @@ void CL_UpdateBeams (void)
|
||||||
{
|
{
|
||||||
if (!b->model)
|
if (!b->model)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (b->endtime < cl.time)
|
if (b->endtime < cl.time)
|
||||||
{
|
{
|
||||||
if (!cl.paused)
|
if (!cl.paused)
|
||||||
|
@ -2919,7 +2919,7 @@ void CL_UpdateBeams (void)
|
||||||
yaw = (int) (atan2(dist[1], dist[0]) * 180 / M_PI);
|
yaw = (int) (atan2(dist[1], dist[0]) * 180 / M_PI);
|
||||||
if (yaw < 0)
|
if (yaw < 0)
|
||||||
yaw += 360;
|
yaw += 360;
|
||||||
|
|
||||||
forward = sqrt (dist[0]*dist[0] + dist[1]*dist[1]);
|
forward = sqrt (dist[0]*dist[0] + dist[1]*dist[1]);
|
||||||
pitch = (int) (atan2(dist[2], forward) * 180 / M_PI);
|
pitch = (int) (atan2(dist[2], forward) * 180 / M_PI);
|
||||||
if (pitch < 0)
|
if (pitch < 0)
|
||||||
|
@ -2965,7 +2965,7 @@ void CL_UpdateBeams (void)
|
||||||
d -= 30;
|
d -= 30;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
beams_running = lastrunningbeam+1;
|
beams_running = lastrunningbeam+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue