Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// cmdproc.h
|
|
// Copyright (C) 1996 Microsoft Corp.
|
|
//
|
|
// more flexible replacement for mfc CCommandLineInfo
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CCommandLineInfo
|
|
|
|
#ifndef CMDPROC_H
|
|
#define CMDPROC_H
|
|
|
|
|
|
class CCommandLineProc : public CObject
|
|
{
|
|
public:
|
|
// process the command line for switch based arguments
|
|
BOOLEAN ProcessCommandLine(int iSC, int &argc, _TCHAR **argv);
|
|
protected:
|
|
typedef void (CCommandLineProc::*PMFNCmdProc)(CString &csArg);
|
|
class CArgProcTable {
|
|
public:
|
|
int m_iIDS; // string resource of command switch
|
|
PMFNCmdProc m_Cmd; // argument processing function
|
|
};
|
|
friend CArgProcTable;
|
|
static CArgProcTable acapArgs[];
|
|
// remove any desired positional arguments
|
|
virtual BOOLEAN GetPositionalArgs(int &argc, _TCHAR **argv);
|
|
|
|
// this function deletes the argument at iPos by copy the remaining
|
|
// elements of argv 1 to the left
|
|
inline void CCommandLineProc::DeleteArg(int iPos, int &argc, _TCHAR **argv)
|
|
{
|
|
for (int k = iPos + 1; k < argc; k++) {
|
|
argv[k - 1] = argv[k];
|
|
}
|
|
argc--;
|
|
}
|
|
|
|
};
|
|
|
|
|
|
#endif
|
|
// end of file - cmdproc.h
|