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:
@@ -0,0 +1,49 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: EchoTool.h
|
||||
//
|
||||
// Desc: Implements an object based on IDirectMusicTool
|
||||
// that provides echoing effects.
|
||||
//
|
||||
// Copyright (c) 1998-2001 Microsoft Corporation. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef _ECHOTOOL_H
|
||||
#define _ECHOTOOL_H
|
||||
|
||||
#include <dmusici.h>
|
||||
|
||||
// Maximum echoes is 4 (the number of extra groups opened
|
||||
// on the port in helper.cpp)
|
||||
#define MAX_ECHOES 4
|
||||
|
||||
class CEchoTool : public IDirectMusicTool
|
||||
{
|
||||
public:
|
||||
CEchoTool();
|
||||
~CEchoTool();
|
||||
|
||||
public:
|
||||
// IUnknown
|
||||
virtual STDMETHODIMP QueryInterface(const IID &iid, void **ppv);
|
||||
virtual STDMETHODIMP_(ULONG) AddRef();
|
||||
virtual STDMETHODIMP_(ULONG) Release();
|
||||
|
||||
// IDirectMusicTool
|
||||
HRESULT STDMETHODCALLTYPE Init( IDirectMusicGraph* pGraph );
|
||||
HRESULT STDMETHODCALLTYPE GetMsgDeliveryType( DWORD* pdwDeliveryType );
|
||||
HRESULT STDMETHODCALLTYPE GetMediaTypeArraySize( DWORD* pdwNumElements );
|
||||
HRESULT STDMETHODCALLTYPE GetMediaTypes( DWORD** padwMediaTypes, DWORD dwNumElements) ;
|
||||
HRESULT STDMETHODCALLTYPE ProcessPMsg( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG );
|
||||
HRESULT STDMETHODCALLTYPE Flush( IDirectMusicPerformance* pPerf, DMUS_PMSG* pDMUS_PMSG, REFERENCE_TIME rt );
|
||||
private:
|
||||
long m_cRef; // Reference counter
|
||||
DWORD m_dwEchoNum; // Number of echoes to generate
|
||||
MUSIC_TIME m_mtDelay; // Delay time between echoes
|
||||
CRITICAL_SECTION m_CrSec; // To make SetEchoNum() and SetDelay() thread-safe
|
||||
|
||||
public:
|
||||
// Public class methods
|
||||
void SetEchoNum( DWORD dwEchoNum );
|
||||
void SetDelay( MUSIC_TIME mtDelay );
|
||||
};
|
||||
|
||||
#endif // _ECHOTOOL_H
|
||||
Reference in New Issue
Block a user