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>
113 lines
3.6 KiB
C
113 lines
3.6 KiB
C
//------------------------------------------------------------------------------
|
|
// File: PlayWnd.h
|
|
//
|
|
// Desc: DirectShow sample code - header file for video in window movie
|
|
// player application.
|
|
//
|
|
// Copyright (c) 1998-2001 Microsoft Corporation. All rights reserved.
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
//
|
|
// Function prototypes
|
|
//
|
|
HRESULT InitPlayerWindow(void);
|
|
HRESULT InitVideoWindow(int nMultiplier, int nDivider);
|
|
HRESULT HandleGraphEvent(void);
|
|
HRESULT StepOneFrame(void);
|
|
HRESULT StepFrames(int nFramesToStep);
|
|
HRESULT ModifyRate(double dRateAdjust);
|
|
HRESULT SetRate(double dRate);
|
|
|
|
BOOL GetFrameStepInterface(void);
|
|
BOOL GetClipFileName(LPTSTR szName);
|
|
|
|
void PaintAudioWindow(void);
|
|
void MoveVideoWindow(void);
|
|
void CheckVisibility(void);
|
|
void CloseInterfaces(void);
|
|
|
|
void OpenClip(void);
|
|
void PauseClip(void);
|
|
void StopClip(void);
|
|
void CloseClip(void);
|
|
|
|
void UpdateMainTitle(void);
|
|
void CheckSizeMenu(WPARAM wParam);
|
|
void EnablePlaybackMenu(BOOL bEnable);
|
|
void GetFilename(TCHAR *pszFull, TCHAR *pszFile);
|
|
void Msg(TCHAR *szFormat, ...);
|
|
|
|
HRESULT AddGraphToRot(IUnknown *pUnkGraph, DWORD *pdwRegister);
|
|
void RemoveGraphFromRot(DWORD pdwRegister);
|
|
|
|
//
|
|
// Constants
|
|
//
|
|
#define VOLUME_FULL 0L
|
|
#define VOLUME_SILENCE -10000L
|
|
|
|
// File filter for OpenFile dialog
|
|
#define FILE_FILTER_TEXT \
|
|
TEXT("Video Files (*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v)\0*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v\0")\
|
|
TEXT("Audio files (*.wav; *.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd)\0*.wav; *.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd\0")\
|
|
TEXT("MIDI Files (*.mid, *.midi, *.rmi)\0*.mid; *.midi; *.rmi\0") \
|
|
TEXT("Image Files (*.jpg, *.bmp, *.gif, *.tga)\0*.jpg; *.bmp; *.gif; *.tga\0") \
|
|
TEXT("All Files (*.*)\0*.*;\0\0")
|
|
|
|
// Begin default media search at root directory
|
|
#define DEFAULT_MEDIA_PATH TEXT("\\\0")
|
|
|
|
// Defaults used with audio-only files
|
|
#define DEFAULT_AUDIO_WIDTH 240
|
|
#define DEFAULT_AUDIO_HEIGHT 120
|
|
#define DEFAULT_VIDEO_WIDTH 320
|
|
#define DEFAULT_VIDEO_HEIGHT 240
|
|
#define MINIMUM_VIDEO_WIDTH 200
|
|
#define MINIMUM_VIDEO_HEIGHT 120
|
|
|
|
#define APPLICATIONNAME TEXT("PlayWnd Media Player")
|
|
#define CLASSNAME TEXT("PlayWndMediaPlayer")
|
|
|
|
#define WM_GRAPHNOTIFY WM_USER+13
|
|
|
|
enum PLAYSTATE {Stopped, Paused, Running, Init};
|
|
|
|
//
|
|
// Macros
|
|
//
|
|
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
|
|
|
|
#define JIF(x) if (FAILED(hr=(x))) \
|
|
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n"), hr); return hr;}
|
|
|
|
#define LIF(x) if (FAILED(hr=(x))) \
|
|
{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n"), hr);}
|
|
|
|
//
|
|
// Resource constants
|
|
//
|
|
#define IDI_PLAYWND 100
|
|
#define IDR_MENU 101
|
|
#define IDD_ABOUTBOX 200
|
|
#define ID_FILE_OPENCLIP 40001
|
|
#define ID_FILE_EXIT 40002
|
|
#define ID_FILE_PAUSE 40003
|
|
#define ID_FILE_STOP 40004
|
|
#define ID_FILE_CLOSE 40005
|
|
#define ID_FILE_MUTE 40006
|
|
#define ID_FILE_FULLSCREEN 40007
|
|
#define ID_FILE_SIZE_NORMAL 40008
|
|
#define ID_FILE_SIZE_HALF 40009
|
|
#define ID_FILE_SIZE_DOUBLE 40010
|
|
#define ID_FILE_SIZE_QUARTER 40011
|
|
#define ID_FILE_SIZE_THREEQUARTER 40012
|
|
#define ID_HELP_ABOUT 40014
|
|
#define ID_RATE_INCREASE 40020
|
|
#define ID_RATE_DECREASE 40021
|
|
#define ID_RATE_NORMAL 40022
|
|
#define ID_RATE_DOUBLE 40023
|
|
#define ID_RATE_HALF 40024
|
|
#define ID_SINGLE_STEP 40025
|
|
|