Пример #1
1
void CSoundPlayer::PlayPosSample(enum TIngameSoundEffect aEffect,float aVolume, CCoord<int> aPos)
{
	ASSERTPTR( iDynData );
	if (aEffect==ESoundEffectNoSound) return;

	if (iObserver)
		iObserver->SoundHeard(aEffect,aVolume,aPos);

	if (!iInitialized)
		return;

	if (iDynData->LocalPlayers().size()!=1)
	{
		PlaySample(iDynData->LevelRuntime()->IngameData()->SoundFX(aEffect),aVolume,PAN_MIDDLE);
		return;
	}
	
	int chan=Mix_PlayChannel(-1,iDynData->LevelRuntime()->IngameData()->SoundFX(aEffect),0);
	Mix_Volume(chan,(int)(aVolume*iFXVolume*127.0));

	int left, right;

	StereoShaper( iDynData->LocalPlayers()[0]->Location(),aPos, left, right );

	Mix_SetPanning(chan, left, right );
}
Пример #2
0
CDynGameData::CDynGameData(CGameGraphicsInterface* aGGI, 
						   CGameData* aGameData, 
						   CSoundPlayer* aSP,
						   CGameSystem* aGS,
						   COptions* aOptions,
						   int aPlayerAmount):
iGameData(aGameData),
iGGI(aGGI),
iGameSystem(aGS),
iOptions(aOptions),
iSP(aSP),
iAllPlayersDead(false), 
iUserQuit(false), 
iShowMap(false), 
iNextLevel(0), 
iCompleteTime(0), 
iDrawFrames(false)
{
	ASSERTPTR( aGGI );
	ASSERTPTR( aGameData );
	ASSERTPTR( aSP );
	ASSERTPTR( aGS );
	iMouseOwner=NULL;

    for(int a=0;a<aPlayerAmount;a++)
	{
		iAnyPlayer.push_back(new CPlayer(this,aGGI,aGameData,aSP,aGS,aGS));
	}

	iStatistics = new CGameStatisticsData;
	iDarkBuf = new CGraphicsBuffer();
	NetMsgReset();
	iRuntimeData = new CLevelRuntimeData( aGameData, aSP, aGS, this );

	iGGI->AddObserver( this );
	GraphicsModeChanged(); // update these things for the first time
	iSP->SetDynData( this );
}
Пример #3
0
void CSoundPlayer::PlaySample(Mix_Chunk* aEffect,float aVolume, int aPan)
{
	ASSERTPTR( aEffect );
	if (!iInitialized)
		return;

	int chan;

	chan=Mix_PlayChannel(-1,aEffect,0);
	Mix_Volume(chan,(int)(aVolume*iFXVolume*127.0));
	if (aPan<0)
		Mix_SetPanning(chan,255,255+aPan);
	if (aPan>0)
		Mix_SetPanning(chan,255-aPan,255);
}
Пример #4
0
/*
void Context::respondError(const QString& pError, quint32 pStatusCode)
{
    log()->error(pError);
    mStatusCode = pStatusCode;
    mRespondErrors.append(pError);
}
*/
void Context::setSession(Session* pSession)
{
    ASSERTPTR(pSession);
    mSession = pSession;
    updateLogHeader();
}