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.
139 lines
3.1 KiB
C++
139 lines
3.1 KiB
C++
// TCF2Hint.cpp : Defines the class behaviors for the application.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "TCF2Hint.h"
|
|
#include "TCF2HintDlg.h"
|
|
#include <Stuff\Stuff.hpp>
|
|
#include <DLLPlatform\DLLPlatform.hpp>
|
|
|
|
|
|
void __stdcall InitializeGameEngine()
|
|
{
|
|
Stuff::InitializeClasses();
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTCF2HintApp
|
|
|
|
BEGIN_MESSAGE_MAP(CTCF2HintApp, CWinApp)
|
|
//{{AFX_MSG_MAP(CTCF2HintApp)
|
|
// NOTE - the ClassWizard will add and remove mapping macros here.
|
|
// DO NOT EDIT what you see in these blocks of generated code!
|
|
//}}AFX_MSG
|
|
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTCF2HintApp construction
|
|
|
|
CTCF2HintApp::CTCF2HintApp()
|
|
{
|
|
// TODO: add construction code here,
|
|
// Place all significant initialization in InitInstance
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// The one and only CTCF2HintApp object
|
|
|
|
CTCF2HintApp theApp;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTCF2HintApp initialization
|
|
|
|
BOOL CTCF2HintApp::InitInstance()
|
|
{
|
|
|
|
InitGameOS(NULL, NULL, "blabla");
|
|
InitializeGameEngine();
|
|
AfxEnableControlContainer();
|
|
|
|
// Standard initialization
|
|
// If you are not using these features and wish to reduce the size
|
|
// of your final executable, you should remove from the following
|
|
// the specific initialization routines you do not need.
|
|
|
|
#ifdef _AFXDLL
|
|
Enable3dControls(); // Call this when using MFC in a shared DLL
|
|
#else
|
|
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
|
#endif
|
|
|
|
|
|
|
|
CTCF2HintDlg dlg;
|
|
CString cmdline=m_lpCmdLine;
|
|
if(cmdline!="")
|
|
{
|
|
WIN32_FIND_DATA file_data;
|
|
HANDLE mission_search = FindFirstFile(cmdline , &file_data);
|
|
CString path;
|
|
int pos;
|
|
pos=cmdline.ReverseFind('\\');
|
|
if(pos>=0)
|
|
{
|
|
path=cmdline.Left(pos+1);
|
|
}
|
|
else
|
|
path="";
|
|
|
|
CString fname;
|
|
if(mission_search != INVALID_HANDLE_VALUE)
|
|
{
|
|
do
|
|
{
|
|
fname=path+file_data.cFileName;
|
|
fname=fname.Left(fname.ReverseFind('.'));
|
|
dlg.Convert(fname);
|
|
}
|
|
while (FindNextFile(mission_search,&file_data));
|
|
}
|
|
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
m_pMainWnd = &dlg;
|
|
int nResponse = dlg.DoModal();
|
|
if (nResponse == IDOK)
|
|
{
|
|
// TODO: Place code here to handle when the dialog is
|
|
// dismissed with OK
|
|
}
|
|
else if (nResponse == IDCANCEL)
|
|
{
|
|
// TODO: Place code here to handle when the dialog is
|
|
// dismissed with Cancel
|
|
}
|
|
}
|
|
// Since the dialog has been closed, return FALSE so that we exit the
|
|
// application, rather than start the application's message pump.
|
|
return FALSE;
|
|
}
|
|
|
|
|
|
void __stdcall TerminateGameEngine()
|
|
{
|
|
Stuff::TerminateClasses();
|
|
}
|
|
|
|
|
|
void __stdcall GetGameOSEnvironment(char* CommandLine)
|
|
{
|
|
|
|
// Environment.UpdateRenderers = UpdateDisplay;
|
|
// Environment.DoGameLogic = DoGameLogic;
|
|
Environment.InitializeGameEngine = InitializeGameEngine;
|
|
Environment.TerminateGameEngine = TerminateGameEngine;
|
|
|
|
|
|
}
|
|
|
|
|
|
int CTCF2HintApp::ExitInstance()
|
|
{
|
|
ExitGameOS();
|
|
return CWinApp::ExitInstance();
|
|
}
|