Fixed regression with sound natives (bug 3918, r=dvander)
This commit is contained in:
parent
ed02df113f
commit
75c54c6738
@ -44,6 +44,16 @@ bool g_InSoundHook = false;
|
|||||||
* *
|
* *
|
||||||
****************************/
|
****************************/
|
||||||
|
|
||||||
|
cell_t SoundReferenceToIndex(cell_t ref)
|
||||||
|
{
|
||||||
|
if (ref == 0 || ref == -1 || ref == -2)
|
||||||
|
{
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
return gamehelpers->ReferenceToIndex(ref);
|
||||||
|
}
|
||||||
|
|
||||||
size_t SoundHooks::_FillInPlayers(int *pl_array, IRecipientFilter *pFilter)
|
size_t SoundHooks::_FillInPlayers(int *pl_array, IRecipientFilter *pFilter)
|
||||||
{
|
{
|
||||||
size_t size = static_cast<size_t>(pFilter->GetRecipientCount());
|
size_t size = static_cast<size_t>(pFilter->GetRecipientCount());
|
||||||
@ -383,7 +393,7 @@ static cell_t EmitAmbientSound(IPluginContext *pContext, const cell_t *params)
|
|||||||
float vol, delay;
|
float vol, delay;
|
||||||
int pitch, flags, level;
|
int pitch, flags, level;
|
||||||
|
|
||||||
entity = gamehelpers->ReferenceToIndex(params[3]);
|
entity = SoundReferenceToIndex(params[3]);
|
||||||
|
|
||||||
cell_t *addr;
|
cell_t *addr;
|
||||||
pContext->LocalToPhysAddr(params[2], &addr);
|
pContext->LocalToPhysAddr(params[2], &addr);
|
||||||
@ -436,7 +446,7 @@ static cell_t FadeClientVolume(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
static cell_t StopSound(IPluginContext *pContext, const cell_t *params)
|
static cell_t StopSound(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
int entity = gamehelpers->ReferenceToIndex(params[1]);
|
int entity = SoundReferenceToIndex(params[1]);
|
||||||
int channel = params[2];
|
int channel = params[2];
|
||||||
|
|
||||||
char *name;
|
char *name;
|
||||||
@ -477,7 +487,7 @@ static cell_t EmitSound(IPluginContext *pContext, const cell_t *params)
|
|||||||
char *sample;
|
char *sample;
|
||||||
pContext->LocalToString(params[3], &sample);
|
pContext->LocalToString(params[3], &sample);
|
||||||
|
|
||||||
int entity = gamehelpers->ReferenceToIndex(params[4]);
|
int entity = SoundReferenceToIndex(params[4]);
|
||||||
int channel = params[5];
|
int channel = params[5];
|
||||||
int level = params[6];
|
int level = params[6];
|
||||||
int flags = params[7];
|
int flags = params[7];
|
||||||
@ -648,7 +658,7 @@ static cell_t EmitSentence(IPluginContext *pContext, const cell_t *params)
|
|||||||
crf.Initialize(addr, numClients);
|
crf.Initialize(addr, numClients);
|
||||||
|
|
||||||
int sentence = params[3];
|
int sentence = params[3];
|
||||||
int entity = gamehelpers->ReferenceToIndex(params[4]);
|
int entity = SoundReferenceToIndex(params[4]);
|
||||||
int channel = params[5];
|
int channel = params[5];
|
||||||
int level = params[6];
|
int level = params[6];
|
||||||
int flags = params[7];
|
int flags = params[7];
|
||||||
|
Loading…
Reference in New Issue
Block a user