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>
117 lines
3.1 KiB
C++
117 lines
3.1 KiB
C++
//-----------------------------------------------------------------------------
|
|
// File: Music.h
|
|
//
|
|
// Desc:
|
|
//
|
|
// Copyright (c) 1995-2001 Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
#ifndef MUSIC_H
|
|
#define MUSIC_H
|
|
|
|
#include <windows.h>
|
|
#include <dmusicc.h>
|
|
#include <dmusici.h>
|
|
|
|
interface IDirectMusicStyle;
|
|
interface IDirectMusicChordMap;
|
|
interface IDirectMusicPerformance;
|
|
interface IDirectMusicSegment;
|
|
interface IDirectMusicComposer;
|
|
interface IDirectMusicLoader;
|
|
interface IDirectMusicGraph;
|
|
interface IDirectMusicBand;
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Name:
|
|
// Desc:
|
|
//-----------------------------------------------------------------------------
|
|
class CTool : public IDirectMusicTool
|
|
{
|
|
public:
|
|
CTool();
|
|
~CTool();
|
|
|
|
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* pPMSG) ;
|
|
HRESULT STDMETHODCALLTYPE Flush(IDirectMusicPerformance* pPerf, DMUS_PMSG* pPMSG, REFERENCE_TIME rt) ;
|
|
|
|
long m_cRef;
|
|
DWORD m_dwRatio;
|
|
DWORD m_dwEcho;
|
|
DWORD m_dwDelay;
|
|
DWORD m_dwStartRatio;
|
|
IDirectMusicPerformance * m_pPerformance;
|
|
};
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Name:
|
|
// Desc:
|
|
//-----------------------------------------------------------------------------
|
|
class BoidMusic
|
|
{
|
|
public:
|
|
BoidMusic();
|
|
~BoidMusic();
|
|
HRESULT LoadMusic( HWND hWnd );
|
|
BOOL LoadChordMap();
|
|
BOOL LoadStyle();
|
|
BOOL LoadSegment();
|
|
HRESULT LoadDLS();
|
|
BOOL LoadTemplate(DWORD dwIndex, WCHAR * pszName);
|
|
BOOL GetMotif(DWORD dwIndex, WCHAR * pszName);
|
|
void ComposeSegment(DWORD dwIndex);
|
|
void EndMusic();
|
|
void StartMusic();
|
|
void Transition();
|
|
void Collapse();
|
|
void Expand();
|
|
void Migrate();
|
|
void HandleNotifies();
|
|
void SetDistance(double fDistance);
|
|
BOOL GetSearchPath(WCHAR path[MAX_PATH]);
|
|
void Activate(BOOL bActive);
|
|
IDirectMusicStyle* m_pStyle;
|
|
IDirectMusicChordMap* m_pChordMap;
|
|
IDirectMusicSegment* m_pTemplateSegments[6];
|
|
IDirectMusicSegment* m_pPrimarySegments[6];
|
|
IDirectMusicSegment* m_pTransitionSegment;
|
|
IDirectMusicSegment* m_pMotifSegments[6];
|
|
IDirectMusicSegment* m_pSegment;
|
|
IDirectMusicComposer* m_pComposer;
|
|
IDirectMusicLoader* m_pLoader;
|
|
IDirectMusicPerformance* m_pPerformance;
|
|
IDirectMusicGraph* m_pGraph;
|
|
IDirectMusicPort* m_pPort;
|
|
IDirectMusicBand* m_pBand;
|
|
IDirectMusic* m_pDMusic;
|
|
DWORD m_dwIndex;
|
|
HANDLE m_hNotify;
|
|
DWORD m_dwLevel;
|
|
CTool m_Tool;
|
|
BOOL m_dwBeatsSinceLastMotif;
|
|
BOOL m_fCollapsed;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|