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:
@@ -0,0 +1,143 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// File: commands.cpp
|
||||
//
|
||||
// Desc: DirectShow sample code
|
||||
// Processes commands from the user.
|
||||
//
|
||||
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
|
||||
//----------------------------------------------------------------------------
|
||||
#include "project.h"
|
||||
#include <mmreg.h>
|
||||
#include <commctrl.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include "resrc1.h"
|
||||
|
||||
// Function prototypes
|
||||
void RepositionMovie(HWND hwnd);
|
||||
bool FindMediaFile(TCHAR * achFileName, TCHAR * achFoundFile);
|
||||
|
||||
// External data
|
||||
extern TCHAR g_achFileName[];
|
||||
extern CMpegMovie * pMpegMovie;
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// ProcessOpen
|
||||
//
|
||||
// Creates instance of CMpegMovie and plays it. Called from user UI functions.
|
||||
//
|
||||
// Parameters:
|
||||
// achFileName - path to the file to play
|
||||
// bPlay - start demonstration if true
|
||||
//----------------------------------------------------------------------------
|
||||
BOOL
|
||||
ProcessOpen(
|
||||
TCHAR *achFileName,
|
||||
BOOL bPlay
|
||||
)
|
||||
{
|
||||
TCHAR achFoundFile[MAX_PATH];
|
||||
|
||||
if( !FindMediaFile(achFileName, achFoundFile) )
|
||||
{
|
||||
InvalidateRect( hwndApp, NULL, FALSE );
|
||||
UpdateWindow( hwndApp );
|
||||
return false;
|
||||
}
|
||||
|
||||
lstrcpy(g_achFileName, achFoundFile);
|
||||
pMpegMovie = new CMpegMovie(hwndApp);
|
||||
|
||||
if (pMpegMovie) {
|
||||
|
||||
HRESULT hr = pMpegMovie->OpenMovie(g_achFileName);
|
||||
if (SUCCEEDED(hr)) {
|
||||
|
||||
TCHAR achTmp[MAX_PATH];
|
||||
|
||||
wsprintf(achTmp, IdStr(STR_APP_TITLE_LOADED), g_achFileName );
|
||||
g_State = (VCD_LOADED | VCD_STOPPED);
|
||||
|
||||
RepositionMovie(hwndApp);
|
||||
InvalidateRect(hwndApp, NULL, TRUE);
|
||||
|
||||
if (bPlay) {
|
||||
pMpegMovie->PlayMovie();
|
||||
}
|
||||
}
|
||||
else {
|
||||
MessageBox(hwndApp,
|
||||
TEXT("Failed to open the movie; "),
|
||||
IdStr(STR_APP_TITLE), MB_OK );
|
||||
|
||||
pMpegMovie->CloseMovie();
|
||||
delete pMpegMovie;
|
||||
pMpegMovie = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
InvalidateRect( hwndApp, NULL, FALSE );
|
||||
UpdateWindow( hwndApp );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// FindMediaFile
|
||||
//
|
||||
// Provides FileOpen dialog to select media file or processes command line
|
||||
//
|
||||
// Parameters:
|
||||
// achFileName - command line
|
||||
// achFoundFile - path to the file to play
|
||||
//
|
||||
// Return: true if success
|
||||
//----------------------------------------------------------------------------
|
||||
bool FindMediaFile(TCHAR * achFileName, TCHAR * achFoundFile)
|
||||
{
|
||||
long lFindRes;
|
||||
struct _finddata_t fileinfo;
|
||||
|
||||
lFindRes = _findfirst( achFileName, &fileinfo );
|
||||
if( -1 != lFindRes )
|
||||
{
|
||||
lstrcpy(achFoundFile, achFileName);
|
||||
return true;
|
||||
}
|
||||
|
||||
OPENFILENAME ofn;
|
||||
TCHAR szBuffer[MAX_PATH];
|
||||
|
||||
lstrcpy(szBuffer, TEXT(""));
|
||||
static char szFilter[] = "Video Files (.MOV, .AVI, .MPG, .VOB, .QT)\0*.AVI;*.MOV;*.MPG;*.VOB;*.QT\0" \
|
||||
"All Files (*.*)\0*.*\0\0";
|
||||
ofn.lStructSize = sizeof(OPENFILENAME);
|
||||
ofn.hwndOwner = NULL;
|
||||
ofn.hInstance = NULL;
|
||||
ofn.lpstrFilter = szFilter;
|
||||
ofn.nFilterIndex = 1;
|
||||
ofn.lpstrCustomFilter = NULL;
|
||||
ofn.nMaxCustFilter = 0;
|
||||
ofn.lpstrFile = szBuffer;
|
||||
ofn.nMaxFile = _MAX_PATH;
|
||||
ofn.lpstrFileTitle = NULL;
|
||||
ofn.nMaxFileTitle = 0;
|
||||
ofn.lpstrInitialDir = NULL;
|
||||
ofn.lpstrTitle = "VMRXCL: Select a video file to play...";
|
||||
ofn.Flags = OFN_HIDEREADONLY;
|
||||
ofn.nFileOffset = 0;
|
||||
ofn.nFileExtension = 0;
|
||||
ofn.lpstrDefExt = "mov";
|
||||
ofn.lCustData = 0L;
|
||||
ofn.lpfnHook = NULL;
|
||||
ofn.lpTemplateName = NULL;
|
||||
|
||||
if (GetOpenFileName (&ofn)) // user specified a file
|
||||
{
|
||||
lstrcpy(achFoundFile, ofn.lpstrFile);
|
||||
return true;
|
||||
}// if
|
||||
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user