Files
Client/GameTools/SoundLib/SoundObject.h
LGram16 dd97ddec92 Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 20:17:20 +09:00

49 lines
1.2 KiB
C++

#ifndef _SoundObject_H_
#define _SoundObject_H_
#include "SoundGlobal.h"
enum eSndObjType
{
SNDOBJTYPE_SOUNDBUFFER,
SNDOBJTYPE_STREAMBUFFER,
SNDOBJTYPE_MUSICBUFFER,
SNDOBJTYPE_SOUNDOBJNONE
};
/////////////////////////////////////////////////////////////////////////////////////////
//
class ISoundObject
{
public:
virtual ~ISoundObject() {}
virtual void Destroy() = 0;
virtual int Play( bool bLoop ) = 0;
virtual void Play( DWORD dwIndex, bool bLoop ) = 0;
virtual void Stop( unsigned ) = 0;
virtual void StopAll() = 0;
virtual void Reset( unsigned ) = 0;
virtual void ResetAll() = 0;
virtual HANDLE GetEventNotify() { return 0; }
virtual void HandleNotification() {}
virtual bool IsAllPlaying() = 0;
virtual bool IsAllFree() = 0;
virtual bool IsPlaying( unsigned ) = 0;
virtual DWORD GetMemoryUse() = 0;
virtual bool IsSameFile( const char * ) = 0;
virtual const char * GetFilename() = 0;
virtual eSndObjType GetType() = 0;
virtual void SetPosition( DWORD dwIndex, D3DVALUE x, D3DVALUE y, D3DVALUE z ) = 0;
virtual void SetDistance( DWORD dwIndex, D3DVALUE minDistance, D3DVALUE maxDistance ) = 0;
};
/////////////////////////////////////////////////////////////////////////////////////////
#endif