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:
126
Library/dxx8/samples/Multimedia/Common/include/dmutil.h
Normal file
126
Library/dxx8/samples/Multimedia/Common/include/dmutil.h
Normal file
@@ -0,0 +1,126 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: DMUtil.h
|
||||
//
|
||||
// Desc:
|
||||
//
|
||||
// Copyright (c) 1999-2001 Microsoft Corp. All rights reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef DMUTIL_H
|
||||
#define DMUTIL_H
|
||||
|
||||
#include <dmusicc.h>
|
||||
#include <dmusici.h>
|
||||
#include <dsound.h>
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Classes used by this header
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMusicManager;
|
||||
class CMusicSegment;
|
||||
class CMusicScript;
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CMusicManager
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMusicManager
|
||||
{
|
||||
protected:
|
||||
BOOL m_bCleanupCOM;
|
||||
IDirectMusicLoader8* m_pLoader;
|
||||
IDirectMusicPerformance8* m_pPerformance;
|
||||
|
||||
public:
|
||||
CMusicManager();
|
||||
~CMusicManager();
|
||||
|
||||
inline IDirectMusicLoader8* GetLoader() { return m_pLoader; }
|
||||
inline IDirectMusicPerformance8* GetPerformance() { return m_pPerformance; }
|
||||
IDirectMusicAudioPath8* GetDefaultAudioPath();
|
||||
|
||||
HRESULT Initialize( HWND hWnd, DWORD dwPChannels = 128, DWORD dwDefaultPathType = DMUS_APATH_DYNAMIC_STEREO );
|
||||
|
||||
HRESULT SetSearchDirectory( const TCHAR* strMediaPath );
|
||||
VOID CollectGarbage();
|
||||
|
||||
HRESULT CreateSegmentFromFile( CMusicSegment** ppSegment, TCHAR* strFileName,
|
||||
BOOL bDownloadNow = TRUE, BOOL bIsMidiFile = FALSE );
|
||||
HRESULT CreateScriptFromFile( CMusicScript** ppScript, TCHAR* strFileName );
|
||||
|
||||
HRESULT CreateChordMapFromFile( IDirectMusicChordMap8** ppChordMap, TCHAR* strFileName );
|
||||
HRESULT CreateStyleFromFile( IDirectMusicStyle8** ppStyle, TCHAR* strFileName );
|
||||
HRESULT GetMotifFromStyle( IDirectMusicSegment8** ppMotif, TCHAR* strStyle, TCHAR* wstrMotif );
|
||||
|
||||
HRESULT CreateSegmentFromResource( CMusicSegment** ppSegment, TCHAR* strResource, TCHAR* strResourceType,
|
||||
BOOL bDownloadNow = TRUE, BOOL bIsMidiFile = FALSE );
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CMusicSegment
|
||||
// Desc: Encapsulates functionality of an IDirectMusicSegment
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMusicSegment
|
||||
{
|
||||
protected:
|
||||
IDirectMusicSegment8* m_pSegment;
|
||||
IDirectMusicLoader8* m_pLoader;
|
||||
IDirectMusicPerformance8* m_pPerformance;
|
||||
IDirectMusicAudioPath8* m_pEmbeddedAudioPath;
|
||||
BOOL m_bDownloaded;
|
||||
|
||||
public:
|
||||
CMusicSegment( IDirectMusicPerformance8* pPerformance,
|
||||
IDirectMusicLoader8* pLoader,
|
||||
IDirectMusicSegment8* pSegment );
|
||||
virtual ~CMusicSegment();
|
||||
|
||||
inline IDirectMusicSegment8* GetSegment() { return m_pSegment; }
|
||||
HRESULT GetStyle( IDirectMusicStyle8** ppStyle, DWORD dwStyleIndex = 0 );
|
||||
|
||||
HRESULT SetRepeats( DWORD dwRepeats );
|
||||
HRESULT Play( DWORD dwFlags = DMUS_SEGF_SECONDARY, IDirectMusicAudioPath8* pAudioPath = NULL );
|
||||
HRESULT Stop( DWORD dwFlags = 0 );
|
||||
HRESULT Download( IDirectMusicAudioPath8* pAudioPath = NULL );
|
||||
HRESULT Unload( IDirectMusicAudioPath8* pAudioPath = NULL );
|
||||
|
||||
BOOL IsPlaying();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CMusicScript
|
||||
// Desc: Encapsulates functionality of an IDirectMusicScript
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMusicScript
|
||||
{
|
||||
protected:
|
||||
IDirectMusicScript8* m_pScript;
|
||||
IDirectMusicLoader8* m_pLoader;
|
||||
IDirectMusicPerformance8* m_pPerformance;
|
||||
|
||||
public:
|
||||
CMusicScript( IDirectMusicPerformance8* pPerformance,
|
||||
IDirectMusicLoader8* pLoader,
|
||||
IDirectMusicScript8* pScript );
|
||||
virtual ~CMusicScript();
|
||||
|
||||
inline IDirectMusicScript8* GetScript() { return m_pScript; }
|
||||
|
||||
HRESULT CallRoutine( TCHAR* strRoutine );
|
||||
HRESULT SetVariableNumber( TCHAR* strVariable, LONG lValue );
|
||||
HRESULT GetVariableNumber( TCHAR* strVariable, LONG* plValue );
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // DMUTIL_H
|
||||
Reference in New Issue
Block a user