All pastes #257172 Raw Edit

s0beit

public text v1 · immutable
#257172 ·published 2006-11-25 01:00 UTC
rendered paste body
HLTSOUND CClientSoundMgr::PlaySound(PlaySoundInfo & psi)
{
	HLTSOUND hSnd = NULL;
	if (!GetConsoleInt("SoundEnable",1)) return NULL;

	// Play the sound...

	// Optimization, if we can't hear the sound and it isn't looping
	// don't play it!

	if ((psi.m_dwFlags & PLAYSOUND_3D) && 
		!(psi.m_dwFlags & PLAYSOUND_LOOP) && 
		 g_vtSoundPlayOnlyIfHeard.GetFloat())
	{
		LTVector vListenerPos;
		bool bListenerInClient;
		LTRotation rRot;
		g_pLTClient->GetListener(&bListenerInClient, &vListenerPos, &rRot);

		LTVector vPos = psi.m_vPosition - vListenerPos;
		if (vPos.Mag() > psi.m_fOuterRadius)
		{
			return NULL;
		}
	}


	LTRESULT hResult = g_pLTClient->SoundMgr()->PlaySound(&psi, hSnd);

	if (hResult != LT_OK)
	{
		DebugCPrint(1,"ERROR in CClientSoundMgr::PlaySound() - Couldn't play sound '%s'", psi.m_szSoundName);
		
		return NULL;
	}

//===============================================

10022A40   83EC 20          SUB ESP,20
10022A43   6A 01            PUSH 1
10022A45   68 B0221710      PUSH Gam628.101722B0                     ; ASCII "SoundEnable"
10022A4A   C74424 08 000000>MOV DWORD PTR SS:[ESP+8],0
10022A52   E8 99180000      CALL Gam628.100242F0
10022A57   83C4 08          ADD ESP,8
10022A5A   85C0             TEST EAX,EAX
10022A5C   75 06            JNZ SHORT Gam628.10022A64
10022A5E   83C4 20          ADD ESP,20
10022A61   C2 0400          RETN 4
10022A64   56               PUSH ESI
10022A65   8B7424 28        MOV ESI,DWORD PTR SS:[ESP+28]
10022A69   8B06             MOV EAX,DWORD PTR DS:[ESI]
10022A6B   A8 02            TEST AL,2
10022A6D   0F84 B3000000    JE Gam628.10022B26
10022A73   A8 04            TEST AL,4
10022A75   0F85 AB000000    JNZ Gam628.10022B26
10022A7B   8B0D C4461A10    MOV ECX,DWORD PTR DS:[101A46C4]          ; FEARMP.0056A2A8
10022A81   85C9             TEST ECX,ECX
10022A83   0F84 9D000000    JE Gam628.10022B26
10022A89   8B15 C0461A10    MOV EDX,DWORD PTR DS:[101A46C0]
10022A8F   8B01             MOV EAX,DWORD PTR DS:[ECX]
10022A91   52               PUSH EDX
10022A92   FF90 14010000    CALL DWORD PTR DS:[EAX+114]
10022A98   D905 FC021710    FLD DWORD PTR DS:[101702FC]
10022A9E   D9C9             FXCH ST(1)
10022AA0   DAE9             FUCOMPP
10022AA2   DFE0             FSTSW AX
10022AA4   F6C4 44          TEST AH,44
10022AA7   7B 7D            JPO SHORT Gam628.10022B26
10022AA9   8D4424 14        LEA EAX,DWORD PTR SS:[ESP+14]
10022AAD   50               PUSH EAX
10022AAE   A1 18541A10      MOV EAX,DWORD PTR DS:[101A5418]
10022AB3   8D4C24 0C        LEA ECX,DWORD PTR SS:[ESP+C]
10022AB7   51               PUSH ECX
10022AB8   8D5424 30        LEA EDX,DWORD PTR SS:[ESP+30]
10022ABC   52               PUSH EDX
10022ABD   C74424 20 000000>MOV DWORD PTR SS:[ESP+20],0 ;declares?
10022AC5   C74424 24 000000>MOV DWORD PTR SS:[ESP+24],0
10022ACD   C74424 28 000000>MOV DWORD PTR SS:[ESP+28],0
10022AD5   C74424 2C 000080>MOV DWORD PTR SS:[ESP+2C],3F800000
10022ADD   FF50 20          CALL DWORD PTR DS:[EAX+20] ;g_pLTClient->GetListener?
10022AE0   D986 28010000    FLD DWORD PTR DS:[ESI+128]
10022AE6   D86424 14        FSUB DWORD PTR SS:[ESP+14]
10022AEA   83C4 0C          ADD ESP,0C
10022AED   D986 2C010000    FLD DWORD PTR DS:[ESI+12C]
10022AF3   D86424 0C        FSUB DWORD PTR SS:[ESP+C]
10022AF7   D986 30010000    FLD DWORD PTR DS:[ESI+130]
10022AFD   D86424 10        FSUB DWORD PTR SS:[ESP+10]
10022B01   D9C0             FLD ST ;vector stuff
10022B03   D8C9             FMUL ST,ST(1)
10022B05   D9C2             FLD ST(2)
10022B07   D8CB             FMUL ST,ST(3)
10022B09   DEC1             FADDP ST(1),ST
10022B0B   D9C3             FLD ST(3)
10022B0D   D8CC             FMUL ST,ST(4)
10022B0F   DEC1             FADDP ST(1),ST
10022B11   D9FA             FSQRT
10022B13   DDDB             FSTP ST(3)
10022B15   DDD8             FSTP ST
10022B17   DDD8             FSTP ST
10022B19   D89E 18010000    FCOMP DWORD PTR DS:[ESI+118]
10022B1F   DFE0             FSTSW AX
10022B21   F6C4 41          TEST AH,41
10022B24   74 2F            JE SHORT Gam628.10022B55
10022B26   8B0D 18541A10    MOV ECX,DWORD PTR DS:[101A5418]          ; FEARMP.0056A2A8
10022B2C   8B11             MOV EDX,DWORD PTR DS:[ECX]
10022B2E   FF52 48          CALL DWORD PTR DS:[EDX+48]
10022B31   8B10             MOV EDX,DWORD PTR DS:[EAX]
10022B33   8D4C24 04        LEA ECX,DWORD PTR SS:[ESP+4]
10022B37   51               PUSH ECX
10022B38   56               PUSH ESI
10022B39   8BC8             MOV ECX,EAX
10022B3B   FF52 04          CALL DWORD PTR DS:[EDX+4]
10022B3E   85C0             TEST EAX,EAX ;!= NULL stuff
10022B40   74 1C            JE SHORT Gam628.10022B5E
10022B42   83C6 04          ADD ESI,4
10022B45   56               PUSH ESI
10022B46   68 18231710      PUSH Gam628.10172318                     ; ASCII "ERROR in CClientSoundMgr::PlaySound() - Couldn't play sound '%s'" ;CDebugPrint
10022B4B   6A 01            PUSH 1
10022B4D   E8 7EF41100      CALL Gam628.10141FD0