⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flypluginaw.cpp

📁 是3D游戏一书中所讲的游戏引擎fly3D 包括fly3D引擎的源码及应用此引擎开发出来的游戏实例 有fly3D引擎的教程,易于step by step跟学
💻 CPP
字号:
// flypluginaw.cpp : implementation file
//

#include "stdafx.h"
#include "flyplugin.h"
#include "flypluginaw.h"
#include "chooser.h"
#include <COMDEF.H>

#ifdef _PSEUDO_DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// This is called immediately after the custom AppWizard is loaded.  Initialize
//  the state of the custom AppWizard here.
void CFlypluginAppWiz::InitCustomAppWiz()
{
	Flypluginaw.m_Dictionary["PROJTYPE_DLL"]="1";

	// Create a new dialog chooser; CDialogChooser's constructor initializes
	//  its internal array with pointers to the steps.
	m_pChooser = new CDialogChooser;

	// Set the maximum number of steps.
	SetNumberOfSteps(LAST_DLG);
}

// This is called just before the custom AppWizard is unloaded.
void CFlypluginAppWiz::ExitCustomAppWiz()
{
	// Deallocate memory used for the dialog chooser
	ASSERT(m_pChooser != NULL);
	delete m_pChooser;
	m_pChooser = NULL;

	// TODO: Add code here to deallocate resources used by the custom AppWizard
}

// This is called when the user clicks "Create..." on the New Project dialog
//  or "Next" on one of the custom AppWizard's steps.
CAppWizStepDlg* CFlypluginAppWiz::Next(CAppWizStepDlg* pDlg)
{
	// Delegate to the dialog chooser
	return m_pChooser->Next(pDlg);
}

// This is called when the user clicks "Back" on one of the custom
//  AppWizard's steps.
CAppWizStepDlg* CFlypluginAppWiz::Back(CAppWizStepDlg* pDlg)
{
	// Delegate to the dialog chooser
	return m_pChooser->Back(pDlg);
}

void CFlypluginAppWiz::CustomizeProject(IBuildProject* pProject)
{
	long i,j;
	char str[256];
	_bstr_t tool1("cl.exe"),tool2("link.exe");

	IConfigurations *confs;
	IConfiguration *conf;

	pProject->get_Configurations(&confs);
	confs->get_Count(&i);

	for( j=0;j<i;j++ )
	{
		VARIANT v;
		v.vt=VT_I4;
		v.lVal=j+1;
		conf=0;
		confs->Item(v,&conf);
		if (conf)
			{
			sprintf(str,"/I %s",Flypluginaw.m_Dictionary["FLYSDKPATH"]);
			strcat(str,"lib");
			_bstr_t cmnd1(str);
			conf->AddToolSettings((wchar_t *)tool1,(wchar_t *)cmnd1,v);

			sprintf(str,"/libpath:%s",Flypluginaw.m_Dictionary["FLYSDKPATH"]);
			strcat(str,"lib");
			_bstr_t cmnd2(str);
			conf->AddToolSettings((wchar_t *)tool2,(wchar_t *)cmnd2,v);

			strcpy(str,"Fly3D.lib OpenGL32.lib glu32.lib dxguid.lib ddraw.lib dinput.lib dsound.lib dplayx.lib winmm.lib gdi32.lib ole32.lib user32.lib");
			_bstr_t cmnd3(str);
			conf->AddToolSettings((wchar_t *)tool2,(wchar_t *)cmnd3,v);
			
			conf->Release();
			}
	}

	confs->Release();

	// TODO: Add code here to customize the project.  If you don't wish
	//  to customize project, you may remove this virtual override.
	
	// This is called immediately after the default Debug and Release
	//  configurations have been created for each platform.  You may customize
	//  existing configurations on this project by using the methods
	//  of IBuildProject and IConfiguration such as AddToolSettings,
	//  RemoveToolSettings, and AddCustomBuildStep. These are documented in
	//  the Developer Studio object model documentation.

	// WARNING!!  IBuildProject and all interfaces you can get from it are OLE
	//  COM interfaces.  You must be careful to release all new interfaces
	//  you acquire.  In accordance with the standard rules of COM, you must
	//  NOT release pProject, unless you explicitly AddRef it, since pProject
	//  is passed as an "in" parameter to this function.  See the documentation
	//  on CCustomAppWiz::CustomizeProject for more information.
}


// Here we define one instance of the CFlypluginAppWiz class.  You can access
//  m_Dictionary and any other public members of this class through the
//  global Flypluginaw.
CFlypluginAppWiz Flypluginaw;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -