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,107 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// File: Main.cpp
|
||||
//
|
||||
// Desc: DirectShow sample code - simple movie player console application.
|
||||
//
|
||||
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
//
|
||||
// This program uses the PlayCutscene() function provided in cutscene.cpp.
|
||||
// It is only necessary to provide the name of a file and the application's
|
||||
// instance handle.
|
||||
//
|
||||
// If the file was played to the end, PlayCutscene returns S_OK.
|
||||
// If the user interrupted playback, PlayCutscene returns S_FALSE.
|
||||
// Otherwise, PlayCutscene will return an HRESULT error code.
|
||||
//
|
||||
// Usage: cutscene <required file name>
|
||||
//
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include "cutscene.h"
|
||||
|
||||
#define USAGE \
|
||||
TEXT("Cutscene is a console application that demonstrates\r\n") \
|
||||
TEXT("playing a movie at the beginning of your game.\r\n\r\n") \
|
||||
TEXT("Please provide a valid filename on the command line.\r\n") \
|
||||
TEXT("\r\n Usage: cutscene <filename>\r\n") \
|
||||
|
||||
|
||||
//
|
||||
// Main program code
|
||||
//
|
||||
int APIENTRY
|
||||
WinMain (
|
||||
HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPSTR lpszMovie,
|
||||
int nCmdShow
|
||||
)
|
||||
{
|
||||
HRESULT hr;
|
||||
TCHAR szMovieName[MAX_PATH];
|
||||
|
||||
// Prevent C4100: unreferenced formal parameter
|
||||
hPrevInstance = hPrevInstance;
|
||||
nCmdShow = nCmdShow;
|
||||
|
||||
#ifdef UNICODE
|
||||
TCHAR szCommandLine[MAX_PATH], *pstrCommandLine=NULL;
|
||||
UNREFERENCED_PARAMETER(lpszMovie);
|
||||
|
||||
// Get the UNICODE command line. This is necessary for UNICODE apps
|
||||
// because the standard WinMain only passes in an LPSTR for command line.
|
||||
lstrcpy(szCommandLine, GetCommandLine());
|
||||
pstrCommandLine = szCommandLine;
|
||||
|
||||
// Skip the first part of the command line, which is the full path
|
||||
// to the exe. If the path contains spaces, it will be contained in quotes,
|
||||
// so the leading and trailing quotes need to be removed.
|
||||
if (*pstrCommandLine == TEXT('\"'))
|
||||
{
|
||||
// Remove the leading quotes
|
||||
pstrCommandLine++;
|
||||
|
||||
// Skip characters until we reach the trailing quotes
|
||||
while (*pstrCommandLine != TEXT('\0') && *pstrCommandLine != TEXT('\"'))
|
||||
pstrCommandLine++;
|
||||
|
||||
// Strip trailing quotes from executable name
|
||||
if( *pstrCommandLine == TEXT('\"'))
|
||||
pstrCommandLine++;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Executable name isn't encased in quotes, so just search for the
|
||||
// first space, which indicates the end of the executable name.
|
||||
while (*pstrCommandLine != TEXT('\0') && *pstrCommandLine != TEXT(' '))
|
||||
pstrCommandLine++;
|
||||
}
|
||||
|
||||
// Strip all leading spaces on file name
|
||||
while( *pstrCommandLine == TEXT(' '))
|
||||
pstrCommandLine++;
|
||||
|
||||
lstrcpy(szMovieName, pstrCommandLine);
|
||||
|
||||
#else
|
||||
lstrcpy(szMovieName, lpszMovie);
|
||||
#endif
|
||||
|
||||
// If no filename is specified, show an error message and exit
|
||||
if (szMovieName[0] == TEXT('\0'))
|
||||
{
|
||||
MessageBox(NULL, USAGE, TEXT("Cutscene Error"), MB_OK | MB_ICONERROR);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Play movie
|
||||
hr = PlayCutscene(szMovieName, hInstance);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user