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:
2025-11-29 16:24:34 +09:00
commit e067522598
5135 changed files with 1745744 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
//------------------------------------------------------------------------------
// File: VidPlay.h
//
// Desc: DirectShow sample code - video (DVD and file) playback
// class header file.
//
// Copyright (c) 1993-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Suppress C4127: conditional expression is constant
#pragma warning(disable:4127)
//
// Some enumerated type definitions...
//
// Player state
typedef enum {
Uninitialized = 0, Stopped, Paused, Playing, Scanning
} PLAYER_STATE ;
// Define a special WM message for playback related events from DShow filtergraph
#define WM_PLAY_EVENT WM_USER + 100
#define WM_SIZE_CHANGE WM_USER + 101
#define DEFAULT_WIDTH 400
#define DEFAULT_HEIGHT 240
//
// Video Playback base class
//
class CBaseVideoPlayer
{
public: // public methods for Windows structure to call
CBaseVideoPlayer(void) ;
~CBaseVideoPlayer(void) ;
virtual BOOL Initialize(void) = 0 ;
virtual HRESULT BuildGraph(HWND hWndApp, LPDIRECTDRAW pDDObj,
LPDIRECTDRAWSURFACE pDDPrimary) = 0 ;
virtual HRESULT ClearGraph(void) = 0 ;
virtual HRESULT GetNativeVideoData(DWORD *pdwWidth, DWORD *pdwHeight, DWORD *pdwARX, DWORD *pdwARY) = 0 ;
virtual HRESULT SetVideoPosition(DWORD dwLeft, DWORD dwTop, DWORD dwWidth, DWORD dwHeight) = 0 ;
virtual HRESULT GetInterfaces(HWND hWndApp) ;
virtual HRESULT SetOverlayCallback(IDDrawExclModeVideoCallback *pCallback) = 0 ;
HRESULT GetColorKey(DWORD *pdwColorKey) ;
BOOL Play(void) ;
BOOL Pause(void) ;
BOOL Stop(void) ;
inline void SetFileName(LPCTSTR lpszFileName) { lstrcpy(m_achFileName, lpszFileName) ; } ;
inline BOOL IsGraphReady(void) { return (Uninitialized != m_eState) ; } ;
inline PLAYER_STATE GetState(void) { return m_eState ; } ;
inline void SetColorKey(DWORD dwColorKey) { m_dwColorKey = dwColorKey ; } ;
inline LPCTSTR GetFileName(void) { return m_achFileName ; } ;
protected:
virtual void ReleaseInterfaces(void) ;
virtual HRESULT GetColorKeyInternal(IBaseFilter *pOvM = NULL) = 0 ;
private:
void WaitForState(FILTER_STATE State) ;
protected: // semi-internal state info (to be shared with derived classes)
IGraphBuilder *m_pGraph ; // IGraphBuilder interface
private: // internal state info
PLAYER_STATE m_eState ; // player state (run/pause/stop/...)
TCHAR m_achFileName[MAX_PATH] ; // current file name
IMediaControl *m_pMC ; // IMediaControl interface
IMediaEventEx *m_pME ; // IMediaEventEx interface
DWORD m_dwColorKey ; // color key to be used for video
} ;
//
// DVD Playback class
//
class CDVDPlayer : public CBaseVideoPlayer
{
public: // public methods for Windows structure to call
CDVDPlayer(void) ;
~CDVDPlayer(void) ;
BOOL Initialize(void) ;
HRESULT BuildGraph(HWND hWndApp, LPDIRECTDRAW pDDObj, LPDIRECTDRAWSURFACE pDDPrimary) ;
HRESULT ClearGraph(void) ;
HRESULT GetNativeVideoData(DWORD *pdwWidth, DWORD *pdwHeight, DWORD *pdwARX, DWORD *pdwARY) ;
HRESULT SetVideoPosition(DWORD dwLeft, DWORD dwTop, DWORD dwWidth, DWORD dwHeight) ;
HRESULT GetInterfaces(HWND hWndApp) ;
HRESULT SetOverlayCallback(IDDrawExclModeVideoCallback *pCallback) ;
private: // private helper methods for the class' own use
void ReleaseInterfaces(void) ;
HRESULT GetColorKeyInternal(IBaseFilter *pOvM = NULL) ;
DWORD GetStatusText(AM_DVD_RENDERSTATUS *pStatus,
LPTSTR lpszStatusText,
DWORD dwMaxText) ;
private: // internal state info
IDvdGraphBuilder *m_pDvdGB ; // IDvdGraphBuilder interface
IDvdInfo2 *m_pDvdI ; // IDvdInfo interface
IDvdControl2 *m_pDvdC ; // IDvdControl interface
} ;
//
// File Playback class
//
class CFilePlayer : public CBaseVideoPlayer
{
public: // public methods for Windows structure to call
CFilePlayer(void) ;
~CFilePlayer(void) ;
BOOL Initialize(void) ;
HRESULT BuildGraph(HWND hWndApp, LPDIRECTDRAW pDDObj, LPDIRECTDRAWSURFACE pDDPrimary) ;
HRESULT ClearGraph(void) ;
HRESULT GetNativeVideoData(DWORD *pdwWidth, DWORD *pdwHeight, DWORD *pdwARX, DWORD *pdwARY) ;
HRESULT SetVideoPosition(DWORD dwLeft, DWORD dwTop, DWORD dwWidth, DWORD dwHeight) ;
HRESULT GetInterfaces(HWND hWndApp) ;
HRESULT SetOverlayCallback(IDDrawExclModeVideoCallback *pCallback) ;
private: // private helper methods for the class' own use
void ReleaseInterfaces() ;
HRESULT GetColorKeyInternal(IBaseFilter *pOvM = NULL) ;
BOOL IsOvMConnected(IBaseFilter *pOvM) ;
HRESULT GetVideoRendererInterface(IBaseFilter **ppVR) ;
HRESULT AddOvMToGraph(IBaseFilter **ppOvM, LPDIRECTDRAW pDDObj,
LPDIRECTDRAWSURFACE pDDPrimary) ;
HRESULT SetDDrawParams(IBaseFilter *pOvM, LPDIRECTDRAW pDDObj,
LPDIRECTDRAWSURFACE pDDPrimary) ;
HRESULT PutVideoThroughOvM(IBaseFilter *pOvM, IBaseFilter *pVR) ;
private: // internal state info
IDDrawExclModeVideo *m_pDDXM ; // IDDrawExclModeVideo interface
} ;