ddnet/src/game/client/components/mapsounds.h
heinrich5991 1820a0e168 Add some checksum functions to the client
Let's see if it works out, if not, we can revert it.
2022-01-31 21:31:26 +01:00

41 lines
895 B
C++

#ifndef GAME_CLIENT_COMPONENTS_MAPSOUNDS_H
#define GAME_CLIENT_COMPONENTS_MAPSOUNDS_H
#include <base/tl/array.h>
#include <engine/sound.h>
#include <game/client/component.h>
struct CSoundSource;
class CMapSounds : public CComponent
{
int m_aSounds[64];
int m_Count;
struct CSourceQueueEntry
{
int m_Sound;
bool m_HighDetail;
ISound::CVoiceHandle m_Voice;
CSoundSource *m_pSource;
bool operator==(const CSourceQueueEntry &Other) const { return (m_Sound == Other.m_Sound) && (m_Voice == Other.m_Voice) && (m_pSource == Other.m_pSource); }
};
array<CSourceQueueEntry> m_lSourceQueue;
void Clear();
public:
CMapSounds();
virtual int Sizeof() const override { return sizeof(*this); }
virtual void OnMapLoad() override;
virtual void OnRender() override;
virtual void OnStateChange(int NewState, int OldState) override;
};
#endif // GAME_CLIENT_COMPONENTS_MAPSOUNDS_H