mirror of
https://github.com/halpz/re3.git
synced 2025-01-24 06:50:59 +00:00
58 lines
1 KiB
C++
58 lines
1 KiB
C++
#pragma once
|
|
|
|
#define NUMAUDIOCOLLISIONS 10
|
|
|
|
class CEntity;
|
|
|
|
class cAudioCollision
|
|
{
|
|
public:
|
|
CEntity *m_pEntity1;
|
|
CEntity *m_pEntity2;
|
|
uint8 m_bSurface1;
|
|
uint8 m_bSurface2;
|
|
float m_fIntensity1;
|
|
float m_fIntensity2;
|
|
CVector m_vecPosition;
|
|
float m_fDistance;
|
|
int32 m_nBaseVolume;
|
|
|
|
cAudioCollision() { Reset(); }
|
|
|
|
void Reset()
|
|
{
|
|
m_pEntity1 = nil;
|
|
m_pEntity2 = nil;
|
|
m_bSurface1 = 0;
|
|
m_bSurface2 = 0;
|
|
m_fIntensity1 = m_fIntensity2 = 0.0f;
|
|
m_vecPosition = CVector(0.0f, 0.0f, 0.0f);
|
|
m_fDistance = 0.0f;
|
|
}
|
|
};
|
|
|
|
VALIDATE_SIZE(cAudioCollision, 40);
|
|
|
|
class cAudioCollisionManager
|
|
{
|
|
public:
|
|
cAudioCollision m_asCollisions1[NUMAUDIOCOLLISIONS];
|
|
cAudioCollision m_asCollisions2[NUMAUDIOCOLLISIONS];
|
|
uint8 m_bIndicesTable[NUMAUDIOCOLLISIONS];
|
|
uint8 m_bCollisionsInQueue;
|
|
cAudioCollision m_sQueue;
|
|
|
|
cAudioCollisionManager()
|
|
{
|
|
m_sQueue.Reset();
|
|
|
|
for(int i = 0; i < NUMAUDIOCOLLISIONS; i++)
|
|
m_bIndicesTable[i] = NUMAUDIOCOLLISIONS;
|
|
|
|
m_bCollisionsInQueue = 0;
|
|
}
|
|
void AddCollisionToRequestedQueue();
|
|
};
|
|
|
|
VALIDATE_SIZE(cAudioCollisionManager, 0x354);
|