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>
151 lines
3.9 KiB
C++
151 lines
3.9 KiB
C++
//------------------------------------------------------------------------------
|
|
// File: PlayDMODlg.h
|
|
//
|
|
// Desc: DirectShow sample code - main header for CPlayDMODlg
|
|
//
|
|
// Copyright (c) 1996-2001 Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
#if !defined(AFX_PLAYDMODLG_H__AD2B59C5_9A0D_438F_A912_5441F8FC8B79__INCLUDED_)
|
|
#define AFX_PLAYDMODLG_H__AD2B59C5_9A0D_438F_A912_5441F8FC8B79__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include <dshow.h>
|
|
#include <streams.h>
|
|
#include <qedit.h>
|
|
#include <atlbase.h>
|
|
#include <dmo.h>
|
|
#include <dmodshow.h>
|
|
|
|
// Include utility headers
|
|
#include "mfcutil.h"
|
|
#include "mfcdmoutil.h"
|
|
#include "dshowutil.h"
|
|
|
|
// Constants
|
|
#define MAX_DMOS 10
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPlayDMODlg dialog
|
|
|
|
class CPlayDMODlg : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CPlayDMODlg(CWnd* pParent = NULL); // standard constructor
|
|
|
|
HRESULT FillLists(void);
|
|
void ClearLists(void);
|
|
void SetDefaults(void);
|
|
void EnableButtons(BOOL bEnable);
|
|
|
|
HRESULT GetInterfaces(void);
|
|
void FreeInterfaces(void);
|
|
|
|
HRESULT HandleGraphEvent(void);
|
|
HRESULT SetInputPinProperties(IAMAudioInputMixer *pPinMixer);
|
|
HRESULT SetAudioProperties(void);
|
|
HRESULT AddDMOsToGraph(void);
|
|
HRESULT RemoveDMOsFromGraph(void);
|
|
|
|
void ClearAllocatedLists(void);
|
|
void Say(TCHAR *szMsg);
|
|
void ShowInputBufferInfo(IMediaObject *pDMO, int nSel);
|
|
void ShowOutputBufferInfo(IMediaObject *pDMO, int nSel);
|
|
|
|
HRESULT PrepareMedia(LPTSTR lpszMovie);
|
|
HRESULT InitDirectShow(void);
|
|
HRESULT FreeDirectShow(void);
|
|
|
|
void ResetDirectShow(void);
|
|
void CenterVideo(void);
|
|
|
|
HRESULT RunMedia(void);
|
|
HRESULT StopMedia(void);
|
|
HRESULT PauseMedia(void);
|
|
HRESULT OnSelectFile();
|
|
HRESULT ConnectDMOsToRenderer() ;
|
|
|
|
LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CPlayDMODlg)
|
|
enum { IDD = IDD_PLAYDMO_DIALOG };
|
|
CButton m_btnProperties;
|
|
CStatic m_strStatus;
|
|
CStatic m_nOutBufferSize;
|
|
CStatic m_nOutAlignment;
|
|
CStatic m_nMaxLatency;
|
|
CStatic m_nInBufferSize;
|
|
CStatic m_nInLookahead;
|
|
CStatic m_nInAlignment;
|
|
CListBox m_ListFilters;
|
|
CListBox m_ListFilterOutputs;
|
|
CListBox m_ListFilterInputs;
|
|
CListBox m_ListAudioDMO;
|
|
CEdit m_StrFilename;
|
|
CButton m_btnStop;
|
|
CButton m_btnPlay;
|
|
CButton m_btnPause;
|
|
CStatic m_Screen;
|
|
//}}AFX_DATA
|
|
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CPlayDMODlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
HICON m_hIcon;
|
|
DWORD m_dwRegister; // Used by debug ROT functions
|
|
|
|
unsigned long m_ulDataBuffered;
|
|
int m_nDMOCount;
|
|
int m_nLoadedDMOs;
|
|
|
|
// DirectShow interfaces
|
|
IGraphBuilder *m_pGB;
|
|
IMediaSeeking *m_pMS;
|
|
IMediaControl *m_pMC;
|
|
IMediaEventEx *m_pME;
|
|
IVideoWindow *m_pVW;
|
|
|
|
// List of DMO interfaces
|
|
IBaseFilter *m_pDMOList[MAX_DMOS];
|
|
|
|
BOOL m_bAudioOnly;
|
|
FILTER_STATE g_psCurrent;
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CPlayDMODlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
afx_msg void OnPaint();
|
|
afx_msg HCURSOR OnQueryDragIcon();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnButtonPlay();
|
|
afx_msg void OnButtonPause();
|
|
afx_msg void OnButtonStop();
|
|
afx_msg void OnButtonFile();
|
|
afx_msg void OnSelchangeListFilters();
|
|
afx_msg void OnButtonAddDmo();
|
|
afx_msg void OnButtonClear();
|
|
afx_msg void OnButtonProppage();
|
|
afx_msg void OnDblclkListFilters();
|
|
afx_msg BOOL OnEraseBkgnd(CDC *);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_PLAYDMODLG_H__AD2B59C5_9A0D_438F_A912_5441F8FC8B79__INCLUDED_)
|