return NULL;
if (strlen (name) >= sizeof (sfx->name))
- Host_Error ("S_FindName: sound name too long (%s)", name);
+ {
+ Con_Printf ("S_FindName: sound name too long (%s)", name);
+ return NULL;
+ }
// Look for this sound in the list of known sfx
for (sfx = known_sfx; sfx != NULL; sfx = sfx->next)
break;
}
if (prev_sfx == NULL)
- Sys_Error ("S_FreeSfx: Can't find SFX %s in the list!\n", sfx->name);
+ {
+ Con_Printf ("S_FreeSfx: Can't find SFX %s in the list!\n", sfx->name);
+ return;
+ }
}
// Free it
else
{
// update sound origin if we know about the entity
- if (ch->entnum > 0 && cls.state == ca_connected && cl_entities[ch->entnum].state_current.active)
+ if (ch->entnum > 0 && cls.state == ca_connected && cl_entities[ch->entnum].render.model)
{
- //Con_Printf("-- entnum %i origin %f %f %f neworigin %f %f %f\n", ch->entnum, ch->origin[0], ch->origin[1], ch->origin[2], cl_entities[ch->entnum].state_current.origin[0], cl_entities[ch->entnum].state_current.origin[1], cl_entities[ch->entnum].state_current.origin[2]);
- VectorCopy(cl_entities[ch->entnum].state_current.origin, ch->origin);
- if (cl_entities[ch->entnum].state_current.modelindex && cl.model_precache[cl_entities[ch->entnum].state_current.modelindex] && cl.model_precache[cl_entities[ch->entnum].state_current.modelindex]->soundfromcenter)
- VectorMAMAM(1.0f, ch->origin, 0.5f, cl.model_precache[cl_entities[ch->entnum].state_current.modelindex]->normalmins, 0.5f, cl.model_precache[cl_entities[ch->entnum].state_current.modelindex]->normalmaxs, ch->origin);
+ //Con_Printf("-- entnum %i origin %f %f %f neworigin %f %f %f\n", ch->entnum, ch->origin[0], ch->origin[1], ch->origin[2], cl_entities[ch->entnum].persistent.trail_origin[0], cl_entities[ch->entnum].persistent.trail_origin[1], cl_entities[ch->entnum].persistent.trail_origin[2]);
+ VectorCopy(cl_entities[ch->entnum].persistent.trail_origin, ch->origin);
}
// calculate stereo seperation and distance attenuation
// calculate the volumes
ch->leftvol = (int) (scale + pan);
ch->rightvol = (int) (scale - pan);
+ //Con_Printf("%f %f %f:%f %f %f:%f %f:%d %d\n", ch->origin[0], ch->origin[1], ch->origin[2], source_vec[0], source_vec[1], source_vec[2], scale, pan, ch->leftvol, ch->rightvol);
}
// Adjust volume of static sounds
// Local sounds must not be freed
sfx->flags |= SFXFLAG_PERMANENTLOCK;
- ch_ind = S_StartSound (cl.viewentity, 0, sfx, vec3_origin, 1, 1);
+ ch_ind = S_StartSound (cl.viewentity, 0, sfx, vec3_origin, 1, 0);
if (ch_ind < 0)
return false;