Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
91
Tools/SoundLib/StreamHandler.h
Normal file
91
Tools/SoundLib/StreamHandler.h
Normal file
@@ -0,0 +1,91 @@
|
||||
|
||||
#ifndef _StreamHandler_H_
|
||||
#define _StreamHandler_H_
|
||||
|
||||
#include "STL.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
// <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
class CStreamBuffer;
|
||||
|
||||
typedef unsigned long DWORD;
|
||||
typedef void * HANDLE;
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
class IStreamHandler
|
||||
{
|
||||
public:
|
||||
virtual ~IStreamHandler() {}
|
||||
|
||||
virtual void Create() = 0;
|
||||
virtual void Destroy() = 0;
|
||||
virtual void Add( CStreamBuffer & ) = 0;
|
||||
virtual void Remove( CStreamBuffer & ) = 0;
|
||||
virtual void Update() = 0;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
class CStreamHandler : public IStreamHandler
|
||||
{
|
||||
public:
|
||||
typedef vector<HANDLE> HANDLES;
|
||||
typedef vector<CStreamBuffer*> STREAMBUFFERS;
|
||||
|
||||
protected:
|
||||
HANDLES * m_pHandles;
|
||||
STREAMBUFFERS * m_pStreamBuffers;
|
||||
DWORD m_dwNotifyThreadID;
|
||||
HANDLE m_hNotifyThread;
|
||||
|
||||
friend DWORD __stdcall NotificationProc( void * );
|
||||
|
||||
void UpdateStreamHandles();
|
||||
|
||||
public:
|
||||
CStreamHandler();
|
||||
~CStreamHandler();
|
||||
|
||||
void Create();
|
||||
void Destroy();
|
||||
|
||||
void Add( CStreamBuffer & );
|
||||
void Remove( CStreamBuffer & );
|
||||
void Update() {}
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
class CStreamUpdater : public IStreamHandler
|
||||
{
|
||||
public:
|
||||
typedef vector<HANDLE> HANDLES;
|
||||
typedef vector<CStreamBuffer*> STREAMBUFFERS;
|
||||
|
||||
protected:
|
||||
HANDLES * m_pHandles;
|
||||
STREAMBUFFERS * m_pStreamBuffers;
|
||||
|
||||
public:
|
||||
CStreamUpdater();
|
||||
~CStreamUpdater();
|
||||
|
||||
void Create();
|
||||
void Destroy();
|
||||
|
||||
void Add( CStreamBuffer & );
|
||||
void Remove( CStreamBuffer & );
|
||||
|
||||
void Update();
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user